From 60c6cec515bb40c71229d8046306aa35353e3ee6 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 29 Sep 2023 14:34:12 -0700 Subject: [PATCH 01/21] Reconfigured project structure for vite, electron-vite, and Hydraulic Conveyor to work --- .editorconfig | 7 +- .eslintrc.json | 48 - .gitattributes | 5 +- .gitignore | 16 +- .prettierignore | 14 + .prettierrc | 9 - .prettierrc.yaml | 8 + .vscode/settings.json | 10 +- .../@yarnpkg/plugin-interactive-tools.cjs | 222 +- .yarn/plugins/@yarnpkg/plugin-version.cjs | 550 - .../{yarn-3.6.1.cjs => yarn-3.6.3.cjs} | 402 +- .yarn/versions/682094d8.yml | 0 .yarnrc.yml | 8 +- ARCHITECTURE.md | 255 +- CONTRIBUTING.md | 42 - DESIGN.md | 47 - README.md | 136 +- conveyor.conf | 38 + electron.vite.config.ts | 29 + forge.config.ts | 65 - icons/electron-icon.svg | 1 + {src/assets/icon => icons}/icon.icns | Bin {src/assets/icon => icons}/icon.ico | Bin {src/assets/icon => icons}/icon.png | Bin icons/icon.svg | 650 + jest.config.ts | 24 - lib/version.js | 2 - package.json | 161 +- src/app.tsx | 37 - src/components/AppTheme.tsx | 79 - src/components/Browser/Browser.spec.tsx | 78 - src/components/Browser/Browser.tsx | 81 - src/components/Browser/BrowserReverse.tsx | 22 - src/components/Browser/UrlBar.tsx | 145 - src/components/Browser/index.tsx | 1 - src/components/Canvas/Canvas.spec.tsx | 18 - src/components/Canvas/Canvas.tsx | 210 - src/components/Canvas/index.tsx | 1 - src/components/Card/ActionsMenu.tsx | 76 - src/components/Card/BaseCard.tsx | 318 - src/components/Card/Card.tsx | 38 - src/components/Card/Content.tsx | 62 - src/components/Card/MenuBar.tsx | 70 - src/components/Card/ReverseItem.tsx | 123 - src/components/Card/index.tsx | 2 - src/components/Diff/Diff.tsx | 110 - src/components/Diff/DiffReverse.tsx | 56 - src/components/Diff/index.tsx | 1 - src/components/Dnd/DndCanvasContext.tsx | 116 - src/components/Dnd/DndStackContext.tsx | 77 - src/components/Dnd/DraggableOverlay.tsx | 17 - src/components/Editor/Editor.spec.tsx | 74 - src/components/Editor/Editor.tsx | 95 - src/components/Editor/EditorReverse.tsx | 111 - src/components/Editor/EditorStyles.css | 48 - src/components/Editor/index.tsx | 1 - src/components/Explorer/Directory.spec.tsx | 135 - src/components/Explorer/Directory.tsx | 82 - src/components/Explorer/Explorer.spec.tsx | 18 - src/components/Explorer/Explorer.tsx | 78 - src/components/Explorer/ExplorerReverse.tsx | 111 - src/components/Explorer/File.spec.tsx | 48 - src/components/Explorer/File.tsx | 70 - src/components/Explorer/GitButtons.tsx | 76 - src/components/Explorer/TreeItem.tsx | 103 - src/components/Explorer/index.tsx | 1 - src/components/GitGraph/ContextMenu.tsx | 260 - src/components/GitGraph/GitGraph.tsx | 196 - src/components/GitGraph/GitGraphSelect.tsx | 81 - src/components/GitGraph/GitNode.tsx | 118 - src/components/GitGraph/GraphTooltip.tsx | 75 - src/components/GitGraph/index.tsx | 1 - src/components/GitIcons.tsx | 220 - src/components/Handle/Handle.tsx | 27 - src/components/Handle/index.tsx | 1 - src/components/Modal/CommitDialog.tsx | 115 - src/components/Modal/DeleteBranchDialog.tsx | 72 - src/components/Modal/MergeDialog.tsx | 288 - src/components/Modal/MergeStatus.tsx | 41 - src/components/Modal/ModalComponent.tsx | 49 - src/components/Modal/NewBranchDialog.tsx | 106 - src/components/Modal/NewCardDialog.tsx | 190 - src/components/Modal/Notification.tsx | 39 - src/components/Modal/RevertCommitDialog.tsx | 77 - src/components/Modal/index.tsx | 1 - src/components/NavMenu/NavMenu.tsx | 119 - src/components/NavMenu/index.tsx | 1 - src/components/Stack/BaseStack.tsx | 158 - src/components/Stack/Stack.spec.tsx | 37 - src/components/Stack/Stack.tsx | 42 - src/components/Stack/index.tsx | 2 - src/components/Status.tsx | 72 - .../__snapshots__/diff.spec.ts.snap | 17 - .../__snapshots__/flatten.spec.ts.snap | 8 - .../__snapshots__/utils.spec.ts.snap | 8 - src/containers/builds.ts | 77 - src/containers/colors.ts | 26 - src/containers/dialogs.ts | 77 - src/containers/diff.spec.ts | 14 - src/containers/diff.ts | 28 - src/containers/exec.spec.ts | 36 - src/containers/filetypes.json | 1111 -- src/containers/flatten.spec.ts | 33 - src/containers/git/git-add.ts | 30 - src/containers/git/git-branch.spec.ts | 22 - src/containers/git/git-branch.ts | 318 - src/containers/git/git-cat-file.ts | 113 - src/containers/git/git-check-ref-format.ts | 20 - src/containers/git/git-checkout.ts | 179 - src/containers/git/git-clone.ts | 71 - src/containers/git/git-commit.ts | 38 - src/containers/git/git-config.ts | 139 - src/containers/git/git-log.ts | 117 - src/containers/git/git-merge-base.ts | 69 - src/containers/git/git-merge.spec.ts | 182 - src/containers/git/git-merge.ts | 289 - src/containers/git/git-path.spec.ts | 149 - src/containers/git/git-path.ts | 202 - src/containers/git/git-remote.spec.ts | 23 - src/containers/git/git-remote.ts | 67 - src/containers/git/git-reset.ts | 38 - src/containers/git/git-restore.ts | 48 - src/containers/git/git-rev-list.ts | 34 - src/containers/git/git-rev-parse.ts | 56 - src/containers/git/git-show-branch.spec.ts | 40 - src/containers/git/git-show-branch.ts | 75 - src/containers/git/git-status.ts | 227 - src/containers/git/git-utils.spec.ts | 63 - src/containers/git/git-utils.ts | 107 - src/containers/git/git-version.ts | 30 - src/containers/git/git-worktree.spec.ts | 69 - src/containers/git/git-worktree.ts | 424 - src/containers/git/index.ts | 23 - src/containers/graph-layout.ts | 65 - src/containers/hooks/useGitGraph.ts | 366 - src/containers/hooks/useGitWatcher.spec.tsx | 41 - src/containers/hooks/useGitWatcher.ts | 35 - src/containers/hooks/useHistory.ts | 110 - src/containers/hooks/useImperativeRef.ts | 10 - src/containers/hooks/useMap.spec.tsx | 55 - src/containers/hooks/useMap.ts | 43 - src/containers/hooks/useMotif.ts | 54 - src/containers/hooks/usePrevious.ts | 19 - src/containers/hooks/useToggle.ts | 26 - src/containers/hooks/useWatcher.spec.tsx | 70 - src/containers/hooks/useWatcher.ts | 64 - src/containers/inspector.tsx | 146 - src/containers/io/io-extractStats.ts | 18 - src/containers/io/io-writeFile.ts | 65 - src/containers/io/io.spec.ts | 556 - src/containers/merges.spec.ts | 45 - src/containers/utils.spec.ts | 451 - src/declarations.d.ts | 10 - src/index.css | 6 - src/index.html | 10 - src/index.ts | 74 - src/main/index.ts | 72 + src/{main.tsx => main/ipc.ts} | 7 +- src/preload.ts | 70 - src/{containers => preload}/git/git-ignore.ts | 52 +- src/preload/git/index.ts | 23 + src/preload/index.d.ts | 9 + src/preload/index.ts | 70 + src/{containers => preload}/io/index.ts | 12 +- .../io/io-decompress.ts | 23 +- .../exec.ts => preload/io/io-exec.ts} | 35 +- .../io/io-extension.ts | 17 +- .../io/io-extractName.ts | 23 +- src/preload/io/io-extractStats.ts | 20 + .../io/io-filterReadArray.ts | 9 +- .../io/io-getDescendants.ts | 5 +- .../io/io-isDescendant.ts | 7 +- .../io/io-isDirectory.ts | 5 +- .../io/io-isEqualPaths.ts | 2 +- src/{containers => preload}/io/io-readDir.ts | 25 +- src/{containers => preload}/io/io-readFile.ts | 74 +- .../io/io-validateFileName.ts | 19 +- src/preload/io/io-writeFile.ts | 33 + .../io/io-types.ts => preload/io/io.d.ts} | 12 +- src/{containers => preload/utils}/flatten.ts | 11 +- src/preload/utils/index.ts | 2 + src/{containers => preload/utils}/utils.ts | 278 +- src/renderer/index.html | 17 + src/renderer/src/App.tsx | 53 + src/{ => renderer/src}/assets/canvas.png | Bin src/{ => renderer/src}/assets/canvas@2x.png | Bin src/renderer/src/assets/electron-hero.svg | 34 + src/renderer/src/assets/index.css | 211 + src/renderer/src/components/Splash.tsx | 170 + src/renderer/src/env.d.ts | 1 + src/renderer/src/main.tsx | 16 + src/{ => renderer/src}/store/hooks.ts | 9 +- .../src}/store/selectors/branches.ts | 12 +- .../src}/store/selectors/cards.ts | 6 +- .../src}/store/selectors/commits.ts | 2 +- .../src}/store/selectors/filetypes.ts | 53 +- .../src}/store/selectors/metafiles.ts | 11 +- .../src}/store/selectors/modals.ts | 34 +- .../src}/store/selectors/repos.ts | 10 +- .../src}/store/selectors/stacks.ts | 4 +- src/renderer/src/store/slices/branches.ts | 25 + src/renderer/src/store/slices/cards.ts | 26 + src/renderer/src/store/slices/commits.ts | 21 + src/renderer/src/store/slices/filetypes.ts | 18 + src/renderer/src/store/slices/metafiles.ts | 103 + src/renderer/src/store/slices/modals.ts | 49 + src/renderer/src/store/slices/repos.ts | 19 + src/renderer/src/store/slices/stacks.ts | 24 + src/renderer/src/store/store.ts | 31 + src/store/immutables.ts | 113 - src/store/listenerMiddleware.ts | 142 - src/store/selectors/branches.spec.ts | 222 - src/store/selectors/cards.spec.ts | 173 - src/store/selectors/filetypes.spec.ts | 73 - src/store/selectors/metafiles.spec.ts | 264 - src/store/selectors/modals.spec.ts | 70 - src/store/selectors/repos.spec.ts | 111 - src/store/slices/commits.ts | 45 - src/store/slices/filetypes.ts | 30 - src/store/slices/metafiles.ts | 191 - src/store/slices/repos.ts | 59 - src/store/slices/stacks.ts | 48 - src/store/store.ts | 69 - src/store/thunks/branches.spec.ts | 223 - src/store/thunks/branches.ts | 523 - src/store/thunks/cards.spec.ts | 72 - src/store/thunks/cards.ts | 78 - src/store/thunks/commits.ts | 176 - src/store/thunks/filetypes.spec.ts | 79 - src/store/thunks/filetypes.ts | 25 - src/store/thunks/metafiles.spec.ts | 444 - src/store/thunks/metafiles.ts | 434 - src/store/thunks/repos.spec.ts | 189 - src/store/thunks/repos.ts | 80 - src/store/thunks/stacks.spec.ts | 213 - src/store/thunks/stacks.ts | 139 - src/test-utils/empty-store.ts | 36 - src/test-utils/mock-electron.ts | 10 - src/test-utils/mock-file.ts | 2 - src/test-utils/mock-store.ts | 38 - src/test-utils/setupTests.ts | 10 - tsconfig.json | 24 +- tsconfig.node.json | 13 + tsconfig.web.json | 22 + src/store/types.ts => types/app.d.ts | 81 +- .../slices/branches.ts => types/branch.d.ts | 47 +- src/store/slices/cards.ts => types/card.d.ts | 33 +- types/commit.d.ts | 25 + types/filetype.d.ts | 16 + types/metafile.d.ts | 103 + .../slices/modals.ts => types/modal.d.ts | 41 +- types/repo.d.ts | 54 + types/stack.d.ts | 19 + types/util.d.ts | 133 + version.js | 2 - webpack.main.config.ts | 18 - webpack.plugins.ts | 10 - webpack.renderer.config.ts | 34 - webpack.rules.ts | 35 - yarn.lock | 14223 +++------------- 260 files changed, 5045 insertions(+), 31105 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 .prettierignore delete mode 100644 .prettierrc create mode 100644 .prettierrc.yaml delete mode 100644 .yarn/plugins/@yarnpkg/plugin-version.cjs rename .yarn/releases/{yarn-3.6.1.cjs => yarn-3.6.3.cjs} (79%) delete mode 100644 .yarn/versions/682094d8.yml delete mode 100644 CONTRIBUTING.md delete mode 100644 DESIGN.md create mode 100644 conveyor.conf create mode 100644 electron.vite.config.ts delete mode 100644 forge.config.ts create mode 100644 icons/electron-icon.svg rename {src/assets/icon => icons}/icon.icns (100%) rename {src/assets/icon => icons}/icon.ico (100%) rename {src/assets/icon => icons}/icon.png (100%) create mode 100644 icons/icon.svg delete mode 100644 jest.config.ts delete mode 100644 lib/version.js delete mode 100644 src/app.tsx delete mode 100644 src/components/AppTheme.tsx delete mode 100644 src/components/Browser/Browser.spec.tsx delete mode 100644 src/components/Browser/Browser.tsx delete mode 100644 src/components/Browser/BrowserReverse.tsx delete mode 100644 src/components/Browser/UrlBar.tsx delete mode 100644 src/components/Browser/index.tsx delete mode 100644 src/components/Canvas/Canvas.spec.tsx delete mode 100644 src/components/Canvas/Canvas.tsx delete mode 100644 src/components/Canvas/index.tsx delete mode 100644 src/components/Card/ActionsMenu.tsx delete mode 100644 src/components/Card/BaseCard.tsx delete mode 100644 src/components/Card/Card.tsx delete mode 100644 src/components/Card/Content.tsx delete mode 100644 src/components/Card/MenuBar.tsx delete mode 100644 src/components/Card/ReverseItem.tsx delete mode 100644 src/components/Card/index.tsx delete mode 100644 src/components/Diff/Diff.tsx delete mode 100644 src/components/Diff/DiffReverse.tsx delete mode 100644 src/components/Diff/index.tsx delete mode 100644 src/components/Dnd/DndCanvasContext.tsx delete mode 100644 src/components/Dnd/DndStackContext.tsx delete mode 100644 src/components/Dnd/DraggableOverlay.tsx delete mode 100644 src/components/Editor/Editor.spec.tsx delete mode 100644 src/components/Editor/Editor.tsx delete mode 100644 src/components/Editor/EditorReverse.tsx delete mode 100644 src/components/Editor/EditorStyles.css delete mode 100644 src/components/Editor/index.tsx delete mode 100644 src/components/Explorer/Directory.spec.tsx delete mode 100644 src/components/Explorer/Directory.tsx delete mode 100644 src/components/Explorer/Explorer.spec.tsx delete mode 100644 src/components/Explorer/Explorer.tsx delete mode 100644 src/components/Explorer/ExplorerReverse.tsx delete mode 100644 src/components/Explorer/File.spec.tsx delete mode 100644 src/components/Explorer/File.tsx delete mode 100644 src/components/Explorer/GitButtons.tsx delete mode 100644 src/components/Explorer/TreeItem.tsx delete mode 100644 src/components/Explorer/index.tsx delete mode 100644 src/components/GitGraph/ContextMenu.tsx delete mode 100644 src/components/GitGraph/GitGraph.tsx delete mode 100644 src/components/GitGraph/GitGraphSelect.tsx delete mode 100644 src/components/GitGraph/GitNode.tsx delete mode 100644 src/components/GitGraph/GraphTooltip.tsx delete mode 100644 src/components/GitGraph/index.tsx delete mode 100644 src/components/GitIcons.tsx delete mode 100644 src/components/Handle/Handle.tsx delete mode 100644 src/components/Handle/index.tsx delete mode 100644 src/components/Modal/CommitDialog.tsx delete mode 100644 src/components/Modal/DeleteBranchDialog.tsx delete mode 100644 src/components/Modal/MergeDialog.tsx delete mode 100644 src/components/Modal/MergeStatus.tsx delete mode 100644 src/components/Modal/ModalComponent.tsx delete mode 100644 src/components/Modal/NewBranchDialog.tsx delete mode 100644 src/components/Modal/NewCardDialog.tsx delete mode 100644 src/components/Modal/Notification.tsx delete mode 100644 src/components/Modal/RevertCommitDialog.tsx delete mode 100644 src/components/Modal/index.tsx delete mode 100644 src/components/NavMenu/NavMenu.tsx delete mode 100644 src/components/NavMenu/index.tsx delete mode 100644 src/components/Stack/BaseStack.tsx delete mode 100644 src/components/Stack/Stack.spec.tsx delete mode 100644 src/components/Stack/Stack.tsx delete mode 100644 src/components/Stack/index.tsx delete mode 100644 src/components/Status.tsx delete mode 100644 src/containers/__snapshots__/diff.spec.ts.snap delete mode 100644 src/containers/__snapshots__/flatten.spec.ts.snap delete mode 100644 src/containers/__snapshots__/utils.spec.ts.snap delete mode 100644 src/containers/builds.ts delete mode 100644 src/containers/colors.ts delete mode 100644 src/containers/dialogs.ts delete mode 100644 src/containers/diff.spec.ts delete mode 100644 src/containers/diff.ts delete mode 100644 src/containers/exec.spec.ts delete mode 100644 src/containers/filetypes.json delete mode 100644 src/containers/flatten.spec.ts delete mode 100644 src/containers/git/git-add.ts delete mode 100644 src/containers/git/git-branch.spec.ts delete mode 100644 src/containers/git/git-branch.ts delete mode 100644 src/containers/git/git-cat-file.ts delete mode 100644 src/containers/git/git-check-ref-format.ts delete mode 100644 src/containers/git/git-checkout.ts delete mode 100644 src/containers/git/git-clone.ts delete mode 100644 src/containers/git/git-commit.ts delete mode 100644 src/containers/git/git-config.ts delete mode 100644 src/containers/git/git-log.ts delete mode 100644 src/containers/git/git-merge-base.ts delete mode 100644 src/containers/git/git-merge.spec.ts delete mode 100644 src/containers/git/git-merge.ts delete mode 100644 src/containers/git/git-path.spec.ts delete mode 100644 src/containers/git/git-path.ts delete mode 100644 src/containers/git/git-remote.spec.ts delete mode 100644 src/containers/git/git-remote.ts delete mode 100644 src/containers/git/git-reset.ts delete mode 100644 src/containers/git/git-restore.ts delete mode 100644 src/containers/git/git-rev-list.ts delete mode 100644 src/containers/git/git-rev-parse.ts delete mode 100644 src/containers/git/git-show-branch.spec.ts delete mode 100644 src/containers/git/git-show-branch.ts delete mode 100644 src/containers/git/git-status.ts delete mode 100644 src/containers/git/git-utils.spec.ts delete mode 100644 src/containers/git/git-utils.ts delete mode 100644 src/containers/git/git-version.ts delete mode 100644 src/containers/git/git-worktree.spec.ts delete mode 100644 src/containers/git/git-worktree.ts delete mode 100644 src/containers/git/index.ts delete mode 100644 src/containers/graph-layout.ts delete mode 100644 src/containers/hooks/useGitGraph.ts delete mode 100644 src/containers/hooks/useGitWatcher.spec.tsx delete mode 100644 src/containers/hooks/useGitWatcher.ts delete mode 100644 src/containers/hooks/useHistory.ts delete mode 100644 src/containers/hooks/useImperativeRef.ts delete mode 100644 src/containers/hooks/useMap.spec.tsx delete mode 100644 src/containers/hooks/useMap.ts delete mode 100644 src/containers/hooks/useMotif.ts delete mode 100644 src/containers/hooks/usePrevious.ts delete mode 100644 src/containers/hooks/useToggle.ts delete mode 100644 src/containers/hooks/useWatcher.spec.tsx delete mode 100644 src/containers/hooks/useWatcher.ts delete mode 100644 src/containers/inspector.tsx delete mode 100644 src/containers/io/io-extractStats.ts delete mode 100644 src/containers/io/io-writeFile.ts delete mode 100644 src/containers/io/io.spec.ts delete mode 100644 src/containers/merges.spec.ts delete mode 100644 src/containers/utils.spec.ts delete mode 100644 src/declarations.d.ts delete mode 100644 src/index.css delete mode 100644 src/index.html delete mode 100644 src/index.ts create mode 100644 src/main/index.ts rename src/{main.tsx => main/ipc.ts} (75%) delete mode 100644 src/preload.ts rename src/{containers => preload}/git/git-ignore.ts (55%) create mode 100644 src/preload/git/index.ts create mode 100644 src/preload/index.d.ts create mode 100644 src/preload/index.ts rename src/{containers => preload}/io/index.ts (53%) rename src/{containers => preload}/io/io-decompress.ts (53%) rename src/{containers/exec.ts => preload/io/io-exec.ts} (63%) rename src/{containers => preload}/io/io-extension.ts (83%) rename src/{containers => preload}/io/io-extractName.ts (58%) create mode 100644 src/preload/io/io-extractStats.ts rename src/{containers => preload}/io/io-filterReadArray.ts (80%) rename src/{containers => preload}/io/io-getDescendants.ts (85%) rename src/{containers => preload}/io/io-isDescendant.ts (89%) rename src/{containers => preload}/io/io-isDirectory.ts (74%) rename src/{containers => preload}/io/io-isEqualPaths.ts (99%) rename src/{containers => preload}/io/io-readDir.ts (63%) rename src/{containers => preload}/io/io-readFile.ts (57%) rename src/{containers => preload}/io/io-validateFileName.ts (67%) create mode 100644 src/preload/io/io-writeFile.ts rename src/{containers/io/io-types.ts => preload/io/io.d.ts} (75%) rename src/{containers => preload/utils}/flatten.ts (92%) create mode 100644 src/preload/utils/index.ts rename src/{containers => preload/utils}/utils.ts (65%) create mode 100644 src/renderer/index.html create mode 100644 src/renderer/src/App.tsx rename src/{ => renderer/src}/assets/canvas.png (100%) rename src/{ => renderer/src}/assets/canvas@2x.png (100%) create mode 100644 src/renderer/src/assets/electron-hero.svg create mode 100644 src/renderer/src/assets/index.css create mode 100644 src/renderer/src/components/Splash.tsx create mode 100644 src/renderer/src/env.d.ts create mode 100644 src/renderer/src/main.tsx rename src/{ => renderer/src}/store/hooks.ts (80%) rename src/{ => renderer/src}/store/selectors/branches.ts (93%) rename src/{ => renderer/src}/store/selectors/cards.ts (89%) rename src/{ => renderer/src}/store/selectors/commits.ts (83%) rename src/{ => renderer/src}/store/selectors/filetypes.ts (51%) rename src/{ => renderer/src}/store/selectors/metafiles.ts (95%) rename src/{ => renderer/src}/store/selectors/modals.ts (61%) rename src/{ => renderer/src}/store/selectors/repos.ts (88%) rename src/{ => renderer/src}/store/selectors/stacks.ts (69%) create mode 100644 src/renderer/src/store/slices/branches.ts create mode 100644 src/renderer/src/store/slices/cards.ts create mode 100644 src/renderer/src/store/slices/commits.ts create mode 100644 src/renderer/src/store/slices/filetypes.ts create mode 100644 src/renderer/src/store/slices/metafiles.ts create mode 100644 src/renderer/src/store/slices/modals.ts create mode 100644 src/renderer/src/store/slices/repos.ts create mode 100644 src/renderer/src/store/slices/stacks.ts create mode 100644 src/renderer/src/store/store.ts delete mode 100644 src/store/immutables.ts delete mode 100644 src/store/listenerMiddleware.ts delete mode 100644 src/store/selectors/branches.spec.ts delete mode 100644 src/store/selectors/cards.spec.ts delete mode 100644 src/store/selectors/filetypes.spec.ts delete mode 100644 src/store/selectors/metafiles.spec.ts delete mode 100644 src/store/selectors/modals.spec.ts delete mode 100644 src/store/selectors/repos.spec.ts delete mode 100644 src/store/slices/commits.ts delete mode 100644 src/store/slices/filetypes.ts delete mode 100644 src/store/slices/metafiles.ts delete mode 100644 src/store/slices/repos.ts delete mode 100644 src/store/slices/stacks.ts delete mode 100644 src/store/store.ts delete mode 100644 src/store/thunks/branches.spec.ts delete mode 100644 src/store/thunks/branches.ts delete mode 100644 src/store/thunks/cards.spec.ts delete mode 100644 src/store/thunks/cards.ts delete mode 100644 src/store/thunks/commits.ts delete mode 100644 src/store/thunks/filetypes.spec.ts delete mode 100644 src/store/thunks/filetypes.ts delete mode 100644 src/store/thunks/metafiles.spec.ts delete mode 100644 src/store/thunks/metafiles.ts delete mode 100644 src/store/thunks/repos.spec.ts delete mode 100644 src/store/thunks/repos.ts delete mode 100644 src/store/thunks/stacks.spec.ts delete mode 100644 src/store/thunks/stacks.ts delete mode 100644 src/test-utils/empty-store.ts delete mode 100644 src/test-utils/mock-electron.ts delete mode 100644 src/test-utils/mock-file.ts delete mode 100644 src/test-utils/mock-store.ts delete mode 100644 src/test-utils/setupTests.ts create mode 100644 tsconfig.node.json create mode 100644 tsconfig.web.json rename src/store/types.ts => types/app.d.ts (54%) rename src/store/slices/branches.ts => types/branch.d.ts (62%) rename src/store/slices/cards.ts => types/card.d.ts (55%) create mode 100644 types/commit.d.ts create mode 100644 types/filetype.d.ts create mode 100644 types/metafile.d.ts rename src/store/slices/modals.ts => types/modal.d.ts (64%) create mode 100644 types/repo.d.ts create mode 100644 types/stack.d.ts create mode 100644 types/util.d.ts delete mode 100644 version.js delete mode 100644 webpack.main.config.ts delete mode 100644 webpack.plugins.ts delete mode 100644 webpack.renderer.config.ts delete mode 100644 webpack.rules.ts diff --git a/.editorconfig b/.editorconfig index c1bab8091..1ed453a37 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,9 +1,10 @@ root = true [*] +end_of_line = lf +insert_final_newline = true + +[*.{js,json,yml}] charset = utf-8 indent_style = space indent_size = 2 -end_of_line = lf -trim_trailing_whitespace = false -insert_final_newline = false \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 1b1802cef..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "node": true - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/recommended", - "plugin:import/typescript", - "plugin:testing-library/react", - "plugin:react-hooks/recommended", - "plugin:jsdoc/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "rules": { - "@typescript-eslint/naming-convention": [ - "warn", - { - "selector": ["variable", "function"], - "format": ["camelCase", "PascalCase"], - "leadingUnderscore": "allow" - }, - { - "selector": "memberLike", - "modifiers": ["private"], - "format": ["camelCase"], - "leadingUnderscore": "require" - } - ], - "jsdoc/require-param-type": "off", - "jsdoc/check-tag-names": ["error", { "definedTags": ["jsxImportSource"] }], - "jsdoc/no-multi-asterisks": [ - "warn", - { - "allowWhitespace": true - } - ] - // named capture groups require ES2018 as either "lib" or "target", ES6 translates to ES2015 - // "prefer-named-capture-group": "error" - }, - "settings": { - "import/core-modules": ["electron"] - } -} diff --git a/.gitattributes b/.gitattributes index 94f480de9..af3ad1281 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,4 @@ -* text=auto eol=lf \ No newline at end of file +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.gitignore b/.gitignore index 9e791b5eb..6ae3263ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,8 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* +node_modules +dist +out +<<<<<<< Updated upstream # Diagnostic reports (https://nodejs.org/api/report.html) report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json @@ -89,10 +86,13 @@ out/ .yarn-integrity # Yarn 2/3 configuration files +======= +# Yarn without Zero-Installs +>>>>>>> Stashed changes .pnp.* .yarn/* !.yarn/patches !.yarn/plugins !.yarn/releases !.yarn/sdks -!.yarn/versions +!.yarn/versions \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..2f43a50bd --- /dev/null +++ b/.prettierignore @@ -0,0 +1,14 @@ +# Ignore artifacts +out + +# Ignore config files +**/.yarn +**/.vscode +**/.github +conveyor.conf +tsconfig.json +tsconfig.*.json + +# Ignore all Markdown files +**/*.md +LICENSE diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 95d594c32..000000000 --- a/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "printWidth": 100, - "endOfLine": "lf", - "trailingComma": "none", - "tabWidth": 2, - "semi": true, - "singleQuote": true, - "arrowParens": "avoid" -} diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 000000000..6ee9a8bc0 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,8 @@ +singleQuote: true +semi: true +printWidth: 100 +tabWidth: 2 +trailingComma: none +arrowParens: avoid +endOfLine: lf +plugins: [] diff --git a/.vscode/settings.json b/.vscode/settings.json index 5b694fbed..7a73a41bf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,2 @@ { - "editor.formatOnSave": true, - "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"], - "typescript.tsdk": "node_modules/typescript/lib", - "typescript.preferences.quoteStyle": "single", - "typescript.preferences.importModuleSpecifier": "relative", - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - } -} +} \ No newline at end of file diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs index 11f949d97..bc2ca19f1 100644 --- a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +++ b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs @@ -3,115 +3,115 @@ module.exports = { name: "@yarnpkg/plugin-interactive-tools", factory: function (require) { -var plugin=(()=>{var jF=Object.create,Ay=Object.defineProperty,zF=Object.defineProperties,HF=Object.getOwnPropertyDescriptor,qF=Object.getOwnPropertyDescriptors,WF=Object.getOwnPropertyNames,__=Object.getOwnPropertySymbols,VF=Object.getPrototypeOf,IE=Object.prototype.hasOwnProperty,O8=Object.prototype.propertyIsEnumerable;var M8=(i,o,a)=>o in i?Ay(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a,Ht=(i,o)=>{for(var a in o||(o={}))IE.call(o,a)&&M8(i,a,o[a]);if(__)for(var a of __(o))O8.call(o,a)&&M8(i,a,o[a]);return i},Zr=(i,o)=>zF(i,qF(o)),GF=i=>Ay(i,"__esModule",{value:!0});var Dl=(i,o)=>{var a={};for(var p in i)IE.call(i,p)&&o.indexOf(p)<0&&(a[p]=i[p]);if(i!=null&&__)for(var p of __(i))o.indexOf(p)<0&&O8.call(i,p)&&(a[p]=i[p]);return a};var tt=(i,o)=>()=>(o||i((o={exports:{}}).exports,o),o.exports),YF=(i,o)=>{for(var a in o)Ay(i,a,{get:o[a],enumerable:!0})},KF=(i,o,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of WF(o))!IE.call(i,p)&&p!=="default"&&Ay(i,p,{get:()=>o[p],enumerable:!(a=HF(o,p))||a.enumerable});return i},vu=i=>KF(GF(Ay(i!=null?jF(VF(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var Oy=tt((tH,k8)=>{"use strict";var N8=Object.getOwnPropertySymbols,XF=Object.prototype.hasOwnProperty,QF=Object.prototype.propertyIsEnumerable;function JF(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function ZF(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var o={},a=0;a<10;a++)o["_"+String.fromCharCode(a)]=a;var p=Object.getOwnPropertyNames(o).map(function(t){return o[t]});if(p.join("")!=="0123456789")return!1;var _={};return"abcdefghijklmnopqrst".split("").forEach(function(t){_[t]=t}),Object.keys(Object.assign({},_)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}k8.exports=ZF()?Object.assign:function(i,o){for(var a,p=JF(i),_,t=1;t{"use strict";var bE=Oy(),Zf=typeof Symbol=="function"&&Symbol.for,My=Zf?Symbol.for("react.element"):60103,$F=Zf?Symbol.for("react.portal"):60106,eP=Zf?Symbol.for("react.fragment"):60107,tP=Zf?Symbol.for("react.strict_mode"):60108,nP=Zf?Symbol.for("react.profiler"):60114,rP=Zf?Symbol.for("react.provider"):60109,iP=Zf?Symbol.for("react.context"):60110,uP=Zf?Symbol.for("react.forward_ref"):60112,oP=Zf?Symbol.for("react.suspense"):60113,lP=Zf?Symbol.for("react.memo"):60115,sP=Zf?Symbol.for("react.lazy"):60116,L8=typeof Symbol=="function"&&Symbol.iterator;function ky(i){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+i,a=1;aE_.length&&E_.push(i)}function HE(i,o,a,p){var _=typeof i;(_==="undefined"||_==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(_){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case My:case $F:t=!0}}if(t)return a(p,i,o===""?"."+qE(i,0):o),1;if(t=0,o=o===""?".":o+":",Array.isArray(i))for(var k=0;k{"use strict";var hP="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";V8.exports=hP});var YE=tt((iH,Y8)=>{"use strict";var GE=function(){};process.env.NODE_ENV!=="production"&&(K8=G8(),D_={},X8=Function.call.bind(Object.prototype.hasOwnProperty),GE=function(i){var o="Warning: "+i;typeof console!="undefined"&&console.error(o);try{throw new Error(o)}catch(a){}});var K8,D_,X8;function Q8(i,o,a,p,_){if(process.env.NODE_ENV!=="production"){for(var t in i)if(X8(i,t)){var k;try{if(typeof i[t]!="function"){var L=Error((p||"React class")+": "+a+" type `"+t+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[t]+"`.");throw L.name="Invariant Violation",L}k=i[t](o,t,p,a,null,K8)}catch(C){k=C}if(k&&!(k instanceof Error)&&GE((p||"React class")+": type specification of "+a+" `"+t+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof k+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),k instanceof Error&&!(k.message in D_)){D_[k.message]=!0;var O=_?_():"";GE("Failed "+a+" type: "+k.message+(O!=null?O:""))}}}}Q8.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(D_={})};Y8.exports=Q8});var J8=tt(Eu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";var i=Oy(),o=YE(),a="16.13.1",p=typeof Symbol=="function"&&Symbol.for,_=p?Symbol.for("react.element"):60103,t=p?Symbol.for("react.portal"):60106,k=p?Symbol.for("react.fragment"):60107,L=p?Symbol.for("react.strict_mode"):60108,O=p?Symbol.for("react.profiler"):60114,C=p?Symbol.for("react.provider"):60109,U=p?Symbol.for("react.context"):60110,H=p?Symbol.for("react.concurrent_mode"):60111,W=p?Symbol.for("react.forward_ref"):60112,ne=p?Symbol.for("react.suspense"):60113,m=p?Symbol.for("react.suspense_list"):60120,he=p?Symbol.for("react.memo"):60115,Ee=p?Symbol.for("react.lazy"):60116,ve=p?Symbol.for("react.block"):60121,se=p?Symbol.for("react.fundamental"):60117,De=p?Symbol.for("react.responder"):60118,pe=p?Symbol.for("react.scope"):60119,me=typeof Symbol=="function"&&Symbol.iterator,ie="@@iterator";function Oe(X){if(X===null||typeof X!="object")return null;var we=me&&X[me]||X[ie];return typeof we=="function"?we:null}var je={current:null},qe={suspense:null},yt={current:null},gt=/^(.*)[\\\/]/;function Xe(X,we,Le){var Ne="";if(we){var dt=we.fileName,Yn=dt.replace(gt,"");if(/^index\./.test(Yn)){var Cn=dt.match(gt);if(Cn){var cr=Cn[1];if(cr){var Si=cr.replace(gt,"");Yn=Si+"/"+Yn}}}Ne=" (at "+Yn+":"+we.lineNumber+")"}else Le&&(Ne=" (created by "+Le+")");return` - in `+(X||"Unknown")+Ne}var ut=1;function We(X){return X._status===ut?X._result:null}function Ft(X,we,Le){var Ne=we.displayName||we.name||"";return X.displayName||(Ne!==""?Le+"("+Ne+")":Le)}function Jt(X){if(X==null)return null;if(typeof X.tag=="number"&&ct("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof X=="function")return X.displayName||X.name||null;if(typeof X=="string")return X;switch(X){case k:return"Fragment";case t:return"Portal";case O:return"Profiler";case L:return"StrictMode";case ne:return"Suspense";case m:return"SuspenseList"}if(typeof X=="object")switch(X.$$typeof){case U:return"Context.Consumer";case C:return"Context.Provider";case W:return Ft(X,X.render,"ForwardRef");case he:return Jt(X.type);case ve:return Jt(X.render);case Ee:{var we=X,Le=We(we);if(Le)return Jt(Le);break}}return null}var rt={},Q=null;function fe(X){Q=X}rt.getCurrentStack=null,rt.getStackAddendum=function(){var X="";if(Q){var we=Jt(Q.type),Le=Q._owner;X+=Xe(we,Q._source,Le&&Jt(Le.type))}var Ne=rt.getCurrentStack;return Ne&&(X+=Ne()||""),X};var xe={current:!1},oe={ReactCurrentDispatcher:je,ReactCurrentBatchConfig:qe,ReactCurrentOwner:yt,IsSomeRendererActing:xe,assign:i};i(oe,{ReactDebugCurrentFrame:rt,ReactComponentTreeHook:{}});function ze(X){{for(var we=arguments.length,Le=new Array(we>1?we-1:0),Ne=1;Ne1?we-1:0),Ne=1;Ne0&&typeof Le[Le.length-1]=="string"&&Le[Le.length-1].indexOf(` - in`)===0;if(!Ne){var dt=oe.ReactDebugCurrentFrame,Yn=dt.getStackAddendum();Yn!==""&&(we+="%s",Le=Le.concat([Yn]))}var Cn=Le.map(function(Mu){return""+Mu});Cn.unshift("Warning: "+we),Function.prototype.apply.call(console[X],console,Cn);try{var cr=0,Si="Warning: "+we.replace(/%s/g,function(){return Le[cr++]});throw new Error(Si)}catch(Mu){}}}var nn={};function an(X,we){{var Le=X.constructor,Ne=Le&&(Le.displayName||Le.name)||"ReactClass",dt=Ne+"."+we;if(nn[dt])return;ct("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",we,Ne),nn[dt]=!0}}var Mn={isMounted:function(X){return!1},enqueueForceUpdate:function(X,we,Le){an(X,"forceUpdate")},enqueueReplaceState:function(X,we,Le,Ne){an(X,"replaceState")},enqueueSetState:function(X,we,Le,Ne){an(X,"setState")}},lr={};Object.freeze(lr);function ln(X,we,Le){this.props=X,this.context=we,this.refs=lr,this.updater=Le||Mn}ln.prototype.isReactComponent={},ln.prototype.setState=function(X,we){if(!(typeof X=="object"||typeof X=="function"||X==null))throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,we,"setState")},ln.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};{var Vt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},Er=function(X,we){Object.defineProperty(ln.prototype,X,{get:function(){ze("%s(...) is deprecated in plain JavaScript React classes. %s",we[0],we[1])}})};for(var w in Vt)Vt.hasOwnProperty(w)&&Er(w,Vt[w])}function jt(){}jt.prototype=ln.prototype;function Xn(X,we,Le){this.props=X,this.context=we,this.refs=lr,this.updater=Le||Mn}var vr=Xn.prototype=new jt;vr.constructor=Xn,i(vr,ln.prototype),vr.isPureReactComponent=!0;function jr(){var X={current:null};return Object.seal(X),X}var fr=Object.prototype.hasOwnProperty,zr={key:!0,ref:!0,__self:!0,__source:!0},Xt,wu,d0;d0={};function Ro(X){if(fr.call(X,"ref")){var we=Object.getOwnPropertyDescriptor(X,"ref").get;if(we&&we.isReactWarning)return!1}return X.ref!==void 0}function Qo(X){if(fr.call(X,"key")){var we=Object.getOwnPropertyDescriptor(X,"key").get;if(we&&we.isReactWarning)return!1}return X.key!==void 0}function Fs(X,we){var Le=function(){Xt||(Xt=!0,ct("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",we))};Le.isReactWarning=!0,Object.defineProperty(X,"key",{get:Le,configurable:!0})}function Jo(X,we){var Le=function(){wu||(wu=!0,ct("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",we))};Le.isReactWarning=!0,Object.defineProperty(X,"ref",{get:Le,configurable:!0})}function Zo(X){if(typeof X.ref=="string"&&yt.current&&X.__self&&yt.current.stateNode!==X.__self){var we=Jt(yt.current.type);d0[we]||(ct('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',Jt(yt.current.type),X.ref),d0[we]=!0)}}var qt=function(X,we,Le,Ne,dt,Yn,Cn){var cr={$$typeof:_,type:X,key:we,ref:Le,props:Cn,_owner:Yn};return cr._store={},Object.defineProperty(cr._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(cr,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Ne}),Object.defineProperty(cr,"_source",{configurable:!1,enumerable:!1,writable:!1,value:dt}),Object.freeze&&(Object.freeze(cr.props),Object.freeze(cr)),cr};function xi(X,we,Le){var Ne,dt={},Yn=null,Cn=null,cr=null,Si=null;if(we!=null){Ro(we)&&(Cn=we.ref,Zo(we)),Qo(we)&&(Yn=""+we.key),cr=we.__self===void 0?null:we.__self,Si=we.__source===void 0?null:we.__source;for(Ne in we)fr.call(we,Ne)&&!zr.hasOwnProperty(Ne)&&(dt[Ne]=we[Ne])}var Mu=arguments.length-2;if(Mu===1)dt.children=Le;else if(Mu>1){for(var zu=Array(Mu),Hu=0;Hu1){for(var Su=Array(Hu),Ti=0;Ti is not supported and will be removed in a future major release. Did you mean to render instead?")),Le.Provider},set:function(Cn){Le.Provider=Cn}},_currentValue:{get:function(){return Le._currentValue},set:function(Cn){Le._currentValue=Cn}},_currentValue2:{get:function(){return Le._currentValue2},set:function(Cn){Le._currentValue2=Cn}},_threadCount:{get:function(){return Le._threadCount},set:function(Cn){Le._threadCount=Cn}},Consumer:{get:function(){return Ne||(Ne=!0,ct("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Le.Consumer}}}),Le.Consumer=Yn}return Le._currentRenderer=null,Le._currentRenderer2=null,Le}function Wt(X){var we={$$typeof:Ee,_ctor:X,_status:-1,_result:null};{var Le,Ne;Object.defineProperties(we,{defaultProps:{configurable:!0,get:function(){return Le},set:function(dt){ct("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Le=dt,Object.defineProperty(we,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Ne},set:function(dt){ct("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Ne=dt,Object.defineProperty(we,"propTypes",{enumerable:!0})}}})}return we}function Au(X){return X!=null&&X.$$typeof===he?ct("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof X!="function"?ct("forwardRef requires a render function but was given %s.",X===null?"null":typeof X):X.length!==0&&X.length!==2&&ct("forwardRef render functions accept exactly two parameters: props and ref. %s",X.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),X!=null&&(X.defaultProps!=null||X.propTypes!=null)&&ct("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:W,render:X}}function eu(X){return typeof X=="string"||typeof X=="function"||X===k||X===H||X===O||X===L||X===ne||X===m||typeof X=="object"&&X!==null&&(X.$$typeof===Ee||X.$$typeof===he||X.$$typeof===C||X.$$typeof===U||X.$$typeof===W||X.$$typeof===se||X.$$typeof===De||X.$$typeof===pe||X.$$typeof===ve)}function X0(X,we){return eu(X)||ct("memo: The first argument must be a component. Instead received: %s",X===null?"null":typeof X),{$$typeof:he,type:X,compare:we===void 0?null:we}}function Yi(){var X=je.current;if(X===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: +var plugin=(()=>{var bF=Object.create;var D_=Object.defineProperty;var BF=Object.getOwnPropertyDescriptor;var UF=Object.getOwnPropertyNames;var jF=Object.getPrototypeOf,zF=Object.prototype.hasOwnProperty;var hi=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(l,f)=>(typeof require<"u"?require:l)[f]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var nt=(o,l)=>()=>(l||o((l={exports:{}}).exports,l),l.exports),HF=(o,l)=>{for(var f in l)D_(o,f,{get:l[f],enumerable:!0})},j8=(o,l,f,h)=>{if(l&&typeof l=="object"||typeof l=="function")for(let E of UF(l))!zF.call(o,E)&&E!==f&&D_(o,E,{get:()=>l[E],enumerable:!(h=BF(l,E))||h.enumerable});return o};var V0=(o,l,f)=>(f=o!=null?bF(jF(o)):{},j8(l||!o||!o.__esModule?D_(f,"default",{value:o,enumerable:!0}):f,o)),qF=o=>j8(D_({},"__esModule",{value:!0}),o);var Py=nt((Xz,H8)=>{"use strict";var z8=Object.getOwnPropertySymbols,WF=Object.prototype.hasOwnProperty,VF=Object.prototype.propertyIsEnumerable;function GF(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function YF(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var l={},f=0;f<10;f++)l["_"+String.fromCharCode(f)]=f;var h=Object.getOwnPropertyNames(l).map(function(t){return l[t]});if(h.join("")!=="0123456789")return!1;var E={};return"abcdefghijklmnopqrst".split("").forEach(function(t){E[t]=t}),Object.keys(Object.assign({},E)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}H8.exports=YF()?Object.assign:function(o,l){for(var f,h=GF(o),E,t=1;t{"use strict";var qE=Py(),Zf=typeof Symbol=="function"&&Symbol.for,Iy=Zf?Symbol.for("react.element"):60103,KF=Zf?Symbol.for("react.portal"):60106,XF=Zf?Symbol.for("react.fragment"):60107,QF=Zf?Symbol.for("react.strict_mode"):60108,JF=Zf?Symbol.for("react.profiler"):60114,ZF=Zf?Symbol.for("react.provider"):60109,$F=Zf?Symbol.for("react.context"):60110,eP=Zf?Symbol.for("react.forward_ref"):60112,tP=Zf?Symbol.for("react.suspense"):60113,nP=Zf?Symbol.for("react.memo"):60115,rP=Zf?Symbol.for("react.lazy"):60116,q8=typeof Symbol=="function"&&Symbol.iterator;function by(o){for(var l="https://reactjs.org/docs/error-decoder.html?invariant="+o,f=1;fw_.length&&w_.push(o)}function jE(o,l,f,h){var E=typeof o;(E==="undefined"||E==="boolean")&&(o=null);var t=!1;if(o===null)t=!0;else switch(E){case"string":case"number":t=!0;break;case"object":switch(o.$$typeof){case Iy:case KF:t=!0}}if(t)return f(h,o,l===""?"."+UE(o,0):l),1;if(t=0,l=l===""?".":l+":",Array.isArray(o))for(var N=0;N{"use strict";var aP="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";tS.exports=aP});var XE=nt((Zz,oS)=>{"use strict";var KE=function(){};process.env.NODE_ENV!=="production"&&(rS=nS(),S_={},iS=Function.call.bind(Object.prototype.hasOwnProperty),KE=function(o){var l="Warning: "+o;typeof console<"u"&&console.error(l);try{throw new Error(l)}catch{}});var rS,S_,iS;function uS(o,l,f,h,E){if(process.env.NODE_ENV!=="production"){for(var t in o)if(iS(o,t)){var N;try{if(typeof o[t]!="function"){var F=Error((h||"React class")+": "+f+" type `"+t+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[t]+"`.");throw F.name="Invariant Violation",F}N=o[t](l,t,h,f,null,rS)}catch(x){N=x}if(N&&!(N instanceof Error)&&KE((h||"React class")+": type specification of "+f+" `"+t+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof N+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),N instanceof Error&&!(N.message in S_)){S_[N.message]=!0;var k=E?E():"";KE("Failed "+f+" type: "+N.message+(k!=null?k:""))}}}}uS.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(S_={})};oS.exports=uS});var lS=nt(_u=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";var o=Py(),l=XE(),f="16.13.1",h=typeof Symbol=="function"&&Symbol.for,E=h?Symbol.for("react.element"):60103,t=h?Symbol.for("react.portal"):60106,N=h?Symbol.for("react.fragment"):60107,F=h?Symbol.for("react.strict_mode"):60108,k=h?Symbol.for("react.profiler"):60114,x=h?Symbol.for("react.provider"):60109,j=h?Symbol.for("react.context"):60110,q=h?Symbol.for("react.concurrent_mode"):60111,V=h?Symbol.for("react.forward_ref"):60112,re=h?Symbol.for("react.suspense"):60113,y=h?Symbol.for("react.suspense_list"):60120,me=h?Symbol.for("react.memo"):60115,De=h?Symbol.for("react.lazy"):60116,ge=h?Symbol.for("react.block"):60121,ae=h?Symbol.for("react.fundamental"):60117,we=h?Symbol.for("react.responder"):60118,he=h?Symbol.for("react.scope"):60119,ve=typeof Symbol=="function"&&Symbol.iterator,ue="@@iterator";function Ae(Q){if(Q===null||typeof Q!="object")return null;var Se=ve&&Q[ve]||Q[ue];return typeof Se=="function"?Se:null}var ze={current:null},We={suspense:null},gt={current:null},_t=/^(.*)[\\\/]/;function Qe(Q,Se,Fe){var Le="";if(Se){var pt=Se.fileName,Yn=pt.replace(_t,"");if(/^index\./.test(Yn)){var Cn=pt.match(_t);if(Cn){var cr=Cn[1];if(cr){var Si=cr.replace(_t,"");Yn=Si+"/"+Yn}}}Le=" (at "+Yn+":"+Se.lineNumber+")"}else Fe&&(Le=" (created by "+Fe+")");return` + in `+(Q||"Unknown")+Le}var ot=1;function Ve(Q){return Q._status===ot?Q._result:null}function Pt(Q,Se,Fe){var Le=Se.displayName||Se.name||"";return Q.displayName||(Le!==""?Fe+"("+Le+")":Fe)}function Jt(Q){if(Q==null)return null;if(typeof Q.tag=="number"&&dt("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof Q=="function")return Q.displayName||Q.name||null;if(typeof Q=="string")return Q;switch(Q){case N:return"Fragment";case t:return"Portal";case k:return"Profiler";case F:return"StrictMode";case re:return"Suspense";case y:return"SuspenseList"}if(typeof Q=="object")switch(Q.$$typeof){case j:return"Context.Consumer";case x:return"Context.Provider";case V:return Pt(Q,Q.render,"ForwardRef");case me:return Jt(Q.type);case ge:return Jt(Q.render);case De:{var Se=Q,Fe=Ve(Se);if(Fe)return Jt(Fe);break}}return null}var it={},J=null;function ce(Q){J=Q}it.getCurrentStack=null,it.getStackAddendum=function(){var Q="";if(J){var Se=Jt(J.type),Fe=J._owner;Q+=Qe(Se,J._source,Fe&&Jt(Fe.type))}var Le=it.getCurrentStack;return Le&&(Q+=Le()||""),Q};var Re={current:!1},le={ReactCurrentDispatcher:ze,ReactCurrentBatchConfig:We,ReactCurrentOwner:gt,IsSomeRendererActing:Re,assign:o};o(le,{ReactDebugCurrentFrame:it,ReactComponentTreeHook:{}});function He(Q){{for(var Se=arguments.length,Fe=new Array(Se>1?Se-1:0),Le=1;Le1?Se-1:0),Le=1;Le0&&typeof Fe[Fe.length-1]=="string"&&Fe[Fe.length-1].indexOf(` + in`)===0;if(!Le){var pt=le.ReactDebugCurrentFrame,Yn=pt.getStackAddendum();Yn!==""&&(Se+="%s",Fe=Fe.concat([Yn]))}var Cn=Fe.map(function(Ou){return""+Ou});Cn.unshift("Warning: "+Se),Function.prototype.apply.call(console[Q],console,Cn);try{var cr=0,Si="Warning: "+Se.replace(/%s/g,function(){return Fe[cr++]});throw new Error(Si)}catch{}}}var nn={};function an(Q,Se){{var Fe=Q.constructor,Le=Fe&&(Fe.displayName||Fe.name)||"ReactClass",pt=Le+"."+Se;if(nn[pt])return;dt("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",Se,Le),nn[pt]=!0}}var On={isMounted:function(Q){return!1},enqueueForceUpdate:function(Q,Se,Fe){an(Q,"forceUpdate")},enqueueReplaceState:function(Q,Se,Fe,Le){an(Q,"replaceState")},enqueueSetState:function(Q,Se,Fe,Le){an(Q,"setState")}},lr={};Object.freeze(lr);function ln(Q,Se,Fe){this.props=Q,this.context=Se,this.refs=lr,this.updater=Fe||On}ln.prototype.isReactComponent={},ln.prototype.setState=function(Q,Se){if(!(typeof Q=="object"||typeof Q=="function"||Q==null))throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Q,Se,"setState")},ln.prototype.forceUpdate=function(Q){this.updater.enqueueForceUpdate(this,Q,"forceUpdate")};{var Vt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},Er=function(Q,Se){Object.defineProperty(ln.prototype,Q,{get:function(){He("%s(...) is deprecated in plain JavaScript React classes. %s",Se[0],Se[1])}})};for(var S in Vt)Vt.hasOwnProperty(S)&&Er(S,Vt[S])}function zt(){}zt.prototype=ln.prototype;function Xn(Q,Se,Fe){this.props=Q,this.context=Se,this.refs=lr,this.updater=Fe||On}var vr=Xn.prototype=new zt;vr.constructor=Xn,o(vr,ln.prototype),vr.isPureReactComponent=!0;function jr(){var Q={current:null};return Object.seal(Q),Q}var fr=Object.prototype.hasOwnProperty,zr={key:!0,ref:!0,__self:!0,__source:!0},Xt,Du,c0;c0={};function Ao(Q){if(fr.call(Q,"ref")){var Se=Object.getOwnPropertyDescriptor(Q,"ref").get;if(Se&&Se.isReactWarning)return!1}return Q.ref!==void 0}function Jo(Q){if(fr.call(Q,"key")){var Se=Object.getOwnPropertyDescriptor(Q,"key").get;if(Se&&Se.isReactWarning)return!1}return Q.key!==void 0}function Fs(Q,Se){var Fe=function(){Xt||(Xt=!0,dt("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",Se))};Fe.isReactWarning=!0,Object.defineProperty(Q,"key",{get:Fe,configurable:!0})}function Zo(Q,Se){var Fe=function(){Du||(Du=!0,dt("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",Se))};Fe.isReactWarning=!0,Object.defineProperty(Q,"ref",{get:Fe,configurable:!0})}function $o(Q){if(typeof Q.ref=="string"&>.current&&Q.__self&>.current.stateNode!==Q.__self){var Se=Jt(gt.current.type);c0[Se]||(dt('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',Jt(gt.current.type),Q.ref),c0[Se]=!0)}}var qt=function(Q,Se,Fe,Le,pt,Yn,Cn){var cr={$$typeof:E,type:Q,key:Se,ref:Fe,props:Cn,_owner:Yn};return cr._store={},Object.defineProperty(cr._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(cr,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Le}),Object.defineProperty(cr,"_source",{configurable:!1,enumerable:!1,writable:!1,value:pt}),Object.freeze&&(Object.freeze(cr.props),Object.freeze(cr)),cr};function xi(Q,Se,Fe){var Le,pt={},Yn=null,Cn=null,cr=null,Si=null;if(Se!=null){Ao(Se)&&(Cn=Se.ref,$o(Se)),Jo(Se)&&(Yn=""+Se.key),cr=Se.__self===void 0?null:Se.__self,Si=Se.__source===void 0?null:Se.__source;for(Le in Se)fr.call(Se,Le)&&!zr.hasOwnProperty(Le)&&(pt[Le]=Se[Le])}var Ou=arguments.length-2;if(Ou===1)pt.children=Fe;else if(Ou>1){for(var ju=Array(Ou),zu=0;zu1){for(var wu=Array(zu),Ti=0;Ti is not supported and will be removed in a future major release. Did you mean to render instead?")),Fe.Provider},set:function(Cn){Fe.Provider=Cn}},_currentValue:{get:function(){return Fe._currentValue},set:function(Cn){Fe._currentValue=Cn}},_currentValue2:{get:function(){return Fe._currentValue2},set:function(Cn){Fe._currentValue2=Cn}},_threadCount:{get:function(){return Fe._threadCount},set:function(Cn){Fe._threadCount=Cn}},Consumer:{get:function(){return Le||(Le=!0,dt("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Fe.Consumer}}}),Fe.Consumer=Yn}return Fe._currentRenderer=null,Fe._currentRenderer2=null,Fe}function Wt(Q){var Se={$$typeof:De,_ctor:Q,_status:-1,_result:null};{var Fe,Le;Object.defineProperties(Se,{defaultProps:{configurable:!0,get:function(){return Fe},set:function(pt){dt("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Fe=pt,Object.defineProperty(Se,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Le},set:function(pt){dt("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Le=pt,Object.defineProperty(Se,"propTypes",{enumerable:!0})}}})}return Se}function Ru(Q){return Q!=null&&Q.$$typeof===me?dt("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof Q!="function"?dt("forwardRef requires a render function but was given %s.",Q===null?"null":typeof Q):Q.length!==0&&Q.length!==2&&dt("forwardRef render functions accept exactly two parameters: props and ref. %s",Q.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),Q!=null&&(Q.defaultProps!=null||Q.propTypes!=null)&&dt("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:V,render:Q}}function eu(Q){return typeof Q=="string"||typeof Q=="function"||Q===N||Q===q||Q===k||Q===F||Q===re||Q===y||typeof Q=="object"&&Q!==null&&(Q.$$typeof===De||Q.$$typeof===me||Q.$$typeof===x||Q.$$typeof===j||Q.$$typeof===V||Q.$$typeof===ae||Q.$$typeof===we||Q.$$typeof===he||Q.$$typeof===ge)}function Q0(Q,Se){return eu(Q)||dt("memo: The first argument must be a component. Instead received: %s",Q===null?"null":typeof Q),{$$typeof:me,type:Q,compare:Se===void 0?null:Se}}function Yi(){var Q=ze.current;if(Q===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app -See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return X}function Xl(X,we){var Le=Yi();if(we!==void 0&&ct("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",we,typeof we=="number"&&Array.isArray(arguments[2])?` +See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return Q}function Xl(Q,Se){var Fe=Yi();if(Se!==void 0&&dt("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",Se,typeof Se=="number"&&Array.isArray(arguments[2])?` -Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:""),X._context!==void 0){var Ne=X._context;Ne.Consumer===X?ct("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):Ne.Provider===X&&ct("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Le.useContext(X,we)}function Mo(X){var we=Yi();return we.useState(X)}function ai(X,we,Le){var Ne=Yi();return Ne.useReducer(X,we,Le)}function so(X){var we=Yi();return we.useRef(X)}function Ql(X,we){var Le=Yi();return Le.useEffect(X,we)}function ko(X,we){var Le=Yi();return Le.useLayoutEffect(X,we)}function Is(X,we){var Le=Yi();return Le.useCallback(X,we)}function $n(X,we){var Le=Yi();return Le.useMemo(X,we)}function el(X,we,Le){var Ne=Yi();return Ne.useImperativeHandle(X,we,Le)}function ao(X,we){{var Le=Yi();return Le.useDebugValue(X,we)}}var I0;I0=!1;function wl(){if(yt.current){var X=Jt(yt.current.type);if(X)return` +Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:""),Q._context!==void 0){var Le=Q._context;Le.Consumer===Q?dt("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):Le.Provider===Q&&dt("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Fe.useContext(Q,Se)}function ko(Q){var Se=Yi();return Se.useState(Q)}function li(Q,Se,Fe){var Le=Yi();return Le.useReducer(Q,Se,Fe)}function ao(Q){var Se=Yi();return Se.useRef(Q)}function Ql(Q,Se){var Fe=Yi();return Fe.useEffect(Q,Se)}function No(Q,Se){var Fe=Yi();return Fe.useLayoutEffect(Q,Se)}function Is(Q,Se){var Fe=Yi();return Fe.useCallback(Q,Se)}function $n(Q,Se){var Fe=Yi();return Fe.useMemo(Q,Se)}function tl(Q,Se,Fe){var Le=Yi();return Le.useImperativeHandle(Q,Se,Fe)}function fo(Q,Se){{var Fe=Yi();return Fe.useDebugValue(Q,Se)}}var I0;I0=!1;function Sl(){if(gt.current){var Q=Jt(gt.current.type);if(Q)return` -Check the render method of \``+X+"`."}return""}function No(X){if(X!==void 0){var we=X.fileName.replace(/^.*[\\\/]/,""),Le=X.lineNumber;return` +Check the render method of \``+Q+"`."}return""}function Lo(Q){if(Q!==void 0){var Se=Q.fileName.replace(/^.*[\\\/]/,""),Fe=Q.lineNumber;return` -Check your code at `+we+":"+Le+"."}return""}function wt(X){return X!=null?No(X.__source):""}var bt={};function Hn(X){var we=wl();if(!we){var Le=typeof X=="string"?X:X.displayName||X.name;Le&&(we=` +Check your code at `+Se+":"+Fe+"."}return""}function St(Q){return Q!=null?Lo(Q.__source):""}var Bt={};function Hn(Q){var Se=Sl();if(!Se){var Fe=typeof Q=="string"?Q:Q.displayName||Q.name;Fe&&(Se=` -Check the top-level render call using <`+Le+">.")}return we}function qr(X,we){if(!(!X._store||X._store.validated||X.key!=null)){X._store.validated=!0;var Le=Hn(we);if(!bt[Le]){bt[Le]=!0;var Ne="";X&&X._owner&&X._owner!==yt.current&&(Ne=" It was passed a child from "+Jt(X._owner.type)+"."),fe(X),ct('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',Le,Ne),fe(null)}}}function Ki(X,we){if(typeof X=="object"){if(Array.isArray(X))for(var Le=0;Le",dt=" Did you accidentally export a JSX literal instead of a component?"):Cn=typeof X,ct("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Cn,dt)}var cr=xi.apply(this,arguments);if(cr==null)return cr;if(Ne)for(var Si=2;Si{"use strict";process.env.NODE_ENV==="production"?KE.exports=W8():KE.exports=J8()});var Z8=tt((zv,Ny)=>{(function(){var i,o="4.17.21",a=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",_="Expected a function",t="Invalid `variable` option passed into `_.template`",k="__lodash_hash_undefined__",L=500,O="__lodash_placeholder__",C=1,U=2,H=4,W=1,ne=2,m=1,he=2,Ee=4,ve=8,se=16,De=32,pe=64,me=128,ie=256,Oe=512,je=30,qe="...",yt=800,gt=16,Xe=1,ut=2,We=3,Ft=1/0,Jt=9007199254740991,rt=17976931348623157e292,Q=0/0,fe=4294967295,xe=fe-1,oe=fe>>>1,ze=[["ary",me],["bind",m],["bindKey",he],["curry",ve],["curryRight",se],["flip",Oe],["partial",De],["partialRight",pe],["rearg",ie]],ct="[object Arguments]",Rt="[object Array]",nn="[object AsyncFunction]",an="[object Boolean]",Mn="[object Date]",lr="[object DOMException]",ln="[object Error]",Vt="[object Function]",Er="[object GeneratorFunction]",w="[object Map]",jt="[object Number]",Xn="[object Null]",vr="[object Object]",jr="[object Promise]",fr="[object Proxy]",zr="[object RegExp]",Xt="[object Set]",wu="[object String]",d0="[object Symbol]",Ro="[object Undefined]",Qo="[object WeakMap]",Fs="[object WeakSet]",Jo="[object ArrayBuffer]",Zo="[object DataView]",qt="[object Float32Array]",xi="[object Float64Array]",lu="[object Int8Array]",mi="[object Int16Array]",Dr="[object Int32Array]",$o="[object Uint8Array]",G0="[object Uint8ClampedArray]",Uu="[object Uint16Array]",Y0="[object Uint32Array]",Xr=/\b__p \+= '';/g,Ao=/\b(__p \+=) '' \+/g,Oo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,F0=/&(?:amp|lt|gt|quot|#39);/g,su=/[&<>"']/g,ki=RegExp(F0.source),Ps=RegExp(su.source),Kl=/<%-([\s\S]+?)%>/g,P0=/<%([\s\S]+?)%>/g,p0=/<%=([\s\S]+?)%>/g,Hr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ri=/^\w*$/,K0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,yi=/[\\^$.*+?()[\]{}|]/g,en=RegExp(yi.source),bn=/^\s+/,Ai=/\s/,gi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Wt=/\{\n\/\* \[wrapped with (.+)\] \*/,Au=/,? & /,eu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,X0=/[()=,{}\[\]\/\s]/,Yi=/\\(\\)?/g,Xl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Mo=/\w*$/,ai=/^[-+]0x[0-9a-f]+$/i,so=/^0b[01]+$/i,Ql=/^\[object .+?Constructor\]$/,ko=/^0o[0-7]+$/i,Is=/^(?:0|[1-9]\d*)$/,$n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,el=/($^)/,ao=/['\n\r\u2028\u2029\\]/g,I0="\\ud800-\\udfff",wl="\\u0300-\\u036f",No="\\ufe20-\\ufe2f",wt="\\u20d0-\\u20ff",bt=wl+No+wt,Hn="\\u2700-\\u27bf",qr="a-z\\xdf-\\xf6\\xf8-\\xff",Ki="\\xac\\xb1\\xd7\\xf7",Qr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ou="\\u2000-\\u206f",h0=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ni="A-Z\\xc0-\\xd6\\xd8-\\xde",v0="\\ufe0e\\ufe0f",hs=Ki+Qr+Ou+h0,Tt="['\u2019]",fo="["+I0+"]",tl="["+hs+"]",Jl="["+bt+"]",ju="\\d+",vs="["+Hn+"]",b0="["+qr+"]",X="[^"+I0+hs+ju+Hn+qr+Ni+"]",we="\\ud83c[\\udffb-\\udfff]",Le="(?:"+Jl+"|"+we+")",Ne="[^"+I0+"]",dt="(?:\\ud83c[\\udde6-\\uddff]){2}",Yn="[\\ud800-\\udbff][\\udc00-\\udfff]",Cn="["+Ni+"]",cr="\\u200d",Si="(?:"+b0+"|"+X+")",Mu="(?:"+Cn+"|"+X+")",zu="(?:"+Tt+"(?:d|ll|m|re|s|t|ve))?",Hu="(?:"+Tt+"(?:D|LL|M|RE|S|T|VE))?",Su=Le+"?",Ti="["+v0+"]?",Lo="(?:"+cr+"(?:"+[Ne,dt,Yn].join("|")+")"+Ti+Su+")*",ku="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",co="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qu=Ti+Su+Lo,Pa="(?:"+[vs,dt,Yn].join("|")+")"+qu,m0="(?:"+[Ne+Jl+"?",Jl,dt,Yn,fo].join("|")+")",ia=RegExp(Tt,"g"),Q0=RegExp(Jl,"g"),ua=RegExp(we+"(?="+we+")|"+m0+qu,"g"),Ia=RegExp([Cn+"?"+b0+"+"+zu+"(?="+[tl,Cn,"$"].join("|")+")",Mu+"+"+Hu+"(?="+[tl,Cn+Si,"$"].join("|")+")",Cn+"?"+Si+"+"+zu,Cn+"+"+Hu,co,ku,ju,Pa].join("|"),"g"),ms=RegExp("["+cr+I0+bt+v0+"]"),S0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ac=-1,fi={};fi[qt]=fi[xi]=fi[lu]=fi[mi]=fi[Dr]=fi[$o]=fi[G0]=fi[Uu]=fi[Y0]=!0,fi[ct]=fi[Rt]=fi[Jo]=fi[an]=fi[Zo]=fi[Mn]=fi[ln]=fi[Vt]=fi[w]=fi[jt]=fi[vr]=fi[zr]=fi[Xt]=fi[wu]=fi[Qo]=!1;var $r={};$r[ct]=$r[Rt]=$r[Jo]=$r[Zo]=$r[an]=$r[Mn]=$r[qt]=$r[xi]=$r[lu]=$r[mi]=$r[Dr]=$r[w]=$r[jt]=$r[vr]=$r[zr]=$r[Xt]=$r[wu]=$r[d0]=$r[$o]=$r[G0]=$r[Uu]=$r[Y0]=!0,$r[ln]=$r[Vt]=$r[Qo]=!1;var Zl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},oa={"&":"&","<":"<",">":">",'"':""","'":"'"},pf={"&":"&","<":"<",">":">",""":'"',"'":"'"},bs={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ba=parseFloat,Bs=parseInt,y0=typeof global=="object"&&global&&global.Object===Object&&global,Us=typeof self=="object"&&self&&self.Object===Object&&self,ji=y0||Us||Function("return this")(),B=typeof zv=="object"&&zv&&!zv.nodeType&&zv,z=B&&typeof Ny=="object"&&Ny&&!Ny.nodeType&&Ny,G=z&&z.exports===B,$=G&&y0.process,Te=function(){try{var Ce=z&&z.require&&z.require("util").types;return Ce||$&&$.binding&&$.binding("util")}catch(et){}}(),ge=Te&&Te.isArrayBuffer,Re=Te&&Te.isDate,Z=Te&&Te.isMap,ke=Te&&Te.isRegExp,Qe=Te&&Te.isSet,ht=Te&&Te.isTypedArray;function ue(Ce,et,Ye){switch(Ye.length){case 0:return Ce.call(et);case 1:return Ce.call(et,Ye[0]);case 2:return Ce.call(et,Ye[0],Ye[1]);case 3:return Ce.call(et,Ye[0],Ye[1],Ye[2])}return Ce.apply(et,Ye)}function He(Ce,et,Ye,Yt){for(var Kt=-1,pr=Ce==null?0:Ce.length;++Kt-1}function rn(Ce,et,Ye){for(var Yt=-1,Kt=Ce==null?0:Ce.length;++Yt-1;);return Ye}function Sl(Ce,et){for(var Ye=Ce.length;Ye--&&Dt(et,Ce[Ye],0)>-1;);return Ye}function vf(Ce,et){for(var Ye=Ce.length,Yt=0;Ye--;)Ce[Ye]===et&&++Yt;return Yt}var Po=Jn(Zl),ys=Jn(oa);function js(Ce){return"\\"+bs[Ce]}function Io(Ce,et){return Ce==null?i:Ce[et]}function bo(Ce){return ms.test(Ce)}function gs(Ce){return S0.test(Ce)}function Qu(Ce){for(var et,Ye=[];!(et=Ce.next()).done;)Ye.push(et.value);return Ye}function Tu(Ce){var et=-1,Ye=Array(Ce.size);return Ce.forEach(function(Yt,Kt){Ye[++et]=[Kt,Yt]}),Ye}function Ei(Ce,et){return function(Ye){return Ce(et(Ye))}}function C0(Ce,et){for(var Ye=-1,Yt=Ce.length,Kt=0,pr=[];++Ye-1}function fa(d,v){var x=this.__data__,P=ts(x,d);return P<0?(++this.size,x.push([d,v])):x[P][1]=v,this}ro.prototype.clear=Ba,ro.prototype.delete=_f,ro.prototype.get=fc,ro.prototype.has=Ds,ro.prototype.set=fa;function U0(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v=v?d:v)),d}function j0(d,v,x,P,q,ee){var de,_e=v&C,Ie=v&U,Et=v&H;if(x&&(de=q?x(d,P,q,ee):x(d)),de!==i)return de;if(!bu(d))return d;var St=tr(d);if(St){if(de=Cs(d),!_e)return iu(d,de)}else{var At=Iu(d),on=At==Vt||At==Er;if(Js(d))return vc(d,_e);if(At==vr||At==ct||on&&!q){if(de=Ie||on?{}:Ec(d),!_e)return Ie?ns(d,ul(de,d)):o0(d,Ef(de,d))}else{if(!$r[At])return q?d:{};de=Dh(d,At,_e)}}ee||(ee=new il);var kn=ee.get(d);if(kn)return kn;ee.set(d,de),Id(d)?d.forEach(function(ar){de.add(j0(ar,v,x,ar,d,ee))}):Ep(d)&&d.forEach(function(ar,ui){de.set(ui,j0(ar,v,x,ui,d,ee))});var rr=Et?Ie?sr:n1:Ie?dn:N0,br=St?i:rr(d);return nt(br||d,function(ar,ui){br&&(ui=ar,ar=d[ui]),Ss(de,ui,j0(ar,v,x,ui,d,ee))}),de}function Df(d){var v=N0(d);return function(x){return qc(x,d,v)}}function qc(d,v,x){var P=x.length;if(d==null)return!P;for(d=xn(d);P--;){var q=x[P],ee=v[q],de=d[q];if(de===i&&!(q in d)||!ee(de))return!1}return!0}function dc(d,v,x){if(typeof d!="function")throw new ti(_);return Qa(function(){d.apply(i,x)},v)}function Al(d,v,x,P){var q=-1,ee=sn,de=!0,_e=d.length,Ie=[],Et=v.length;if(!_e)return Ie;x&&(v=Lt(v,_i(x))),P?(ee=rn,de=!1):v.length>=a&&(ee=nl,de=!1,v=new mo(v));e:for(;++q<_e;){var St=d[q],At=x==null?St:x(St);if(St=P||St!==0?St:0,de&&At===At){for(var on=Et;on--;)if(v[on]===At)continue e;Ie.push(St)}else ee(v,At,P)||Ie.push(St)}return Ie}var Ts=al(R),da=al(F,!0);function ud(d,v){var x=!0;return Ts(d,function(P,q,ee){return x=!!v(P,q,ee),x}),x}function pa(d,v,x){for(var P=-1,q=d.length;++Pq?0:q+x),P=P===i||P>q?q:Mr(P),P<0&&(P+=q),P=x>P?0:wp(P);x0&&x(_e)?v>1?qi(_e,v-1,x,P,q):Dn(q,_e):P||(q[q.length]=_e)}return q}var g=yc(),y=yc(!0);function R(d,v){return d&&g(d,v,N0)}function F(d,v){return d&&y(d,v,N0)}function b(d,v){return It(v,function(x){return xa(d[x])})}function J(d,v){v=Ws(v,d);for(var x=0,P=v.length;d!=null&&xv}function kt(d,v){return d!=null&&li.call(d,v)}function xr(d,v){return d!=null&&v in xn(d)}function i0(d,v,x){return d>=Kn(v,x)&&d=120&&St.length>=120)?new mo(de&&St):i}St=d[0];var At=-1,on=_e[0];e:for(;++At-1;)_e!==d&&O0.call(_e,Ie,1),O0.call(d,Ie,1);return d}function sd(d,v){for(var x=d?v.length:0,P=x-1;x--;){var q=v[x];if(x==P||q!==ee){var ee=q;Eo(q)?O0.call(d,q,1):R2(d,q)}}return d}function ad(d,v){return d+Es(E0()*(v-d+1))}function T2(d,v,x,P){for(var q=-1,ee=ni($u((v-d)/(x||1)),0),de=Ye(ee);ee--;)de[P?ee:++q]=d,d+=x;return de}function Gc(d,v){var x="";if(!d||v<1||v>Jt)return x;do v%2&&(x+=d),v=Es(v/2),v&&(d+=d);while(v);return x}function Ir(d,v){return o1(F2(d,v,s0),d+"")}function fd(d){return za(Nc(d))}function cd(d,v){var x=Nc(d);return wc(x,r0(v,0,x.length))}function Ga(d,v,x,P){if(!bu(d))return d;v=Ws(v,d);for(var q=-1,ee=v.length,de=ee-1,_e=d;_e!=null&&++qq?0:q+v),x=x>q?q:x,x<0&&(x+=q),q=v>x?0:x-v>>>0,v>>>=0;for(var ee=Ye(q);++P>>1,de=d[ee];de!==null&&!bl(de)&&(x?de<=v:de=a){var Et=v?null:rm(d);if(Et)return Z0(Et);de=!1,q=nl,Ie=new mo}else Ie=v?[]:_e;e:for(;++P=P?d:ll(d,v,x)}var Jc=_s||function(d){return ji.clearTimeout(d)};function vc(d,v){if(v)return d.slice();var x=d.length,P=Hi?Hi(x):new d.constructor(x);return d.copy(P),P}function mc(d){var v=new d.constructor(d.byteLength);return new A0(v).set(new A0(d)),v}function pd(d,v){var x=v?mc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.byteLength)}function yh(d){var v=new d.constructor(d.source,Mo.exec(d));return v.lastIndex=d.lastIndex,v}function Tf(d){return Ar?xn(Ar.call(d)):{}}function Zc(d,v){var x=v?mc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.length)}function gh(d,v){if(d!==v){var x=d!==i,P=d===null,q=d===d,ee=bl(d),de=v!==i,_e=v===null,Ie=v===v,Et=bl(v);if(!_e&&!Et&&!ee&&d>v||ee&&de&&Ie&&!_e&&!Et||P&&de&&Ie||!x&&Ie||!q)return 1;if(!P&&!ee&&!Et&&d=_e)return Ie;var Et=x[P];return Ie*(Et=="desc"?-1:1)}}return d.index-v.index}function Vs(d,v,x,P){for(var q=-1,ee=d.length,de=x.length,_e=-1,Ie=v.length,Et=ni(ee-de,0),St=Ye(Ie+Et),At=!P;++_e1?x[q-1]:i,de=q>2?x[2]:i;for(ee=d.length>3&&typeof ee=="function"?(q--,ee):i,de&&oo(x[0],x[1],de)&&(ee=q<3?i:ee,q=1),v=xn(v);++P-1?q[ee?v[de]:de]:i}}function e1(d){return fl(function(v){var x=v.length,P=x,q=Vr.prototype.thru;for(d&&v.reverse();P--;){var ee=v[P];if(typeof ee!="function")throw new ti(_);if(q&&!de&&Ho(ee)=="wrapper")var de=new Vr([],!0)}for(P=de?P:x;++P1&&di.reverse(),St&&Ie_e))return!1;var Et=ee.get(d),St=ee.get(v);if(Et&&St)return Et==v&&St==d;var At=-1,on=!0,kn=x&ne?new mo:i;for(ee.set(d,v),ee.set(v,d);++At<_e;){var rr=d[At],br=v[At];if(P)var ar=de?P(br,rr,At,v,d,ee):P(rr,br,At,d,v,ee);if(ar!==i){if(ar)continue;on=!1;break}if(kn){if(!Cr(v,function(ui,di){if(!nl(kn,di)&&(rr===ui||q(rr,ui,x,P,ee)))return kn.push(di)})){on=!1;break}}else if(!(rr===br||q(rr,br,x,P,ee))){on=!1;break}}return ee.delete(d),ee.delete(v),on}function Eh(d,v,x,P,q,ee,de){switch(x){case Zo:if(d.byteLength!=v.byteLength||d.byteOffset!=v.byteOffset)return!1;d=d.buffer,v=v.buffer;case Jo:return!(d.byteLength!=v.byteLength||!ee(new A0(d),new A0(v)));case an:case Mn:case jt:return wo(+d,+v);case ln:return d.name==v.name&&d.message==v.message;case zr:case wu:return d==v+"";case w:var _e=Tu;case Xt:var Ie=P&W;if(_e||(_e=Z0),d.size!=v.size&&!Ie)return!1;var Et=de.get(d);if(Et)return Et==v;P|=ne,de.set(d,v);var St=Of(_e(d),_e(v),P,q,ee,de);return de.delete(d),St;case d0:if(Ar)return Ar.call(d)==Ar.call(v)}return!1}function um(d,v,x,P,q,ee){var de=x&W,_e=n1(d),Ie=_e.length,Et=n1(v),St=Et.length;if(Ie!=St&&!de)return!1;for(var At=Ie;At--;){var on=_e[At];if(!(de?on in v:li.call(v,on)))return!1}var kn=ee.get(d),rr=ee.get(v);if(kn&&rr)return kn==v&&rr==d;var br=!0;ee.set(d,v),ee.set(v,d);for(var ar=de;++At1?"& ":"")+v[P],v=v.join(x>2?", ":" "),d.replace(gi,`{ -/* [wrapped with `+v+`] */ -`)}function is(d){return tr(d)||dl(d)||!!(ho&&d&&d[ho])}function Eo(d,v){var x=typeof d;return v=v==null?Jt:v,!!v&&(x=="number"||x!="symbol"&&Is.test(d))&&d>-1&&d%1==0&&d0){if(++v>=yt)return arguments[0]}else v=0;return d.apply(i,arguments)}}function wc(d,v){var x=-1,P=d.length,q=P-1;for(v=v===i?P:v;++x1?d[v-1]:i;return x=typeof x=="function"?(d.pop(),x):i,Sd(d,x)});function Bh(d){var v=Y(d);return v.__chain__=!0,v}function Uh(d,v){return v(d),d}function y1(d,v){return v(d)}var Z2=fl(function(d){var v=d.length,x=v?d[0]:0,P=this.__wrapped__,q=function(ee){return qa(ee,d)};return v>1||this.__actions__.length||!(P instanceof at)||!Eo(x)?this.thru(q):(P=P.slice(x,+x+(v?1:0)),P.__actions__.push({func:y1,args:[q],thisArg:i}),new Vr(P,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(i),ee}))});function jh(){return Bh(this)}function $2(){return new Vr(this.value(),this.__chain__)}function zh(){this.__values__===i&&(this.__values__=lv(this.value()));var d=this.__index__>=this.__values__.length,v=d?i:this.__values__[this.__index__++];return{done:d,value:v}}function dm(){return this}function pm(d){for(var v,x=this;x instanceof ii;){var P=I2(x);P.__index__=0,P.__values__=i,v?q.__wrapped__=P:v=P;var q=P;x=x.__wrapped__}return q.__wrapped__=d,v}function Pf(){var d=this.__wrapped__;if(d instanceof at){var v=d;return this.__actions__.length&&(v=new at(this)),v=v.reverse(),v.__actions__.push({func:y1,args:[V2],thisArg:i}),new Vr(v,this.__chain__)}return this.thru(V2)}function If(){return mh(this.__wrapped__,this.__actions__)}var Td=Ya(function(d,v,x){li.call(d,x)?++d[x]:Gu(d,x,1)});function hm(d,v,x){var P=tr(d)?Mt:ud;return x&&oo(d,v,x)&&(v=i),P(d,Vn(v,3))}function ep(d,v){var x=tr(d)?It:Wc;return x(d,Vn(v,3))}var Cd=kl(j2),tp=kl(s1);function Hh(d,v){return qi(g1(d,v),1)}function np(d,v){return qi(g1(d,v),Ft)}function qh(d,v,x){return x=x===i?1:Mr(x),qi(g1(d,v),x)}function Wh(d,v){var x=tr(d)?nt:Ts;return x(d,Vn(v,3))}function rp(d,v){var x=tr(d)?Ct:da;return x(d,Vn(v,3))}var vm=Ya(function(d,v,x){li.call(d,x)?d[x].push(v):Gu(d,x,[v])});function mm(d,v,x,P){d=pl(d)?d:Nc(d),x=x&&!P?Mr(x):0;var q=d.length;return x<0&&(x=ni(q+x,0)),w1(d)?x<=q&&d.indexOf(v,x)>-1:!!q&&Dt(d,v,x)>-1}var ym=Ir(function(d,v,x){var P=-1,q=typeof v=="function",ee=pl(d)?Ye(d.length):[];return Ts(d,function(de){ee[++P]=q?ue(v,de,x):Ol(de,v,x)}),ee}),Vh=Ya(function(d,v,x){Gu(d,x,v)});function g1(d,v){var x=tr(d)?Lt:w2;return x(d,Vn(v,3))}function gm(d,v,x,P){return d==null?[]:(tr(v)||(v=v==null?[]:[v]),x=P?i:x,tr(x)||(x=x==null?[]:[x]),yo(d,v,x))}var ip=Ya(function(d,v,x){d[x?0:1].push(v)},function(){return[[],[]]});function up(d,v,x){var P=tr(d)?dr:wr,q=arguments.length<3;return P(d,Vn(v,4),x,q,Ts)}function _m(d,v,x){var P=tr(d)?er:wr,q=arguments.length<3;return P(d,Vn(v,4),x,q,da)}function Em(d,v){var x=tr(d)?It:Wc;return x(d,Ad(Vn(v,3)))}function Gh(d){var v=tr(d)?za:fd;return v(d)}function Dm(d,v,x){(x?oo(d,v,x):v===i)?v=1:v=Mr(v);var P=tr(d)?Ha:cd;return P(d,v)}function wm(d){var v=tr(d)?ca:ol;return v(d)}function op(d){if(d==null)return 0;if(pl(d))return w1(d)?tu(d):d.length;var v=Iu(d);return v==w||v==Xt?d.size:Wa(d).length}function lp(d,v,x){var P=tr(d)?Cr:hh;return x&&oo(d,v,x)&&(v=i),P(d,Vn(v,3))}var Ta=Ir(function(d,v){if(d==null)return[];var x=v.length;return x>1&&oo(d,v[0],v[1])?v=[]:x>2&&oo(v[0],v[1],v[2])&&(v=[v[0]]),yo(d,qi(v,1),[])}),_1=aa||function(){return ji.Date.now()};function sp(d,v){if(typeof v!="function")throw new ti(_);return d=Mr(d),function(){if(--d<1)return v.apply(this,arguments)}}function Yh(d,v,x){return v=x?i:v,v=d&&v==null?d.length:v,hn(d,me,i,i,i,i,v)}function xd(d,v){var x;if(typeof v!="function")throw new ti(_);return d=Mr(d),function(){return--d>0&&(x=v.apply(this,arguments)),d<=1&&(v=i),x}}var E1=Ir(function(d,v,x){var P=m;if(x.length){var q=C0(x,yr(E1));P|=De}return hn(d,P,v,x,q)}),Kh=Ir(function(d,v,x){var P=m|he;if(x.length){var q=C0(x,yr(Kh));P|=De}return hn(v,P,d,x,q)});function ap(d,v,x){v=x?i:v;var P=hn(d,ve,i,i,i,i,i,v);return P.placeholder=ap.placeholder,P}function Xh(d,v,x){v=x?i:v;var P=hn(d,se,i,i,i,i,i,v);return P.placeholder=Xh.placeholder,P}function fp(d,v,x){var P,q,ee,de,_e,Ie,Et=0,St=!1,At=!1,on=!0;if(typeof d!="function")throw new ti(_);v=hl(v)||0,bu(x)&&(St=!!x.leading,At="maxWait"in x,ee=At?ni(hl(x.maxWait)||0,v):ee,on="trailing"in x?!!x.trailing:on);function kn(a0){var Os=P,To=q;return P=q=i,Et=a0,de=d.apply(To,Os),de}function rr(a0){return Et=a0,_e=Qa(ui,v),St?kn(a0):de}function br(a0){var Os=a0-Ie,To=a0-Et,Av=v-Os;return At?Kn(Av,ee-To):Av}function ar(a0){var Os=a0-Ie,To=a0-Et;return Ie===i||Os>=v||Os<0||At&&To>=ee}function ui(){var a0=_1();if(ar(a0))return di(a0);_e=Qa(ui,br(a0))}function di(a0){return _e=i,on&&P?kn(a0):(P=q=i,de)}function jl(){_e!==i&&Jc(_e),Et=0,P=Ie=q=_e=i}function Zi(){return _e===i?de:di(_1())}function lo(){var a0=_1(),Os=ar(a0);if(P=arguments,q=this,Ie=a0,Os){if(_e===i)return rr(Ie);if(At)return Jc(_e),_e=Qa(ui,v),kn(Ie)}return _e===i&&(_e=Qa(ui,v)),de}return lo.cancel=jl,lo.flush=Zi,lo}var Qh=Ir(function(d,v){return dc(d,1,v)}),Jh=Ir(function(d,v,x){return dc(d,hl(v)||0,x)});function cp(d){return hn(d,Oe)}function Rd(d,v){if(typeof d!="function"||v!=null&&typeof v!="function")throw new ti(_);var x=function(){var P=arguments,q=v?v.apply(this,P):P[0],ee=x.cache;if(ee.has(q))return ee.get(q);var de=d.apply(this,P);return x.cache=ee.set(q,de)||ee,de};return x.cache=new(Rd.Cache||U0),x}Rd.Cache=U0;function Ad(d){if(typeof d!="function")throw new ti(_);return function(){var v=arguments;switch(v.length){case 0:return!d.call(this);case 1:return!d.call(this,v[0]);case 2:return!d.call(this,v[0],v[1]);case 3:return!d.call(this,v[0],v[1],v[2])}return!d.apply(this,v)}}function H0(d){return xd(2,d)}var Od=M2(function(d,v){v=v.length==1&&tr(v[0])?Lt(v[0],_i(Vn())):Lt(qi(v,1),_i(Vn()));var x=v.length;return Ir(function(P){for(var q=-1,ee=Kn(P.length,x);++q=v}),dl=u0(function(){return arguments}())?u0:function(d){return Yu(d)&&li.call(d,"callee")&&!B0.call(d,"callee")},tr=Ye.isArray,Qs=ge?_i(ge):Ve;function pl(d){return d!=null&&Fd(d.length)&&!xa(d)}function l0(d){return Yu(d)&&pl(d)}function ev(d){return d===!0||d===!1||Yu(d)&&mt(d)==an}var Js=to||Up,mp=Re?_i(Re):Ue;function Rm(d){return Yu(d)&&d.nodeType===1&&!Cc(d)}function tv(d){if(d==null)return!0;if(pl(d)&&(tr(d)||typeof d=="string"||typeof d.splice=="function"||Js(d)||Ra(d)||dl(d)))return!d.length;var v=Iu(d);if(v==w||v==Xt)return!d.size;if(Nf(d))return!Wa(d).length;for(var x in d)if(li.call(d,x))return!1;return!0}function yp(d,v){return lt(d,v)}function Am(d,v,x){x=typeof x=="function"?x:i;var P=x?x(d,v):i;return P===i?lt(d,v,i,x):!!P}function gp(d){if(!Yu(d))return!1;var v=mt(d);return v==ln||v==lr||typeof d.message=="string"&&typeof d.name=="string"&&!Cc(d)}function Tc(d){return typeof d=="number"&&nu(d)}function xa(d){if(!bu(d))return!1;var v=mt(d);return v==Vt||v==Er||v==nn||v==fr}function _p(d){return typeof d=="number"&&d==Mr(d)}function Fd(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=Jt}function bu(d){var v=typeof d;return d!=null&&(v=="object"||v=="function")}function Yu(d){return d!=null&&typeof d=="object"}var Ep=Z?_i(Z):Wn;function Dp(d,v){return d===v||si(d,v,jn(v))}function nv(d,v,x){return x=typeof x=="function"?x:i,si(d,v,jn(v),x)}function Om(d){return rv(d)&&d!=+d}function Mm(d){if(Nl(d))throw new Kt(p);return ur(d)}function km(d){return d===null}function Pd(d){return d==null}function rv(d){return typeof d=="number"||Yu(d)&&mt(d)==jt}function Cc(d){if(!Yu(d)||mt(d)!=vr)return!1;var v=rl(d);if(v===null)return!0;var x=li.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&Fu.call(x)==sa}var D1=ke?_i(ke):ci;function Nm(d){return _p(d)&&d>=-Jt&&d<=Jt}var Id=Qe?_i(Qe):Qi;function w1(d){return typeof d=="string"||!tr(d)&&Yu(d)&&mt(d)==wu}function bl(d){return typeof d=="symbol"||Yu(d)&&mt(d)==d0}var Ra=ht?_i(ht):Gr;function iv(d){return d===i}function Lm(d){return Yu(d)&&Iu(d)==Qo}function uv(d){return Yu(d)&&mt(d)==Fs}var ov=md(od),Fm=md(function(d,v){return d<=v});function lv(d){if(!d)return[];if(pl(d))return w1(d)?ei(d):iu(d);if(Pu&&d[Pu])return Qu(d[Pu]());var v=Iu(d),x=v==w?Tu:v==Xt?Z0:Nc;return x(d)}function Aa(d){if(!d)return d===0?d:0;if(d=hl(d),d===Ft||d===-Ft){var v=d<0?-1:1;return v*rt}return d===d?d:0}function Mr(d){var v=Aa(d),x=v%1;return v===v?x?v-x:v:0}function wp(d){return d?r0(Mr(d),0,fe):0}function hl(d){if(typeof d=="number")return d;if(bl(d))return Q;if(bu(d)){var v=typeof d.valueOf=="function"?d.valueOf():d;d=bu(v)?v+"":v}if(typeof d!="string")return d===0?d:+d;d=Lu(d);var x=so.test(d);return x||ko.test(d)?Bs(d.slice(2),x?2:8):ai.test(d)?Q:+d}function gu(d){return M0(d,dn(d))}function S1(d){return d?r0(Mr(d),-Jt,Jt):d===0?d:0}function Ui(d){return d==null?"":sl(d)}var Sp=io(function(d,v){if(Nf(v)||pl(v)){M0(v,N0(v),d);return}for(var x in v)li.call(v,x)&&Ss(d,x,v[x])}),bd=io(function(d,v){M0(v,dn(v),d)}),So=io(function(d,v,x,P){M0(v,dn(v),d,P)}),As=io(function(d,v,x,P){M0(v,N0(v),d,P)}),bf=fl(qa);function Bd(d,v){var x=ri(d);return v==null?x:Ef(x,v)}var Tp=Ir(function(d,v){d=xn(d);var x=-1,P=v.length,q=P>2?v[2]:i;for(q&&oo(v[0],v[1],q)&&(P=1);++x1),ee}),M0(d,sr(d),x),P&&(x=j0(x,C|U|H,im));for(var q=v.length;q--;)R2(x,v[q]);return x});function R1(d,v){return ef(d,Ad(Vn(v)))}var Rp=fl(function(d,v){return d==null?{}:dh(d,v)});function ef(d,v){if(d==null)return{};var x=Lt(sr(d),function(P){return[P]});return v=Vn(v),ph(d,x,function(P,q){return v(P,q[0])})}function Pm(d,v,x){v=Ws(v,d);var P=-1,q=v.length;for(q||(q=1,d=i);++Pv){var P=d;d=v,v=P}if(x||d%1||v%1){var q=E0();return Kn(d+q*(v-d+ba("1e-"+((q+"").length-1))),v)}return ad(d,v)}var Vd=Cf(function(d,v,x){return v=v.toLowerCase(),d+(x?qo(v):v)});function qo(d){return Mp(Ui(d).toLowerCase())}function Gd(d){return d=Ui(d),d&&d.replace($n,Po).replace(Q0,"")}function bm(d,v,x){d=Ui(d),v=sl(v);var P=d.length;x=x===i?P:r0(Mr(x),0,P);var q=x;return x-=v.length,x>=0&&d.slice(x,q)==v}function M1(d){return d=Ui(d),d&&Ps.test(d)?d.replace(su,ys):d}function Bm(d){return d=Ui(d),d&&en.test(d)?d.replace(yi,"\\$&"):d}var Um=Cf(function(d,v,x){return d+(x?"-":"")+v.toLowerCase()}),av=Cf(function(d,v,x){return d+(x?" ":"")+v.toLowerCase()}),jm=_h("toLowerCase");function fv(d,v,x){d=Ui(d),v=Mr(v);var P=v?tu(d):0;if(!v||P>=v)return d;var q=(v-P)/2;return ga(Es(q),x)+d+ga($u(q),x)}function zm(d,v,x){d=Ui(d),v=Mr(v);var P=v?tu(d):0;return v&&P>>0,x?(d=Ui(d),d&&(typeof v=="string"||v!=null&&!D1(v))&&(v=sl(v),!v&&bo(d))?va(ei(d),0,x):d.split(v,x)):[]}var zf=Cf(function(d,v,x){return d+(x?" ":"")+Mp(v)});function dv(d,v,x){return d=Ui(d),x=x==null?0:r0(Mr(x),0,d.length),v=sl(v),d.slice(x,x+v.length)==v}function pv(d,v,x){var P=Y.templateSettings;x&&oo(d,v,x)&&(v=i),d=Ui(d),v=So({},v,P,Rf);var q=So({},v.imports,P.imports,Rf),ee=N0(q),de=Fo(q,ee),_e,Ie,Et=0,St=v.interpolate||el,At="__p += '",on=yu((v.escape||el).source+"|"+St.source+"|"+(St===p0?Xl:el).source+"|"+(v.evaluate||el).source+"|$","g"),kn="//# sourceURL="+(li.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ac+"]")+` -`;d.replace(on,function(ar,ui,di,jl,Zi,lo){return di||(di=jl),At+=d.slice(Et,lo).replace(ao,js),ui&&(_e=!0,At+=`' + -__e(`+ui+`) + -'`),Zi&&(Ie=!0,At+=`'; +Check the top-level render call using <`+Fe+">.")}return Se}function qr(Q,Se){if(!(!Q._store||Q._store.validated||Q.key!=null)){Q._store.validated=!0;var Fe=Hn(Se);if(!Bt[Fe]){Bt[Fe]=!0;var Le="";Q&&Q._owner&&Q._owner!==gt.current&&(Le=" It was passed a child from "+Jt(Q._owner.type)+"."),ce(Q),dt('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',Fe,Le),ce(null)}}}function Ki(Q,Se){if(typeof Q=="object"){if(Array.isArray(Q))for(var Fe=0;Fe",pt=" Did you accidentally export a JSX literal instead of a component?"):Cn=typeof Q,dt("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Cn,pt)}var cr=xi.apply(this,arguments);if(cr==null)return cr;if(Le)for(var Si=2;Si{"use strict";process.env.NODE_ENV==="production"?QE.exports=eS():QE.exports=lS()});var sS=nt((Wv,By)=>{(function(){var o,l="4.17.21",f=200,h="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",E="Expected a function",t="Invalid `variable` option passed into `_.template`",N="__lodash_hash_undefined__",F=500,k="__lodash_placeholder__",x=1,j=2,q=4,V=1,re=2,y=1,me=2,De=4,ge=8,ae=16,we=32,he=64,ve=128,ue=256,Ae=512,ze=30,We="...",gt=800,_t=16,Qe=1,ot=2,Ve=3,Pt=1/0,Jt=9007199254740991,it=17976931348623157e292,J=0/0,ce=4294967295,Re=ce-1,le=ce>>>1,He=[["ary",ve],["bind",y],["bindKey",me],["curry",ge],["curryRight",ae],["flip",Ae],["partial",we],["partialRight",he],["rearg",ue]],dt="[object Arguments]",At="[object Array]",nn="[object AsyncFunction]",an="[object Boolean]",On="[object Date]",lr="[object DOMException]",ln="[object Error]",Vt="[object Function]",Er="[object GeneratorFunction]",S="[object Map]",zt="[object Number]",Xn="[object Null]",vr="[object Object]",jr="[object Promise]",fr="[object Proxy]",zr="[object RegExp]",Xt="[object Set]",Du="[object String]",c0="[object Symbol]",Ao="[object Undefined]",Jo="[object WeakMap]",Fs="[object WeakSet]",Zo="[object ArrayBuffer]",$o="[object DataView]",qt="[object Float32Array]",xi="[object Float64Array]",lu="[object Int8Array]",vi="[object Int16Array]",Dr="[object Int32Array]",el="[object Uint8Array]",Y0="[object Uint8ClampedArray]",Bu="[object Uint16Array]",K0="[object Uint32Array]",Kr=/\b__p \+= '';/g,Oo=/\b(__p \+=) '' \+/g,Mo=/(__e\(.*?\)|\b__t\)) \+\n'';/g,F0=/&(?:amp|lt|gt|quot|#39);/g,su=/[&<>"']/g,ki=RegExp(F0.source),Ps=RegExp(su.source),Kl=/<%-([\s\S]+?)%>/g,P0=/<%([\s\S]+?)%>/g,d0=/<%=([\s\S]+?)%>/g,Hr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ri=/^\w*$/,X0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mi=/[\\^$.*+?()[\]{}|]/g,en=RegExp(mi.source),In=/^\s+/,Ai=/\s/,yi=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Wt=/\{\n\/\* \[wrapped with (.+)\] \*/,Ru=/,? & /,eu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Q0=/[()=,{}\[\]\/\s]/,Yi=/\\(\\)?/g,Xl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ko=/\w*$/,li=/^[-+]0x[0-9a-f]+$/i,ao=/^0b[01]+$/i,Ql=/^\[object .+?Constructor\]$/,No=/^0o[0-7]+$/i,Is=/^(?:0|[1-9]\d*)$/,$n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,tl=/($^)/,fo=/['\n\r\u2028\u2029\\]/g,I0="\\ud800-\\udfff",Sl="\\u0300-\\u036f",Lo="\\ufe20-\\ufe2f",St="\\u20d0-\\u20ff",Bt=Sl+Lo+St,Hn="\\u2700-\\u27bf",qr="a-z\\xdf-\\xf6\\xf8-\\xff",Ki="\\xac\\xb1\\xd7\\xf7",Xr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Au="\\u2000-\\u206f",p0=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ni="A-Z\\xc0-\\xd6\\xd8-\\xde",h0="\\ufe0e\\ufe0f",hs=Ki+Xr+Au+p0,Ct="['\u2019]",co="["+I0+"]",nl="["+hs+"]",Jl="["+Bt+"]",Uu="\\d+",vs="["+Hn+"]",b0="["+qr+"]",Q="[^"+I0+hs+Uu+Hn+qr+Ni+"]",Se="\\ud83c[\\udffb-\\udfff]",Fe="(?:"+Jl+"|"+Se+")",Le="[^"+I0+"]",pt="(?:\\ud83c[\\udde6-\\uddff]){2}",Yn="[\\ud800-\\udbff][\\udc00-\\udfff]",Cn="["+Ni+"]",cr="\\u200d",Si="(?:"+b0+"|"+Q+")",Ou="(?:"+Cn+"|"+Q+")",ju="(?:"+Ct+"(?:d|ll|m|re|s|t|ve))?",zu="(?:"+Ct+"(?:D|LL|M|RE|S|T|VE))?",wu=Fe+"?",Ti="["+h0+"]?",Fo="(?:"+cr+"(?:"+[Le,pt,Yn].join("|")+")"+Ti+wu+")*",Mu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",po="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Hu=Ti+wu+Fo,Pa="(?:"+[vs,pt,Yn].join("|")+")"+Hu,v0="(?:"+[Le+Jl+"?",Jl,pt,Yn,co].join("|")+")",ia=RegExp(Ct,"g"),J0=RegExp(Jl,"g"),ua=RegExp(Se+"(?="+Se+")|"+v0+Hu,"g"),Ia=RegExp([Cn+"?"+b0+"+"+ju+"(?="+[nl,Cn,"$"].join("|")+")",Ou+"+"+zu+"(?="+[nl,Cn+Si,"$"].join("|")+")",Cn+"?"+Si+"+"+ju,Cn+"+"+zu,po,Mu,Uu,Pa].join("|"),"g"),ms=RegExp("["+cr+I0+Bt+h0+"]"),S0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ac=-1,si={};si[qt]=si[xi]=si[lu]=si[vi]=si[Dr]=si[el]=si[Y0]=si[Bu]=si[K0]=!0,si[dt]=si[At]=si[Zo]=si[an]=si[$o]=si[On]=si[ln]=si[Vt]=si[S]=si[zt]=si[vr]=si[zr]=si[Xt]=si[Du]=si[Jo]=!1;var Jr={};Jr[dt]=Jr[At]=Jr[Zo]=Jr[$o]=Jr[an]=Jr[On]=Jr[qt]=Jr[xi]=Jr[lu]=Jr[vi]=Jr[Dr]=Jr[S]=Jr[zt]=Jr[vr]=Jr[zr]=Jr[Xt]=Jr[Du]=Jr[c0]=Jr[el]=Jr[Y0]=Jr[Bu]=Jr[K0]=!0,Jr[ln]=Jr[Vt]=Jr[Jo]=!1;var Zl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},oa={"&":"&","<":"<",">":">",'"':""","'":"'"},pf={"&":"&","<":"<",">":">",""":'"',"'":"'"},bs={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ba=parseFloat,Bs=parseInt,m0=typeof global=="object"&&global&&global.Object===Object&&global,Us=typeof self=="object"&&self&&self.Object===Object&&self,zi=m0||Us||Function("return this")(),U=typeof Wv=="object"&&Wv&&!Wv.nodeType&&Wv,H=U&&typeof By=="object"&&By&&!By.nodeType&&By,Y=H&&H.exports===U,ee=Y&&m0.process,Ce=function(){try{var xe=H&&H.require&&H.require("util").types;return xe||ee&&ee.binding&&ee.binding("util")}catch{}}(),_e=Ce&&Ce.isArrayBuffer,Oe=Ce&&Ce.isDate,$=Ce&&Ce.isMap,Ne=Ce&&Ce.isRegExp,Je=Ce&&Ce.isSet,vt=Ce&&Ce.isTypedArray;function oe(xe,tt,Ke){switch(Ke.length){case 0:return xe.call(tt);case 1:return xe.call(tt,Ke[0]);case 2:return xe.call(tt,Ke[0],Ke[1]);case 3:return xe.call(tt,Ke[0],Ke[1],Ke[2])}return xe.apply(tt,Ke)}function qe(xe,tt,Ke,Yt){for(var Kt=-1,pr=xe==null?0:xe.length;++Kt-1}function rn(xe,tt,Ke){for(var Yt=-1,Kt=xe==null?0:xe.length;++Yt-1;);return Ke}function Tl(xe,tt){for(var Ke=xe.length;Ke--&&wt(tt,xe[Ke],0)>-1;);return Ke}function vf(xe,tt){for(var Ke=xe.length,Yt=0;Ke--;)xe[Ke]===tt&&++Yt;return Yt}var Io=Jn(Zl),ys=Jn(oa);function js(xe){return"\\"+bs[xe]}function bo(xe,tt){return xe==null?o:xe[tt]}function Bo(xe){return ms.test(xe)}function gs(xe){return S0.test(xe)}function Xu(xe){for(var tt,Ke=[];!(tt=xe.next()).done;)Ke.push(tt.value);return Ke}function Su(xe){var tt=-1,Ke=Array(xe.size);return xe.forEach(function(Yt,Kt){Ke[++tt]=[Kt,Yt]}),Ke}function _i(xe,tt){return function(Ke){return xe(tt(Ke))}}function C0(xe,tt){for(var Ke=-1,Yt=xe.length,Kt=0,pr=[];++Ke-1}function fa(p,m){var R=this.__data__,I=ts(R,p);return I<0?(++this.size,R.push([p,m])):R[I][1]=m,this}io.prototype.clear=Ba,io.prototype.delete=_f,io.prototype.get=fc,io.prototype.has=Ds,io.prototype.set=fa;function U0(p){var m=-1,R=p==null?0:p.length;for(this.clear();++m=m?p:m)),p}function j0(p,m,R,I,W,te){var pe,Ee=m&x,be=m&j,Dt=m&q;if(R&&(pe=W?R(p,I,W,te):R(p)),pe!==o)return pe;if(!Iu(p))return p;var Tt=tr(p);if(Tt){if(pe=Cs(p),!Ee)return iu(p,pe)}else{var Ot=Pu(p),on=Ot==Vt||Ot==Er;if(Js(p))return vc(p,Ee);if(Ot==vr||Ot==dt||on&&!W){if(pe=be||on?{}:Ec(p),!Ee)return be?ns(p,ol(pe,p)):u0(p,Ef(pe,p))}else{if(!Jr[Ot])return W?p:{};pe=Th(p,Ot,Ee)}}te||(te=new ul);var Mn=te.get(p);if(Mn)return Mn;te.set(p,pe),Pd(p)?p.forEach(function(ar){pe.add(j0(ar,m,R,ar,p,te))}):_p(p)&&p.forEach(function(ar,ri){pe.set(ri,j0(ar,m,R,ri,p,te))});var rr=Dt?be?sr:r1:be?dn:N0,br=Tt?o:rr(p);return rt(br||p,function(ar,ri){br&&(ri=ar,ar=p[ri]),Ss(pe,ri,j0(ar,m,R,ri,p,te))}),pe}function Df(p){var m=N0(p);return function(R){return Wc(R,p,m)}}function Wc(p,m,R){var I=R.length;if(p==null)return!I;for(p=bn(p);I--;){var W=R[I],te=m[W],pe=p[W];if(pe===o&&!(W in p)||!te(pe))return!1}return!0}function dc(p,m,R){if(typeof p!="function")throw new $r(E);return Qa(function(){p.apply(o,R)},m)}function Ol(p,m,R,I){var W=-1,te=sn,pe=!0,Ee=p.length,be=[],Dt=m.length;if(!Ee)return be;R&&(m=Ft(m,gi(R))),I?(te=rn,pe=!1):m.length>=f&&(te=rl,pe=!1,m=new yo(m));e:for(;++WW?0:W+R),I=I===o||I>W?W:Mr(I),I<0&&(I+=W),I=R>I?0:Dp(I);R0&&R(Ee)?m>1?Wi(Ee,m-1,R,I,W):Dn(W,Ee):I||(W[W.length]=Ee)}return W}var _=yc(),g=yc(!0);function A(p,m){return p&&_(p,m,N0)}function P(p,m){return p&&g(p,m,N0)}function B(p,m){return bt(m,function(R){return xa(p[R])})}function Z(p,m){m=Ws(m,p);for(var R=0,I=m.length;p!=null&&Rm}function Nt(p,m){return p!=null&&ui.call(p,m)}function xr(p,m){return p!=null&&m in bn(p)}function r0(p,m,R){return p>=Kn(m,R)&&p=120&&Tt.length>=120)?new yo(pe&&Tt):o}Tt=p[0];var Ot=-1,on=Ee[0];e:for(;++Ot-1;)Ee!==p&&O0.call(Ee,be,1),O0.call(p,be,1);return p}function sd(p,m){for(var R=p?m.length:0,I=R-1;R--;){var W=m[R];if(R==I||W!==te){var te=W;Do(W)?O0.call(p,W,1):x2(p,W)}}return p}function ad(p,m){return p+Es(_0()*(m-p+1))}function S2(p,m,R,I){for(var W=-1,te=ei(Zu((m-p)/(R||1)),0),pe=Ke(te);te--;)pe[I?te:++W]=p,p+=R;return pe}function Yc(p,m){var R="";if(!p||m<1||m>Jt)return R;do m%2&&(R+=p),m=Es(m/2),m&&(p+=p);while(m);return R}function Ir(p,m){return l1(L2(p,m,l0),p+"")}function fd(p){return za(Nc(p))}function cd(p,m){var R=Nc(p);return wc(R,n0(m,0,R.length))}function Ga(p,m,R,I){if(!Iu(p))return p;m=Ws(m,p);for(var W=-1,te=m.length,pe=te-1,Ee=p;Ee!=null&&++WW?0:W+m),R=R>W?W:R,R<0&&(R+=W),W=m>R?0:R-m>>>0,m>>>=0;for(var te=Ke(W);++I>>1,pe=p[te];pe!==null&&!Bl(pe)&&(R?pe<=m:pe=f){var Dt=m?null:am(p);if(Dt)return $0(Dt);pe=!1,W=rl,be=new yo}else be=m?[]:Ee;e:for(;++I=I?p:sl(p,m,R)}var Zc=_s||function(p){return zi.clearTimeout(p)};function vc(p,m){if(m)return p.slice();var R=p.length,I=qi?qi(R):new p.constructor(R);return p.copy(I),I}function mc(p){var m=new p.constructor(p.byteLength);return new A0(m).set(new A0(p)),m}function pd(p,m){var R=m?mc(p.buffer):p.buffer;return new p.constructor(R,p.byteOffset,p.byteLength)}function Eh(p){var m=new p.constructor(p.source,ko.exec(p));return m.lastIndex=p.lastIndex,m}function Tf(p){return Ar?bn(Ar.call(p)):{}}function $c(p,m){var R=m?mc(p.buffer):p.buffer;return new p.constructor(R,p.byteOffset,p.length)}function Dh(p,m){if(p!==m){var R=p!==o,I=p===null,W=p===p,te=Bl(p),pe=m!==o,Ee=m===null,be=m===m,Dt=Bl(m);if(!Ee&&!Dt&&!te&&p>m||te&&pe&&be&&!Ee&&!Dt||I&&pe&&be||!R&&be||!W)return 1;if(!I&&!te&&!Dt&&p=Ee)return be;var Dt=R[I];return be*(Dt=="desc"?-1:1)}}return p.index-m.index}function Vs(p,m,R,I){for(var W=-1,te=p.length,pe=R.length,Ee=-1,be=m.length,Dt=ei(te-pe,0),Tt=Ke(be+Dt),Ot=!I;++Ee1?R[W-1]:o,pe=W>2?R[2]:o;for(te=p.length>3&&typeof te=="function"?(W--,te):o,pe&&lo(R[0],R[1],pe)&&(te=W<3?o:te,W=1),m=bn(m);++I-1?W[te?m[pe]:pe]:o}}function t1(p){return cl(function(m){var R=m.length,I=R,W=Wr.prototype.thru;for(p&&m.reverse();I--;){var te=m[I];if(typeof te!="function")throw new $r(E);if(W&&!pe&&qo(te)=="wrapper")var pe=new Wr([],!0)}for(I=pe?I:R;++I1&&fi.reverse(),Tt&&beEe))return!1;var Dt=te.get(p),Tt=te.get(m);if(Dt&&Tt)return Dt==m&&Tt==p;var Ot=-1,on=!0,Mn=R&re?new yo:o;for(te.set(p,m),te.set(m,p);++Ot1?"& ":"")+m[I],m=m.join(R>2?", ":" "),p.replace(yi,`{ +/* [wrapped with `+m+`] */ +`)}function is(p){return tr(p)||pl(p)||!!(vo&&p&&p[vo])}function Do(p,m){var R=typeof p;return m=m==null?Jt:m,!!m&&(R=="number"||R!="symbol"&&Is.test(p))&&p>-1&&p%1==0&&p0){if(++m>=gt)return arguments[0]}else m=0;return p.apply(o,arguments)}}function wc(p,m){var R=-1,I=p.length,W=I-1;for(m=m===o?I:m;++R1?p[m-1]:o;return R=typeof R=="function"?(p.pop(),R):o,wd(p,R)});function zh(p){var m=K(p);return m.__chain__=!0,m}function Hh(p,m){return m(p),p}function g1(p,m){return m(p)}var J2=cl(function(p){var m=p.length,R=m?p[0]:0,I=this.__wrapped__,W=function(te){return qa(te,p)};return m>1||this.__actions__.length||!(I instanceof ft)||!Do(R)?this.thru(W):(I=I.slice(R,+R+(m?1:0)),I.__actions__.push({func:g1,args:[W],thisArg:o}),new Wr(I,this.__chain__).thru(function(te){return m&&!te.length&&te.push(o),te}))});function qh(){return zh(this)}function Z2(){return new Wr(this.value(),this.__chain__)}function Wh(){this.__values__===o&&(this.__values__=fv(this.value()));var p=this.__index__>=this.__values__.length,m=p?o:this.__values__[this.__index__++];return{done:p,value:m}}function _m(){return this}function Em(p){for(var m,R=this;R instanceof ni;){var I=P2(R);I.__index__=0,I.__values__=o,m?W.__wrapped__=I:m=I;var W=I;R=R.__wrapped__}return W.__wrapped__=p,m}function Pf(){var p=this.__wrapped__;if(p instanceof ft){var m=p;return this.__actions__.length&&(m=new ft(this)),m=m.reverse(),m.__actions__.push({func:g1,args:[W2],thisArg:o}),new Wr(m,this.__chain__)}return this.thru(W2)}function If(){return _h(this.__wrapped__,this.__actions__)}var Sd=Ya(function(p,m,R){ui.call(p,R)?++p[R]:Vu(p,R,1)});function Dm(p,m,R){var I=tr(p)?kt:ud;return R&&lo(p,m,R)&&(m=o),I(p,Vn(m,3))}function $2(p,m){var R=tr(p)?bt:Vc;return R(p,Vn(m,3))}var Td=Nl(U2),ep=Nl(a1);function Vh(p,m){return Wi(_1(p,m),1)}function tp(p,m){return Wi(_1(p,m),Pt)}function Gh(p,m,R){return R=R===o?1:Mr(R),Wi(_1(p,m),R)}function Yh(p,m){var R=tr(p)?rt:Ts;return R(p,Vn(m,3))}function np(p,m){var R=tr(p)?xt:da;return R(p,Vn(m,3))}var wm=Ya(function(p,m,R){ui.call(p,R)?p[R].push(m):Vu(p,R,[m])});function Sm(p,m,R,I){p=hl(p)?p:Nc(p),R=R&&!I?Mr(R):0;var W=p.length;return R<0&&(R=ei(W+R,0)),S1(p)?R<=W&&p.indexOf(m,R)>-1:!!W&&wt(p,m,R)>-1}var Tm=Ir(function(p,m,R){var I=-1,W=typeof m=="function",te=hl(p)?Ke(p.length):[];return Ts(p,function(pe){te[++I]=W?oe(m,pe,R):Ml(pe,m,R)}),te}),Kh=Ya(function(p,m,R){Vu(p,R,m)});function _1(p,m){var R=tr(p)?Ft:D2;return R(p,Vn(m,3))}function Cm(p,m,R,I){return p==null?[]:(tr(m)||(m=m==null?[]:[m]),R=I?o:R,tr(R)||(R=R==null?[]:[R]),go(p,m,R))}var rp=Ya(function(p,m,R){p[R?0:1].push(m)},function(){return[[],[]]});function ip(p,m,R){var I=tr(p)?dr:wr,W=arguments.length<3;return I(p,Vn(m,4),R,W,Ts)}function xm(p,m,R){var I=tr(p)?er:wr,W=arguments.length<3;return I(p,Vn(m,4),R,W,da)}function Rm(p,m){var R=tr(p)?bt:Vc;return R(p,Rd(Vn(m,3)))}function Xh(p){var m=tr(p)?za:fd;return m(p)}function Am(p,m,R){(R?lo(p,m,R):m===o)?m=1:m=Mr(m);var I=tr(p)?Ha:cd;return I(p,m)}function Om(p){var m=tr(p)?ca:ll;return m(p)}function up(p){if(p==null)return 0;if(hl(p))return S1(p)?tu(p):p.length;var m=Pu(p);return m==S||m==Xt?p.size:Wa(p).length}function op(p,m,R){var I=tr(p)?Cr:yh;return R&&lo(p,m,R)&&(m=o),I(p,Vn(m,3))}var Ta=Ir(function(p,m){if(p==null)return[];var R=m.length;return R>1&&lo(p,m[0],m[1])?m=[]:R>2&&lo(m[0],m[1],m[2])&&(m=[m[0]]),go(p,Wi(m,1),[])}),E1=aa||function(){return zi.Date.now()};function lp(p,m){if(typeof m!="function")throw new $r(E);return p=Mr(p),function(){if(--p<1)return m.apply(this,arguments)}}function Qh(p,m,R){return m=R?o:m,m=p&&m==null?p.length:m,hn(p,ve,o,o,o,o,m)}function Cd(p,m){var R;if(typeof m!="function")throw new $r(E);return p=Mr(p),function(){return--p>0&&(R=m.apply(this,arguments)),p<=1&&(m=o),R}}var D1=Ir(function(p,m,R){var I=y;if(R.length){var W=C0(R,yr(D1));I|=we}return hn(p,I,m,R,W)}),Jh=Ir(function(p,m,R){var I=y|me;if(R.length){var W=C0(R,yr(Jh));I|=we}return hn(m,I,p,R,W)});function sp(p,m,R){m=R?o:m;var I=hn(p,ge,o,o,o,o,o,m);return I.placeholder=sp.placeholder,I}function Zh(p,m,R){m=R?o:m;var I=hn(p,ae,o,o,o,o,o,m);return I.placeholder=Zh.placeholder,I}function ap(p,m,R){var I,W,te,pe,Ee,be,Dt=0,Tt=!1,Ot=!1,on=!0;if(typeof p!="function")throw new $r(E);m=vl(m)||0,Iu(R)&&(Tt=!!R.leading,Ot="maxWait"in R,te=Ot?ei(vl(R.maxWait)||0,m):te,on="trailing"in R?!!R.trailing:on);function Mn(s0){var Os=I,Co=W;return I=W=o,Dt=s0,pe=p.apply(Co,Os),pe}function rr(s0){return Dt=s0,Ee=Qa(ri,m),Tt?Mn(s0):pe}function br(s0){var Os=s0-be,Co=s0-Dt,kv=m-Os;return Ot?Kn(kv,te-Co):kv}function ar(s0){var Os=s0-be,Co=s0-Dt;return be===o||Os>=m||Os<0||Ot&&Co>=te}function ri(){var s0=E1();if(ar(s0))return fi(s0);Ee=Qa(ri,br(s0))}function fi(s0){return Ee=o,on&&I?Mn(s0):(I=W=o,pe)}function zl(){Ee!==o&&Zc(Ee),Dt=0,I=be=W=Ee=o}function Zi(){return Ee===o?pe:fi(E1())}function so(){var s0=E1(),Os=ar(s0);if(I=arguments,W=this,be=s0,Os){if(Ee===o)return rr(be);if(Ot)return Zc(Ee),Ee=Qa(ri,m),Mn(be)}return Ee===o&&(Ee=Qa(ri,m)),pe}return so.cancel=zl,so.flush=Zi,so}var $h=Ir(function(p,m){return dc(p,1,m)}),ev=Ir(function(p,m,R){return dc(p,vl(m)||0,R)});function fp(p){return hn(p,Ae)}function xd(p,m){if(typeof p!="function"||m!=null&&typeof m!="function")throw new $r(E);var R=function(){var I=arguments,W=m?m.apply(this,I):I[0],te=R.cache;if(te.has(W))return te.get(W);var pe=p.apply(this,I);return R.cache=te.set(W,pe)||te,pe};return R.cache=new(xd.Cache||U0),R}xd.Cache=U0;function Rd(p){if(typeof p!="function")throw new $r(E);return function(){var m=arguments;switch(m.length){case 0:return!p.call(this);case 1:return!p.call(this,m[0]);case 2:return!p.call(this,m[0],m[1]);case 3:return!p.call(this,m[0],m[1],m[2])}return!p.apply(this,m)}}function H0(p){return Cd(2,p)}var Ad=O2(function(p,m){m=m.length==1&&tr(m[0])?Ft(m[0],gi(Vn())):Ft(Wi(m,1),gi(Vn()));var R=m.length;return Ir(function(I){for(var W=-1,te=Kn(I.length,R);++W=m}),pl=i0(function(){return arguments}())?i0:function(p){return Gu(p)&&ui.call(p,"callee")&&!B0.call(p,"callee")},tr=Ke.isArray,Qs=_e?gi(_e):Ge;function hl(p){return p!=null&&Ld(p.length)&&!xa(p)}function o0(p){return Gu(p)&&hl(p)}function rv(p){return p===!0||p===!1||Gu(p)&&yt(p)==an}var Js=no||Bp,vp=Oe?gi(Oe):je;function Fm(p){return Gu(p)&&p.nodeType===1&&!Cc(p)}function iv(p){if(p==null)return!0;if(hl(p)&&(tr(p)||typeof p=="string"||typeof p.splice=="function"||Js(p)||Ra(p)||pl(p)))return!p.length;var m=Pu(p);if(m==S||m==Xt)return!p.size;if(Nf(p))return!Wa(p).length;for(var R in p)if(ui.call(p,R))return!1;return!0}function mp(p,m){return st(p,m)}function Pm(p,m,R){R=typeof R=="function"?R:o;var I=R?R(p,m):o;return I===o?st(p,m,o,R):!!I}function yp(p){if(!Gu(p))return!1;var m=yt(p);return m==ln||m==lr||typeof p.message=="string"&&typeof p.name=="string"&&!Cc(p)}function Tc(p){return typeof p=="number"&&nu(p)}function xa(p){if(!Iu(p))return!1;var m=yt(p);return m==Vt||m==Er||m==nn||m==fr}function gp(p){return typeof p=="number"&&p==Mr(p)}function Ld(p){return typeof p=="number"&&p>-1&&p%1==0&&p<=Jt}function Iu(p){var m=typeof p;return p!=null&&(m=="object"||m=="function")}function Gu(p){return p!=null&&typeof p=="object"}var _p=$?gi($):Wn;function Ep(p,m){return p===m||oi(p,m,jn(m))}function uv(p,m,R){return R=typeof R=="function"?R:o,oi(p,m,jn(m),R)}function Im(p){return ov(p)&&p!=+p}function bm(p){if(Ll(p))throw new Kt(h);return ur(p)}function Bm(p){return p===null}function Fd(p){return p==null}function ov(p){return typeof p=="number"||Gu(p)&&yt(p)==zt}function Cc(p){if(!Gu(p)||yt(p)!=vr)return!1;var m=il(p);if(m===null)return!0;var R=ui.call(m,"constructor")&&m.constructor;return typeof R=="function"&&R instanceof R&&Lu.call(R)==sa}var w1=Ne?gi(Ne):ai;function Um(p){return gp(p)&&p>=-Jt&&p<=Jt}var Pd=Je?gi(Je):Qi;function S1(p){return typeof p=="string"||!tr(p)&&Gu(p)&&yt(p)==Du}function Bl(p){return typeof p=="symbol"||Gu(p)&&yt(p)==c0}var Ra=vt?gi(vt):Vr;function lv(p){return p===o}function jm(p){return Gu(p)&&Pu(p)==Jo}function sv(p){return Gu(p)&&yt(p)==Fs}var av=md(od),zm=md(function(p,m){return p<=m});function fv(p){if(!p)return[];if(hl(p))return S1(p)?Zr(p):iu(p);if(Fu&&p[Fu])return Xu(p[Fu]());var m=Pu(p),R=m==S?Su:m==Xt?$0:Nc;return R(p)}function Aa(p){if(!p)return p===0?p:0;if(p=vl(p),p===Pt||p===-Pt){var m=p<0?-1:1;return m*it}return p===p?p:0}function Mr(p){var m=Aa(p),R=m%1;return m===m?R?m-R:m:0}function Dp(p){return p?n0(Mr(p),0,ce):0}function vl(p){if(typeof p=="number")return p;if(Bl(p))return J;if(Iu(p)){var m=typeof p.valueOf=="function"?p.valueOf():p;p=Iu(m)?m+"":m}if(typeof p!="string")return p===0?p:+p;p=Nu(p);var R=ao.test(p);return R||No.test(p)?Bs(p.slice(2),R?2:8):li.test(p)?J:+p}function yu(p){return M0(p,dn(p))}function T1(p){return p?n0(Mr(p),-Jt,Jt):p===0?p:0}function Ui(p){return p==null?"":al(p)}var wp=uo(function(p,m){if(Nf(m)||hl(m)){M0(m,N0(m),p);return}for(var R in m)ui.call(m,R)&&Ss(p,R,m[R])}),Id=uo(function(p,m){M0(m,dn(m),p)}),To=uo(function(p,m,R,I){M0(m,dn(m),p,I)}),As=uo(function(p,m,R,I){M0(m,N0(m),p,I)}),bf=cl(qa);function bd(p,m){var R=ti(p);return m==null?R:Ef(R,m)}var Sp=Ir(function(p,m){p=bn(p);var R=-1,I=m.length,W=I>2?m[2]:o;for(W&&lo(m[0],m[1],W)&&(I=1);++R1),te}),M0(p,sr(p),R),I&&(R=j0(R,x|j|q,fm));for(var W=m.length;W--;)x2(R,m[W]);return R});function A1(p,m){return ef(p,Rd(Vn(m)))}var xp=cl(function(p,m){return p==null?{}:vh(p,m)});function ef(p,m){if(p==null)return{};var R=Ft(sr(p),function(I){return[I]});return m=Vn(m),mh(p,R,function(I,W){return m(I,W[0])})}function Hm(p,m,R){m=Ws(m,p);var I=-1,W=m.length;for(W||(W=1,p=o);++Im){var I=p;p=m,m=I}if(R||p%1||m%1){var W=_0();return Kn(p+W*(m-p+ba("1e-"+((W+"").length-1))),m)}return ad(p,m)}var Wd=Cf(function(p,m,R){return m=m.toLowerCase(),p+(R?Wo(m):m)});function Wo(p){return Op(Ui(p).toLowerCase())}function Vd(p){return p=Ui(p),p&&p.replace($n,Io).replace(J0,"")}function Wm(p,m,R){p=Ui(p),m=al(m);var I=p.length;R=R===o?I:n0(Mr(R),0,I);var W=R;return R-=m.length,R>=0&&p.slice(R,W)==m}function k1(p){return p=Ui(p),p&&Ps.test(p)?p.replace(su,ys):p}function Vm(p){return p=Ui(p),p&&en.test(p)?p.replace(mi,"\\$&"):p}var Gm=Cf(function(p,m,R){return p+(R?"-":"")+m.toLowerCase()}),dv=Cf(function(p,m,R){return p+(R?" ":"")+m.toLowerCase()}),Ym=wh("toLowerCase");function pv(p,m,R){p=Ui(p),m=Mr(m);var I=m?tu(p):0;if(!m||I>=m)return p;var W=(m-I)/2;return ga(Es(W),R)+p+ga(Zu(W),R)}function Km(p,m,R){p=Ui(p),m=Mr(m);var I=m?tu(p):0;return m&&I>>0,R?(p=Ui(p),p&&(typeof m=="string"||m!=null&&!w1(m))&&(m=al(m),!m&&Bo(p))?va(Zr(p),0,R):p.split(m,R)):[]}var zf=Cf(function(p,m,R){return p+(R?" ":"")+Op(m)});function vv(p,m,R){return p=Ui(p),R=R==null?0:n0(Mr(R),0,p.length),m=al(m),p.slice(R,R+m.length)==m}function mv(p,m,R){var I=K.templateSettings;R&&lo(p,m,R)&&(m=o),p=Ui(p),m=To({},m,I,Rf);var W=To({},m.imports,I.imports,Rf),te=N0(W),pe=Po(W,te),Ee,be,Dt=0,Tt=m.interpolate||tl,Ot="__p += '",on=mu((m.escape||tl).source+"|"+Tt.source+"|"+(Tt===d0?Xl:tl).source+"|"+(m.evaluate||tl).source+"|$","g"),Mn="//# sourceURL="+(ui.call(m,"sourceURL")?(m.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ac+"]")+` +`;p.replace(on,function(ar,ri,fi,zl,Zi,so){return fi||(fi=zl),Ot+=p.slice(Dt,so).replace(fo,js),ri&&(Ee=!0,Ot+=`' + +__e(`+ri+`) + +'`),Zi&&(be=!0,Ot+=`'; `+Zi+`; -__p += '`),di&&(At+=`' + -((__t = (`+di+`)) == null ? '' : __t) + -'`),Et=lo+ar.length,ar}),At+=`'; -`;var rr=li.call(v,"variable")&&v.variable;if(!rr)At=`with (obj) { -`+At+` +__p += '`),fi&&(Ot+=`' + +((__t = (`+fi+`)) == null ? '' : __t) + +'`),Dt=so+ar.length,ar}),Ot+=`'; +`;var rr=ui.call(m,"variable")&&m.variable;if(!rr)Ot=`with (obj) { +`+Ot+` } -`;else if(X0.test(rr))throw new Kt(t);At=(Ie?At.replace(Xr,""):At).replace(Ao,"$1").replace(Oo,"$1;"),At="function("+(rr||"obj")+`) { +`;else if(Q0.test(rr))throw new Kt(t);Ot=(be?Ot.replace(Kr,""):Ot).replace(Oo,"$1").replace(Mo,"$1;"),Ot="function("+(rr||"obj")+`) { `+(rr?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(_e?", __e = _.escape":"")+(Ie?`, __j = Array.prototype.join; +`)+"var __t, __p = ''"+(Ee?", __e = _.escape":"")+(be?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; -`)+At+`return __p -}`;var br=_v(function(){return pr(ee,kn+"return "+At).apply(i,de)});if(br.source=At,gp(br))throw br;return br}function hv(d){return Ui(d).toLowerCase()}function Yd(d){return Ui(d).toUpperCase()}function Kd(d,v,x){if(d=Ui(d),d&&(x||v===i))return Lu(d);if(!d||!(v=sl(v)))return d;var P=ei(d),q=ei(v),ee=hf(P,q),de=Sl(P,q)+1;return va(P,ee,de).join("")}function Op(d,v,x){if(d=Ui(d),d&&(x||v===i))return d.slice(0,po(d)+1);if(!d||!(v=sl(v)))return d;var P=ei(d),q=Sl(P,ei(v))+1;return va(P,0,q).join("")}function vv(d,v,x){if(d=Ui(d),d&&(x||v===i))return d.replace(bn,"");if(!d||!(v=sl(v)))return d;var P=ei(d),q=hf(P,ei(v));return va(P,q).join("")}function Xd(d,v){var x=je,P=qe;if(bu(v)){var q="separator"in v?v.separator:q;x="length"in v?Mr(v.length):x,P="omission"in v?sl(v.omission):P}d=Ui(d);var ee=d.length;if(bo(d)){var de=ei(d);ee=de.length}if(x>=ee)return d;var _e=x-tu(P);if(_e<1)return P;var Ie=de?va(de,0,_e).join(""):d.slice(0,_e);if(q===i)return Ie+P;if(de&&(_e+=Ie.length-_e),D1(q)){if(d.slice(_e).search(q)){var Et,St=Ie;for(q.global||(q=yu(q.source,Ui(Mo.exec(q))+"g")),q.lastIndex=0;Et=q.exec(St);)var At=Et.index;Ie=Ie.slice(0,At===i?_e:At)}}else if(d.indexOf(sl(q),_e)!=_e){var on=Ie.lastIndexOf(q);on>-1&&(Ie=Ie.slice(0,on))}return Ie+P}function mv(d){return d=Ui(d),d&&ki.test(d)?d.replace(F0,Bi):d}var yv=Cf(function(d,v,x){return d+(x?" ":"")+v.toUpperCase()}),Mp=_h("toUpperCase");function gv(d,v,x){return d=Ui(d),v=x?i:v,v===i?gs(d)?yf(d):g0(d):d.match(v)||[]}var _v=Ir(function(d,v){try{return ue(d,i,v)}catch(x){return gp(x)?x:new Kt(x)}}),Gm=fl(function(d,v){return nt(v,function(x){x=Ll(x),Gu(d,x,E1(d[x],d))}),d});function Ev(d){var v=d==null?0:d.length,x=Vn();return d=v?Lt(d,function(P){if(typeof P[1]!="function")throw new ti(_);return[x(P[0]),P[1]]}):[],Ir(function(P){for(var q=-1;++qJt)return[];var x=fe,P=Kn(d,fe);v=Vn(v),d-=fe;for(var q=T0(P,v);++x0||v<0)?new at(x):(d<0?x=x.takeRight(-d):d&&(x=x.drop(d)),v!==i&&(v=Mr(v),x=v<0?x.dropRight(-v):x.take(v-d)),x)},at.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},at.prototype.toArray=function(){return this.take(fe)},R(at.prototype,function(d,v){var x=/^(?:filter|find|map|reject)|While$/.test(v),P=/^(?:head|last)$/.test(v),q=Y[P?"take"+(v=="last"?"Right":""):v],ee=P||/^find/.test(v);!q||(Y.prototype[v]=function(){var de=this.__wrapped__,_e=P?[1]:arguments,Ie=de instanceof at,Et=_e[0],St=Ie||tr(de),At=function(ui){var di=q.apply(Y,Dn([ui],_e));return P&&on?di[0]:di};St&&x&&typeof Et=="function"&&Et.length!=1&&(Ie=St=!1);var on=this.__chain__,kn=!!this.__actions__.length,rr=ee&&!on,br=Ie&&!kn;if(!ee&&St){de=br?de:new at(this);var ar=d.apply(de,_e);return ar.__actions__.push({func:y1,args:[At],thisArg:i}),new Vr(ar,on)}return rr&&br?d.apply(this,_e):(ar=this.thru(At),rr?P?ar.value()[0]:ar.value():ar)})}),nt(["pop","push","shift","sort","splice","unshift"],function(d){var v=Jr[d],x=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",P=/^(?:pop|shift)$/.test(d);Y.prototype[d]=function(){var q=arguments;if(P&&!this.__chain__){var ee=this.value();return v.apply(tr(ee)?ee:[],q)}return this[x](function(de){return v.apply(tr(de)?de:[],q)})}}),R(at.prototype,function(d,v){var x=Y[v];if(x){var P=x.name+"";li.call(On,P)||(On[P]=[]),On[P].push({name:v,func:x})}}),On[ya(i,he).name]=[{name:"wrapper",func:i}],at.prototype.clone=Di,at.prototype.reverse=ru,at.prototype.value=D0,Y.prototype.at=Z2,Y.prototype.chain=jh,Y.prototype.commit=$2,Y.prototype.next=zh,Y.prototype.plant=pm,Y.prototype.reverse=Pf,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=If,Y.prototype.first=Y.prototype.head,Pu&&(Y.prototype[Pu]=dm),Y},eo=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(ji._=eo,define(function(){return eo})):z?((z.exports=eo)._=eo,B._=eo):ji._=eo}).call(zv)});var QE=tt((lH,XE)=>{"use strict";var Pi=XE.exports;XE.exports.default=Pi;var Du="[",Ly="]",Hv="\x07",w_=";",$8=process.env.TERM_PROGRAM==="Apple_Terminal";Pi.cursorTo=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof o!="number"?Du+(i+1)+"G":Du+(o+1)+";"+(i+1)+"H"};Pi.cursorMove=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let a="";return i<0?a+=Du+-i+"D":i>0&&(a+=Du+i+"C"),o<0?a+=Du+-o+"A":o>0&&(a+=Du+o+"B"),a};Pi.cursorUp=(i=1)=>Du+i+"A";Pi.cursorDown=(i=1)=>Du+i+"B";Pi.cursorForward=(i=1)=>Du+i+"C";Pi.cursorBackward=(i=1)=>Du+i+"D";Pi.cursorLeft=Du+"G";Pi.cursorSavePosition=$8?"7":Du+"s";Pi.cursorRestorePosition=$8?"8":Du+"u";Pi.cursorGetPosition=Du+"6n";Pi.cursorNextLine=Du+"E";Pi.cursorPrevLine=Du+"F";Pi.cursorHide=Du+"?25l";Pi.cursorShow=Du+"?25h";Pi.eraseLines=i=>{let o="";for(let a=0;a[Ly,"8",w_,w_,o,Hv,i,Ly,"8",w_,w_,Hv].join("");Pi.image=(i,o={})=>{let a=`${Ly}1337;File=inline=1`;return o.width&&(a+=`;width=${o.width}`),o.height&&(a+=`;height=${o.height}`),o.preserveAspectRatio===!1&&(a+=";preserveAspectRatio=0"),a+":"+i.toString("base64")+Hv};Pi.iTerm={setCwd:(i=process.cwd())=>`${Ly}50;CurrentDir=${i}${Hv}`,annotation:(i,o={})=>{let a=`${Ly}1337;`,p=typeof o.x!="undefined",_=typeof o.y!="undefined";if((p||_)&&!(p&&_&&typeof o.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),a+=o.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",o.length>0?a+=(p?[i,o.length,o.x,o.y]:[o.length,i]).join("|"):a+=i,a+Hv}}});var tS=tt((sH,JE)=>{"use strict";var eS=(i,o)=>{for(let a of Reflect.ownKeys(o))Object.defineProperty(i,a,Object.getOwnPropertyDescriptor(o,a));return i};JE.exports=eS;JE.exports.default=eS});var rS=tt((aH,S_)=>{"use strict";var vP=tS(),T_=new WeakMap,nS=(i,o={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let a,p=0,_=i.displayName||i.name||"",t=function(...k){if(T_.set(t,++p),p===1)a=i.apply(this,k),i=null;else if(o.throw===!0)throw new Error(`Function \`${_}\` can only be called once`);return a};return vP(t,i),T_.set(t,p),t};S_.exports=nS;S_.exports.default=nS;S_.exports.callCount=i=>{if(!T_.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return T_.get(i)}});var iS=tt((fH,C_)=>{C_.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&C_.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&C_.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var tD=tt((cH,Fy)=>{var mP=require("assert"),Py=iS(),yP=/^win/i.test(process.platform),x_=require("events");typeof x_!="function"&&(x_=x_.EventEmitter);var Gl;process.__signal_exit_emitter__?Gl=process.__signal_exit_emitter__:(Gl=process.__signal_exit_emitter__=new x_,Gl.count=0,Gl.emitted={});Gl.infinite||(Gl.setMaxListeners(Infinity),Gl.infinite=!0);Fy.exports=function(i,o){mP.equal(typeof i,"function","a callback must be provided for exit handler"),Iy===!1&&uS();var a="exit";o&&o.alwaysLast&&(a="afterexit");var p=function(){Gl.removeListener(a,i),Gl.listeners("exit").length===0&&Gl.listeners("afterexit").length===0&&ZE()};return Gl.on(a,i),p};Fy.exports.unload=ZE;function ZE(){!Iy||(Iy=!1,Py.forEach(function(i){try{process.removeListener(i,$E[i])}catch(o){}}),process.emit=eD,process.reallyExit=oS,Gl.count-=1)}function qv(i,o,a){Gl.emitted[i]||(Gl.emitted[i]=!0,Gl.emit(i,o,a))}var $E={};Py.forEach(function(i){$E[i]=function(){var a=process.listeners(i);a.length===Gl.count&&(ZE(),qv("exit",null,i),qv("afterexit",null,i),yP&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});Fy.exports.signals=function(){return Py};Fy.exports.load=uS;var Iy=!1;function uS(){Iy||(Iy=!0,Gl.count+=1,Py=Py.filter(function(i){try{return process.on(i,$E[i]),!0}catch(o){return!1}}),process.emit=_P,process.reallyExit=gP)}var oS=process.reallyExit;function gP(i){process.exitCode=i||0,qv("exit",process.exitCode,null),qv("afterexit",process.exitCode,null),oS.call(process,process.exitCode)}var eD=process.emit;function _P(i,o){if(i==="exit"){o!==void 0&&(process.exitCode=o);var a=eD.apply(this,arguments);return qv("exit",process.exitCode,null),qv("afterexit",process.exitCode,null),a}else return eD.apply(this,arguments)}});var sS=tt((dH,lS)=>{"use strict";var EP=rS(),DP=tD();lS.exports=EP(()=>{DP(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var nD=tt(Wv=>{"use strict";var wP=sS(),R_=!1;Wv.show=(i=process.stderr)=>{!i.isTTY||(R_=!1,i.write("[?25h"))};Wv.hide=(i=process.stderr)=>{!i.isTTY||(wP(),R_=!0,i.write("[?25l"))};Wv.toggle=(i,o)=>{i!==void 0&&(R_=i),R_?Wv.show(o):Wv.hide(o)}});var dS=tt(by=>{"use strict";var aS=by&&by.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(by,"__esModule",{value:!0});var fS=aS(QE()),cS=aS(nD()),SP=(i,{showCursor:o=!1}={})=>{let a=0,p="",_=!1,t=k=>{!o&&!_&&(cS.default.hide(),_=!0);let L=k+` -`;L!==p&&(p=L,i.write(fS.default.eraseLines(a)+L),a=L.split(` -`).length)};return t.clear=()=>{i.write(fS.default.eraseLines(a)),p="",a=0},t.done=()=>{p="",a=0,o||(cS.default.show(),_=!1)},t};by.default={create:SP}});var hS=tt((vH,pS)=>{pS.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var yS=tt(Fa=>{"use strict";var vS=hS(),Uc=process.env;Object.defineProperty(Fa,"_vendors",{value:vS.map(function(i){return i.constant})});Fa.name=null;Fa.isPR=null;vS.forEach(function(i){var o=Array.isArray(i.env)?i.env:[i.env],a=o.every(function(p){return mS(p)});if(Fa[i.constant]=a,a)switch(Fa.name=i.name,typeof i.pr){case"string":Fa.isPR=!!Uc[i.pr];break;case"object":"env"in i.pr?Fa.isPR=i.pr.env in Uc&&Uc[i.pr.env]!==i.pr.ne:"any"in i.pr?Fa.isPR=i.pr.any.some(function(p){return!!Uc[p]}):Fa.isPR=mS(i.pr);break;default:Fa.isPR=null}});Fa.isCI=!!(Uc.CI||Uc.CONTINUOUS_INTEGRATION||Uc.BUILD_NUMBER||Uc.RUN_ID||Fa.name);function mS(i){return typeof i=="string"?!!Uc[i]:Object.keys(i).every(function(o){return Uc[o]===i[o]})}});var _S=tt((yH,gS)=>{"use strict";gS.exports=yS().isCI});var DS=tt((gH,ES)=>{"use strict";var TP=i=>{let o=new Set;do for(let a of Reflect.ownKeys(i))o.add([i,a]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return o};ES.exports=(i,{include:o,exclude:a}={})=>{let p=_=>{let t=k=>typeof k=="string"?_===k:k.test(_);return o?o.some(t):a?!a.some(t):!0};for(let[_,t]of TP(i.constructor.prototype)){if(t==="constructor"||!p(t))continue;let k=Reflect.getOwnPropertyDescriptor(_,t);k&&typeof k.value=="function"&&(i[t]=i[t].bind(i))}return i}});var AS=tt(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var Vv,By,A_,O_,rD;typeof window=="undefined"||typeof MessageChannel!="function"?(Gv=null,iD=null,uD=function(){if(Gv!==null)try{var i=ou.unstable_now();Gv(!0,i),Gv=null}catch(o){throw setTimeout(uD,0),o}},wS=Date.now(),ou.unstable_now=function(){return Date.now()-wS},Vv=function(i){Gv!==null?setTimeout(Vv,0,i):(Gv=i,setTimeout(uD,0))},By=function(i,o){iD=setTimeout(i,o)},A_=function(){clearTimeout(iD)},O_=function(){return!1},rD=ou.unstable_forceFrameRate=function(){}):(M_=window.performance,oD=window.Date,SS=window.setTimeout,TS=window.clearTimeout,typeof console!="undefined"&&(CS=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof CS!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof M_=="object"&&typeof M_.now=="function"?ou.unstable_now=function(){return M_.now()}:(xS=oD.now(),ou.unstable_now=function(){return oD.now()-xS}),Uy=!1,jy=null,k_=-1,lD=5,sD=0,O_=function(){return ou.unstable_now()>=sD},rD=function(){},ou.unstable_forceFrameRate=function(i){0>i||125L_(k,a))O!==void 0&&0>L_(O,k)?(i[p]=O,i[L]=a,p=L):(i[p]=k,i[t]=a,p=t);else if(O!==void 0&&0>L_(O,a))i[p]=O,i[L]=a,p=L;else break e}}return o}return null}function L_(i,o){var a=i.sortIndex-o.sortIndex;return a!==0?a:i.id-o.id}var $f=[],c2=[],CP=1,Ls=null,ds=3,P_=!1,Zp=!1,zy=!1;function I_(i){for(var o=cf(c2);o!==null;){if(o.callback===null)F_(c2);else if(o.startTime<=i)F_(c2),o.sortIndex=o.expirationTime,fD($f,o);else break;o=cf(c2)}}function cD(i){if(zy=!1,I_(i),!Zp)if(cf($f)!==null)Zp=!0,Vv(dD);else{var o=cf(c2);o!==null&&By(cD,o.startTime-i)}}function dD(i,o){Zp=!1,zy&&(zy=!1,A_()),P_=!0;var a=ds;try{for(I_(o),Ls=cf($f);Ls!==null&&(!(Ls.expirationTime>o)||i&&!O_());){var p=Ls.callback;if(p!==null){Ls.callback=null,ds=Ls.priorityLevel;var _=p(Ls.expirationTime<=o);o=ou.unstable_now(),typeof _=="function"?Ls.callback=_:Ls===cf($f)&&F_($f),I_(o)}else F_($f);Ls=cf($f)}if(Ls!==null)var t=!0;else{var k=cf(c2);k!==null&&By(cD,k.startTime-o),t=!1}return t}finally{Ls=null,ds=a,P_=!1}}function RS(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var xP=rD;ou.unstable_ImmediatePriority=1;ou.unstable_UserBlockingPriority=2;ou.unstable_NormalPriority=3;ou.unstable_IdlePriority=5;ou.unstable_LowPriority=4;ou.unstable_runWithPriority=function(i,o){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var a=ds;ds=i;try{return o()}finally{ds=a}};ou.unstable_next=function(i){switch(ds){case 1:case 2:case 3:var o=3;break;default:o=ds}var a=ds;ds=o;try{return i()}finally{ds=a}};ou.unstable_scheduleCallback=function(i,o,a){var p=ou.unstable_now();if(typeof a=="object"&&a!==null){var _=a.delay;_=typeof _=="number"&&0<_?p+_:p,a=typeof a.timeout=="number"?a.timeout:RS(i)}else a=RS(i),_=p;return a=_+a,i={id:CP++,callback:o,priorityLevel:i,startTime:_,expirationTime:a,sortIndex:-1},_>p?(i.sortIndex=_,fD(c2,i),cf($f)===null&&i===cf(c2)&&(zy?A_():zy=!0,By(cD,_-p))):(i.sortIndex=a,fD($f,i),Zp||P_||(Zp=!0,Vv(dD))),i};ou.unstable_cancelCallback=function(i){i.callback=null};ou.unstable_wrapCallback=function(i){var o=ds;return function(){var a=ds;ds=o;try{return i.apply(this,arguments)}finally{ds=a}}};ou.unstable_getCurrentPriorityLevel=function(){return ds};ou.unstable_shouldYield=function(){var i=ou.unstable_now();I_(i);var o=cf($f);return o!==Ls&&Ls!==null&&o!==null&&o.callback!==null&&o.startTime<=i&&o.expirationTime{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});var i=!1,o=!1,a=!0,p,_,t,k,L;if(typeof window=="undefined"||typeof MessageChannel!="function"){var O=null,C=null,U=function(){if(O!==null)try{var wt=Ii.unstable_now(),bt=!0;O(bt,wt),O=null}catch(Hn){throw setTimeout(U,0),Hn}},H=Date.now();Ii.unstable_now=function(){return Date.now()-H},p=function(wt){O!==null?setTimeout(p,0,wt):(O=wt,setTimeout(U,0))},_=function(wt,bt){C=setTimeout(wt,bt)},t=function(){clearTimeout(C)},k=function(){return!1},L=Ii.unstable_forceFrameRate=function(){}}else{var W=window.performance,ne=window.Date,m=window.setTimeout,he=window.clearTimeout;if(typeof console!="undefined"){var Ee=window.requestAnimationFrame,ve=window.cancelAnimationFrame;typeof Ee!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof ve!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if(typeof W=="object"&&typeof W.now=="function")Ii.unstable_now=function(){return W.now()};else{var se=ne.now();Ii.unstable_now=function(){return ne.now()-se}}var De=!1,pe=null,me=-1,ie=5,Oe=0,je=300,qe=!1;if(o&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var yt=navigator.scheduling;k=function(){var wt=Ii.unstable_now();return wt>=Oe?qe||yt.isInputPending()?!0:wt>=je:!1},L=function(){qe=!0}}else k=function(){return Ii.unstable_now()>=Oe},L=function(){};Ii.unstable_forceFrameRate=function(wt){if(wt<0||wt>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported");return}wt>0?ie=Math.floor(1e3/wt):ie=5};var gt=function(){if(pe!==null){var wt=Ii.unstable_now();Oe=wt+ie;var bt=!0;try{var Hn=pe(bt,wt);Hn?ut.postMessage(null):(De=!1,pe=null)}catch(qr){throw ut.postMessage(null),qr}}else De=!1;qe=!1},Xe=new MessageChannel,ut=Xe.port2;Xe.port1.onmessage=gt,p=function(wt){pe=wt,De||(De=!0,ut.postMessage(null))},_=function(wt,bt){me=m(function(){wt(Ii.unstable_now())},bt)},t=function(){he(me),me=-1}}function We(wt,bt){var Hn=wt.length;wt.push(bt),rt(wt,bt,Hn)}function Ft(wt){var bt=wt[0];return bt===void 0?null:bt}function Jt(wt){var bt=wt[0];if(bt!==void 0){var Hn=wt.pop();return Hn!==bt&&(wt[0]=Hn,Q(wt,Hn,0)),bt}else return null}function rt(wt,bt,Hn){for(var qr=Hn;;){var Ki=Math.floor((qr-1)/2),Qr=wt[Ki];if(Qr!==void 0&&fe(Qr,bt)>0)wt[Ki]=bt,wt[qr]=Qr,qr=Ki;else return}}function Q(wt,bt,Hn){for(var qr=Hn,Ki=wt.length;qrfr){if(fr*=2,fr>jr){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),Dr();return}var Hn=new Int32Array(fr*4);Hn.set(Xt),zr=Hn.buffer,Xt=Hn}Xt.set(wt,bt)}}function mi(){fr=vr,zr=new ArrayBuffer(fr*4),Xt=new Int32Array(zr),wu=0}function Dr(){var wt=zr;return fr=0,zr=null,Xt=null,wu=0,wt}function $o(wt,bt){a&&(Vt[Xn]++,Xt!==null&&lu([d0,bt*1e3,wt.id,wt.priorityLevel]))}function G0(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[Xn]--,Xt!==null&&lu([Ro,bt*1e3,wt.id]))}function Uu(wt,bt){a&&(Vt[Xn]--,Xt!==null&&lu([Fs,bt*1e3,wt.id]))}function Y0(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[Xn]--,Xt!==null&&lu([Qo,bt*1e3,wt.id]))}function Xr(wt,bt){a&&(an++,Vt[Er]=wt.priorityLevel,Vt[w]=wt.id,Vt[jt]=an,Xt!==null&&lu([Jo,bt*1e3,wt.id,an]))}function Ao(wt,bt){a&&(Vt[Er]=xe,Vt[w]=0,Vt[jt]=0,Xt!==null&&lu([Zo,bt*1e3,wt.id,an]))}function Oo(wt){a&&(Mn++,Xt!==null&&lu([qt,wt*1e3,Mn]))}function F0(wt){a&&Xt!==null&&lu([xi,wt*1e3,Mn])}var su=1073741823,ki=-1,Ps=250,Kl=5e3,P0=1e4,p0=su,Hr=[],Ri=[],K0=1,yi=!1,en=null,bn=ct,Ai=!1,gi=!1,Wt=!1;function Au(wt){for(var bt=Ft(Ri);bt!==null;){if(bt.callback===null)Jt(Ri);else if(bt.startTime<=wt)Jt(Ri),bt.sortIndex=bt.expirationTime,We(Hr,bt),a&&($o(bt,wt),bt.isQueued=!0);else return;bt=Ft(Ri)}}function eu(wt){if(Wt=!1,Au(wt),!gi)if(Ft(Hr)!==null)gi=!0,p(X0);else{var bt=Ft(Ri);bt!==null&&_(eu,bt.startTime-wt)}}function X0(wt,bt){a&&F0(bt),gi=!1,Wt&&(Wt=!1,t()),Ai=!0;var Hn=bn;try{if(a)try{return Yi(wt,bt)}catch(Qr){if(en!==null){var qr=Ii.unstable_now();Y0(en,qr),en.isQueued=!1}throw Qr}else return Yi(wt,bt)}finally{if(en=null,bn=Hn,Ai=!1,a){var Ki=Ii.unstable_now();Oo(Ki)}}}function Yi(wt,bt){var Hn=bt;for(Au(Hn),en=Ft(Hr);en!==null&&!(i&&yi)&&!(en.expirationTime>Hn&&(!wt||k()));){var qr=en.callback;if(qr!==null){en.callback=null,bn=en.priorityLevel;var Ki=en.expirationTime<=Hn;Xr(en,Hn);var Qr=qr(Ki);Hn=Ii.unstable_now(),typeof Qr=="function"?(en.callback=Qr,Ao(en,Hn)):(a&&(G0(en,Hn),en.isQueued=!1),en===Ft(Hr)&&Jt(Hr)),Au(Hn)}else Jt(Hr);en=Ft(Hr)}if(en!==null)return!0;var Ou=Ft(Ri);return Ou!==null&&_(eu,Ou.startTime-Hn),!1}function Xl(wt,bt){switch(wt){case oe:case ze:case ct:case Rt:case nn:break;default:wt=ct}var Hn=bn;bn=wt;try{return bt()}finally{bn=Hn}}function Mo(wt){var bt;switch(bn){case oe:case ze:case ct:bt=ct;break;default:bt=bn;break}var Hn=bn;bn=bt;try{return wt()}finally{bn=Hn}}function ai(wt){var bt=bn;return function(){var Hn=bn;bn=bt;try{return wt.apply(this,arguments)}finally{bn=Hn}}}function so(wt){switch(wt){case oe:return ki;case ze:return Ps;case nn:return p0;case Rt:return P0;case ct:default:return Kl}}function Ql(wt,bt,Hn){var qr=Ii.unstable_now(),Ki,Qr;if(typeof Hn=="object"&&Hn!==null){var Ou=Hn.delay;typeof Ou=="number"&&Ou>0?Ki=qr+Ou:Ki=qr,Qr=typeof Hn.timeout=="number"?Hn.timeout:so(wt)}else Qr=so(wt),Ki=qr;var h0=Ki+Qr,Ni={id:K0++,callback:bt,priorityLevel:wt,startTime:Ki,expirationTime:h0,sortIndex:-1};return a&&(Ni.isQueued=!1),Ki>qr?(Ni.sortIndex=Ki,We(Ri,Ni),Ft(Hr)===null&&Ni===Ft(Ri)&&(Wt?t():Wt=!0,_(eu,Ki-qr))):(Ni.sortIndex=h0,We(Hr,Ni),a&&($o(Ni,qr),Ni.isQueued=!0),!gi&&!Ai&&(gi=!0,p(X0))),Ni}function ko(){yi=!0}function Is(){yi=!1,!gi&&!Ai&&(gi=!0,p(X0))}function $n(){return Ft(Hr)}function el(wt){if(a&&wt.isQueued){var bt=Ii.unstable_now();Uu(wt,bt),wt.isQueued=!1}wt.callback=null}function ao(){return bn}function I0(){var wt=Ii.unstable_now();Au(wt);var bt=Ft(Hr);return bt!==en&&en!==null&&bt!==null&&bt.callback!==null&&bt.startTime<=wt&&bt.expirationTime{"use strict";process.env.NODE_ENV==="production"?pD.exports=AS():pD.exports=OS()});var MS=tt((wH,Hy)=>{Hy.exports=function i(o){"use strict";var a=Oy(),p=Mi(),_=b_();function t(g){for(var y="https://reactjs.org/docs/error-decoder.html?invariant="+g,R=1;RK0||(g.current=Ri[K0],Ri[K0]=null,K0--)}function en(g,y){K0++,Ri[K0]=g.current,g.current=y}var bn={},Ai={current:bn},gi={current:!1},Wt=bn;function Au(g,y){var R=g.type.contextTypes;if(!R)return bn;var F=g.stateNode;if(F&&F.__reactInternalMemoizedUnmaskedChildContext===y)return F.__reactInternalMemoizedMaskedChildContext;var b={},J;for(J in R)b[J]=y[J];return F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=y,g.__reactInternalMemoizedMaskedChildContext=b),b}function eu(g){return g=g.childContextTypes,g!=null}function X0(g){yi(gi,g),yi(Ai,g)}function Yi(g){yi(gi,g),yi(Ai,g)}function Xl(g,y,R){if(Ai.current!==bn)throw Error(t(168));en(Ai,y,g),en(gi,R,g)}function Mo(g,y,R){var F=g.stateNode;if(g=y.childContextTypes,typeof F.getChildContext!="function")return R;F=F.getChildContext();for(var b in F)if(!(b in g))throw Error(t(108,je(y)||"Unknown",b));return a({},R,{},F)}function ai(g){var y=g.stateNode;return y=y&&y.__reactInternalMemoizedMergedChildContext||bn,Wt=Ai.current,en(Ai,y,g),en(gi,gi.current,g),!0}function so(g,y,R){var F=g.stateNode;if(!F)throw Error(t(169));R?(y=Mo(g,y,Wt),F.__reactInternalMemoizedMergedChildContext=y,yi(gi,g),yi(Ai,g),en(Ai,y,g)):yi(gi,g),en(gi,R,g)}var Ql=_.unstable_runWithPriority,ko=_.unstable_scheduleCallback,Is=_.unstable_cancelCallback,$n=_.unstable_shouldYield,el=_.unstable_requestPaint,ao=_.unstable_now,I0=_.unstable_getCurrentPriorityLevel,wl=_.unstable_ImmediatePriority,No=_.unstable_UserBlockingPriority,wt=_.unstable_NormalPriority,bt=_.unstable_LowPriority,Hn=_.unstable_IdlePriority,qr={},Ki=el!==void 0?el:function(){},Qr=null,Ou=null,h0=!1,Ni=ao(),v0=1e4>Ni?ao:function(){return ao()-Ni};function hs(){switch(I0()){case wl:return 99;case No:return 98;case wt:return 97;case bt:return 96;case Hn:return 95;default:throw Error(t(332))}}function Tt(g){switch(g){case 99:return wl;case 98:return No;case 97:return wt;case 96:return bt;case 95:return Hn;default:throw Error(t(332))}}function fo(g,y){return g=Tt(g),Ql(g,y)}function tl(g,y,R){return g=Tt(g),ko(g,y,R)}function Jl(g){return Qr===null?(Qr=[g],Ou=ko(wl,vs)):Qr.push(g),qr}function ju(){if(Ou!==null){var g=Ou;Ou=null,Is(g)}vs()}function vs(){if(!h0&&Qr!==null){h0=!0;var g=0;try{var y=Qr;fo(99,function(){for(;g=y&&(po=!0),g.firstContext=null)}function ku(g,y){if(Mu!==g&&y!==!1&&y!==0)if((typeof y!="number"||y===1073741823)&&(Mu=g,y=1073741823),y={context:g,observedBits:y,next:null},Si===null){if(cr===null)throw Error(t(308));Si=y,cr.dependencies={expirationTime:0,firstContext:y,responders:null}}else Si=Si.next=y;return ln?g._currentValue:g._currentValue2}var co=!1;function qu(g){return{baseState:g,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Pa(g){return{baseState:g.baseState,firstUpdate:g.firstUpdate,lastUpdate:g.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function m0(g,y){return{expirationTime:g,suspenseConfig:y,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function ia(g,y){g.lastUpdate===null?g.firstUpdate=g.lastUpdate=y:(g.lastUpdate.next=y,g.lastUpdate=y)}function Q0(g,y){var R=g.alternate;if(R===null){var F=g.updateQueue,b=null;F===null&&(F=g.updateQueue=qu(g.memoizedState))}else F=g.updateQueue,b=R.updateQueue,F===null?b===null?(F=g.updateQueue=qu(g.memoizedState),b=R.updateQueue=qu(R.memoizedState)):F=g.updateQueue=Pa(b):b===null&&(b=R.updateQueue=Pa(F));b===null||F===b?ia(F,y):F.lastUpdate===null||b.lastUpdate===null?(ia(F,y),ia(b,y)):(ia(F,y),b.lastUpdate=y)}function ua(g,y){var R=g.updateQueue;R=R===null?g.updateQueue=qu(g.memoizedState):Ia(g,R),R.lastCapturedUpdate===null?R.firstCapturedUpdate=R.lastCapturedUpdate=y:(R.lastCapturedUpdate.next=y,R.lastCapturedUpdate=y)}function Ia(g,y){var R=g.alternate;return R!==null&&y===R.updateQueue&&(y=g.updateQueue=Pa(y)),y}function ms(g,y,R,F,b,J){switch(R.tag){case 1:return g=R.payload,typeof g=="function"?g.call(J,F,b):g;case 3:g.effectTag=g.effectTag&-4097|64;case 0:if(g=R.payload,b=typeof g=="function"?g.call(J,F,b):g,b==null)break;return a({},F,b);case 2:co=!0}return F}function S0(g,y,R,F,b){co=!1,y=Ia(g,y);for(var J=y.baseState,ce=null,mt=0,xt=y.firstUpdate,kt=J;xt!==null;){var xr=xt.expirationTime;xrci?(Qi=ur,ur=null):Qi=ur.sibling;var Gr=cu(Ve,ur,lt[ci],$t);if(Gr===null){ur===null&&(ur=Qi);break}g&&ur&&Gr.alternate===null&&y(Ve,ur),Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr,ur=Qi}if(ci===lt.length)return R(Ve,ur),Wn;if(ur===null){for(;cici?(Qi=ur,ur=null):Qi=ur.sibling;var Cu=cu(Ve,ur,Gr.value,$t);if(Cu===null){ur===null&&(ur=Qi);break}g&&ur&&Cu.alternate===null&&y(Ve,ur),Ue=J(Cu,Ue,ci),si===null?Wn=Cu:si.sibling=Cu,si=Cu,ur=Qi}if(Gr.done)return R(Ve,ur),Wn;if(ur===null){for(;!Gr.done;ci++,Gr=lt.next())Gr=i0(Ve,Gr.value,$t),Gr!==null&&(Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr);return Wn}for(ur=F(Ve,ur);!Gr.done;ci++,Gr=lt.next())Gr=z0(ur,Ve,ci,Gr.value,$t),Gr!==null&&(g&&Gr.alternate!==null&&ur.delete(Gr.key===null?ci:Gr.key),Ue=J(Gr,Ue,ci),si===null?Wn=Gr:si.sibling=Gr,si=Gr);return g&&ur.forEach(function(Wa){return y(Ve,Wa)}),Wn}return function(Ve,Ue,lt,$t){var Wn=typeof lt=="object"&<!==null&<.type===U&<.key===null;Wn&&(lt=lt.props.children);var si=typeof lt=="object"&<!==null;if(si)switch(lt.$$typeof){case O:e:{for(si=lt.key,Wn=Ue;Wn!==null;){if(Wn.key===si)if(Wn.tag===7?lt.type===U:Wn.elementType===lt.type){R(Ve,Wn.sibling),Ue=b(Wn,lt.type===U?lt.props.children:lt.props,$t),Ue.ref=Us(Ve,Wn,lt),Ue.return=Ve,Ve=Ue;break e}else{R(Ve,Wn);break}else y(Ve,Wn);Wn=Wn.sibling}lt.type===U?(Ue=r0(lt.props.children,Ve.mode,$t,lt.key),Ue.return=Ve,Ve=Ue):($t=qa(lt.type,lt.key,lt.props,null,Ve.mode,$t),$t.ref=Us(Ve,Ue,lt),$t.return=Ve,Ve=$t)}return ce(Ve);case C:e:{for(Wn=lt.key;Ue!==null;){if(Ue.key===Wn)if(Ue.tag===4&&Ue.stateNode.containerInfo===lt.containerInfo&&Ue.stateNode.implementation===lt.implementation){R(Ve,Ue.sibling),Ue=b(Ue,lt.children||[],$t),Ue.return=Ve,Ve=Ue;break e}else{R(Ve,Ue);break}else y(Ve,Ue);Ue=Ue.sibling}Ue=Df(lt,Ve.mode,$t),Ue.return=Ve,Ve=Ue}return ce(Ve)}if(typeof lt=="string"||typeof lt=="number")return lt=""+lt,Ue!==null&&Ue.tag===6?(R(Ve,Ue.sibling),Ue=b(Ue,lt,$t),Ue.return=Ve,Ve=Ue):(R(Ve,Ue),Ue=j0(lt,Ve.mode,$t),Ue.return=Ve,Ve=Ue),ce(Ve);if(y0(lt))return Ol(Ve,Ue,lt,$t);if(ie(lt))return u0(Ve,Ue,lt,$t);if(si&&ji(Ve,lt),typeof lt=="undefined"&&!Wn)switch(Ve.tag){case 1:case 0:throw Ve=Ve.type,Error(t(152,Ve.displayName||Ve.name||"Component"))}return R(Ve,Ue)}}var z=B(!0),G=B(!1),$={},Te={current:$},ge={current:$},Re={current:$};function Z(g){if(g===$)throw Error(t(174));return g}function ke(g,y){en(Re,y,g),en(ge,g,g),en(Te,$,g),y=Ft(y),yi(Te,g),en(Te,y,g)}function Qe(g){yi(Te,g),yi(ge,g),yi(Re,g)}function ht(g){var y=Z(Re.current),R=Z(Te.current);y=Jt(R,g.type,y),R!==y&&(en(ge,g,g),en(Te,y,g))}function ue(g){ge.current===g&&(yi(Te,g),yi(ge,g))}var He={current:0};function nt(g){for(var y=g;y!==null;){if(y.tag===13){var R=y.memoizedState;if(R!==null&&(R=R.dehydrated,R===null||Xr(R)||Ao(R)))return y}else if(y.tag===19&&y.memoizedProps.revealOrder!==void 0){if((y.effectTag&64)!=0)return y}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break;for(;y.sibling===null;){if(y.return===null||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}return null}function Ct(g,y){return{responder:g,props:y}}var Mt=k.ReactCurrentDispatcher,It=k.ReactCurrentBatchConfig,sn=0,rn=null,Lt=null,Dn=null,dr=null,er=null,Cr=null,An=0,Nr=null,g0=0,Lr=!1,it=null,Dt=0;function $e(){throw Error(t(321))}function Pt(g,y){if(y===null)return!1;for(var R=0;RAn&&(An=xr,Ua(An))):(cc(xr,xt.suspenseConfig),J=xt.eagerReducer===g?xt.eagerState:g(J,xt.action)),ce=xt,xt=xt.next}while(xt!==null&&xt!==F);kt||(mt=ce,b=J),Le(J,y.memoizedState)||(po=!0),y.memoizedState=J,y.baseUpdate=mt,y.baseState=b,R.lastRenderedState=J}return[y.memoizedState,R.dispatch]}function T0(g){var y=Jn();return typeof g=="function"&&(g=g()),y.memoizedState=y.baseState=g,g=y.queue={last:null,dispatch:null,lastRenderedReducer:au,lastRenderedState:g},g=g.dispatch=js.bind(null,rn,g),[y.memoizedState,g]}function J0(g){return Nu(au,g)}function Lu(g,y,R,F){return g={tag:g,create:y,destroy:R,deps:F,next:null},Nr===null?(Nr={lastEffect:null},Nr.lastEffect=g.next=g):(y=Nr.lastEffect,y===null?Nr.lastEffect=g.next=g:(R=y.next,y.next=g,g.next=R,Nr.lastEffect=g)),g}function _i(g,y,R,F){var b=Jn();g0|=g,b.memoizedState=Lu(y,R,void 0,F===void 0?null:F)}function Fo(g,y,R,F){var b=wr();F=F===void 0?null:F;var J=void 0;if(Lt!==null){var ce=Lt.memoizedState;if(J=ce.destroy,F!==null&&Pt(F,ce.deps)){Lu(0,R,J,F);return}}g0|=g,b.memoizedState=Lu(y,R,J,F)}function nl(g,y){return _i(516,192,g,y)}function hf(g,y){return Fo(516,192,g,y)}function Sl(g,y){if(typeof y=="function")return g=g(),y(g),function(){y(null)};if(y!=null)return g=g(),y.current=g,function(){y.current=null}}function vf(){}function Po(g,y){return Jn().memoizedState=[g,y===void 0?null:y],g}function ys(g,y){var R=wr();y=y===void 0?null:y;var F=R.memoizedState;return F!==null&&y!==null&&Pt(y,F[1])?F[0]:(R.memoizedState=[g,y],g)}function js(g,y,R){if(!(25>Dt))throw Error(t(301));var F=g.alternate;if(g===rn||F!==null&&F===rn)if(Lr=!0,g={expirationTime:sn,suspenseConfig:null,action:R,eagerReducer:null,eagerState:null,next:null},it===null&&(it=new Map),R=it.get(y),R===void 0)it.set(y,g);else{for(y=R;y.next!==null;)y=y.next;y.next=g}else{var b=D0(),J=fi.suspense;b=Un(b,g,J),J={expirationTime:b,suspenseConfig:J,action:R,eagerReducer:null,eagerState:null,next:null};var ce=y.last;if(ce===null)J.next=J;else{var mt=ce.next;mt!==null&&(J.next=mt),ce.next=J}if(y.last=J,g.expirationTime===0&&(F===null||F.expirationTime===0)&&(F=y.lastRenderedReducer,F!==null))try{var xt=y.lastRenderedState,kt=F(xt,R);if(J.eagerReducer=F,J.eagerState=kt,Le(kt,xt))return}catch(xr){}finally{}t0(g,b)}}var Io={readContext:ku,useCallback:$e,useContext:$e,useEffect:$e,useImperativeHandle:$e,useLayoutEffect:$e,useMemo:$e,useReducer:$e,useRef:$e,useState:$e,useDebugValue:$e,useResponder:$e,useDeferredValue:$e,useTransition:$e},bo={readContext:ku,useCallback:Po,useContext:ku,useEffect:nl,useImperativeHandle:function(g,y,R){return R=R!=null?R.concat([g]):null,_i(4,36,Sl.bind(null,y,g),R)},useLayoutEffect:function(g,y){return _i(4,36,g,y)},useMemo:function(g,y){var R=Jn();return y=y===void 0?null:y,g=g(),R.memoizedState=[g,y],g},useReducer:function(g,y,R){var F=Jn();return y=R!==void 0?R(y):y,F.memoizedState=F.baseState=y,g=F.queue={last:null,dispatch:null,lastRenderedReducer:g,lastRenderedState:y},g=g.dispatch=js.bind(null,rn,g),[F.memoizedState,g]},useRef:function(g){var y=Jn();return g={current:g},y.memoizedState=g},useState:T0,useDebugValue:vf,useResponder:Ct,useDeferredValue:function(g,y){var R=T0(g),F=R[0],b=R[1];return nl(function(){_.unstable_next(function(){var J=It.suspense;It.suspense=y===void 0?null:y;try{b(g)}finally{It.suspense=J}})},[g,y]),F},useTransition:function(g){var y=T0(!1),R=y[0],F=y[1];return[Po(function(b){F(!0),_.unstable_next(function(){var J=It.suspense;It.suspense=g===void 0?null:g;try{F(!1),b()}finally{It.suspense=J}})},[g,R]),R]}},gs={readContext:ku,useCallback:ys,useContext:ku,useEffect:hf,useImperativeHandle:function(g,y,R){return R=R!=null?R.concat([g]):null,Fo(4,36,Sl.bind(null,y,g),R)},useLayoutEffect:function(g,y){return Fo(4,36,g,y)},useMemo:function(g,y){var R=wr();y=y===void 0?null:y;var F=R.memoizedState;return F!==null&&y!==null&&Pt(y,F[1])?F[0]:(g=g(),R.memoizedState=[g,y],g)},useReducer:Nu,useRef:function(){return wr().memoizedState},useState:J0,useDebugValue:vf,useResponder:Ct,useDeferredValue:function(g,y){var R=J0(g),F=R[0],b=R[1];return hf(function(){_.unstable_next(function(){var J=It.suspense;It.suspense=y===void 0?null:y;try{b(g)}finally{It.suspense=J}})},[g,y]),F},useTransition:function(g){var y=J0(!1),R=y[0],F=y[1];return[ys(function(b){F(!0),_.unstable_next(function(){var J=It.suspense;It.suspense=g===void 0?null:g;try{F(!1),b()}finally{It.suspense=J}})},[g,R]),R]}},Qu=null,Tu=null,Ei=!1;function C0(g,y){var R=zo(5,null,null,0);R.elementType="DELETED",R.type="DELETED",R.stateNode=y,R.return=g,R.effectTag=8,g.lastEffect!==null?(g.lastEffect.nextEffect=R,g.lastEffect=R):g.firstEffect=g.lastEffect=R}function Z0(g,y){switch(g.tag){case 5:return y=Uu(y,g.type,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 6:return y=Y0(y,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 13:return!1;default:return!1}}function Bo(g){if(Ei){var y=Tu;if(y){var R=y;if(!Z0(g,y)){if(y=Oo(R),!y||!Z0(g,y)){g.effectTag=g.effectTag&-1025|2,Ei=!1,Qu=g;return}C0(Qu,R)}Qu=g,Tu=F0(y)}else g.effectTag=g.effectTag&-1025|2,Ei=!1,Qu=g}}function la(g){for(g=g.return;g!==null&&g.tag!==5&&g.tag!==3&&g.tag!==13;)g=g.return;Qu=g}function $l(g){if(!w||g!==Qu)return!1;if(!Ei)return la(g),Ei=!0,!1;var y=g.type;if(g.tag!==5||y!=="head"&&y!=="body"&&!ct(y,g.memoizedProps))for(y=Tu;y;)C0(g,y),y=Oo(y);if(la(g),g.tag===13){if(!w)throw Error(t(316));if(g=g.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(t(317));Tu=Ps(g)}else Tu=Qu?Oo(g.stateNode):null;return!0}function tu(){w&&(Tu=Qu=null,Ei=!1)}var ei=k.ReactCurrentOwner,po=!1;function Bi(g,y,R,F){y.child=g===null?G(y,null,R,F):z(y,g.child,R,F)}function Ci(g,y,R,F,b){R=R.render;var J=y.ref;return Lo(y,b),F=un(g,y,R,F,J,b),g!==null&&!po?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=b&&(g.expirationTime=0),yu(g,y,b)):(y.effectTag|=1,Bi(g,y,F,b),y.child)}function mf(g,y,R,F,b,J){if(g===null){var ce=R.type;return typeof ce=="function"&&!Ef(ce)&&ce.defaultProps===void 0&&R.compare===null&&R.defaultProps===void 0?(y.tag=15,y.type=ce,yf(g,y,ce,F,b,J)):(g=qa(R.type,null,F,null,y.mode,J),g.ref=y.ref,g.return=y,y.child=g)}return ce=g.child,by)&&Vr.set(g,y)))}}function no(g,y){g.expirationTimeg?y:g)}function n0(g){if(g.lastExpiredTime!==0)g.callbackExpirationTime=1073741823,g.callbackPriority=99,g.callbackNode=Jl(ro.bind(null,g));else{var y=vo(g),R=g.callbackNode;if(y===0)R!==null&&(g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90);else{var F=D0();if(y===1073741823?F=99:y===1||y===2?F=95:(F=10*(1073741821-y)-10*(1073741821-F),F=0>=F?99:250>=F?98:5250>=F?97:95),R!==null){var b=g.callbackPriority;if(g.callbackExpirationTime===y&&b>=F)return;R!==qr&&Is(R)}g.callbackExpirationTime=y,g.callbackPriority=F,y=y===1073741823?Jl(ro.bind(null,g)):tl(F,Uo.bind(null,g),{timeout:10*(1073741821-y)-v0()}),g.callbackNode=y}}}function Uo(g,y){if(ru=0,y)return y=D0(),da(g,y),n0(g),null;var R=vo(g);if(R!==0){if(y=g.callbackNode,(Fn&(nu|fu))!==Rr)throw Error(t(327));if(qs(),g===ae&&R===Fe||Ds(g,R),re!==null){var F=Fn;Fn|=nu;var b=U0(g);do try{nd();break}catch(mt){fa(g,mt)}while(1);if(zu(),Fn=F,$u.current=b,Ae===ni)throw y=st,Ds(g,R),Al(g,R),n0(g),y;if(re===null)switch(b=g.finishedWork=g.current.alternate,g.finishedExpirationTime=R,F=Ae,ae=null,F){case Li:case ni:throw Error(t(345));case Kn:da(g,2=R){g.lastPingedTime=R,Ds(g,R);break}}if(J=vo(g),J!==0&&J!==R)break;if(F!==0&&F!==R){g.lastPingedTime=F;break}g.timeoutHandle=an(xl.bind(null,g),b);break}xl(g);break;case _0:if(Al(g,R),F=g.lastSuspendedTime,R===F&&(g.nextKnownPendingLevel=Hc(b)),_n&&(b=g.lastPingedTime,b===0||b>=R)){g.lastPingedTime=R,Ds(g,R);break}if(b=vo(g),b!==0&&b!==R)break;if(F!==0&&F!==R){g.lastPingedTime=F;break}if(Qt!==1073741823?F=10*(1073741821-Qt)-v0():vt===1073741823?F=0:(F=10*(1073741821-vt)-5e3,b=v0(),R=10*(1073741821-R)-b,F=b-F,0>F&&(F=0),F=(120>F?120:480>F?480:1080>F?1080:1920>F?1920:3e3>F?3e3:4320>F?4320:1960*gf(F/1960))-F,R=F?F=0:(b=ce.busyDelayMs|0,J=v0()-(10*(1073741821-J)-(ce.timeoutMs|0||5e3)),F=J<=b?0:b+F-J),10=te)return p;var Ee=R-tu(I);if(Ee<1)return I;var be=pe?va(pe,0,Ee).join(""):p.slice(0,Ee);if(W===o)return be+I;if(pe&&(Ee+=be.length-Ee),w1(W)){if(p.slice(Ee).search(W)){var Dt,Tt=be;for(W.global||(W=mu(W.source,Ui(ko.exec(W))+"g")),W.lastIndex=0;Dt=W.exec(Tt);)var Ot=Dt.index;be=be.slice(0,Ot===o?Ee:Ot)}}else if(p.indexOf(al(W),Ee)!=Ee){var on=be.lastIndexOf(W);on>-1&&(be=be.slice(0,on))}return be+I}function _v(p){return p=Ui(p),p&&ki.test(p)?p.replace(F0,Bi):p}var Ev=Cf(function(p,m,R){return p+(R?" ":"")+m.toUpperCase()}),Op=wh("toUpperCase");function Dv(p,m,R){return p=Ui(p),m=R?o:m,m===o?gs(p)?yf(p):y0(p):p.match(m)||[]}var wv=Ir(function(p,m){try{return oe(p,o,m)}catch(R){return yp(R)?R:new Kt(R)}}),$m=cl(function(p,m){return rt(m,function(R){R=Fl(R),Vu(p,R,D1(p[R],p))}),p});function Sv(p){var m=p==null?0:p.length,R=Vn();return p=m?Ft(p,function(I){if(typeof I[1]!="function")throw new $r(E);return[R(I[0]),I[1]]}):[],Ir(function(I){for(var W=-1;++WJt)return[];var R=ce,I=Kn(p,ce);m=Vn(m),p-=ce;for(var W=T0(I,m);++R0||m<0)?new ft(R):(p<0?R=R.takeRight(-p):p&&(R=R.drop(p)),m!==o&&(m=Mr(m),R=m<0?R.dropRight(-m):R.take(m-p)),R)},ft.prototype.takeRightWhile=function(p){return this.reverse().takeWhile(p).reverse()},ft.prototype.toArray=function(){return this.take(ce)},A(ft.prototype,function(p,m){var R=/^(?:filter|find|map|reject)|While$/.test(m),I=/^(?:head|last)$/.test(m),W=K[I?"take"+(m=="last"?"Right":""):m],te=I||/^find/.test(m);!W||(K.prototype[m]=function(){var pe=this.__wrapped__,Ee=I?[1]:arguments,be=pe instanceof ft,Dt=Ee[0],Tt=be||tr(pe),Ot=function(ri){var fi=W.apply(K,Dn([ri],Ee));return I&&on?fi[0]:fi};Tt&&R&&typeof Dt=="function"&&Dt.length!=1&&(be=Tt=!1);var on=this.__chain__,Mn=!!this.__actions__.length,rr=te&&!on,br=be&&!Mn;if(!te&&Tt){pe=br?pe:new ft(this);var ar=p.apply(pe,Ee);return ar.__actions__.push({func:g1,args:[Ot],thisArg:o}),new Wr(ar,on)}return rr&&br?p.apply(this,Ee):(ar=this.thru(Ot),rr?I?ar.value()[0]:ar.value():ar)})}),rt(["pop","push","shift","sort","splice","unshift"],function(p){var m=Qr[p],R=/^(?:push|sort|unshift)$/.test(p)?"tap":"thru",I=/^(?:pop|shift)$/.test(p);K.prototype[p]=function(){var W=arguments;if(I&&!this.__chain__){var te=this.value();return m.apply(tr(te)?te:[],W)}return this[R](function(pe){return m.apply(tr(pe)?pe:[],W)})}}),A(ft.prototype,function(p,m){var R=K[m];if(R){var I=R.name+"";ui.call(An,I)||(An[I]=[]),An[I].push({name:m,func:R})}}),An[ya(o,me).name]=[{name:"wrapper",func:o}],ft.prototype.clone=Di,ft.prototype.reverse=ru,ft.prototype.value=E0,K.prototype.at=J2,K.prototype.chain=qh,K.prototype.commit=Z2,K.prototype.next=Wh,K.prototype.plant=Em,K.prototype.reverse=Pf,K.prototype.toJSON=K.prototype.valueOf=K.prototype.value=If,K.prototype.first=K.prototype.head,Fu&&(K.prototype[Fu]=_m),K},to=eo();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(zi._=to,define(function(){return to})):H?((H.exports=to)._=to,U._=to):zi._=to}).call(Wv)});var ZE=nt((tH,JE)=>{"use strict";var Pi=JE.exports;JE.exports.default=Pi;var Eu="\x1B[",Uy="\x1B]",Vv="\x07",T_=";",aS=process.env.TERM_PROGRAM==="Apple_Terminal";Pi.cursorTo=(o,l)=>{if(typeof o!="number")throw new TypeError("The `x` argument is required");return typeof l!="number"?Eu+(o+1)+"G":Eu+(l+1)+";"+(o+1)+"H"};Pi.cursorMove=(o,l)=>{if(typeof o!="number")throw new TypeError("The `x` argument is required");let f="";return o<0?f+=Eu+-o+"D":o>0&&(f+=Eu+o+"C"),l<0?f+=Eu+-l+"A":l>0&&(f+=Eu+l+"B"),f};Pi.cursorUp=(o=1)=>Eu+o+"A";Pi.cursorDown=(o=1)=>Eu+o+"B";Pi.cursorForward=(o=1)=>Eu+o+"C";Pi.cursorBackward=(o=1)=>Eu+o+"D";Pi.cursorLeft=Eu+"G";Pi.cursorSavePosition=aS?"\x1B7":Eu+"s";Pi.cursorRestorePosition=aS?"\x1B8":Eu+"u";Pi.cursorGetPosition=Eu+"6n";Pi.cursorNextLine=Eu+"E";Pi.cursorPrevLine=Eu+"F";Pi.cursorHide=Eu+"?25l";Pi.cursorShow=Eu+"?25h";Pi.eraseLines=o=>{let l="";for(let f=0;f[Uy,"8",T_,T_,l,Vv,o,Uy,"8",T_,T_,Vv].join("");Pi.image=(o,l={})=>{let f=`${Uy}1337;File=inline=1`;return l.width&&(f+=`;width=${l.width}`),l.height&&(f+=`;height=${l.height}`),l.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+o.toString("base64")+Vv};Pi.iTerm={setCwd:(o=process.cwd())=>`${Uy}50;CurrentDir=${o}${Vv}`,annotation:(o,l={})=>{let f=`${Uy}1337;`,h=typeof l.x<"u",E=typeof l.y<"u";if((h||E)&&!(h&&E&&typeof l.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return o=o.replace(/\|/g,""),f+=l.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",l.length>0?f+=(h?[o,l.length,l.x,l.y]:[l.length,o]).join("|"):f+=o,f+Vv}}});var cS=nt((nH,$E)=>{"use strict";var fS=(o,l)=>{for(let f of Reflect.ownKeys(l))Object.defineProperty(o,f,Object.getOwnPropertyDescriptor(l,f));return o};$E.exports=fS;$E.exports.default=fS});var pS=nt((rH,x_)=>{"use strict";var fP=cS(),C_=new WeakMap,dS=(o,l={})=>{if(typeof o!="function")throw new TypeError("Expected a function");let f,h=0,E=o.displayName||o.name||"",t=function(...N){if(C_.set(t,++h),h===1)f=o.apply(this,N),o=null;else if(l.throw===!0)throw new Error(`Function \`${E}\` can only be called once`);return f};return fP(t,o),C_.set(t,h),t};x_.exports=dS;x_.exports.default=dS;x_.exports.callCount=o=>{if(!C_.has(o))throw new Error(`The given function \`${o.name}\` is not wrapped by the \`onetime\` package`);return C_.get(o)}});var hS=nt((iH,R_)=>{R_.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&R_.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&R_.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var nD=nt((uH,Kv)=>{var w0=global.process,Jp=function(o){return o&&typeof o=="object"&&typeof o.removeListener=="function"&&typeof o.emit=="function"&&typeof o.reallyExit=="function"&&typeof o.listeners=="function"&&typeof o.kill=="function"&&typeof o.pid=="number"&&typeof o.on=="function"};Jp(w0)?(vS=hi("assert"),Gv=hS(),mS=/^win/i.test(w0.platform),jy=hi("events"),typeof jy!="function"&&(jy=jy.EventEmitter),w0.__signal_exit_emitter__?wl=w0.__signal_exit_emitter__:(wl=w0.__signal_exit_emitter__=new jy,wl.count=0,wl.emitted={}),wl.infinite||(wl.setMaxListeners(1/0),wl.infinite=!0),Kv.exports=function(o,l){if(!Jp(global.process))return function(){};vS.equal(typeof o,"function","a callback must be provided for exit handler"),Yv===!1&&eD();var f="exit";l&&l.alwaysLast&&(f="afterexit");var h=function(){wl.removeListener(f,o),wl.listeners("exit").length===0&&wl.listeners("afterexit").length===0&&A_()};return wl.on(f,o),h},A_=function(){!Yv||!Jp(global.process)||(Yv=!1,Gv.forEach(function(l){try{w0.removeListener(l,O_[l])}catch{}}),w0.emit=M_,w0.reallyExit=tD,wl.count-=1)},Kv.exports.unload=A_,Zp=function(l,f,h){wl.emitted[l]||(wl.emitted[l]=!0,wl.emit(l,f,h))},O_={},Gv.forEach(function(o){O_[o]=function(){if(!!Jp(global.process)){var f=w0.listeners(o);f.length===wl.count&&(A_(),Zp("exit",null,o),Zp("afterexit",null,o),mS&&o==="SIGHUP"&&(o="SIGINT"),w0.kill(w0.pid,o))}}}),Kv.exports.signals=function(){return Gv},Yv=!1,eD=function(){Yv||!Jp(global.process)||(Yv=!0,wl.count+=1,Gv=Gv.filter(function(l){try{return w0.on(l,O_[l]),!0}catch{return!1}}),w0.emit=gS,w0.reallyExit=yS)},Kv.exports.load=eD,tD=w0.reallyExit,yS=function(l){!Jp(global.process)||(w0.exitCode=l||0,Zp("exit",w0.exitCode,null),Zp("afterexit",w0.exitCode,null),tD.call(w0,w0.exitCode))},M_=w0.emit,gS=function(l,f){if(l==="exit"&&Jp(global.process)){f!==void 0&&(w0.exitCode=f);var h=M_.apply(this,arguments);return Zp("exit",w0.exitCode,null),Zp("afterexit",w0.exitCode,null),h}else return M_.apply(this,arguments)}):Kv.exports=function(){return function(){}};var vS,Gv,mS,jy,wl,A_,Zp,O_,Yv,eD,tD,yS,M_,gS});var ES=nt((oH,_S)=>{"use strict";var cP=pS(),dP=nD();_S.exports=cP(()=>{dP(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var rD=nt(Xv=>{"use strict";var pP=ES(),k_=!1;Xv.show=(o=process.stderr)=>{!o.isTTY||(k_=!1,o.write("\x1B[?25h"))};Xv.hide=(o=process.stderr)=>{!o.isTTY||(pP(),k_=!0,o.write("\x1B[?25l"))};Xv.toggle=(o,l)=>{o!==void 0&&(k_=o),k_?Xv.show(l):Xv.hide(l)}});var TS=nt(zy=>{"use strict";var SS=zy&&zy.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(zy,"__esModule",{value:!0});var DS=SS(ZE()),wS=SS(rD()),hP=(o,{showCursor:l=!1}={})=>{let f=0,h="",E=!1,t=N=>{!l&&!E&&(wS.default.hide(),E=!0);let F=N+` +`;F!==h&&(h=F,o.write(DS.default.eraseLines(f)+F),f=F.split(` +`).length)};return t.clear=()=>{o.write(DS.default.eraseLines(f)),h="",f=0},t.done=()=>{h="",f=0,l||(wS.default.show(),E=!1)},t};zy.default={create:hP}});var CS=nt((aH,vP)=>{vP.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var AS=nt(Fa=>{"use strict";var RS=CS(),Uc=process.env;Object.defineProperty(Fa,"_vendors",{value:RS.map(function(o){return o.constant})});Fa.name=null;Fa.isPR=null;RS.forEach(function(o){var l=Array.isArray(o.env)?o.env:[o.env],f=l.every(function(h){return xS(h)});if(Fa[o.constant]=f,f)switch(Fa.name=o.name,typeof o.pr){case"string":Fa.isPR=!!Uc[o.pr];break;case"object":"env"in o.pr?Fa.isPR=o.pr.env in Uc&&Uc[o.pr.env]!==o.pr.ne:"any"in o.pr?Fa.isPR=o.pr.any.some(function(h){return!!Uc[h]}):Fa.isPR=xS(o.pr);break;default:Fa.isPR=null}});Fa.isCI=!!(Uc.CI||Uc.CONTINUOUS_INTEGRATION||Uc.BUILD_NUMBER||Uc.RUN_ID||Fa.name);function xS(o){return typeof o=="string"?!!Uc[o]:Object.keys(o).every(function(l){return Uc[l]===o[l]})}});var MS=nt((cH,OS)=>{"use strict";OS.exports=AS().isCI});var NS=nt((dH,kS)=>{"use strict";var mP=o=>{let l=new Set;do for(let f of Reflect.ownKeys(o))l.add([o,f]);while((o=Reflect.getPrototypeOf(o))&&o!==Object.prototype);return l};kS.exports=(o,{include:l,exclude:f}={})=>{let h=E=>{let t=N=>typeof N=="string"?E===N:N.test(E);return l?l.some(t):f?!f.some(t):!0};for(let[E,t]of mP(o.constructor.prototype)){if(t==="constructor"||!h(t))continue;let N=Reflect.getOwnPropertyDescriptor(E,t);N&&typeof N.value=="function"&&(o[t]=o[t].bind(o))}return o}});var jS=nt(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});var Jv,Wy,I_,b_,fD;typeof window>"u"||typeof MessageChannel!="function"?(Qv=null,iD=null,uD=function(){if(Qv!==null)try{var o=ou.unstable_now();Qv(!0,o),Qv=null}catch(l){throw setTimeout(uD,0),l}},LS=Date.now(),ou.unstable_now=function(){return Date.now()-LS},Jv=function(o){Qv!==null?setTimeout(Jv,0,o):(Qv=o,setTimeout(uD,0))},Wy=function(o,l){iD=setTimeout(o,l)},I_=function(){clearTimeout(iD)},b_=function(){return!1},fD=ou.unstable_forceFrameRate=function(){}):(N_=window.performance,oD=window.Date,PS=window.setTimeout,IS=window.clearTimeout,typeof console<"u"&&(bS=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof bS!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof N_=="object"&&typeof N_.now=="function"?ou.unstable_now=function(){return N_.now()}:(BS=oD.now(),ou.unstable_now=function(){return oD.now()-BS}),Hy=!1,qy=null,L_=-1,lD=5,sD=0,b_=function(){return ou.unstable_now()>=sD},fD=function(){},ou.unstable_forceFrameRate=function(o){0>o||125P_(N,f))k!==void 0&&0>P_(k,N)?(o[h]=k,o[F]=f,h=F):(o[h]=N,o[t]=f,h=t);else if(k!==void 0&&0>P_(k,f))o[h]=k,o[F]=f,h=F;else break e}}return l}return null}function P_(o,l){var f=o.sortIndex-l.sortIndex;return f!==0?f:o.id-l.id}var $f=[],f2=[],yP=1,Ls=null,ds=3,U_=!1,$p=!1,Vy=!1;function j_(o){for(var l=cf(f2);l!==null;){if(l.callback===null)B_(f2);else if(l.startTime<=o)B_(f2),l.sortIndex=l.expirationTime,cD($f,l);else break;l=cf(f2)}}function dD(o){if(Vy=!1,j_(o),!$p)if(cf($f)!==null)$p=!0,Jv(pD);else{var l=cf(f2);l!==null&&Wy(dD,l.startTime-o)}}function pD(o,l){$p=!1,Vy&&(Vy=!1,I_()),U_=!0;var f=ds;try{for(j_(l),Ls=cf($f);Ls!==null&&(!(Ls.expirationTime>l)||o&&!b_());){var h=Ls.callback;if(h!==null){Ls.callback=null,ds=Ls.priorityLevel;var E=h(Ls.expirationTime<=l);l=ou.unstable_now(),typeof E=="function"?Ls.callback=E:Ls===cf($f)&&B_($f),j_(l)}else B_($f);Ls=cf($f)}if(Ls!==null)var t=!0;else{var N=cf(f2);N!==null&&Wy(dD,N.startTime-l),t=!1}return t}finally{Ls=null,ds=f,U_=!1}}function US(o){switch(o){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var gP=fD;ou.unstable_ImmediatePriority=1;ou.unstable_UserBlockingPriority=2;ou.unstable_NormalPriority=3;ou.unstable_IdlePriority=5;ou.unstable_LowPriority=4;ou.unstable_runWithPriority=function(o,l){switch(o){case 1:case 2:case 3:case 4:case 5:break;default:o=3}var f=ds;ds=o;try{return l()}finally{ds=f}};ou.unstable_next=function(o){switch(ds){case 1:case 2:case 3:var l=3;break;default:l=ds}var f=ds;ds=l;try{return o()}finally{ds=f}};ou.unstable_scheduleCallback=function(o,l,f){var h=ou.unstable_now();if(typeof f=="object"&&f!==null){var E=f.delay;E=typeof E=="number"&&0h?(o.sortIndex=E,cD(f2,o),cf($f)===null&&o===cf(f2)&&(Vy?I_():Vy=!0,Wy(dD,E-h))):(o.sortIndex=f,cD($f,o),$p||U_||($p=!0,Jv(pD))),o};ou.unstable_cancelCallback=function(o){o.callback=null};ou.unstable_wrapCallback=function(o){var l=ds;return function(){var f=ds;ds=l;try{return o.apply(this,arguments)}finally{ds=f}}};ou.unstable_getCurrentPriorityLevel=function(){return ds};ou.unstable_shouldYield=function(){var o=ou.unstable_now();j_(o);var l=cf($f);return l!==Ls&&Ls!==null&&l!==null&&l.callback!==null&&l.startTime<=o&&l.expirationTime{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});var o=!1,l=!1,f=!0,h,E,t,N,F;if(typeof window>"u"||typeof MessageChannel!="function"){var k=null,x=null,j=function(){if(k!==null)try{var St=Ii.unstable_now(),Bt=!0;k(Bt,St),k=null}catch(Hn){throw setTimeout(j,0),Hn}},q=Date.now();Ii.unstable_now=function(){return Date.now()-q},h=function(St){k!==null?setTimeout(h,0,St):(k=St,setTimeout(j,0))},E=function(St,Bt){x=setTimeout(St,Bt)},t=function(){clearTimeout(x)},N=function(){return!1},F=Ii.unstable_forceFrameRate=function(){}}else{var V=window.performance,re=window.Date,y=window.setTimeout,me=window.clearTimeout;if(typeof console<"u"){var De=window.requestAnimationFrame,ge=window.cancelAnimationFrame;typeof De!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof ge!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if(typeof V=="object"&&typeof V.now=="function")Ii.unstable_now=function(){return V.now()};else{var ae=re.now();Ii.unstable_now=function(){return re.now()-ae}}var we=!1,he=null,ve=-1,ue=5,Ae=0,ze=300,We=!1;if(l&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var gt=navigator.scheduling;N=function(){var St=Ii.unstable_now();return St>=Ae?We||gt.isInputPending()?!0:St>=ze:!1},F=function(){We=!0}}else N=function(){return Ii.unstable_now()>=Ae},F=function(){};Ii.unstable_forceFrameRate=function(St){if(St<0||St>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported");return}St>0?ue=Math.floor(1e3/St):ue=5};var _t=function(){if(he!==null){var St=Ii.unstable_now();Ae=St+ue;var Bt=!0;try{var Hn=he(Bt,St);Hn?ot.postMessage(null):(we=!1,he=null)}catch(qr){throw ot.postMessage(null),qr}}else we=!1;We=!1},Qe=new MessageChannel,ot=Qe.port2;Qe.port1.onmessage=_t,h=function(St){he=St,we||(we=!0,ot.postMessage(null))},E=function(St,Bt){ve=y(function(){St(Ii.unstable_now())},Bt)},t=function(){me(ve),ve=-1}}function Ve(St,Bt){var Hn=St.length;St.push(Bt),it(St,Bt,Hn)}function Pt(St){var Bt=St[0];return Bt===void 0?null:Bt}function Jt(St){var Bt=St[0];if(Bt!==void 0){var Hn=St.pop();return Hn!==Bt&&(St[0]=Hn,J(St,Hn,0)),Bt}else return null}function it(St,Bt,Hn){for(var qr=Hn;;){var Ki=Math.floor((qr-1)/2),Xr=St[Ki];if(Xr!==void 0&&ce(Xr,Bt)>0)St[Ki]=Bt,St[qr]=Xr,qr=Ki;else return}}function J(St,Bt,Hn){for(var qr=Hn,Ki=St.length;qrfr){if(fr*=2,fr>jr){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),Dr();return}var Hn=new Int32Array(fr*4);Hn.set(Xt),zr=Hn.buffer,Xt=Hn}Xt.set(St,Bt)}}function vi(){fr=vr,zr=new ArrayBuffer(fr*4),Xt=new Int32Array(zr),Du=0}function Dr(){var St=zr;return fr=0,zr=null,Xt=null,Du=0,St}function el(St,Bt){f&&(Vt[Xn]++,Xt!==null&&lu([c0,Bt*1e3,St.id,St.priorityLevel]))}function Y0(St,Bt){f&&(Vt[Er]=Re,Vt[S]=0,Vt[Xn]--,Xt!==null&&lu([Ao,Bt*1e3,St.id]))}function Bu(St,Bt){f&&(Vt[Xn]--,Xt!==null&&lu([Fs,Bt*1e3,St.id]))}function K0(St,Bt){f&&(Vt[Er]=Re,Vt[S]=0,Vt[Xn]--,Xt!==null&&lu([Jo,Bt*1e3,St.id]))}function Kr(St,Bt){f&&(an++,Vt[Er]=St.priorityLevel,Vt[S]=St.id,Vt[zt]=an,Xt!==null&&lu([Zo,Bt*1e3,St.id,an]))}function Oo(St,Bt){f&&(Vt[Er]=Re,Vt[S]=0,Vt[zt]=0,Xt!==null&&lu([$o,Bt*1e3,St.id,an]))}function Mo(St){f&&(On++,Xt!==null&&lu([qt,St*1e3,On]))}function F0(St){f&&Xt!==null&&lu([xi,St*1e3,On])}var su=1073741823,ki=-1,Ps=250,Kl=5e3,P0=1e4,d0=su,Hr=[],Ri=[],X0=1,mi=!1,en=null,In=dt,Ai=!1,yi=!1,Wt=!1;function Ru(St){for(var Bt=Pt(Ri);Bt!==null;){if(Bt.callback===null)Jt(Ri);else if(Bt.startTime<=St)Jt(Ri),Bt.sortIndex=Bt.expirationTime,Ve(Hr,Bt),f&&(el(Bt,St),Bt.isQueued=!0);else return;Bt=Pt(Ri)}}function eu(St){if(Wt=!1,Ru(St),!yi)if(Pt(Hr)!==null)yi=!0,h(Q0);else{var Bt=Pt(Ri);Bt!==null&&E(eu,Bt.startTime-St)}}function Q0(St,Bt){f&&F0(Bt),yi=!1,Wt&&(Wt=!1,t()),Ai=!0;var Hn=In;try{if(f)try{return Yi(St,Bt)}catch(Xr){if(en!==null){var qr=Ii.unstable_now();K0(en,qr),en.isQueued=!1}throw Xr}else return Yi(St,Bt)}finally{if(en=null,In=Hn,Ai=!1,f){var Ki=Ii.unstable_now();Mo(Ki)}}}function Yi(St,Bt){var Hn=Bt;for(Ru(Hn),en=Pt(Hr);en!==null&&!(o&&mi)&&!(en.expirationTime>Hn&&(!St||N()));){var qr=en.callback;if(qr!==null){en.callback=null,In=en.priorityLevel;var Ki=en.expirationTime<=Hn;Kr(en,Hn);var Xr=qr(Ki);Hn=Ii.unstable_now(),typeof Xr=="function"?(en.callback=Xr,Oo(en,Hn)):(f&&(Y0(en,Hn),en.isQueued=!1),en===Pt(Hr)&&Jt(Hr)),Ru(Hn)}else Jt(Hr);en=Pt(Hr)}if(en!==null)return!0;var Au=Pt(Ri);return Au!==null&&E(eu,Au.startTime-Hn),!1}function Xl(St,Bt){switch(St){case le:case He:case dt:case At:case nn:break;default:St=dt}var Hn=In;In=St;try{return Bt()}finally{In=Hn}}function ko(St){var Bt;switch(In){case le:case He:case dt:Bt=dt;break;default:Bt=In;break}var Hn=In;In=Bt;try{return St()}finally{In=Hn}}function li(St){var Bt=In;return function(){var Hn=In;In=Bt;try{return St.apply(this,arguments)}finally{In=Hn}}}function ao(St){switch(St){case le:return ki;case He:return Ps;case nn:return d0;case At:return P0;case dt:default:return Kl}}function Ql(St,Bt,Hn){var qr=Ii.unstable_now(),Ki,Xr;if(typeof Hn=="object"&&Hn!==null){var Au=Hn.delay;typeof Au=="number"&&Au>0?Ki=qr+Au:Ki=qr,Xr=typeof Hn.timeout=="number"?Hn.timeout:ao(St)}else Xr=ao(St),Ki=qr;var p0=Ki+Xr,Ni={id:X0++,callback:Bt,priorityLevel:St,startTime:Ki,expirationTime:p0,sortIndex:-1};return f&&(Ni.isQueued=!1),Ki>qr?(Ni.sortIndex=Ki,Ve(Ri,Ni),Pt(Hr)===null&&Ni===Pt(Ri)&&(Wt?t():Wt=!0,E(eu,Ki-qr))):(Ni.sortIndex=p0,Ve(Hr,Ni),f&&(el(Ni,qr),Ni.isQueued=!0),!yi&&!Ai&&(yi=!0,h(Q0))),Ni}function No(){mi=!0}function Is(){mi=!1,!yi&&!Ai&&(yi=!0,h(Q0))}function $n(){return Pt(Hr)}function tl(St){if(f&&St.isQueued){var Bt=Ii.unstable_now();Bu(St,Bt),St.isQueued=!1}St.callback=null}function fo(){return In}function I0(){var St=Ii.unstable_now();Ru(St);var Bt=Pt(Hr);return Bt!==en&&en!==null&&Bt!==null&&Bt.callback!==null&&Bt.startTime<=St&&Bt.expirationTime{"use strict";process.env.NODE_ENV==="production"?hD.exports=jS():hD.exports=zS()});var HS=nt((mH,Gy)=>{Gy.exports=function o(l){"use strict";var f=Py(),h=Mi(),E=z_();function t(_){for(var g="https://reactjs.org/docs/error-decoder.html?invariant="+_,A=1;AX0||(_.current=Ri[X0],Ri[X0]=null,X0--)}function en(_,g){X0++,Ri[X0]=_.current,_.current=g}var In={},Ai={current:In},yi={current:!1},Wt=In;function Ru(_,g){var A=_.type.contextTypes;if(!A)return In;var P=_.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===g)return P.__reactInternalMemoizedMaskedChildContext;var B={},Z;for(Z in A)B[Z]=g[Z];return P&&(_=_.stateNode,_.__reactInternalMemoizedUnmaskedChildContext=g,_.__reactInternalMemoizedMaskedChildContext=B),B}function eu(_){return _=_.childContextTypes,_!=null}function Q0(_){mi(yi,_),mi(Ai,_)}function Yi(_){mi(yi,_),mi(Ai,_)}function Xl(_,g,A){if(Ai.current!==In)throw Error(t(168));en(Ai,g,_),en(yi,A,_)}function ko(_,g,A){var P=_.stateNode;if(_=g.childContextTypes,typeof P.getChildContext!="function")return A;P=P.getChildContext();for(var B in P)if(!(B in _))throw Error(t(108,ze(g)||"Unknown",B));return f({},A,{},P)}function li(_){var g=_.stateNode;return g=g&&g.__reactInternalMemoizedMergedChildContext||In,Wt=Ai.current,en(Ai,g,_),en(yi,yi.current,_),!0}function ao(_,g,A){var P=_.stateNode;if(!P)throw Error(t(169));A?(g=ko(_,g,Wt),P.__reactInternalMemoizedMergedChildContext=g,mi(yi,_),mi(Ai,_),en(Ai,g,_)):mi(yi,_),en(yi,A,_)}var Ql=E.unstable_runWithPriority,No=E.unstable_scheduleCallback,Is=E.unstable_cancelCallback,$n=E.unstable_shouldYield,tl=E.unstable_requestPaint,fo=E.unstable_now,I0=E.unstable_getCurrentPriorityLevel,Sl=E.unstable_ImmediatePriority,Lo=E.unstable_UserBlockingPriority,St=E.unstable_NormalPriority,Bt=E.unstable_LowPriority,Hn=E.unstable_IdlePriority,qr={},Ki=tl!==void 0?tl:function(){},Xr=null,Au=null,p0=!1,Ni=fo(),h0=1e4>Ni?fo:function(){return fo()-Ni};function hs(){switch(I0()){case Sl:return 99;case Lo:return 98;case St:return 97;case Bt:return 96;case Hn:return 95;default:throw Error(t(332))}}function Ct(_){switch(_){case 99:return Sl;case 98:return Lo;case 97:return St;case 96:return Bt;case 95:return Hn;default:throw Error(t(332))}}function co(_,g){return _=Ct(_),Ql(_,g)}function nl(_,g,A){return _=Ct(_),No(_,g,A)}function Jl(_){return Xr===null?(Xr=[_],Au=No(Sl,vs)):Xr.push(_),qr}function Uu(){if(Au!==null){var _=Au;Au=null,Is(_)}vs()}function vs(){if(!p0&&Xr!==null){p0=!0;var _=0;try{var g=Xr;co(99,function(){for(;_=g&&(ho=!0),_.firstContext=null)}function Mu(_,g){if(Ou!==_&&g!==!1&&g!==0)if((typeof g!="number"||g===1073741823)&&(Ou=_,g=1073741823),g={context:_,observedBits:g,next:null},Si===null){if(cr===null)throw Error(t(308));Si=g,cr.dependencies={expirationTime:0,firstContext:g,responders:null}}else Si=Si.next=g;return ln?_._currentValue:_._currentValue2}var po=!1;function Hu(_){return{baseState:_,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Pa(_){return{baseState:_.baseState,firstUpdate:_.firstUpdate,lastUpdate:_.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function v0(_,g){return{expirationTime:_,suspenseConfig:g,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function ia(_,g){_.lastUpdate===null?_.firstUpdate=_.lastUpdate=g:(_.lastUpdate.next=g,_.lastUpdate=g)}function J0(_,g){var A=_.alternate;if(A===null){var P=_.updateQueue,B=null;P===null&&(P=_.updateQueue=Hu(_.memoizedState))}else P=_.updateQueue,B=A.updateQueue,P===null?B===null?(P=_.updateQueue=Hu(_.memoizedState),B=A.updateQueue=Hu(A.memoizedState)):P=_.updateQueue=Pa(B):B===null&&(B=A.updateQueue=Pa(P));B===null||P===B?ia(P,g):P.lastUpdate===null||B.lastUpdate===null?(ia(P,g),ia(B,g)):(ia(P,g),B.lastUpdate=g)}function ua(_,g){var A=_.updateQueue;A=A===null?_.updateQueue=Hu(_.memoizedState):Ia(_,A),A.lastCapturedUpdate===null?A.firstCapturedUpdate=A.lastCapturedUpdate=g:(A.lastCapturedUpdate.next=g,A.lastCapturedUpdate=g)}function Ia(_,g){var A=_.alternate;return A!==null&&g===A.updateQueue&&(g=_.updateQueue=Pa(g)),g}function ms(_,g,A,P,B,Z){switch(A.tag){case 1:return _=A.payload,typeof _=="function"?_.call(Z,P,B):_;case 3:_.effectTag=_.effectTag&-4097|64;case 0:if(_=A.payload,B=typeof _=="function"?_.call(Z,P,B):_,B==null)break;return f({},P,B);case 2:po=!0}return P}function S0(_,g,A,P,B){po=!1,g=Ia(_,g);for(var Z=g.baseState,de=null,yt=0,Rt=g.firstUpdate,Nt=Z;Rt!==null;){var xr=Rt.expirationTime;xrai?(Qi=ur,ur=null):Qi=ur.sibling;var Vr=cu(Ge,ur,st[ai],$t);if(Vr===null){ur===null&&(ur=Qi);break}_&&ur&&Vr.alternate===null&&g(Ge,ur),je=Z(Vr,je,ai),oi===null?Wn=Vr:oi.sibling=Vr,oi=Vr,ur=Qi}if(ai===st.length)return A(Ge,ur),Wn;if(ur===null){for(;aiai?(Qi=ur,ur=null):Qi=ur.sibling;var Tu=cu(Ge,ur,Vr.value,$t);if(Tu===null){ur===null&&(ur=Qi);break}_&&ur&&Tu.alternate===null&&g(Ge,ur),je=Z(Tu,je,ai),oi===null?Wn=Tu:oi.sibling=Tu,oi=Tu,ur=Qi}if(Vr.done)return A(Ge,ur),Wn;if(ur===null){for(;!Vr.done;ai++,Vr=st.next())Vr=r0(Ge,Vr.value,$t),Vr!==null&&(je=Z(Vr,je,ai),oi===null?Wn=Vr:oi.sibling=Vr,oi=Vr);return Wn}for(ur=P(Ge,ur);!Vr.done;ai++,Vr=st.next())Vr=z0(ur,Ge,ai,Vr.value,$t),Vr!==null&&(_&&Vr.alternate!==null&&ur.delete(Vr.key===null?ai:Vr.key),je=Z(Vr,je,ai),oi===null?Wn=Vr:oi.sibling=Vr,oi=Vr);return _&&ur.forEach(function(Wa){return g(Ge,Wa)}),Wn}return function(Ge,je,st,$t){var Wn=typeof st=="object"&&st!==null&&st.type===j&&st.key===null;Wn&&(st=st.props.children);var oi=typeof st=="object"&&st!==null;if(oi)switch(st.$$typeof){case k:e:{for(oi=st.key,Wn=je;Wn!==null;){if(Wn.key===oi)if(Wn.tag===7?st.type===j:Wn.elementType===st.type){A(Ge,Wn.sibling),je=B(Wn,st.type===j?st.props.children:st.props,$t),je.ref=Us(Ge,Wn,st),je.return=Ge,Ge=je;break e}else{A(Ge,Wn);break}else g(Ge,Wn);Wn=Wn.sibling}st.type===j?(je=n0(st.props.children,Ge.mode,$t,st.key),je.return=Ge,Ge=je):($t=qa(st.type,st.key,st.props,null,Ge.mode,$t),$t.ref=Us(Ge,je,st),$t.return=Ge,Ge=$t)}return de(Ge);case x:e:{for(Wn=st.key;je!==null;){if(je.key===Wn)if(je.tag===4&&je.stateNode.containerInfo===st.containerInfo&&je.stateNode.implementation===st.implementation){A(Ge,je.sibling),je=B(je,st.children||[],$t),je.return=Ge,Ge=je;break e}else{A(Ge,je);break}else g(Ge,je);je=je.sibling}je=Df(st,Ge.mode,$t),je.return=Ge,Ge=je}return de(Ge)}if(typeof st=="string"||typeof st=="number")return st=""+st,je!==null&&je.tag===6?(A(Ge,je.sibling),je=B(je,st,$t),je.return=Ge,Ge=je):(A(Ge,je),je=j0(st,Ge.mode,$t),je.return=Ge,Ge=je),de(Ge);if(m0(st))return Ml(Ge,je,st,$t);if(ue(st))return i0(Ge,je,st,$t);if(oi&&zi(Ge,st),typeof st>"u"&&!Wn)switch(Ge.tag){case 1:case 0:throw Ge=Ge.type,Error(t(152,Ge.displayName||Ge.name||"Component"))}return A(Ge,je)}}var H=U(!0),Y=U(!1),ee={},Ce={current:ee},_e={current:ee},Oe={current:ee};function $(_){if(_===ee)throw Error(t(174));return _}function Ne(_,g){en(Oe,g,_),en(_e,_,_),en(Ce,ee,_),g=Pt(g),mi(Ce,_),en(Ce,g,_)}function Je(_){mi(Ce,_),mi(_e,_),mi(Oe,_)}function vt(_){var g=$(Oe.current),A=$(Ce.current);g=Jt(A,_.type,g),A!==g&&(en(_e,_,_),en(Ce,g,_))}function oe(_){_e.current===_&&(mi(Ce,_),mi(_e,_))}var qe={current:0};function rt(_){for(var g=_;g!==null;){if(g.tag===13){var A=g.memoizedState;if(A!==null&&(A=A.dehydrated,A===null||Kr(A)||Oo(A)))return g}else if(g.tag===19&&g.memoizedProps.revealOrder!==void 0){if((g.effectTag&64)!==0)return g}else if(g.child!==null){g.child.return=g,g=g.child;continue}if(g===_)break;for(;g.sibling===null;){if(g.return===null||g.return===_)return null;g=g.return}g.sibling.return=g.return,g=g.sibling}return null}function xt(_,g){return{responder:_,props:g}}var kt=N.ReactCurrentDispatcher,bt=N.ReactCurrentBatchConfig,sn=0,rn=null,Ft=null,Dn=null,dr=null,er=null,Cr=null,Rn=0,Nr=null,y0=0,Lr=!1,ut=null,wt=0;function et(){throw Error(t(321))}function It(_,g){if(g===null)return!1;for(var A=0;ARn&&(Rn=xr,Ua(Rn))):(cc(xr,Rt.suspenseConfig),Z=Rt.eagerReducer===_?Rt.eagerState:_(Z,Rt.action)),de=Rt,Rt=Rt.next}while(Rt!==null&&Rt!==P);Nt||(yt=de,B=Z),Fe(Z,g.memoizedState)||(ho=!0),g.memoizedState=Z,g.baseUpdate=yt,g.baseState=B,A.lastRenderedState=Z}return[g.memoizedState,A.dispatch]}function T0(_){var g=Jn();return typeof _=="function"&&(_=_()),g.memoizedState=g.baseState=_,_=g.queue={last:null,dispatch:null,lastRenderedReducer:au,lastRenderedState:_},_=_.dispatch=js.bind(null,rn,_),[g.memoizedState,_]}function Z0(_){return ku(au,_)}function Nu(_,g,A,P){return _={tag:_,create:g,destroy:A,deps:P,next:null},Nr===null?(Nr={lastEffect:null},Nr.lastEffect=_.next=_):(g=Nr.lastEffect,g===null?Nr.lastEffect=_.next=_:(A=g.next,g.next=_,_.next=A,Nr.lastEffect=_)),_}function gi(_,g,A,P){var B=Jn();y0|=_,B.memoizedState=Nu(g,A,void 0,P===void 0?null:P)}function Po(_,g,A,P){var B=wr();P=P===void 0?null:P;var Z=void 0;if(Ft!==null){var de=Ft.memoizedState;if(Z=de.destroy,P!==null&&It(P,de.deps)){Nu(0,A,Z,P);return}}y0|=_,B.memoizedState=Nu(g,A,Z,P)}function rl(_,g){return gi(516,192,_,g)}function hf(_,g){return Po(516,192,_,g)}function Tl(_,g){if(typeof g=="function")return _=_(),g(_),function(){g(null)};if(g!=null)return _=_(),g.current=_,function(){g.current=null}}function vf(){}function Io(_,g){return Jn().memoizedState=[_,g===void 0?null:g],_}function ys(_,g){var A=wr();g=g===void 0?null:g;var P=A.memoizedState;return P!==null&&g!==null&&It(g,P[1])?P[0]:(A.memoizedState=[_,g],_)}function js(_,g,A){if(!(25>wt))throw Error(t(301));var P=_.alternate;if(_===rn||P!==null&&P===rn)if(Lr=!0,_={expirationTime:sn,suspenseConfig:null,action:A,eagerReducer:null,eagerState:null,next:null},ut===null&&(ut=new Map),A=ut.get(g),A===void 0)ut.set(g,_);else{for(g=A;g.next!==null;)g=g.next;g.next=_}else{var B=E0(),Z=si.suspense;B=Un(B,_,Z),Z={expirationTime:B,suspenseConfig:Z,action:A,eagerReducer:null,eagerState:null,next:null};var de=g.last;if(de===null)Z.next=Z;else{var yt=de.next;yt!==null&&(Z.next=yt),de.next=Z}if(g.last=Z,_.expirationTime===0&&(P===null||P.expirationTime===0)&&(P=g.lastRenderedReducer,P!==null))try{var Rt=g.lastRenderedState,Nt=P(Rt,A);if(Z.eagerReducer=P,Z.eagerState=Nt,Fe(Nt,Rt))return}catch{}finally{}e0(_,B)}}var bo={readContext:Mu,useCallback:et,useContext:et,useEffect:et,useImperativeHandle:et,useLayoutEffect:et,useMemo:et,useReducer:et,useRef:et,useState:et,useDebugValue:et,useResponder:et,useDeferredValue:et,useTransition:et},Bo={readContext:Mu,useCallback:Io,useContext:Mu,useEffect:rl,useImperativeHandle:function(_,g,A){return A=A!=null?A.concat([_]):null,gi(4,36,Tl.bind(null,g,_),A)},useLayoutEffect:function(_,g){return gi(4,36,_,g)},useMemo:function(_,g){var A=Jn();return g=g===void 0?null:g,_=_(),A.memoizedState=[_,g],_},useReducer:function(_,g,A){var P=Jn();return g=A!==void 0?A(g):g,P.memoizedState=P.baseState=g,_=P.queue={last:null,dispatch:null,lastRenderedReducer:_,lastRenderedState:g},_=_.dispatch=js.bind(null,rn,_),[P.memoizedState,_]},useRef:function(_){var g=Jn();return _={current:_},g.memoizedState=_},useState:T0,useDebugValue:vf,useResponder:xt,useDeferredValue:function(_,g){var A=T0(_),P=A[0],B=A[1];return rl(function(){E.unstable_next(function(){var Z=bt.suspense;bt.suspense=g===void 0?null:g;try{B(_)}finally{bt.suspense=Z}})},[_,g]),P},useTransition:function(_){var g=T0(!1),A=g[0],P=g[1];return[Io(function(B){P(!0),E.unstable_next(function(){var Z=bt.suspense;bt.suspense=_===void 0?null:_;try{P(!1),B()}finally{bt.suspense=Z}})},[_,A]),A]}},gs={readContext:Mu,useCallback:ys,useContext:Mu,useEffect:hf,useImperativeHandle:function(_,g,A){return A=A!=null?A.concat([_]):null,Po(4,36,Tl.bind(null,g,_),A)},useLayoutEffect:function(_,g){return Po(4,36,_,g)},useMemo:function(_,g){var A=wr();g=g===void 0?null:g;var P=A.memoizedState;return P!==null&&g!==null&&It(g,P[1])?P[0]:(_=_(),A.memoizedState=[_,g],_)},useReducer:ku,useRef:function(){return wr().memoizedState},useState:Z0,useDebugValue:vf,useResponder:xt,useDeferredValue:function(_,g){var A=Z0(_),P=A[0],B=A[1];return hf(function(){E.unstable_next(function(){var Z=bt.suspense;bt.suspense=g===void 0?null:g;try{B(_)}finally{bt.suspense=Z}})},[_,g]),P},useTransition:function(_){var g=Z0(!1),A=g[0],P=g[1];return[ys(function(B){P(!0),E.unstable_next(function(){var Z=bt.suspense;bt.suspense=_===void 0?null:_;try{P(!1),B()}finally{bt.suspense=Z}})},[_,A]),A]}},Xu=null,Su=null,_i=!1;function C0(_,g){var A=Ho(5,null,null,0);A.elementType="DELETED",A.type="DELETED",A.stateNode=g,A.return=_,A.effectTag=8,_.lastEffect!==null?(_.lastEffect.nextEffect=A,_.lastEffect=A):_.firstEffect=_.lastEffect=A}function $0(_,g){switch(_.tag){case 5:return g=Bu(g,_.type,_.pendingProps),g!==null?(_.stateNode=g,!0):!1;case 6:return g=K0(g,_.pendingProps),g!==null?(_.stateNode=g,!0):!1;case 13:return!1;default:return!1}}function Uo(_){if(_i){var g=Su;if(g){var A=g;if(!$0(_,g)){if(g=Mo(A),!g||!$0(_,g)){_.effectTag=_.effectTag&-1025|2,_i=!1,Xu=_;return}C0(Xu,A)}Xu=_,Su=F0(g)}else _.effectTag=_.effectTag&-1025|2,_i=!1,Xu=_}}function la(_){for(_=_.return;_!==null&&_.tag!==5&&_.tag!==3&&_.tag!==13;)_=_.return;Xu=_}function $l(_){if(!S||_!==Xu)return!1;if(!_i)return la(_),_i=!0,!1;var g=_.type;if(_.tag!==5||g!=="head"&&g!=="body"&&!dt(g,_.memoizedProps))for(g=Su;g;)C0(_,g),g=Mo(g);if(la(_),_.tag===13){if(!S)throw Error(t(316));if(_=_.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(t(317));Su=Ps(_)}else Su=Xu?Mo(_.stateNode):null;return!0}function tu(){S&&(Su=Xu=null,_i=!1)}var Zr=N.ReactCurrentOwner,ho=!1;function Bi(_,g,A,P){g.child=_===null?Y(g,null,A,P):H(g,_.child,A,P)}function Ci(_,g,A,P,B){A=A.render;var Z=g.ref;return Fo(g,B),P=un(_,g,A,P,Z,B),_!==null&&!ho?(g.updateQueue=_.updateQueue,g.effectTag&=-517,_.expirationTime<=B&&(_.expirationTime=0),mu(_,g,B)):(g.effectTag|=1,Bi(_,g,P,B),g.child)}function mf(_,g,A,P,B,Z){if(_===null){var de=A.type;return typeof de=="function"&&!Ef(de)&&de.defaultProps===void 0&&A.compare===null&&A.defaultProps===void 0?(g.tag=15,g.type=de,yf(_,g,de,P,B,Z)):(_=qa(A.type,null,P,null,g.mode,Z),_.ref=g.ref,_.return=g,g.child=_)}return de=_.child,Bg)&&Wr.set(_,g)))}}function ro(_,g){_.expirationTime_?g:_)}function t0(_){if(_.lastExpiredTime!==0)_.callbackExpirationTime=1073741823,_.callbackPriority=99,_.callbackNode=Jl(io.bind(null,_));else{var g=mo(_),A=_.callbackNode;if(g===0)A!==null&&(_.callbackNode=null,_.callbackExpirationTime=0,_.callbackPriority=90);else{var P=E0();if(g===1073741823?P=99:g===1||g===2?P=95:(P=10*(1073741821-g)-10*(1073741821-P),P=0>=P?99:250>=P?98:5250>=P?97:95),A!==null){var B=_.callbackPriority;if(_.callbackExpirationTime===g&&B>=P)return;A!==qr&&Is(A)}_.callbackExpirationTime=g,_.callbackPriority=P,g=g===1073741823?Jl(io.bind(null,_)):nl(P,jo.bind(null,_),{timeout:10*(1073741821-g)-h0()}),_.callbackNode=g}}}function jo(_,g){if(ru=0,g)return g=E0(),da(_,g),t0(_),null;var A=mo(_);if(A!==0){if(g=_.callbackNode,(Ln&(nu|fu))!==Rr)throw Error(t(327));if(qs(),_===fe&&A===Pe||Ds(_,A),ie!==null){var P=Ln;Ln|=nu;var B=U0(_);do try{nd();break}catch(yt){fa(_,yt)}while(1);if(ju(),Ln=P,Zu.current=B,Me===ei)throw g=at,Ds(_,A),Ol(_,A),t0(_),g;if(ie===null)switch(B=_.finishedWork=_.current.alternate,_.finishedExpirationTime=A,P=Me,fe=null,P){case Li:case ei:throw Error(t(345));case Kn:da(_,2=A){_.lastPingedTime=A,Ds(_,A);break}}if(Z=mo(_),Z!==0&&Z!==A)break;if(P!==0&&P!==A){_.lastPingedTime=P;break}_.timeoutHandle=an(Rl.bind(null,_),B);break}Rl(_);break;case g0:if(Ol(_,A),P=_.lastSuspendedTime,A===P&&(_.nextKnownPendingLevel=qc(B)),_n&&(B=_.lastPingedTime,B===0||B>=A)){_.lastPingedTime=A,Ds(_,A);break}if(B=mo(_),B!==0&&B!==A)break;if(P!==0&&P!==A){_.lastPingedTime=P;break}if(Qt!==1073741823?P=10*(1073741821-Qt)-h0():mt===1073741823?P=0:(P=10*(1073741821-mt)-5e3,B=h0(),A=10*(1073741821-A)-B,P=B-P,0>P&&(P=0),P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*gf(P/1960))-P,A=P?P=0:(B=de.busyDelayMs|0,Z=h0()-(10*(1073741821-Z)-(de.timeoutMs|0||5e3)),P=Z<=B?0:B+P-Z),10 component higher in the tree to provide a loading indicator or placeholder to display.`+Hr(b))}Ae!==E0&&(Ae=Kn),J=Tl(J,b),xt=F;do{switch(xt.tag){case 3:ce=J,xt.effectTag|=4096,xt.expirationTime=y;var Ue=_s(xt,ce,y);ua(xt,Ue);break e;case 1:ce=J;var lt=xt.type,$t=xt.stateNode;if((xt.effectTag&64)==0&&(typeof lt.getDerivedStateFromError=="function"||$t!==null&&typeof $t.componentDidCatch=="function"&&(mr===null||!mr.has($t)))){xt.effectTag|=4096,xt.expirationTime=y;var Wn=aa(xt,ce,y);ua(xt,Wn);break e}}xt=xt.return}while(xt!==null)}re=mo(re)}catch(si){y=si;continue}break}while(1)}function U0(){var g=$u.current;return $u.current=Io,g===null?Io:g}function cc(g,y){gSn&&(Sn=g)}function E2(){for(;re!==null;)re=rd(re)}function nd(){for(;re!==null&&!$n();)re=rd(re)}function rd(g){var y=Ha(g.alternate,g,Fe);return g.memoizedProps=g.pendingProps,y===null&&(y=mo(g)),Es.current=null,y}function mo(g){re=g;do{var y=re.alternate;if(g=re.return,(re.effectTag&2048)==0){e:{var R=y;y=re;var F=Fe,b=y.pendingProps;switch(y.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:eu(y.type)&&X0(y);break;case 3:Qe(y),Yi(y),b=y.stateNode,b.pendingContext&&(b.context=b.pendingContext,b.pendingContext=null),(R===null||R.child===null)&&$l(y)&&Ju(y),Jr(y);break;case 5:ue(y);var J=Z(Re.current);if(F=y.type,R!==null&&y.stateNode!=null)Wu(R,y,F,b,J),R.ref!==y.ref&&(y.effectTag|=128);else if(b){if(R=Z(Te.current),$l(y)){if(b=y,!w)throw Error(t(175));R=su(b.stateNode,b.type,b.memoizedProps,J,R,b),b.updateQueue=R,R=R!==null,R&&Ju(y)}else{var ce=fe(F,b,J,R,y);ti(ce,y,!1,!1),y.stateNode=ce,oe(ce,F,b,J,R)&&Ju(y)}y.ref!==null&&(y.effectTag|=128)}else if(y.stateNode===null)throw Error(t(166));break;case 6:if(R&&y.stateNode!=null)Rn(R,y,R.memoizedProps,b);else{if(typeof b!="string"&&y.stateNode===null)throw Error(t(166));if(R=Z(Re.current),J=Z(Te.current),$l(y)){if(R=y,!w)throw Error(t(176));(R=ki(R.stateNode,R.memoizedProps,R))&&Ju(y)}else y.stateNode=nn(b,R,J,y)}break;case 11:break;case 13:if(yi(He,y),b=y.memoizedState,(y.effectTag&64)!=0){y.expirationTime=F;break e}b=b!==null,J=!1,R===null?y.memoizedProps.fallback!==void 0&&$l(y):(F=R.memoizedState,J=F!==null,b||F===null||(F=R.child.sibling,F!==null&&(ce=y.firstEffect,ce!==null?(y.firstEffect=F,F.nextEffect=ce):(y.firstEffect=y.lastEffect=F,F.nextEffect=null),F.effectTag=8))),b&&!J&&(y.mode&2)!=0&&(R===null&&y.memoizedProps.unstable_avoidThisFallback!==!0||(He.current&1)!=0?Ae===Li&&(Ae=e0):((Ae===Li||Ae===e0)&&(Ae=_0),Sn!==0&&ae!==null&&(Al(ae,Fe),Ts(ae,Sn)))),Er&&b&&(y.effectTag|=4),Vt&&(b||J)&&(y.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Qe(y),Jr(y);break;case 10:Su(y);break;case 9:break;case 14:break;case 17:eu(y.type)&&X0(y);break;case 19:if(yi(He,y),b=y.memoizedState,b===null)break;if(J=(y.effectTag&64)!=0,ce=b.rendering,ce===null){if(J)Fu(b,!1);else if(Ae!==Li||R!==null&&(R.effectTag&64)!=0)for(R=y.child;R!==null;){if(ce=nt(R),ce!==null){for(y.effectTag|=64,Fu(b,!1),R=ce.updateQueue,R!==null&&(y.updateQueue=R,y.effectTag|=4),b.lastEffect===null&&(y.firstEffect=null),y.lastEffect=b.lastEffect,R=F,b=y.child;b!==null;)J=b,F=R,J.effectTag&=2,J.nextEffect=null,J.firstEffect=null,J.lastEffect=null,ce=J.alternate,ce===null?(J.childExpirationTime=0,J.expirationTime=F,J.child=null,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null):(J.childExpirationTime=ce.childExpirationTime,J.expirationTime=ce.expirationTime,J.child=ce.child,J.memoizedProps=ce.memoizedProps,J.memoizedState=ce.memoizedState,J.updateQueue=ce.updateQueue,F=ce.dependencies,J.dependencies=F===null?null:{expirationTime:F.expirationTime,firstContext:F.firstContext,responders:F.responders}),b=b.sibling;en(He,He.current&1|2,y),y=y.child;break e}R=R.sibling}}else{if(!J)if(R=nt(ce),R!==null){if(y.effectTag|=64,J=!0,R=R.updateQueue,R!==null&&(y.updateQueue=R,y.effectTag|=4),Fu(b,!0),b.tail===null&&b.tailMode==="hidden"&&!ce.alternate){y=y.lastEffect=b.lastEffect,y!==null&&(y.nextEffect=null);break}}else v0()>b.tailExpiration&&1b&&(b=F),ce>b&&(b=ce),J=J.sibling;R.childExpirationTime=b}if(y!==null)return y;g!==null&&(g.effectTag&2048)==0&&(g.firstEffect===null&&(g.firstEffect=re.firstEffect),re.lastEffect!==null&&(g.lastEffect!==null&&(g.lastEffect.nextEffect=re.firstEffect),g.lastEffect=re.lastEffect),1g?y:g}function xl(g){var y=hs();return fo(99,il.bind(null,g,y)),null}function il(g,y){do qs();while(ri!==null);if((Fn&(nu|fu))!==Rr)throw Error(t(327));var R=g.finishedWork,F=g.finishedExpirationTime;if(R===null)return null;if(g.finishedWork=null,g.finishedExpirationTime=0,R===g.current)throw Error(t(177));g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90,g.nextKnownPendingLevel=0;var b=Hc(R);if(g.firstPendingTime=b,F<=g.lastSuspendedTime?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:F<=g.firstSuspendedTime&&(g.firstSuspendedTime=F-1),F<=g.lastPingedTime&&(g.lastPingedTime=0),F<=g.lastExpiredTime&&(g.lastExpiredTime=0),g===ae&&(re=ae=null,Fe=0),1=R?Kt(g,y,R):(en(He,He.current&1,y),y=yu(g,y,R),y!==null?y.sibling:null);en(He,He.current&1,y);break;case 19:if(F=y.childExpirationTime>=R,(g.effectTag&64)!=0){if(F)return xn(g,y,R);y.effectTag|=64}if(b=y.memoizedState,b!==null&&(b.rendering=null,b.tail=null),en(He,He.current,y),!F)return null}return yu(g,y,R)}po=!1}}else po=!1;switch(y.expirationTime=0,y.tag){case 2:if(F=y.type,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,b=Au(y,Ai.current),Lo(y,R),b=un(null,y,F,g,b,R),y.effectTag|=1,typeof b=="object"&&b!==null&&typeof b.render=="function"&&b.$$typeof===void 0){if(y.tag=1,fn(),eu(F)){var J=!0;ai(y)}else J=!1;y.memoizedState=b.state!==null&&b.state!==void 0?b.state:null;var ce=F.getDerivedStateFromProps;typeof ce=="function"&&Zl(y,F,ce,g),b.updater=oa,y.stateNode=b,b._reactInternalFiber=y,Bs(y,F,g,R),y=et(null,y,F,!0,J,R)}else y.tag=0,Bi(null,y,b,R),y=y.child;return y;case 16:if(b=y.elementType,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,Oe(b),b._status!==1)throw b._result;switch(b=b._result,y.type=b,J=y.tag=ul(b),g=Yn(b,g),J){case 0:y=eo(null,y,b,g,R);break;case 1:y=Ce(null,y,b,g,R);break;case 11:y=Ci(null,y,b,g,R);break;case 14:y=mf(null,y,b,Yn(b.type,g),F,R);break;default:throw Error(t(306,b,""))}return y;case 0:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),eo(g,y,F,b,R);case 1:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),Ce(g,y,F,b,R);case 3:if(Ye(y),F=y.updateQueue,F===null)throw Error(t(282));if(b=y.memoizedState,b=b!==null?b.element:null,S0(y,F,y.pendingProps,null,R),F=y.memoizedState.element,F===b)tu(),y=yu(g,y,R);else{if((b=y.stateNode.hydrate)&&(w?(Tu=F0(y.stateNode.containerInfo),Qu=y,b=Ei=!0):b=!1),b)for(R=G(y,null,F,R),y.child=R;R;)R.effectTag=R.effectTag&-3|1024,R=R.sibling;else Bi(g,y,F,R),tu();y=y.child}return y;case 5:return ht(y),g===null&&Bo(y),F=y.type,b=y.pendingProps,J=g!==null?g.memoizedProps:null,ce=b.children,ct(F,b)?ce=null:J!==null&&ct(F,J)&&(y.effectTag|=16),$0(g,y),y.mode&4&&R!==1&&Rt(F,b)?(y.expirationTime=y.childExpirationTime=1,y=null):(Bi(g,y,ce,R),y=y.child),y;case 6:return g===null&&Bo(y),null;case 13:return Kt(g,y,R);case 4:return ke(y,y.stateNode.containerInfo),F=y.pendingProps,g===null?y.child=z(y,null,F,R):Bi(g,y,F,R),y.child;case 11:return F=y.type,b=y.pendingProps,b=y.elementType===F?b:Yn(F,b),Ci(g,y,F,b,R);case 7:return Bi(g,y,y.pendingProps,R),y.child;case 8:return Bi(g,y,y.pendingProps.children,R),y.child;case 12:return Bi(g,y,y.pendingProps.children,R),y.child;case 10:e:{if(F=y.type._context,b=y.pendingProps,ce=y.memoizedProps,J=b.value,Hu(y,J),ce!==null){var mt=ce.value;if(J=Le(mt,J)?0:(typeof F._calculateChangedBits=="function"?F._calculateChangedBits(mt,J):1073741823)|0,J===0){if(ce.children===b.children&&!gi.current){y=yu(g,y,R);break e}}else for(mt=y.child,mt!==null&&(mt.return=y);mt!==null;){var xt=mt.dependencies;if(xt!==null){ce=mt.child;for(var kt=xt.firstContext;kt!==null;){if(kt.context===F&&(kt.observedBits&J)!=0){mt.tag===1&&(kt=m0(R,null),kt.tag=2,Q0(mt,kt)),mt.expirationTime=y&&g<=y}function Al(g,y){var R=g.firstSuspendedTime,F=g.lastSuspendedTime;Ry||R===0)&&(g.lastSuspendedTime=y),y<=g.lastPingedTime&&(g.lastPingedTime=0),y<=g.lastExpiredTime&&(g.lastExpiredTime=0)}function Ts(g,y){y>g.firstPendingTime&&(g.firstPendingTime=y);var R=g.firstSuspendedTime;R!==0&&(y>=R?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:y>=g.lastSuspendedTime&&(g.lastSuspendedTime=y+1),y>g.nextKnownPendingLevel&&(g.nextKnownPendingLevel=y))}function da(g,y){var R=g.lastExpiredTime;(R===0||R>y)&&(g.lastExpiredTime=y)}function ud(g){var y=g._reactInternalFiber;if(y===void 0)throw typeof g.render=="function"?Error(t(188)):Error(t(268,Object.keys(g)));return g=Xe(y),g===null?null:g.stateNode}function pa(g,y){g=g.memoizedState,g!==null&&g.dehydrated!==null&&g.retryTime{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var RP=0;ec.__interactionsRef=null;ec.__subscriberRef=null;ec.unstable_clear=function(i){return i()};ec.unstable_getCurrent=function(){return null};ec.unstable_getThreadID=function(){return++RP};ec.unstable_trace=function(i,o,a){return a()};ec.unstable_wrap=function(i){return i};ec.unstable_subscribe=function(){};ec.unstable_unsubscribe=function(){}});var NS=tt(mu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(mu,"__esModule",{value:!0});var i=!0,o=0,a=0,p=0;mu.__interactionsRef=null,mu.__subscriberRef=null,i&&(mu.__interactionsRef={current:new Set},mu.__subscriberRef={current:null});function _(se){if(!i)return se();var De=mu.__interactionsRef.current;mu.__interactionsRef.current=new Set;try{return se()}finally{mu.__interactionsRef.current=De}}function t(){return i?mu.__interactionsRef.current:null}function k(){return++p}function L(se,De,pe){var me=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(!i)return pe();var ie={__count:1,id:a++,name:se,timestamp:De},Oe=mu.__interactionsRef.current,je=new Set(Oe);je.add(ie),mu.__interactionsRef.current=je;var qe=mu.__subscriberRef.current,yt;try{qe!==null&&qe.onInteractionTraced(ie)}finally{try{qe!==null&&qe.onWorkStarted(je,me)}finally{try{yt=pe()}finally{mu.__interactionsRef.current=Oe;try{qe!==null&&qe.onWorkStopped(je,me)}finally{ie.__count--,qe!==null&&ie.__count===0&&qe.onInteractionScheduledWorkCompleted(ie)}}}}return yt}function O(se){var De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o;if(!i)return se;var pe=mu.__interactionsRef.current,me=mu.__subscriberRef.current;me!==null&&me.onWorkScheduled(pe,De),pe.forEach(function(je){je.__count++});var ie=!1;function Oe(){var je=mu.__interactionsRef.current;mu.__interactionsRef.current=pe,me=mu.__subscriberRef.current;try{var qe;try{me!==null&&me.onWorkStarted(pe,De)}finally{try{qe=se.apply(void 0,arguments)}finally{mu.__interactionsRef.current=je,me!==null&&me.onWorkStopped(pe,De)}}return qe}finally{ie||(ie=!0,pe.forEach(function(yt){yt.__count--,me!==null&&yt.__count===0&&me.onInteractionScheduledWorkCompleted(yt)}))}}return Oe.cancel=function(){me=mu.__subscriberRef.current;try{me!==null&&me.onWorkCanceled(pe,De)}finally{pe.forEach(function(qe){qe.__count--,me&&qe.__count===0&&me.onInteractionScheduledWorkCompleted(qe)})}},Oe}var C=null;i&&(C=new Set);function U(se){i&&(C.add(se),C.size===1&&(mu.__subscriberRef.current={onInteractionScheduledWorkCompleted:ne,onInteractionTraced:W,onWorkCanceled:ve,onWorkScheduled:m,onWorkStarted:he,onWorkStopped:Ee}))}function H(se){i&&(C.delete(se),C.size===0&&(mu.__subscriberRef.current=null))}function W(se){var De=!1,pe=null;if(C.forEach(function(me){try{me.onInteractionTraced(se)}catch(ie){De||(De=!0,pe=ie)}}),De)throw pe}function ne(se){var De=!1,pe=null;if(C.forEach(function(me){try{me.onInteractionScheduledWorkCompleted(se)}catch(ie){De||(De=!0,pe=ie)}}),De)throw pe}function m(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkScheduled(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function he(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkStarted(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function Ee(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkStopped(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}function ve(se,De){var pe=!1,me=null;if(C.forEach(function(ie){try{ie.onWorkCanceled(se,De)}catch(Oe){pe||(pe=!0,me=Oe)}}),pe)throw me}mu.unstable_clear=_,mu.unstable_getCurrent=t,mu.unstable_getThreadID=k,mu.unstable_trace=L,mu.unstable_wrap=O,mu.unstable_subscribe=U,mu.unstable_unsubscribe=H}()});var LS=tt((CH,hD)=>{"use strict";process.env.NODE_ENV==="production"?hD.exports=kS():hD.exports=NS()});var PS=tt((xH,qy)=>{"use strict";process.env.NODE_ENV!=="production"&&(qy.exports=function i(o){"use strict";var a=Oy(),p=Mi(),_=YE(),t=b_(),k=LS(),L=0,O=1,C=2,U=3,H=4,W=5,ne=6,m=7,he=8,Ee=9,ve=10,se=11,De=12,pe=13,me=14,ie=15,Oe=16,je=17,qe=18,yt=19,gt=20,Xe=21,ut=function(){};ut=function(f,c){for(var E=arguments.length,T=new Array(E>2?E-2:0),A=2;A8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!f){if(typeof console!="undefined"){var j=T.map(function(le){return""+le});j.unshift("Warning: "+c),Function.prototype.apply.call(console.error,console,j)}try{var V=0,te="Warning: "+c.replace(/%s/g,function(){return T[V++]});throw new Error(te)}catch(le){}}};var We=ut;function Ft(f){return f._reactInternalFiber}function Jt(f,c){f._reactInternalFiber=c}var rt=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;rt.hasOwnProperty("ReactCurrentDispatcher")||(rt.ReactCurrentDispatcher={current:null}),rt.hasOwnProperty("ReactCurrentBatchConfig")||(rt.ReactCurrentBatchConfig={suspense:null});var Q=typeof Symbol=="function"&&Symbol.for,fe=Q?Symbol.for("react.element"):60103,xe=Q?Symbol.for("react.portal"):60106,oe=Q?Symbol.for("react.fragment"):60107,ze=Q?Symbol.for("react.strict_mode"):60108,ct=Q?Symbol.for("react.profiler"):60114,Rt=Q?Symbol.for("react.provider"):60109,nn=Q?Symbol.for("react.context"):60110,an=Q?Symbol.for("react.concurrent_mode"):60111,Mn=Q?Symbol.for("react.forward_ref"):60112,lr=Q?Symbol.for("react.suspense"):60113,ln=Q?Symbol.for("react.suspense_list"):60120,Vt=Q?Symbol.for("react.memo"):60115,Er=Q?Symbol.for("react.lazy"):60116,w=Q?Symbol.for("react.fundamental"):60117,jt=Q?Symbol.for("react.responder"):60118,Xn=Q?Symbol.for("react.scope"):60119,vr=typeof Symbol=="function"&&Symbol.iterator,jr="@@iterator";function fr(f){if(f===null||typeof f!="object")return null;var c=vr&&f[vr]||f[jr];return typeof c=="function"?c:null}var zr=We;zr=function(f,c){if(!f){for(var E=rt.ReactDebugCurrentFrame,T=E.getStackAddendum(),A=arguments.length,j=new Array(A>2?A-2:0),V=2;V component higher in the tree to provide a loading indicator or placeholder to display.`+Hr(B))}Me!==_0&&(Me=Kn),Z=Cl(Z,B),Rt=P;do{switch(Rt.tag){case 3:de=Z,Rt.effectTag|=4096,Rt.expirationTime=g;var je=_s(Rt,de,g);ua(Rt,je);break e;case 1:de=Z;var st=Rt.type,$t=Rt.stateNode;if((Rt.effectTag&64)===0&&(typeof st.getDerivedStateFromError=="function"||$t!==null&&typeof $t.componentDidCatch=="function"&&(mr===null||!mr.has($t)))){Rt.effectTag|=4096,Rt.expirationTime=g;var Wn=aa(Rt,de,g);ua(Rt,Wn);break e}}Rt=Rt.return}while(Rt!==null)}ie=yo(ie)}catch(oi){g=oi;continue}break}while(1)}function U0(){var _=Zu.current;return Zu.current=bo,_===null?bo:_}function cc(_,g){_Sn&&(Sn=_)}function _2(){for(;ie!==null;)ie=rd(ie)}function nd(){for(;ie!==null&&!$n();)ie=rd(ie)}function rd(_){var g=Ha(_.alternate,_,Pe);return _.memoizedProps=_.pendingProps,g===null&&(g=yo(_)),Es.current=null,g}function yo(_){ie=_;do{var g=ie.alternate;if(_=ie.return,(ie.effectTag&2048)===0){e:{var A=g;g=ie;var P=Pe,B=g.pendingProps;switch(g.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:eu(g.type)&&Q0(g);break;case 3:Je(g),Yi(g),B=g.stateNode,B.pendingContext&&(B.context=B.pendingContext,B.pendingContext=null),(A===null||A.child===null)&&$l(g)&&Qu(g),Qr(g);break;case 5:oe(g);var Z=$(Oe.current);if(P=g.type,A!==null&&g.stateNode!=null)qu(A,g,P,B,Z),A.ref!==g.ref&&(g.effectTag|=128);else if(B){if(A=$(Ce.current),$l(g)){if(B=g,!S)throw Error(t(175));A=su(B.stateNode,B.type,B.memoizedProps,Z,A,B),B.updateQueue=A,A=A!==null,A&&Qu(g)}else{var de=ce(P,B,Z,A,g);$r(de,g,!1,!1),g.stateNode=de,le(de,P,B,Z,A)&&Qu(g)}g.ref!==null&&(g.effectTag|=128)}else if(g.stateNode===null)throw Error(t(166));break;case 6:if(A&&g.stateNode!=null)xn(A,g,A.memoizedProps,B);else{if(typeof B!="string"&&g.stateNode===null)throw Error(t(166));if(A=$(Oe.current),Z=$(Ce.current),$l(g)){if(A=g,!S)throw Error(t(176));(A=ki(A.stateNode,A.memoizedProps,A))&&Qu(g)}else g.stateNode=nn(B,A,Z,g)}break;case 11:break;case 13:if(mi(qe,g),B=g.memoizedState,(g.effectTag&64)!==0){g.expirationTime=P;break e}B=B!==null,Z=!1,A===null?g.memoizedProps.fallback!==void 0&&$l(g):(P=A.memoizedState,Z=P!==null,B||P===null||(P=A.child.sibling,P!==null&&(de=g.firstEffect,de!==null?(g.firstEffect=P,P.nextEffect=de):(g.firstEffect=g.lastEffect=P,P.nextEffect=null),P.effectTag=8))),B&&!Z&&(g.mode&2)!==0&&(A===null&&g.memoizedProps.unstable_avoidThisFallback!==!0||(qe.current&1)!==0?Me===Li&&(Me=$u):((Me===Li||Me===$u)&&(Me=g0),Sn!==0&&fe!==null&&(Ol(fe,Pe),Ts(fe,Sn)))),Er&&B&&(g.effectTag|=4),Vt&&(B||Z)&&(g.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Je(g),Qr(g);break;case 10:wu(g);break;case 9:break;case 14:break;case 17:eu(g.type)&&Q0(g);break;case 19:if(mi(qe,g),B=g.memoizedState,B===null)break;if(Z=(g.effectTag&64)!==0,de=B.rendering,de===null){if(Z)Lu(B,!1);else if(Me!==Li||A!==null&&(A.effectTag&64)!==0)for(A=g.child;A!==null;){if(de=rt(A),de!==null){for(g.effectTag|=64,Lu(B,!1),A=de.updateQueue,A!==null&&(g.updateQueue=A,g.effectTag|=4),B.lastEffect===null&&(g.firstEffect=null),g.lastEffect=B.lastEffect,A=P,B=g.child;B!==null;)Z=B,P=A,Z.effectTag&=2,Z.nextEffect=null,Z.firstEffect=null,Z.lastEffect=null,de=Z.alternate,de===null?(Z.childExpirationTime=0,Z.expirationTime=P,Z.child=null,Z.memoizedProps=null,Z.memoizedState=null,Z.updateQueue=null,Z.dependencies=null):(Z.childExpirationTime=de.childExpirationTime,Z.expirationTime=de.expirationTime,Z.child=de.child,Z.memoizedProps=de.memoizedProps,Z.memoizedState=de.memoizedState,Z.updateQueue=de.updateQueue,P=de.dependencies,Z.dependencies=P===null?null:{expirationTime:P.expirationTime,firstContext:P.firstContext,responders:P.responders}),B=B.sibling;en(qe,qe.current&1|2,g),g=g.child;break e}A=A.sibling}}else{if(!Z)if(A=rt(de),A!==null){if(g.effectTag|=64,Z=!0,A=A.updateQueue,A!==null&&(g.updateQueue=A,g.effectTag|=4),Lu(B,!0),B.tail===null&&B.tailMode==="hidden"&&!de.alternate){g=g.lastEffect=B.lastEffect,g!==null&&(g.nextEffect=null);break}}else h0()>B.tailExpiration&&1B&&(B=P),de>B&&(B=de),Z=Z.sibling;A.childExpirationTime=B}if(g!==null)return g;_!==null&&(_.effectTag&2048)===0&&(_.firstEffect===null&&(_.firstEffect=ie.firstEffect),ie.lastEffect!==null&&(_.lastEffect!==null&&(_.lastEffect.nextEffect=ie.firstEffect),_.lastEffect=ie.lastEffect),1_?g:_}function Rl(_){var g=hs();return co(99,ul.bind(null,_,g)),null}function ul(_,g){do qs();while(ti!==null);if((Ln&(nu|fu))!==Rr)throw Error(t(327));var A=_.finishedWork,P=_.finishedExpirationTime;if(A===null)return null;if(_.finishedWork=null,_.finishedExpirationTime=0,A===_.current)throw Error(t(177));_.callbackNode=null,_.callbackExpirationTime=0,_.callbackPriority=90,_.nextKnownPendingLevel=0;var B=qc(A);if(_.firstPendingTime=B,P<=_.lastSuspendedTime?_.firstSuspendedTime=_.lastSuspendedTime=_.nextKnownPendingLevel=0:P<=_.firstSuspendedTime&&(_.firstSuspendedTime=P-1),P<=_.lastPingedTime&&(_.lastPingedTime=0),P<=_.lastExpiredTime&&(_.lastExpiredTime=0),_===fe&&(ie=fe=null,Pe=0),1=A?Kt(_,g,A):(en(qe,qe.current&1,g),g=mu(_,g,A),g!==null?g.sibling:null);en(qe,qe.current&1,g);break;case 19:if(P=g.childExpirationTime>=A,(_.effectTag&64)!==0){if(P)return bn(_,g,A);g.effectTag|=64}if(B=g.memoizedState,B!==null&&(B.rendering=null,B.tail=null),en(qe,qe.current,g),!P)return null}return mu(_,g,A)}ho=!1}}else ho=!1;switch(g.expirationTime=0,g.tag){case 2:if(P=g.type,_!==null&&(_.alternate=null,g.alternate=null,g.effectTag|=2),_=g.pendingProps,B=Ru(g,Ai.current),Fo(g,A),B=un(null,g,P,_,B,A),g.effectTag|=1,typeof B=="object"&&B!==null&&typeof B.render=="function"&&B.$$typeof===void 0){if(g.tag=1,fn(),eu(P)){var Z=!0;li(g)}else Z=!1;g.memoizedState=B.state!==null&&B.state!==void 0?B.state:null;var de=P.getDerivedStateFromProps;typeof de=="function"&&Zl(g,P,de,_),B.updater=oa,g.stateNode=B,B._reactInternalFiber=g,Bs(g,P,_,A),g=tt(null,g,P,!0,Z,A)}else g.tag=0,Bi(null,g,B,A),g=g.child;return g;case 16:if(B=g.elementType,_!==null&&(_.alternate=null,g.alternate=null,g.effectTag|=2),_=g.pendingProps,Ae(B),B._status!==1)throw B._result;switch(B=B._result,g.type=B,Z=g.tag=ol(B),_=Yn(B,_),Z){case 0:g=to(null,g,B,_,A);break;case 1:g=xe(null,g,B,_,A);break;case 11:g=Ci(null,g,B,_,A);break;case 14:g=mf(null,g,B,Yn(B.type,_),P,A);break;default:throw Error(t(306,B,""))}return g;case 0:return P=g.type,B=g.pendingProps,B=g.elementType===P?B:Yn(P,B),to(_,g,P,B,A);case 1:return P=g.type,B=g.pendingProps,B=g.elementType===P?B:Yn(P,B),xe(_,g,P,B,A);case 3:if(Ke(g),P=g.updateQueue,P===null)throw Error(t(282));if(B=g.memoizedState,B=B!==null?B.element:null,S0(g,P,g.pendingProps,null,A),P=g.memoizedState.element,P===B)tu(),g=mu(_,g,A);else{if((B=g.stateNode.hydrate)&&(S?(Su=F0(g.stateNode.containerInfo),Xu=g,B=_i=!0):B=!1),B)for(A=Y(g,null,P,A),g.child=A;A;)A.effectTag=A.effectTag&-3|1024,A=A.sibling;else Bi(_,g,P,A),tu();g=g.child}return g;case 5:return vt(g),_===null&&Uo(g),P=g.type,B=g.pendingProps,Z=_!==null?_.memoizedProps:null,de=B.children,dt(P,B)?de=null:Z!==null&&dt(P,Z)&&(g.effectTag|=16),eo(_,g),g.mode&4&&A!==1&&At(P,B)?(g.expirationTime=g.childExpirationTime=1,g=null):(Bi(_,g,de,A),g=g.child),g;case 6:return _===null&&Uo(g),null;case 13:return Kt(_,g,A);case 4:return Ne(g,g.stateNode.containerInfo),P=g.pendingProps,_===null?g.child=H(g,null,P,A):Bi(_,g,P,A),g.child;case 11:return P=g.type,B=g.pendingProps,B=g.elementType===P?B:Yn(P,B),Ci(_,g,P,B,A);case 7:return Bi(_,g,g.pendingProps,A),g.child;case 8:return Bi(_,g,g.pendingProps.children,A),g.child;case 12:return Bi(_,g,g.pendingProps.children,A),g.child;case 10:e:{if(P=g.type._context,B=g.pendingProps,de=g.memoizedProps,Z=B.value,zu(g,Z),de!==null){var yt=de.value;if(Z=Fe(yt,Z)?0:(typeof P._calculateChangedBits=="function"?P._calculateChangedBits(yt,Z):1073741823)|0,Z===0){if(de.children===B.children&&!yi.current){g=mu(_,g,A);break e}}else for(yt=g.child,yt!==null&&(yt.return=g);yt!==null;){var Rt=yt.dependencies;if(Rt!==null){de=yt.child;for(var Nt=Rt.firstContext;Nt!==null;){if(Nt.context===P&&(Nt.observedBits&Z)!==0){yt.tag===1&&(Nt=v0(A,null),Nt.tag=2,J0(yt,Nt)),yt.expirationTime"u")return!1;var g=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(g.isDisabled||!g.supportsFiber)return!0;try{var A=g.inject(_);ca=function(P){try{g.onCommitFiberRoot(A,P,void 0,(P.current.effectTag&64)===64)}catch{}},ws=function(P){try{g.onCommitFiberUnmount(A,P)}catch{}}}catch{}return!0}function ts(_,g,A,P){this.tag=_,this.key=A,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=g,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Ho(_,g,A,P){return new ts(_,g,A,P)}function Ef(_){return _=_.prototype,!(!_||!_.isReactComponent)}function ol(_){if(typeof _=="function")return Ef(_)?1:0;if(_!=null){if(_=_.$$typeof,_===De)return 11;if(_===we)return 14}return 2}function Vu(_,g){var A=_.alternate;return A===null?(A=Ho(_.tag,g,_.key,_.mode),A.elementType=_.elementType,A.type=_.type,A.stateNode=_.stateNode,A.alternate=_,_.alternate=A):(A.pendingProps=g,A.effectTag=0,A.nextEffect=null,A.firstEffect=null,A.lastEffect=null),A.childExpirationTime=_.childExpirationTime,A.expirationTime=_.expirationTime,A.child=_.child,A.memoizedProps=_.memoizedProps,A.memoizedState=_.memoizedState,A.updateQueue=_.updateQueue,g=_.dependencies,A.dependencies=g===null?null:{expirationTime:g.expirationTime,firstContext:g.firstContext,responders:g.responders},A.sibling=_.sibling,A.index=_.index,A.ref=_.ref,A}function qa(_,g,A,P,B,Z){var de=2;if(P=_,typeof _=="function")Ef(_)&&(de=1);else if(typeof _=="string")de=5;else e:switch(_){case j:return n0(A.children,B,Z,g);case me:de=8,B|=7;break;case q:de=8,B|=1;break;case V:return _=Ho(12,A,g,B|8),_.elementType=V,_.type=V,_.expirationTime=Z,_;case ge:return _=Ho(13,A,g,B),_.type=ge,_.elementType=ge,_.expirationTime=Z,_;case ae:return _=Ho(19,A,g,B),_.elementType=ae,_.expirationTime=Z,_;default:if(typeof _=="object"&&_!==null)switch(_.$$typeof){case re:de=10;break e;case y:de=9;break e;case De:de=11;break e;case we:de=14;break e;case he:de=16,P=null;break e}throw Error(t(130,_==null?_:typeof _,""))}return g=Ho(de,A,g,B),g.elementType=_,g.type=P,g.expirationTime=Z,g}function n0(_,g,A,P){return _=Ho(7,_,P,g),_.expirationTime=A,_}function j0(_,g,A){return _=Ho(6,_,null,g),_.expirationTime=A,_}function Df(_,g,A){return g=Ho(4,_.children!==null?_.children:[],_.key,g),g.expirationTime=A,g.stateNode={containerInfo:_.containerInfo,pendingChildren:null,implementation:_.implementation},g}function Wc(_,g,A){this.tag=g,this.current=null,this.containerInfo=_,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=lr,this.pendingContext=this.context=null,this.hydrate=A,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function dc(_,g){var A=_.firstSuspendedTime;return _=_.lastSuspendedTime,A!==0&&A>=g&&_<=g}function Ol(_,g){var A=_.firstSuspendedTime,P=_.lastSuspendedTime;Ag||A===0)&&(_.lastSuspendedTime=g),g<=_.lastPingedTime&&(_.lastPingedTime=0),g<=_.lastExpiredTime&&(_.lastExpiredTime=0)}function Ts(_,g){g>_.firstPendingTime&&(_.firstPendingTime=g);var A=_.firstSuspendedTime;A!==0&&(g>=A?_.firstSuspendedTime=_.lastSuspendedTime=_.nextKnownPendingLevel=0:g>=_.lastSuspendedTime&&(_.lastSuspendedTime=g+1),g>_.nextKnownPendingLevel&&(_.nextKnownPendingLevel=g))}function da(_,g){var A=_.lastExpiredTime;(A===0||A>g)&&(_.lastExpiredTime=g)}function ud(_){var g=_._reactInternalFiber;if(g===void 0)throw typeof _.render=="function"?Error(t(188)):Error(t(268,Object.keys(_)));return _=Qe(g),_===null?null:_.stateNode}function pa(_,g){_=_.memoizedState,_!==null&&_.dehydrated!==null&&_.retryTime{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var _P=0;ec.__interactionsRef=null;ec.__subscriberRef=null;ec.unstable_clear=function(o){return o()};ec.unstable_getCurrent=function(){return null};ec.unstable_getThreadID=function(){return++_P};ec.unstable_trace=function(o,l,f){return f()};ec.unstable_wrap=function(o){return o};ec.unstable_subscribe=function(){};ec.unstable_unsubscribe=function(){}});var WS=nt(vu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(vu,"__esModule",{value:!0});var o=!0,l=0,f=0,h=0;vu.__interactionsRef=null,vu.__subscriberRef=null,o&&(vu.__interactionsRef={current:new Set},vu.__subscriberRef={current:null});function E(ae){if(!o)return ae();var we=vu.__interactionsRef.current;vu.__interactionsRef.current=new Set;try{return ae()}finally{vu.__interactionsRef.current=we}}function t(){return o?vu.__interactionsRef.current:null}function N(){return++h}function F(ae,we,he){var ve=arguments.length>3&&arguments[3]!==void 0?arguments[3]:l;if(!o)return he();var ue={__count:1,id:f++,name:ae,timestamp:we},Ae=vu.__interactionsRef.current,ze=new Set(Ae);ze.add(ue),vu.__interactionsRef.current=ze;var We=vu.__subscriberRef.current,gt;try{We!==null&&We.onInteractionTraced(ue)}finally{try{We!==null&&We.onWorkStarted(ze,ve)}finally{try{gt=he()}finally{vu.__interactionsRef.current=Ae;try{We!==null&&We.onWorkStopped(ze,ve)}finally{ue.__count--,We!==null&&ue.__count===0&&We.onInteractionScheduledWorkCompleted(ue)}}}}return gt}function k(ae){var we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l;if(!o)return ae;var he=vu.__interactionsRef.current,ve=vu.__subscriberRef.current;ve!==null&&ve.onWorkScheduled(he,we),he.forEach(function(ze){ze.__count++});var ue=!1;function Ae(){var ze=vu.__interactionsRef.current;vu.__interactionsRef.current=he,ve=vu.__subscriberRef.current;try{var We;try{ve!==null&&ve.onWorkStarted(he,we)}finally{try{We=ae.apply(void 0,arguments)}finally{vu.__interactionsRef.current=ze,ve!==null&&ve.onWorkStopped(he,we)}}return We}finally{ue||(ue=!0,he.forEach(function(gt){gt.__count--,ve!==null&>.__count===0&&ve.onInteractionScheduledWorkCompleted(gt)}))}}return Ae.cancel=function(){ve=vu.__subscriberRef.current;try{ve!==null&&ve.onWorkCanceled(he,we)}finally{he.forEach(function(We){We.__count--,ve&&We.__count===0&&ve.onInteractionScheduledWorkCompleted(We)})}},Ae}var x=null;o&&(x=new Set);function j(ae){o&&(x.add(ae),x.size===1&&(vu.__subscriberRef.current={onInteractionScheduledWorkCompleted:re,onInteractionTraced:V,onWorkCanceled:ge,onWorkScheduled:y,onWorkStarted:me,onWorkStopped:De}))}function q(ae){o&&(x.delete(ae),x.size===0&&(vu.__subscriberRef.current=null))}function V(ae){var we=!1,he=null;if(x.forEach(function(ve){try{ve.onInteractionTraced(ae)}catch(ue){we||(we=!0,he=ue)}}),we)throw he}function re(ae){var we=!1,he=null;if(x.forEach(function(ve){try{ve.onInteractionScheduledWorkCompleted(ae)}catch(ue){we||(we=!0,he=ue)}}),we)throw he}function y(ae,we){var he=!1,ve=null;if(x.forEach(function(ue){try{ue.onWorkScheduled(ae,we)}catch(Ae){he||(he=!0,ve=Ae)}}),he)throw ve}function me(ae,we){var he=!1,ve=null;if(x.forEach(function(ue){try{ue.onWorkStarted(ae,we)}catch(Ae){he||(he=!0,ve=Ae)}}),he)throw ve}function De(ae,we){var he=!1,ve=null;if(x.forEach(function(ue){try{ue.onWorkStopped(ae,we)}catch(Ae){he||(he=!0,ve=Ae)}}),he)throw ve}function ge(ae,we){var he=!1,ve=null;if(x.forEach(function(ue){try{ue.onWorkCanceled(ae,we)}catch(Ae){he||(he=!0,ve=Ae)}}),he)throw ve}vu.unstable_clear=E,vu.unstable_getCurrent=t,vu.unstable_getThreadID=N,vu.unstable_trace=F,vu.unstable_wrap=k,vu.unstable_subscribe=j,vu.unstable_unsubscribe=q}()});var VS=nt((_H,vD)=>{"use strict";process.env.NODE_ENV==="production"?vD.exports=qS():vD.exports=WS()});var GS=nt((EH,Yy)=>{"use strict";process.env.NODE_ENV!=="production"&&(Yy.exports=function o(l){"use strict";var f=Py(),h=Mi(),E=XE(),t=z_(),N=VS(),F=0,k=1,x=2,j=3,q=4,V=5,re=6,y=7,me=8,De=9,ge=10,ae=11,we=12,he=13,ve=14,ue=15,Ae=16,ze=17,We=18,gt=19,_t=20,Qe=21,ot=function(){};ot=function(c,d){for(var D=arguments.length,C=new Array(D>2?D-2:0),O=2;O8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!c){if(typeof console<"u"){var z=C.map(function(se){return""+se});z.unshift("Warning: "+d),Function.prototype.apply.call(console.error,console,z)}try{var G=0,ne="Warning: "+d.replace(/%s/g,function(){return C[G++]});throw new Error(ne)}catch{}}};var Ve=ot;function Pt(c){return c._reactInternalFiber}function Jt(c,d){c._reactInternalFiber=d}var it=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;it.hasOwnProperty("ReactCurrentDispatcher")||(it.ReactCurrentDispatcher={current:null}),it.hasOwnProperty("ReactCurrentBatchConfig")||(it.ReactCurrentBatchConfig={suspense:null});var J=typeof Symbol=="function"&&Symbol.for,ce=J?Symbol.for("react.element"):60103,Re=J?Symbol.for("react.portal"):60106,le=J?Symbol.for("react.fragment"):60107,He=J?Symbol.for("react.strict_mode"):60108,dt=J?Symbol.for("react.profiler"):60114,At=J?Symbol.for("react.provider"):60109,nn=J?Symbol.for("react.context"):60110,an=J?Symbol.for("react.concurrent_mode"):60111,On=J?Symbol.for("react.forward_ref"):60112,lr=J?Symbol.for("react.suspense"):60113,ln=J?Symbol.for("react.suspense_list"):60120,Vt=J?Symbol.for("react.memo"):60115,Er=J?Symbol.for("react.lazy"):60116,S=J?Symbol.for("react.fundamental"):60117,zt=J?Symbol.for("react.responder"):60118,Xn=J?Symbol.for("react.scope"):60119,vr=typeof Symbol=="function"&&Symbol.iterator,jr="@@iterator";function fr(c){if(c===null||typeof c!="object")return null;var d=vr&&c[vr]||c[jr];return typeof d=="function"?d:null}var zr=Ve;zr=function(c,d){if(!c){for(var D=it.ReactDebugCurrentFrame,C=D.getStackAddendum(),O=arguments.length,z=new Array(O>2?O-2:0),G=2;G import('./MyComponent'))`,T),f._status=Ro,f._result=A}},function(T){f._status===d0&&(f._status=Qo,f._result=T)})}}function Zo(f,c,E){var T=c.displayName||c.name||"";return f.displayName||(T!==""?E+"("+T+")":E)}function qt(f){if(f==null)return null;if(typeof f.tag=="number"&&We(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f;switch(f){case oe:return"Fragment";case xe:return"Portal";case ct:return"Profiler";case ze:return"StrictMode";case lr:return"Suspense";case ln:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case nn:return"Context.Consumer";case Rt:return"Context.Provider";case Mn:return Zo(f,f.render,"ForwardRef");case Vt:return qt(f.type);case Er:{var c=f,E=Fs(c);if(E)return qt(E);break}}return null}var xi=0,lu=1,mi=2,Dr=4,$o=6,G0=8,Uu=16,Y0=32,Xr=64,Ao=128,Oo=256,F0=512,su=1024,ki=1028,Ps=932,Kl=2047,P0=2048,p0=4096,Hr=!0,Ri=!0,K0=!0,yi=!0,en=!0,bn=!0,Ai=!1,gi=!1,Wt=!1,Au=!1,eu=!1,X0=!0,Yi=!1,Xl=!1,Mo=!1,ai=!1,so=!1,Ql=rt.ReactCurrentOwner;function ko(f){var c=f,E=f;if(f.alternate)for(;c.return;)c=c.return;else{var T=c;do c=T,(c.effectTag&(mi|su))!==xi&&(E=c.return),T=c.return;while(T)}return c.tag===U?E:null}function Is(f){return ko(f)===f}function $n(f){{var c=Ql.current;if(c!==null&&c.tag===O){var E=c,T=E.stateNode;T._warnedAboutRefsInRender||We(!1,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",qt(E.type)||"A component"),T._warnedAboutRefsInRender=!0}}var A=Ft(f);return A?ko(A)===A:!1}function el(f){if(ko(f)!==f)throw Error("Unable to find node on an unmounted component.")}function ao(f){var c=f.alternate;if(!c){var E=ko(f);if(E===null)throw Error("Unable to find node on an unmounted component.");return E!==f?null:f}for(var T=f,A=c;;){var j=T.return;if(j===null)break;var V=j.alternate;if(V===null){var te=j.return;if(te!==null){T=A=te;continue}break}if(j.child===V.child){for(var le=j.child;le;){if(le===T)return el(j),f;if(le===A)return el(j),c;le=le.sibling}throw Error("Unable to find node on an unmounted component.")}if(T.return!==A.return)T=j,A=V;else{for(var Be=!1,Ke=j.child;Ke;){if(Ke===T){Be=!0,T=j,A=V;break}if(Ke===A){Be=!0,A=j,T=V;break}Ke=Ke.sibling}if(!Be){for(Ke=V.child;Ke;){if(Ke===T){Be=!0,T=V,A=j;break}if(Ke===A){Be=!0,A=V,T=j;break}Ke=Ke.sibling}if(!Be)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(T.alternate!==A)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(T.tag!==U)throw Error("Unable to find node on an unmounted component.");return T.stateNode.current===T?f:c}function I0(f){var c=ao(f);if(!c)return null;for(var E=c;;){if(E.tag===W||E.tag===ne)return E;if(E.child){E.child.return=E,E=E.child;continue}if(E===c)return null;for(;!E.sibling;){if(!E.return||E.return===c)return null;E=E.return}E.sibling.return=E.return,E=E.sibling}return null}function wl(f){var c=ao(f);if(!c)return null;for(var E=c;;){if(E.tag===W||E.tag===ne||Wt&&E.tag===gt)return E;if(E.child&&E.tag!==H){E.child.return=E,E=E.child;continue}if(E===c)return null;for(;!E.sibling;){if(!E.return||E.return===c)return null;E=E.return}E.sibling.return=E.return,E=E.sibling}return null}var No=o.getPublicInstance,wt=o.getRootHostContext,bt=o.getChildHostContext,Hn=o.prepareForCommit,qr=o.resetAfterCommit,Ki=o.createInstance,Qr=o.appendInitialChild,Ou=o.finalizeInitialChildren,h0=o.prepareUpdate,Ni=o.shouldSetTextContent,v0=o.shouldDeprioritizeSubtree,hs=o.createTextInstance,Tt=o.setTimeout,fo=o.clearTimeout,tl=o.noTimeout,Jl=o.now,ju=o.isPrimaryRenderer,vs=o.warnsIfNotActing,b0=o.supportsMutation,X=o.supportsPersistence,we=o.supportsHydration,Le=o.mountResponderInstance,Ne=o.unmountResponderInstance,dt=o.getFundamentalComponentInstance,Yn=o.mountFundamentalComponent,Cn=o.shouldUpdateFundamentalComponent,cr=o.getInstanceFromNode,Si=o.appendChild,Mu=o.appendChildToContainer,zu=o.commitTextUpdate,Hu=o.commitMount,Su=o.commitUpdate,Ti=o.insertBefore,Lo=o.insertInContainerBefore,ku=o.removeChild,co=o.removeChildFromContainer,qu=o.resetTextContent,Pa=o.hideInstance,m0=o.hideTextInstance,ia=o.unhideInstance,Q0=o.unhideTextInstance,ua=o.updateFundamentalComponent,Ia=o.unmountFundamentalComponent,ms=o.cloneInstance,S0=o.createContainerChildSet,Qn=o.appendChildToContainerChildSet,ac=o.finalizeContainerChildren,fi=o.replaceContainerChildren,$r=o.cloneHiddenInstance,Zl=o.cloneHiddenTextInstance,oa=o.cloneInstance,pf=o.canHydrateInstance,bs=o.canHydrateTextInstance,ba=o.canHydrateSuspenseInstance,Bs=o.isSuspenseInstancePending,y0=o.isSuspenseInstanceFallback,Us=o.registerSuspenseInstanceRetry,ji=o.getNextHydratableSibling,B=o.getFirstHydratableChild,z=o.hydrateInstance,G=o.hydrateTextInstance,$=o.hydrateSuspenseInstance,Te=o.getNextHydratableInstanceAfterSuspenseInstance,ge=o.commitHydratedContainer,Re=o.commitHydratedSuspenseInstance,Z=o.clearSuspenseBoundary,ke=o.clearSuspenseBoundaryFromContainer,Qe=o.didNotMatchHydratedContainerTextInstance,ht=o.didNotMatchHydratedTextInstance,ue=o.didNotHydrateContainerInstance,He=o.didNotHydrateInstance,nt=o.didNotFindHydratableContainerInstance,Ct=o.didNotFindHydratableContainerTextInstance,Mt=o.didNotFindHydratableContainerSuspenseInstance,It=o.didNotFindHydratableInstance,sn=o.didNotFindHydratableTextInstance,rn=o.didNotFindHydratableSuspenseInstance,Lt=/^(.*)[\\\/]/,Dn=function(f,c,E){var T="";if(c){var A=c.fileName,j=A.replace(Lt,"");if(/^index\./.test(j)){var V=A.match(Lt);if(V){var te=V[1];if(te){var le=te.replace(Lt,"");j=le+"/"+j}}}T=" (at "+j+":"+c.lineNumber+")"}else E&&(T=" (created by "+E+")");return` - in `+(f||"Unknown")+T},dr=rt.ReactDebugCurrentFrame;function er(f){switch(f.tag){case U:case H:case ne:case m:case ve:case Ee:return"";default:var c=f._debugOwner,E=f._debugSource,T=qt(f.type),A=null;return c&&(A=qt(c.type)),Dn(T,E,A)}}function Cr(f){var c="",E=f;do c+=er(E),E=E.return;while(E);return c}var An=null,Nr=null;function g0(){{if(An===null)return null;var f=An._debugOwner;if(f!==null&&typeof f!="undefined")return qt(f.type)}return null}function Lr(){return An===null?"":Cr(An)}function it(){dr.getCurrentStack=null,An=null,Nr=null}function Dt(f){dr.getCurrentStack=Lr,An=f,Nr=null}function $e(f){Nr=f}var Pt="\u269B",un="\u26D4",fn=typeof performance!="undefined"&&typeof performance.mark=="function"&&typeof performance.clearMarks=="function"&&typeof performance.measure=="function"&&typeof performance.clearMeasures=="function",Jn=null,wr=null,au=null,Nu=!1,T0=!1,J0=!1,Lu=0,_i=0,Fo=new Set,nl=function(f){return Pt+" "+f},hf=function(f,c){var E=c?un+" ":Pt+" ",T=c?" Warning: "+c:"";return""+E+f+T},Sl=function(f){performance.mark(nl(f))},vf=function(f){performance.clearMarks(nl(f))},Po=function(f,c,E){var T=nl(c),A=hf(f,E);try{performance.measure(A,T)}catch(j){}performance.clearMarks(T),performance.clearMeasures(A)},ys=function(f,c){return f+" (#"+c+")"},js=function(f,c,E){return E===null?f+" ["+(c?"update":"mount")+"]":f+"."+E},Io=function(f,c){var E=qt(f.type)||"Unknown",T=f._debugID,A=f.alternate!==null,j=js(E,A,c);if(Nu&&Fo.has(j))return!1;Fo.add(j);var V=ys(j,T);return Sl(V),!0},bo=function(f,c){var E=qt(f.type)||"Unknown",T=f._debugID,A=f.alternate!==null,j=js(E,A,c),V=ys(j,T);vf(V)},gs=function(f,c,E){var T=qt(f.type)||"Unknown",A=f._debugID,j=f.alternate!==null,V=js(T,j,c),te=ys(V,A);Po(V,te,E)},Qu=function(f){switch(f.tag){case U:case W:case ne:case H:case m:case ve:case Ee:case he:return!0;default:return!1}},Tu=function(){wr!==null&&au!==null&&bo(au,wr),au=null,wr=null,J0=!1},Ei=function(){for(var f=Jn;f;)f._debugIsCurrentlyTiming&&gs(f,null,null),f=f.return},C0=function(f){f.return!==null&&C0(f.return),f._debugIsCurrentlyTiming&&Io(f,null)},Z0=function(){Jn!==null&&C0(Jn)};function Bo(){Hr&&_i++}function la(){Hr&&(Nu&&(T0=!0),wr!==null&&wr!=="componentWillMount"&&wr!=="componentWillReceiveProps"&&(J0=!0))}function $l(f){if(Hr){if(!fn||Qu(f)||(Jn=f,!Io(f,null)))return;f._debugIsCurrentlyTiming=!0}}function tu(f){if(Hr){if(!fn||Qu(f))return;f._debugIsCurrentlyTiming=!1,bo(f,null)}}function ei(f){if(Hr){if(!fn||Qu(f)||(Jn=f.return,!f._debugIsCurrentlyTiming))return;f._debugIsCurrentlyTiming=!1,gs(f,null,null)}}function po(f){if(Hr){if(!fn||Qu(f)||(Jn=f.return,!f._debugIsCurrentlyTiming))return;f._debugIsCurrentlyTiming=!1;var c=f.tag===pe?"Rendering was suspended":"An error was thrown inside this error boundary";gs(f,null,c)}}function Bi(f,c){if(Hr){if(!fn||(Tu(),!Io(f,c)))return;au=f,wr=c}}function Ci(){if(Hr){if(!fn)return;if(wr!==null&&au!==null){var f=J0?"Scheduled a cascading update":null;gs(au,wr,f)}wr=null,au=null}}function mf(f){if(Hr){if(Jn=f,!fn)return;Lu=0,Sl("(React Tree Reconciliation)"),Z0()}}function yf(f,c){if(Hr){if(!fn)return;var E=null;if(f!==null)if(f.tag===U)E="A top-level update interrupted the previous render";else{var T=qt(f.type)||"Unknown";E="An update to "+T+" interrupted the previous render"}else Lu>1&&(E="There were cascading updates");Lu=0;var A=c?"(React Tree Reconciliation: Completed Root)":"(React Tree Reconciliation: Yielded)";Ei(),Po(A,"(React Tree Reconciliation)",E)}}function $0(){if(Hr){if(!fn)return;Nu=!0,T0=!1,Fo.clear(),Sl("(Committing Changes)")}}function eo(){if(Hr){if(!fn)return;var f=null;T0?f="Lifecycle hook scheduled a cascading update":Lu>0&&(f="Caused by a cascading update in earlier commit"),T0=!1,Lu++,Nu=!1,Fo.clear(),Po("(Committing Changes)","(Committing Changes)",f)}}function Ce(){if(Hr){if(!fn)return;_i=0,Sl("(Committing Snapshot Effects)")}}function et(){if(Hr){if(!fn)return;var f=_i;_i=0,Po("(Committing Snapshot Effects: "+f+" Total)","(Committing Snapshot Effects)",null)}}function Ye(){if(Hr){if(!fn)return;_i=0,Sl("(Committing Host Effects)")}}function Yt(){if(Hr){if(!fn)return;var f=_i;_i=0,Po("(Committing Host Effects: "+f+" Total)","(Committing Host Effects)",null)}}function Kt(){if(Hr){if(!fn)return;_i=0,Sl("(Calling Lifecycle Methods)")}}function pr(){if(Hr){if(!fn)return;var f=_i;_i=0,Po("(Calling Lifecycle Methods: "+f+" Total)","(Calling Lifecycle Methods)",null)}}var Wr=[],xn;xn=[];var yu=-1;function Ju(f){return{current:f}}function ti(f,c){if(yu<0){We(!1,"Unexpected pop.");return}c!==xn[yu]&&We(!1,"Unexpected Fiber popped."),f.current=Wr[yu],Wr[yu]=null,xn[yu]=null,yu--}function Jr(f,c,E){yu++,Wr[yu]=f.current,xn[yu]=E,f.current=c}var Wu;Wu={};var Rn={};Object.freeze(Rn);var x0=Ju(Rn),Fu=Ju(!1),li=Rn;function Tl(f,c,E){return ai?Rn:E&&Xi(c)?li:x0.current}function zs(f,c,E){if(!ai){var T=f.stateNode;T.__reactInternalMemoizedUnmaskedChildContext=c,T.__reactInternalMemoizedMaskedChildContext=E}}function Vu(f,c){if(ai)return Rn;var E=f.type,T=E.contextTypes;if(!T)return Rn;var A=f.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===c)return A.__reactInternalMemoizedMaskedChildContext;var j={};for(var V in T)j[V]=c[V];{var te=qt(E)||"Unknown";_(T,j,"context",te,Lr)}return A&&zs(f,c,j),j}function sa(){return ai?!1:Fu.current}function Xi(f){if(ai)return!1;var c=f.childContextTypes;return c!=null}function Hs(f){ai||(ti(Fu,f),ti(x0,f))}function R0(f){ai||(ti(Fu,f),ti(x0,f))}function zi(f,c,E){if(!ai){if(x0.current!==Rn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Jr(x0,c,f),Jr(Fu,E,f)}}function A0(f,c,E){if(ai)return E;var T=f.stateNode,A=c.childContextTypes;if(typeof T.getChildContext!="function"){{var j=qt(c)||"Unknown";Wu[j]||(Wu[j]=!0,We(!1,"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.",j,j))}return E}var V;$e("getChildContext"),Bi(f,"getChildContext"),V=T.getChildContext(),Ci(),$e(null);for(var te in V)if(!(te in A))throw Error((qt(c)||"Unknown")+'.getChildContext(): key "'+te+'" is not defined in childContextTypes.');{var le=qt(c)||"Unknown";_(A,V,"child context",le,Lr)}return a({},E,{},V)}function Hi(f){if(ai)return!1;var c=f.stateNode,E=c&&c.__reactInternalMemoizedMergedChildContext||Rn;return li=x0.current,Jr(x0,E,f),Jr(Fu,Fu.current,f),!0}function rl(f,c,E){if(!ai){var T=f.stateNode;if(!T)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");if(E){var A=A0(f,c,li);T.__reactInternalMemoizedMergedChildContext=A,ti(Fu,f),ti(x0,f),Jr(x0,A,f),Jr(Fu,E,f)}else ti(Fu,f),Jr(Fu,E,f)}}function Cl(f){if(ai)return Rn;if(!(Is(f)&&f.tag===O))throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var c=f;do{switch(c.tag){case U:return c.stateNode.context;case O:{var E=c.type;if(Xi(E))return c.stateNode.__reactInternalMemoizedMergedChildContext;break}}c=c.return}while(c!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}var B0=1,O0=2,ho=t.unstable_runWithPriority,Pu=t.unstable_scheduleCallback,Zu=t.unstable_cancelCallback,es=t.unstable_shouldYield,_s=t.unstable_requestPaint,aa=t.unstable_now,gf=t.unstable_getCurrentPriorityLevel,$u=t.unstable_ImmediatePriority,Es=t.unstable_UserBlockingPriority,Rr=t.unstable_NormalPriority,to=t.unstable_LowPriority,nu=t.unstable_IdlePriority;if(bn&&!(k.__interactionsRef!=null&&k.__interactionsRef.current!=null))throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling");var fu={},Li=99,ni=98,Kn=97,e0=96,_0=95,E0=90,Fn=es,ae=_s!==void 0?_s:function(){},re=null,Fe=null,Ae=!1,st=aa(),vt=st<1e4?aa:function(){return aa()-st};function Qt(){switch(gf()){case $u:return Li;case Es:return ni;case Rr:return Kn;case to:return e0;case nu:return _0;default:throw Error("Unknown priority level.")}}function On(f){switch(f){case Li:return $u;case ni:return Es;case Kn:return Rr;case e0:return to;case _0:return nu;default:throw Error("Unknown priority level.")}}function Sn(f,c){var E=On(f);return ho(E,c)}function _n(f,c,E){var T=On(f);return Pu(T,c,E)}function Tn(f){return re===null?(re=[f],Fe=Pu($u,Fi)):re.push(f),fu}function ir(f){f!==fu&&Zu(f)}function Bt(){if(Fe!==null){var f=Fe;Fe=null,Zu(f)}Fi()}function Fi(){if(!Ae&&re!==null){Ae=!0;var f=0;try{var c=!0,E=re;Sn(Li,function(){for(;f1?c-1:0),T=1;T2?E-2:0),A=2;A0&&(ja.forEach(function(Nt){f.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),ja=[]);var c=new Set;za.length>0&&(za.forEach(function(Nt){c.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),za=[]);var E=new Set;Ha.length>0&&(Ha.forEach(function(Nt){E.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),Ha=[]);var T=new Set;ca.length>0&&(ca.forEach(function(Nt){T.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),ca=[]);var A=new Set;ws.length>0&&(ws.forEach(function(Nt){A.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),ws=[]);var j=new Set;if(Ss.length>0&&(Ss.forEach(function(Nt){j.add(qt(Nt.type)||"Component"),ts.add(Nt.type)}),Ss=[]),c.size>0){var V=jo(c);We(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. + const MyComponent = lazy(() => import('./MyComponent'))`,C),c._status=Ao,c._result=O}},function(C){c._status===c0&&(c._status=Jo,c._result=C)})}}function $o(c,d,D){var C=d.displayName||d.name||"";return c.displayName||(C!==""?D+"("+C+")":D)}function qt(c){if(c==null)return null;if(typeof c.tag=="number"&&Ve(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof c=="function")return c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case le:return"Fragment";case Re:return"Portal";case dt:return"Profiler";case He:return"StrictMode";case lr:return"Suspense";case ln:return"SuspenseList"}if(typeof c=="object")switch(c.$$typeof){case nn:return"Context.Consumer";case At:return"Context.Provider";case On:return $o(c,c.render,"ForwardRef");case Vt:return qt(c.type);case Er:{var d=c,D=Fs(d);if(D)return qt(D);break}}return null}var xi=0,lu=1,vi=2,Dr=4,el=6,Y0=8,Bu=16,K0=32,Kr=64,Oo=128,Mo=256,F0=512,su=1024,ki=1028,Ps=932,Kl=2047,P0=2048,d0=4096,Hr=!0,Ri=!0,X0=!0,mi=!0,en=!0,In=!0,Ai=!1,yi=!1,Wt=!1,Ru=!1,eu=!1,Q0=!0,Yi=!1,Xl=!1,ko=!1,li=!1,ao=!1,Ql=it.ReactCurrentOwner;function No(c){var d=c,D=c;if(c.alternate)for(;d.return;)d=d.return;else{var C=d;do d=C,(d.effectTag&(vi|su))!==xi&&(D=d.return),C=d.return;while(C)}return d.tag===j?D:null}function Is(c){return No(c)===c}function $n(c){{var d=Ql.current;if(d!==null&&d.tag===k){var D=d,C=D.stateNode;C._warnedAboutRefsInRender||Ve(!1,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",qt(D.type)||"A component"),C._warnedAboutRefsInRender=!0}}var O=Pt(c);return O?No(O)===O:!1}function tl(c){if(No(c)!==c)throw Error("Unable to find node on an unmounted component.")}function fo(c){var d=c.alternate;if(!d){var D=No(c);if(D===null)throw Error("Unable to find node on an unmounted component.");return D!==c?null:c}for(var C=c,O=d;;){var z=C.return;if(z===null)break;var G=z.alternate;if(G===null){var ne=z.return;if(ne!==null){C=O=ne;continue}break}if(z.child===G.child){for(var se=z.child;se;){if(se===C)return tl(z),c;if(se===O)return tl(z),d;se=se.sibling}throw Error("Unable to find node on an unmounted component.")}if(C.return!==O.return)C=z,O=G;else{for(var Ue=!1,Xe=z.child;Xe;){if(Xe===C){Ue=!0,C=z,O=G;break}if(Xe===O){Ue=!0,O=z,C=G;break}Xe=Xe.sibling}if(!Ue){for(Xe=G.child;Xe;){if(Xe===C){Ue=!0,C=G,O=z;break}if(Xe===O){Ue=!0,O=G,C=z;break}Xe=Xe.sibling}if(!Ue)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(C.alternate!==O)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(C.tag!==j)throw Error("Unable to find node on an unmounted component.");return C.stateNode.current===C?c:d}function I0(c){var d=fo(c);if(!d)return null;for(var D=d;;){if(D.tag===V||D.tag===re)return D;if(D.child){D.child.return=D,D=D.child;continue}if(D===d)return null;for(;!D.sibling;){if(!D.return||D.return===d)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}function Sl(c){var d=fo(c);if(!d)return null;for(var D=d;;){if(D.tag===V||D.tag===re||Wt&&D.tag===_t)return D;if(D.child&&D.tag!==q){D.child.return=D,D=D.child;continue}if(D===d)return null;for(;!D.sibling;){if(!D.return||D.return===d)return null;D=D.return}D.sibling.return=D.return,D=D.sibling}return null}var Lo=l.getPublicInstance,St=l.getRootHostContext,Bt=l.getChildHostContext,Hn=l.prepareForCommit,qr=l.resetAfterCommit,Ki=l.createInstance,Xr=l.appendInitialChild,Au=l.finalizeInitialChildren,p0=l.prepareUpdate,Ni=l.shouldSetTextContent,h0=l.shouldDeprioritizeSubtree,hs=l.createTextInstance,Ct=l.setTimeout,co=l.clearTimeout,nl=l.noTimeout,Jl=l.now,Uu=l.isPrimaryRenderer,vs=l.warnsIfNotActing,b0=l.supportsMutation,Q=l.supportsPersistence,Se=l.supportsHydration,Fe=l.mountResponderInstance,Le=l.unmountResponderInstance,pt=l.getFundamentalComponentInstance,Yn=l.mountFundamentalComponent,Cn=l.shouldUpdateFundamentalComponent,cr=l.getInstanceFromNode,Si=l.appendChild,Ou=l.appendChildToContainer,ju=l.commitTextUpdate,zu=l.commitMount,wu=l.commitUpdate,Ti=l.insertBefore,Fo=l.insertInContainerBefore,Mu=l.removeChild,po=l.removeChildFromContainer,Hu=l.resetTextContent,Pa=l.hideInstance,v0=l.hideTextInstance,ia=l.unhideInstance,J0=l.unhideTextInstance,ua=l.updateFundamentalComponent,Ia=l.unmountFundamentalComponent,ms=l.cloneInstance,S0=l.createContainerChildSet,Qn=l.appendChildToContainerChildSet,ac=l.finalizeContainerChildren,si=l.replaceContainerChildren,Jr=l.cloneHiddenInstance,Zl=l.cloneHiddenTextInstance,oa=l.cloneInstance,pf=l.canHydrateInstance,bs=l.canHydrateTextInstance,ba=l.canHydrateSuspenseInstance,Bs=l.isSuspenseInstancePending,m0=l.isSuspenseInstanceFallback,Us=l.registerSuspenseInstanceRetry,zi=l.getNextHydratableSibling,U=l.getFirstHydratableChild,H=l.hydrateInstance,Y=l.hydrateTextInstance,ee=l.hydrateSuspenseInstance,Ce=l.getNextHydratableInstanceAfterSuspenseInstance,_e=l.commitHydratedContainer,Oe=l.commitHydratedSuspenseInstance,$=l.clearSuspenseBoundary,Ne=l.clearSuspenseBoundaryFromContainer,Je=l.didNotMatchHydratedContainerTextInstance,vt=l.didNotMatchHydratedTextInstance,oe=l.didNotHydrateContainerInstance,qe=l.didNotHydrateInstance,rt=l.didNotFindHydratableContainerInstance,xt=l.didNotFindHydratableContainerTextInstance,kt=l.didNotFindHydratableContainerSuspenseInstance,bt=l.didNotFindHydratableInstance,sn=l.didNotFindHydratableTextInstance,rn=l.didNotFindHydratableSuspenseInstance,Ft=/^(.*)[\\\/]/,Dn=function(c,d,D){var C="";if(d){var O=d.fileName,z=O.replace(Ft,"");if(/^index\./.test(z)){var G=O.match(Ft);if(G){var ne=G[1];if(ne){var se=ne.replace(Ft,"");z=se+"/"+z}}}C=" (at "+z+":"+d.lineNumber+")"}else D&&(C=" (created by "+D+")");return` + in `+(c||"Unknown")+C},dr=it.ReactDebugCurrentFrame;function er(c){switch(c.tag){case j:case q:case re:case y:case ge:case De:return"";default:var d=c._debugOwner,D=c._debugSource,C=qt(c.type),O=null;return d&&(O=qt(d.type)),Dn(C,D,O)}}function Cr(c){var d="",D=c;do d+=er(D),D=D.return;while(D);return d}var Rn=null,Nr=null;function y0(){{if(Rn===null)return null;var c=Rn._debugOwner;if(c!==null&&typeof c<"u")return qt(c.type)}return null}function Lr(){return Rn===null?"":Cr(Rn)}function ut(){dr.getCurrentStack=null,Rn=null,Nr=null}function wt(c){dr.getCurrentStack=Lr,Rn=c,Nr=null}function et(c){Nr=c}var It="\u269B",un="\u26D4",fn=typeof performance<"u"&&typeof performance.mark=="function"&&typeof performance.clearMarks=="function"&&typeof performance.measure=="function"&&typeof performance.clearMeasures=="function",Jn=null,wr=null,au=null,ku=!1,T0=!1,Z0=!1,Nu=0,gi=0,Po=new Set,rl=function(c){return It+" "+c},hf=function(c,d){var D=d?un+" ":It+" ",C=d?" Warning: "+d:"";return""+D+c+C},Tl=function(c){performance.mark(rl(c))},vf=function(c){performance.clearMarks(rl(c))},Io=function(c,d,D){var C=rl(d),O=hf(c,D);try{performance.measure(O,C)}catch{}performance.clearMarks(C),performance.clearMeasures(O)},ys=function(c,d){return c+" (#"+d+")"},js=function(c,d,D){return D===null?c+" ["+(d?"update":"mount")+"]":c+"."+D},bo=function(c,d){var D=qt(c.type)||"Unknown",C=c._debugID,O=c.alternate!==null,z=js(D,O,d);if(ku&&Po.has(z))return!1;Po.add(z);var G=ys(z,C);return Tl(G),!0},Bo=function(c,d){var D=qt(c.type)||"Unknown",C=c._debugID,O=c.alternate!==null,z=js(D,O,d),G=ys(z,C);vf(G)},gs=function(c,d,D){var C=qt(c.type)||"Unknown",O=c._debugID,z=c.alternate!==null,G=js(C,z,d),ne=ys(G,O);Io(G,ne,D)},Xu=function(c){switch(c.tag){case j:case V:case re:case q:case y:case ge:case De:case me:return!0;default:return!1}},Su=function(){wr!==null&&au!==null&&Bo(au,wr),au=null,wr=null,Z0=!1},_i=function(){for(var c=Jn;c;)c._debugIsCurrentlyTiming&&gs(c,null,null),c=c.return},C0=function(c){c.return!==null&&C0(c.return),c._debugIsCurrentlyTiming&&bo(c,null)},$0=function(){Jn!==null&&C0(Jn)};function Uo(){Hr&&gi++}function la(){Hr&&(ku&&(T0=!0),wr!==null&&wr!=="componentWillMount"&&wr!=="componentWillReceiveProps"&&(Z0=!0))}function $l(c){if(Hr){if(!fn||Xu(c)||(Jn=c,!bo(c,null)))return;c._debugIsCurrentlyTiming=!0}}function tu(c){if(Hr){if(!fn||Xu(c))return;c._debugIsCurrentlyTiming=!1,Bo(c,null)}}function Zr(c){if(Hr){if(!fn||Xu(c)||(Jn=c.return,!c._debugIsCurrentlyTiming))return;c._debugIsCurrentlyTiming=!1,gs(c,null,null)}}function ho(c){if(Hr){if(!fn||Xu(c)||(Jn=c.return,!c._debugIsCurrentlyTiming))return;c._debugIsCurrentlyTiming=!1;var d=c.tag===he?"Rendering was suspended":"An error was thrown inside this error boundary";gs(c,null,d)}}function Bi(c,d){if(Hr){if(!fn||(Su(),!bo(c,d)))return;au=c,wr=d}}function Ci(){if(Hr){if(!fn)return;if(wr!==null&&au!==null){var c=Z0?"Scheduled a cascading update":null;gs(au,wr,c)}wr=null,au=null}}function mf(c){if(Hr){if(Jn=c,!fn)return;Nu=0,Tl("(React Tree Reconciliation)"),$0()}}function yf(c,d){if(Hr){if(!fn)return;var D=null;if(c!==null)if(c.tag===j)D="A top-level update interrupted the previous render";else{var C=qt(c.type)||"Unknown";D="An update to "+C+" interrupted the previous render"}else Nu>1&&(D="There were cascading updates");Nu=0;var O=d?"(React Tree Reconciliation: Completed Root)":"(React Tree Reconciliation: Yielded)";_i(),Io(O,"(React Tree Reconciliation)",D)}}function eo(){if(Hr){if(!fn)return;ku=!0,T0=!1,Po.clear(),Tl("(Committing Changes)")}}function to(){if(Hr){if(!fn)return;var c=null;T0?c="Lifecycle hook scheduled a cascading update":Nu>0&&(c="Caused by a cascading update in earlier commit"),T0=!1,Nu++,ku=!1,Po.clear(),Io("(Committing Changes)","(Committing Changes)",c)}}function xe(){if(Hr){if(!fn)return;gi=0,Tl("(Committing Snapshot Effects)")}}function tt(){if(Hr){if(!fn)return;var c=gi;gi=0,Io("(Committing Snapshot Effects: "+c+" Total)","(Committing Snapshot Effects)",null)}}function Ke(){if(Hr){if(!fn)return;gi=0,Tl("(Committing Host Effects)")}}function Yt(){if(Hr){if(!fn)return;var c=gi;gi=0,Io("(Committing Host Effects: "+c+" Total)","(Committing Host Effects)",null)}}function Kt(){if(Hr){if(!fn)return;gi=0,Tl("(Calling Lifecycle Methods)")}}function pr(){if(Hr){if(!fn)return;var c=gi;gi=0,Io("(Calling Lifecycle Methods: "+c+" Total)","(Calling Lifecycle Methods)",null)}}var Ei=[],bn;bn=[];var mu=-1;function Qu(c){return{current:c}}function $r(c,d){if(mu<0){Ve(!1,"Unexpected pop.");return}d!==bn[mu]&&Ve(!1,"Unexpected Fiber popped."),c.current=Ei[mu],Ei[mu]=null,bn[mu]=null,mu--}function Qr(c,d,D){mu++,Ei[mu]=c.current,bn[mu]=D,c.current=d}var qu;qu={};var xn={};Object.freeze(xn);var x0=Qu(xn),Lu=Qu(!1),ui=xn;function Cl(c,d,D){return li?xn:D&&Xi(d)?ui:x0.current}function zs(c,d,D){if(!li){var C=c.stateNode;C.__reactInternalMemoizedUnmaskedChildContext=d,C.__reactInternalMemoizedMaskedChildContext=D}}function Wu(c,d){if(li)return xn;var D=c.type,C=D.contextTypes;if(!C)return xn;var O=c.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===d)return O.__reactInternalMemoizedMaskedChildContext;var z={};for(var G in C)z[G]=d[G];{var ne=qt(D)||"Unknown";E(C,z,"context",ne,Lr)}return O&&zs(c,d,z),z}function sa(){return li?!1:Lu.current}function Xi(c){if(li)return!1;var d=c.childContextTypes;return d!=null}function Hs(c){li||($r(Lu,c),$r(x0,c))}function R0(c){li||($r(Lu,c),$r(x0,c))}function Hi(c,d,D){if(!li){if(x0.current!==xn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Qr(x0,d,c),Qr(Lu,D,c)}}function A0(c,d,D){if(li)return D;var C=c.stateNode,O=d.childContextTypes;if(typeof C.getChildContext!="function"){{var z=qt(d)||"Unknown";qu[z]||(qu[z]=!0,Ve(!1,"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.",z,z))}return D}var G;et("getChildContext"),Bi(c,"getChildContext"),G=C.getChildContext(),Ci(),et(null);for(var ne in G)if(!(ne in O))throw Error((qt(d)||"Unknown")+'.getChildContext(): key "'+ne+'" is not defined in childContextTypes.');{var se=qt(d)||"Unknown";E(O,G,"child context",se,Lr)}return f({},D,{},G)}function qi(c){if(li)return!1;var d=c.stateNode,D=d&&d.__reactInternalMemoizedMergedChildContext||xn;return ui=x0.current,Qr(x0,D,c),Qr(Lu,Lu.current,c),!0}function il(c,d,D){if(!li){var C=c.stateNode;if(!C)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");if(D){var O=A0(c,d,ui);C.__reactInternalMemoizedMergedChildContext=O,$r(Lu,c),$r(x0,c),Qr(x0,O,c),Qr(Lu,D,c)}else $r(Lu,c),Qr(Lu,D,c)}}function xl(c){if(li)return xn;if(!(Is(c)&&c.tag===k))throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var d=c;do{switch(d.tag){case j:return d.stateNode.context;case k:{var D=d.type;if(Xi(D))return d.stateNode.__reactInternalMemoizedMergedChildContext;break}}d=d.return}while(d!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}var B0=1,O0=2,vo=t.unstable_runWithPriority,Fu=t.unstable_scheduleCallback,Ju=t.unstable_cancelCallback,es=t.unstable_shouldYield,_s=t.unstable_requestPaint,aa=t.unstable_now,gf=t.unstable_getCurrentPriorityLevel,Zu=t.unstable_ImmediatePriority,Es=t.unstable_UserBlockingPriority,Rr=t.unstable_NormalPriority,no=t.unstable_LowPriority,nu=t.unstable_IdlePriority;if(In&&!(N.__interactionsRef!=null&&N.__interactionsRef.current!=null))throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling");var fu={},Li=99,ei=98,Kn=97,$u=96,g0=95,_0=90,Ln=es,fe=_s!==void 0?_s:function(){},ie=null,Pe=null,Me=!1,at=aa(),mt=at<1e4?aa:function(){return aa()-at};function Qt(){switch(gf()){case Zu:return Li;case Es:return ei;case Rr:return Kn;case no:return $u;case nu:return g0;default:throw Error("Unknown priority level.")}}function An(c){switch(c){case Li:return Zu;case ei:return Es;case Kn:return Rr;case $u:return no;case g0:return nu;default:throw Error("Unknown priority level.")}}function Sn(c,d){var D=An(c);return vo(D,d)}function _n(c,d,D){var C=An(c);return Fu(C,d,D)}function Tn(c){return ie===null?(ie=[c],Pe=Fu(Zu,Fi)):ie.push(c),fu}function ir(c){c!==fu&&Ju(c)}function Ut(){if(Pe!==null){var c=Pe;Pe=null,Ju(c)}Fi()}function Fi(){if(!Me&&ie!==null){Me=!0;var c=0;try{var d=!0,D=ie;Sn(Li,function(){for(;c1?d-1:0),C=1;C2?D-2:0),O=2;O0&&(ja.forEach(function(Lt){c.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),ja=[]);var d=new Set;za.length>0&&(za.forEach(function(Lt){d.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),za=[]);var D=new Set;Ha.length>0&&(Ha.forEach(function(Lt){D.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),Ha=[]);var C=new Set;ca.length>0&&(ca.forEach(function(Lt){C.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),ca=[]);var O=new Set;ws.length>0&&(ws.forEach(function(Lt){O.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),ws=[]);var z=new Set;if(Ss.length>0&&(Ss.forEach(function(Lt){z.add(qt(Lt.type)||"Component"),ts.add(Lt.type)}),Ss=[]),d.size>0){var G=zo(d);Ve(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. * Move code with side effects to componentDidMount, and set initial state in the constructor. -Please update the following components: %s`,V)}if(T.size>0){var te=jo(T);We(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. +Please update the following components: %s`,G)}if(C.size>0){var ne=zo(C);Ve(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. * Move data fetching code or side effects to componentDidUpdate. * If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state -Please update the following components: %s`,te)}if(j.size>0){var le=jo(j);We(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. +Please update the following components: %s`,ne)}if(z.size>0){var se=zo(z);Ve(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. * Move data fetching code or side effects to componentDidUpdate. -Please update the following components: %s`,le)}if(f.size>0){var Be=jo(f);qs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. +Please update the following components: %s`,se)}if(c.size>0){var Ue=zo(c);qs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. * Move code with side effects to componentDidMount, and set initial state in the constructor. * Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. -Please update the following components: %s`,Be)}if(E.size>0){var Ke=jo(E);qs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. +Please update the following components: %s`,Ue)}if(D.size>0){var Xe=zo(D);qs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. * Move data fetching code or side effects to componentDidUpdate. * If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state * Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. -Please update the following components: %s`,Ke)}if(A.size>0){var pt=jo(A);qs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. +Please update the following components: %s`,Xe)}if(O.size>0){var ht=zo(O);qs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. * Move data fetching code or side effects to componentDidUpdate. * Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. -Please update the following components: %s`,pt)}};var zo=new Map,Ef=new Set;Rl.recordLegacyContextWarning=function(f,c){var E=id(f);if(E===null){We(!1,"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");return}if(!Ef.has(f.type)){var T=zo.get(E);(f.type.contextTypes!=null||f.type.childContextTypes!=null||c!==null&&typeof c.getChildContext=="function")&&(T===void 0&&(T=[],zo.set(E,T)),T.push(f))}},Rl.flushLegacyContextWarning=function(){zo.forEach(function(f,c){var E=new Set;f.forEach(function(j){E.add(qt(j.type)||"Component"),Ef.add(j.type)});var T=jo(E),A=Cr(c);We(!1,`Legacy context API has been detected within a strict-mode tree. +Please update the following components: %s`,ht)}};var Ho=new Map,Ef=new Set;Al.recordLegacyContextWarning=function(c,d){var D=id(c);if(D===null){Ve(!1,"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");return}if(!Ef.has(c.type)){var C=Ho.get(D);(c.type.contextTypes!=null||c.type.childContextTypes!=null||d!==null&&typeof d.getChildContext=="function")&&(C===void 0&&(C=[],Ho.set(D,C)),C.push(c))}},Al.flushLegacyContextWarning=function(){Ho.forEach(function(c,d){var D=new Set;c.forEach(function(z){D.add(qt(z.type)||"Component"),Ef.add(z.type)});var C=zo(D),O=Cr(d);Ve(!1,`Legacy context API has been detected within a strict-mode tree. The old API will be supported in all 16.x releases, but applications using it should migrate to the new version. Please update the following components: %s -Learn more about this warning here: https://fb.me/react-legacy-context%s`,T,A)})},Rl.discardPendingWarnings=function(){ja=[],za=[],Ha=[],ca=[],ws=[],Ss=[],zo=new Map}}var ul=null,Gu=null,qa=function(f){ul=f};function r0(f){{if(ul===null)return f;var c=ul(f);return c===void 0?f:c.current}}function j0(f){return r0(f)}function Df(f){{if(ul===null)return f;var c=ul(f);if(c===void 0){if(f!=null&&typeof f.render=="function"){var E=r0(f.render);if(f.render!==E){var T={$$typeof:Mn,render:E};return f.displayName!==void 0&&(T.displayName=f.displayName),T}}return f}return c.current}}function qc(f,c){{if(ul===null)return!1;var E=f.elementType,T=c.type,A=!1,j=typeof T=="object"&&T!==null?T.$$typeof:null;switch(f.tag){case O:{typeof T=="function"&&(A=!0);break}case L:{(typeof T=="function"||j===Er)&&(A=!0);break}case se:{(j===Mn||j===Er)&&(A=!0);break}case me:case ie:{(j===Vt||j===Er)&&(A=!0);break}default:return!1}if(A){var V=ul(E);if(V!==void 0&&V===ul(T))return!0}return!1}}function dc(f){{if(ul===null||typeof WeakSet!="function")return;Gu===null&&(Gu=new WeakSet),Gu.add(f)}}var Al=function(f,c){{if(ul===null)return;var E=c.staleFamilies,T=c.updatedFamilies;tf(),Ap(function(){da(f.current,T,E)})}},Ts=function(f,c){{if(f.context!==Rn)return;tf(),fv(function(){Yg(c,f,null,null)})}};function da(f,c,E){{var T=f.alternate,A=f.child,j=f.sibling,V=f.tag,te=f.type,le=null;switch(V){case L:case ie:case O:le=te;break;case se:le=te.render;break;default:break}if(ul===null)throw new Error("Expected resolveFamily to be set during hot reload.");var Be=!1,Ke=!1;if(le!==null){var pt=ul(le);pt!==void 0&&(E.has(pt)?Ke=!0:c.has(pt)&&(V===O?Ke=!0:Be=!0))}Gu!==null&&(Gu.has(f)||T!==null&&Gu.has(T))&&(Ke=!0),Ke&&(f._debugNeedsRemount=!0),(Ke||Be)&&ml(f,Un),A!==null&&!Ke&&da(A,c,E),j!==null&&da(j,c,E)}}var ud=function(f,c){{var E=new Set,T=new Set(c.map(function(A){return A.current}));return pa(f.current,T,E),E}};function pa(f,c,E){{var T=f.child,A=f.sibling,j=f.tag,V=f.type,te=null;switch(j){case L:case ie:case O:te=V;break;case se:te=V.render;break;default:break}var le=!1;te!==null&&c.has(te)&&(le=!0),le?pc(f,E):T!==null&&pa(T,c,E),A!==null&&pa(A,c,E)}}function pc(f,c){{var E=Wc(f,c);if(E)return;for(var T=f;;){switch(T.tag){case W:c.add(T.stateNode);return;case H:c.add(T.stateNode.containerInfo);return;case U:c.add(T.stateNode.containerInfo);return}if(T.return===null)throw new Error("Expected to reach root first.");T=T.return}}}function Wc(f,c){for(var E=f,T=!1;;){if(E.tag===W)T=!0,c.add(E.stateNode);else if(E.child!==null){E.child.return=E,E=E.child;continue}if(E===f)return T;for(;E.sibling===null;){if(E.return===null||E.return===f)return T;E=E.return}E.sibling.return=E.return,E=E.sibling}return!1}function qi(f,c){if(f&&f.defaultProps){var E=a({},c),T=f.defaultProps;for(var A in T)E[A]===void 0&&(E[A]=T[A]);return E}return c}function g(f){if(Jo(f),f._status!==Ro)throw f._result;return f._result}var y=Ju(null),R;R={};var F=null,b=null,J=null,ce=!1;function mt(){F=null,b=null,J=null,ce=!1}function xt(){ce=!0}function kt(){ce=!1}function xr(f,c){var E=f.type._context;ju?(Jr(y,E._currentValue,f),E._currentValue=c,E._currentRenderer===void 0||E._currentRenderer===null||E._currentRenderer===R||We(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),E._currentRenderer=R):(Jr(y,E._currentValue2,f),E._currentValue2=c,E._currentRenderer2===void 0||E._currentRenderer2===null||E._currentRenderer2===R||We(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),E._currentRenderer2=R)}function i0(f){var c=y.current;ti(y,f);var E=f.type._context;ju?E._currentValue=c:E._currentValue2=c}function cu(f,c,E){if(mo(E,c))return 0;var T=typeof f._calculateChangedBits=="function"?f._calculateChangedBits(E,c):Vr;return(T&Vr)!==T&&Xt(!1,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",T),T|0}function z0(f,c){for(var E=f;E!==null;){var T=E.alternate;if(E.childExpirationTime=c&&lp(),E.firstContext=null)}}function Ve(f,c){if(ce&&Xt(!1,"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."),J!==f){if(!(c===!1||c===0)){var E;typeof c!="number"||c===Vr?(J=f,E=Vr):E=c;var T={context:f,observedBits:E,next:null};if(b===null){if(F===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");b=T,F.dependencies={expirationTime:at,firstContext:T,responders:null}}else b=b.next=T}}return ju?f._currentValue:f._currentValue2}var Ue=0,lt=1,$t=2,Wn=3,si=!1,ur,ci;ur=!1,ci=null;function Qi(f){var c={baseState:f,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function Gr(f){var c={baseState:f.baseState,firstUpdate:f.firstUpdate,lastUpdate:f.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function Cu(f,c){var E={expirationTime:f,suspenseConfig:c,tag:Ue,payload:null,callback:null,next:null,nextEffect:null};return E.priority=Qt(),E}function Wa(f,c){f.lastUpdate===null?f.firstUpdate=f.lastUpdate=c:(f.lastUpdate.next=c,f.lastUpdate=c)}function Va(f,c){var E=f.alternate,T,A;E===null?(T=f.updateQueue,A=null,T===null&&(T=f.updateQueue=Qi(f.memoizedState))):(T=f.updateQueue,A=E.updateQueue,T===null?A===null?(T=f.updateQueue=Qi(f.memoizedState),A=E.updateQueue=Qi(E.memoizedState)):T=f.updateQueue=Gr(A):A===null&&(A=E.updateQueue=Gr(T))),A===null||T===A?Wa(T,c):T.lastUpdate===null||A.lastUpdate===null?(Wa(T,c),Wa(A,c)):(Wa(T,c),A.lastUpdate=c),f.tag===O&&(ci===T||A!==null&&ci===A)&&!ur&&(We(!1,"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."),ur=!0)}function od(f,c){var E=f.updateQueue;E===null?E=f.updateQueue=Qi(f.memoizedState):E=w2(f,E),E.lastCapturedUpdate===null?E.firstCapturedUpdate=E.lastCapturedUpdate=c:(E.lastCapturedUpdate.next=c,E.lastCapturedUpdate=c)}function w2(f,c){var E=f.alternate;return E!==null&&c===E.updateQueue&&(c=f.updateQueue=Gr(c)),c}function S2(f,c,E,T,A,j){switch(E.tag){case lt:{var V=E.payload;if(typeof V=="function"){xt(),Ri&&f.mode&mr&&V.call(j,T,A);var te=V.call(j,T,A);return kt(),te}return V}case Wn:f.effectTag=f.effectTag&~p0|Xr;case Ue:{var le=E.payload,Be;return typeof le=="function"?(xt(),Ri&&f.mode&mr&&le.call(j,T,A),Be=le.call(j,T,A),kt()):Be=le,Be==null?T:a({},T,Be)}case $t:return si=!0,T}return T}function wf(f,c,E,T,A){si=!1,c=w2(f,c),ci=c;for(var j=c.baseState,V=null,te=at,le=c.firstUpdate,Be=j;le!==null;){var Ke=le.expirationTime;if(Ke=d&&op(),D.firstContext=null)}}function Ge(c,d){if(de&&Xt(!1,"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."),Z!==c){if(!(d===!1||d===0)){var D;typeof d!="number"||d===Wr?(Z=c,D=Wr):D=d;var C={context:c,observedBits:D,next:null};if(B===null){if(P===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");B=C,P.dependencies={expirationTime:ft,firstContext:C,responders:null}}else B=B.next=C}}return Uu?c._currentValue:c._currentValue2}var je=0,st=1,$t=2,Wn=3,oi=!1,ur,ai;ur=!1,ai=null;function Qi(c){var d={baseState:c,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return d}function Vr(c){var d={baseState:c.baseState,firstUpdate:c.firstUpdate,lastUpdate:c.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return d}function Tu(c,d){var D={expirationTime:c,suspenseConfig:d,tag:je,payload:null,callback:null,next:null,nextEffect:null};return D.priority=Qt(),D}function Wa(c,d){c.lastUpdate===null?c.firstUpdate=c.lastUpdate=d:(c.lastUpdate.next=d,c.lastUpdate=d)}function Va(c,d){var D=c.alternate,C,O;D===null?(C=c.updateQueue,O=null,C===null&&(C=c.updateQueue=Qi(c.memoizedState))):(C=c.updateQueue,O=D.updateQueue,C===null?O===null?(C=c.updateQueue=Qi(c.memoizedState),O=D.updateQueue=Qi(D.memoizedState)):C=c.updateQueue=Vr(O):O===null&&(O=D.updateQueue=Vr(C))),O===null||C===O?Wa(C,d):C.lastUpdate===null||O.lastUpdate===null?(Wa(C,d),Wa(O,d)):(Wa(C,d),O.lastUpdate=d),c.tag===k&&(ai===C||O!==null&&ai===O)&&!ur&&(Ve(!1,"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."),ur=!0)}function od(c,d){var D=c.updateQueue;D===null?D=c.updateQueue=Qi(c.memoizedState):D=D2(c,D),D.lastCapturedUpdate===null?D.firstCapturedUpdate=D.lastCapturedUpdate=d:(D.lastCapturedUpdate.next=d,D.lastCapturedUpdate=d)}function D2(c,d){var D=c.alternate;return D!==null&&d===D.updateQueue&&(d=c.updateQueue=Vr(d)),d}function w2(c,d,D,C,O,z){switch(D.tag){case st:{var G=D.payload;if(typeof G=="function"){Rt(),Ri&&c.mode&mr&&G.call(z,C,O);var ne=G.call(z,C,O);return Nt(),ne}return G}case Wn:c.effectTag=c.effectTag&~d0|Kr;case je:{var se=D.payload,Ue;return typeof se=="function"?(Rt(),Ri&&c.mode&mr&&se.call(z,C,O),Ue=se.call(z,C,O),Nt()):Ue=se,Ue==null?C:f({},C,Ue)}case $t:return oi=!0,C}return C}function wf(c,d,D,C,O){oi=!1,d=D2(c,d),ai=d;for(var z=d.baseState,G=null,ne=ft,se=d.firstUpdate,Ue=z;se!==null;){var Xe=se.expirationTime;if(Xe from render. Or maybe you meant to call this function rather than return it."))}function yh(f){function c(ot,Ot){if(!!f){var Ze=ot.lastEffect;Ze!==null?(Ze.nextEffect=Ot,ot.lastEffect=Ot):ot.firstEffect=ot.lastEffect=Ot,Ot.nextEffect=null,Ot.effectTag=G0}}function E(ot,Ot){if(!f)return null;for(var Ze=Ot;Ze!==null;)c(ot,Ze),Ze=Ze.sibling;return null}function T(ot,Ot){for(var Ze=new Map,Ut=Ot;Ut!==null;)Ut.key!==null?Ze.set(Ut.key,Ut):Ze.set(Ut.index,Ut),Ut=Ut.sibling;return Ze}function A(ot,Ot,Ze){var Ut=To(ot,Ot,Ze);return Ut.index=0,Ut.sibling=null,Ut}function j(ot,Ot,Ze){if(ot.index=Ze,!f)return Ot;var Ut=ot.alternate;if(Ut!==null){var Pn=Ut.index;return PnKr?(xu=hr,hr=null):xu=hr.sibling;var w0=Nt(ot,hr,Ze[Kr],Ut);if(w0===null){hr===null&&(hr=xu);break}f&&hr&&w0.alternate===null&&c(ot,hr),pu=j(w0,pu,Kr),Ku===null?pi=w0:Ku.sibling=w0,Ku=w0,hr=xu}if(Kr===Ze.length)return E(ot,hr),pi;if(hr===null){for(;KrW0?(Ms=xu,xu=null):Ms=xu.sibling;var yl=Nt(ot,xu,Xu.value,Ut);if(yl===null){xu===null&&(xu=Ms);break}f&&xu&&yl.alternate===null&&c(ot,xu),w0=j(yl,w0,W0),Kr===null?pu=yl:Kr.sibling=yl,Kr=yl,xu=Ms}if(Xu.done)return E(ot,xu),pu;if(xu===null){for(;!Xu.done;W0++,Xu=hr.next()){var rf=pt(ot,Xu.value,Ut);rf!==null&&(w0=j(rf,w0,W0),Kr===null?pu=rf:Kr.sibling=rf,Kr=rf)}return pu}for(var Wo=T(ot,xu);!Xu.done;W0++,Xu=hr.next()){var ks=Gt(Wo,ot,W0,Xu.value,Ut);ks!==null&&(f&&ks.alternate!==null&&Wo.delete(ks.key===null?W0:ks.key),w0=j(ks,w0,W0),Kr===null?pu=ks:Kr.sibling=ks,Kr=ks)}return f&&Wo.forEach(function(Zd){return c(ot,Zd)}),pu}function oi(ot,Ot,Ze,Ut){if(Ot!==null&&Ot.tag===ne){E(ot,Ot.sibling);var Pn=A(Ot,Ze,Ut);return Pn.return=ot,Pn}E(ot,Ot);var vn=dy(Ze,ot.mode,Ut);return vn.return=ot,vn}function Oi(ot,Ot,Ze,Ut){for(var Pn=Ze.key,vn=Ot;vn!==null;){if(vn.key===Pn)if(vn.tag===m?Ze.type===oe:vn.elementType===Ze.type||qc(vn,Ze)){E(ot,vn.sibling);var Wi=A(vn,Ze.type===oe?Ze.props.children:Ze.props,Ut);return Wi.ref=vc(ot,vn,Ze),Wi.return=ot,Wi._debugSource=Ze._source,Wi._debugOwner=Ze._owner,Wi}else{E(ot,vn);break}else c(ot,vn);vn=vn.sibling}if(Ze.type===oe){var pi=nf(Ze.props.children,ot.mode,Ut,Ze.key);return pi.return=ot,pi}else{var Ku=cy(Ze,ot.mode,Ut);return Ku.ref=vc(ot,Ot,Ze),Ku.return=ot,Ku}}function L0(ot,Ot,Ze,Ut){for(var Pn=Ze.key,vn=Ot;vn!==null;){if(vn.key===Pn)if(vn.tag===H&&vn.stateNode.containerInfo===Ze.containerInfo&&vn.stateNode.implementation===Ze.implementation){E(ot,vn.sibling);var Wi=A(vn,Ze.children||[],Ut);return Wi.return=ot,Wi}else{E(ot,vn);break}else c(ot,vn);vn=vn.sibling}var pi=py(Ze,ot.mode,Ut);return pi.return=ot,pi}function $i(ot,Ot,Ze,Ut){var Pn=typeof Ze=="object"&&Ze!==null&&Ze.type===oe&&Ze.key===null;Pn&&(Ze=Ze.props.children);var vn=typeof Ze=="object"&&Ze!==null;if(vn)switch(Ze.$$typeof){case fe:return V(Oi(ot,Ot,Ze,Ut));case xe:return V(L0(ot,Ot,Ze,Ut))}if(typeof Ze=="string"||typeof Ze=="number")return V(oi(ot,Ot,""+Ze,Ut));if(Jc(Ze))return yn(ot,Ot,Ze,Ut);if(fr(Ze))return kr(ot,Ot,Ze,Ut);if(vn&&mc(ot,Ze),typeof Ze=="function"&&pd(),typeof Ze=="undefined"&&!Pn)switch(ot.tag){case O:{var Wi=ot.stateNode;if(Wi.render._isMockFunction)break}case L:{var pi=ot.type;throw Error((pi.displayName||pi.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}}return E(ot,Ot)}return $i}var Tf=yh(!0),Zc=yh(!1);function gh(f,c){if(!(f===null||c.child===f.child))throw Error("Resuming work not yet implemented.");if(c.child!==null){var E=c.child,T=To(E,E.pendingProps,E.expirationTime);for(c.child=T,T.return=c;E.sibling!==null;)E=E.sibling,T=T.sibling=To(E,E.pendingProps,E.expirationTime),T.return=c;T.sibling=null}}function nm(f,c){for(var E=f.child;E!==null;)Av(E,c),E=E.sibling}var Vs={},ma=Ju(Vs),iu=Ju(Vs),M0=Ju(Vs);function o0(f){if(f===Vs)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return f}function ns(){var f=o0(M0.current);return f}function Ya(f,c){Jr(M0,c,f),Jr(iu,f,f),Jr(ma,Vs,f);var E=wt(c);ti(ma,f),Jr(ma,E,f)}function io(f){ti(ma,f),ti(iu,f),ti(M0,f)}function al(){var f=o0(ma.current);return f}function yc(f){var c=o0(M0.current),E=o0(ma.current),T=bt(E,f.type,c);E!==T&&(Jr(iu,f,f),Jr(ma,T,f))}function k2(f){iu.current===f&&(ti(ma,f),ti(iu,f))}var _h=0,Cf=1,xf=1,$c=2,kl=Ju(_h);function e1(f,c){return(f&c)!=0}function ya(f){return f&Cf}function hd(f,c){return f&Cf|c}function vd(f,c){return f|c}function Fr(f,c){Jr(kl,c,f)}function ga(f){ti(kl,f)}function N2(f,c){var E=f.memoizedState;if(E!==null)return E.dehydrated!==null;var T=f.memoizedProps;return T.fallback===void 0?!1:T.unstable_avoidThisFallback!==!0?!0:!c}function t1(f){for(var c=f;c!==null;){if(c.tag===pe){var E=c.memoizedState;if(E!==null){var T=E.dehydrated;if(T===null||Bs(T)||y0(T))return c}}else if(c.tag===yt&&c.memoizedProps.revealOrder!==void 0){var A=(c.effectTag&Xr)!==xi;if(A)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===f)return null;for(;c.sibling===null;){if(c.return===null||c.return===f)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var md={},wi=Array.isArray;function L2(f,c,E,T){return{fiber:T,props:c,responder:f,rootEventTypes:null,state:E}}function rm(f,c,E,T,A){var j=md,V=f.getInitialState;V!==null&&(j=V(c));var te=L2(f,c,j,E);if(!A)for(var le=E;le!==null;){var Be=le.tag;if(Be===W){A=le.stateNode;break}else if(Be===U){A=le.stateNode.containerInfo;break}le=le.return}Le(f,te,c,j,A),T.set(f,te)}function yd(f,c,E,T,A){var j,V;if(f&&(j=f.responder,V=f.props),!(j&&j.$$typeof===jt))throw Error("An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().");var te=V;if(E.has(j)){Xt(!1,'Duplicate event responder "%s" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',j.displayName);return}E.add(j);var le=T.get(j);le===void 0?rm(j,te,c,T,A):(le.props=te,le.fiber=c)}function hn(f,c,E){var T=new Set,A=c.dependencies;if(f!=null){A===null&&(A=c.dependencies={expirationTime:at,firstContext:null,responders:new Map});var j=A.responders;if(j===null&&(j=new Map),wi(f))for(var V=0,te=f.length;V from render. Or maybe you meant to call this function rather than return it."))}function Eh(c){function d(lt,Mt){if(!!c){var $e=lt.lastEffect;$e!==null?($e.nextEffect=Mt,lt.lastEffect=Mt):lt.firstEffect=lt.lastEffect=Mt,Mt.nextEffect=null,Mt.effectTag=Y0}}function D(lt,Mt){if(!c)return null;for(var $e=Mt;$e!==null;)d(lt,$e),$e=$e.sibling;return null}function C(lt,Mt){for(var $e=new Map,jt=Mt;jt!==null;)jt.key!==null?$e.set(jt.key,jt):$e.set(jt.index,jt),jt=jt.sibling;return $e}function O(lt,Mt,$e){var jt=Co(lt,Mt,$e);return jt.index=0,jt.sibling=null,jt}function z(lt,Mt,$e){if(lt.index=$e,!c)return Mt;var jt=lt.alternate;if(jt!==null){var Fn=jt.index;return FnYr?(Cu=hr,hr=null):Cu=hr.sibling;var D0=Lt(lt,hr,$e[Yr],jt);if(D0===null){hr===null&&(hr=Cu);break}c&&hr&&D0.alternate===null&&d(lt,hr),pu=z(D0,pu,Yr),Yu===null?ci=D0:Yu.sibling=D0,Yu=D0,hr=Cu}if(Yr===$e.length)return D(lt,hr),ci;if(hr===null){for(;Yr<$e.length;Yr++){var W0=ht(lt,$e[Yr],jt);W0!==null&&(pu=z(W0,pu,Yr),Yu===null?ci=W0:Yu.sibling=W0,Yu=W0)}return ci}for(var Ms=C(lt,hr);Yr<$e.length;Yr++){var Ku=Gt(Ms,lt,Yr,$e[Yr],jt);Ku!==null&&(c&&Ku.alternate!==null&&Ms.delete(Ku.key===null?Yr:Ku.key),pu=z(Ku,pu,Yr),Yu===null?ci=Ku:Yu.sibling=Ku,Yu=Ku)}return c&&Ms.forEach(function(gl){return d(lt,gl)}),ci}function kr(lt,Mt,$e,jt){var Fn=fr($e);if(typeof Fn!="function")throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");{typeof Symbol=="function"&&$e[Symbol.toStringTag]==="Generator"&&(Qc||Xt(!1,"Using Generators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. Keep in mind you might need to polyfill these features for older browsers."),Qc=!0),$e.entries===Fn&&(dd||Xt(!1,"Using Maps as children is unsupported and will likely yield unexpected results. Convert it to a sequence/iterable of keyed ReactElements instead."),dd=!0);var vn=Fn.call($e);if(vn)for(var Vi=null,ci=vn.next();!ci.done;ci=vn.next()){var Yu=ci.value;Vi=Ht(Yu,Vi)}}var hr=Fn.call($e);if(hr==null)throw Error("An iterable object provided no iterator.");for(var pu=null,Yr=null,Cu=Mt,D0=0,W0=0,Ms=null,Ku=hr.next();Cu!==null&&!Ku.done;W0++,Ku=hr.next()){Cu.index>W0?(Ms=Cu,Cu=null):Ms=Cu.sibling;var gl=Lt(lt,Cu,Ku.value,jt);if(gl===null){Cu===null&&(Cu=Ms);break}c&&Cu&&gl.alternate===null&&d(lt,Cu),D0=z(gl,D0,W0),Yr===null?pu=gl:Yr.sibling=gl,Yr=gl,Cu=Ms}if(Ku.done)return D(lt,Cu),pu;if(Cu===null){for(;!Ku.done;W0++,Ku=hr.next()){var rf=ht(lt,Ku.value,jt);rf!==null&&(D0=z(rf,D0,W0),Yr===null?pu=rf:Yr.sibling=rf,Yr=rf)}return pu}for(var Vo=C(lt,Cu);!Ku.done;W0++,Ku=hr.next()){var ks=Gt(Vo,lt,W0,Ku.value,jt);ks!==null&&(c&&ks.alternate!==null&&Vo.delete(ks.key===null?W0:ks.key),D0=z(ks,D0,W0),Yr===null?pu=ks:Yr.sibling=ks,Yr=ks)}return c&&Vo.forEach(function(Jd){return d(lt,Jd)}),pu}function ii(lt,Mt,$e,jt){if(Mt!==null&&Mt.tag===re){D(lt,Mt.sibling);var Fn=O(Mt,$e,jt);return Fn.return=lt,Fn}D(lt,Mt);var vn=_y($e,lt.mode,jt);return vn.return=lt,vn}function Oi(lt,Mt,$e,jt){for(var Fn=$e.key,vn=Mt;vn!==null;){if(vn.key===Fn)if(vn.tag===y?$e.type===le:vn.elementType===$e.type||Wc(vn,$e)){D(lt,vn.sibling);var Vi=O(vn,$e.type===le?$e.props.children:$e.props,jt);return Vi.ref=vc(lt,vn,$e),Vi.return=lt,Vi._debugSource=$e._source,Vi._debugOwner=$e._owner,Vi}else{D(lt,vn);break}else d(lt,vn);vn=vn.sibling}if($e.type===le){var ci=nf($e.props.children,lt.mode,jt,$e.key);return ci.return=lt,ci}else{var Yu=gy($e,lt.mode,jt);return Yu.ref=vc(lt,Mt,$e),Yu.return=lt,Yu}}function L0(lt,Mt,$e,jt){for(var Fn=$e.key,vn=Mt;vn!==null;){if(vn.key===Fn)if(vn.tag===q&&vn.stateNode.containerInfo===$e.containerInfo&&vn.stateNode.implementation===$e.implementation){D(lt,vn.sibling);var Vi=O(vn,$e.children||[],jt);return Vi.return=lt,Vi}else{D(lt,vn);break}else d(lt,vn);vn=vn.sibling}var ci=Ey($e,lt.mode,jt);return ci.return=lt,ci}function $i(lt,Mt,$e,jt){var Fn=typeof $e=="object"&&$e!==null&&$e.type===le&&$e.key===null;Fn&&($e=$e.props.children);var vn=typeof $e=="object"&&$e!==null;if(vn)switch($e.$$typeof){case ce:return G(Oi(lt,Mt,$e,jt));case Re:return G(L0(lt,Mt,$e,jt))}if(typeof $e=="string"||typeof $e=="number")return G(ii(lt,Mt,""+$e,jt));if(Zc($e))return yn(lt,Mt,$e,jt);if(fr($e))return kr(lt,Mt,$e,jt);if(vn&&mc(lt,$e),typeof $e=="function"&&pd(),typeof $e>"u"&&!Fn)switch(lt.tag){case k:{var Vi=lt.stateNode;if(Vi.render._isMockFunction)break}case F:{var ci=lt.type;throw Error((ci.displayName||ci.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}}return D(lt,Mt)}return $i}var Tf=Eh(!0),$c=Eh(!1);function Dh(c,d){if(!(c===null||d.child===c.child))throw Error("Resuming work not yet implemented.");if(d.child!==null){var D=d.child,C=Co(D,D.pendingProps,D.expirationTime);for(d.child=C,C.return=d;D.sibling!==null;)D=D.sibling,C=C.sibling=Co(D,D.pendingProps,D.expirationTime),C.return=d;C.sibling=null}}function sm(c,d){for(var D=c.child;D!==null;)kv(D,d),D=D.sibling}var Vs={},ma=Qu(Vs),iu=Qu(Vs),M0=Qu(Vs);function u0(c){if(c===Vs)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return c}function ns(){var c=u0(M0.current);return c}function Ya(c,d){Qr(M0,d,c),Qr(iu,c,c),Qr(ma,Vs,c);var D=St(d);$r(ma,c),Qr(ma,D,c)}function uo(c){$r(ma,c),$r(iu,c),$r(M0,c)}function fl(){var c=u0(ma.current);return c}function yc(c){var d=u0(M0.current),D=u0(ma.current),C=Bt(D,c.type,d);D!==C&&(Qr(iu,c,c),Qr(ma,C,c))}function M2(c){iu.current===c&&($r(ma,c),$r(iu,c))}var wh=0,Cf=1,xf=1,e1=2,Nl=Qu(wh);function t1(c,d){return(c&d)!==0}function ya(c){return c&Cf}function hd(c,d){return c&Cf|d}function vd(c,d){return c|d}function Fr(c,d){Qr(Nl,d,c)}function ga(c){$r(Nl,c)}function k2(c,d){var D=c.memoizedState;if(D!==null)return D.dehydrated!==null;var C=c.memoizedProps;return C.fallback===void 0?!1:C.unstable_avoidThisFallback!==!0?!0:!d}function n1(c){for(var d=c;d!==null;){if(d.tag===he){var D=d.memoizedState;if(D!==null){var C=D.dehydrated;if(C===null||Bs(C)||m0(C))return d}}else if(d.tag===gt&&d.memoizedProps.revealOrder!==void 0){var O=(d.effectTag&Kr)!==xi;if(O)return d}else if(d.child!==null){d.child.return=d,d=d.child;continue}if(d===c)return null;for(;d.sibling===null;){if(d.return===null||d.return===c)return null;d=d.return}d.sibling.return=d.return,d=d.sibling}return null}var md={},wi=Array.isArray;function N2(c,d,D,C){return{fiber:C,props:d,responder:c,rootEventTypes:null,state:D}}function am(c,d,D,C,O){var z=md,G=c.getInitialState;G!==null&&(z=G(d));var ne=N2(c,d,z,D);if(!O)for(var se=D;se!==null;){var Ue=se.tag;if(Ue===V){O=se.stateNode;break}else if(Ue===j){O=se.stateNode.containerInfo;break}se=se.return}Fe(c,ne,d,z,O),C.set(c,ne)}function yd(c,d,D,C,O){var z,G;if(c&&(z=c.responder,G=c.props),!(z&&z.$$typeof===zt))throw Error("An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().");var ne=G;if(D.has(z)){Xt(!1,'Duplicate event responder "%s" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',z.displayName);return}D.add(z);var se=C.get(z);se===void 0?am(z,ne,d,C,O):(se.props=ne,se.fiber=d)}function hn(c,d,D){var C=new Set,O=d.dependencies;if(c!=null){O===null&&(O=d.dependencies={expirationTime:ft,firstContext:null,responders:new Map});var z=O.responders;if(z===null&&(z=new Map),wi(c))for(var G=0,ne=c.length;G0){var j=A.dispatch;if(Cs!==null){var V=Cs.get(A);if(V!==void 0){Cs.delete(A);var te=T.memoizedState,le=V;do{var Be=le.action;te=f(te,Be),le=le.next}while(le!==null);return mo(te,T.memoizedState)||lp(),T.memoizedState=te,T.baseUpdate===A.last&&(T.baseState=te),A.lastRenderedState=te,[te,j]}}return[T.memoizedState,j]}var Ke=A.last,pt=T.baseUpdate,Nt=T.baseState,Gt;if(pt!==null?(Ke!==null&&(Ke.next=null),Gt=pt.next):Gt=Ke!==null?Ke.next:null,Gt!==null){var zt=Nt,yn=null,kr=null,oi=pt,Oi=Gt,L0=!1;do{var $i=Oi.expirationTime;if($iIu&&(Iu=$i,Xd(Iu));else if(vv($i,Oi.suspenseConfig),Oi.eagerReducer===f)zt=Oi.eagerState;else{var ot=Oi.action;zt=f(zt,ot)}oi=Oi,Oi=Oi.next}while(Oi!==null&&Oi!==Gt);L0||(kr=oi,yn=zt),mo(zt,T.memoizedState)||lp(),T.memoizedState=zt,T.baseUpdate=kr,T.baseState=yn,A.lastRenderedState=zt}var Ot=A.dispatch;return[T.memoizedState,Ot]}function Ff(f){var c=Dc();typeof f=="function"&&(f=f()),c.memoizedState=c.baseState=f;var E=c.queue={last:null,dispatch:null,lastRenderedReducer:F2,lastRenderedState:f},T=E.dispatch=s1.bind(null,cl,E);return[c.memoizedState,T]}function u1(f){return i1(F2,f)}function Qa(f,c,E,T){var A={tag:f,create:c,destroy:E,deps:T,next:null};if(rs===null)rs=Xa(),rs.lastEffect=A.next=A;else{var j=rs.lastEffect;if(j===null)rs.lastEffect=A.next=A;else{var V=j.next;j.next=A,A.next=V,rs.lastEffect=A}}return A}function o1(f){var c=Dc(),E={current:f};return Object.seal(E),c.memoizedState=E,E}function P2(f){var c=r1();return c.memoizedState}function Dd(f,c,E,T){var A=Dc(),j=T===void 0?null:T;Mf|=f,A.memoizedState=Qa(c,E,void 0,j)}function wc(f,c,E,T){var A=r1(),j=T===void 0?null:T,V=void 0;if(jn!==null){var te=jn.memoizedState;if(V=te.destroy,j!==null){var le=te.deps;if(Nf(j,le)){Qa(Af,E,V,j);return}}}Mf|=f,A.memoizedState=Qa(c,E,V,j)}function l1(f,c){return typeof jest!="undefined"&&Rv(cl),Dd(Dr|F0,sr|n1,f,c)}function Ll(f,c){return typeof jest!="undefined"&&Rv(cl),wc(Dr|F0,sr|n1,f,c)}function Ea(f,c){return Dd(Dr,Of|fl,f,c)}function wh(f,c){return wc(Dr,Of|fl,f,c)}function I2(f,c){if(typeof c=="function"){var E=c,T=f();return E(T),function(){E(null)}}else if(c!=null){var A=c;A.hasOwnProperty("current")||Xt(!1,"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.","an object with keys {"+Object.keys(A).join(", ")+"}");var j=f();return A.current=j,function(){A.current=null}}}function b2(f,c,E){typeof c!="function"&&Xt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=E!=null?E.concat([f]):null;return Dd(Dr,Of|fl,I2.bind(null,c,f),T)}function Sh(f,c,E){typeof c!="function"&&Xt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=E!=null?E.concat([f]):null;return wc(Dr,Of|fl,I2.bind(null,c,f),T)}function wd(f,c){}var Th=wd;function Fl(f,c){var E=Dc(),T=c===void 0?null:c;return E.memoizedState=[f,T],f}function us(f,c){var E=r1(),T=c===void 0?null:c,A=E.memoizedState;if(A!==null&&T!==null){var j=A[1];if(Nf(T,j))return A[0]}return E.memoizedState=[f,T],f}function xs(f,c){var E=Dc(),T=c===void 0?null:c,A=f();return E.memoizedState=[A,T],A}function Gs(f,c){var E=r1(),T=c===void 0?null:c,A=E.memoizedState;if(A!==null&&T!==null){var j=A[1];if(Nf(T,j))return A[0]}var V=f();return E.memoizedState=[V,T],V}function B2(f,c){var E=Ff(f),T=E[0],A=E[1];return l1(function(){t.unstable_next(function(){var j=Ho.suspense;Ho.suspense=c===void 0?null:c;try{A(f)}finally{Ho.suspense=j}})},[f,c]),T}function Ch(f,c){var E=u1(f),T=E[0],A=E[1];return Ll(function(){t.unstable_next(function(){var j=Ho.suspense;Ho.suspense=c===void 0?null:c;try{A(f)}finally{Ho.suspense=j}})},[f,c]),T}function U2(f){var c=Ff(!1),E=c[0],T=c[1],A=Fl(function(j){T(!0),t.unstable_next(function(){var V=Ho.suspense;Ho.suspense=f===void 0?null:f;try{T(!1),j()}finally{Ho.suspense=V}})},[f,E]);return[A,E]}function j2(f){var c=u1(!1),E=c[0],T=c[1],A=us(function(j){T(!0),t.unstable_next(function(){var V=Ho.suspense;Ho.suspense=f===void 0?null:f;try{T(!1),j()}finally{Ho.suspense=V}})},[f,E]);return[A,E]}function s1(f,c,E){if(!(Ec=0){var E=f1()-c1;f.actualDuration+=E,c&&(f.selfBaseDuration=E),c1=-1}}var Il=null,Za=null,Da=!1;function W2(){Da&&Xt(!1,"We should not be hydrating here. This is a bug in React. Please file a bug.")}function V2(f){if(!we)return!1;var c=f.stateNode.containerInfo;return Za=B(c),Il=f,Da=!0,!0}function lm(f,c){return we?(Za=ji(c),K2(f),Da=!0,!0):!1}function G2(f,c){switch(f.tag){case U:ue(f.stateNode.containerInfo,c);break;case W:He(f.type,f.memoizedProps,f.stateNode,c);break}var E=I4();E.stateNode=c,E.return=f,E.effectTag=G0,f.lastEffect!==null?(f.lastEffect.nextEffect=E,f.lastEffect=E):f.firstEffect=f.lastEffect=E}function kh(f,c){switch(c.effectTag=c.effectTag&~su|mi,f.tag){case U:{var E=f.stateNode.containerInfo;switch(c.tag){case W:var T=c.type,A=c.pendingProps;nt(E,T,A);break;case ne:var j=c.pendingProps;Ct(E,j);break;case pe:Mt(E);break}break}case W:{var V=f.type,te=f.memoizedProps,le=f.stateNode;switch(c.tag){case W:var Be=c.type,Ke=c.pendingProps;It(V,te,le,Be,Ke);break;case ne:var pt=c.pendingProps;sn(V,te,le,pt);break;case pe:rn(V,te,le);break}break}default:return}}function Nh(f,c){switch(f.tag){case W:{var E=f.type,T=f.pendingProps,A=pf(c,E,T);return A!==null?(f.stateNode=A,!0):!1}case ne:{var j=f.pendingProps,V=bs(c,j);return V!==null?(f.stateNode=V,!0):!1}case pe:{if(Ai){var te=ba(c);if(te!==null){var le={dehydrated:te,retryTime:Di};f.memoizedState=le;var Be=b4(te);return Be.return=f,f.child=Be,!0}}return!1}default:return!1}}function Y2(f){if(!!Da){var c=Za;if(!c){kh(Il,f),Da=!1,Il=f;return}var E=c;if(!Nh(f,c)){if(c=ji(E),!c||!Nh(f,c)){kh(Il,f),Da=!1,Il=f;return}G2(Il,E)}Il=f,Za=B(c)}}function sm(f,c,E){if(!we)throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var T=f.stateNode,A=z(T,f.type,f.memoizedProps,c,E,f);return f.updateQueue=A,A!==null}function am(f){if(!we)throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=f.stateNode,E=f.memoizedProps,T=G(c,E,f);if(T){var A=Il;if(A!==null)switch(A.tag){case U:{var j=A.stateNode.containerInfo;Qe(j,c,E);break}case W:{var V=A.type,te=A.memoizedProps,le=A.stateNode;ht(V,te,le,c,E);break}}}return T}function Lh(f){if(!we)throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=f.memoizedState,E=c!==null?c.dehydrated:null;if(!E)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");$(E,f)}function fm(f){if(!we)throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=f.memoizedState,E=c!==null?c.dehydrated:null;if(!E)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");return Te(E)}function K2(f){for(var c=f.return;c!==null&&c.tag!==W&&c.tag!==U&&c.tag!==pe;)c=c.return;Il=c}function p1(f){if(!we||f!==Il)return!1;if(!Da)return K2(f),Da=!0,!1;var c=f.type;if(f.tag!==W||c!=="head"&&c!=="body"&&!Ni(c,f.memoizedProps))for(var E=Za;E;)G2(f,E),E=ji(E);return K2(f),f.tag===pe?Za=fm(f):Za=Il?ji(f.stateNode):null,!0}function h1(){!we||(Il=null,Za=null,Da=!1)}var v1=rt.ReactCurrentOwner,wa=!1,X2,Ys,Ks,Xs,Q2,Sa,m1,Sd,Sc,J2;X2={},Ys={},Ks={},Xs={},Q2={},Sa=!1,m1=!1,Sd={},Sc={},J2={};function Do(f,c,E,T){f===null?c.child=Zc(c,null,E,T):c.child=Tf(c,f.child,E,T)}function Fh(f,c,E,T){c.child=Tf(c,f.child,null,T),c.child=Tf(c,null,E,T)}function Ph(f,c,E,T,A){if(c.type!==c.elementType){var j=E.propTypes;j&&_(j,T,"prop",qt(E),Lr)}var V=E.render,te=c.ref,le;return u0(c,A),v1.current=c,$e("render"),le=Lf(f,c,V,T,te,A),Ri&&c.mode&mr&&c.memoizedState!==null&&(le=Lf(f,c,V,T,te,A)),$e(null),f!==null&&!wa?(gd(f,c,A),Ta(f,c,A)):(c.effectTag|=lu,Do(f,c,le,A),c.child)}function Ih(f,c,E,T,A,j){if(f===null){var V=E.type;if(a0(V)&&E.compare===null&&E.defaultProps===void 0){var te=V;return te=r0(V),c.tag=ie,c.type=te,ep(c,V),bh(f,c,te,T,A,j)}{var le=V.propTypes;le&&_(le,T,"prop",qt(V),Lr)}var Be=fy(E.type,null,T,null,c.mode,j);return Be.ref=c.ref,Be.return=c,c.child=Be,Be}{var Ke=E.type,pt=Ke.propTypes;pt&&_(pt,T,"prop",qt(Ke),Lr)}var Nt=f.child;if(A component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",le,le),X2[le]=!0)}c.mode&mr&&Rl.recordLegacyContextWarning(c,null),v1.current=c,te=Lf(null,c,E,A,j,T)}if(c.effectTag|=lu,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0){{var Be=qt(E)||"Unknown";Ys[Be]||(We(!1,"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.",Be,Be,Be),Ys[Be]=!0)}c.tag=O,_d();var Ke=!1;Xi(E)?(Ke=!0,Hi(c)):Ke=!1,c.memoizedState=te.state!==null&&te.state!==void 0?te.state:null;var pt=E.getDerivedStateFromProps;return typeof pt=="function"&&Sf(c,E,pt,A),sl(c,te),hc(c,E,A,T),$2(null,c,E,!0,Ke,T)}else return c.tag=L,ai&&E.contextTypes&&We(!1,"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.",qt(E)||"Unknown"),Ri&&c.mode&mr&&c.memoizedState!==null&&(te=Lf(null,c,E,A,j,T)),Do(null,c,te,T),ep(c,E),c.child}function ep(f,c){if(c&&c.childContextTypes&&We(!1,"%s(...): childContextTypes cannot be defined on a function component.",c.displayName||c.name||"Component"),f.ref!==null){var E="",T=g0();T&&(E+=` +Incoming: %s`,cn,"["+d.join(", ")+"]","["+c.join(", ")+"]");for(var D=0;D0){var z=O.dispatch;if(Cs!==null){var G=Cs.get(O);if(G!==void 0){Cs.delete(O);var ne=C.memoizedState,se=G;do{var Ue=se.action;ne=c(ne,Ue),se=se.next}while(se!==null);return yo(ne,C.memoizedState)||op(),C.memoizedState=ne,C.baseUpdate===O.last&&(C.baseState=ne),O.lastRenderedState=ne,[ne,z]}}return[C.memoizedState,z]}var Xe=O.last,ht=C.baseUpdate,Lt=C.baseState,Gt;if(ht!==null?(Xe!==null&&(Xe.next=null),Gt=ht.next):Gt=Xe!==null?Xe.next:null,Gt!==null){var Ht=Lt,yn=null,kr=null,ii=ht,Oi=Gt,L0=!1;do{var $i=Oi.expirationTime;if($iPu&&(Pu=$i,Kd(Pu));else if(gv($i,Oi.suspenseConfig),Oi.eagerReducer===c)Ht=Oi.eagerState;else{var lt=Oi.action;Ht=c(Ht,lt)}ii=Oi,Oi=Oi.next}while(Oi!==null&&Oi!==Gt);L0||(kr=ii,yn=Ht),yo(Ht,C.memoizedState)||op(),C.memoizedState=Ht,C.baseUpdate=kr,C.baseState=yn,O.lastRenderedState=Ht}var Mt=O.dispatch;return[C.memoizedState,Mt]}function Ff(c){var d=Dc();typeof c=="function"&&(c=c()),d.memoizedState=d.baseState=c;var D=d.queue={last:null,dispatch:null,lastRenderedReducer:L2,lastRenderedState:c},C=D.dispatch=a1.bind(null,dl,D);return[d.memoizedState,C]}function o1(c){return u1(L2,c)}function Qa(c,d,D,C){var O={tag:c,create:d,destroy:D,deps:C,next:null};if(rs===null)rs=Xa(),rs.lastEffect=O.next=O;else{var z=rs.lastEffect;if(z===null)rs.lastEffect=O.next=O;else{var G=z.next;z.next=O,O.next=G,rs.lastEffect=O}}return O}function l1(c){var d=Dc(),D={current:c};return Object.seal(D),d.memoizedState=D,D}function F2(c){var d=i1();return d.memoizedState}function Dd(c,d,D,C){var O=Dc(),z=C===void 0?null:C;Mf|=c,O.memoizedState=Qa(d,D,void 0,z)}function wc(c,d,D,C){var O=i1(),z=C===void 0?null:C,G=void 0;if(jn!==null){var ne=jn.memoizedState;if(G=ne.destroy,z!==null){var se=ne.deps;if(Nf(z,se)){Qa(Af,D,G,z);return}}}Mf|=c,O.memoizedState=Qa(d,D,G,z)}function s1(c,d){return typeof jest<"u"&&Mv(dl),Dd(Dr|F0,sr|r1,c,d)}function Fl(c,d){return typeof jest<"u"&&Mv(dl),wc(Dr|F0,sr|r1,c,d)}function Ea(c,d){return Dd(Dr,Of|cl,c,d)}function Ch(c,d){return wc(Dr,Of|cl,c,d)}function P2(c,d){if(typeof d=="function"){var D=d,C=c();return D(C),function(){D(null)}}else if(d!=null){var O=d;O.hasOwnProperty("current")||Xt(!1,"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.","an object with keys {"+Object.keys(O).join(", ")+"}");var z=c();return O.current=z,function(){O.current=null}}}function I2(c,d,D){typeof d!="function"&&Xt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",d!==null?typeof d:"null");var C=D!=null?D.concat([c]):null;return Dd(Dr,Of|cl,P2.bind(null,d,c),C)}function xh(c,d,D){typeof d!="function"&&Xt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",d!==null?typeof d:"null");var C=D!=null?D.concat([c]):null;return wc(Dr,Of|cl,P2.bind(null,d,c),C)}function pm(c,d){}var Rh=pm;function Pl(c,d){var D=Dc(),C=d===void 0?null:d;return D.memoizedState=[c,C],c}function us(c,d){var D=i1(),C=d===void 0?null:d,O=D.memoizedState;if(O!==null&&C!==null){var z=O[1];if(Nf(C,z))return O[0]}return D.memoizedState=[c,C],c}function xs(c,d){var D=Dc(),C=d===void 0?null:d,O=c();return D.memoizedState=[O,C],O}function Gs(c,d){var D=i1(),C=d===void 0?null:d,O=D.memoizedState;if(O!==null&&C!==null){var z=O[1];if(Nf(C,z))return O[0]}var G=c();return D.memoizedState=[G,C],G}function b2(c,d){var D=Ff(c),C=D[0],O=D[1];return s1(function(){t.unstable_next(function(){var z=qo.suspense;qo.suspense=d===void 0?null:d;try{O(c)}finally{qo.suspense=z}})},[c,d]),C}function Ah(c,d){var D=o1(c),C=D[0],O=D[1];return Fl(function(){t.unstable_next(function(){var z=qo.suspense;qo.suspense=d===void 0?null:d;try{O(c)}finally{qo.suspense=z}})},[c,d]),C}function B2(c){var d=Ff(!1),D=d[0],C=d[1],O=Pl(function(z){C(!0),t.unstable_next(function(){var G=qo.suspense;qo.suspense=c===void 0?null:c;try{C(!1),z()}finally{qo.suspense=G}})},[c,D]);return[O,D]}function U2(c){var d=o1(!1),D=d[0],C=d[1],O=us(function(z){C(!0),t.unstable_next(function(){var G=qo.suspense;qo.suspense=c===void 0?null:c;try{C(!1),z()}finally{qo.suspense=G}})},[c,D]);return[O,D]}function a1(c,d,D){if(!(Ec=0){var D=c1()-d1;c.actualDuration+=D,d&&(c.selfBaseDuration=D),d1=-1}}var bl=null,Za=null,Da=!1;function q2(){Da&&Xt(!1,"We should not be hydrating here. This is a bug in React. Please file a bug.")}function W2(c){if(!Se)return!1;var d=c.stateNode.containerInfo;return Za=U(d),bl=c,Da=!0,!0}function hm(c,d){return Se?(Za=zi(d),Y2(c),Da=!0,!0):!1}function V2(c,d){switch(c.tag){case j:oe(c.stateNode.containerInfo,d);break;case V:qe(c.type,c.memoizedProps,c.stateNode,d);break}var D=U4();D.stateNode=d,D.return=c,D.effectTag=Y0,c.lastEffect!==null?(c.lastEffect.nextEffect=D,c.lastEffect=D):c.firstEffect=c.lastEffect=D}function Fh(c,d){switch(d.effectTag=d.effectTag&~su|vi,c.tag){case j:{var D=c.stateNode.containerInfo;switch(d.tag){case V:var C=d.type,O=d.pendingProps;rt(D,C,O);break;case re:var z=d.pendingProps;xt(D,z);break;case he:kt(D);break}break}case V:{var G=c.type,ne=c.memoizedProps,se=c.stateNode;switch(d.tag){case V:var Ue=d.type,Xe=d.pendingProps;bt(G,ne,se,Ue,Xe);break;case re:var ht=d.pendingProps;sn(G,ne,se,ht);break;case he:rn(G,ne,se);break}break}default:return}}function Ph(c,d){switch(c.tag){case V:{var D=c.type,C=c.pendingProps,O=pf(d,D,C);return O!==null?(c.stateNode=O,!0):!1}case re:{var z=c.pendingProps,G=bs(d,z);return G!==null?(c.stateNode=G,!0):!1}case he:{if(Ai){var ne=ba(d);if(ne!==null){var se={dehydrated:ne,retryTime:Di};c.memoizedState=se;var Ue=j4(ne);return Ue.return=c,c.child=Ue,!0}}return!1}default:return!1}}function G2(c){if(!!Da){var d=Za;if(!d){Fh(bl,c),Da=!1,bl=c;return}var D=d;if(!Ph(c,d)){if(d=zi(D),!d||!Ph(c,d)){Fh(bl,c),Da=!1,bl=c;return}V2(bl,D)}bl=c,Za=U(d)}}function vm(c,d,D){if(!Se)throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var C=c.stateNode,O=H(C,c.type,c.memoizedProps,d,D,c);return c.updateQueue=O,O!==null}function mm(c){if(!Se)throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var d=c.stateNode,D=c.memoizedProps,C=Y(d,D,c);if(C){var O=bl;if(O!==null)switch(O.tag){case j:{var z=O.stateNode.containerInfo;Je(z,d,D);break}case V:{var G=O.type,ne=O.memoizedProps,se=O.stateNode;vt(G,ne,se,d,D);break}}}return C}function Ih(c){if(!Se)throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var d=c.memoizedState,D=d!==null?d.dehydrated:null;if(!D)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");ee(D,c)}function ym(c){if(!Se)throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var d=c.memoizedState,D=d!==null?d.dehydrated:null;if(!D)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");return Ce(D)}function Y2(c){for(var d=c.return;d!==null&&d.tag!==V&&d.tag!==j&&d.tag!==he;)d=d.return;bl=d}function h1(c){if(!Se||c!==bl)return!1;if(!Da)return Y2(c),Da=!0,!1;var d=c.type;if(c.tag!==V||d!=="head"&&d!=="body"&&!Ni(d,c.memoizedProps))for(var D=Za;D;)V2(c,D),D=zi(D);return Y2(c),c.tag===he?Za=ym(c):Za=bl?zi(c.stateNode):null,!0}function v1(){!Se||(bl=null,Za=null,Da=!1)}var m1=it.ReactCurrentOwner,wa=!1,K2,Ys,Ks,Xs,X2,Sa,y1,wd,Sc,Q2;K2={},Ys={},Ks={},Xs={},X2={},Sa=!1,y1=!1,wd={},Sc={},Q2={};function wo(c,d,D,C){c===null?d.child=$c(d,null,D,C):d.child=Tf(d,c.child,D,C)}function bh(c,d,D,C){d.child=Tf(d,c.child,null,C),d.child=Tf(d,null,D,C)}function Bh(c,d,D,C,O){if(d.type!==d.elementType){var z=D.propTypes;z&&E(z,C,"prop",qt(D),Lr)}var G=D.render,ne=d.ref,se;return i0(d,O),m1.current=d,et("render"),se=Lf(c,d,G,C,ne,O),Ri&&d.mode&mr&&d.memoizedState!==null&&(se=Lf(c,d,G,C,ne,O)),et(null),c!==null&&!wa?(gd(c,d,O),Ta(c,d,O)):(d.effectTag|=lu,wo(c,d,se,O),d.child)}function Uh(c,d,D,C,O,z){if(c===null){var G=D.type;if(s0(G)&&D.compare===null&&D.defaultProps===void 0){var ne=G;return ne=n0(G),d.tag=ue,d.type=ne,$2(d,G),jh(c,d,ne,C,O,z)}{var se=G.propTypes;se&&E(se,C,"prop",qt(G),Lr)}var Ue=yy(D.type,null,C,null,d.mode,z);return Ue.ref=d.ref,Ue.return=d,d.child=Ue,Ue}{var Xe=D.type,ht=Xe.propTypes;ht&&E(ht,C,"prop",qt(Xe),Lr)}var Lt=c.child;if(O component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",se,se),K2[se]=!0)}d.mode&mr&&Al.recordLegacyContextWarning(d,null),m1.current=d,ne=Lf(null,d,D,O,z,C)}if(d.effectTag|=lu,typeof ne=="object"&&ne!==null&&typeof ne.render=="function"&&ne.$$typeof===void 0){{var Ue=qt(D)||"Unknown";Ys[Ue]||(Ve(!1,"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.",Ue,Ue,Ue),Ys[Ue]=!0)}d.tag=k,_d();var Xe=!1;Xi(D)?(Xe=!0,qi(d)):Xe=!1,d.memoizedState=ne.state!==null&&ne.state!==void 0?ne.state:null;var ht=D.getDerivedStateFromProps;return typeof ht=="function"&&Sf(d,D,ht,O),al(d,ne),hc(d,D,O,C),Z2(null,d,D,!0,Xe,C)}else return d.tag=F,li&&D.contextTypes&&Ve(!1,"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.",qt(D)||"Unknown"),Ri&&d.mode&mr&&d.memoizedState!==null&&(ne=Lf(null,d,D,O,z,C)),wo(null,d,ne,C),$2(d,D),d.child}function $2(c,d){if(d&&d.childContextTypes&&Ve(!1,"%s(...): childContextTypes cannot be defined on a function component.",d.displayName||d.name||"Component"),c.ref!==null){var D="",C=y0();C&&(D+=` -Check the render method of \``+T+"`.");var A=T||f._debugID||"",j=f._debugSource;j&&(A=j.fileName+":"+j.lineNumber),Q2[A]||(Q2[A]=!0,Xt(!1,"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s",E))}if(Xl&&c.defaultProps!==void 0){var V=qt(c)||"Unknown";J2[V]||(We(!1,"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.",V),J2[V]=!0)}if(typeof c.getDerivedStateFromProps=="function"){var te=qt(c)||"Unknown";Xs[te]||(We(!1,"%s: Function components do not support getDerivedStateFromProps.",te),Xs[te]=!0)}if(typeof c.contextType=="object"&&c.contextType!==null){var le=qt(c)||"Unknown";Ks[le]||(We(!1,"%s: Function components do not support contextType.",le),Ks[le]=!0)}}var Cd={dehydrated:null,retryTime:at};function tp(f,c,E){return e1(f,$c)&&(c===null||c.memoizedState!==null)}function Hh(f,c,E){var T=c.mode,A=c.pendingProps;Xg(c)&&(c.effectTag|=Xr);var j=kl.current,V=!1,te=(c.effectTag&Xr)!==xi;if(te||tp(j,f,c)?(V=!0,c.effectTag&=~Xr):(f===null||f.memoizedState!==null)&&A.fallback!==void 0&&A.unstable_avoidThisFallback!==!0&&(j=vd(j,xf)),j=ya(j),Fr(c,j),"maxDuration"in A&&(m1||(m1=!0,Xt(!1,"maxDuration has been removed from React. Remove the maxDuration prop."))),f===null){if(A.fallback!==void 0&&(Y2(c),Ai)){var le=c.memoizedState;if(le!==null){var Be=le.dehydrated;if(Be!==null)return qh(c,Be,E)}}if(V){var Ke=A.fallback,pt=nf(null,T,at,null);if(pt.return=c,(c.mode&Y)===Ar){var Nt=c.memoizedState,Gt=Nt!==null?c.child.child:c.child;pt.child=Gt;for(var zt=Gt;zt!==null;)zt.return=pt,zt=zt.sibling}var yn=nf(Ke,T,E,null);return yn.return=c,pt.sibling=yn,c.memoizedState=Cd,c.child=pt,yn}else{var kr=A.children;return c.memoizedState=null,c.child=Zc(c,null,kr,E)}}else{var oi=f.memoizedState;if(oi!==null){if(Ai){var Oi=oi.dehydrated;if(Oi!==null)if(te){if(c.memoizedState!==null)return c.child=f.child,c.effectTag|=Xr,null;var L0=A.fallback,$i=nf(null,T,at,null);if($i.return=c,$i.child=null,(c.mode&Y)===Ar)for(var ot=$i.child=c.child;ot!==null;)ot.return=$i,ot=ot.sibling;else Tf(c,f.child,null,E);if(en&&c.mode&ii){for(var Ot=0,Ze=$i.child;Ze!==null;)Ot+=Ze.treeBaseDuration,Ze=Ze.sibling;$i.treeBaseDuration=Ot}var Ut=nf(L0,T,E,null);return Ut.return=c,$i.sibling=Ut,Ut.effectTag|=mi,$i.childExpirationTime=at,c.memoizedState=Cd,c.child=$i,Ut}else return Wh(f,c,Oi,oi,E)}var Pn=f.child,vn=Pn.sibling;if(V){var Wi=A.fallback,pi=To(Pn,Pn.pendingProps,at);if(pi.return=c,(c.mode&Y)===Ar){var Ku=c.memoizedState,hr=Ku!==null?c.child.child:c.child;if(hr!==Pn.child){pi.child=hr;for(var pu=hr;pu!==null;)pu.return=pi,pu=pu.sibling}}if(en&&c.mode&ii){for(var Kr=0,xu=pi.child;xu!==null;)Kr+=xu.treeBaseDuration,xu=xu.sibling;pi.treeBaseDuration=Kr}var w0=To(vn,Wi,vn.expirationTime);return w0.return=c,pi.sibling=w0,pi.childExpirationTime=at,c.memoizedState=Cd,c.child=pi,w0}else{var W0=A.children,Ms=Pn.child,Xu=Tf(c,Ms,W0,E);return c.memoizedState=null,c.child=Xu}}else{var yl=f.child;if(V){var rf=A.fallback,Wo=nf(null,T,at,null);if(Wo.return=c,Wo.child=yl,yl!==null&&(yl.return=Wo),(c.mode&Y)===Ar){var ks=c.memoizedState,Zd=ks!==null?c.child.child:c.child;Wo.child=Zd;for(var Vf=Zd;Vf!==null;)Vf.return=Wo,Vf=Vf.sibling}if(en&&c.mode&ii){for(var Lc=0,zl=Wo.child;zl!==null;)Lc+=zl.treeBaseDuration,zl=zl.sibling;Wo.treeBaseDuration=Lc}var Vo=nf(rf,T,E,null);return Vo.return=c,Wo.sibling=Vo,Vo.effectTag|=mi,Wo.childExpirationTime=at,c.memoizedState=Cd,c.child=Wo,Vo}else{c.memoizedState=null;var N1=A.children;return c.child=Tf(c,yl,N1,E)}}}}function np(f,c,E){c.memoizedState=null;var T=c.pendingProps,A=T.children;return Do(f,c,A,E),c.child}function qh(f,c,E){if((f.mode&Y)===Ar)Xt(!1,"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components."),f.expirationTime=Un;else if(y0(c)){var T=Ul(),A=Ds(T);bn&&x(A),f.expirationTime=A}else f.expirationTime=Di,bn&&x(Di);return null}function Wh(f,c,E,T,A){if(W2(),(c.mode&Y)===Ar||y0(E))return np(f,c,A);var j=f.childExpirationTime>=A;if(wa||j){if(A. Use lowercase "%s" instead.',f,f.toLowerCase());break}case"forward":case"backward":{Xt(!1,'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',f,f.toLowerCase());break}default:Xt(!1,'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',f);break}else Xt(!1,'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',f)}function Vh(f,c){f!==void 0&&!Sc[f]&&(f!=="collapsed"&&f!=="hidden"?(Sc[f]=!0,Xt(!1,'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',f)):c!=="forwards"&&c!=="backwards"&&(Sc[f]=!0,Xt(!1,' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',f)))}function g1(f,c){{var E=Array.isArray(f),T=!E&&typeof fr(f)=="function";if(E||T){var A=E?"array":"iterable";return Xt(!1,"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",A,c,A),!1}}return!0}function gm(f,c){if((c==="forwards"||c==="backwards")&&f!==void 0&&f!==null&&f!==!1)if(Array.isArray(f)){for(var E=0;E. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',c)}}function ip(f,c,E,T,A,j){var V=f.memoizedState;V===null?f.memoizedState={isBackwards:c,rendering:null,last:T,tail:E,tailExpiration:0,tailMode:A,lastEffect:j}:(V.isBackwards=c,V.rendering=null,V.last=T,V.tail=E,V.tailExpiration=0,V.tailMode=A,V.lastEffect=j)}function up(f,c,E){var T=c.pendingProps,A=T.revealOrder,j=T.tail,V=T.children;ym(A),Vh(j,A),gm(V,A),Do(f,c,V,E);var te=kl.current,le=e1(te,$c);if(le)te=hd(te,$c),c.effectTag|=Xr;else{var Be=f!==null&&(f.effectTag&Xr)!==xi;Be&&vm(c,c.child,E),te=ya(te)}if(Fr(c,te),(c.mode&Y)===Ar)c.memoizedState=null;else switch(A){case"forwards":{var Ke=mm(c.child),pt;Ke===null?(pt=c.child,c.child=null):(pt=Ke.sibling,Ke.sibling=null),ip(c,!1,pt,Ke,j,c.lastEffect);break}case"backwards":{var Nt=null,Gt=c.child;for(c.child=null;Gt!==null;){var zt=Gt.alternate;if(zt!==null&&t1(zt)===null){c.child=Gt;break}var yn=Gt.sibling;Gt.sibling=Nt,Nt=Gt,Gt=yn}ip(c,!0,Nt,null,j,c.lastEffect);break}case"together":{ip(c,!1,null,null,void 0,c.lastEffect);break}default:c.memoizedState=null}return c.child}function _m(f,c,E){Ya(c,c.stateNode.containerInfo);var T=c.pendingProps;return f===null?c.child=Tf(c,null,T,E):Do(f,c,T,E),c.child}function Em(f,c,E){var T=c.type,A=T._context,j=c.pendingProps,V=c.memoizedProps,te=j.value;{var le=c.type.propTypes;le&&_(le,j,"prop","Context.Provider",Lr)}if(xr(c,te),V!==null){var Be=V.value,Ke=cu(A,te,Be);if(Ke===0){if(V.children===j.children&&!sa())return Ta(f,c,E)}else Ol(c,A,Ke,E)}var pt=j.children;return Do(f,c,pt,E),c.child}var Gh=!1;function Dm(f,c,E){var T=c.type;T._context===void 0?T!==T.Consumer&&(Gh||(Gh=!0,Xt(!1,"Rendering directly is not supported and will be removed in a future major release. Did you mean to render instead?"))):T=T._context;var A=c.pendingProps,j=A.children;typeof j!="function"&&We(!1,"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."),u0(c,E);var V=Ve(T,A.unstable_observedBits),te;return v1.current=c,$e("render"),te=j(V),$e(null),c.effectTag|=lu,Do(f,c,te,E),c.child}function wm(f,c,E){var T=c.type.impl;if(T.reconcileChildren===!1)return null;var A=c.pendingProps,j=A.children;return Do(f,c,j,E),c.child}function op(f,c,E){var T=c.pendingProps,A=T.children;return Do(f,c,A,E),c.child}function lp(){wa=!0}function Ta(f,c,E){tu(c),f!==null&&(c.dependencies=f.dependencies),en&&Mh(c);var T=c.expirationTime;T!==at&&Xd(T);var A=c.childExpirationTime;return A=E;le&&(c.effectTag|=Dr)}break;case pe:{var Be=c.memoizedState;if(Be!==null){if(Ai&&Be.dehydrated!==null){Fr(c,ya(kl.current)),c.effectTag|=Xr;break}var Ke=c.child,pt=Ke.childExpirationTime;if(pt!==at&&pt>=E)return Hh(f,c,E);Fr(c,ya(kl.current));var Nt=Ta(f,c,E);return Nt!==null?Nt.sibling:null}else Fr(c,ya(kl.current));break}case yt:{var Gt=(f.effectTag&Xr)!==xi,zt=c.childExpirationTime>=E;if(Gt){if(zt)return up(f,c,E);c.effectTag|=Xr}var yn=c.memoizedState;if(yn!==null&&(yn.rendering=null,yn.tail=null),Fr(c,kl.current),zt)break;return null}}return Ta(f,c,E)}else wa=!1}else wa=!1;switch(c.expirationTime=at,c.tag){case C:return hm(f,c,c.type,E);case Oe:{var kr=c.elementType;return If(f,c,kr,T,E)}case L:{var oi=c.type,Oi=c.pendingProps,L0=c.elementType===oi?Oi:qi(oi,Oi);return Z2(f,c,oi,L0,E)}case O:{var $i=c.type,ot=c.pendingProps,Ot=c.elementType===$i?ot:qi($i,ot);return jh(f,c,$i,Ot,E)}case U:return dm(f,c,E);case W:return pm(f,c,E);case ne:return Pf(f,c);case pe:return Hh(f,c,E);case H:return _m(f,c,E);case se:{var Ze=c.type,Ut=c.pendingProps,Pn=c.elementType===Ze?Ut:qi(Ze,Ut);return Ph(f,c,Ze,Pn,E)}case m:return cm(f,c,E);case he:return Bh(f,c,E);case De:return Uh(f,c,E);case ve:return Em(f,c,E);case Ee:return Dm(f,c,E);case me:{var vn=c.type,Wi=c.pendingProps,pi=qi(vn,Wi);if(c.type!==c.elementType){var Ku=vn.propTypes;Ku&&_(Ku,pi,"prop",qt(vn),Lr)}return pi=qi(vn.type,pi),Ih(f,c,vn,pi,T,E)}case ie:return bh(f,c,c.type,c.pendingProps,T,E);case je:{var hr=c.type,pu=c.pendingProps,Kr=c.elementType===hr?pu:qi(hr,pu);return Td(f,c,hr,Kr,E)}case yt:return up(f,c,E);case gt:{if(Wt)return wm(f,c,E);break}case Xe:{if(Au)return op(f,c,E);break}}throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yh(f,c,E,T){return{currentFiber:f,impl:E,instance:null,prevProps:null,props:c,state:T}}function xd(f){return f.tag===pe&&f.memoizedState!==null}function E1(f){return f.child.sibling.child}var Kh={};function ap(f,c,E){if(Au){if(f.tag===W){var T=f.type,A=f.memoizedProps,j=f.stateNode,V=No(j);V!==null&&c(T,A||Kh,V)===!0&&E.push(V)}var te=f.child;xd(f)&&(te=E1(f)),te!==null&&fp(te,c,E)}}function Xh(f,c){if(Au){if(f.tag===W){var E=f.type,T=f.memoizedProps,A=f.stateNode,j=No(A);if(j!==null&&c(E,T,j)===!0)return j}var V=f.child;if(xd(f)&&(V=E1(f)),V!==null)return Qh(V,c)}return null}function fp(f,c,E){for(var T=f;T!==null;)ap(T,c,E),T=T.sibling}function Qh(f,c){for(var E=f;E!==null;){var T=Xh(E,c);if(T!==null)return T;E=E.sibling}return null}function Jh(f,c,E){if(Rd(f,c))E.push(f.stateNode.methods);else{var T=f.child;xd(f)&&(T=E1(f)),T!==null&&cp(T,c,E)}}function cp(f,c,E){for(var T=f;T!==null;)Jh(T,c,E),T=T.sibling}function Rd(f,c){return f.tag===Xe&&f.type===c&&f.stateNode!==null}function Ad(f,c){return{getChildren:function(){var E=c.fiber,T=E.child,A=[];return T!==null&&cp(T,f,A),A.length===0?null:A},getChildrenFromRoot:function(){for(var E=c.fiber,T=E;T!==null;){var A=T.return;if(A===null||(T=A,T.tag===Xe&&T.type===f))break}var j=[];return cp(T.child,f,j),j.length===0?null:j},getParent:function(){for(var E=c.fiber.return;E!==null;){if(E.tag===Xe&&E.type===f)return E.stateNode.methods;E=E.return}return null},getProps:function(){var E=c.fiber;return E.memoizedProps},queryAllNodes:function(E){var T=c.fiber,A=T.child,j=[];return A!==null&&fp(A,E,j),j.length===0?null:j},queryFirstNode:function(E){var T=c.fiber,A=T.child;return A!==null?Qh(A,E):null},containsNode:function(E){for(var T=cr(E);T!==null;){if(T.tag===Xe&&T.type===f&&T.stateNode===c)return!0;T=T.return}return!1}}}function H0(f){f.effectTag|=Dr}function Od(f){f.effectTag|=Ao}var Ca,$a,Md,kd;if(b0)Ca=function(f,c,E,T){for(var A=c.child;A!==null;){if(A.tag===W||A.tag===ne)Qr(f,A.stateNode);else if(Wt&&A.tag===gt)Qr(f,A.stateNode.instance);else if(A.tag!==H){if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}},$a=function(f){},Md=function(f,c,E,T,A){var j=f.memoizedProps;if(j!==T){var V=c.stateNode,te=al(),le=h0(V,E,j,T,A,te);c.updateQueue=le,le&&H0(c)}},kd=function(f,c,E,T){E!==T&&H0(c)};else if(X){Ca=function(f,c,E,T){for(var A=c.child;A!==null;){e:if(A.tag===W){var j=A.stateNode;if(E&&T){var V=A.memoizedProps,te=A.type;j=$r(j,te,V,A)}Qr(f,j)}else if(A.tag===ne){var le=A.stateNode;if(E&&T){var Be=A.memoizedProps;le=Zl(le,Be,A)}Qr(f,le)}else if(Wt&&A.tag===gt){var Ke=A.stateNode.instance;if(E&&T){var pt=A.memoizedProps,Nt=A.type;Ke=$r(Ke,Nt,pt,A)}Qr(f,Ke)}else if(A.tag!==H){if(A.tag===pe){if((A.effectTag&Dr)!==xi){var Gt=A.memoizedState!==null;if(Gt){var zt=A.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,Ca(f,zt,!0,Gt));var yn=zt.sibling;if(yn!==null){yn.return=A,A=yn;continue}}}}if(A.child!==null){A.child.return=A,A=A.child;continue}}else if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A=A,A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}};var dp=function(f,c,E,T){for(var A=c.child;A!==null;){e:if(A.tag===W){var j=A.stateNode;if(E&&T){var V=A.memoizedProps,te=A.type;j=$r(j,te,V,A)}Qn(f,j)}else if(A.tag===ne){var le=A.stateNode;if(E&&T){var Be=A.memoizedProps;le=Zl(le,Be,A)}Qn(f,le)}else if(Wt&&A.tag===gt){var Ke=A.stateNode.instance;if(E&&T){var pt=A.memoizedProps,Nt=A.type;Ke=$r(Ke,Nt,pt,A)}Qn(f,Ke)}else if(A.tag!==H){if(A.tag===pe){if((A.effectTag&Dr)!==xi){var Gt=A.memoizedState!==null;if(Gt){var zt=A.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,dp(f,zt,!0,Gt));var yn=zt.sibling;if(yn!==null){yn.return=A,A=yn;continue}}}}if(A.child!==null){A.child.return=A,A=A.child;continue}}else if(A.child!==null){A.child.return=A,A=A.child;continue}}if(A=A,A===c)return;for(;A.sibling===null;){if(A.return===null||A.return===c)return;A=A.return}A.sibling.return=A.return,A=A.sibling}};$a=function(f){var c=f.stateNode,E=f.firstEffect===null;if(!E){var T=c.containerInfo,A=S0(T);dp(A,f,!1,!1),c.pendingChildren=A,H0(f),ac(T,A)}},Md=function(f,c,E,T,A){var j=f.stateNode,V=f.memoizedProps,te=c.firstEffect===null;if(te&&V===T){c.stateNode=j;return}var le=c.stateNode,Be=al(),Ke=null;if(V!==T&&(Ke=h0(le,E,V,T,A,Be)),te&&Ke===null){c.stateNode=j;return}var pt=ms(j,Ke,E,V,T,c,te,le);Ou(pt,E,T,A,Be)&&H0(c),c.stateNode=pt,te?H0(c):Ca(pt,c,!1,!1)},kd=function(f,c,E,T){if(E!==T){var A=ns(),j=al();c.stateNode=hs(T,A,j,c),H0(c)}}}else $a=function(f){},Md=function(f,c,E,T,A){},kd=function(f,c,E,T){};function Nd(f,c){switch(f.tailMode){case"hidden":{for(var E=f.tail,T=null;E!==null;)E.alternate!==null&&(T=E),E=E.sibling;T===null?f.tail=null:T.sibling=null;break}case"collapsed":{for(var A=f.tail,j=null;A!==null;)A.alternate!==null&&(j=A),A=A.sibling;j===null?!c&&f.tail!==null?f.tail.sibling=null:f.tail=null:j.sibling=null;break}}}function Zh(f,c,E){var T=c.pendingProps;switch(c.tag){case C:break;case Oe:break;case ie:case L:break;case O:{var A=c.type;Xi(A)&&Hs(c);break}case U:{io(c),R0(c);var j=c.stateNode;if(j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),f===null||f.child===null){var V=p1(c);V&&H0(c)}$a(c);break}case W:{k2(c);var te=ns(),le=c.type;if(f!==null&&c.stateNode!=null){if(Md(f,c,le,T,te),gi){var Be=f.memoizedProps.listeners,Ke=T.listeners;Be!==Ke&&H0(c)}f.ref!==c.ref&&Od(c)}else{if(!T){if(c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");break}var pt=al(),Nt=p1(c);if(Nt){if(sm(c,te,pt)&&H0(c),gi){var Gt=T.listeners;Gt!=null&&hn(Gt,c,te)}}else{var zt=Ki(le,T,te,pt,c);if(Ca(zt,c,!1,!1),c.stateNode=zt,gi){var yn=T.listeners;yn!=null&&hn(yn,c,te)}Ou(zt,le,T,te,pt)&&H0(c)}c.ref!==null&&Od(c)}break}case ne:{var kr=T;if(f&&c.stateNode!=null){var oi=f.memoizedProps;kd(f,c,oi,kr)}else{if(typeof kr!="string"&&c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");var Oi=ns(),L0=al(),$i=p1(c);$i?am(c)&&H0(c):c.stateNode=hs(kr,Oi,L0,c)}break}case se:break;case pe:{ga(c);var ot=c.memoizedState;if(Ai&&ot!==null&&ot.dehydrated!==null)if(f===null){var Ot=p1(c);if(!Ot)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");return Lh(c),bn&&x(Di),null}else return h1(),(c.effectTag&Xr)===xi&&(c.memoizedState=null),c.effectTag|=Dr,null;if((c.effectTag&Xr)!==xi)return c.expirationTime=E,c;var Ze=ot!==null,Ut=!1;if(f===null)c.memoizedProps.fallback!==void 0&&p1(c);else{var Pn=f.memoizedState;if(Ut=Pn!==null,!Ze&&Pn!==null){var vn=f.child.sibling;if(vn!==null){var Wi=c.firstEffect;Wi!==null?(c.firstEffect=vn,vn.nextEffect=Wi):(c.firstEffect=c.lastEffect=vn,vn.nextEffect=null),vn.effectTag=G0}}}if(Ze&&!Ut&&(c.mode&Y)!==Ar){var pi=f===null&&c.memoizedProps.unstable_avoidThisFallback!==!0;pi||e1(kl.current,xf)?mv():yv()}X&&Ze&&(c.effectTag|=Dr),b0&&(Ze||Ut)&&(c.effectTag|=Dr),Yi&&c.updateQueue!==null&&c.memoizedProps.suspenseCallback!=null&&(c.effectTag|=Dr);break}case m:break;case he:break;case De:break;case H:io(c),$a(c);break;case ve:i0(c);break;case Ee:break;case me:break;case je:{var Ku=c.type;Xi(Ku)&&Hs(c);break}case yt:{ga(c);var hr=c.memoizedState;if(hr===null)break;var pu=(c.effectTag&Xr)!==xi,Kr=hr.rendering;if(Kr===null)if(pu)Nd(hr,!1);else{var xu=gv()&&(f===null||(f.effectTag&Xr)===xi);if(!xu)for(var w0=c.child;w0!==null;){var W0=t1(w0);if(W0!==null){pu=!0,c.effectTag|=Xr,Nd(hr,!1);var Ms=W0.updateQueue;return Ms!==null&&(c.updateQueue=Ms,c.effectTag|=Dr),hr.lastEffect===null&&(c.firstEffect=null),c.lastEffect=hr.lastEffect,nm(c,E),Fr(c,hd(kl.current,$c)),c.child}w0=w0.sibling}}else{if(!pu){var Xu=t1(Kr);if(Xu!==null){c.effectTag|=Xr,pu=!0;var yl=Xu.updateQueue;if(yl!==null&&(c.updateQueue=yl,c.effectTag|=Dr),Nd(hr,!0),hr.tail===null&&hr.tailMode==="hidden"&&!Kr.alternate){var rf=c.lastEffect=hr.lastEffect;return rf!==null&&(rf.nextEffect=null),null}}else if(vt()>hr.tailExpiration&&E>Di){c.effectTag|=Xr,pu=!0,Nd(hr,!1);var Wo=E-1;c.expirationTime=c.childExpirationTime=Wo,bn&&x(Wo)}}if(hr.isBackwards)Kr.sibling=c.child,c.child=Kr;else{var ks=hr.last;ks!==null?ks.sibling=Kr:c.child=Kr,hr.last=Kr}}if(hr.tail!==null){if(hr.tailExpiration===0){var Zd=500;hr.tailExpiration=vt()+Zd}var Vf=hr.tail;hr.rendering=Vf,hr.tail=Vf.sibling,hr.lastEffect=c.lastEffect,Vf.sibling=null;var Lc=kl.current;return pu?Lc=hd(Lc,$c):Lc=ya(Lc),Fr(c,Lc),Vf}break}case gt:{if(Wt){var zl=c.type.impl,Vo=c.stateNode;if(Vo===null){var N1=zl.getInitialState,n_;N1!==void 0&&(n_=N1(T)),Vo=c.stateNode=Yh(c,T,zl,n_||{});var r_=dt(Vo);if(Vo.instance=r_,zl.reconcileChildren===!1)return null;Ca(r_,c,!1,!1),Yn(Vo)}else{var $4=Vo.props;if(Vo.prevProps=$4,Vo.props=T,Vo.currentFiber=c,X){var i_=oa(Vo);Vo.instance=i_,Ca(i_,c,!1,!1)}var eE=Cn(Vo);eE&&H0(c)}}break}case Xe:{if(Au)if(f===null){var tE=c.type,Ey={fiber:c,methods:null};if(c.stateNode=Ey,Ey.methods=Ad(tE,Ey),gi){var u_=T.listeners;if(u_!=null){var nE=ns();hn(u_,c,nE)}}c.ref!==null&&(Od(c),H0(c))}else{if(gi){var rE=f.memoizedProps.listeners,iE=T.listeners;(rE!==iE||c.ref!==null)&&H0(c)}else c.ref!==null&&H0(c);f.ref!==c.ref&&Od(c)}break}default:throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}return null}function Sm(f,c){switch(f.tag){case O:{var E=f.type;Xi(E)&&Hs(f);var T=f.effectTag;return T&p0?(f.effectTag=T&~p0|Xr,f):null}case U:{io(f),R0(f);var A=f.effectTag;if((A&Xr)!==xi)throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return f.effectTag=A&~p0|Xr,f}case W:return k2(f),null;case pe:{if(ga(f),Ai){var j=f.memoizedState;if(j!==null&&j.dehydrated!==null){if(f.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");h1()}}var V=f.effectTag;return V&p0?(f.effectTag=V&~p0|Xr,f):null}case yt:return ga(f),null;case H:return io(f),null;case ve:return i0(f),null;default:return null}}function $h(f){switch(f.tag){case O:{var c=f.type.childContextTypes;c!=null&&Hs(f);break}case U:{io(f),R0(f);break}case W:{k2(f);break}case H:io(f);break;case pe:ga(f);break;case yt:ga(f);break;case ve:i0(f);break;default:break}}function pp(f,c){return{value:f,source:c,stack:Cr(c)}}var hp=function(f,c,E,T,A,j,V,te,le){var Be=Array.prototype.slice.call(arguments,3);try{c.apply(E,Be)}catch(Ke){this.onError(Ke)}};if(typeof window!="undefined"&&typeof window.dispatchEvent=="function"&&typeof document!="undefined"&&typeof document.createEvent=="function"){var vp=document.createElement("react"),Tm=function(f,c,E,T,A,j,V,te,le){if(typeof document=="undefined")throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");var Be=document.createEvent("Event"),Ke=!0,pt=window.event,Nt=Object.getOwnPropertyDescriptor(window,"event"),Gt=Array.prototype.slice.call(arguments,3);function zt(){vp.removeEventListener(L0,zt,!1),typeof window.event!="undefined"&&window.hasOwnProperty("event")&&(window.event=pt),c.apply(E,Gt),Ke=!1}var yn,kr=!1,oi=!1;function Oi($i){if(yn=$i.error,kr=!0,yn===null&&$i.colno===0&&$i.lineno===0&&(oi=!0),$i.defaultPrevented&&yn!=null&&typeof yn=="object")try{yn._suppressLogging=!0}catch(ot){}}var L0="react-"+(f||"invokeguardedcallback");window.addEventListener("error",Oi),vp.addEventListener(L0,zt,!1),Be.initEvent(L0,!1,!1),vp.dispatchEvent(Be),Nt&&Object.defineProperty(window,"event",Nt),Ke&&(kr?oi&&(yn=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):yn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(yn)),window.removeEventListener("error",Oi)};hp=Tm}var Cm=hp,wo=!1,Ld=null,xm={onError:function(f){wo=!0,Ld=f}};function dl(f,c,E,T,A,j,V,te,le){wo=!1,Ld=null,Cm.apply(xm,arguments)}function tr(){return wo}function Qs(){if(wo){var f=Ld;return wo=!1,Ld=null,f}else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.")}function pl(f){return!0}function l0(f){var c=pl(f);if(c!==!1){var E=f.error;{var T=f.componentName,A=f.componentStack,j=f.errorBoundaryName,V=f.errorBoundaryFound,te=f.willRetry;if(E!=null&&E._suppressLogging){if(V&&te)return;console.error(E)}var le=T?"The above error occurred in the <"+T+"> component:":"The above error occurred in one of your React components:",Be;V&&j?te?Be="React will try to recreate this component tree from scratch "+("using the error boundary you provided, "+j+"."):Be="This error was initially handled by the error boundary "+j+`. -Recreating the tree from scratch failed so React will unmount the tree.`:Be=`Consider adding an error boundary to your tree to customize error handling behavior. -Visit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Ke=""+le+A+` +Check the render method of \``+C+"`.");var O=C||c._debugID||"",z=c._debugSource;z&&(O=z.fileName+":"+z.lineNumber),X2[O]||(X2[O]=!0,Xt(!1,"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s",D))}if(Xl&&d.defaultProps!==void 0){var G=qt(d)||"Unknown";Q2[G]||(Ve(!1,"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.",G),Q2[G]=!0)}if(typeof d.getDerivedStateFromProps=="function"){var ne=qt(d)||"Unknown";Xs[ne]||(Ve(!1,"%s: Function components do not support getDerivedStateFromProps.",ne),Xs[ne]=!0)}if(typeof d.contextType=="object"&&d.contextType!==null){var se=qt(d)||"Unknown";Ks[se]||(Ve(!1,"%s: Function components do not support contextType.",se),Ks[se]=!0)}}var Td={dehydrated:null,retryTime:ft};function ep(c,d,D){return t1(c,e1)&&(d===null||d.memoizedState!==null)}function Vh(c,d,D){var C=d.mode,O=d.pendingProps;Jg(d)&&(d.effectTag|=Kr);var z=Nl.current,G=!1,ne=(d.effectTag&Kr)!==xi;if(ne||ep(z,c,d)?(G=!0,d.effectTag&=~Kr):(c===null||c.memoizedState!==null)&&O.fallback!==void 0&&O.unstable_avoidThisFallback!==!0&&(z=vd(z,xf)),z=ya(z),Fr(d,z),"maxDuration"in O&&(y1||(y1=!0,Xt(!1,"maxDuration has been removed from React. Remove the maxDuration prop."))),c===null){if(O.fallback!==void 0&&(G2(d),Ai)){var se=d.memoizedState;if(se!==null){var Ue=se.dehydrated;if(Ue!==null)return Gh(d,Ue,D)}}if(G){var Xe=O.fallback,ht=nf(null,C,ft,null);if(ht.return=d,(d.mode&K)===Ar){var Lt=d.memoizedState,Gt=Lt!==null?d.child.child:d.child;ht.child=Gt;for(var Ht=Gt;Ht!==null;)Ht.return=ht,Ht=Ht.sibling}var yn=nf(Xe,C,D,null);return yn.return=d,ht.sibling=yn,d.memoizedState=Td,d.child=ht,yn}else{var kr=O.children;return d.memoizedState=null,d.child=$c(d,null,kr,D)}}else{var ii=c.memoizedState;if(ii!==null){if(Ai){var Oi=ii.dehydrated;if(Oi!==null)if(ne){if(d.memoizedState!==null)return d.child=c.child,d.effectTag|=Kr,null;var L0=O.fallback,$i=nf(null,C,ft,null);if($i.return=d,$i.child=null,(d.mode&K)===Ar)for(var lt=$i.child=d.child;lt!==null;)lt.return=$i,lt=lt.sibling;else Tf(d,c.child,null,D);if(en&&d.mode&ni){for(var Mt=0,$e=$i.child;$e!==null;)Mt+=$e.treeBaseDuration,$e=$e.sibling;$i.treeBaseDuration=Mt}var jt=nf(L0,C,D,null);return jt.return=d,$i.sibling=jt,jt.effectTag|=vi,$i.childExpirationTime=ft,d.memoizedState=Td,d.child=$i,jt}else return Yh(c,d,Oi,ii,D)}var Fn=c.child,vn=Fn.sibling;if(G){var Vi=O.fallback,ci=Co(Fn,Fn.pendingProps,ft);if(ci.return=d,(d.mode&K)===Ar){var Yu=d.memoizedState,hr=Yu!==null?d.child.child:d.child;if(hr!==Fn.child){ci.child=hr;for(var pu=hr;pu!==null;)pu.return=ci,pu=pu.sibling}}if(en&&d.mode&ni){for(var Yr=0,Cu=ci.child;Cu!==null;)Yr+=Cu.treeBaseDuration,Cu=Cu.sibling;ci.treeBaseDuration=Yr}var D0=Co(vn,Vi,vn.expirationTime);return D0.return=d,ci.sibling=D0,ci.childExpirationTime=ft,d.memoizedState=Td,d.child=ci,D0}else{var W0=O.children,Ms=Fn.child,Ku=Tf(d,Ms,W0,D);return d.memoizedState=null,d.child=Ku}}else{var gl=c.child;if(G){var rf=O.fallback,Vo=nf(null,C,ft,null);if(Vo.return=d,Vo.child=gl,gl!==null&&(gl.return=Vo),(d.mode&K)===Ar){var ks=d.memoizedState,Jd=ks!==null?d.child.child:d.child;Vo.child=Jd;for(var Vf=Jd;Vf!==null;)Vf.return=Vo,Vf=Vf.sibling}if(en&&d.mode&ni){for(var Lc=0,Hl=Vo.child;Hl!==null;)Lc+=Hl.treeBaseDuration,Hl=Hl.sibling;Vo.treeBaseDuration=Lc}var Go=nf(rf,C,D,null);return Go.return=d,Vo.sibling=Go,Go.effectTag|=vi,Vo.childExpirationTime=ft,d.memoizedState=Td,d.child=Vo,Go}else{d.memoizedState=null;var L1=O.children;return d.child=Tf(d,gl,L1,D)}}}}function tp(c,d,D){d.memoizedState=null;var C=d.pendingProps,O=C.children;return wo(c,d,O,D),d.child}function Gh(c,d,D){if((c.mode&K)===Ar)Xt(!1,"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components."),c.expirationTime=Un;else if(m0(d)){var C=jl(),O=Ds(C);In&&R(O),c.expirationTime=O}else c.expirationTime=Di,In&&R(Di);return null}function Yh(c,d,D,C,O){if(q2(),(d.mode&K)===Ar||m0(D))return tp(c,d,O);var z=c.childExpirationTime>=O;if(wa||z){if(O. Use lowercase "%s" instead.',c,c.toLowerCase());break}case"forward":case"backward":{Xt(!1,'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',c,c.toLowerCase());break}default:Xt(!1,'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',c);break}else Xt(!1,'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',c)}function Kh(c,d){c!==void 0&&!Sc[c]&&(c!=="collapsed"&&c!=="hidden"?(Sc[c]=!0,Xt(!1,'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',c)):d!=="forwards"&&d!=="backwards"&&(Sc[c]=!0,Xt(!1,' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',c)))}function _1(c,d){{var D=Array.isArray(c),C=!D&&typeof fr(c)=="function";if(D||C){var O=D?"array":"iterable";return Xt(!1,"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",O,d,O),!1}}return!0}function Cm(c,d){if((d==="forwards"||d==="backwards")&&c!==void 0&&c!==null&&c!==!1)if(Array.isArray(c)){for(var D=0;D. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',d)}}function rp(c,d,D,C,O,z){var G=c.memoizedState;G===null?c.memoizedState={isBackwards:d,rendering:null,last:C,tail:D,tailExpiration:0,tailMode:O,lastEffect:z}:(G.isBackwards=d,G.rendering=null,G.last=C,G.tail=D,G.tailExpiration=0,G.tailMode=O,G.lastEffect=z)}function ip(c,d,D){var C=d.pendingProps,O=C.revealOrder,z=C.tail,G=C.children;Tm(O),Kh(z,O),Cm(G,O),wo(c,d,G,D);var ne=Nl.current,se=t1(ne,e1);if(se)ne=hd(ne,e1),d.effectTag|=Kr;else{var Ue=c!==null&&(c.effectTag&Kr)!==xi;Ue&&wm(d,d.child,D),ne=ya(ne)}if(Fr(d,ne),(d.mode&K)===Ar)d.memoizedState=null;else switch(O){case"forwards":{var Xe=Sm(d.child),ht;Xe===null?(ht=d.child,d.child=null):(ht=Xe.sibling,Xe.sibling=null),rp(d,!1,ht,Xe,z,d.lastEffect);break}case"backwards":{var Lt=null,Gt=d.child;for(d.child=null;Gt!==null;){var Ht=Gt.alternate;if(Ht!==null&&n1(Ht)===null){d.child=Gt;break}var yn=Gt.sibling;Gt.sibling=Lt,Lt=Gt,Gt=yn}rp(d,!0,Lt,null,z,d.lastEffect);break}case"together":{rp(d,!1,null,null,void 0,d.lastEffect);break}default:d.memoizedState=null}return d.child}function xm(c,d,D){Ya(d,d.stateNode.containerInfo);var C=d.pendingProps;return c===null?d.child=Tf(d,null,C,D):wo(c,d,C,D),d.child}function Rm(c,d,D){var C=d.type,O=C._context,z=d.pendingProps,G=d.memoizedProps,ne=z.value;{var se=d.type.propTypes;se&&E(se,z,"prop","Context.Provider",Lr)}if(xr(d,ne),G!==null){var Ue=G.value,Xe=cu(O,ne,Ue);if(Xe===0){if(G.children===z.children&&!sa())return Ta(c,d,D)}else Ml(d,O,Xe,D)}var ht=z.children;return wo(c,d,ht,D),d.child}var Xh=!1;function Am(c,d,D){var C=d.type;C._context===void 0?C!==C.Consumer&&(Xh||(Xh=!0,Xt(!1,"Rendering directly is not supported and will be removed in a future major release. Did you mean to render instead?"))):C=C._context;var O=d.pendingProps,z=O.children;typeof z!="function"&&Ve(!1,"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."),i0(d,D);var G=Ge(C,O.unstable_observedBits),ne;return m1.current=d,et("render"),ne=z(G),et(null),d.effectTag|=lu,wo(c,d,ne,D),d.child}function Om(c,d,D){var C=d.type.impl;if(C.reconcileChildren===!1)return null;var O=d.pendingProps,z=O.children;return wo(c,d,z,D),d.child}function up(c,d,D){var C=d.pendingProps,O=C.children;return wo(c,d,O,D),d.child}function op(){wa=!0}function Ta(c,d,D){tu(d),c!==null&&(d.dependencies=c.dependencies),en&&Lh(d);var C=d.expirationTime;C!==ft&&Kd(C);var O=d.childExpirationTime;return O=D;se&&(d.effectTag|=Dr)}break;case he:{var Ue=d.memoizedState;if(Ue!==null){if(Ai&&Ue.dehydrated!==null){Fr(d,ya(Nl.current)),d.effectTag|=Kr;break}var Xe=d.child,ht=Xe.childExpirationTime;if(ht!==ft&&ht>=D)return Vh(c,d,D);Fr(d,ya(Nl.current));var Lt=Ta(c,d,D);return Lt!==null?Lt.sibling:null}else Fr(d,ya(Nl.current));break}case gt:{var Gt=(c.effectTag&Kr)!==xi,Ht=d.childExpirationTime>=D;if(Gt){if(Ht)return ip(c,d,D);d.effectTag|=Kr}var yn=d.memoizedState;if(yn!==null&&(yn.rendering=null,yn.tail=null),Fr(d,Nl.current),Ht)break;return null}}return Ta(c,d,D)}else wa=!1}else wa=!1;switch(d.expirationTime=ft,d.tag){case x:return Dm(c,d,d.type,D);case Ae:{var kr=d.elementType;return If(c,d,kr,C,D)}case F:{var ii=d.type,Oi=d.pendingProps,L0=d.elementType===ii?Oi:Wi(ii,Oi);return J2(c,d,ii,L0,D)}case k:{var $i=d.type,lt=d.pendingProps,Mt=d.elementType===$i?lt:Wi($i,lt);return qh(c,d,$i,Mt,D)}case j:return _m(c,d,D);case V:return Em(c,d,D);case re:return Pf(c,d);case he:return Vh(c,d,D);case q:return xm(c,d,D);case ae:{var $e=d.type,jt=d.pendingProps,Fn=d.elementType===$e?jt:Wi($e,jt);return Bh(c,d,$e,Fn,D)}case y:return gm(c,d,D);case me:return zh(c,d,D);case we:return Hh(c,d,D);case ge:return Rm(c,d,D);case De:return Am(c,d,D);case ve:{var vn=d.type,Vi=d.pendingProps,ci=Wi(vn,Vi);if(d.type!==d.elementType){var Yu=vn.propTypes;Yu&&E(Yu,ci,"prop",qt(vn),Lr)}return ci=Wi(vn.type,ci),Uh(c,d,vn,ci,C,D)}case ue:return jh(c,d,d.type,d.pendingProps,C,D);case ze:{var hr=d.type,pu=d.pendingProps,Yr=d.elementType===hr?pu:Wi(hr,pu);return Sd(c,d,hr,Yr,D)}case gt:return ip(c,d,D);case _t:{if(Wt)return Om(c,d,D);break}case Qe:{if(Ru)return up(c,d,D);break}}throw Error("Unknown unit of work tag ("+d.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Qh(c,d,D,C){return{currentFiber:c,impl:D,instance:null,prevProps:null,props:d,state:C}}function Cd(c){return c.tag===he&&c.memoizedState!==null}function D1(c){return c.child.sibling.child}var Jh={};function sp(c,d,D){if(Ru){if(c.tag===V){var C=c.type,O=c.memoizedProps,z=c.stateNode,G=Lo(z);G!==null&&d(C,O||Jh,G)===!0&&D.push(G)}var ne=c.child;Cd(c)&&(ne=D1(c)),ne!==null&&ap(ne,d,D)}}function Zh(c,d){if(Ru){if(c.tag===V){var D=c.type,C=c.memoizedProps,O=c.stateNode,z=Lo(O);if(z!==null&&d(D,C,z)===!0)return z}var G=c.child;if(Cd(c)&&(G=D1(c)),G!==null)return $h(G,d)}return null}function ap(c,d,D){for(var C=c;C!==null;)sp(C,d,D),C=C.sibling}function $h(c,d){for(var D=c;D!==null;){var C=Zh(D,d);if(C!==null)return C;D=D.sibling}return null}function ev(c,d,D){if(xd(c,d))D.push(c.stateNode.methods);else{var C=c.child;Cd(c)&&(C=D1(c)),C!==null&&fp(C,d,D)}}function fp(c,d,D){for(var C=c;C!==null;)ev(C,d,D),C=C.sibling}function xd(c,d){return c.tag===Qe&&c.type===d&&c.stateNode!==null}function Rd(c,d){return{getChildren:function(){var D=d.fiber,C=D.child,O=[];return C!==null&&fp(C,c,O),O.length===0?null:O},getChildrenFromRoot:function(){for(var D=d.fiber,C=D;C!==null;){var O=C.return;if(O===null||(C=O,C.tag===Qe&&C.type===c))break}var z=[];return fp(C.child,c,z),z.length===0?null:z},getParent:function(){for(var D=d.fiber.return;D!==null;){if(D.tag===Qe&&D.type===c)return D.stateNode.methods;D=D.return}return null},getProps:function(){var D=d.fiber;return D.memoizedProps},queryAllNodes:function(D){var C=d.fiber,O=C.child,z=[];return O!==null&&ap(O,D,z),z.length===0?null:z},queryFirstNode:function(D){var C=d.fiber,O=C.child;return O!==null?$h(O,D):null},containsNode:function(D){for(var C=cr(D);C!==null;){if(C.tag===Qe&&C.type===c&&C.stateNode===d)return!0;C=C.return}return!1}}}function H0(c){c.effectTag|=Dr}function Ad(c){c.effectTag|=Oo}var Ca,$a,Od,Md;if(b0)Ca=function(c,d,D,C){for(var O=d.child;O!==null;){if(O.tag===V||O.tag===re)Xr(c,O.stateNode);else if(Wt&&O.tag===_t)Xr(c,O.stateNode.instance);else if(O.tag!==q){if(O.child!==null){O.child.return=O,O=O.child;continue}}if(O===d)return;for(;O.sibling===null;){if(O.return===null||O.return===d)return;O=O.return}O.sibling.return=O.return,O=O.sibling}},$a=function(c){},Od=function(c,d,D,C,O){var z=c.memoizedProps;if(z!==C){var G=d.stateNode,ne=fl(),se=p0(G,D,z,C,O,ne);d.updateQueue=se,se&&H0(d)}},Md=function(c,d,D,C){D!==C&&H0(d)};else if(Q){Ca=function(c,d,D,C){for(var O=d.child;O!==null;){e:if(O.tag===V){var z=O.stateNode;if(D&&C){var G=O.memoizedProps,ne=O.type;z=Jr(z,ne,G,O)}Xr(c,z)}else if(O.tag===re){var se=O.stateNode;if(D&&C){var Ue=O.memoizedProps;se=Zl(se,Ue,O)}Xr(c,se)}else if(Wt&&O.tag===_t){var Xe=O.stateNode.instance;if(D&&C){var ht=O.memoizedProps,Lt=O.type;Xe=Jr(Xe,Lt,ht,O)}Xr(c,Xe)}else if(O.tag!==q){if(O.tag===he){if((O.effectTag&Dr)!==xi){var Gt=O.memoizedState!==null;if(Gt){var Ht=O.child;if(Ht!==null){Ht.child!==null&&(Ht.child.return=Ht,Ca(c,Ht,!0,Gt));var yn=Ht.sibling;if(yn!==null){yn.return=O,O=yn;continue}}}}if(O.child!==null){O.child.return=O,O=O.child;continue}}else if(O.child!==null){O.child.return=O,O=O.child;continue}}if(O=O,O===d)return;for(;O.sibling===null;){if(O.return===null||O.return===d)return;O=O.return}O.sibling.return=O.return,O=O.sibling}};var cp=function(c,d,D,C){for(var O=d.child;O!==null;){e:if(O.tag===V){var z=O.stateNode;if(D&&C){var G=O.memoizedProps,ne=O.type;z=Jr(z,ne,G,O)}Qn(c,z)}else if(O.tag===re){var se=O.stateNode;if(D&&C){var Ue=O.memoizedProps;se=Zl(se,Ue,O)}Qn(c,se)}else if(Wt&&O.tag===_t){var Xe=O.stateNode.instance;if(D&&C){var ht=O.memoizedProps,Lt=O.type;Xe=Jr(Xe,Lt,ht,O)}Qn(c,Xe)}else if(O.tag!==q){if(O.tag===he){if((O.effectTag&Dr)!==xi){var Gt=O.memoizedState!==null;if(Gt){var Ht=O.child;if(Ht!==null){Ht.child!==null&&(Ht.child.return=Ht,cp(c,Ht,!0,Gt));var yn=Ht.sibling;if(yn!==null){yn.return=O,O=yn;continue}}}}if(O.child!==null){O.child.return=O,O=O.child;continue}}else if(O.child!==null){O.child.return=O,O=O.child;continue}}if(O=O,O===d)return;for(;O.sibling===null;){if(O.return===null||O.return===d)return;O=O.return}O.sibling.return=O.return,O=O.sibling}};$a=function(c){var d=c.stateNode,D=c.firstEffect===null;if(!D){var C=d.containerInfo,O=S0(C);cp(O,c,!1,!1),d.pendingChildren=O,H0(c),ac(C,O)}},Od=function(c,d,D,C,O){var z=c.stateNode,G=c.memoizedProps,ne=d.firstEffect===null;if(ne&&G===C){d.stateNode=z;return}var se=d.stateNode,Ue=fl(),Xe=null;if(G!==C&&(Xe=p0(se,D,G,C,O,Ue)),ne&&Xe===null){d.stateNode=z;return}var ht=ms(z,Xe,D,G,C,d,ne,se);Au(ht,D,C,O,Ue)&&H0(d),d.stateNode=ht,ne?H0(d):Ca(ht,d,!1,!1)},Md=function(c,d,D,C){if(D!==C){var O=ns(),z=fl();d.stateNode=hs(C,O,z,d),H0(d)}}}else $a=function(c){},Od=function(c,d,D,C,O){},Md=function(c,d,D,C){};function kd(c,d){switch(c.tailMode){case"hidden":{for(var D=c.tail,C=null;D!==null;)D.alternate!==null&&(C=D),D=D.sibling;C===null?c.tail=null:C.sibling=null;break}case"collapsed":{for(var O=c.tail,z=null;O!==null;)O.alternate!==null&&(z=O),O=O.sibling;z===null?!d&&c.tail!==null?c.tail.sibling=null:c.tail=null:z.sibling=null;break}}}function tv(c,d,D){var C=d.pendingProps;switch(d.tag){case x:break;case Ae:break;case ue:case F:break;case k:{var O=d.type;Xi(O)&&Hs(d);break}case j:{uo(d),R0(d);var z=d.stateNode;if(z.pendingContext&&(z.context=z.pendingContext,z.pendingContext=null),c===null||c.child===null){var G=h1(d);G&&H0(d)}$a(d);break}case V:{M2(d);var ne=ns(),se=d.type;if(c!==null&&d.stateNode!=null){if(Od(c,d,se,C,ne),yi){var Ue=c.memoizedProps.listeners,Xe=C.listeners;Ue!==Xe&&H0(d)}c.ref!==d.ref&&Ad(d)}else{if(!C){if(d.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");break}var ht=fl(),Lt=h1(d);if(Lt){if(vm(d,ne,ht)&&H0(d),yi){var Gt=C.listeners;Gt!=null&&hn(Gt,d,ne)}}else{var Ht=Ki(se,C,ne,ht,d);if(Ca(Ht,d,!1,!1),d.stateNode=Ht,yi){var yn=C.listeners;yn!=null&&hn(yn,d,ne)}Au(Ht,se,C,ne,ht)&&H0(d)}d.ref!==null&&Ad(d)}break}case re:{var kr=C;if(c&&d.stateNode!=null){var ii=c.memoizedProps;Md(c,d,ii,kr)}else{if(typeof kr!="string"&&d.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");var Oi=ns(),L0=fl(),$i=h1(d);$i?mm(d)&&H0(d):d.stateNode=hs(kr,Oi,L0,d)}break}case ae:break;case he:{ga(d);var lt=d.memoizedState;if(Ai&<!==null&<.dehydrated!==null)if(c===null){var Mt=h1(d);if(!Mt)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");return Ih(d),In&&R(Di),null}else return v1(),(d.effectTag&Kr)===xi&&(d.memoizedState=null),d.effectTag|=Dr,null;if((d.effectTag&Kr)!==xi)return d.expirationTime=D,d;var $e=lt!==null,jt=!1;if(c===null)d.memoizedProps.fallback!==void 0&&h1(d);else{var Fn=c.memoizedState;if(jt=Fn!==null,!$e&&Fn!==null){var vn=c.child.sibling;if(vn!==null){var Vi=d.firstEffect;Vi!==null?(d.firstEffect=vn,vn.nextEffect=Vi):(d.firstEffect=d.lastEffect=vn,vn.nextEffect=null),vn.effectTag=Y0}}}if($e&&!jt&&(d.mode&K)!==Ar){var ci=c===null&&d.memoizedProps.unstable_avoidThisFallback!==!0;ci||t1(Nl.current,xf)?_v():Ev()}Q&&$e&&(d.effectTag|=Dr),b0&&($e||jt)&&(d.effectTag|=Dr),Yi&&d.updateQueue!==null&&d.memoizedProps.suspenseCallback!=null&&(d.effectTag|=Dr);break}case y:break;case me:break;case we:break;case q:uo(d),$a(d);break;case ge:r0(d);break;case De:break;case ve:break;case ze:{var Yu=d.type;Xi(Yu)&&Hs(d);break}case gt:{ga(d);var hr=d.memoizedState;if(hr===null)break;var pu=(d.effectTag&Kr)!==xi,Yr=hr.rendering;if(Yr===null)if(pu)kd(hr,!1);else{var Cu=Dv()&&(c===null||(c.effectTag&Kr)===xi);if(!Cu)for(var D0=d.child;D0!==null;){var W0=n1(D0);if(W0!==null){pu=!0,d.effectTag|=Kr,kd(hr,!1);var Ms=W0.updateQueue;return Ms!==null&&(d.updateQueue=Ms,d.effectTag|=Dr),hr.lastEffect===null&&(d.firstEffect=null),d.lastEffect=hr.lastEffect,sm(d,D),Fr(d,hd(Nl.current,e1)),d.child}D0=D0.sibling}}else{if(!pu){var Ku=n1(Yr);if(Ku!==null){d.effectTag|=Kr,pu=!0;var gl=Ku.updateQueue;if(gl!==null&&(d.updateQueue=gl,d.effectTag|=Dr),kd(hr,!0),hr.tail===null&&hr.tailMode==="hidden"&&!Yr.alternate){var rf=d.lastEffect=hr.lastEffect;return rf!==null&&(rf.nextEffect=null),null}}else if(mt()>hr.tailExpiration&&D>Di){d.effectTag|=Kr,pu=!0,kd(hr,!1);var Vo=D-1;d.expirationTime=d.childExpirationTime=Vo,In&&R(Vo)}}if(hr.isBackwards)Yr.sibling=d.child,d.child=Yr;else{var ks=hr.last;ks!==null?ks.sibling=Yr:d.child=Yr,hr.last=Yr}}if(hr.tail!==null){if(hr.tailExpiration===0){var Jd=500;hr.tailExpiration=mt()+Jd}var Vf=hr.tail;hr.rendering=Vf,hr.tail=Vf.sibling,hr.lastEffect=d.lastEffect,Vf.sibling=null;var Lc=Nl.current;return pu?Lc=hd(Lc,e1):Lc=ya(Lc),Fr(d,Lc),Vf}break}case _t:{if(Wt){var Hl=d.type.impl,Go=d.stateNode;if(Go===null){var L1=Hl.getInitialState,i_;L1!==void 0&&(i_=L1(C)),Go=d.stateNode=Qh(d,C,Hl,i_||{});var u_=pt(Go);if(Go.instance=u_,Hl.reconcileChildren===!1)return null;Ca(u_,d,!1,!1),Yn(Go)}else{var nE=Go.props;if(Go.prevProps=nE,Go.props=C,Go.currentFiber=d,Q){var o_=oa(Go);Go.instance=o_,Ca(o_,d,!1,!1)}var rE=Cn(Go);rE&&H0(d)}}break}case Qe:{if(Ru)if(c===null){var iE=d.type,Ry={fiber:d,methods:null};if(d.stateNode=Ry,Ry.methods=Rd(iE,Ry),yi){var l_=C.listeners;if(l_!=null){var uE=ns();hn(l_,d,uE)}}d.ref!==null&&(Ad(d),H0(d))}else{if(yi){var oE=c.memoizedProps.listeners,lE=C.listeners;(oE!==lE||d.ref!==null)&&H0(d)}else d.ref!==null&&H0(d);c.ref!==d.ref&&Ad(d)}break}default:throw Error("Unknown unit of work tag ("+d.tag+"). This error is likely caused by a bug in React. Please file an issue.")}return null}function Mm(c,d){switch(c.tag){case k:{var D=c.type;Xi(D)&&Hs(c);var C=c.effectTag;return C&d0?(c.effectTag=C&~d0|Kr,c):null}case j:{uo(c),R0(c);var O=c.effectTag;if((O&Kr)!==xi)throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return c.effectTag=O&~d0|Kr,c}case V:return M2(c),null;case he:{if(ga(c),Ai){var z=c.memoizedState;if(z!==null&&z.dehydrated!==null){if(c.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");v1()}}var G=c.effectTag;return G&d0?(c.effectTag=G&~d0|Kr,c):null}case gt:return ga(c),null;case q:return uo(c),null;case ge:return r0(c),null;default:return null}}function nv(c){switch(c.tag){case k:{var d=c.type.childContextTypes;d!=null&&Hs(c);break}case j:{uo(c),R0(c);break}case V:{M2(c);break}case q:uo(c);break;case he:ga(c);break;case gt:ga(c);break;case ge:r0(c);break;default:break}}function dp(c,d){return{value:c,source:d,stack:Cr(d)}}var pp=function(c,d,D,C,O,z,G,ne,se){var Ue=Array.prototype.slice.call(arguments,3);try{d.apply(D,Ue)}catch(Xe){this.onError(Xe)}};if(typeof window<"u"&&typeof window.dispatchEvent=="function"&&typeof document<"u"&&typeof document.createEvent=="function"){var hp=document.createElement("react"),km=function(c,d,D,C,O,z,G,ne,se){if(!(typeof document<"u"))throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");var Ue=document.createEvent("Event"),Xe=!0,ht=window.event,Lt=Object.getOwnPropertyDescriptor(window,"event"),Gt=Array.prototype.slice.call(arguments,3);function Ht(){hp.removeEventListener(L0,Ht,!1),typeof window.event<"u"&&window.hasOwnProperty("event")&&(window.event=ht),d.apply(D,Gt),Xe=!1}var yn,kr=!1,ii=!1;function Oi($i){if(yn=$i.error,kr=!0,yn===null&&$i.colno===0&&$i.lineno===0&&(ii=!0),$i.defaultPrevented&&yn!=null&&typeof yn=="object")try{yn._suppressLogging=!0}catch{}}var L0="react-"+(c||"invokeguardedcallback");window.addEventListener("error",Oi),hp.addEventListener(L0,Ht,!1),Ue.initEvent(L0,!1,!1),hp.dispatchEvent(Ue),Lt&&Object.defineProperty(window,"event",Lt),Xe&&(kr?ii&&(yn=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):yn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(yn)),window.removeEventListener("error",Oi)};pp=km}var Nm=pp,So=!1,Nd=null,Lm={onError:function(c){So=!0,Nd=c}};function pl(c,d,D,C,O,z,G,ne,se){So=!1,Nd=null,Nm.apply(Lm,arguments)}function tr(){return So}function Qs(){if(So){var c=Nd;return So=!1,Nd=null,c}else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.")}function hl(c){return!0}function o0(c){var d=hl(c);if(d!==!1){var D=c.error;{var C=c.componentName,O=c.componentStack,z=c.errorBoundaryName,G=c.errorBoundaryFound,ne=c.willRetry;if(D!=null&&D._suppressLogging){if(G&&ne)return;console.error(D)}var se=C?"The above error occurred in the <"+C+"> component:":"The above error occurred in one of your React components:",Ue;G&&z?ne?Ue="React will try to recreate this component tree from scratch "+("using the error boundary you provided, "+z+"."):Ue="This error was initially handled by the error boundary "+z+`. +Recreating the tree from scratch failed so React will unmount the tree.`:Ue=`Consider adding an error boundary to your tree to customize error handling behavior. +Visit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Xe=""+se+O+` -`+(""+Be);console.error(Ke)}}}var ev=null;ev=new Set;var Js=typeof WeakSet=="function"?WeakSet:Set;function mp(f,c){var E=c.source,T=c.stack;T===null&&E!==null&&(T=Cr(E));var A={componentName:E!==null?qt(E.type):null,componentStack:T!==null?T:"",error:c.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};f!==null&&f.tag===O&&(A.errorBoundary=f.stateNode,A.errorBoundaryName=qt(f.type),A.errorBoundaryFound=!0,A.willRetry=!0);try{l0(A)}catch(j){setTimeout(function(){throw j})}}var Rm=function(f,c){Bi(f,"componentWillUnmount"),c.props=f.memoizedProps,c.state=f.memoizedState,c.componentWillUnmount(),Ci()};function tv(f,c){if(dl(null,Rm,null,f,c),tr()){var E=Qs();Hf(f,E)}}function yp(f){var c=f.ref;if(c!==null)if(typeof c=="function"){if(dl(null,c,null,null),tr()){var E=Qs();Hf(f,E)}}else c.current=null}function Am(f,c){if(dl(null,c,null),tr()){var E=Qs();Hf(f,E)}}function gp(f,c){switch(c.tag){case L:case se:case ie:{Tc(im,Af,c);return}case O:{if(c.effectTag&Oo&&f!==null){var E=f.memoizedProps,T=f.memoizedState;Bi(c,"getSnapshotBeforeUpdate");var A=c.stateNode;c.type===c.elementType&&!Sa&&(A.props!==c.memoizedProps&&Xt(!1,"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"),A.state!==c.memoizedState&&Xt(!1,"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"));var j=A.getSnapshotBeforeUpdate(c.elementType===c.type?E:qi(c.type,E),T);{var V=ev;j===void 0&&!V.has(c.type)&&(V.add(c.type),We(!1,"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",qt(c.type)))}A.__reactInternalSnapshotBeforeUpdate=j,Ci()}return}case U:case W:case ne:case H:case je:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function Tc(f,c,E){var T=E.updateQueue,A=T!==null?T.lastEffect:null;if(A!==null){var j=A.next,V=j;do{if((V.tag&f)!==Af){var te=V.destroy;V.destroy=void 0,te!==void 0&&te()}if((V.tag&c)!==Af){var le=V.create;V.destroy=le();{var Be=V.destroy;if(Be!==void 0&&typeof Be!="function"){var Ke=void 0;Be===null?Ke=" You returned null. If your effect does not require clean up, return undefined (or nothing).":typeof Be.then=="function"?Ke=` +`+(""+Ue);console.error(Xe)}}}var rv=null;rv=new Set;var Js=typeof WeakSet=="function"?WeakSet:Set;function vp(c,d){var D=d.source,C=d.stack;C===null&&D!==null&&(C=Cr(D));var O={componentName:D!==null?qt(D.type):null,componentStack:C!==null?C:"",error:d.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};c!==null&&c.tag===k&&(O.errorBoundary=c.stateNode,O.errorBoundaryName=qt(c.type),O.errorBoundaryFound=!0,O.willRetry=!0);try{o0(O)}catch(z){setTimeout(function(){throw z})}}var Fm=function(c,d){Bi(c,"componentWillUnmount"),d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount(),Ci()};function iv(c,d){if(pl(null,Fm,null,c,d),tr()){var D=Qs();Hf(c,D)}}function mp(c){var d=c.ref;if(d!==null)if(typeof d=="function"){if(pl(null,d,null,null),tr()){var D=Qs();Hf(c,D)}}else d.current=null}function Pm(c,d){if(pl(null,d,null),tr()){var D=Qs();Hf(c,D)}}function yp(c,d){switch(d.tag){case F:case ae:case ue:{Tc(fm,Af,d);return}case k:{if(d.effectTag&Mo&&c!==null){var D=c.memoizedProps,C=c.memoizedState;Bi(d,"getSnapshotBeforeUpdate");var O=d.stateNode;d.type===d.elementType&&!Sa&&(O.props!==d.memoizedProps&&Xt(!1,"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(d.type)||"instance"),O.state!==d.memoizedState&&Xt(!1,"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(d.type)||"instance"));var z=O.getSnapshotBeforeUpdate(d.elementType===d.type?D:Wi(d.type,D),C);{var G=rv;z===void 0&&!G.has(d.type)&&(G.add(d.type),Ve(!1,"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",qt(d.type)))}O.__reactInternalSnapshotBeforeUpdate=z,Ci()}return}case j:case V:case re:case q:case ze:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function Tc(c,d,D){var C=D.updateQueue,O=C!==null?C.lastEffect:null;if(O!==null){var z=O.next,G=z;do{if((G.tag&c)!==Af){var ne=G.destroy;G.destroy=void 0,ne!==void 0&&ne()}if((G.tag&d)!==Af){var se=G.create;G.destroy=se();{var Ue=G.destroy;if(Ue!==void 0&&typeof Ue!="function"){var Xe=void 0;Ue===null?Xe=" You returned null. If your effect does not require clean up, return undefined (or nothing).":typeof Ue.then=="function"?Xe=` It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately: @@ -124,9 +124,9 @@ useEffect(() => { fetchData(); }, [someId]); // Or [] if effect doesn't need props or state -Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching`:Ke=" You returned: "+Be,We(!1,"An effect function must not return anything besides a function, which is used for clean-up.%s%s",Ke,Cr(E))}}}V=V.next}while(V!==j)}}function xa(f){if((f.effectTag&F0)!==xi)switch(f.tag){case L:case se:case ie:{Tc(sr,Af,f),Tc(Af,n1,f);break}default:break}}function _p(f,c,E,T){switch(E.tag){case L:case se:case ie:{Tc(um,fl,E);break}case O:{var A=E.stateNode;if(E.effectTag&Dr)if(c===null)Bi(E,"componentDidMount"),E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance"),A.state!==E.memoizedState&&Xt(!1,"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance")),A.componentDidMount(),Ci();else{var j=E.elementType===E.type?c.memoizedProps:qi(E.type,c.memoizedProps),V=c.memoizedState;Bi(E,"componentDidUpdate"),E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance"),A.state!==E.memoizedState&&Xt(!1,"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance")),A.componentDidUpdate(j,V,A.__reactInternalSnapshotBeforeUpdate),Ci()}var te=E.updateQueue;te!==null&&(E.type===E.elementType&&!Sa&&(A.props!==E.memoizedProps&&Xt(!1,"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance"),A.state!==E.memoizedState&&Xt(!1,"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(E.type)||"instance")),yo(E,te,A,T));return}case U:{var le=E.updateQueue;if(le!==null){var Be=null;if(E.child!==null)switch(E.child.tag){case W:Be=No(E.child.stateNode);break;case O:Be=E.child.stateNode;break}yo(E,le,Be,T)}return}case W:{var Ke=E.stateNode;if(c===null&&E.effectTag&Dr){var pt=E.type,Nt=E.memoizedProps;Hu(Ke,pt,Nt,E)}return}case ne:return;case H:return;case De:{if(en){var Gt=E.memoizedProps.onRender;typeof Gt=="function"&&(bn?Gt(E.memoizedProps.id,c===null?"mount":"update",E.actualDuration,E.treeBaseDuration,E.actualStartTime,Pl(),f.memoizedInteractions):Gt(E.memoizedProps.id,c===null?"mount":"update",E.actualDuration,E.treeBaseDuration,E.actualStartTime,Pl()))}return}case pe:{bl(f,E);return}case yt:case je:case gt:case Xe:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function Fd(f,c){if(b0)for(var E=f;;){if(E.tag===W){var T=E.stateNode;c?Pa(T):ia(E.stateNode,E.memoizedProps)}else if(E.tag===ne){var A=E.stateNode;c?m0(A):Q0(A,E.memoizedProps)}else if(E.tag===pe&&E.memoizedState!==null&&E.memoizedState.dehydrated===null){var j=E.child.sibling;j.return=E,E=j;continue}else if(E.child!==null){E.child.return=E,E=E.child;continue}if(E===f)return;for(;E.sibling===null;){if(E.return===null||E.return===f)return;E=E.return}E.sibling.return=E.return,E=E.sibling}}function bu(f){var c=f.ref;if(c!==null){var E=f.stateNode,T;switch(f.tag){case W:T=No(E);break;default:T=E}Au&&f.tag===Xe&&(T=E.methods),typeof c=="function"?c(T):(c.hasOwnProperty("current")||We(!1,"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().%s",qt(f.type),Cr(f)),c.current=T)}}function Yu(f){var c=f.ref;c!==null&&(typeof c=="function"?c(null):c.current=null)}function Ep(f,c,E){switch(kn(c),c.tag){case L:case se:case me:case ie:{var T=c.updateQueue;if(T!==null){var A=T.lastEffect;if(A!==null){var j=A.next,V=E>Kn?Kn:E;Sn(V,function(){var oi=j;do{var Oi=oi.destroy;Oi!==void 0&&Am(c,Oi),oi=oi.next}while(oi!==j)})}}break}case O:{yp(c);var te=c.stateNode;typeof te.componentWillUnmount=="function"&&tv(c,te);return}case W:{if(gi){var le=c.dependencies;if(le!==null){var Be=le.responders;if(Be!==null){for(var Ke=Array.from(Be.values()),pt=0,Nt=Ke.length;ptKn?Kn:D;Sn(G,function(){var ii=z;do{var Oi=ii.destroy;Oi!==void 0&&Pm(d,Oi),ii=ii.next}while(ii!==z)})}}break}case k:{mp(d);var ne=d.stateNode;typeof ne.componentWillUnmount=="function"&&iv(d,ne);return}case V:{if(yi){var se=d.dependencies;if(se!==null){var Ue=se.responders;if(Ue!==null){for(var Xe=Array.from(Ue.values()),ht=0,Lt=Xe.length;ht component higher in the tree to provide a loading indicator or placeholder to display.`+Cr(E))}Mp(),T=pp(T,E);var Nt=c;do{switch(Nt.tag){case U:{var Gt=T;Nt.effectTag|=p0,Nt.expirationTime=A;var zt=uv(Nt,Gt,A);od(Nt,zt);return}case O:var yn=T,kr=Nt.type,oi=Nt.stateNode;if((Nt.effectTag&Xr)===xi&&(typeof kr.getDerivedStateFromError=="function"||oi!==null&&typeof oi.componentDidCatch=="function"&&!Pp(oi))){Nt.effectTag|=p0,Nt.expirationTime=A;var Oi=ov(Nt,yn,A);od(Nt,Oi);return}break;default:break}Nt=Nt.return}while(Nt!==null)}var Aa=Math.ceil,Mr=rt.ReactCurrentDispatcher,wp=rt.ReactCurrentOwner,hl=rt.IsSomeRendererActing,gu=0,S1=1,Ui=2,Sp=4,bd=8,So=16,As=32,bf=0,Bd=1,Tp=2,T1=3,C1=4,Cp=5,nr=gu,vl=null,Gn=null,q0=at,k0=bf,Ud=null,Bl=Un,x1=Un,xc=null,Rc=at,jd=!1,xp=0,N0=500,dn=null,zd=!1,Hd=null,Ac=null,Oc=!1,Mc=null,R1=E0,Rp=at,ef=null,Pm=50,kc=0,qd=null,sv=50,A1=0,Bf=null,Uf=null,O1=at;function Ul(){return(nr&(So|As))!==gu?n0(vt()):(O1!==at||(O1=n0(vt())),O1)}function Nc(){return n0(vt())}function jf(f,c,E){var T=c.mode;if((T&Y)===Ar)return Un;var A=Qt();if((T&ri)===Ar)return A===Li?Un:t0;if((nr&So)!==gu)return q0;var j;if(E!==null)j=fa(f,E.timeoutMs|0||_f);else switch(A){case Li:j=Un;break;case ni:j=Ua(f);break;case Kn:case e0:j=Ds(f);break;case _0:j=ru;break;default:throw Error("Expected a valid priority level")}return vl!==null&&j===q0&&(j-=1),j}function Im(f,c){ty(),uy(f);var E=Wd(f,c);if(E===null){ry(f);return}zp(f,c),la();var T=Qt();if(c===Un?(nr&bd)!==gu&&(nr&(So|As))===gu?(q(E,c),M1(E)):(qo(E),q(E,c),nr===gu&&Bt()):(qo(E),q(E,c)),(nr&Sp)!==gu&&(T===ni||T===Li))if(ef===null)ef=new Map([[E,c]]);else{var A=ef.get(E);(A===void 0||A>c)&&ef.set(E,c)}}var ml=Im;function Wd(f,c){f.expirationTimeA?T:A}function qo(f){var c=f.lastExpiredTime;if(c!==at){f.callbackExpirationTime=Un,f.callbackPriority=Li,f.callbackNode=Tn(M1.bind(null,f));return}var E=Vd(f),T=f.callbackNode;if(E===at){T!==null&&(f.callbackNode=null,f.callbackExpirationTime=at,f.callbackPriority=E0);return}var A=Ul(),j=nd(A,E);if(T!==null){var V=f.callbackPriority,te=f.callbackExpirationTime;if(te===E&&V>=j)return;ir(T)}f.callbackExpirationTime=E,f.callbackPriority=j;var le;E===Un?le=Tn(M1.bind(null,f)):so?le=_n(j,Gd.bind(null,f)):le=_n(j,Gd.bind(null,f),{timeout:Uo(E)-vt()}),f.callbackNode=le}function Gd(f,c){if(O1=at,c){var E=Ul();return Wp(f,E),qo(f),null}var T=Vd(f);if(T!==at){var A=f.callbackNode;if((nr&(So|As))!==gu)throw Error("Should not already be working.");if(tf(),(f!==vl||T!==q0)&&(zf(f,T),ee(f,T)),Gn!==null){var j=nr;nr|=So;var V=pv(f),te=Yd(f);mf(Gn);do try{Ym();break}catch(Ke){dv(f,Ke)}while(!0);if(mt(),nr=j,hv(V),bn&&Kd(te),k0===Bd){var le=Ud;throw jp(),zf(f,T),Wf(f,T),qo(f),le}if(Gn!==null)jp();else{Tv();var Be=f.finishedWork=f.current.alternate;f.finishedExpirationTime=T,bm(f,Be,k0,T)}if(qo(f),f.callbackNode===A)return Gd.bind(null,f)}}return null}function bm(f,c,E,T){switch(vl=null,E){case bf:case Bd:throw Error("Root did not complete. This is a bug in React.");case Tp:{Wp(f,T>ru?ru:T);break}case T1:{Wf(f,T);var A=f.lastSuspendedTime;T===A&&(f.nextKnownPendingLevel=kp(c)),d();var j=Bl===Un;if(j&&!(X0&&qf.current)){var V=xp+N0-vt();if(V>10){if(jd){var te=f.lastPingedTime;if(te===at||te>=T){f.lastPingedTime=T,zf(f,T);break}}var le=Vd(f);if(le!==at&&le!==T)break;if(A!==at&&A!==T){f.lastPingedTime=A;break}f.timeoutHandle=Tt(s0.bind(null,f),V);break}}s0(f);break}case C1:{Wf(f,T);var Be=f.lastSuspendedTime;if(T===Be&&(f.nextKnownPendingLevel=kp(c)),d(),!(X0&&qf.current)){if(jd){var Ke=f.lastPingedTime;if(Ke===at||Ke>=T){f.lastPingedTime=T,zf(f,T);break}}var pt=Vd(f);if(pt!==at&&pt!==T)break;if(Be!==at&&Be!==T){f.lastPingedTime=Be;break}var Nt;if(x1!==Un)Nt=Uo(x1)-vt();else if(Bl===Un)Nt=0;else{var Gt=_v(Bl),zt=vt(),yn=Uo(T)-zt,kr=zt-Gt;kr<0&&(kr=0),Nt=Bp(kr)-kr,yn10){f.timeoutHandle=Tt(s0.bind(null,f),Nt);break}}s0(f);break}case Cp:{if(!(X0&&qf.current)&&Bl!==Un&&xc!==null){var oi=Up(Bl,T,xc);if(oi>10){Wf(f,T),f.timeoutHandle=Tt(s0.bind(null,f),oi);break}}s0(f);break}default:throw Error("Unknown root exit status.")}}function M1(f){var c=f.lastExpiredTime,E=c!==at?c:Un;if(f.finishedExpirationTime===E)s0(f);else{if((nr&(So|As))!==gu)throw Error("Should not already be working.");if(tf(),(f!==vl||E!==q0)&&(zf(f,E),ee(f,E)),Gn!==null){var T=nr;nr|=So;var A=pv(f),j=Yd(f);mf(Gn);do try{Ev();break}catch(te){dv(f,te)}while(!0);if(mt(),nr=T,hv(A),bn&&Kd(j),k0===Bd){var V=Ud;throw jp(),zf(f,E),Wf(f,E),qo(f),V}if(Gn!==null)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");Tv(),f.finishedWork=f.current.alternate,f.finishedExpirationTime=E,Bm(f,k0,E),qo(f)}}return null}function Bm(f,c,E){vl=null,(c===T1||c===C1)&&d(),s0(f)}function Um(f,c){Wp(f,c),qo(f),(nr&(So|As))===gu&&Bt()}function av(){if((nr&(S1|So|As))!==gu){(nr&So)!==gu&&Xt(!1,"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.");return}zm(),tf()}function jm(f){return Sn(Kn,f)}function fv(f,c,E,T){return Sn(Li,f.bind(null,c,E,T))}function zm(){if(ef!==null){var f=ef;ef=null,f.forEach(function(c,E){Wp(E,c),qo(E)}),Bt()}}function Hm(f,c){var E=nr;nr|=S1;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function qm(f,c){var E=nr;nr|=Ui;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function cv(f,c,E,T){var A=nr;nr|=Sp;try{return Sn(ni,f.bind(null,c,E,T))}finally{nr=A,nr===gu&&Bt()}}function Wm(f,c){var E=nr;nr&=~S1,nr|=bd;try{return f(c)}finally{nr=E,nr===gu&&Bt()}}function Ap(f,c){if((nr&(So|As))!==gu)throw Error("flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.");var E=nr;nr|=S1;try{return Sn(Li,f.bind(null,c))}finally{nr=E,Bt()}}function Vm(f){var c=nr;nr|=S1;try{Sn(Li,f)}finally{nr=c,nr===gu&&Bt()}}function zf(f,c){f.finishedWork=null,f.finishedExpirationTime=at;var E=f.timeoutHandle;if(E!==tl&&(f.timeoutHandle=tl,fo(E)),Gn!==null)for(var T=Gn.return;T!==null;)$h(T),T=T.return;vl=f,Gn=To(f.current,null,c),q0=c,k0=bf,Ud=null,Bl=Un,x1=Un,xc=null,Rc=at,jd=!1,bn&&(Uf=null),Rl.discardPendingWarnings(),Zs=null}function dv(f,c){do{try{if(mt(),_d(),it(),Gn===null||Gn.return===null)return k0=Bd,Ud=c,null;en&&Gn.mode&ii&&d1(Gn,!0),lv(f,Gn.return,Gn,c,q0),Gn=Dv(Gn)}catch(E){c=E;continue}return}while(!0)}function pv(f){var c=Mr.current;return Mr.current=a1,c===null?a1:c}function hv(f){Mr.current=f}function Yd(f){if(bn){var c=k.__interactionsRef.current;return k.__interactionsRef.current=f.memoizedInteractions,c}return null}function Kd(f){bn&&(k.__interactionsRef.current=f)}function Op(){xp=vt()}function vv(f,c){fru&&(Bl=f),c!==null&&fru&&(x1=f,xc=c)}function Xd(f){f>Rc&&(Rc=f)}function mv(){k0===bf&&(k0=T1)}function yv(){(k0===bf||k0===T1)&&(k0=C1),Rc!==at&&vl!==null&&(Wf(vl,q0),Gg(vl,Rc))}function Mp(){k0!==Cp&&(k0=Tp)}function gv(){return k0===bf}function _v(f){var c=Uo(f);return c-_f}function Gm(f,c){var E=Uo(f);return E-(c.timeoutMs|0||_f)}function Ev(){for(;Gn!==null;)Gn=Qd(Gn)}function Ym(){for(;Gn!==null&&!Fn();)Gn=Qd(Gn)}function Qd(f){var c=f.alternate;$l(f),Dt(f);var E;return en&&(f.mode&ii)!==Ar?(q2(f),E=k1(c,f,q0),d1(f,!0)):E=k1(c,f,q0),it(),f.memoizedProps=f.pendingProps,E===null&&(E=Dv(f)),wp.current=null,E}function Dv(f){Gn=f;do{var c=Gn.alternate,E=Gn.return;if((Gn.effectTag&P0)===xi){Dt(Gn);var T=void 0;if(!en||(Gn.mode&ii)===Ar?T=Zh(c,Gn,q0):(q2(Gn),T=Zh(c,Gn,q0),d1(Gn,!1)),ei(Gn),it(),Km(Gn),T!==null)return T;if(E!==null&&(E.effectTag&P0)===xi){E.firstEffect===null&&(E.firstEffect=Gn.firstEffect),Gn.lastEffect!==null&&(E.lastEffect!==null&&(E.lastEffect.nextEffect=Gn.firstEffect),E.lastEffect=Gn.lastEffect);var A=Gn.effectTag;A>lu&&(E.lastEffect!==null?E.lastEffect.nextEffect=Gn:E.firstEffect=Gn,E.lastEffect=Gn)}}else{var j=Sm(Gn,q0);if(en&&(Gn.mode&ii)!==Ar){d1(Gn,!1);for(var V=Gn.actualDuration,te=Gn.child;te!==null;)V+=te.actualDuration,te=te.sibling;Gn.actualDuration=V}if(j!==null)return po(Gn),j.effectTag&=Kl,j;ei(Gn),E!==null&&(E.firstEffect=E.lastEffect=null,E.effectTag|=P0)}var le=Gn.sibling;if(le!==null)return le;Gn=E}while(Gn!==null);return k0===bf&&(k0=Cp),null}function kp(f){var c=f.expirationTime,E=f.childExpirationTime;return c>E?c:E}function Km(f){if(!(q0!==Di&&f.childExpirationTime===Di)){var c=at;if(en&&(f.mode&ii)!==Ar){for(var E=f.actualDuration,T=f.selfBaseDuration,A=f.alternate===null||f.child!==f.alternate.child,j=f.child;j!==null;){var V=j.expirationTime,te=j.childExpirationTime;V>c&&(c=V),te>c&&(c=te),A&&(E+=j.actualDuration),T+=j.treeBaseDuration,j=j.sibling}f.actualDuration=E,f.treeBaseDuration=T}else for(var le=f.child;le!==null;){var Be=le.expirationTime,Ke=le.childExpirationTime;Be>c&&(c=Be),Ke>c&&(c=Ke),le=le.sibling}f.childExpirationTime=c}}function s0(f){var c=Qt();return Sn(Li,Np.bind(null,f,c)),null}function Np(f,c){do tf();while(Mc!==null);if(ny(),(nr&(So|As))!==gu)throw Error("Should not already be working.");var E=f.finishedWork,T=f.finishedExpirationTime;if(E===null)return null;if(f.finishedWork=null,f.finishedExpirationTime=at,E===f.current)throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");f.callbackNode=null,f.callbackExpirationTime=at,f.callbackPriority=E0,f.nextKnownPendingLevel=at,$0();var A=kp(E);j4(f,T,A),f===vl&&(vl=null,Gn=null,q0=at);var j;if(E.effectTag>lu?E.lastEffect!==null?(E.lastEffect.nextEffect=E,j=E.firstEffect):j=E:j=E.firstEffect,j!==null){var V=nr;nr|=As;var te=Yd(f);wp.current=null,Ce(),Hn(f.containerInfo),dn=j;do if(dl(null,Xm,null),tr()){if(dn===null)throw Error("Should be working on an effect.");var le=Qs();Hf(dn,le),dn=dn.nextEffect}while(dn!==null);et(),en&&Oh(),Ye(),dn=j;do if(dl(null,Qm,null,f,c),tr()){if(dn===null)throw Error("Should be working on an effect.");var Be=Qs();Hf(dn,Be),dn=dn.nextEffect}while(dn!==null);Yt(),qr(f.containerInfo),f.current=E,Kt(),dn=j;do if(dl(null,Lp,null,f,T),tr()){if(dn===null)throw Error("Should be working on an effect.");var Ke=Qs();Hf(dn,Ke),dn=dn.nextEffect}while(dn!==null);pr(),dn=null,ae(),bn&&Kd(te),nr=V}else f.current=E,Ce(),et(),en&&Oh(),Ye(),Yt(),Kt(),pr();eo();var pt=Oc;if(Oc)Oc=!1,Mc=f,Rp=T,R1=c;else for(dn=j;dn!==null;){var Nt=dn.nextEffect;dn.nextEffect=null,dn=Nt}var Gt=f.firstPendingTime;if(Gt!==at){if(bn){if(Uf!==null){var zt=Uf;Uf=null;for(var yn=0;ynKn?Kn:R1;return R1=E0,Sn(f,Fp)}}function Fp(){if(Mc===null)return!1;var f=Mc,c=Rp;if(Mc=null,Rp=at,(nr&(So|As))!==gu)throw Error("Cannot flush passive effects while already rendering.");var E=nr;nr|=As;for(var T=Yd(f),A=f.current.firstEffect;A!==null;){{if(Dt(A),dl(null,xa,null,A),tr()){if(A===null)throw Error("Should be working on an effect.");var j=Qs();Hf(A,j)}it()}var V=A.nextEffect;A.nextEffect=null,A=V}return bn&&(Kd(T),de(f,c)),nr=E,Bt(),A1=Mc===null?0:A1+1,!0}function Pp(f){return Ac!==null&&Ac.has(f)}function Ip(f){Ac===null?Ac=new Set([f]):Ac.add(f)}function Jm(f){zd||(zd=!0,Hd=f)}var Zm=Jm;function wv(f,c,E){var T=pp(E,c),A=uv(f,T,Un);Va(f,A);var j=Wd(f,Un);j!==null&&(qo(j),q(j,Un))}function Hf(f,c){if(f.tag===U){wv(f,f,c);return}for(var E=f.return;E!==null;){if(E.tag===U){wv(E,f,c);return}else if(E.tag===O){var T=E.type,A=E.stateNode;if(typeof T.getDerivedStateFromError=="function"||typeof A.componentDidCatch=="function"&&!Pp(A)){var j=pp(c,f),V=ov(E,j,Un);Va(E,V);var te=Wd(E,Un);te!==null&&(qo(te),q(te,Un));return}}E=E.return}}function bp(f,c,E){var T=f.pingCache;if(T!==null&&T.delete(c),vl===f&&q0===E){k0===C1||k0===T1&&Bl===Un&&vt()-xpPm)throw kc=0,qd=null,Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");A1>sv&&(A1=0,Xt(!1,"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."))}function ny(){Rl.flushLegacyContextWarning(),yi&&Rl.flushPendingUnsafeLifecycleWarnings()}function Tv(){var f=!0;yf(Bf,f),Bf=null}function jp(){var f=!1;yf(Bf,f),Bf=null}function zp(f,c){Hr&&vl!==null&&c>q0&&(Bf=f)}var Jd=null;function ry(f){{var c=f.tag;if(c!==U&&c!==O&&c!==L&&c!==se&&c!==me&&c!==ie)return;var E=qt(f.type)||"ReactComponent";if(Jd!==null){if(Jd.has(E))return;Jd.add(E)}else Jd=new Set([E]);We(!1,"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s",c===O?"the componentWillUnmount method":"a useEffect cleanup function",Cr(f))}}var k1;if(K0){var iy=null;k1=function(f,c,E){var T=Wg(iy,c);try{return sp(f,c,E)}catch(j){if(j!==null&&typeof j=="object"&&typeof j.then=="function")throw j;if(mt(),_d(),$h(c),Wg(c,T),en&&c.mode&ii&&q2(c),dl(null,sp,null,f,c,E),tr()){var A=Qs();throw A}else throw j}}}else k1=sp;var Cv=!1,xv=!1;function uy(f){if(f.tag===O)switch(Nr){case"getChildContext":if(xv)return;We(!1,"setState(...): Cannot call setState() inside getChildContext()"),xv=!0;break;case"render":if(Cv)return;We(!1,"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),Cv=!0;break}}var qf={current:!1};function Hp(f){vs===!0&&hl.current===!0&&qf.current!==!0&&We(!1,`It looks like you're using the wrong act() around your test interactions. +Add a component higher in the tree to provide a loading indicator or placeholder to display.`+Cr(D))}Op(),C=dp(C,D);var Lt=d;do{switch(Lt.tag){case j:{var Gt=C;Lt.effectTag|=d0,Lt.expirationTime=O;var Ht=sv(Lt,Gt,O);od(Lt,Ht);return}case k:var yn=C,kr=Lt.type,ii=Lt.stateNode;if((Lt.effectTag&Kr)===xi&&(typeof kr.getDerivedStateFromError=="function"||ii!==null&&typeof ii.componentDidCatch=="function"&&!Fp(ii))){Lt.effectTag|=d0,Lt.expirationTime=O;var Oi=av(Lt,yn,O);od(Lt,Oi);return}break;default:break}Lt=Lt.return}while(Lt!==null)}var Aa=Math.ceil,Mr=it.ReactCurrentDispatcher,Dp=it.ReactCurrentOwner,vl=it.IsSomeRendererActing,yu=0,T1=1,Ui=2,wp=4,Id=8,To=16,As=32,bf=0,bd=1,Sp=2,C1=3,x1=4,Tp=5,nr=yu,ml=null,Gn=null,q0=ft,k0=bf,Bd=null,Ul=Un,R1=Un,xc=null,Rc=ft,Ud=!1,Cp=0,N0=500,dn=null,jd=!1,zd=null,Ac=null,Oc=!1,Mc=null,A1=_0,xp=ft,ef=null,Hm=50,kc=0,Hd=null,cv=50,O1=0,Bf=null,Uf=null,M1=ft;function jl(){return(nr&(To|As))!==yu?t0(mt()):(M1!==ft||(M1=t0(mt())),M1)}function Nc(){return t0(mt())}function jf(c,d,D){var C=d.mode;if((C&K)===Ar)return Un;var O=Qt();if((C&ti)===Ar)return O===Li?Un:e0;if((nr&To)!==yu)return q0;var z;if(D!==null)z=fa(c,D.timeoutMs|0||_f);else switch(O){case Li:z=Un;break;case ei:z=Ua(c);break;case Kn:case $u:z=Ds(c);break;case g0:z=ru;break;default:throw Error("Expected a valid priority level")}return ml!==null&&z===q0&&(z-=1),z}function qm(c,d){sy(),dy(c);var D=qd(c,d);if(D===null){fy(c);return}jp(c,d),la();var C=Qt();if(d===Un?(nr&Id)!==yu&&(nr&(To|As))===yu?(W(D,d),k1(D)):(Wo(D),W(D,d),nr===yu&&Ut()):(Wo(D),W(D,d)),(nr&wp)!==yu&&(C===ei||C===Li))if(ef===null)ef=new Map([[D,d]]);else{var O=ef.get(D);(O===void 0||O>d)&&ef.set(D,d)}}var yl=qm;function qd(c,d){c.expirationTimeO?C:O}function Wo(c){var d=c.lastExpiredTime;if(d!==ft){c.callbackExpirationTime=Un,c.callbackPriority=Li,c.callbackNode=Tn(k1.bind(null,c));return}var D=Wd(c),C=c.callbackNode;if(D===ft){C!==null&&(c.callbackNode=null,c.callbackExpirationTime=ft,c.callbackPriority=_0);return}var O=jl(),z=nd(O,D);if(C!==null){var G=c.callbackPriority,ne=c.callbackExpirationTime;if(ne===D&&G>=z)return;ir(C)}c.callbackExpirationTime=D,c.callbackPriority=z;var se;D===Un?se=Tn(k1.bind(null,c)):ao?se=_n(z,Vd.bind(null,c)):se=_n(z,Vd.bind(null,c),{timeout:jo(D)-mt()}),c.callbackNode=se}function Vd(c,d){if(M1=ft,d){var D=jl();return qp(c,D),Wo(c),null}var C=Wd(c);if(C!==ft){var O=c.callbackNode;if((nr&(To|As))!==yu)throw Error("Should not already be working.");if(tf(),(c!==ml||C!==q0)&&(zf(c,C),te(c,C)),Gn!==null){var z=nr;nr|=To;var G=mv(c),ne=Gd(c);mf(Gn);do try{ey();break}catch(Xe){vv(c,Xe)}while(!0);if(yt(),nr=z,yv(G),In&&Yd(ne),k0===bd){var se=Bd;throw Up(),zf(c,C),Wf(c,C),Wo(c),se}if(Gn!==null)Up();else{Rv();var Ue=c.finishedWork=c.current.alternate;c.finishedExpirationTime=C,Wm(c,Ue,k0,C)}if(Wo(c),c.callbackNode===O)return Vd.bind(null,c)}}return null}function Wm(c,d,D,C){switch(ml=null,D){case bf:case bd:throw Error("Root did not complete. This is a bug in React.");case Sp:{qp(c,C>ru?ru:C);break}case C1:{Wf(c,C);var O=c.lastSuspendedTime;C===O&&(c.nextKnownPendingLevel=Mp(d)),p();var z=Ul===Un;if(z&&!(Q0&&qf.current)){var G=Cp+N0-mt();if(G>10){if(Ud){var ne=c.lastPingedTime;if(ne===ft||ne>=C){c.lastPingedTime=C,zf(c,C);break}}var se=Wd(c);if(se!==ft&&se!==C)break;if(O!==ft&&O!==C){c.lastPingedTime=O;break}c.timeoutHandle=Ct(l0.bind(null,c),G);break}}l0(c);break}case x1:{Wf(c,C);var Ue=c.lastSuspendedTime;if(C===Ue&&(c.nextKnownPendingLevel=Mp(d)),p(),!(Q0&&qf.current)){if(Ud){var Xe=c.lastPingedTime;if(Xe===ft||Xe>=C){c.lastPingedTime=C,zf(c,C);break}}var ht=Wd(c);if(ht!==ft&&ht!==C)break;if(Ue!==ft&&Ue!==C){c.lastPingedTime=Ue;break}var Lt;if(R1!==Un)Lt=jo(R1)-mt();else if(Ul===Un)Lt=0;else{var Gt=wv(Ul),Ht=mt(),yn=jo(C)-Ht,kr=Ht-Gt;kr<0&&(kr=0),Lt=bp(kr)-kr,yn10){c.timeoutHandle=Ct(l0.bind(null,c),Lt);break}}l0(c);break}case Tp:{if(!(Q0&&qf.current)&&Ul!==Un&&xc!==null){var ii=Bp(Ul,C,xc);if(ii>10){Wf(c,C),c.timeoutHandle=Ct(l0.bind(null,c),ii);break}}l0(c);break}default:throw Error("Unknown root exit status.")}}function k1(c){var d=c.lastExpiredTime,D=d!==ft?d:Un;if(c.finishedExpirationTime===D)l0(c);else{if((nr&(To|As))!==yu)throw Error("Should not already be working.");if(tf(),(c!==ml||D!==q0)&&(zf(c,D),te(c,D)),Gn!==null){var C=nr;nr|=To;var O=mv(c),z=Gd(c);mf(Gn);do try{Sv();break}catch(ne){vv(c,ne)}while(!0);if(yt(),nr=C,yv(O),In&&Yd(z),k0===bd){var G=Bd;throw Up(),zf(c,D),Wf(c,D),Wo(c),G}if(Gn!==null)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");Rv(),c.finishedWork=c.current.alternate,c.finishedExpirationTime=D,Vm(c,k0,D),Wo(c)}}return null}function Vm(c,d,D){ml=null,(d===C1||d===x1)&&p(),l0(c)}function Gm(c,d){qp(c,d),Wo(c),(nr&(To|As))===yu&&Ut()}function dv(){if((nr&(T1|To|As))!==yu){(nr&To)!==yu&&Xt(!1,"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.");return}Km(),tf()}function Ym(c){return Sn(Kn,c)}function pv(c,d,D,C){return Sn(Li,c.bind(null,d,D,C))}function Km(){if(ef!==null){var c=ef;ef=null,c.forEach(function(d,D){qp(D,d),Wo(D)}),Ut()}}function Xm(c,d){var D=nr;nr|=T1;try{return c(d)}finally{nr=D,nr===yu&&Ut()}}function Qm(c,d){var D=nr;nr|=Ui;try{return c(d)}finally{nr=D,nr===yu&&Ut()}}function hv(c,d,D,C){var O=nr;nr|=wp;try{return Sn(ei,c.bind(null,d,D,C))}finally{nr=O,nr===yu&&Ut()}}function Jm(c,d){var D=nr;nr&=~T1,nr|=Id;try{return c(d)}finally{nr=D,nr===yu&&Ut()}}function Rp(c,d){if((nr&(To|As))!==yu)throw Error("flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.");var D=nr;nr|=T1;try{return Sn(Li,c.bind(null,d))}finally{nr=D,Ut()}}function Zm(c){var d=nr;nr|=T1;try{Sn(Li,c)}finally{nr=d,nr===yu&&Ut()}}function zf(c,d){c.finishedWork=null,c.finishedExpirationTime=ft;var D=c.timeoutHandle;if(D!==nl&&(c.timeoutHandle=nl,co(D)),Gn!==null)for(var C=Gn.return;C!==null;)nv(C),C=C.return;ml=c,Gn=Co(c.current,null,d),q0=d,k0=bf,Bd=null,Ul=Un,R1=Un,xc=null,Rc=ft,Ud=!1,In&&(Uf=null),Al.discardPendingWarnings(),Zs=null}function vv(c,d){do{try{if(yt(),_d(),ut(),Gn===null||Gn.return===null)return k0=bd,Bd=d,null;en&&Gn.mode&ni&&p1(Gn,!0),fv(c,Gn.return,Gn,d,q0),Gn=Tv(Gn)}catch(D){d=D;continue}return}while(!0)}function mv(c){var d=Mr.current;return Mr.current=f1,d===null?f1:d}function yv(c){Mr.current=c}function Gd(c){if(In){var d=N.__interactionsRef.current;return N.__interactionsRef.current=c.memoizedInteractions,d}return null}function Yd(c){In&&(N.__interactionsRef.current=c)}function Ap(){Cp=mt()}function gv(c,d){cru&&(Ul=c),d!==null&&cru&&(R1=c,xc=d)}function Kd(c){c>Rc&&(Rc=c)}function _v(){k0===bf&&(k0=C1)}function Ev(){(k0===bf||k0===C1)&&(k0=x1),Rc!==ft&&ml!==null&&(Wf(ml,q0),Kg(ml,Rc))}function Op(){k0!==Tp&&(k0=Sp)}function Dv(){return k0===bf}function wv(c){var d=jo(c);return d-_f}function $m(c,d){var D=jo(c);return D-(d.timeoutMs|0||_f)}function Sv(){for(;Gn!==null;)Gn=Xd(Gn)}function ey(){for(;Gn!==null&&!Ln();)Gn=Xd(Gn)}function Xd(c){var d=c.alternate;$l(c),wt(c);var D;return en&&(c.mode&ni)!==Ar?(H2(c),D=N1(d,c,q0),p1(c,!0)):D=N1(d,c,q0),ut(),c.memoizedProps=c.pendingProps,D===null&&(D=Tv(c)),Dp.current=null,D}function Tv(c){Gn=c;do{var d=Gn.alternate,D=Gn.return;if((Gn.effectTag&P0)===xi){wt(Gn);var C=void 0;if(!en||(Gn.mode&ni)===Ar?C=tv(d,Gn,q0):(H2(Gn),C=tv(d,Gn,q0),p1(Gn,!1)),Zr(Gn),ut(),ty(Gn),C!==null)return C;if(D!==null&&(D.effectTag&P0)===xi){D.firstEffect===null&&(D.firstEffect=Gn.firstEffect),Gn.lastEffect!==null&&(D.lastEffect!==null&&(D.lastEffect.nextEffect=Gn.firstEffect),D.lastEffect=Gn.lastEffect);var O=Gn.effectTag;O>lu&&(D.lastEffect!==null?D.lastEffect.nextEffect=Gn:D.firstEffect=Gn,D.lastEffect=Gn)}}else{var z=Mm(Gn,q0);if(en&&(Gn.mode&ni)!==Ar){p1(Gn,!1);for(var G=Gn.actualDuration,ne=Gn.child;ne!==null;)G+=ne.actualDuration,ne=ne.sibling;Gn.actualDuration=G}if(z!==null)return ho(Gn),z.effectTag&=Kl,z;Zr(Gn),D!==null&&(D.firstEffect=D.lastEffect=null,D.effectTag|=P0)}var se=Gn.sibling;if(se!==null)return se;Gn=D}while(Gn!==null);return k0===bf&&(k0=Tp),null}function Mp(c){var d=c.expirationTime,D=c.childExpirationTime;return d>D?d:D}function ty(c){if(!(q0!==Di&&c.childExpirationTime===Di)){var d=ft;if(en&&(c.mode&ni)!==Ar){for(var D=c.actualDuration,C=c.selfBaseDuration,O=c.alternate===null||c.child!==c.alternate.child,z=c.child;z!==null;){var G=z.expirationTime,ne=z.childExpirationTime;G>d&&(d=G),ne>d&&(d=ne),O&&(D+=z.actualDuration),C+=z.treeBaseDuration,z=z.sibling}c.actualDuration=D,c.treeBaseDuration=C}else for(var se=c.child;se!==null;){var Ue=se.expirationTime,Xe=se.childExpirationTime;Ue>d&&(d=Ue),Xe>d&&(d=Xe),se=se.sibling}c.childExpirationTime=d}}function l0(c){var d=Qt();return Sn(Li,kp.bind(null,c,d)),null}function kp(c,d){do tf();while(Mc!==null);if(ay(),(nr&(To|As))!==yu)throw Error("Should not already be working.");var D=c.finishedWork,C=c.finishedExpirationTime;if(D===null)return null;if(c.finishedWork=null,c.finishedExpirationTime=ft,D===c.current)throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");c.callbackNode=null,c.callbackExpirationTime=ft,c.callbackPriority=_0,c.nextKnownPendingLevel=ft,eo();var O=Mp(D);q4(c,C,O),c===ml&&(ml=null,Gn=null,q0=ft);var z;if(D.effectTag>lu?D.lastEffect!==null?(D.lastEffect.nextEffect=D,z=D.firstEffect):z=D:z=D.firstEffect,z!==null){var G=nr;nr|=As;var ne=Gd(c);Dp.current=null,xe(),Hn(c.containerInfo),dn=z;do if(pl(null,ny,null),tr()){if(dn===null)throw Error("Should be working on an effect.");var se=Qs();Hf(dn,se),dn=dn.nextEffect}while(dn!==null);tt(),en&&Nh(),Ke(),dn=z;do if(pl(null,ry,null,c,d),tr()){if(dn===null)throw Error("Should be working on an effect.");var Ue=Qs();Hf(dn,Ue),dn=dn.nextEffect}while(dn!==null);Yt(),qr(c.containerInfo),c.current=D,Kt(),dn=z;do if(pl(null,Np,null,c,C),tr()){if(dn===null)throw Error("Should be working on an effect.");var Xe=Qs();Hf(dn,Xe),dn=dn.nextEffect}while(dn!==null);pr(),dn=null,fe(),In&&Yd(ne),nr=G}else c.current=D,xe(),tt(),en&&Nh(),Ke(),Yt(),Kt(),pr();to();var ht=Oc;if(Oc)Oc=!1,Mc=c,xp=C,A1=d;else for(dn=z;dn!==null;){var Lt=dn.nextEffect;dn.nextEffect=null,dn=Lt}var Gt=c.firstPendingTime;if(Gt!==ft){if(In){if(Uf!==null){var Ht=Uf;Uf=null;for(var yn=0;ynKn?Kn:A1;return A1=_0,Sn(c,Lp)}}function Lp(){if(Mc===null)return!1;var c=Mc,d=xp;if(Mc=null,xp=ft,(nr&(To|As))!==yu)throw Error("Cannot flush passive effects while already rendering.");var D=nr;nr|=As;for(var C=Gd(c),O=c.current.firstEffect;O!==null;){{if(wt(O),pl(null,xa,null,O),tr()){if(O===null)throw Error("Should be working on an effect.");var z=Qs();Hf(O,z)}ut()}var G=O.nextEffect;O.nextEffect=null,O=G}return In&&(Yd(C),pe(c,d)),nr=D,Ut(),O1=Mc===null?0:O1+1,!0}function Fp(c){return Ac!==null&&Ac.has(c)}function Pp(c){Ac===null?Ac=new Set([c]):Ac.add(c)}function iy(c){jd||(jd=!0,zd=c)}var uy=iy;function Cv(c,d,D){var C=dp(D,d),O=sv(c,C,Un);Va(c,O);var z=qd(c,Un);z!==null&&(Wo(z),W(z,Un))}function Hf(c,d){if(c.tag===j){Cv(c,c,d);return}for(var D=c.return;D!==null;){if(D.tag===j){Cv(D,c,d);return}else if(D.tag===k){var C=D.type,O=D.stateNode;if(typeof C.getDerivedStateFromError=="function"||typeof O.componentDidCatch=="function"&&!Fp(O)){var z=dp(d,c),G=av(D,z,Un);Va(D,G);var ne=qd(D,Un);ne!==null&&(Wo(ne),W(ne,Un));return}}D=D.return}}function Ip(c,d,D){var C=c.pingCache;if(C!==null&&C.delete(d),ml===c&&q0===D){k0===x1||k0===C1&&Ul===Un&&mt()-CpHm)throw kc=0,Hd=null,Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");O1>cv&&(O1=0,Xt(!1,"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."))}function ay(){Al.flushLegacyContextWarning(),mi&&Al.flushPendingUnsafeLifecycleWarnings()}function Rv(){var c=!0;yf(Bf,c),Bf=null}function Up(){var c=!1;yf(Bf,c),Bf=null}function jp(c,d){Hr&&ml!==null&&d>q0&&(Bf=c)}var Qd=null;function fy(c){{var d=c.tag;if(d!==j&&d!==k&&d!==F&&d!==ae&&d!==ve&&d!==ue)return;var D=qt(c.type)||"ReactComponent";if(Qd!==null){if(Qd.has(D))return;Qd.add(D)}else Qd=new Set([D]);Ve(!1,"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s",d===k?"the componentWillUnmount method":"a useEffect cleanup function",Cr(c))}}var N1;if(X0){var cy=null;N1=function(c,d,D){var C=Gg(cy,d);try{return lp(c,d,D)}catch(z){if(z!==null&&typeof z=="object"&&typeof z.then=="function")throw z;if(yt(),_d(),nv(d),Gg(d,C),en&&d.mode&ni&&H2(d),pl(null,lp,null,c,d,D),tr()){var O=Qs();throw O}else throw z}}}else N1=lp;var Av=!1,Ov=!1;function dy(c){if(c.tag===k)switch(Nr){case"getChildContext":if(Ov)return;Ve(!1,"setState(...): Cannot call setState() inside getChildContext()"),Ov=!0;break;case"render":if(Av)return;Ve(!1,"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),Av=!0;break}}var qf={current:!1};function zp(c){vs===!0&&vl.current===!0&&qf.current!==!0&&Ve(!1,`It looks like you're using the wrong act() around your test interactions. Be sure to use the matching version of act() corresponding to your renderer: // for react-dom: @@ -138,7 +138,7 @@ act(() => ...); import TestRenderer from 'react-test-renderer'; const {act} = TestRenderer; // ... -act(() => ...);%s`,Cr(f))}function Rv(f){vs===!0&&(f.mode&mr)!==Ar&&hl.current===!1&&qf.current===!1&&We(!1,`An update to %s ran an effect, but was not wrapped in act(...). +act(() => ...);%s`,Cr(c))}function Mv(c){vs===!0&&(c.mode&mr)!==Ar&&vl.current===!1&&qf.current===!1&&Ve(!1,`An update to %s ran an effect, but was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): @@ -147,7 +147,7 @@ act(() => { }); /* assert on the output */ -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(f.type),Cr(f))}function oy(f){vs===!0&&nr===gu&&hl.current===!1&&qf.current===!1&&We(!1,`An update to %s inside a test was not wrapped in act(...). +This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(c.type),Cr(c))}function py(c){vs===!0&&nr===yu&&vl.current===!1&&qf.current===!1&&Ve(!1,`An update to %s inside a test was not wrapped in act(...). When testing, code that causes React state updates should be wrapped into act(...): @@ -156,37 +156,37 @@ act(() => { }); /* assert on the output */ -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(f.type),Cr(f))}var ly=oy,qp=!1;function sy(f){qp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(f.mode&Y||f.mode&ri?(qp=!0,We(!1,`In Concurrent or Sync modes, the "scheduler" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: +This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(c.type),Cr(c))}var hy=py,Hp=!1;function vy(c){Hp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(c.mode&K||c.mode&ti?(Hp=!0,Ve(!1,`In Concurrent or Sync modes, the "scheduler" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: jest.mock('scheduler', () => require('scheduler/unstable_mock')); -For more info, visit https://fb.me/react-mock-scheduler`)):eu===!0&&(qp=!0,We(!1,`Starting from React v17, the "scheduler" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: +For more info, visit https://fb.me/react-mock-scheduler`)):eu===!0&&(Hp=!0,Ve(!1,`Starting from React v17, the "scheduler" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: jest.mock('scheduler', () => require('scheduler/unstable_mock')); -For more info, visit https://fb.me/react-mock-scheduler`)))}var Zs=null;function ay(f){{var c=Qt();if((f.mode&ri)!==xi&&(c===ni||c===Li))for(var E=f;E!==null;){var T=E.alternate;if(T!==null)switch(E.tag){case O:var A=T.updateQueue;if(A!==null)for(var j=A.firstUpdate;j!==null;){var V=j.priority;if(V===ni||V===Li){Zs===null?Zs=new Set([qt(E.type)]):Zs.add(qt(E.type));break}j=j.next}break;case L:case se:case ie:if(E.memoizedState!==null&&E.memoizedState.baseUpdate!==null)for(var te=E.memoizedState.baseUpdate;te!==null;){var le=te.priority;if(le===ni||le===Li){Zs===null?Zs=new Set([qt(E.type)]):Zs.add(qt(E.type));break}if(te.next===E.memoizedState.baseUpdate)break;te=te.next}break;default:break}E=E.return}}}function d(){if(Zs!==null){var f=[];Zs.forEach(function(c){return f.push(c)}),Zs=null,f.length>0&&We(!1,`%s triggered a user-blocking update that suspended. +For more info, visit https://fb.me/react-mock-scheduler`)))}var Zs=null;function my(c){{var d=Qt();if((c.mode&ti)!==xi&&(d===ei||d===Li))for(var D=c;D!==null;){var C=D.alternate;if(C!==null)switch(D.tag){case k:var O=C.updateQueue;if(O!==null)for(var z=O.firstUpdate;z!==null;){var G=z.priority;if(G===ei||G===Li){Zs===null?Zs=new Set([qt(D.type)]):Zs.add(qt(D.type));break}z=z.next}break;case F:case ae:case ue:if(D.memoizedState!==null&&D.memoizedState.baseUpdate!==null)for(var ne=D.memoizedState.baseUpdate;ne!==null;){var se=ne.priority;if(se===ei||se===Li){Zs===null?Zs=new Set([qt(D.type)]):Zs.add(qt(D.type));break}if(ne.next===D.memoizedState.baseUpdate)break;ne=ne.next}break;default:break}D=D.return}}}function p(){if(Zs!==null){var c=[];Zs.forEach(function(d){return c.push(d)}),Zs=null,c.length>0&&Ve(!1,`%s triggered a user-blocking update that suspended. The fix is to split the update into multiple parts: a user-blocking update to provide immediate feedback, and another update that triggers the bulk of the changes. -Refer to the documentation for useTransition to learn how to implement this pattern.`,f.sort().join(", "))}}function v(f,c){return c*1e3+f.interactionThreadID}function x(f){!bn||(Uf===null?Uf=[f]:Uf.push(f))}function P(f,c,E){if(!!bn&&E.size>0){var T=f.pendingInteractionMap,A=T.get(c);A!=null?E.forEach(function(te){A.has(te)||te.__count++,A.add(te)}):(T.set(c,new Set(E)),E.forEach(function(te){te.__count++}));var j=k.__subscriberRef.current;if(j!==null){var V=v(f,c);j.onWorkScheduled(E,V)}}}function q(f,c){!bn||P(f,c,k.__interactionsRef.current)}function ee(f,c){if(!!bn){var E=new Set;if(f.pendingInteractionMap.forEach(function(j,V){V>=c&&j.forEach(function(te){return E.add(te)})}),f.memoizedInteractions=E,E.size>0){var T=k.__subscriberRef.current;if(T!==null){var A=v(f,c);try{T.onWorkStarted(E,A)}catch(j){_n(Li,function(){throw j})}}}}}function de(f,c){if(!!bn){var E=f.firstPendingTime,T;try{if(T=k.__subscriberRef.current,T!==null&&f.memoizedInteractions.size>0){var A=v(f,c);T.onWorkStopped(f.memoizedInteractions,A)}}catch(V){_n(Li,function(){throw V})}finally{var j=f.pendingInteractionMap;j.forEach(function(V,te){te>E&&(j.delete(te),V.forEach(function(le){if(le.__count--,T!==null&&le.__count===0)try{T.onInteractionScheduledWorkCompleted(le)}catch(Be){_n(Li,function(){throw Be})}}))})}}}var _e=null,Ie=null,Et=!1,St=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined";function At(f){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")return!1;var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled)return!0;if(!c.supportsFiber)return We(!1,"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools"),!0;try{var E=c.inject(f);_e=function(T,A){try{var j=(T.current.effectTag&Xr)===Xr;if(en){var V=Nc(),te=nd(V,A);c.onCommitFiberRoot(E,T,te,j)}else c.onCommitFiberRoot(E,T,void 0,j)}catch(le){Et||(Et=!0,We(!1,"React DevTools encountered an error: %s",le))}},Ie=function(T){try{c.onCommitFiberUnmount(E,T)}catch(A){Et||(Et=!0,We(!1,"React DevTools encountered an error: %s",A))}}}catch(T){We(!1,"React DevTools encountered an error: %s.",T)}return!0}function on(f,c){typeof _e=="function"&&_e(f,c)}function kn(f){typeof Ie=="function"&&Ie(f)}var rr;{rr=!1;try{var br=Object.preventExtensions({}),ar=new Map([[br,null]]),ui=new Set([br]);ar.set(0,0),ui.add(0)}catch(f){rr=!0}}var di=1;function jl(f,c,E,T){this.tag=f,this.key=E,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=c,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=T,this.effectTag=xi,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=at,this.childExpirationTime=at,this.alternate=null,en&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Hr&&(this._debugID=di++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!rr&&typeof Object.preventExtensions=="function"&&Object.preventExtensions(this)}var Zi=function(f,c,E,T){return new jl(f,c,E,T)};function lo(f){var c=f.prototype;return!!(c&&c.isReactComponent)}function a0(f){return typeof f=="function"&&!lo(f)&&f.defaultProps===void 0}function Os(f){if(typeof f=="function")return lo(f)?O:L;if(f!=null){var c=f.$$typeof;if(c===Mn)return se;if(c===Vt)return me}return C}function To(f,c,E){var T=f.alternate;T===null?(T=Zi(f.tag,c,f.key,f.mode),T.elementType=f.elementType,T.type=f.type,T.stateNode=f.stateNode,T._debugID=f._debugID,T._debugSource=f._debugSource,T._debugOwner=f._debugOwner,T._debugHookTypes=f._debugHookTypes,T.alternate=f,f.alternate=T):(T.pendingProps=c,T.effectTag=xi,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null,en&&(T.actualDuration=0,T.actualStartTime=-1)),T.childExpirationTime=f.childExpirationTime,T.expirationTime=f.expirationTime,T.child=f.child,T.memoizedProps=f.memoizedProps,T.memoizedState=f.memoizedState,T.updateQueue=f.updateQueue;var A=f.dependencies;switch(T.dependencies=A===null?null:{expirationTime:A.expirationTime,firstContext:A.firstContext,responders:A.responders},T.sibling=f.sibling,T.index=f.index,T.ref=f.ref,en&&(T.selfBaseDuration=f.selfBaseDuration,T.treeBaseDuration=f.treeBaseDuration),T._debugNeedsRemount=f._debugNeedsRemount,T.tag){case C:case L:case ie:T.type=r0(f.type);break;case O:T.type=j0(f.type);break;case se:T.type=Df(f.type);break;default:break}return T}function Av(f,c){f.effectTag&=mi,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null;var E=f.alternate;if(E===null)f.childExpirationTime=at,f.expirationTime=c,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,en&&(f.selfBaseDuration=0,f.treeBaseDuration=0);else{f.childExpirationTime=E.childExpirationTime,f.expirationTime=E.expirationTime,f.child=E.child,f.memoizedProps=E.memoizedProps,f.memoizedState=E.memoizedState,f.updateQueue=E.updateQueue;var T=E.dependencies;f.dependencies=T===null?null:{expirationTime:T.expirationTime,firstContext:T.firstContext,responders:T.responders},en&&(f.selfBaseDuration=E.selfBaseDuration,f.treeBaseDuration=E.treeBaseDuration)}return f}function k4(f){var c;return f===O0?c=ri|Y|mr:f===B0?c=Y|mr:c=Ar,en&&St&&(c|=ii),Zi(U,null,null,c)}function fy(f,c,E,T,A,j){var V,te=C,le=f;if(typeof f=="function")lo(f)?(te=O,le=j0(le)):le=r0(le);else if(typeof f=="string")te=W;else{e:switch(f){case oe:return nf(E.children,A,j,c);case an:te=he,A|=ri|Y|mr;break;case ze:te=he,A|=mr;break;case ct:return L4(E,A,j,c);case lr:return F4(E,A,j,c);case ln:return P4(E,A,j,c);default:{if(typeof f=="object"&&f!==null)switch(f.$$typeof){case Rt:te=ve;break e;case nn:te=Ee;break e;case Mn:te=se,le=Df(le);break e;case Vt:te=me;break e;case Er:te=Oe,le=null;break e;case w:if(Wt)return qg(f,E,A,j,c);break;case Xn:if(Au)return N4(f,E,A,j,c)}var Be="";{(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).length===0)&&(Be+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Ke=T?qt(T.type):null;Ke&&(Be+=` +Refer to the documentation for useTransition to learn how to implement this pattern.`,c.sort().join(", "))}}function m(c,d){return d*1e3+c.interactionThreadID}function R(c){!In||(Uf===null?Uf=[c]:Uf.push(c))}function I(c,d,D){if(!!In&&D.size>0){var C=c.pendingInteractionMap,O=C.get(d);O!=null?D.forEach(function(ne){O.has(ne)||ne.__count++,O.add(ne)}):(C.set(d,new Set(D)),D.forEach(function(ne){ne.__count++}));var z=N.__subscriberRef.current;if(z!==null){var G=m(c,d);z.onWorkScheduled(D,G)}}}function W(c,d){!In||I(c,d,N.__interactionsRef.current)}function te(c,d){if(!!In){var D=new Set;if(c.pendingInteractionMap.forEach(function(z,G){G>=d&&z.forEach(function(ne){return D.add(ne)})}),c.memoizedInteractions=D,D.size>0){var C=N.__subscriberRef.current;if(C!==null){var O=m(c,d);try{C.onWorkStarted(D,O)}catch(z){_n(Li,function(){throw z})}}}}}function pe(c,d){if(!!In){var D=c.firstPendingTime,C;try{if(C=N.__subscriberRef.current,C!==null&&c.memoizedInteractions.size>0){var O=m(c,d);C.onWorkStopped(c.memoizedInteractions,O)}}catch(G){_n(Li,function(){throw G})}finally{var z=c.pendingInteractionMap;z.forEach(function(G,ne){ne>D&&(z.delete(ne),G.forEach(function(se){if(se.__count--,C!==null&&se.__count===0)try{C.onInteractionScheduledWorkCompleted(se)}catch(Ue){_n(Li,function(){throw Ue})}}))})}}}var Ee=null,be=null,Dt=!1,Tt=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u";function Ot(c){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var d=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(d.isDisabled)return!0;if(!d.supportsFiber)return Ve(!1,"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools"),!0;try{var D=d.inject(c);Ee=function(C,O){try{var z=(C.current.effectTag&Kr)===Kr;if(en){var G=Nc(),ne=nd(G,O);d.onCommitFiberRoot(D,C,ne,z)}else d.onCommitFiberRoot(D,C,void 0,z)}catch(se){Dt||(Dt=!0,Ve(!1,"React DevTools encountered an error: %s",se))}},be=function(C){try{d.onCommitFiberUnmount(D,C)}catch(O){Dt||(Dt=!0,Ve(!1,"React DevTools encountered an error: %s",O))}}}catch(C){Ve(!1,"React DevTools encountered an error: %s.",C)}return!0}function on(c,d){typeof Ee=="function"&&Ee(c,d)}function Mn(c){typeof be=="function"&&be(c)}var rr;{rr=!1;try{var br=Object.preventExtensions({}),ar=new Map([[br,null]]),ri=new Set([br]);ar.set(0,0),ri.add(0)}catch{rr=!0}}var fi=1;function zl(c,d,D,C){this.tag=c,this.key=D,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=d,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=C,this.effectTag=xi,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=ft,this.childExpirationTime=ft,this.alternate=null,en&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Hr&&(this._debugID=fi++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!rr&&typeof Object.preventExtensions=="function"&&Object.preventExtensions(this)}var Zi=function(c,d,D,C){return new zl(c,d,D,C)};function so(c){var d=c.prototype;return!!(d&&d.isReactComponent)}function s0(c){return typeof c=="function"&&!so(c)&&c.defaultProps===void 0}function Os(c){if(typeof c=="function")return so(c)?k:F;if(c!=null){var d=c.$$typeof;if(d===On)return ae;if(d===Vt)return ve}return x}function Co(c,d,D){var C=c.alternate;C===null?(C=Zi(c.tag,d,c.key,c.mode),C.elementType=c.elementType,C.type=c.type,C.stateNode=c.stateNode,C._debugID=c._debugID,C._debugSource=c._debugSource,C._debugOwner=c._debugOwner,C._debugHookTypes=c._debugHookTypes,C.alternate=c,c.alternate=C):(C.pendingProps=d,C.effectTag=xi,C.nextEffect=null,C.firstEffect=null,C.lastEffect=null,en&&(C.actualDuration=0,C.actualStartTime=-1)),C.childExpirationTime=c.childExpirationTime,C.expirationTime=c.expirationTime,C.child=c.child,C.memoizedProps=c.memoizedProps,C.memoizedState=c.memoizedState,C.updateQueue=c.updateQueue;var O=c.dependencies;switch(C.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders},C.sibling=c.sibling,C.index=c.index,C.ref=c.ref,en&&(C.selfBaseDuration=c.selfBaseDuration,C.treeBaseDuration=c.treeBaseDuration),C._debugNeedsRemount=c._debugNeedsRemount,C.tag){case x:case F:case ue:C.type=n0(c.type);break;case k:C.type=j0(c.type);break;case ae:C.type=Df(c.type);break;default:break}return C}function kv(c,d){c.effectTag&=vi,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null;var D=c.alternate;if(D===null)c.childExpirationTime=ft,c.expirationTime=d,c.child=null,c.memoizedProps=null,c.memoizedState=null,c.updateQueue=null,c.dependencies=null,en&&(c.selfBaseDuration=0,c.treeBaseDuration=0);else{c.childExpirationTime=D.childExpirationTime,c.expirationTime=D.expirationTime,c.child=D.child,c.memoizedProps=D.memoizedProps,c.memoizedState=D.memoizedState,c.updateQueue=D.updateQueue;var C=D.dependencies;c.dependencies=C===null?null:{expirationTime:C.expirationTime,firstContext:C.firstContext,responders:C.responders},en&&(c.selfBaseDuration=D.selfBaseDuration,c.treeBaseDuration=D.treeBaseDuration)}return c}function F4(c){var d;return c===O0?d=ti|K|mr:c===B0?d=K|mr:d=Ar,en&&Tt&&(d|=ni),Zi(j,null,null,d)}function yy(c,d,D,C,O,z){var G,ne=x,se=c;if(typeof c=="function")so(c)?(ne=k,se=j0(se)):se=n0(se);else if(typeof c=="string")ne=V;else{e:switch(c){case le:return nf(D.children,O,z,d);case an:ne=me,O|=ti|K|mr;break;case He:ne=me,O|=mr;break;case dt:return I4(D,O,z,d);case lr:return b4(D,O,z,d);case ln:return B4(D,O,z,d);default:{if(typeof c=="object"&&c!==null)switch(c.$$typeof){case At:ne=ge;break e;case nn:ne=De;break e;case On:ne=ae,se=Df(se);break e;case Vt:ne=ve;break e;case Er:ne=Ae,se=null;break e;case S:if(Wt)return Vg(c,D,O,z,d);break;case Xn:if(Ru)return P4(c,D,O,z,d)}var Ue="";{(c===void 0||typeof c=="object"&&c!==null&&Object.keys(c).length===0)&&(Ue+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Xe=C?qt(C.type):null;Xe&&(Ue+=` -Check the render method of \``+Ke+"`.")}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(f==null?f:typeof f)+"."+Be)}}}return V=Zi(te,E,c,A),V.elementType=f,V.type=le,V.expirationTime=j,V}function cy(f,c,E){var T=null;T=f._owner;var A=f.type,j=f.key,V=f.props,te=fy(A,j,V,T,c,E);return te._debugSource=f._source,te._debugOwner=f._owner,te}function nf(f,c,E,T){var A=Zi(m,f,T,c);return A.expirationTime=E,A}function qg(f,c,E,T,A){var j=Zi(gt,c,A,E);return j.elementType=f,j.type=f,j.expirationTime=T,j}function N4(f,c,E,T,A){var j=Zi(Xe,c,A,E);return j.type=f,j.elementType=f,j.expirationTime=T,j}function L4(f,c,E,T){(typeof f.id!="string"||typeof f.onRender!="function")&&We(!1,'Profiler must specify an "id" string and "onRender" function as props');var A=Zi(De,f,T,c|ii);return A.elementType=ct,A.type=ct,A.expirationTime=E,A}function F4(f,c,E,T){var A=Zi(pe,f,T,c);return A.type=lr,A.elementType=lr,A.expirationTime=E,A}function P4(f,c,E,T){var A=Zi(yt,f,T,c);return A.type=ln,A.elementType=ln,A.expirationTime=E,A}function dy(f,c,E){var T=Zi(ne,f,null,c);return T.expirationTime=E,T}function I4(){var f=Zi(W,null,null,Ar);return f.elementType="DELETED",f.type="DELETED",f}function b4(f){var c=Zi(qe,null,null,Ar);return c.stateNode=f,c}function py(f,c,E){var T=f.children!==null?f.children:[],A=Zi(H,T,f.key,c);return A.expirationTime=E,A.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},A}function Wg(f,c){return f===null&&(f=Zi(C,null,null,Ar)),f.tag=c.tag,f.key=c.key,f.elementType=c.elementType,f.type=c.type,f.stateNode=c.stateNode,f.return=c.return,f.child=c.child,f.sibling=c.sibling,f.index=c.index,f.ref=c.ref,f.pendingProps=c.pendingProps,f.memoizedProps=c.memoizedProps,f.updateQueue=c.updateQueue,f.memoizedState=c.memoizedState,f.dependencies=c.dependencies,f.mode=c.mode,f.effectTag=c.effectTag,f.nextEffect=c.nextEffect,f.firstEffect=c.firstEffect,f.lastEffect=c.lastEffect,f.expirationTime=c.expirationTime,f.childExpirationTime=c.childExpirationTime,f.alternate=c.alternate,en&&(f.actualDuration=c.actualDuration,f.actualStartTime=c.actualStartTime,f.selfBaseDuration=c.selfBaseDuration,f.treeBaseDuration=c.treeBaseDuration),f._debugID=c._debugID,f._debugSource=c._debugSource,f._debugOwner=c._debugOwner,f._debugIsCurrentlyTiming=c._debugIsCurrentlyTiming,f._debugNeedsRemount=c._debugNeedsRemount,f._debugHookTypes=c._debugHookTypes,f}function B4(f,c,E){this.tag=c,this.current=null,this.containerInfo=f,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=at,this.finishedWork=null,this.timeoutHandle=tl,this.context=null,this.pendingContext=null,this.hydrate=E,this.callbackNode=null,this.callbackPriority=E0,this.firstPendingTime=at,this.firstSuspendedTime=at,this.lastSuspendedTime=at,this.nextKnownPendingLevel=at,this.lastPingedTime=at,this.lastExpiredTime=at,bn&&(this.interactionThreadID=k.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Yi&&(this.hydrationCallbacks=null)}function U4(f,c,E,T){var A=new B4(f,c,E);Yi&&(A.hydrationCallbacks=T);var j=k4(c);return A.current=j,j.stateNode=A,A}function Vg(f,c){var E=f.firstSuspendedTime,T=f.lastSuspendedTime;return E!==at&&E>=c&&T<=c}function Wf(f,c){var E=f.firstSuspendedTime,T=f.lastSuspendedTime;Ec||E===at)&&(f.lastSuspendedTime=c),c<=f.lastPingedTime&&(f.lastPingedTime=at),c<=f.lastExpiredTime&&(f.lastExpiredTime=at)}function Gg(f,c){var E=f.firstPendingTime;c>E&&(f.firstPendingTime=c);var T=f.firstSuspendedTime;T!==at&&(c>=T?f.firstSuspendedTime=f.lastSuspendedTime=f.nextKnownPendingLevel=at:c>=f.lastSuspendedTime&&(f.lastSuspendedTime=c+1),c>f.nextKnownPendingLevel&&(f.nextKnownPendingLevel=c))}function j4(f,c,E){f.firstPendingTime=E,c<=f.lastSuspendedTime?f.firstSuspendedTime=f.lastSuspendedTime=f.nextKnownPendingLevel=at:c<=f.firstSuspendedTime&&(f.firstSuspendedTime=c-1),c<=f.lastPingedTime&&(f.lastPingedTime=at),c<=f.lastExpiredTime&&(f.lastExpiredTime=at)}function Wp(f,c){var E=f.lastExpiredTime;(E===at||E>c)&&(f.lastExpiredTime=c)}var z4={debugTool:null},Ov=z4,hy,vy;hy=!1,vy={};function H4(f){if(!f)return Rn;var c=Ft(f),E=Cl(c);if(c.tag===O){var T=c.type;if(Xi(T))return A0(c,T,E)}return E}function my(f){var c=Ft(f);if(c===void 0)throw typeof f.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(f));var E=I0(c);return E===null?null:E.stateNode}function q4(f,c){{var E=Ft(f);if(E===void 0)throw typeof f.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(f));var T=I0(E);if(T===null)return null;if(T.mode&mr){var A=qt(E.type)||"Component";vy[A]||(vy[A]=!0,E.mode&mr?We(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,A,Cr(T)):We(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,A,Cr(T)))}return T.stateNode}return my(f)}function W4(f,c,E,T){return U4(f,c,E,T)}function Yg(f,c,E,T){var A=c.current,j=Ul();typeof jest!="undefined"&&(sy(A),Hp(A));var V=go(),te=jf(j,A,V);Ov.debugTool&&(A.alternate===null?Ov.debugTool.onMountContainer(c):f===null?Ov.debugTool.onUnmountContainer(c):Ov.debugTool.onUpdateContainer(c));var le=H4(E);c.context===null?c.context=le:c.pendingContext=le,Nr==="render"&&An!==null&&!hy&&(hy=!0,We(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. +Check the render method of \``+Xe+"`.")}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(c==null?c:typeof c)+"."+Ue)}}}return G=Zi(ne,D,d,O),G.elementType=c,G.type=se,G.expirationTime=z,G}function gy(c,d,D){var C=null;C=c._owner;var O=c.type,z=c.key,G=c.props,ne=yy(O,z,G,C,d,D);return ne._debugSource=c._source,ne._debugOwner=c._owner,ne}function nf(c,d,D,C){var O=Zi(y,c,C,d);return O.expirationTime=D,O}function Vg(c,d,D,C,O){var z=Zi(_t,d,O,D);return z.elementType=c,z.type=c,z.expirationTime=C,z}function P4(c,d,D,C,O){var z=Zi(Qe,d,O,D);return z.type=c,z.elementType=c,z.expirationTime=C,z}function I4(c,d,D,C){(typeof c.id!="string"||typeof c.onRender!="function")&&Ve(!1,'Profiler must specify an "id" string and "onRender" function as props');var O=Zi(we,c,C,d|ni);return O.elementType=dt,O.type=dt,O.expirationTime=D,O}function b4(c,d,D,C){var O=Zi(he,c,C,d);return O.type=lr,O.elementType=lr,O.expirationTime=D,O}function B4(c,d,D,C){var O=Zi(gt,c,C,d);return O.type=ln,O.elementType=ln,O.expirationTime=D,O}function _y(c,d,D){var C=Zi(re,c,null,d);return C.expirationTime=D,C}function U4(){var c=Zi(V,null,null,Ar);return c.elementType="DELETED",c.type="DELETED",c}function j4(c){var d=Zi(We,null,null,Ar);return d.stateNode=c,d}function Ey(c,d,D){var C=c.children!==null?c.children:[],O=Zi(q,C,c.key,d);return O.expirationTime=D,O.stateNode={containerInfo:c.containerInfo,pendingChildren:null,implementation:c.implementation},O}function Gg(c,d){return c===null&&(c=Zi(x,null,null,Ar)),c.tag=d.tag,c.key=d.key,c.elementType=d.elementType,c.type=d.type,c.stateNode=d.stateNode,c.return=d.return,c.child=d.child,c.sibling=d.sibling,c.index=d.index,c.ref=d.ref,c.pendingProps=d.pendingProps,c.memoizedProps=d.memoizedProps,c.updateQueue=d.updateQueue,c.memoizedState=d.memoizedState,c.dependencies=d.dependencies,c.mode=d.mode,c.effectTag=d.effectTag,c.nextEffect=d.nextEffect,c.firstEffect=d.firstEffect,c.lastEffect=d.lastEffect,c.expirationTime=d.expirationTime,c.childExpirationTime=d.childExpirationTime,c.alternate=d.alternate,en&&(c.actualDuration=d.actualDuration,c.actualStartTime=d.actualStartTime,c.selfBaseDuration=d.selfBaseDuration,c.treeBaseDuration=d.treeBaseDuration),c._debugID=d._debugID,c._debugSource=d._debugSource,c._debugOwner=d._debugOwner,c._debugIsCurrentlyTiming=d._debugIsCurrentlyTiming,c._debugNeedsRemount=d._debugNeedsRemount,c._debugHookTypes=d._debugHookTypes,c}function z4(c,d,D){this.tag=d,this.current=null,this.containerInfo=c,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=ft,this.finishedWork=null,this.timeoutHandle=nl,this.context=null,this.pendingContext=null,this.hydrate=D,this.callbackNode=null,this.callbackPriority=_0,this.firstPendingTime=ft,this.firstSuspendedTime=ft,this.lastSuspendedTime=ft,this.nextKnownPendingLevel=ft,this.lastPingedTime=ft,this.lastExpiredTime=ft,In&&(this.interactionThreadID=N.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Yi&&(this.hydrationCallbacks=null)}function H4(c,d,D,C){var O=new z4(c,d,D);Yi&&(O.hydrationCallbacks=C);var z=F4(d);return O.current=z,z.stateNode=O,O}function Yg(c,d){var D=c.firstSuspendedTime,C=c.lastSuspendedTime;return D!==ft&&D>=d&&C<=d}function Wf(c,d){var D=c.firstSuspendedTime,C=c.lastSuspendedTime;Dd||D===ft)&&(c.lastSuspendedTime=d),d<=c.lastPingedTime&&(c.lastPingedTime=ft),d<=c.lastExpiredTime&&(c.lastExpiredTime=ft)}function Kg(c,d){var D=c.firstPendingTime;d>D&&(c.firstPendingTime=d);var C=c.firstSuspendedTime;C!==ft&&(d>=C?c.firstSuspendedTime=c.lastSuspendedTime=c.nextKnownPendingLevel=ft:d>=c.lastSuspendedTime&&(c.lastSuspendedTime=d+1),d>c.nextKnownPendingLevel&&(c.nextKnownPendingLevel=d))}function q4(c,d,D){c.firstPendingTime=D,d<=c.lastSuspendedTime?c.firstSuspendedTime=c.lastSuspendedTime=c.nextKnownPendingLevel=ft:d<=c.firstSuspendedTime&&(c.firstSuspendedTime=d-1),d<=c.lastPingedTime&&(c.lastPingedTime=ft),d<=c.lastExpiredTime&&(c.lastExpiredTime=ft)}function qp(c,d){var D=c.lastExpiredTime;(D===ft||D>d)&&(c.lastExpiredTime=d)}var W4={debugTool:null},Nv=W4,Dy,wy;Dy=!1,wy={};function V4(c){if(!c)return xn;var d=Pt(c),D=xl(d);if(d.tag===k){var C=d.type;if(Xi(C))return A0(d,C,D)}return D}function Sy(c){var d=Pt(c);if(d===void 0)throw typeof c.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(c));var D=I0(d);return D===null?null:D.stateNode}function G4(c,d){{var D=Pt(c);if(D===void 0)throw typeof c.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(c));var C=I0(D);if(C===null)return null;if(C.mode&mr){var O=qt(D.type)||"Component";wy[O]||(wy[O]=!0,D.mode&mr?Ve(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",d,d,O,Cr(C)):Ve(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",d,d,O,Cr(C)))}return C.stateNode}return Sy(c)}function Y4(c,d,D,C){return H4(c,d,D,C)}function Xg(c,d,D,C){var O=d.current,z=jl();typeof jest<"u"&&(vy(O),zp(O));var G=_o(),ne=jf(z,O,G);Nv.debugTool&&(O.alternate===null?Nv.debugTool.onMountContainer(d):c===null?Nv.debugTool.onUnmountContainer(d):Nv.debugTool.onUpdateContainer(d));var se=V4(D);d.context===null?d.context=se:d.pendingContext=se,Nr==="render"&&Rn!==null&&!Dy&&(Dy=!0,Ve(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. -Check the render method of %s.`,qt(An.type)||"Unknown"));var Be=Cu(te,V);return Be.payload={element:f},T=T===void 0?null:T,T!==null&&(typeof T!="function"&&We(!1,"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",T),Be.callback=T),Va(A,Be),ml(A,te),te}function V4(f){var c=f.current;if(!c.child)return null;switch(c.child.tag){case W:return No(c.child.stateNode);default:return c.child.stateNode}}function G4(f){switch(f.tag){case U:var c=f.stateNode;c.hydrate&&Um(c,c.firstPendingTime);break;case pe:Ap(function(){return ml(f,Un)});var E=Ua(Ul());Mv(f,E);break}}function Kg(f,c){var E=f.memoizedState;E!==null&&E.dehydrated!==null&&E.retryTime=c.length)return T;var A=c[E],j=Array.isArray(f)?f.slice():a({},f);return j[A]=_y(f[A],c,E+1,T),j},e_=function(f,c,E){return _y(f,c,0,E)};Qg=function(f,c,E,T){for(var A=f.memoizedState;A!==null&&c>0;)A=A.next,c--;if(A!==null){var j=e_(A.memoizedState,E,T);A.memoizedState=j,A.baseState=j,f.memoizedProps=a({},f.memoizedProps),ml(f,Un)}},Jg=function(f,c,E){f.pendingProps=e_(f.memoizedProps,c,E),f.alternate&&(f.alternate.pendingProps=f.pendingProps),ml(f,Un)},Zg=function(f){ml(f,Un)},$g=function(f){gy=f}}function Q4(f){var c=f.findFiberByHostInstance,E=rt.ReactCurrentDispatcher;return At(a({},f,{overrideHookState:Qg,overrideProps:Jg,setSuspenseHandler:$g,scheduleUpdate:Zg,currentDispatcherRef:E,findHostInstanceByFiber:function(T){var A=I0(T);return A===null?null:A.stateNode},findFiberByHostInstance:function(T){return c?c(T):null},findHostInstancesForRefresh:ud,scheduleRefresh:Al,scheduleRoot:Ts,setRefreshHandler:qa,getCurrentFiber:function(){return An}}))}var t_=Object.freeze({createContainer:W4,updateContainer:Yg,batchedEventUpdates:qm,batchedUpdates:Hm,unbatchedUpdates:Wm,deferredUpdates:jm,syncUpdates:fv,discreteUpdates:cv,flushDiscreteUpdates:av,flushControlled:Vm,flushSync:Ap,flushPassiveEffects:tf,IsThisRendererActing:qf,getPublicRootInstance:V4,attemptSynchronousHydration:G4,attemptUserBlockingHydration:Y4,attemptContinuousHydration:yy,attemptHydrationAtCurrentPriority:K4,findHostInstance:my,findHostInstanceWithWarning:q4,findHostInstanceWithNoPortals:X4,shouldSuspend:Xg,injectIntoDevTools:Q4}),J4=t_.default||t_;qy.exports=J4;var Z4=qy.exports;return qy.exports=i,Z4})});var IS=tt((RH,vD)=>{"use strict";process.env.NODE_ENV==="production"?vD.exports=MS():vD.exports=PS()});var BS=tt((AH,bS)=>{"use strict";var AP={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};bS.exports=AP});var HS=tt((OH,US)=>{"use strict";var OP=Object.assign||function(i){for(var o=1;o"}}]),i}(),jS=function(){B_(i,null,[{key:"fromJS",value:function(a){var p=a.width,_=a.height;return new i(p,_)}}]);function i(o,a){yD(this,i),this.width=o,this.height=a}return B_(i,[{key:"fromJS",value:function(a){a(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),zS=function(){function i(o,a){yD(this,i),this.unit=o,this.value=a}return B_(i,[{key:"fromJS",value:function(a){a(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case tc.UNIT_POINT:return String(this.value);case tc.UNIT_PERCENT:return this.value+"%";case tc.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();US.exports=function(i,o){function a(k,L,O){var C=k[L];k[L]=function(){for(var U=arguments.length,H=Array(U),W=0;W1?H-1:0),ne=1;ne1&&arguments[1]!==void 0?arguments[1]:NaN,O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tc.DIRECTION_LTR;return k.call(this,L,O,C)}),OP({Config:o.Config,Node:o.Node,Layout:i("Layout",MP),Size:i("Size",jS),Value:i("Value",zS),getInstanceCount:function(){return o.getInstanceCount.apply(o,arguments)}},tc)}});var qS=tt((exports,module)=>{(function(i,o){typeof define=="function"&&define.amd?define([],function(){return o}):typeof module=="object"&&module.exports?module.exports=o:(i.nbind=i.nbind||{}).init=o})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,o){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(a){o(a);return}o(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(o,a){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),o=nodePath.normalize(o);var p=nodeFS.readFileSync(o);return a?p:p.toString()},Module.readBinary=function(o){var a=Module.read(o,!0);return a.buffer||(a=new Uint8Array(a)),assert(a.buffer),a},Module.load=function(o){globalEval(read(o))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(o){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(o));var a=read(o,"binary");return assert(typeof a=="object"),a},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,o){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(o){var a=new XMLHttpRequest;return a.open("GET",o,!1),a.send(null),a.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(o){var a=new XMLHttpRequest;return a.open("GET",o,!1),a.responseType="arraybuffer",a.send(null),new Uint8Array(a.response)}),Module.readAsync=function(o,a,p){var _=new XMLHttpRequest;_.open("GET",o,!0),_.responseType="arraybuffer",_.onload=function(){_.status==200||_.status==0&&_.response?a(_.response):p()},_.onerror=p,_.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(o){console.log(o)}),Module.printErr||(Module.printErr=function(o){console.warn(o)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(o){globalEval(Module.read(o))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,o){throw o}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var o=parseInt(i.substr(1));return assert(o%8==0),o/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,o){return o==="double"||o==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,o,a){return!a&&(i=="i64"||i=="double")?8:i?Math.min(o||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(o,8)},dynCall:function(i,o,a){return a&&a.length?Module["dynCall_"+i].apply(null,[o].concat(a)):Module["dynCall_"+i].call(null,o)},functionPointers:[],addFunction:function(i){for(var o=0;o>2],a=(o+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=a,a>=TOTAL_MEMORY){var p=enlargeMemory();if(!p)return HEAP32[DYNAMICTOP_PTR>>2]=o,0}return o},alignMemory:function(i,o){var a=i=Math.ceil(i/(o||16))*(o||16);return a},makeBigInt:function(i,o,a){var p=a?+(i>>>0)+ +(o>>>0)*4294967296:+(i>>>0)+ +(o|0)*4294967296;return p},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,o){i||abort("Assertion failed: "+o)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var o=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,o),o},stringToC:function(i){var o=0;if(i!=null&&i!==0){var a=(i.length<<2)+1;o=Runtime.stackAlloc(a),stringToUTF8(i,o,a)}return o}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(o,a,p,_,t){var k=getCFunc(o),L=[],O=0;if(_)for(var C=0;C<_.length;C++){var U=toC[p[C]];U?(O===0&&(O=Runtime.stackSave()),L[C]=U(_[C])):L[C]=_[C]}var H=k.apply(null,L);if(a==="string"&&(H=Pointer_stringify(H)),O!==0){if(t&&t.async){EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(O)});return}Runtime.stackRestore(O)}return H};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(i){var o=i.toString().match(sourceRegex).slice(1);return{arguments:o[0],body:o[1],returnValue:o[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var i in JSfuncs)JSfuncs.hasOwnProperty(i)&&(JSsource[i]=parseJSFunc(JSfuncs[i]))}}cwrap=function(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(i){return i==="number"}),numericRet=returnType!=="string";if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(i,o){return"$"+o}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){ensureJSsource(),funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i>0]=o;break;case"i8":HEAP8[i>>0]=o;break;case"i16":HEAP16[i>>1]=o;break;case"i32":HEAP32[i>>2]=o;break;case"i64":tempI64=[o>>>0,(tempDouble=o,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=o;break;case"double":HEAPF64[i>>3]=o;break;default:abort("invalid type for setValue: "+a)}}Module.setValue=setValue;function getValue(i,o,a){switch(o=o||"i8",o.charAt(o.length-1)==="*"&&(o="i32"),o){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+o)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,o,a,p){var _,t;typeof i=="number"?(_=!0,t=i):(_=!1,t=i.length);var k=typeof o=="string"?o:null,L;if(a==ALLOC_NONE?L=p:L=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][a===void 0?ALLOC_STATIC:a](Math.max(t,k?1:o.length)),_){var p=L,O;for(assert((L&3)==0),O=L+(t&~3);p>2]=0;for(O=L+t;p>0]=0;return L}if(k==="i8")return i.subarray||i.slice?HEAPU8.set(i,L):HEAPU8.set(new Uint8Array(i),L),L;for(var C=0,U,H,W;C>0],a|=p,!(p==0&&!o||(_++,o&&_==o)););o||(o=_);var t="";if(a<128){for(var k=1024,L;o>0;)L=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(o,k))),t=t?t+L:L,i+=k,o-=k;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var o="";;){var a=HEAP8[i++>>0];if(!a)return o;o+=String.fromCharCode(a)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,o){return writeAsciiToMemory(i,o,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,o){for(var a=o;i[a];)++a;if(a-o>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(o,a));for(var p,_,t,k,L,O,C="";;){if(p=i[o++],!p)return C;if(!(p&128)){C+=String.fromCharCode(p);continue}if(_=i[o++]&63,(p&224)==192){C+=String.fromCharCode((p&31)<<6|_);continue}if(t=i[o++]&63,(p&240)==224?p=(p&15)<<12|_<<6|t:(k=i[o++]&63,(p&248)==240?p=(p&7)<<18|_<<12|t<<6|k:(L=i[o++]&63,(p&252)==248?p=(p&3)<<24|_<<18|t<<12|k<<6|L:(O=i[o++]&63,p=(p&1)<<30|_<<24|t<<18|k<<12|L<<6|O))),p<65536)C+=String.fromCharCode(p);else{var U=p-65536;C+=String.fromCharCode(55296|U>>10,56320|U&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,o,a,p){if(!(p>0))return 0;for(var _=a,t=a+p-1,k=0;k=55296&&L<=57343&&(L=65536+((L&1023)<<10)|i.charCodeAt(++k)&1023),L<=127){if(a>=t)break;o[a++]=L}else if(L<=2047){if(a+1>=t)break;o[a++]=192|L>>6,o[a++]=128|L&63}else if(L<=65535){if(a+2>=t)break;o[a++]=224|L>>12,o[a++]=128|L>>6&63,o[a++]=128|L&63}else if(L<=2097151){if(a+3>=t)break;o[a++]=240|L>>18,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}else if(L<=67108863){if(a+4>=t)break;o[a++]=248|L>>24,o[a++]=128|L>>18&63,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}else{if(a+5>=t)break;o[a++]=252|L>>30,o[a++]=128|L>>24&63,o[a++]=128|L>>18&63,o[a++]=128|L>>12&63,o[a++]=128|L>>6&63,o[a++]=128|L&63}}return o[a]=0,a-_}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,o,a){return stringToUTF8Array(i,HEAPU8,o,a)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var o=0,a=0;a=55296&&p<=57343&&(p=65536+((p&1023)<<10)|i.charCodeAt(++a)&1023),p<=127?++o:p<=2047?o+=2:p<=65535?o+=3:p<=2097151?o+=4:p<=67108863?o+=5:o+=6}return o}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var o=Module.___cxa_demangle||Module.__cxa_demangle;if(o){try{var a=i.substr(1),p=lengthBytesUTF8(a)+1,_=_malloc(p);stringToUTF8(a,_,p);var t=_malloc(4),k=o(_,0,0,t);if(getValue(t,"i32")===0&&k)return Pointer_stringify(k)}catch(L){}finally{_&&_free(_),t&&_free(t),k&&_free(k)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var o=/__Z[\w\d_]+/g;return i.replace(o,function(a){var p=demangle(a);return a===p?a:a+" ["+p+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(o){i=o}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` -`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var o=i.shift();if(typeof o=="function"){o();continue}var a=o.func;typeof a=="number"?o.arg===void 0?Module.dynCall_v(a):Module.dynCall_vi(a,o.arg):a(o.arg===void 0?null:o.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,o,a){var p=a>0?a:lengthBytesUTF8(i)+1,_=new Array(p),t=stringToUTF8Array(i,_,0,_.length);return o&&(_.length=t),_}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var o=[],a=0;a255&&(p&=255),o.push(String.fromCharCode(p))}return o.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,o,a){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var p,_;a&&(_=o+lengthBytesUTF8(i),p=HEAP8[_]),stringToUTF8(i,o,Infinity),a&&(HEAP8[_]=p)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,o){HEAP8.set(i,o)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,o,a){for(var p=0;p>0]=i.charCodeAt(p);a||(HEAP8[o>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(o,a){var p=o>>>16,_=o&65535,t=a>>>16,k=a&65535;return _*k+(p*k+_*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var o=0;o<32;o++)if(i&1<<31-o)return o;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var o=dependenciesFulfilled;dependenciesFulfilled=null,o()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,o,a,p,_,t,k,L){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,o,a,p,_,t,k,L){return ASM_CONSTS[i](o,a,p,_,t,k,L)}function _emscripten_asm_const_iiiii(i,o,a,p,_){return ASM_CONSTS[i](o,a,p,_)}function _emscripten_asm_const_iiidddddd(i,o,a,p,_,t,k,L,O){return ASM_CONSTS[i](o,a,p,_,t,k,L,O)}function _emscripten_asm_const_iiididi(i,o,a,p,_,t,k){return ASM_CONSTS[i](o,a,p,_,t,k)}function _emscripten_asm_const_iiii(i,o,a,p){return ASM_CONSTS[i](o,a,p)}function _emscripten_asm_const_iiiid(i,o,a,p,_){return ASM_CONSTS[i](o,a,p,_)}function _emscripten_asm_const_iiiiii(i,o,a,p,_,t){return ASM_CONSTS[i](o,a,p,_,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,o){__ATEXIT__.unshift({func:i,arg:o})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,o,a,p){var _=arguments.length,t=_<3?o:p===null?p=Object.getOwnPropertyDescriptor(o,a):p,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,o,a,p);else for(var L=i.length-1;L>=0;L--)(k=i[L])&&(t=(_<3?k(t):_>3?k(o,a,t):k(o,a))||t);return _>3&&t&&Object.defineProperty(o,a,t),t}function _defineHidden(i){return function(o,a){Object.defineProperty(o,a,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var o=_llvm_stacksave,a=o.LLVM_SAVEDSTACKS[i];o.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(a)}function __nbind_register_pool(i,o,a,p){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=o/4,_nbind.Pool.rootPtr=a,_nbind.Pool.pagePtr=p/4,HEAP32[o/4]=16909060,HEAP8[o]==1&&(_nbind.bigEndian=!0),HEAP32[o/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var _=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});_.proto=Module,_nbind.BindClass.list.push(_);var t}function _emscripten_set_main_loop_timing(i,o){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=o,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var k=Math.max(0,Browser.mainLoop.tickStartTime+o-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,k)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(k){k.source===window&&k.data===p&&(k.stopPropagation(),a.shift()())};var _=t,a=[],p="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(L){a.push(L),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(L),window.postMessage({target:p})):window.postMessage(p,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,o,a,p,_){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=p;var t;typeof p!="undefined"?t=function(){Module.dynCall_vi(i,p)}:t=function(){Module.dynCall_v(i)};var k=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var O=Date.now(),C=Browser.mainLoop.queue.shift();if(C.func(C.arg),Browser.mainLoop.remainingBlockers){var U=Browser.mainLoop.remainingBlockers,H=U%1==0?U-1:Math.floor(U);C.counted?Browser.mainLoop.remainingBlockers=H:(H=H+.5,Browser.mainLoop.remainingBlockers=(8*U+H)/9)}if(console.log('main loop blocker "'+C.name+'" took '+(Date.now()-O)+" ms"),Browser.mainLoop.updateStatus(),k1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(k0?_emscripten_set_main_loop_timing(0,1e3/o):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),a)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,o=Browser.mainLoop.timingValue,a=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(a,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,o),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",o=Browser.mainLoop.remainingBlockers,a=Browser.mainLoop.expectedBlockers;o?o=6;){var qe=ie>>Oe-6&63;Oe-=6,me+=De[qe]}return Oe==2?(me+=De[(ie&3)<<4],me+=pe+pe):Oe==4&&(me+=De[(ie&15)<<2],me+=pe),me}m.src="data:audio/x-"+k.substr(-3)+";base64,"+ve(t),U(m)},m.src=ne,Browser.safeSetTimeout(function(){U(m)},1e4)}else return H()},Module.preloadPlugins.push(o);function a(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var p=Module.canvas;p&&(p.requestPointerLock=p.requestPointerLock||p.mozRequestPointerLock||p.webkitRequestPointerLock||p.msRequestPointerLock||function(){},p.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},p.exitPointerLock=p.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",a,!1),document.addEventListener("mozpointerlockchange",a,!1),document.addEventListener("webkitpointerlockchange",a,!1),document.addEventListener("mspointerlockchange",a,!1),Module.elementPointerLock&&p.addEventListener("click",function(_){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),_.preventDefault())},!1))},createContext:function(i,o,a,p){if(o&&Module.ctx&&i==Module.canvas)return Module.ctx;var _,t;if(o){var k={antialias:!1,alpha:!1};if(p)for(var L in p)k[L]=p[L];t=GL.createContext(i,k),t&&(_=GL.getContext(t).GLctx)}else _=i.getContext("2d");return _?(a&&(o||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=_,o&&GL.makeContextCurrent(t),Module.useWebGL=o,Browser.moduleContextCreatedCallbacks.forEach(function(O){O()}),Browser.init()),_):null},destroyContext:function(i,o,a){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,o,a){Browser.lockPointer=i,Browser.resizeCanvas=o,Browser.vrDevice=a,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var p=Module.canvas;function _(){Browser.isFullscreen=!1;var k=p.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===k?(p.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},p.exitFullscreen=p.exitFullscreen.bind(document),Browser.lockPointer&&p.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(k.parentNode.insertBefore(p,k),k.parentNode.removeChild(k),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(p)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",_,!1),document.addEventListener("mozfullscreenchange",_,!1),document.addEventListener("webkitfullscreenchange",_,!1),document.addEventListener("MSFullscreenChange",_,!1));var t=document.createElement("div");p.parentNode.insertBefore(t,p),t.appendChild(p),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),a?t.requestFullscreen({vrDisplay:a}):t.requestFullscreen()},requestFullScreen:function(i,o,a){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(p,_,t){return Browser.requestFullscreen(p,_,t)},Browser.requestFullscreen(i,o,a)},nextRAF:0,fakeRequestAnimationFrame:function(i){var o=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=o+1e3/60;else for(;o+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var a=Math.max(Browser.nextRAF-o,0);setTimeout(i,a)},requestAnimationFrame:function(o){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(o):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(o))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(o){o()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,o){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},o)},safeSetInterval:function(i,o){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},o)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var o=0;switch(i.type){case"DOMMouseScroll":o=i.detail;break;case"mousewheel":o=i.wheelDelta;break;case"wheel":o=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return o},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var o=Module.canvas.getBoundingClientRect(),a=Module.canvas.width,p=Module.canvas.height,_=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var k=i.touch;if(k===void 0)return;var L=k.pageX-(_+o.left),O=k.pageY-(t+o.top);L=L*(a/o.width),O=O*(p/o.height);var C={x:L,y:O};if(i.type==="touchstart")Browser.lastTouches[k.identifier]=C,Browser.touches[k.identifier]=C;else if(i.type==="touchend"||i.type==="touchmove"){var U=Browser.touches[k.identifier];U||(U=C),Browser.lastTouches[k.identifier]=U,Browser.touches[k.identifier]=C}return}var H=i.pageX-(_+o.left),W=i.pageY-(t+o.top);H=H*(a/o.width),W=W*(p/o.height),Browser.mouseMovementX=H-Browser.mouseX,Browser.mouseMovementY=W-Browser.mouseY,Browser.mouseX=H,Browser.mouseY=W}},asyncLoad:function(i,o,a,p){var _=p?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),o(new Uint8Array(t)),_&&removeRunDependency(_)},function(t){if(a)a();else throw'Loading data file "'+i+'" failed.'}),_&&addRunDependency(_)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(o){o(i.width,i.height)})},setCanvasSize:function(i,o,a){var p=Module.canvas;Browser.updateCanvasDimensions(p,i,o),a||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,o,a){o&&a?(i.widthNative=o,i.heightNative=a):(o=i.widthNative,a=i.heightNative);var p=o,_=a;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(p/_>2];return o},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),o=SYSCALLS.get();return i>=0?assert(o===0):assert(o===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.getStreamFromFD();return FS.close(a),0}catch(p){return(typeof FS=="undefined"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall54(i,o){SYSCALLS.varargs=o;try{return 0}catch(a){return(typeof FS=="undefined"||!(a instanceof FS.ErrnoError))&&abort(a),-a.errno}}function _typeModule(i){var o=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function a(O,C,U,H,W,ne){if(C==1){var m=H&896;(m==128||m==256||m==384)&&(O="X const")}var he;return ne?he=U.replace("X",O).replace("Y",W):he=O.replace("X",U).replace("Y",W),he.replace(/([*&]) (?=[*&])/g,"$1")}function p(O,C,U,H,W){throw new Error(O+" type "+U.replace("X",C+"?")+(H?" with flag "+H:"")+" in "+W)}function _(O,C,U,H,W,ne,m,he){ne===void 0&&(ne="X"),he===void 0&&(he=1);var Ee=U(O);if(Ee)return Ee;var ve=H(O),se=ve.placeholderFlag,De=o[se];m&&De&&(ne=a(m[2],m[0],ne,De[0],"?",!0));var pe;se==0&&(pe="Unbound"),se>=10&&(pe="Corrupt"),he>20&&(pe="Deeply nested"),pe&&p(pe,O,ne,se,W||"?");var me=ve.paramList[0],ie=_(me,C,U,H,W,ne,De,he+1),Oe,je={flags:De[0],id:O,name:"",paramList:[ie]},qe=[],yt="?";switch(ve.placeholderFlag){case 1:Oe=ie.spec;break;case 2:if((ie.flags&15360)==1024&&ie.spec.ptrSize==1){je.flags=7168;break}case 3:case 6:case 5:Oe=ie.spec,(ie.flags&15360)!=2048;break;case 8:yt=""+ve.paramList[1],je.paramList.push(ve.paramList[1]);break;case 9:for(var gt=0,Xe=ve.paramList[1];gt>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.getStreamFromFD(),p=SYSCALLS.get(),_=SYSCALLS.get(),t=SYSCALLS.get(),k=SYSCALLS.get(),L=_;return FS.llseek(a,L,k),HEAP32[t>>2]=a.position,a.getdents&&L===0&&k===0&&(a.getdents=null),0}catch(O){return(typeof FS=="undefined"||!(O instanceof FS.ErrnoError))&&abort(O),-O.errno}}function ___syscall146(i,o){SYSCALLS.varargs=o;try{var a=SYSCALLS.get(),p=SYSCALLS.get(),_=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(U,H){var W=___syscall146.buffers[U];assert(W),H===0||H===10?((U===1?Module.print:Module.printErr)(UTF8ArrayToString(W,0)),W.length=0):W.push(H)});for(var k=0;k<_;k++){for(var L=HEAP32[p+k*8>>2],O=HEAP32[p+(k*8+4)>>2],C=0;Ci.pageSize/2||o>i.pageSize-a){var p=_nbind.typeNameTbl.NBind.proto;return p.lalloc(o)}else return HEAPU32[i.usedPtr]=a+o,i.rootPtr+a},i.lreset=function(o,a){var p=HEAPU32[i.pagePtr];if(p){var _=_nbind.typeNameTbl.NBind.proto;_.lreset(o,a)}else HEAPU32[i.usedPtr]=o},i}();_nbind.Pool=Pool;function constructType(i,o){var a=i==10240?_nbind.makeTypeNameTbl[o.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],p=new a(o);return typeIdTbl[o.id]=p,_nbind.typeNameTbl[o.name]=p,p}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var o=HEAPU8[i],a=_nbind.structureList[o][1];i/=4,a<0&&(++i,a=HEAPU32[i]+1);var p=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+a));return o==9&&(p=[p[0],p.slice(1)]),{paramList:p,placeholderFlag:o}}_nbind.queryType=queryType;function getTypes(i,o){return i.map(function(a){return typeof a=="number"?_nbind.getComplexType(a,constructType,getType,queryType,o):_nbind.typeNameTbl[a]})}_nbind.getTypes=getTypes;function readTypeIdList(i,o){return Array.prototype.slice.call(HEAPU32,i/4,i/4+o)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var o=i;HEAPU8[o++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,o-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var o={};if(i)for(;;){var a=HEAPU32[i/4];if(!a)break;o[readAsciiString(a)]=!0,i+=4}return o}_nbind.readPolicyList=readPolicyList;function getDynCall(i,o){var a={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},p=i.map(function(t){return a[t.name]||"i"}).join(""),_=Module["dynCall_"+p];if(!_)throw new Error("dynCall_"+p+" not found for "+o+"("+i.map(function(t){return t.name}).join(", ")+")");return _}_nbind.getDynCall=getDynCall;function addMethod(i,o,a,p){var _=i[o];i.hasOwnProperty(o)&&_?((_.arity||_.arity===0)&&(_=_nbind.makeOverloader(_,_.arity),i[o]=_),_.addMethod(a,p)):(a.arity=p,i[o]=a)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.heap=HEAPU32,a.ptrSize=4,a}return o.prototype.needsWireRead=function(a){return!!this.wireRead||!!this.makeWireRead},o.prototype.needsWireWrite=function(a){return!!this.wireWrite||!!this.makeWireWrite},o}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(o,i);function o(a){var p=i.call(this,a)||this,_=a.flags&32?{32:HEAPF32,64:HEAPF64}:a.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return p.heap=_[a.ptrSize*8],p.ptrSize=a.ptrSize,p}return o.prototype.needsWireWrite=function(a){return!!a&&!!a.Strict},o.prototype.makeWireWrite=function(a,p){return p&&p.Strict&&function(_){if(typeof _=="number")return _;throw new Error("Type mismatch")}},o}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,o){if(i==null){if(o&&o.Nullable)return 0;throw new Error("Type mismatch")}if(o&&o.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var a=Module.lengthBytesUTF8(i)+1,p=_nbind.Pool.lalloc(a);return Module.stringToUTF8Array(i,HEAPU8,p,a),p}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=popCString,a.wireWrite=pushCString,a.readResources=[_nbind.resources.pool],a.writeResources=[_nbind.resources.pool],a}return o.prototype.makeWireWrite=function(a,p){return function(_){return pushCString(_,p)}},o}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(o,i);function o(){var a=i!==null&&i.apply(this,arguments)||this;return a.wireRead=function(p){return!!p},a}return o.prototype.needsWireWrite=function(a){return!!a&&!!a.Strict},o.prototype.makeWireRead=function(a){return"!!("+a+")"},o.prototype.makeWireWrite=function(a,p){return p&&p.Strict&&function(_){if(typeof _=="boolean")return _;throw new Error("Type mismatch")}||a},o}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,o){var a=function(p){__extends(_,p);function _(t,k,L,O){var C=p.call(this)||this;if(!(C instanceof _))return new(Function.prototype.bind.apply(_,Array.prototype.concat.apply([null],arguments)));var U=k,H=L,W=O;if(t!==_nbind.ptrMarker){var ne=C.__nbindConstructor.apply(C,arguments);U=4096|512,W=HEAPU32[ne/4],H=HEAPU32[ne/4+1]}var m={configurable:!0,enumerable:!1,value:null,writable:!1},he={__nbindFlags:U,__nbindPtr:H};W&&(he.__nbindShared=W,_nbind.mark(C));for(var Ee=0,ve=Object.keys(he);Ee>=1;var a=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,a}else{if(o)return _nbind.popShared(i,o);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?k=Buffer.from(t):k=new Buffer(t),k.copy(p)}else getBuffer(p).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,o=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,o,a,p,_,t){try{Module.dynCall_viiiii(i,o,a,p,_,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_vif(i,o,a){try{Module.dynCall_vif(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_vid(i,o,a){try{Module.dynCall_vid(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_fiff(i,o,a,p){try{return Module.dynCall_fiff(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_vi(i,o){try{Module.dynCall_vi(i,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vii(i,o,a){try{Module.dynCall_vii(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_ii(i,o){try{return Module.dynCall_ii(i,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_viddi(i,o,a,p,_){try{Module.dynCall_viddi(i,o,a,p,_)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,o,a,p){try{Module.dynCall_vidd(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_iiii(i,o,a,p){try{return Module.dynCall_iiii(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_diii(i,o,a,p){try{return Module.dynCall_diii(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_di(i,o){try{return Module.dynCall_di(i,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iid(i,o,a){try{return Module.dynCall_iid(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_iii(i,o,a){try{return Module.dynCall_iii(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiddi(i,o,a,p,_,t){try{Module.dynCall_viiddi(i,o,a,p,_,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiiiii(i,o,a,p,_,t,k){try{Module.dynCall_viiiiii(i,o,a,p,_,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_dii(i,o,a){try{return Module.dynCall_dii(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iiiiii(i,o,a,p,_,t){try{return Module.dynCall_iiiiii(i,o,a,p,_,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiid(i,o,a,p,_){try{Module.dynCall_viiid(i,o,a,p,_)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,o,a,p,_,t,k){try{Module.dynCall_viififi(i,o,a,p,_,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_viii(i,o,a,p){try{Module.dynCall_viii(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viid(i,o,a,p){try{Module.dynCall_viid(i,o,a,p)}catch(_){if(typeof _!="number"&&_!=="longjmp")throw _;Module.setThrew(1,0)}}function invoke_idd(i,o,a){try{return Module.dynCall_idd(i,o,a)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiii(i,o,a,p,_){try{Module.dynCall_viiii(i,o,a,p,_)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,o,a){var p=new i.Int8Array(a),_=new i.Int16Array(a),t=new i.Int32Array(a),k=new i.Uint8Array(a),L=new i.Uint16Array(a),O=new i.Uint32Array(a),C=new i.Float32Array(a),U=new i.Float64Array(a),H=o.DYNAMICTOP_PTR|0,W=o.tempDoublePtr|0,ne=o.ABORT|0,m=o.STACKTOP|0,he=o.STACK_MAX|0,Ee=o.cttz_i8|0,ve=o.___dso_handle|0,se=0,De=0,pe=0,me=0,ie=i.NaN,Oe=i.Infinity,je=0,qe=0,yt=0,gt=0,Xe=0,ut=0,We=i.Math.floor,Ft=i.Math.abs,Jt=i.Math.sqrt,rt=i.Math.pow,Q=i.Math.cos,fe=i.Math.sin,xe=i.Math.tan,oe=i.Math.acos,ze=i.Math.asin,ct=i.Math.atan,Rt=i.Math.atan2,nn=i.Math.exp,an=i.Math.log,Mn=i.Math.ceil,lr=i.Math.imul,ln=i.Math.min,Vt=i.Math.max,Er=i.Math.clz32,w=i.Math.fround,jt=o.abort,Xn=o.assert,vr=o.enlargeMemory,jr=o.getTotalMemory,fr=o.abortOnCannotGrowMemory,zr=o.invoke_viiiii,Xt=o.invoke_vif,wu=o.invoke_vid,d0=o.invoke_fiff,Ro=o.invoke_vi,Qo=o.invoke_vii,Fs=o.invoke_ii,Jo=o.invoke_viddi,Zo=o.invoke_vidd,qt=o.invoke_iiii,xi=o.invoke_diii,lu=o.invoke_di,mi=o.invoke_iid,Dr=o.invoke_iii,$o=o.invoke_viiddi,G0=o.invoke_viiiiii,Uu=o.invoke_dii,Y0=o.invoke_i,Xr=o.invoke_iiiiii,Ao=o.invoke_viiid,Oo=o.invoke_viififi,F0=o.invoke_viii,su=o.invoke_v,ki=o.invoke_viid,Ps=o.invoke_idd,Kl=o.invoke_viiii,P0=o._emscripten_asm_const_iiiii,p0=o._emscripten_asm_const_iiidddddd,Hr=o._emscripten_asm_const_iiiid,Ri=o.__nbind_reference_external,K0=o._emscripten_asm_const_iiiiiiii,yi=o._removeAccessorPrefix,en=o._typeModule,bn=o.__nbind_register_pool,Ai=o.__decorate,gi=o._llvm_stackrestore,Wt=o.___cxa_atexit,Au=o.__extends,eu=o.__nbind_get_value_object,X0=o.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Yi=o._emscripten_set_main_loop_timing,Xl=o.__nbind_register_primitive,Mo=o.__nbind_register_type,ai=o._emscripten_memcpy_big,so=o.__nbind_register_function,Ql=o.___setErrNo,ko=o.__nbind_register_class,Is=o.__nbind_finish,$n=o._abort,el=o._nbind_value,ao=o._llvm_stacksave,I0=o.___syscall54,wl=o._defineHidden,No=o._emscripten_set_main_loop,wt=o._emscripten_get_now,bt=o.__nbind_register_callback_signature,Hn=o._emscripten_asm_const_iiiiii,qr=o.__nbind_free_external,Ki=o._emscripten_asm_const_iiii,Qr=o._emscripten_asm_const_iiididi,Ou=o.___syscall6,h0=o._atexit,Ni=o.___syscall140,v0=o.___syscall146,hs=w(0);let Tt=w(0);function fo(e){e=e|0;var n=0;return n=m,m=m+e|0,m=m+15&-16,n|0}function tl(){return m|0}function Jl(e){e=e|0,m=e}function ju(e,n){e=e|0,n=n|0,m=e,he=n}function vs(e,n){e=e|0,n=n|0,se||(se=e,De=n)}function b0(e){e=e|0,ut=e}function X(){return ut|0}function we(){var e=0,n=0;gr(8104,8,400)|0,gr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));p[9088]=0,p[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Wt(17,8104,ve|0)|0}function Le(e){e=e|0,ac(e+948|0)}function Ne(e){return e=w(e),((mr(e)|0)&2147483647)>>>0>2139095040|0}function dt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Yn(e){e=e|0;var n=0;return n=c_(1e3)|0,Cn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,gr(n|0,8104,1e3)|0,p[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Cn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,Tl(e,5,3197,u)),m=l}function cr(){return Yn(956)|0}function Si(e){e=e|0;var n=0;return n=pn(1e3)|0,Mu(n,e),Cn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Mu(e,n){e=e|0,n=n|0;var r=0;gr(e|0,n|0,948)|0,sa(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function zu(e){e=e|0;var n=0,r=0,u=0,l=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Hu(r+948|0,e)|0,t[n>>2]=0),r=Su(e)|0,r|0){n=0;do t[(Ti(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,l=e+952|0,n=t[l>>2]|0,(n|0)!=(u|0)&&(t[l>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Lo(r),d_(e),t[2276]=(t[2276]|0)+-1}function Hu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0;u=t[e>>2]|0,D=e+4|0,r=t[D>>2]|0,s=r;e:do if((u|0)==(r|0))l=u,h=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){l=e,h=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(h|0)==4&&((l|0)!=(r|0)?(u=l+4|0,e=s-u|0,n=e>>2,n&&(Ty(l|0,u|0,e|0)|0,r=t[D>>2]|0),e=l+(n<<2)|0,(r|0)==(e|0)||(t[D>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function Su(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function Ti(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Lo(e){e=e|0;var n=0,r=0,u=0,l=0;u=m,m=m+32|0,n=u,l=t[e>>2]|0,r=(t[e+4>>2]|0)-l|0,((t[e+8>>2]|0)-l|0)>>>0>r>>>0&&(l=r>>2,Y(n,l,l,e+8|0),ri(e,n),ii(n)),m=u}function ku(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;N=Su(e)|0;do if(N|0){if((t[(Ti(e,0)|0)+944>>2]|0)==(e|0)){if(!(Hu(e+948|0,n)|0))break;gr(n+400|0,8504,540)|0,t[n+944>>2]=0,Qn(e);break}h=t[(t[e+976>>2]|0)+12>>2]|0,D=e+948|0,S=(h|0)==0,r=0,s=0;do u=t[(t[D>>2]|0)+(s<<2)>>2]|0,(u|0)==(n|0)?Qn(e):(l=Si(u)|0,t[(t[D>>2]|0)+(r<<2)>>2]=l,t[l+944>>2]=e,S||PE[h&15](u,l,e,r),r=r+1|0),s=s+1|0;while((s|0)!=(N|0));if(r>>>0>>0){S=e+948|0,D=e+952|0,h=r,r=t[D>>2]|0;do s=(t[S>>2]|0)+(h<<2)|0,u=s+4|0,l=r-u|0,n=l>>2,n&&(Ty(s|0,u|0,l|0)|0,r=t[D>>2]|0),l=r,u=s+(n<<2)|0,(l|0)!=(u|0)&&(r=l+(~((l+-4-u|0)>>>2)<<2)|0,t[D>>2]=r),h=h+1|0;while((h|0)!=(N|0))}}while(0)}function co(e){e=e|0;var n=0,r=0,u=0,l=0;qu(e,(Su(e)|0)==0,2491),qu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,l=t[u>>2]|0,(l|0)!=(r|0)&&(t[u>>2]=l+(~((l+-4-r|0)>>>2)<<2)),Lo(n),n=e+976|0,r=t[n>>2]|0,gr(e|0,8104,1e3)|0,p[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function qu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,pr(e,5,3197,u)),m=l}function Pa(){return t[2276]|0}function m0(){var e=0;return e=c_(20)|0,ia((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function ia(e,n){e=e|0,n=n|0;var r=0,u=0;u=m,m=m+16|0,r=u,e||(t[r>>2]=n,pr(0,5,3197,r)),m=u}function Q0(e){e=e|0,d_(e),t[2277]=(t[2277]|0)+-1}function ua(e,n){e=e|0,n=n|0;var r=0;n?(qu(e,(Su(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ia(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+8|0,l=u+4|0,h=u,t[l>>2]=n,qu(e,(t[n+944>>2]|0)==0,2709),qu(e,(t[e+964>>2]|0)==0,2763),ms(e),n=e+948|0,t[h>>2]=(t[n>>2]|0)+(r<<2),t[s>>2]=t[h>>2],S0(n,s,l)|0,t[(t[l>>2]|0)+944>>2]=e,Qn(e),m=u}function ms(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;if(r=Su(e)|0,r|0?(t[(Ti(e,0)|0)+944>>2]|0)!=(e|0):0){u=t[(t[e+976>>2]|0)+12>>2]|0,l=e+948|0,s=(u|0)==0,n=0;do h=t[(t[l>>2]|0)+(n<<2)>>2]|0,D=Si(h)|0,t[(t[l>>2]|0)+(n<<2)>>2]=D,t[D+944>>2]=e,s||PE[u&15](h,D,e,n),n=n+1|0;while((n|0)!=(r|0))}}function S0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0;Je=m,m=m+64|0,I=Je+52|0,D=Je+48|0,K=Je+28|0,be=Je+24|0,Se=Je+20|0,ye=Je,u=t[e>>2]|0,s=u,n=u+((t[n>>2]|0)-s>>2<<2)|0,u=e+4|0,l=t[u>>2]|0,h=e+8|0;do if(l>>>0<(t[h>>2]|0)>>>0){if((n|0)==(l|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Vr(e,n,l,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(l-s>>2)+1|0,l=R0(e)|0,l>>>0>>0&&hi(e),M=t[e>>2]|0,N=(t[h>>2]|0)-M|0,s=N>>1,Y(ye,N>>2>>>0>>1>>>0?s>>>0>>0?u:s:l,n-M>>2,e+8|0),M=ye+8|0,u=t[M>>2]|0,s=ye+12|0,N=t[s>>2]|0,h=N,S=u;do if((u|0)==(N|0)){if(N=ye+4|0,u=t[N>>2]|0,Ge=t[ye>>2]|0,l=Ge,u>>>0<=Ge>>>0){u=h-l>>1,u=(u|0)==0?1:u,Y(K,u,u>>>2,t[ye+16>>2]|0),t[be>>2]=t[N>>2],t[Se>>2]=t[M>>2],t[D>>2]=t[be>>2],t[I>>2]=t[Se>>2],Di(K,D,I),u=t[ye>>2]|0,t[ye>>2]=t[K>>2],t[K>>2]=u,u=K+4|0,Ge=t[N>>2]|0,t[N>>2]=t[u>>2],t[u>>2]=Ge,u=K+8|0,Ge=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=Ge,u=K+12|0,Ge=t[s>>2]|0,t[s>>2]=t[u>>2],t[u>>2]=Ge,ii(K),u=t[M>>2]|0;break}s=u,h=((s-l>>2)+1|0)/-2|0,D=u+(h<<2)|0,l=S-s|0,s=l>>2,s&&(Ty(D|0,u|0,l|0)|0,u=t[N>>2]|0),Ge=D+(s<<2)|0,t[M>>2]=Ge,t[N>>2]=u+(h<<2),u=Ge}while(0);t[u>>2]=t[r>>2],t[M>>2]=(t[M>>2]|0)+4,n=at(e,ye,n)|0,ii(ye)}while(0);return m=Je,n|0}function Qn(e){e=e|0;var n=0;do{if(n=e+984|0,p[n>>0]|0)break;p[n>>0]=1,C[e+504>>2]=w(ie),e=t[e+944>>2]|0}while((e|0)!=0)}function ac(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function fi(e){return e=e|0,t[e+944>>2]|0}function $r(e){e=e|0,qu(e,(t[e+964>>2]|0)!=0,2832),Qn(e)}function Zl(e){return e=e|0,(p[e+984>>0]|0)!=0|0}function oa(e,n){e=e|0,n=n|0,gL(e,n,400)|0&&(gr(e|0,n|0,400)|0,Qn(e))}function pf(e){e=e|0;var n=Tt;return n=w(C[e+44>>2]),e=Ne(n)|0,w(e?w(0):n)}function bs(e){e=e|0;var n=Tt;return n=w(C[e+48>>2]),Ne(n)|0&&(n=p[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function ba(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Bs(e){return e=e|0,t[e+980>>2]|0}function y0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Us(e){return e=e|0,t[e+4>>2]|0}function ji(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function B(e){return e=e|0,t[e+8>>2]|0}function z(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function G(e){return e=e|0,t[e+12>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Te(e){return e=e|0,t[e+16>>2]|0}function ge(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Re(e){return e=e|0,t[e+20>>2]|0}function Z(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function ke(e){return e=e|0,t[e+24>>2]|0}function Qe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function ht(e){return e=e|0,t[e+28>>2]|0}function ue(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function He(e){return e=e|0,t[e+32>>2]|0}function nt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Ct(e){return e=e|0,t[e+36>>2]|0}function Mt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function It(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function sn(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function rn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+52|0,l=e+56|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Lt(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+52|0,r=e+56|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function Dn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function dr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function er(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function An(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Nr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function g0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(C[e+60+(n<<3)>>2]=w(ie),t[r>>2]=3,Qn(e))}function it(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function Dt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=s?0:2,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function $e(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Pt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Ne(r)|0,u=(s^1)&1,l=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Qn(e))}function un(e,n){return e=e|0,n=n|0,w(C[e+276+(n<<3)>>2])}function fn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+348|0,l=e+352|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Jn(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+348|0,r=e+352|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function wr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(C[e+348>>2]=w(ie),t[n>>2]=3,Qn(e))}function au(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Nu(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+356|0,l=e+360|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function T0(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+356|0,r=e+360|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Ne(n)|0,t[r>>2]=u?3:2,Qn(e))}function J0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(C[e+356>>2]=w(ie),t[n>>2]=3,Qn(e))}function Lu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function _i(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Fo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function nl(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function hf(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function Sl(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function vf(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Po(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function ys(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function js(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Io(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=(s^1)&1,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function bo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Ne(n)|0,r=s?0:2,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Qn(e))}function gs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Qu(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(C[r>>2])!=n&&(C[r>>2]=n,Qn(e))}function Tu(e){return e=e|0,w(C[e+396>>2])}function Ei(e){return e=e|0,w(C[e+400>>2])}function C0(e){return e=e|0,w(C[e+404>>2])}function Z0(e){return e=e|0,w(C[e+408>>2])}function Bo(e){return e=e|0,w(C[e+412>>2])}function la(e){return e=e|0,w(C[e+416>>2])}function $l(e){return e=e|0,w(C[e+420>>2])}function tu(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+424+(n<<2)>>2])}function ei(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+448+(n<<2)>>2])}function po(e,n){switch(e=e|0,n=n|0,qu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+472+(n<<2)>>2])}function Bi(e,n){e=e|0,n=n|0;var r=0,u=Tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=w(C[e>>2]),e=w(Ft(w(u-w(C[n>>2]))))>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,X0(u|0,e|0,n|0,0),pr(e,3,(p[u+11>>0]|0)<0?t[u>>2]|0:u,r),zL(u),m=r}function $0(e,n,r,u){e=w(e),n=w(n),r=r|0,u=u|0;var l=Tt;e=w(e*n),l=w(OE(e,w(1)));do if(Ci(l,w(0))|0)e=w(e-l);else{if(e=w(e-l),Ci(l,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}u||(l>w(.5)?l=w(1):(u=Ci(l,w(.5))|0,l=w(u?1:0)),e=w(e+l))}while(0);return w(e/n)}function eo(e,n,r,u,l,s,h,D,S,N,M,I,K){e=e|0,n=w(n),r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,D=w(D),S=w(S),N=w(N),M=w(M),I=w(I),K=K|0;var be=0,Se=Tt,ye=Tt,Je=Tt,Ge=Tt,ft=Tt,Me=Tt;return S>2]),Se!=w(0)):0)?(Je=w($0(n,Se,0,0)),Ge=w($0(u,Se,0,0)),ye=w($0(s,Se,0,0)),Se=w($0(D,Se,0,0))):(ye=s,Je=n,Se=D,Ge=u),(l|0)==(e|0)?be=Ci(ye,Je)|0:be=0,(h|0)==(r|0)?K=Ci(Se,Ge)|0:K=0,((be?0:(ft=w(n-M),!(Ce(e,ft,S)|0)))?!(et(e,ft,l,S)|0):0)?be=Ye(e,ft,l,s,S)|0:be=1,((K?0:(Me=w(u-I),!(Ce(r,Me,N)|0)))?!(et(r,Me,h,N)|0):0)?K=Ye(r,Me,h,D,N)|0:K=1,K=be&K),K|0}function Ce(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Ci(n,r)|0:e=0,e|0}function et(e,n,r,u){return e=e|0,n=w(n),r=r|0,u=w(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=Ci(n,u)|0:e=0,e|0}function Ye(e,n,r,u,l){return e=e|0,n=w(n),r=r|0,u=w(u),l=w(l),(e|0)==2&(r|0)==2&u>n?l<=n?e=1:e=Ci(n,l)|0:e=0,e|0}function Yt(e,n,r,u,l,s,h,D,S,N,M){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,N=N|0,M=M|0;var I=0,K=0,be=0,Se=0,ye=Tt,Je=Tt,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=Tt,os=Tt,ls=Tt,ss=0,ea=0;Nn=m,m=m+160|0,gn=Nn+152|0,In=Nn+120|0,Br=Nn+104|0,Me=Nn+72|0,Se=Nn+56|0,Zt=Nn+8|0,ft=Nn,Pe=(t[2279]|0)+1|0,t[2279]=Pe,_r=e+984|0,((p[_r>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?Ge=4:(t[e+516>>2]|0)==(u|0)?Pr=0:Ge=4,(Ge|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,C[e+932>>2]=w(-1),C[e+936>>2]=w(-1),Pr=1);e:do if(t[e+964>>2]|0)if(ye=w(Kt(e,2,h)),Je=w(Kt(e,0,h)),I=e+916|0,ls=w(C[I>>2]),os=w(C[e+920>>2]),uu=w(C[e+932>>2]),eo(l,n,s,r,t[e+924>>2]|0,ls,t[e+928>>2]|0,os,uu,w(C[e+936>>2]),ye,Je,M)|0)Ge=22;else if(be=t[e+520>>2]|0,!be)Ge=21;else for(K=0;;){if(I=e+524+(K*24|0)|0,uu=w(C[I>>2]),os=w(C[e+524+(K*24|0)+4>>2]),ls=w(C[e+524+(K*24|0)+16>>2]),eo(l,n,s,r,t[e+524+(K*24|0)+8>>2]|0,uu,t[e+524+(K*24|0)+12>>2]|0,os,ls,w(C[e+524+(K*24|0)+20>>2]),ye,Je,M)|0){Ge=22;break e}if(K=K+1|0,K>>>0>=be>>>0){Ge=21;break}}else{if(S){if(I=e+916|0,!(Ci(w(C[I>>2]),n)|0)){Ge=21;break}if(!(Ci(w(C[e+920>>2]),r)|0)){Ge=21;break}if((t[e+924>>2]|0)!=(l|0)){Ge=21;break}I=(t[e+928>>2]|0)==(s|0)?I:0,Ge=22;break}if(be=t[e+520>>2]|0,!be)Ge=21;else for(K=0;;){if(I=e+524+(K*24|0)|0,((Ci(w(C[I>>2]),n)|0?Ci(w(C[e+524+(K*24|0)+4>>2]),r)|0:0)?(t[e+524+(K*24|0)+8>>2]|0)==(l|0):0)?(t[e+524+(K*24|0)+12>>2]|0)==(s|0):0){Ge=22;break e}if(K=K+1|0,K>>>0>=be>>>0){Ge=21;break}}}while(0);do if((Ge|0)==21)p[11697]|0?(I=0,Ge=28):(I=0,Ge=31);else if((Ge|0)==22){if(K=(p[11697]|0)!=0,!((I|0)!=0&(Pr^1)))if(K){Ge=28;break}else{Ge=31;break}Se=I+16|0,t[e+908>>2]=t[Se>>2],be=I+20|0,t[e+912>>2]=t[be>>2],(p[11698]|0)==0|K^1||(t[ft>>2]=Wr(Pe)|0,t[ft+4>>2]=Pe,pr(e,4,2972,ft),K=t[e+972>>2]|0,K|0&&F1[K&127](e),l=xn(l,S)|0,s=xn(s,S)|0,ea=+w(C[Se>>2]),ss=+w(C[be>>2]),t[Zt>>2]=l,t[Zt+4>>2]=s,U[Zt+8>>3]=+n,U[Zt+16>>3]=+r,U[Zt+24>>3]=ea,U[Zt+32>>3]=ss,t[Zt+40>>2]=N,pr(e,4,2989,Zt))}while(0);return(Ge|0)==28&&(K=Wr(Pe)|0,t[Se>>2]=K,t[Se+4>>2]=Pe,t[Se+8>>2]=Pr?3047:11699,pr(e,4,3038,Se),K=t[e+972>>2]|0,K|0&&F1[K&127](e),Zt=xn(l,S)|0,Ge=xn(s,S)|0,t[Me>>2]=Zt,t[Me+4>>2]=Ge,U[Me+8>>3]=+n,U[Me+16>>3]=+r,t[Me+24>>2]=N,pr(e,4,3049,Me),Ge=31),(Ge|0)==31&&(yu(e,n,r,u,l,s,h,D,S,M),p[11697]|0&&(K=t[2279]|0,Zt=Wr(K)|0,t[Br>>2]=Zt,t[Br+4>>2]=K,t[Br+8>>2]=Pr?3047:11699,pr(e,4,3083,Br),K=t[e+972>>2]|0,K|0&&F1[K&127](e),Zt=xn(l,S)|0,Br=xn(s,S)|0,ss=+w(C[e+908>>2]),ea=+w(C[e+912>>2]),t[In>>2]=Zt,t[In+4>>2]=Br,U[In+8>>3]=ss,U[In+16>>3]=ea,t[In+24>>2]=N,pr(e,4,3092,In)),t[e+516>>2]=u,I||(K=e+520|0,I=t[K>>2]|0,(I|0)==16&&(p[11697]|0&&pr(e,4,3124,gn),t[K>>2]=0,I=0),S?I=e+916|0:(t[K>>2]=I+1,I=e+524+(I*24|0)|0),C[I>>2]=n,C[I+4>>2]=r,t[I+8>>2]=l,t[I+12>>2]=s,t[I+16>>2]=t[e+908>>2],t[I+20>>2]=t[e+912>>2],I=0)),S&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],p[e+985>>0]=1,p[_r>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],m=Nn,Pr|(I|0)==0|0}function Kt(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w(zi(e,n,r)),w(u+w(A0(e,n,r)))}function pr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=m,m=m+16|0,l=s,t[l>>2]=u,e?u=t[e+976>>2]|0:u=0,zs(u,e,n,r,l),m=s}function Wr(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function xn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+32|0,r=l+12|0,u=l,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,m=l,e|0}function yu(e,n,r,u,l,s,h,D,S,N){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,N=N|0;var M=0,I=0,K=0,be=0,Se=Tt,ye=Tt,Je=Tt,Ge=Tt,ft=Tt,Me=Tt,Pe=Tt,Zt=0,Br=0,In=0,gn=Tt,_r=Tt,Pr=0,Nn=Tt,uu=0,os=0,ls=0,ss=0,ea=0,n2=0,r2=0,uf=0,i2=0,Fc=0,Pc=0,u2=0,o2=0,l2=0,vi=0,of=0,s2=0,Yf=0,a2=Tt,f2=Tt,Ic=Tt,bc=Tt,Kf=Tt,Hl=0,La=0,Ns=0,lf=0,I1=0,b1=Tt,Bc=Tt,B1=Tt,U1=Tt,ql=Tt,_l=Tt,sf=0,hu=Tt,j1=Tt,as=Tt,Xf=Tt,fs=Tt,Qf=Tt,z1=0,H1=0,Jf=Tt,Wl=Tt,af=0,q1=0,W1=0,V1=0,Sr=Tt,Bu=0,El=0,cs=0,Vl=0,Or=0,Bn=0,ff=0,mn=Tt,G1=0,f0=0;ff=m,m=m+16|0,Hl=ff+12|0,La=ff+8|0,Ns=ff+4|0,lf=ff,qu(e,(l|0)==0|(Ne(n)|0)^1,3326),qu(e,(s|0)==0|(Ne(r)|0)^1,3406),El=Cl(e,u)|0,t[e+496>>2]=El,Or=B0(2,El)|0,Bn=B0(0,El)|0,C[e+440>>2]=w(zi(e,Or,h)),C[e+444>>2]=w(A0(e,Or,h)),C[e+428>>2]=w(zi(e,Bn,h)),C[e+436>>2]=w(A0(e,Bn,h)),C[e+464>>2]=w(O0(e,Or)),C[e+468>>2]=w(ho(e,Or)),C[e+452>>2]=w(O0(e,Bn)),C[e+460>>2]=w(ho(e,Bn)),C[e+488>>2]=w(Pu(e,Or,h)),C[e+492>>2]=w(Zu(e,Or,h)),C[e+476>>2]=w(Pu(e,Bn,h)),C[e+484>>2]=w(Zu(e,Bn,h));do if(t[e+964>>2]|0)es(e,n,r,l,s,h,D);else{if(cs=e+948|0,Vl=(t[e+952>>2]|0)-(t[cs>>2]|0)>>2,!Vl){_s(e,n,r,l,s,h,D);break}if(S?0:aa(e,n,r,l,s,h,D)|0)break;ms(e),of=e+508|0,p[of>>0]=0,Or=B0(t[e+4>>2]|0,El)|0,Bn=gf(Or,El)|0,Bu=Hi(Or)|0,s2=t[e+8>>2]|0,q1=e+28|0,Yf=(t[q1>>2]|0)!=0,fs=Bu?h:D,Jf=Bu?D:h,a2=w($u(e,Or,h)),f2=w(Es(e,Or,h)),Se=w($u(e,Bn,h)),Qf=w(Rr(e,Or,h)),Wl=w(Rr(e,Bn,h)),In=Bu?l:s,af=Bu?s:l,Sr=Bu?Qf:Wl,ft=Bu?Wl:Qf,Xf=w(Kt(e,2,h)),Ge=w(Kt(e,0,h)),ye=w(w(Rn(e+364|0,h))-Sr),Je=w(w(Rn(e+380|0,h))-Sr),Me=w(w(Rn(e+372|0,D))-ft),Pe=w(w(Rn(e+388|0,D))-ft),Ic=Bu?ye:Me,bc=Bu?Je:Pe,Xf=w(n-Xf),n=w(Xf-Sr),Ne(n)|0?Sr=n:Sr=w(Ru(w(Xp(n,Je)),ye)),j1=w(r-Ge),n=w(j1-ft),Ne(n)|0?as=n:as=w(Ru(w(Xp(n,Pe)),Me)),ye=Bu?Sr:as,hu=Bu?as:Sr;e:do if((In|0)==1)for(u=0,I=0;;){if(M=Ti(e,I)|0,!u)(w(nu(M))>w(0)?w(fu(M))>w(0):0)?u=M:u=0;else if(to(M)|0){be=0;break e}if(I=I+1|0,I>>>0>=Vl>>>0){be=u;break}}else be=0;while(0);Zt=be+500|0,Br=be+504|0,u=0,M=0,n=w(0),K=0;do{if(I=t[(t[cs>>2]|0)+(K<<2)>>2]|0,(t[I+36>>2]|0)==1)Li(I),p[I+985>>0]=1,p[I+984>>0]=0;else{Jr(I),S&&x0(I,Cl(I,El)|0,ye,hu,Sr);do if((t[I+24>>2]|0)!=1)if((I|0)==(be|0)){t[Zt>>2]=t[2278],C[Br>>2]=w(0);break}else{ni(e,I,Sr,l,as,Sr,as,s,El,N);break}else M|0&&(t[M+960>>2]=I),t[I+960>>2]=0,M=I,u=(u|0)==0?I:u;while(0);_l=w(C[I+504>>2]),n=w(n+w(_l+w(Kt(I,Or,Sr))))}K=K+1|0}while((K|0)!=(Vl|0));for(ls=n>ye,sf=Yf&((In|0)==2&ls)?1:In,uu=(af|0)==1,ea=uu&(S^1),n2=(sf|0)==1,r2=(sf|0)==2,uf=976+(Or<<2)|0,i2=(af|2|0)==2,l2=uu&(Yf^1),Fc=1040+(Bn<<2)|0,Pc=1040+(Or<<2)|0,u2=976+(Bn<<2)|0,o2=(af|0)!=1,ls=Yf&((In|0)!=0&ls),os=e+976|0,uu=uu^1,n=ye,Pr=0,ss=0,_l=w(0),Kf=w(0);;){e:do if(Pr>>>0>>0)for(Br=t[cs>>2]|0,K=0,Pe=w(0),Me=w(0),Je=w(0),ye=w(0),I=0,M=0,be=Pr;;){if(Zt=t[Br+(be<<2)>>2]|0,(t[Zt+36>>2]|0)!=1?(t[Zt+940>>2]=ss,(t[Zt+24>>2]|0)!=1):0){if(Ge=w(Kt(Zt,Or,Sr)),vi=t[uf>>2]|0,r=w(Rn(Zt+380+(vi<<3)|0,fs)),ft=w(C[Zt+504>>2]),r=w(Xp(r,ft)),r=w(Ru(w(Rn(Zt+364+(vi<<3)|0,fs)),r)),Yf&(K|0)!=0&w(Ge+w(Me+r))>n){s=K,Ge=Pe,In=be;break e}Ge=w(Ge+r),r=w(Me+Ge),Ge=w(Pe+Ge),to(Zt)|0&&(Je=w(Je+w(nu(Zt))),ye=w(ye-w(ft*w(fu(Zt))))),M|0&&(t[M+960>>2]=Zt),t[Zt+960>>2]=0,K=K+1|0,M=Zt,I=(I|0)==0?Zt:I}else Ge=Pe,r=Me;if(be=be+1|0,be>>>0>>0)Pe=Ge,Me=r;else{s=K,In=be;break}}else s=0,Ge=w(0),Je=w(0),ye=w(0),I=0,In=Pr;while(0);vi=Je>w(0)&Jew(0)&yebc&((Ne(bc)|0)^1))n=bc,vi=51;else if(p[(t[os>>2]|0)+3>>0]|0)vi=51;else{if(gn!=w(0)?w(nu(e))!=w(0):0){vi=53;break}n=Ge,vi=53}while(0);if((vi|0)==51&&(vi=0,Ne(n)|0?vi=53:(_r=w(n-Ge),Nn=n)),(vi|0)==53&&(vi=0,Ge>2]|0,be=_rw(0),Me=w(_r/gn),Je=w(0),Ge=w(0),n=w(0),M=I;do r=w(Rn(M+380+(K<<3)|0,fs)),ye=w(Rn(M+364+(K<<3)|0,fs)),ye=w(Xp(r,w(Ru(ye,w(C[M+504>>2]))))),be?(r=w(ye*w(fu(M))),(r!=w(-0)?(mn=w(ye-w(ft*r)),b1=w(Kn(M,Or,mn,Nn,Sr)),mn!=b1):0)&&(Je=w(Je-w(b1-ye)),n=w(n+r))):((Zt?(Bc=w(nu(M)),Bc!=w(0)):0)?(mn=w(ye+w(Me*Bc)),B1=w(Kn(M,Or,mn,Nn,Sr)),mn!=B1):0)&&(Je=w(Je-w(B1-ye)),Ge=w(Ge-Bc)),M=t[M+960>>2]|0;while((M|0)!=0);if(n=w(Pe+n),ye=w(_r+Je),I1)n=w(0);else{ft=w(gn+Ge),be=t[uf>>2]|0,Zt=yew(0),ft=w(ye/ft),n=w(0);do{mn=w(Rn(I+380+(be<<3)|0,fs)),Je=w(Rn(I+364+(be<<3)|0,fs)),Je=w(Xp(mn,w(Ru(Je,w(C[I+504>>2]))))),Zt?(mn=w(Je*w(fu(I))),ye=w(-mn),mn!=w(-0)?(mn=w(Me*ye),ye=w(Kn(I,Or,w(Je+(Br?ye:mn)),Nn,Sr))):ye=Je):(K?(U1=w(nu(I)),U1!=w(0)):0)?ye=w(Kn(I,Or,w(Je+w(ft*U1)),Nn,Sr)):ye=Je,n=w(n-w(ye-Je)),Ge=w(Kt(I,Or,Sr)),r=w(Kt(I,Bn,Sr)),ye=w(ye+Ge),C[La>>2]=ye,t[lf>>2]=1,Je=w(C[I+396>>2]);e:do if(Ne(Je)|0){M=Ne(hu)|0;do if(!M){if(ls|(Wu(I,Bn,hu)|0|uu)||(e0(e,I)|0)!=4||(t[(_0(I,Bn)|0)+4>>2]|0)==3||(t[(E0(I,Bn)|0)+4>>2]|0)==3)break;C[Hl>>2]=hu,t[Ns>>2]=1;break e}while(0);if(Wu(I,Bn,hu)|0){M=t[I+992+(t[u2>>2]<<2)>>2]|0,mn=w(r+w(Rn(M,hu))),C[Hl>>2]=mn,M=o2&(t[M+4>>2]|0)==2,t[Ns>>2]=((Ne(mn)|0|M)^1)&1;break}else{C[Hl>>2]=hu,t[Ns>>2]=M?0:2;break}}else mn=w(ye-Ge),gn=w(mn/Je),mn=w(Je*mn),t[Ns>>2]=1,C[Hl>>2]=w(r+(Bu?gn:mn));while(0);Fn(I,Or,Nn,Sr,lf,La),Fn(I,Bn,hu,Sr,Ns,Hl);do if(Wu(I,Bn,hu)|0?0:(e0(e,I)|0)==4){if((t[(_0(I,Bn)|0)+4>>2]|0)==3){M=0;break}M=(t[(E0(I,Bn)|0)+4>>2]|0)!=3}else M=0;while(0);mn=w(C[La>>2]),gn=w(C[Hl>>2]),G1=t[lf>>2]|0,f0=t[Ns>>2]|0,Yt(I,Bu?mn:gn,Bu?gn:mn,El,Bu?G1:f0,Bu?f0:G1,Sr,as,S&(M^1),3488,N)|0,p[of>>0]=p[of>>0]|p[I+508>>0],I=t[I+960>>2]|0}while((I|0)!=0)}}else n=w(0);if(n=w(_r+n),f0=n>0]=f0|k[of>>0],r2&n>w(0)?(M=t[uf>>2]|0,((t[e+364+(M<<3)+4>>2]|0)!=0?(ql=w(Rn(e+364+(M<<3)|0,fs)),ql>=w(0)):0)?ye=w(Ru(w(0),w(ql-w(Nn-n)))):ye=w(0)):ye=n,Zt=Pr>>>0>>0,Zt){be=t[cs>>2]|0,K=Pr,M=0;do I=t[be+(K<<2)>>2]|0,t[I+24>>2]|0||(M=((t[(_0(I,Or)|0)+4>>2]|0)==3&1)+M|0,M=M+((t[(E0(I,Or)|0)+4>>2]|0)==3&1)|0),K=K+1|0;while((K|0)!=(In|0));M?(Ge=w(0),r=w(0)):vi=101}else vi=101;e:do if((vi|0)==101)switch(vi=0,s2|0){case 1:{M=0,Ge=w(ye*w(.5)),r=w(0);break e}case 2:{M=0,Ge=ye,r=w(0);break e}case 3:{if(s>>>0<=1){M=0,Ge=w(0),r=w(0);break e}r=w((s+-1|0)>>>0),M=0,Ge=w(0),r=w(w(Ru(ye,w(0)))/r);break e}case 5:{r=w(ye/w((s+1|0)>>>0)),M=0,Ge=r;break e}case 4:{r=w(ye/w(s>>>0)),M=0,Ge=w(r*w(.5));break e}default:{M=0,Ge=w(0),r=w(0);break e}}while(0);if(n=w(a2+Ge),Zt){Je=w(ye/w(M|0)),K=t[cs>>2]|0,I=Pr,ye=w(0);do{M=t[K+(I<<2)>>2]|0;e:do if((t[M+36>>2]|0)!=1){switch(t[M+24>>2]|0){case 1:{if(ae(M,Or)|0){if(!S)break e;mn=w(re(M,Or,Nn)),mn=w(mn+w(O0(e,Or))),mn=w(mn+w(zi(M,Or,Sr))),C[M+400+(t[Pc>>2]<<2)>>2]=mn;break e}break}case 0:if(f0=(t[(_0(M,Or)|0)+4>>2]|0)==3,mn=w(Je+n),n=f0?mn:n,S&&(f0=M+400+(t[Pc>>2]<<2)|0,C[f0>>2]=w(n+w(C[f0>>2]))),f0=(t[(E0(M,Or)|0)+4>>2]|0)==3,mn=w(Je+n),n=f0?mn:n,ea){mn=w(r+w(Kt(M,Or,Sr))),ye=hu,n=w(n+w(mn+w(C[M+504>>2])));break e}else{n=w(n+w(r+w(Fe(M,Or,Sr)))),ye=w(Ru(ye,w(Fe(M,Bn,Sr))));break e}default:}S&&(mn=w(Ge+w(O0(e,Or))),f0=M+400+(t[Pc>>2]<<2)|0,C[f0>>2]=w(mn+w(C[f0>>2])))}while(0);I=I+1|0}while((I|0)!=(In|0))}else ye=w(0);if(r=w(f2+n),i2?Ge=w(w(Kn(e,Bn,w(Wl+ye),Jf,h))-Wl):Ge=hu,Je=w(w(Kn(e,Bn,w(Wl+(l2?hu:ye)),Jf,h))-Wl),Zt&S){I=Pr;do{K=t[(t[cs>>2]|0)+(I<<2)>>2]|0;do if((t[K+36>>2]|0)!=1){if((t[K+24>>2]|0)==1){if(ae(K,Bn)|0){if(mn=w(re(K,Bn,hu)),mn=w(mn+w(O0(e,Bn))),mn=w(mn+w(zi(K,Bn,Sr))),M=t[Fc>>2]|0,C[K+400+(M<<2)>>2]=mn,!(Ne(mn)|0))break}else M=t[Fc>>2]|0;mn=w(O0(e,Bn)),C[K+400+(M<<2)>>2]=w(mn+w(zi(K,Bn,Sr)));break}M=e0(e,K)|0;do if((M|0)==4){if((t[(_0(K,Bn)|0)+4>>2]|0)==3){vi=139;break}if((t[(E0(K,Bn)|0)+4>>2]|0)==3){vi=139;break}if(Wu(K,Bn,hu)|0){n=Se;break}G1=t[K+908+(t[uf>>2]<<2)>>2]|0,t[Hl>>2]=G1,n=w(C[K+396>>2]),f0=Ne(n)|0,ye=(t[W>>2]=G1,w(C[W>>2])),f0?n=Je:(_r=w(Kt(K,Bn,Sr)),mn=w(ye/n),n=w(n*ye),n=w(_r+(Bu?mn:n))),C[La>>2]=n,C[Hl>>2]=w(w(Kt(K,Or,Sr))+ye),t[Ns>>2]=1,t[lf>>2]=1,Fn(K,Or,Nn,Sr,Ns,Hl),Fn(K,Bn,hu,Sr,lf,La),n=w(C[Hl>>2]),_r=w(C[La>>2]),mn=Bu?n:_r,n=Bu?_r:n,f0=((Ne(mn)|0)^1)&1,Yt(K,mn,n,El,f0,((Ne(n)|0)^1)&1,Sr,as,1,3493,N)|0,n=Se}else vi=139;while(0);e:do if((vi|0)==139){vi=0,n=w(Ge-w(Fe(K,Bn,Sr)));do if((t[(_0(K,Bn)|0)+4>>2]|0)==3){if((t[(E0(K,Bn)|0)+4>>2]|0)!=3)break;n=w(Se+w(Ru(w(0),w(n*w(.5)))));break e}while(0);if((t[(E0(K,Bn)|0)+4>>2]|0)==3){n=Se;break}if((t[(_0(K,Bn)|0)+4>>2]|0)==3){n=w(Se+w(Ru(w(0),n)));break}switch(M|0){case 1:{n=Se;break e}case 2:{n=w(Se+w(n*w(.5)));break e}default:{n=w(Se+n);break e}}}while(0);mn=w(_l+n),f0=K+400+(t[Fc>>2]<<2)|0,C[f0>>2]=w(mn+w(C[f0>>2]))}while(0);I=I+1|0}while((I|0)!=(In|0))}if(_l=w(_l+Je),Kf=w(Ru(Kf,r)),s=ss+1|0,In>>>0>=Vl>>>0)break;n=Nn,Pr=In,ss=s}do if(S){if(M=s>>>0>1,M?0:!(Ae(e)|0))break;if(!(Ne(hu)|0)){n=w(hu-_l);e:do switch(t[e+12>>2]|0){case 3:{Se=w(Se+n),Me=w(0);break}case 2:{Se=w(Se+w(n*w(.5))),Me=w(0);break}case 4:{hu>_l?Me=w(n/w(s>>>0)):Me=w(0);break}case 7:if(hu>_l){Se=w(Se+w(n/w(s<<1>>>0))),Me=w(n/w(s>>>0)),Me=M?Me:w(0);break e}else{Se=w(Se+w(n*w(.5))),Me=w(0);break e}case 6:{Me=w(n/w(ss>>>0)),Me=hu>_l&M?Me:w(0);break}default:Me=w(0)}while(0);if(s|0)for(Zt=1040+(Bn<<2)|0,Br=976+(Bn<<2)|0,be=0,I=0;;){e:do if(I>>>0>>0)for(ye=w(0),Je=w(0),n=w(0),K=I;;){M=t[(t[cs>>2]|0)+(K<<2)>>2]|0;do if((t[M+36>>2]|0)!=1?(t[M+24>>2]|0)==0:0){if((t[M+940>>2]|0)!=(be|0))break e;if(st(M,Bn)|0&&(mn=w(C[M+908+(t[Br>>2]<<2)>>2]),n=w(Ru(n,w(mn+w(Kt(M,Bn,Sr)))))),(e0(e,M)|0)!=5)break;ql=w(vt(M)),ql=w(ql+w(zi(M,0,Sr))),mn=w(C[M+912>>2]),mn=w(w(mn+w(Kt(M,0,Sr)))-ql),ql=w(Ru(Je,ql)),mn=w(Ru(ye,mn)),ye=mn,Je=ql,n=w(Ru(n,w(ql+mn)))}while(0);if(M=K+1|0,M>>>0>>0)K=M;else{K=M;break}}else Je=w(0),n=w(0),K=I;while(0);if(ft=w(Me+n),r=Se,Se=w(Se+ft),I>>>0>>0){Ge=w(r+Je),M=I;do{I=t[(t[cs>>2]|0)+(M<<2)>>2]|0;e:do if((t[I+36>>2]|0)!=1?(t[I+24>>2]|0)==0:0)switch(e0(e,I)|0){case 1:{mn=w(r+w(zi(I,Bn,Sr))),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 3:{mn=w(w(Se-w(A0(I,Bn,Sr)))-w(C[I+908+(t[Br>>2]<<2)>>2])),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 2:{mn=w(r+w(w(ft-w(C[I+908+(t[Br>>2]<<2)>>2]))*w(.5))),C[I+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 4:{if(mn=w(r+w(zi(I,Bn,Sr))),C[I+400+(t[Zt>>2]<<2)>>2]=mn,Wu(I,Bn,hu)|0||(Bu?(ye=w(C[I+908>>2]),n=w(ye+w(Kt(I,Or,Sr))),Je=ft):(Je=w(C[I+912>>2]),Je=w(Je+w(Kt(I,Bn,Sr))),n=ft,ye=w(C[I+908>>2])),Ci(n,ye)|0?Ci(Je,w(C[I+912>>2]))|0:0))break e;Yt(I,n,Je,El,1,1,Sr,as,1,3501,N)|0;break e}case 5:{C[I+404>>2]=w(w(Ge-w(vt(I)))+w(re(I,0,hu)));break e}default:break e}while(0);M=M+1|0}while((M|0)!=(K|0))}if(be=be+1|0,(be|0)==(s|0))break;I=K}}}while(0);if(C[e+908>>2]=w(Kn(e,2,Xf,h,h)),C[e+912>>2]=w(Kn(e,0,j1,D,h)),((sf|0)!=0?(z1=t[e+32>>2]|0,H1=(sf|0)==2,!(H1&(z1|0)!=2)):0)?H1&(z1|0)==2&&(n=w(Qf+Nn),n=w(Ru(w(Xp(n,w(Qt(e,Or,Kf,fs)))),Qf)),vi=198):(n=w(Kn(e,Or,Kf,fs,h)),vi=198),(vi|0)==198&&(C[e+908+(t[976+(Or<<2)>>2]<<2)>>2]=n),((af|0)!=0?(W1=t[e+32>>2]|0,V1=(af|0)==2,!(V1&(W1|0)!=2)):0)?V1&(W1|0)==2&&(n=w(Wl+hu),n=w(Ru(w(Xp(n,w(Qt(e,Bn,w(Wl+_l),Jf)))),Wl)),vi=204):(n=w(Kn(e,Bn,w(Wl+_l),Jf,h)),vi=204),(vi|0)==204&&(C[e+908+(t[976+(Bn<<2)>>2]<<2)>>2]=n),S){if((t[q1>>2]|0)==2){I=976+(Bn<<2)|0,K=1040+(Bn<<2)|0,M=0;do be=Ti(e,M)|0,t[be+24>>2]|0||(G1=t[I>>2]|0,mn=w(C[e+908+(G1<<2)>>2]),f0=be+400+(t[K>>2]<<2)|0,mn=w(mn-w(C[f0>>2])),C[f0>>2]=w(mn-w(C[be+908+(G1<<2)>>2]))),M=M+1|0;while((M|0)!=(Vl|0))}if(u|0){M=Bu?sf:l;do On(e,u,Sr,M,as,El,N),u=t[u+960>>2]|0;while((u|0)!=0)}if(M=(Or|2|0)==3,I=(Bn|2|0)==3,M|I){u=0;do K=t[(t[cs>>2]|0)+(u<<2)>>2]|0,(t[K+36>>2]|0)!=1&&(M&&Sn(e,K,Or),I&&Sn(e,K,Bn)),u=u+1|0;while((u|0)!=(Vl|0))}}}while(0);m=ff}function Ju(e,n){e=e|0,n=w(n);var r=0;Cn(e,n>=w(0),3147),r=n==w(0),C[e+4>>2]=r?w(0):n}function ti(e,n,r,u){e=e|0,n=w(n),r=w(r),u=u|0;var l=Tt,s=Tt,h=0,D=0,S=0;t[2278]=(t[2278]|0)+1,Jr(e),Wu(e,2,n)|0?(l=w(Rn(t[e+992>>2]|0,n)),S=1,l=w(l+w(Kt(e,2,n)))):(l=w(Rn(e+380|0,n)),l>=w(0)?S=2:(S=((Ne(n)|0)^1)&1,l=n)),Wu(e,0,r)|0?(s=w(Rn(t[e+996>>2]|0,r)),D=1,s=w(s+w(Kt(e,0,n)))):(s=w(Rn(e+388|0,r)),s>=w(0)?D=2:(D=((Ne(r)|0)^1)&1,s=r)),h=e+976|0,(Yt(e,l,s,u,S,D,n,r,1,3189,t[h>>2]|0)|0?(x0(e,t[e+496>>2]|0,n,r,n),Fu(e,w(C[(t[h>>2]|0)+4>>2]),w(0),w(0)),p[11696]|0):0)&&mf(e,7)}function Jr(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;D=m,m=m+32|0,h=D+24|0,s=D+16|0,u=D+8|0,l=D,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(S=n,N=t[S+4>>2]|0,M=u,t[M>>2]=t[S>>2],t[M+4>>2]=N,M=e+364+(r<<3)|0,N=t[M+4>>2]|0,S=l,t[S>>2]=t[M>>2],t[S+4>>2]=N,t[s>>2]=t[u>>2],t[s+4>>2]=t[u+4>>2],t[h>>2]=t[l>>2],t[h+4>>2]=t[l+4>>2],Bi(s,h)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);m=D}function Wu(e,n,r){e=e|0,n=n|0,r=w(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(C[e>>2])>2])>2]|0){case 2:{n=w(w(w(C[e>>2])*n)/w(100));break}case 1:{n=w(C[e>>2]);break}default:n=w(ie)}return w(n)}function x0(e,n,r,u,l){e=e|0,n=n|0,r=w(r),u=w(u),l=w(l);var s=0,h=Tt;n=t[e+944>>2]|0?n:1,s=B0(t[e+4>>2]|0,n)|0,n=gf(s,n)|0,r=w(Ar(e,s,r)),u=w(Ar(e,n,u)),h=w(r+w(zi(e,s,l))),C[e+400+(t[1040+(s<<2)>>2]<<2)>>2]=h,r=w(r+w(A0(e,s,l))),C[e+400+(t[1e3+(s<<2)>>2]<<2)>>2]=r,r=w(u+w(zi(e,n,l))),C[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,l=w(u+w(A0(e,n,l))),C[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=l}function Fu(e,n,r,u){e=e|0,n=w(n),r=w(r),u=w(u);var l=0,s=0,h=Tt,D=Tt,S=0,N=0,M=Tt,I=0,K=Tt,be=Tt,Se=Tt,ye=Tt;if(n!=w(0)&&(l=e+400|0,ye=w(C[l>>2]),s=e+404|0,Se=w(C[s>>2]),I=e+416|0,be=w(C[I>>2]),N=e+420|0,h=w(C[N>>2]),K=w(ye+r),M=w(Se+u),u=w(K+be),D=w(M+h),S=(t[e+988>>2]|0)==1,C[l>>2]=w($0(ye,n,0,S)),C[s>>2]=w($0(Se,n,0,S)),r=w(OE(w(be*n),w(1))),Ci(r,w(0))|0?s=0:s=(Ci(r,w(1))|0)^1,r=w(OE(w(h*n),w(1))),Ci(r,w(0))|0?l=0:l=(Ci(r,w(1))|0)^1,ye=w($0(u,n,S&s,S&(s^1))),C[I>>2]=w(ye-w($0(K,n,0,S))),ye=w($0(D,n,S&l,S&(l^1))),C[N>>2]=w(ye-w($0(M,n,0,S))),s=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,s|0)){l=0;do Fu(Ti(e,l)|0,n,K,M),l=l+1|0;while((l|0)!=(s|0))}}function li(e,n,r,u,l){switch(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,r|0){case 5:case 0:{e=i8(t[489]|0,u,l)|0;break}default:e=bL(u,l)|0}return e|0}function Tl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;l=m,m=m+16|0,s=l,t[s>>2]=u,zs(e,0,n,r,s),m=l}function zs(e,n,r,u,l){if(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,e=e|0?e:956,C8[t[e+8>>2]&1](e,n,r,u,l)|0,(r|0)==5)$n();else return}function Vu(e,n,r){e=e|0,n=n|0,r=r|0,p[e+n>>0]=r&1}function sa(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(Xi(e,u),Hs(e,t[n>>2]|0,t[r>>2]|0,u))}function Xi(e,n){e=e|0,n=n|0;var r=0;if((R0(e)|0)>>>0>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Hs(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function R0(e){return e=e|0,1073741823}function zi(e,n,r){return e=e|0,n=n|0,r=w(r),(Hi(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=dt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(rl(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=w(r),(Hi(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=dt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(rl(e,r))}function Hi(e){return e=e|0,(e|1|0)==3|0}function rl(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Rn(e,n)),w(n)}function Cl(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function B0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function O0(e,n){e=e|0,n=n|0;var r=Tt;return((Hi(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(C[e+308>>2]),r>=w(0)):0)||(r=w(Ru(w(C[(dt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function ho(e,n){e=e|0,n=n|0;var r=Tt;return((Hi(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(C[e+316>>2]),r>=w(0)):0)||(r=w(Ru(w(C[(dt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function Pu(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return((Hi(n)|0?(t[e+240>>2]|0)!=0:0)?(u=w(Rn(e+236|0,r)),u>=w(0)):0)||(u=w(Ru(w(Rn(dt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Zu(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return((Hi(n)|0?(t[e+248>>2]|0)!=0:0)?(u=w(Rn(e+244|0,r)),u>=w(0)):0)||(u=w(Ru(w(Rn(dt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function es(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=Tt,S=Tt,N=Tt,M=Tt,I=Tt,K=Tt,be=0,Se=0,ye=0;ye=m,m=m+16|0,be=ye,Se=e+964|0,qu(e,(t[Se>>2]|0)!=0,3519),D=w(Rr(e,2,n)),S=w(Rr(e,0,n)),N=w(Kt(e,2,n)),M=w(Kt(e,0,n)),Ne(n)|0?I=n:I=w(Ru(w(0),w(w(n-N)-D))),Ne(r)|0?K=r:K=w(Ru(w(0),w(w(r-M)-S))),(u|0)==1&(l|0)==1?(C[e+908>>2]=w(Kn(e,2,w(n-N),s,s)),n=w(Kn(e,0,w(r-M),h,s))):(x8[t[Se>>2]&1](be,e,I,u,K,l),I=w(D+w(C[be>>2])),K=w(n-N),C[e+908>>2]=w(Kn(e,2,(u|2|0)==2?I:K,s,s)),K=w(S+w(C[be+4>>2])),n=w(r-M),n=w(Kn(e,0,(l|2|0)==2?K:n,h,s))),C[e+912>>2]=n,m=ye}function _s(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=Tt,S=Tt,N=Tt,M=Tt;N=w(Rr(e,2,s)),D=w(Rr(e,0,s)),M=w(Kt(e,2,s)),S=w(Kt(e,0,s)),n=w(n-M),C[e+908>>2]=w(Kn(e,2,(u|2|0)==2?N:n,s,s)),r=w(r-S),C[e+912>>2]=w(Kn(e,0,(l|2|0)==2?D:r,h,s))}function aa(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=0,S=Tt,N=Tt;return D=(u|0)==2,((n<=w(0)&D?0:!(r<=w(0)&(l|0)==2))?!((u|0)==1&(l|0)==1):0)?e=0:(S=w(Kt(e,0,s)),N=w(Kt(e,2,s)),D=n>2]=w(Kn(e,2,D?w(0):n,s,s)),n=w(r-S),D=r>2]=w(Kn(e,0,D?w(0):n,h,s)),e=1),e|0}function gf(e,n){return e=e|0,n=n|0,_n(e)|0?e=B0(2,n)|0:e=0,e|0}function $u(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Pu(e,n,r)),w(r+w(O0(e,n)))}function Es(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Zu(e,n,r)),w(r+w(ho(e,n)))}function Rr(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w($u(e,n,r)),w(u+w(Es(e,n,r)))}function to(e){return e=e|0,t[e+24>>2]|0?e=0:w(nu(e))!=w(0)?e=1:e=w(fu(e))!=w(0),e|0}function nu(e){e=e|0;var n=Tt;if(t[e+944>>2]|0){if(n=w(C[e+44>>2]),Ne(n)|0)return n=w(C[e+40>>2]),e=n>w(0)&((Ne(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function fu(e){e=e|0;var n=Tt,r=0,u=Tt;do if(t[e+944>>2]|0){if(n=w(C[e+48>>2]),Ne(n)|0){if(r=p[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(u=w(C[e+40>>2]),u>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function Li(e){e=e|0;var n=0,r=0;if(bv(e+400|0,0,540)|0,p[e+985>>0]=1,ms(e),r=Su(e)|0,r|0){n=e+948|0,e=0;do Li(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function ni(e,n,r,u,l,s,h,D,S,N){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=w(s),h=w(h),D=D|0,S=S|0,N=N|0;var M=0,I=Tt,K=0,be=0,Se=Tt,ye=Tt,Je=0,Ge=Tt,ft=0,Me=Tt,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0,os=0;uu=m,m=m+16|0,Br=uu+12|0,In=uu+8|0,gn=uu+4|0,_r=uu,Nn=B0(t[e+4>>2]|0,S)|0,Pe=Hi(Nn)|0,I=w(Rn(Tn(n)|0,Pe?s:h)),Zt=Wu(n,2,s)|0,Pr=Wu(n,0,h)|0;do if(Ne(I)|0?0:!(Ne(Pe?r:l)|0)){if(M=n+504|0,!(Ne(w(C[M>>2]))|0)&&(!(ir(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;C[M>>2]=w(Ru(I,w(Rr(n,Nn,s))))}else K=7;while(0);do if((K|0)==7){if(ft=Pe^1,!(ft|Zt^1)){h=w(Rn(t[n+992>>2]|0,s)),C[n+504>>2]=w(Ru(h,w(Rr(n,2,s))));break}if(!(Pe|Pr^1)){h=w(Rn(t[n+996>>2]|0,h)),C[n+504>>2]=w(Ru(h,w(Rr(n,0,s))));break}C[Br>>2]=w(ie),C[In>>2]=w(ie),t[gn>>2]=0,t[_r>>2]=0,Ge=w(Kt(n,2,s)),Me=w(Kt(n,0,s)),Zt?(Se=w(Ge+w(Rn(t[n+992>>2]|0,s))),C[Br>>2]=Se,t[gn>>2]=1,be=1):(be=0,Se=w(ie)),Pr?(I=w(Me+w(Rn(t[n+996>>2]|0,h))),C[In>>2]=I,t[_r>>2]=1,M=1):(M=0,I=w(ie)),K=t[e+32>>2]|0,Pe&(K|0)==2?K=2:(Ne(Se)|0?!(Ne(r)|0):0)&&(C[Br>>2]=r,t[gn>>2]=2,be=2,Se=r),(((K|0)==2&ft?0:Ne(I)|0)?!(Ne(l)|0):0)&&(C[In>>2]=l,t[_r>>2]=2,M=2,I=l),ye=w(C[n+396>>2]),Je=Ne(ye)|0;do if(Je)K=be;else{if((be|0)==1&ft){C[In>>2]=w(w(Se-Ge)/ye),t[_r>>2]=1,M=1,K=1;break}Pe&(M|0)==1?(C[Br>>2]=w(ye*w(I-Me)),t[gn>>2]=1,M=1,K=1):K=be}while(0);os=Ne(r)|0,be=(e0(e,n)|0)!=4,(Pe|Zt|((u|0)!=1|os)|(be|(K|0)==1)?0:(C[Br>>2]=r,t[gn>>2]=1,!Je))&&(C[In>>2]=w(w(r-Ge)/ye),t[_r>>2]=1,M=1),(Pr|ft|((D|0)!=1|(Ne(l)|0))|(be|(M|0)==1)?0:(C[In>>2]=l,t[_r>>2]=1,!Je))&&(C[Br>>2]=w(ye*w(l-Me)),t[gn>>2]=1),Fn(n,2,s,s,gn,Br),Fn(n,0,h,s,_r,In),r=w(C[Br>>2]),l=w(C[In>>2]),Yt(n,r,l,S,t[gn>>2]|0,t[_r>>2]|0,s,h,0,3565,N)|0,h=w(C[n+908+(t[976+(Nn<<2)>>2]<<2)>>2]),C[n+504>>2]=w(Ru(h,w(Rr(n,Nn,s))))}while(0);t[n+500>>2]=t[2278],m=uu}function Kn(e,n,r,u,l){return e=e|0,n=n|0,r=w(r),u=w(u),l=w(l),u=w(Qt(e,n,r,u)),w(Ru(u,w(Rr(e,n,l))))}function e0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?_n(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function _0(e,n){return e=e|0,n=n|0,(Hi(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function E0(e,n){return e=e|0,n=n|0,(Hi(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Fn(e,n,r,u,l,s){switch(e=e|0,n=n|0,r=w(r),u=w(u),l=l|0,s=s|0,r=w(Rn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(Kt(e,n,u))),t[l>>2]|0){case 2:case 1:{l=Ne(r)|0,u=w(C[s>>2]),C[s>>2]=l|u>2]=2,C[s>>2]=r);break}default:}}function ae(e,n){return e=e|0,n=n|0,e=e+132|0,(Hi(n)|0?(t[(dt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function re(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Hi(n)|0?(u=dt(e,4,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Rn(u,r))),w(r)}function Fe(e,n,r){e=e|0,n=n|0,r=w(r);var u=Tt;return u=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=w(u+w(zi(e,n,r))),w(u+w(A0(e,n,r)))}function Ae(e){e=e|0;var n=0,r=0,u=0;e:do if(_n(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=Su(e)|0,!r)n=0;else for(n=0;;){if(u=Ti(e,n)|0,(t[u+24>>2]|0)==0?(t[u+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function st(e,n){e=e|0,n=n|0;var r=Tt;return r=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((Ne(r)|0)^1)|0}function vt(e){e=e|0;var n=Tt,r=0,u=0,l=0,s=0,h=0,D=0,S=Tt;if(r=t[e+968>>2]|0,r)S=w(C[e+908>>2]),n=w(C[e+912>>2]),n=w(D8[r&0](e,S,n)),qu(e,(Ne(n)|0)^1,3573);else{s=Su(e)|0;do if(s|0){for(r=0,l=0;;){if(u=Ti(e,l)|0,t[u+940>>2]|0){h=8;break}if((t[u+24>>2]|0)!=1)if(D=(e0(e,u)|0)==5,D){r=u;break}else r=(r|0)==0?u:r;if(l=l+1|0,l>>>0>=s>>>0){h=8;break}}if((h|0)==8&&!r)break;return n=w(vt(r)),w(n+w(C[r+404>>2]))}while(0);n=w(C[e+912>>2])}return w(n)}function Qt(e,n,r,u){e=e|0,n=n|0,r=w(r),u=w(u);var l=Tt,s=0;return _n(n)|0?(n=1,s=3):Hi(n)|0?(n=0,s=3):(u=w(ie),l=w(ie)),(s|0)==3&&(l=w(Rn(e+364+(n<<3)|0,u)),u=w(Rn(e+380+(n<<3)|0,u))),s=u=w(0)&((Ne(u)|0)^1)),r=s?u:r,s=l>=w(0)&((Ne(l)|0)^1)&r>2]|0,s)|0,Se=gf(Je,s)|0,ye=Hi(Je)|0,I=w(Kt(n,2,r)),K=w(Kt(n,0,r)),Wu(n,2,r)|0?D=w(I+w(Rn(t[n+992>>2]|0,r))):(ae(n,2)|0?Bt(n,2)|0:0)?(D=w(C[e+908>>2]),S=w(O0(e,2)),S=w(D-w(S+w(ho(e,2)))),D=w(re(n,2,r)),D=w(Kn(n,2,w(S-w(D+w(Fi(n,2,r)))),r,r))):D=w(ie),Wu(n,0,l)|0?S=w(K+w(Rn(t[n+996>>2]|0,l))):(ae(n,0)|0?Bt(n,0)|0:0)?(S=w(C[e+912>>2]),ft=w(O0(e,0)),ft=w(S-w(ft+w(ho(e,0)))),S=w(re(n,0,l)),S=w(Kn(n,0,w(ft-w(S+w(Fi(n,0,l)))),l,r))):S=w(ie),N=Ne(D)|0,M=Ne(S)|0;do if(N^M?(be=w(C[n+396>>2]),!(Ne(be)|0)):0)if(N){D=w(I+w(w(S-K)*be));break}else{ft=w(K+w(w(D-I)/be)),S=M?ft:S;break}while(0);M=Ne(D)|0,N=Ne(S)|0,M|N&&(Me=(M^1)&1,u=r>w(0)&((u|0)!=0&M),D=ye?D:u?r:D,Yt(n,D,S,s,ye?Me:u?2:Me,M&(N^1)&1,D,S,0,3623,h)|0,D=w(C[n+908>>2]),D=w(D+w(Kt(n,2,r))),S=w(C[n+912>>2]),S=w(S+w(Kt(n,0,r)))),Yt(n,D,S,s,1,1,D,S,1,3635,h)|0,(Bt(n,Je)|0?!(ae(n,Je)|0):0)?(Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),ft=w(ft-w(ho(e,Je))),ft=w(ft-w(A0(n,Je,r))),ft=w(ft-w(Fi(n,Je,ye?r:l))),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft):Ge=21;do if((Ge|0)==21){if(ae(n,Je)|0?0:(t[e+8>>2]|0)==1){Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(w(ft-w(C[n+908+(Me<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft;break}(ae(n,Je)|0?0:(t[e+8>>2]|0)==2)&&(Me=t[976+(Je<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),C[n+400+(t[1040+(Je<<2)>>2]<<2)>>2]=ft)}while(0);(Bt(n,Se)|0?!(ae(n,Se)|0):0)?(Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),ft=w(ft-w(ho(e,Se))),ft=w(ft-w(A0(n,Se,r))),ft=w(ft-w(Fi(n,Se,ye?l:r))),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft):Ge=30;do if((Ge|0)==30?!(ae(n,Se)|0):0){if((e0(e,n)|0)==2){Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(w(ft-w(C[n+908+(Me<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft;break}Me=(e0(e,n)|0)==3,Me^(t[e+28>>2]|0)==2&&(Me=t[976+(Se<<2)>>2]|0,ft=w(C[e+908+(Me<<2)>>2]),ft=w(ft-w(C[n+908+(Me<<2)>>2])),C[n+400+(t[1040+(Se<<2)>>2]<<2)>>2]=ft)}while(0)}function Sn(e,n,r){e=e|0,n=n|0,r=r|0;var u=Tt,l=0;l=t[976+(r<<2)>>2]|0,u=w(C[n+908+(l<<2)>>2]),u=w(w(C[e+908+(l<<2)>>2])-u),u=w(u-w(C[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),C[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function _n(e){return e=e|0,(e|1|0)==1|0}function Tn(e){e=e|0;var n=Tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(C[e+40>>2]),n>w(0)&((Ne(n)|0)^1)?e=p[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function ir(e,n){return e=e|0,n=n|0,(p[e+n>>0]|0)!=0|0}function Bt(e,n){return e=e|0,n=n|0,e=e+132|0,(Hi(n)|0?(t[(dt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Fi(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Hi(n)|0?(u=dt(e,5,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Rn(u,r))),w(r)}function Ar(e,n,r){return e=e|0,n=n|0,r=w(r),ae(e,n)|0?r=w(re(e,n,r)):r=w(-w(Fi(e,n,r))),w(r)}function mr(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Y(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function ri(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ii(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function Vr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;if(h=e+4|0,D=t[h>>2]|0,l=D-u|0,s=l>>2,e=n+(s<<2)|0,e>>>0>>0){u=D;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[h>>2]|0)+4|0,t[h>>2]=u;while(e>>>0>>0)}s|0&&Ty(D+(0-s<<2)|0,n|0,l|0)|0}function at(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return D=n+4|0,S=t[D>>2]|0,l=t[e>>2]|0,h=r,s=h-l|0,u=S+(0-(s>>2)<<2)|0,t[D>>2]=u,(s|0)>0&&gr(u|0,l|0,s|0)|0,l=e+4|0,s=n+8|0,u=(t[l>>2]|0)-h|0,(u|0)>0&&(gr(t[s>>2]|0,r|0,u|0)|0,t[s>>2]=(t[s>>2]|0)+(u>>>2<<2)),h=t[e>>2]|0,t[e>>2]=t[D>>2],t[D>>2]=h,h=t[l>>2]|0,t[l>>2]=t[s>>2],t[s>>2]=h,h=e+8|0,r=n+12|0,e=t[h>>2]|0,t[h>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[D>>2],S|0}function Di(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(h=t[n>>2]|0,s=t[r>>2]|0,(h|0)!=(s|0)){l=e+8|0,r=((s+-4-h|0)>>>2)+1|0,e=h,u=t[l>>2]|0;do t[u>>2]=t[e>>2],u=(t[l>>2]|0)+4|0,t[l>>2]=u,e=e+4|0;while((e|0)!=(s|0));t[n>>2]=h+(r<<2)}}function ru(){we()}function D0(){var e=0;return e=pn(4)|0,Un(e),e|0}function Un(e){e=e|0,t[e>>2]=m0()|0}function t0(e){e=e|0,e|0&&(no(e),_t(e))}function no(e){e=e|0,Q0(t[e>>2]|0)}function vo(e,n,r){e=e|0,n=n|0,r=r|0,Vu(t[e>>2]|0,n,r)}function n0(e,n){e=e|0,n=w(n),Ju(t[e>>2]|0,n)}function Uo(e,n){return e=e|0,n=n|0,ir(t[e>>2]|0,n)|0}function ro(){var e=0;return e=pn(8)|0,Ba(e,0),e|0}function Ba(e,n){e=e|0,n=n|0,n?n=Yn(t[n>>2]|0)|0:n=cr()|0,t[e>>2]=n,t[e+4>>2]=0,ba(n,e)}function _f(e){e=e|0;var n=0;return n=pn(8)|0,Ba(n,e),n|0}function fc(e){e=e|0,e|0&&(Ds(e),_t(e))}function Ds(e){e=e|0;var n=0;zu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(fa(e),_t(e))}function fa(e){e=e|0,U0(e)}function U0(e){e=e|0,e=t[e>>2]|0,e|0&&qr(e|0)}function cc(e){return e=e|0,Bs(e)|0}function Ua(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),_t(n)),co(t[e>>2]|0)}function E2(e,n){e=e|0,n=n|0,oa(t[e>>2]|0,t[n>>2]|0)}function nd(e,n){e=e|0,n=n|0,Z(t[e>>2]|0,n)}function rd(e,n,r){e=e|0,n=n|0,r=+r,dr(t[e>>2]|0,n,w(r))}function mo(e,n,r){e=e|0,n=n|0,r=+r,er(t[e>>2]|0,n,w(r))}function Hc(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function xl(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function il(e,n){e=e|0,n=n|0,ge(t[e>>2]|0,n)}function D2(e,n){e=e|0,n=n|0,y0(t[e>>2]|0,n)}function qs(e,n){e=e|0,n=n|0,Qe(t[e>>2]|0,n)}function Rl(e,n){e=e|0,n=n|0,ji(t[e>>2]|0,n)}function id(e,n,r){e=e|0,n=n|0,r=+r,An(t[e>>2]|0,n,w(r))}function jo(e,n,r){e=e|0,n=n|0,r=+r,Nr(t[e>>2]|0,n,w(r))}function ja(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function Ha(e,n){e=e|0,n=n|0,nt(t[e>>2]|0,n)}function ca(e,n){e=e|0,n=+n,Mt(t[e>>2]|0,w(n))}function ws(e,n){e=e|0,n=+n,rn(t[e>>2]|0,w(n))}function Ss(e,n){e=e|0,n=+n,Lt(t[e>>2]|0,w(n))}function ts(e,n){e=e|0,n=+n,It(t[e>>2]|0,w(n))}function zo(e,n){e=e|0,n=+n,sn(t[e>>2]|0,w(n))}function Ef(e,n){e=e|0,n=+n,fn(t[e>>2]|0,w(n))}function ul(e,n){e=e|0,n=+n,Jn(t[e>>2]|0,w(n))}function Gu(e){e=e|0,wr(t[e>>2]|0)}function qa(e,n){e=e|0,n=+n,Nu(t[e>>2]|0,w(n))}function r0(e,n){e=e|0,n=+n,T0(t[e>>2]|0,w(n))}function j0(e){e=e|0,J0(t[e>>2]|0)}function Df(e,n){e=e|0,n=+n,_i(t[e>>2]|0,w(n))}function qc(e,n){e=e|0,n=+n,Fo(t[e>>2]|0,w(n))}function dc(e,n){e=e|0,n=+n,hf(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Sl(t[e>>2]|0,w(n))}function Ts(e,n){e=e|0,n=+n,Po(t[e>>2]|0,w(n))}function da(e,n){e=e|0,n=+n,ys(t[e>>2]|0,w(n))}function ud(e,n){e=e|0,n=+n,Io(t[e>>2]|0,w(n))}function pa(e,n){e=e|0,n=+n,bo(t[e>>2]|0,w(n))}function pc(e,n){e=e|0,n=+n,Qu(t[e>>2]|0,w(n))}function Wc(e,n,r){e=e|0,n=n|0,r=+r,Pt(t[e>>2]|0,n,w(r))}function qi(e,n,r){e=e|0,n=n|0,r=+r,it(t[e>>2]|0,n,w(r))}function g(e,n,r){e=e|0,n=n|0,r=+r,Dt(t[e>>2]|0,n,w(r))}function y(e){return e=e|0,ke(t[e>>2]|0)|0}function R(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Cr(l,t[n>>2]|0,r),F(e,l),m=u}function F(e,n){e=e|0,n=n|0,b(e,t[n+4>>2]|0,+w(C[n>>2]))}function b(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,U[e+8>>3]=r}function J(e){return e=e|0,G(t[e>>2]|0)|0}function ce(e){return e=e|0,Te(t[e>>2]|0)|0}function mt(e){return e=e|0,Re(t[e>>2]|0)|0}function xt(e){return e=e|0,Us(t[e>>2]|0)|0}function kt(e){return e=e|0,ht(t[e>>2]|0)|0}function xr(e){return e=e|0,B(t[e>>2]|0)|0}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,g0(l,t[n>>2]|0,r),F(e,l),m=u}function cu(e){return e=e|0,He(t[e>>2]|0)|0}function z0(e){return e=e|0,Ct(t[e>>2]|0)|0}function Ol(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Dn(u,t[n>>2]|0),F(e,u),m=r}function u0(e){return e=e|0,+ +w(pf(t[e>>2]|0))}function Ve(e){return e=e|0,+ +w(bs(t[e>>2]|0))}function Ue(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,au(u,t[n>>2]|0),F(e,u),m=r}function lt(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Lu(u,t[n>>2]|0),F(e,u),m=r}function $t(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,nl(u,t[n>>2]|0),F(e,u),m=r}function Wn(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,vf(u,t[n>>2]|0),F(e,u),m=r}function si(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,js(u,t[n>>2]|0),F(e,u),m=r}function ur(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,gs(u,t[n>>2]|0),F(e,u),m=r}function ci(e){return e=e|0,+ +w(Tu(t[e>>2]|0))}function Qi(e,n){return e=e|0,n=n|0,+ +w(un(t[e>>2]|0,n))}function Gr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,$e(l,t[n>>2]|0,r),F(e,l),m=u}function Cu(e,n,r){e=e|0,n=n|0,r=r|0,Ia(t[e>>2]|0,t[n>>2]|0,r)}function Wa(e,n){e=e|0,n=n|0,ku(t[e>>2]|0,t[n>>2]|0)}function Va(e){return e=e|0,Su(t[e>>2]|0)|0}function od(e){return e=e|0,e=fi(t[e>>2]|0)|0,e?e=cc(e)|0:e=0,e|0}function w2(e,n){return e=e|0,n=n|0,e=Ti(t[e>>2]|0,n)|0,e?e=cc(e)|0:e=0,e|0}function S2(e,n){e=e|0,n=n|0;var r=0,u=0;u=pn(4)|0,wf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(fa(n),_t(n)),ua(t[e>>2]|0,1)}function wf(e,n){e=e|0,n=n|0,ll(e,n)}function ld(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,ch(D,Bs(n)|0,+r,u,+l,s),C[e>>2]=w(+U[D>>3]),C[e+4>>2]=w(+U[D+8>>3]),m=h}function ch(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0,D=0,S=0,N=0,M=0;h=m,m=m+32|0,M=h+8|0,N=h+20|0,S=h,D=h+16|0,U[M>>3]=r,t[N>>2]=u,U[S>>3]=l,t[D>>2]=s,Vc(e,t[n+4>>2]|0,M,N,S,D),m=h}function Vc(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,Ma(D),n=yo(n)|0,dh(e,n,+U[r>>3],t[u>>2]|0,+U[l>>3],t[s>>2]|0),ka(D),m=h}function yo(e){return e=e|0,t[e>>2]|0}function dh(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0;h=go(ph()|0)|0,r=+Ml(r),u=sd(u)|0,l=+Ml(l),ad(e,Qr(0,h|0,n|0,+r,u|0,+l,sd(s)|0)|0)}function ph(){var e=0;return p[7608]|0||(Yc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function go(e){return e=e|0,t[e+8>>2]|0}function Ml(e){return e=+e,+ +Ga(e)}function sd(e){return e=e|0,cd(e)|0}function ad(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=n,u&1?(T2(r,0),eu(u|0,r|0)|0,Gc(e,r),Ir(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),m=l}function T2(e,n){e=e|0,n=n|0,fd(e,n),t[e+8>>2]=0,p[e+24>>0]=0}function Gc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Ir(e){e=e|0,p[e+24>>0]=0}function fd(e,n){e=e|0,n=n|0,t[e>>2]=n}function cd(e){return e=e|0,e|0}function Ga(e){return e=+e,+e}function Yc(e){e=e|0,ol(e,C2()|0,4)}function C2(){return 1064}function ol(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=bt(n|0,r+1|0)|0}function ll(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ri(n|0)}function hh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),_t(n)),ua(t[e>>2]|0,0)}function Sf(e){e=e|0,$r(t[e>>2]|0)}function Kc(e){return e=e|0,Zl(t[e>>2]|0)|0}function x2(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,ti(t[e>>2]|0,w(n),w(r),u)}function vh(e){return e=e|0,+ +w(Ei(t[e>>2]|0))}function sl(e){return e=e|0,+ +w(Z0(t[e>>2]|0))}function ha(e){return e=e|0,+ +w(C0(t[e>>2]|0))}function R2(e){return e=e|0,+ +w(Bo(t[e>>2]|0))}function A2(e){return e=e|0,+ +w(la(t[e>>2]|0))}function hc(e){return e=e|0,+ +w($l(t[e>>2]|0))}function mh(e,n){e=e|0,n=n|0,U[e>>3]=+w(Ei(t[n>>2]|0)),U[e+8>>3]=+w(Z0(t[n>>2]|0)),U[e+16>>3]=+w(C0(t[n>>2]|0)),U[e+24>>3]=+w(Bo(t[n>>2]|0)),U[e+32>>3]=+w(la(t[n>>2]|0)),U[e+40>>3]=+w($l(t[n>>2]|0))}function O2(e,n){return e=e|0,n=n|0,+ +w(tu(t[e>>2]|0,n))}function dd(e,n){return e=e|0,n=n|0,+ +w(ei(t[e>>2]|0,n))}function Xc(e,n){return e=e|0,n=n|0,+ +w(po(t[e>>2]|0,n))}function Qc(){return Pa()|0}function Ws(){M2(),va(),Jc(),vc(),mc(),pd()}function M2(){S7(11713,4938,1)}function va(){HA(10448)}function Jc(){SA(10408)}function vc(){GR(10324)}function mc(){$4(10096)}function pd(){yh(9132)}function yh(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0,os=0,ls=0,ss=0,ea=0,n2=0,r2=0,uf=0,i2=0,Fc=0,Pc=0,u2=0,o2=0,l2=0,vi=0,of=0,s2=0,Yf=0,a2=0,f2=0,Ic=0,bc=0,Kf=0,Hl=0,La=0,Ns=0,lf=0,I1=0,b1=0,Bc=0,B1=0,U1=0,ql=0,_l=0,sf=0,hu=0,j1=0,as=0,Xf=0,fs=0,Qf=0,z1=0,H1=0,Jf=0,Wl=0,af=0,q1=0,W1=0,V1=0,Sr=0,Bu=0,El=0,cs=0,Vl=0,Or=0,Bn=0,ff=0;n=m,m=m+672|0,r=n+656|0,ff=n+648|0,Bn=n+640|0,Or=n+632|0,Vl=n+624|0,cs=n+616|0,El=n+608|0,Bu=n+600|0,Sr=n+592|0,V1=n+584|0,W1=n+576|0,q1=n+568|0,af=n+560|0,Wl=n+552|0,Jf=n+544|0,H1=n+536|0,z1=n+528|0,Qf=n+520|0,fs=n+512|0,Xf=n+504|0,as=n+496|0,j1=n+488|0,hu=n+480|0,sf=n+472|0,_l=n+464|0,ql=n+456|0,U1=n+448|0,B1=n+440|0,Bc=n+432|0,b1=n+424|0,I1=n+416|0,lf=n+408|0,Ns=n+400|0,La=n+392|0,Hl=n+384|0,Kf=n+376|0,bc=n+368|0,Ic=n+360|0,f2=n+352|0,a2=n+344|0,Yf=n+336|0,s2=n+328|0,of=n+320|0,vi=n+312|0,l2=n+304|0,o2=n+296|0,u2=n+288|0,Pc=n+280|0,Fc=n+272|0,i2=n+264|0,uf=n+256|0,r2=n+248|0,n2=n+240|0,ea=n+232|0,ss=n+224|0,ls=n+216|0,os=n+208|0,uu=n+200|0,Nn=n+192|0,Pr=n+184|0,_r=n+176|0,gn=n+168|0,In=n+160|0,Br=n+152|0,Zt=n+144|0,Pe=n+136|0,Me=n+128|0,ft=n+120|0,Ge=n+112|0,Je=n+104|0,ye=n+96|0,Se=n+88|0,be=n+80|0,K=n+72|0,I=n+64|0,M=n+56|0,N=n+48|0,S=n+40|0,D=n+32|0,h=n+24|0,s=n+16|0,l=n+8|0,u=n,Tf(e,3646),Zc(e,3651,2)|0,gh(e,3665,2)|0,nm(e,3682,18)|0,t[ff>>2]=19,t[ff+4>>2]=0,t[r>>2]=t[ff>>2],t[r+4>>2]=t[ff+4>>2],Vs(e,3690,r)|0,t[Bn>>2]=1,t[Bn+4>>2]=0,t[r>>2]=t[Bn>>2],t[r+4>>2]=t[Bn+4>>2],ma(e,3696,r)|0,t[Or>>2]=2,t[Or+4>>2]=0,t[r>>2]=t[Or>>2],t[r+4>>2]=t[Or+4>>2],iu(e,3706,r)|0,t[Vl>>2]=1,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],M0(e,3722,r)|0,t[cs>>2]=2,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],M0(e,3734,r)|0,t[El>>2]=3,t[El+4>>2]=0,t[r>>2]=t[El>>2],t[r+4>>2]=t[El+4>>2],iu(e,3753,r)|0,t[Bu>>2]=4,t[Bu+4>>2]=0,t[r>>2]=t[Bu>>2],t[r+4>>2]=t[Bu+4>>2],iu(e,3769,r)|0,t[Sr>>2]=5,t[Sr+4>>2]=0,t[r>>2]=t[Sr>>2],t[r+4>>2]=t[Sr+4>>2],iu(e,3783,r)|0,t[V1>>2]=6,t[V1+4>>2]=0,t[r>>2]=t[V1>>2],t[r+4>>2]=t[V1+4>>2],iu(e,3796,r)|0,t[W1>>2]=7,t[W1+4>>2]=0,t[r>>2]=t[W1>>2],t[r+4>>2]=t[W1+4>>2],iu(e,3813,r)|0,t[q1>>2]=8,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],iu(e,3825,r)|0,t[af>>2]=3,t[af+4>>2]=0,t[r>>2]=t[af>>2],t[r+4>>2]=t[af+4>>2],M0(e,3843,r)|0,t[Wl>>2]=4,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],M0(e,3853,r)|0,t[Jf>>2]=9,t[Jf+4>>2]=0,t[r>>2]=t[Jf>>2],t[r+4>>2]=t[Jf+4>>2],iu(e,3870,r)|0,t[H1>>2]=10,t[H1+4>>2]=0,t[r>>2]=t[H1>>2],t[r+4>>2]=t[H1+4>>2],iu(e,3884,r)|0,t[z1>>2]=11,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],iu(e,3896,r)|0,t[Qf>>2]=1,t[Qf+4>>2]=0,t[r>>2]=t[Qf>>2],t[r+4>>2]=t[Qf+4>>2],o0(e,3907,r)|0,t[fs>>2]=2,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],o0(e,3915,r)|0,t[Xf>>2]=3,t[Xf+4>>2]=0,t[r>>2]=t[Xf>>2],t[r+4>>2]=t[Xf+4>>2],o0(e,3928,r)|0,t[as>>2]=4,t[as+4>>2]=0,t[r>>2]=t[as>>2],t[r+4>>2]=t[as+4>>2],o0(e,3948,r)|0,t[j1>>2]=5,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],o0(e,3960,r)|0,t[hu>>2]=6,t[hu+4>>2]=0,t[r>>2]=t[hu>>2],t[r+4>>2]=t[hu+4>>2],o0(e,3974,r)|0,t[sf>>2]=7,t[sf+4>>2]=0,t[r>>2]=t[sf>>2],t[r+4>>2]=t[sf+4>>2],o0(e,3983,r)|0,t[_l>>2]=20,t[_l+4>>2]=0,t[r>>2]=t[_l>>2],t[r+4>>2]=t[_l+4>>2],Vs(e,3999,r)|0,t[ql>>2]=8,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],o0(e,4012,r)|0,t[U1>>2]=9,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],o0(e,4022,r)|0,t[B1>>2]=21,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],Vs(e,4039,r)|0,t[Bc>>2]=10,t[Bc+4>>2]=0,t[r>>2]=t[Bc>>2],t[r+4>>2]=t[Bc+4>>2],o0(e,4053,r)|0,t[b1>>2]=11,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],o0(e,4065,r)|0,t[I1>>2]=12,t[I1+4>>2]=0,t[r>>2]=t[I1>>2],t[r+4>>2]=t[I1+4>>2],o0(e,4084,r)|0,t[lf>>2]=13,t[lf+4>>2]=0,t[r>>2]=t[lf>>2],t[r+4>>2]=t[lf+4>>2],o0(e,4097,r)|0,t[Ns>>2]=14,t[Ns+4>>2]=0,t[r>>2]=t[Ns>>2],t[r+4>>2]=t[Ns+4>>2],o0(e,4117,r)|0,t[La>>2]=15,t[La+4>>2]=0,t[r>>2]=t[La>>2],t[r+4>>2]=t[La+4>>2],o0(e,4129,r)|0,t[Hl>>2]=16,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],o0(e,4148,r)|0,t[Kf>>2]=17,t[Kf+4>>2]=0,t[r>>2]=t[Kf>>2],t[r+4>>2]=t[Kf+4>>2],o0(e,4161,r)|0,t[bc>>2]=18,t[bc+4>>2]=0,t[r>>2]=t[bc>>2],t[r+4>>2]=t[bc+4>>2],o0(e,4181,r)|0,t[Ic>>2]=5,t[Ic+4>>2]=0,t[r>>2]=t[Ic>>2],t[r+4>>2]=t[Ic+4>>2],M0(e,4196,r)|0,t[f2>>2]=6,t[f2+4>>2]=0,t[r>>2]=t[f2>>2],t[r+4>>2]=t[f2+4>>2],M0(e,4206,r)|0,t[a2>>2]=7,t[a2+4>>2]=0,t[r>>2]=t[a2>>2],t[r+4>>2]=t[a2+4>>2],M0(e,4217,r)|0,t[Yf>>2]=3,t[Yf+4>>2]=0,t[r>>2]=t[Yf>>2],t[r+4>>2]=t[Yf+4>>2],ns(e,4235,r)|0,t[s2>>2]=1,t[s2+4>>2]=0,t[r>>2]=t[s2>>2],t[r+4>>2]=t[s2+4>>2],Ya(e,4251,r)|0,t[of>>2]=4,t[of+4>>2]=0,t[r>>2]=t[of>>2],t[r+4>>2]=t[of+4>>2],ns(e,4263,r)|0,t[vi>>2]=5,t[vi+4>>2]=0,t[r>>2]=t[vi>>2],t[r+4>>2]=t[vi+4>>2],ns(e,4279,r)|0,t[l2>>2]=6,t[l2+4>>2]=0,t[r>>2]=t[l2>>2],t[r+4>>2]=t[l2+4>>2],ns(e,4293,r)|0,t[o2>>2]=7,t[o2+4>>2]=0,t[r>>2]=t[o2>>2],t[r+4>>2]=t[o2+4>>2],ns(e,4306,r)|0,t[u2>>2]=8,t[u2+4>>2]=0,t[r>>2]=t[u2>>2],t[r+4>>2]=t[u2+4>>2],ns(e,4323,r)|0,t[Pc>>2]=9,t[Pc+4>>2]=0,t[r>>2]=t[Pc>>2],t[r+4>>2]=t[Pc+4>>2],ns(e,4335,r)|0,t[Fc>>2]=2,t[Fc+4>>2]=0,t[r>>2]=t[Fc>>2],t[r+4>>2]=t[Fc+4>>2],Ya(e,4353,r)|0,t[i2>>2]=12,t[i2+4>>2]=0,t[r>>2]=t[i2>>2],t[r+4>>2]=t[i2+4>>2],io(e,4363,r)|0,t[uf>>2]=1,t[uf+4>>2]=0,t[r>>2]=t[uf>>2],t[r+4>>2]=t[uf+4>>2],al(e,4376,r)|0,t[r2>>2]=2,t[r2+4>>2]=0,t[r>>2]=t[r2>>2],t[r+4>>2]=t[r2+4>>2],al(e,4388,r)|0,t[n2>>2]=13,t[n2+4>>2]=0,t[r>>2]=t[n2>>2],t[r+4>>2]=t[n2+4>>2],io(e,4402,r)|0,t[ea>>2]=14,t[ea+4>>2]=0,t[r>>2]=t[ea>>2],t[r+4>>2]=t[ea+4>>2],io(e,4411,r)|0,t[ss>>2]=15,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],io(e,4421,r)|0,t[ls>>2]=16,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],io(e,4433,r)|0,t[os>>2]=17,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],io(e,4446,r)|0,t[uu>>2]=18,t[uu+4>>2]=0,t[r>>2]=t[uu>>2],t[r+4>>2]=t[uu+4>>2],io(e,4458,r)|0,t[Nn>>2]=3,t[Nn+4>>2]=0,t[r>>2]=t[Nn>>2],t[r+4>>2]=t[Nn+4>>2],al(e,4471,r)|0,t[Pr>>2]=1,t[Pr+4>>2]=0,t[r>>2]=t[Pr>>2],t[r+4>>2]=t[Pr+4>>2],yc(e,4486,r)|0,t[_r>>2]=10,t[_r+4>>2]=0,t[r>>2]=t[_r>>2],t[r+4>>2]=t[_r+4>>2],ns(e,4496,r)|0,t[gn>>2]=11,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],ns(e,4508,r)|0,t[In>>2]=3,t[In+4>>2]=0,t[r>>2]=t[In>>2],t[r+4>>2]=t[In+4>>2],Ya(e,4519,r)|0,t[Br>>2]=4,t[Br+4>>2]=0,t[r>>2]=t[Br>>2],t[r+4>>2]=t[Br+4>>2],k2(e,4530,r)|0,t[Zt>>2]=19,t[Zt+4>>2]=0,t[r>>2]=t[Zt>>2],t[r+4>>2]=t[Zt+4>>2],_h(e,4542,r)|0,t[Pe>>2]=12,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],Cf(e,4554,r)|0,t[Me>>2]=13,t[Me+4>>2]=0,t[r>>2]=t[Me>>2],t[r+4>>2]=t[Me+4>>2],xf(e,4568,r)|0,t[ft>>2]=2,t[ft+4>>2]=0,t[r>>2]=t[ft>>2],t[r+4>>2]=t[ft+4>>2],$c(e,4578,r)|0,t[Ge>>2]=20,t[Ge+4>>2]=0,t[r>>2]=t[Ge>>2],t[r+4>>2]=t[Ge+4>>2],kl(e,4587,r)|0,t[Je>>2]=22,t[Je+4>>2]=0,t[r>>2]=t[Je>>2],t[r+4>>2]=t[Je+4>>2],Vs(e,4602,r)|0,t[ye>>2]=23,t[ye+4>>2]=0,t[r>>2]=t[ye>>2],t[r+4>>2]=t[ye+4>>2],Vs(e,4619,r)|0,t[Se>>2]=14,t[Se+4>>2]=0,t[r>>2]=t[Se>>2],t[r+4>>2]=t[Se+4>>2],e1(e,4629,r)|0,t[be>>2]=1,t[be+4>>2]=0,t[r>>2]=t[be>>2],t[r+4>>2]=t[be+4>>2],ya(e,4637,r)|0,t[K>>2]=4,t[K+4>>2]=0,t[r>>2]=t[K>>2],t[r+4>>2]=t[K+4>>2],al(e,4653,r)|0,t[I>>2]=5,t[I+4>>2]=0,t[r>>2]=t[I>>2],t[r+4>>2]=t[I+4>>2],al(e,4669,r)|0,t[M>>2]=6,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],al(e,4686,r)|0,t[N>>2]=7,t[N+4>>2]=0,t[r>>2]=t[N>>2],t[r+4>>2]=t[N+4>>2],al(e,4701,r)|0,t[S>>2]=8,t[S+4>>2]=0,t[r>>2]=t[S>>2],t[r+4>>2]=t[S+4>>2],al(e,4719,r)|0,t[D>>2]=9,t[D+4>>2]=0,t[r>>2]=t[D>>2],t[r+4>>2]=t[D+4>>2],al(e,4736,r)|0,t[h>>2]=21,t[h+4>>2]=0,t[r>>2]=t[h>>2],t[r+4>>2]=t[h+4>>2],hd(e,4754,r)|0,t[s>>2]=2,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],yc(e,4772,r)|0,t[l>>2]=3,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],yc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],yc(e,4808,r)|0,m=n}function Tf(e,n){e=e|0,n=n|0;var r=0;r=rf()|0,t[e>>2]=r,Wo(r,n),$d(t[e>>2]|0)}function Zc(e,n,r){return e=e|0,n=n|0,r=r|0,Ot(e,Fr(n)|0,r,0),e|0}function gh(e,n,r){return e=e|0,n=n|0,r=r|0,c(e,Fr(n)|0,r,0),e|0}function nm(e,n,r){return e=e|0,n=n|0,r=r|0,Y4(e,Fr(n)|0,r,0),e|0}function Vs(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],U4(e,n,l),m=u,e|0}function ma(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],jl(e,n,l),m=u,e|0}function iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d(e,n,l),m=u,e|0}function M0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Tv(e,n,l),m=u,e|0}function o0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Xm(e,n,l),m=u,e|0}function ns(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Yd(e,n,l),m=u,e|0}function Ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Gd(e,n,l),m=u,e|0}function io(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],k0(e,n,l),m=u,e|0}function al(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wp(e,n,l),m=u,e|0}function yc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Mm(e,n,l),m=u,e|0}function k2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],l0(e,n,l),m=u,e|0}function _h(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Od(e,n,l),m=u,e|0}function Cf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Dm(e,n,l),m=u,e|0}function xf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ep(e,n,l),m=u,e|0}function $c(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],m1(e,n,l),m=u,e|0}function kl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Za(e,n,l),m=u,e|0}function e1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],U2(e,n,l),m=u,e|0}function ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],F2(e,n,l),m=u,e|0}function hd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],vd(e,n,l),m=u,e|0}function vd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ga(e,r,l,1),m=u}function Fr(e){return e=e|0,e|0}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=N2()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=t1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,md(s,u)|0,u),m=l}function N2(){var e=0,n=0;if(p[7616]|0||(fl(9136),Wt(24,9136,ve|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(sr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));fl(9136)}return 9136}function t1(e){return e=e|0,0}function md(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=N2()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Rf(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Af(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function wi(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0;h=m,m=m+32|0,K=h+24|0,I=h+20|0,S=h+16|0,M=h+12|0,N=h+8|0,D=h+4|0,be=h,t[I>>2]=n,t[S>>2]=r,t[M>>2]=u,t[N>>2]=l,t[D>>2]=s,s=e+28|0,t[be>>2]=t[s>>2],t[K>>2]=t[be>>2],L2(e+24|0,K,I,M,N,S,D)|0,t[s>>2]=t[t[s>>2]>>2],m=h}function L2(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,e=rm(n)|0,n=pn(24)|0,yd(n+4|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0,t[h>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function rm(e){return e=e|0,t[e>>2]|0}function yd(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function hn(e,n){return e=e|0,n=n|0,n|e|0}function Rf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Af(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=im(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Of(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Rf(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Eh(e,D),um(D),m=N;return}}function im(e){return e=e|0,357913941}function Of(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Eh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function um(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function fl(e){e=e|0,Ho(e)}function n1(e){e=e|0,qn(e+24|0)}function sr(e){return e=e|0,t[e>>2]|0}function qn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Ho(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,Vn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yr(){return 9228}function Vn(){return 1140}function cl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=_o(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=gc(n,u)|0,m=r,n|0}function jn(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function _o(e){return e=e|0,(t[(N2()|0)+24>>2]|0)+(e*12|0)|0}function gc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+48|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),P1[r&31](u,e),u=uo(u)|0,m=l,u|0}function uo(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(Ka()|0)|0,u?(rs(n,u),Mf(r,n),_c(e,r),e=Cs(n)|0):e=Ec(e)|0,m=l,e|0}function Ka(){var e=0;return p[7632]|0||(Nf(9184),Wt(25,9184,ve|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Iu(e){return e=e|0,t[e+36>>2]|0}function rs(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Mf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function _c(e,n){e=e|0,n=n|0,oo(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Cs(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function Ec(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;S=m,m=m+16|0,r=S+4|0,u=S,l=Oa(8)|0,s=l,h=pn(48)|0,D=h,n=D+48|0;do t[D>>2]=t[e>>2],D=D+4|0,e=e+4|0;while((D|0)<(n|0));return n=s+4|0,t[n>>2]=h,D=pn(8)|0,h=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Dh(D,h,r),t[l>>2]=D,m=S,s|0}function Dh(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function cn(e){e=e|0,Iv(e),_t(e)}function is(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function Eo(e){e=e|0,_t(e)}function oo(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,s=Ji(t[e>>2]|0,n,r,u,l,s,h)|0,h=e+4|0,t[(t[h>>2]|0)+8>>2]=s,t[(t[h>>2]|0)+8>>2]|0}function Ji(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0;var D=0,S=0;return D=m,m=m+16|0,S=D,Ma(S),e=yo(e)|0,h=Yr(e,+U[n>>3],+U[r>>3],+U[u>>3],+U[l>>3],+U[s>>3],+U[h>>3])|0,ka(S),m=D,h|0}function Yr(e,n,r,u,l,s,h){e=e|0,n=+n,r=+r,u=+u,l=+l,s=+s,h=+h;var D=0;return D=go(kf()|0)|0,n=+Ml(n),r=+Ml(r),u=+Ml(u),l=+Ml(l),s=+Ml(s),p0(0,D|0,e|0,+n,+r,+u,+l,+s,+ +Ml(h))|0}function kf(){var e=0;return p[7624]|0||(om(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function om(e){e=e|0,ol(e,Nl()|0,6)}function Nl(){return 1112}function Nf(e){e=e|0,Xa(e)}function Lf(e){e=e|0,gd(e+24|0),_d(e+16|0)}function gd(e){e=e|0,r1(e)}function _d(e){e=e|0,Dc(e)}function Dc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function r1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function Xa(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,p[e+40>>0]=0,p[e+41>>0]=0}function F2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ed(e,r,l,0),m=u}function Ed(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=i1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Ff(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,u1(s,u)|0,u),m=l}function i1(){var e=0,n=0;if(p[7640]|0||(Ll(9232),Wt(26,9232,ve|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(sr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ll(9232)}return 9232}function Ff(e){return e=e|0,0}function u1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=i1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Qa(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(o1(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Qa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function o1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=P2(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Dd(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Qa(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wc(e,D),l1(D),m=N;return}}function P2(e){return e=e|0,357913941}function Dd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function l1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Ll(e){e=e|0,I2(e)}function Ea(e){e=e|0,wh(e+24|0)}function wh(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function I2(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,b2()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function b2(){return 1144}function Sh(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,h=s+8|0,D=s,S=wd(e)|0,e=t[S+4>>2]|0,t[D>>2]=t[S>>2],t[D+4>>2]=e,t[h>>2]=t[D>>2],t[h+4>>2]=t[D+4>>2],Th(n,h,r,u,l),m=s}function wd(e){return e=e|0,(t[(i1()|0)+24>>2]|0)+(e*12|0)|0}function Th(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0,N=0;N=m,m=m+16|0,h=N+2|0,D=N+1|0,S=N,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),Fl(h,r),r=+us(h,r),Fl(D,u),u=+us(D,u),xs(S,l),S=Gs(S,l)|0,w8[s&1](e,r,u,S),m=N}function Fl(e,n){e=e|0,n=+n}function us(e,n){return e=e|0,n=+n,+ +Ch(n)}function xs(e,n){e=e|0,n=n|0}function Gs(e,n){return e=e|0,n=n|0,B2(n)|0}function B2(e){return e=e|0,e|0}function Ch(e){return e=+e,+e}function U2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],j2(e,r,l,1),m=u}function j2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=s1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,xh(s,u)|0,u),m=l}function s1(){var e=0,n=0;if(p[7648]|0||(f1(9268),Wt(27,9268,ve|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(sr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));f1(9268)}return 9268}function a1(e){return e=e|0,0}function xh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=s1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],z2(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(H2(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function z2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function H2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Rs(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Ja(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],z2(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Rh(e,D),du(D),m=N;return}}function Rs(e){return e=e|0,357913941}function Ja(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Rh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function du(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function f1(e){e=e|0,Pl(e)}function Ah(e){e=e|0,c1(e+24|0)}function c1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Pl(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,Oh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Oh(){return 1160}function q2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Mh(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=d1(n,u)|0,m=r,n|0}function Mh(e){return e=e|0,(t[(s1()|0)+24>>2]|0)+(e*12|0)|0}function d1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Il(Jp[r&31](e)|0)|0}function Il(e){return e=e|0,e&1|0}function Za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Da(e,r,l,0),m=u}function Da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=W2()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=V2(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,lm(s,u)|0,u),m=l}function W2(){var e=0,n=0;if(p[7656]|0||(Lh(9304),Wt(28,9304,ve|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(sr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lh(9304)}return 9304}function V2(e){return e=e|0,0}function lm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=W2()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],G2(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(kh(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function G2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function kh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Nh(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Y2(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],G2(s,u,r),t[S>>2]=(t[S>>2]|0)+12,sm(e,D),am(D),m=N;return}}function Nh(e){return e=e|0,357913941}function Y2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function sm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function am(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Lh(e){e=e|0,p1(e)}function fm(e){e=e|0,K2(e+24|0)}function K2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function p1(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,h1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h1(){return 1164}function v1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=wa(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],X2(n,l,r),m=u}function wa(e){return e=e|0,(t[(W2()|0)+24>>2]|0)+(e*12|0)|0}function X2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ys(l,r),r=Ks(l,r)|0,P1[u&31](e,r),Xs(l),m=s}function Ys(e,n){e=e|0,n=n|0,Q2(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,fa(e)}function Q2(e,n){e=e|0,n=n|0,Sa(e,n)}function Sa(e,n){e=e|0,n=n|0,t[e>>2]=n}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Sd(e,r,l,0),m=u}function Sd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Sc()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=J2(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Do(s,u)|0,u),m=l}function Sc(){var e=0,n=0;if(p[7664]|0||(Uh(9340),Wt(29,9340,ve|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(sr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uh(9340)}return 9340}function J2(e){return e=e|0,0}function Do(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Sc()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Fh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ph(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ph(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ih(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,bh(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Fh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,cm(e,D),Bh(D),m=N;return}}function Ih(e){return e=e|0,357913941}function bh(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function cm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Uh(e){e=e|0,jh(e)}function y1(e){e=e|0,Z2(e+24|0)}function Z2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function jh(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,$2()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $2(){return 1180}function zh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=dm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=pm(n,l,r)|0,m=u,r|0}function dm(e){return e=e|0,(t[(Sc()|0)+24>>2]|0)+(e*12|0)|0}function pm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Pf(l,r),l=If(l,r)|0,l=Td(FE[u&15](e,l)|0)|0,m=s,l|0}function Pf(e,n){e=e|0,n=n|0}function If(e,n){return e=e|0,n=n|0,hm(n)|0}function Td(e){return e=e|0,e|0}function hm(e){return e=e|0,e|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Cd(e,r,l,0),m=u}function Cd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=tp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Hh(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,np(s,u)|0,u),m=l}function tp(){var e=0,n=0;if(p[7672]|0||(Vh(9376),Wt(30,9376,ve|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(sr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vh(9376)}return 9376}function Hh(e){return e=e|0,0}function np(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=tp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],qh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Wh(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function qh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=rp(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,vm(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],qh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,mm(e,D),ym(D),m=N;return}}function rp(e){return e=e|0,357913941}function vm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function mm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ym(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Vh(e){e=e|0,ip(e)}function g1(e){e=e|0,gm(e+24|0)}function gm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ip(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,up()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function up(){return 1196}function _m(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Em(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Gh(n,u)|0,m=r,n|0}function Em(e){return e=e|0,(t[(tp()|0)+24>>2]|0)+(e*12|0)|0}function Gh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Td(Jp[r&31](e)|0)|0}function Dm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wm(e,r,l,1),m=u}function wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=op()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=lp(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Ta(s,u)|0,u),m=l}function op(){var e=0,n=0;if(p[7680]|0||(ap(9412),Wt(31,9412,ve|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(sr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ap(9412)}return 9412}function lp(e){return e=e|0,0}function Ta(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=op()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],_1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(sp(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function _1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function sp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Yh(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,xd(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],_1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,E1(e,D),Kh(D),m=N;return}}function Yh(e){return e=e|0,357913941}function xd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function E1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Kh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function ap(e){e=e|0,Qh(e)}function Xh(e){e=e|0,fp(e+24|0)}function fp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Qh(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jh(){return 1200}function cp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Rd(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Ad(n,u)|0,m=r,n|0}function Rd(e){return e=e|0,(t[(op()|0)+24>>2]|0)+(e*12|0)|0}function Ad(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),H0(Jp[r&31](e)|0)|0}function H0(e){return e=e|0,e|0}function Od(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ca(e,r,l,0),m=u}function Ca(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=$a()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Md(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,kd(s,u)|0,u),m=l}function $a(){var e=0,n=0;if(p[7688]|0||(hp(9448),Wt(32,9448,ve|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(sr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9448)}return 9448}function Md(e){return e=e|0,0}function kd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=$a()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],dp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Nd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Zh(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Sm(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],dp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,$h(e,D),pp(D),m=N;return}}function Zh(e){return e=e|0,357913941}function Sm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function $h(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function pp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function hp(e){e=e|0,Cm(e)}function vp(e){e=e|0,Tm(e+24|0)}function Tm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Cm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,wo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wo(){return 1204}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=xm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],dl(n,l,r),m=u}function xm(e){return e=e|0,(t[($a()|0)+24>>2]|0)+(e*12|0)|0}function dl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),tr(l,r),l=Qs(l,r)|0,P1[u&31](e,l),m=s}function tr(e,n){e=e|0,n=n|0}function Qs(e,n){return e=e|0,n=n|0,pl(n)|0}function pl(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ev(e,r,l,0),m=u}function ev(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Js()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=mp(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Rm(s,u)|0,u),m=l}function Js(){var e=0,n=0;if(p[7696]|0||(_p(9484),Wt(33,9484,ve|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(sr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));_p(9484)}return 9484}function mp(e){return e=e|0,0}function Rm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Js()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],tv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yp(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Am(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,gp(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],tv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Tc(e,D),xa(D),m=N;return}}function Am(e){return e=e|0,357913941}function gp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Tc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function _p(e){e=e|0,Yu(e)}function Fd(e){e=e|0,bu(e+24|0)}function bu(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Yu(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,Ep()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ep(){return 1212}function Dp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nv(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],Om(n,s,r,u),m=l}function nv(e){return e=e|0,(t[(Js()|0)+24>>2]|0)+(e*12|0)|0}function Om(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),tr(s,r),s=Qs(s,r)|0,Pf(h,u),h=If(h,u)|0,Ry[l&15](e,s,h),m=D}function Mm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],km(e,r,l,1),m=u}function km(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Pd()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=rv(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Cc(s,u)|0,u),m=l}function Pd(){var e=0,n=0;if(p[7704]|0||(iv(9520),Wt(34,9520,ve|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(sr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));iv(9520)}return 9520}function rv(e){return e=e|0,0}function Cc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Pd()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],D1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Nm(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function D1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Nm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Id(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,w1(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],D1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,bl(e,D),Ra(D),m=N;return}}function Id(e){return e=e|0,357913941}function w1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function bl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ra(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function iv(e){e=e|0,ov(e)}function Lm(e){e=e|0,uv(e+24|0)}function uv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ov(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,Fm()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fm(){return 1224}function lv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;return l=m,m=m+16|0,s=l+8|0,h=l,D=Aa(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],u=+Mr(n,s,r),m=l,+u}function Aa(e){return e=e|0,(t[(Pd()|0)+24>>2]|0)+(e*12|0)|0}function Mr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,h=+Ga(+T8[u&7](e,l)),m=s,+h}function wp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],hl(e,r,l,1),m=u}function hl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=gu()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=S1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Ui(s,u)|0,u),m=l}function gu(){var e=0,n=0;if(p[7712]|0||(Tp(9556),Wt(35,9556,ve|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(sr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Tp(9556)}return 9556}function S1(e){return e=e|0,0}function Ui(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=gu()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Sp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(bd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Sp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function bd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=So(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,As(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Sp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,bf(e,D),Bd(D),m=N;return}}function So(e){return e=e|0,357913941}function As(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function bf(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Tp(e){e=e|0,Cp(e)}function T1(e){e=e|0,C1(e+24|0)}function C1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Cp(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,nr()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function nr(){return 1232}function vl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=Gn(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=+q0(n,l),m=u,+r}function Gn(e){return e=e|0,(t[(gu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ga(+S8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ud(e,r,l,1),m=u}function Ud(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Bl()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=x1(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,xc(s,u)|0,u),m=l}function Bl(){var e=0,n=0;if(p[7720]|0||(Hd(9592),Wt(36,9592,ve|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(sr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hd(9592)}return 9592}function x1(e){return e=e|0,0}function xc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Bl()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Rc(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Rc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=xp(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,N0(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Rc(s,u,r),t[S>>2]=(t[S>>2]|0)+12,dn(e,D),zd(D),m=N;return}}function xp(e){return e=e|0,357913941}function N0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function dn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function zd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Hd(e){e=e|0,Mc(e)}function Ac(e){e=e|0,Oc(e+24|0)}function Oc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Mc(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,R1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function R1(){return 1276}function Rp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=ef(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Pm(n,u)|0,m=r,n|0}function ef(e){return e=e|0,(t[(Bl()|0)+24>>2]|0)+(e*12|0)|0}function Pm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+16|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),P1[r&31](u,e),u=kc(u)|0,m=l,u|0}function kc(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(qd()|0)|0,u?(rs(n,u),Mf(r,n),sv(e,r),e=Cs(n)|0):e=A1(e)|0,m=l,e|0}function qd(){var e=0;return p[7736]|0||(qo(9640),Wt(25,9640,ve|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function sv(e,n){e=e|0,n=n|0,Nc(n,e,e+8|0)|0}function A1(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(16)|0,t[D>>2]=t[e>>2],t[D+4>>2]=t[e+4>>2],t[D+8>>2]=t[e+8>>2],t[D+12>>2]=t[e+12>>2],s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Bf(e,s,l),t[u>>2]=e,m=r,n|0}function Bf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Uf(e){e=e|0,Iv(e),_t(e)}function O1(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function Ul(e){e=e|0,_t(e)}function Nc(e,n,r){return e=e|0,n=n|0,r=r|0,n=jf(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function jf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return u=m,m=m+16|0,l=u,Ma(l),e=yo(e)|0,r=Im(e,t[n>>2]|0,+U[r>>3])|0,ka(l),m=u,r|0}function Im(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=go(ml()|0)|0,n=sd(n)|0,Hr(0,u|0,e|0,n|0,+ +Ml(r))|0}function ml(){var e=0;return p[7728]|0||(Wd(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function Wd(e){e=e|0,ol(e,Vd()|0,2)}function Vd(){return 1264}function qo(e){e=e|0,Xa(e)}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bm(e,r,l,1),m=u}function bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=M1()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Bm(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Um(s,u)|0,u),m=l}function M1(){var e=0,n=0;if(p[7744]|0||(cv(9684),Wt(37,9684,ve|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(sr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cv(9684)}return 9684}function Bm(e){return e=e|0,0}function Um(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=M1()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],av(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jm(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fv(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,zm(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],av(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Hm(e,D),qm(D),m=N;return}}function fv(e){return e=e|0,357913941}function zm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Hm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function qm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function cv(e){e=e|0,Vm(e)}function Wm(e){e=e|0,Ap(e+24|0)}function Ap(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Vm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,zf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zf(){return 1280}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=pv(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=hv(n,l,r)|0,m=u,r|0}function pv(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function hv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return h=m,m=m+32|0,l=h,s=h+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(s,r),s=Gs(s,r)|0,Ry[u&15](l,e,s),s=kc(l)|0,m=h,s|0}function Yd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Kd(e,r,l,1),m=u}function Kd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Op()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=vv(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Xd(s,u)|0,u),m=l}function Op(){var e=0,n=0;if(p[7752]|0||(Ev(9720),Wt(38,9720,ve|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(sr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ev(9720)}return 9720}function vv(e){return e=e|0,0}function Xd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Op()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],mv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yv(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function mv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Mp(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,gv(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],mv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_v(e,D),Gm(D),m=N;return}}function Mp(e){return e=e|0,357913941}function gv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _v(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Gm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Ev(e){e=e|0,Dv(e)}function Ym(e){e=e|0,Qd(e+24|0)}function Qd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Dv(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,kp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function kp(){return 1288}function Km(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=s0(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Np(n,u)|0,m=r,n|0}function s0(e){return e=e|0,(t[(Op()|0)+24>>2]|0)+(e*12|0)|0}function Np(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),cd(Jp[r&31](e)|0)|0}function Xm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Qm(e,r,l,0),m=u}function Qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Lp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=tf(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Fp(s,u)|0,u),m=l}function Lp(){var e=0,n=0;if(p[7760]|0||(bp(9756),Wt(39,9756,ve|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(sr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));bp(9756)}return 9756}function tf(e){return e=e|0,0}function Fp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Lp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Pp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ip(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Jm(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Zm(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Pp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wv(e,D),Hf(D),m=N;return}}function Jm(e){return e=e|0,357913941}function Zm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Hf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function bp(e){e=e|0,ey(e)}function Sv(e){e=e|0,$m(e+24|0)}function $m(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ey(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,Bp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Bp(){return 1292}function Up(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=ty(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ny(n,l,r),m=u}function ty(e){return e=e|0,(t[(Lp()|0)+24>>2]|0)+(e*12|0)|0}function ny(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Fl(l,r),r=+us(l,r),E8[u&31](e,r),m=s}function Tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],jp(e,r,l,0),m=u}function jp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=zp()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Jd(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,ry(s,u)|0,u),m=l}function zp(){var e=0,n=0;if(p[7768]|0||(Hp(9792),Wt(40,9792,ve|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(sr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hp(9792)}return 9792}function Jd(e){return e=e|0,0}function ry(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=zp()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],k1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(iy(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function k1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function iy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Cv(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,xv(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],k1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,uy(e,D),qf(D),m=N;return}}function Cv(e){return e=e|0,357913941}function xv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function uy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function qf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function Hp(e){e=e|0,ly(e)}function Rv(e){e=e|0,oy(e+24|0)}function oy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function ly(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,qp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qp(){return 1300}function sy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=Zs(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],ay(n,s,r,u),m=l}function Zs(e){return e=e|0,(t[(zp()|0)+24>>2]|0)+(e*12|0)|0}function ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),xs(s,r),s=Gs(s,r)|0,Fl(h,u),u=+us(h,u),A8[l&15](e,s,u),m=D}function d(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],v(e,r,l,0),m=u}function v(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=x()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=P(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,q(s,u)|0,u),m=l}function x(){var e=0,n=0;if(p[7776]|0||(At(9828),Wt(41,9828,ve|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(sr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));At(9828)}return 9828}function P(e){return e=e|0,0}function q(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=x()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ee(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(de(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function de(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=_e(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,Ie(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ee(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Et(e,D),St(D),m=N;return}}function _e(e){return e=e|0,357913941}function Ie(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Et(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function St(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function At(e){e=e|0,rr(e)}function on(e){e=e|0,kn(e+24|0)}function kn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function rr(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,br()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function br(){return 1312}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=ui(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],di(n,l,r),m=u}function ui(e){return e=e|0,(t[(x()|0)+24>>2]|0)+(e*12|0)|0}function di(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,P1[u&31](e,l),m=s}function jl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Zi(e,r,l,0),m=u}function Zi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=lo()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a0(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,Os(s,u)|0,u),m=l}function lo(){var e=0,n=0;if(p[7784]|0||(qg(9864),Wt(42,9864,ve|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(sr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));qg(9864)}return 9864}function a0(e){return e=e|0,0}function Os(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=lo()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],To(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Av(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function To(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=k4(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,fy(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],To(s,u,r),t[S>>2]=(t[S>>2]|0)+12,cy(e,D),nf(D),m=N;return}}function k4(e){return e=e|0,357913941}function fy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function cy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function nf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function qg(e){e=e|0,F4(e)}function N4(e){e=e|0,L4(e+24|0)}function L4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function F4(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,P4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function P4(){return 1320}function dy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=I4(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],b4(n,l,r),m=u}function I4(e){return e=e|0,(t[(lo()|0)+24>>2]|0)+(e*12|0)|0}function b4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),py(l,r),l=Wg(l,r)|0,P1[u&31](e,l),m=s}function py(e,n){e=e|0,n=n|0}function Wg(e,n){return e=e|0,n=n|0,B4(n)|0}function B4(e){return e=e|0,e|0}function U4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Vg(e,r,l,0),m=u}function Vg(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Wf()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=Gg(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,j4(s,u)|0,u),m=l}function Wf(){var e=0,n=0;if(p[7792]|0||(my(9900),Wt(43,9900,ve|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(sr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));my(9900)}return 9900}function Gg(e){return e=e|0,0}function j4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=Wf()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(z4(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function Wp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function z4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ov(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,hy(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,vy(e,D),H4(D),m=N;return}}function Ov(e){return e=e|0,357913941}function hy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function vy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function H4(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function my(e){e=e|0,Yg(e)}function q4(e){e=e|0,W4(e+24|0)}function W4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function Yg(e){e=e|0;var n=0;n=yr()|0,jn(e,2,22,n,V4()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function V4(){return 1344}function G4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;r=m,m=m+16|0,u=r+8|0,l=r,s=Kg(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],Mv(n,u),m=r}function Kg(e){return e=e|0,(t[(Wf()|0)+24>>2]|0)+(e*12|0)|0}function Mv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),F1[r&127](e)}function Y4(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=yy()|0,e=K4(r)|0,wi(s,n,l,e,X4(r,u)|0,u)}function yy(){var e=0,n=0;if(p[7800]|0||(_y(9936),Wt(44,9936,ve|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(sr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));_y(9936)}return 9936}function K4(e){return e=e|0,e|0}function X4(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=yy()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(gy(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Xg(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function gy(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Xg(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Qg(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Jg(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,gy(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Zg(e,l),$g(l),m=D;return}}function Qg(e){return e=e|0,536870911}function Jg(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Zg(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function $g(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function _y(e){e=e|0,t_(e)}function e_(e){e=e|0,Q4(e+24|0)}function Q4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function t_(e){e=e|0;var n=0;n=yr()|0,jn(e,1,23,n,wo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function J4(e,n){e=e|0,n=n|0,f(t[(Z4(e)|0)>>2]|0,n)}function Z4(e){return e=e|0,(t[(yy()|0)+24>>2]|0)+(e<<3)|0}function f(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,tr(u,n),n=Qs(u,n)|0,F1[e&127](n),m=r}function c(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=E()|0,e=T(r)|0,wi(s,n,l,e,A(r,u)|0,u)}function E(){var e=0,n=0;if(p[7808]|0||(pt(9972),Wt(45,9972,ve|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(sr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pt(9972)}return 9972}function T(e){return e=e|0,e|0}function A(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=E()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(V(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function V(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=te(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,le(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Be(e,l),Ke(l),m=D;return}}function te(e){return e=e|0,536870911}function le(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Be(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ke(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function pt(e){e=e|0,zt(e)}function Nt(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function zt(e){e=e|0;var n=0;n=yr()|0,jn(e,1,9,n,yn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yn(){return 1348}function kr(e,n){return e=e|0,n=n|0,Oi(t[(oi(e)|0)>>2]|0,n)|0}function oi(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e<<3)|0}function Oi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,L0(u,n),n=$i(u,n)|0,n=Td(Jp[e&31](n)|0)|0,m=r,n|0}function L0(e,n){e=e|0,n=n|0}function $i(e,n){return e=e|0,n=n|0,ot(n)|0}function ot(e){return e=e|0,e|0}function Ot(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=Ze()|0,e=Ut(r)|0,wi(s,n,l,e,Pn(r,u)|0,u)}function Ze(){var e=0,n=0;if(p[7816]|0||(Kr(10008),Wt(46,10008,ve|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(sr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kr(10008)}return 10008}function Ut(e){return e=e|0,e|0}function Pn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=Ze()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(vn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Wi(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function vn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Wi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=pi(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Ku(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,vn(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,hr(e,l),pu(l),m=D;return}}function pi(e){return e=e|0,536870911}function Ku(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function hr(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function pu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Kr(e){e=e|0,W0(e)}function xu(e){e=e|0,w0(e+24|0)}function w0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function W0(e){e=e|0;var n=0;n=yr()|0,jn(e,1,15,n,up()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ms(e){return e=e|0,yl(t[(Xu(e)|0)>>2]|0)|0}function Xu(e){return e=e|0,(t[(Ze()|0)+24>>2]|0)+(e<<3)|0}function yl(e){return e=e|0,Td(g_[e&7]()|0)|0}function rf(){var e=0;return p[7832]|0||(r_(10052),Wt(25,10052,ve|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Wo(e,n){e=e|0,n=n|0,t[e>>2]=ks()|0,t[e+4>>2]=Zd()|0,t[e+12>>2]=n,t[e+8>>2]=Vf()|0,t[e+32>>2]=2}function ks(){return 11709}function Zd(){return 1188}function Vf(){return N1()|0}function Lc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(Vo(r),_t(r)):n|0&&(Ds(n),_t(n))}function zl(e,n){return e=e|0,n=n|0,n&e|0}function Vo(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function N1(){var e=0;return p[7824]|0||(t[2511]=n_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function n_(){return 0}function r_(e){e=e|0,Xa(e)}function $4(e){e=e|0;var n=0,r=0,u=0,l=0,s=0;n=m,m=m+32|0,r=n+24|0,s=n+16|0,l=n+8|0,u=n,i_(e,4827),eE(e,4834,3)|0,tE(e,3682,47)|0,t[s>>2]=9,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Ey(e,4841,r)|0,t[l>>2]=1,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],u_(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],nE(e,4891,r)|0,m=n}function i_(e,n){e=e|0,n=n|0;var r=0;r=BR()|0,t[e>>2]=r,UR(r,n),$d(t[e>>2]|0)}function eE(e,n,r){return e=e|0,n=n|0,r=r|0,wR(e,Fr(n)|0,r,0),e|0}function tE(e,n,r){return e=e|0,n=n|0,r=r|0,lR(e,Fr(n)|0,r,0),e|0}function Ey(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],H9(e,n,l),m=u,e|0}function u_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],S9(e,n,l),m=u,e|0}function nE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],rE(e,n,l),m=u,e|0}function rE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],iE(e,r,l,1),m=u}function iE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=uE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=a9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,f9(s,u)|0,u),m=l}function uE(){var e=0,n=0;if(p[7840]|0||(rw(10100),Wt(48,10100,ve|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(sr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));rw(10100)}return 10100}function a9(e){return e=e|0,0}function f9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=uE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],nw(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(c9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function nw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function c9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=d9(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,p9(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],nw(s,u,r),t[S>>2]=(t[S>>2]|0)+12,h9(e,D),v9(D),m=N;return}}function d9(e){return e=e|0,357913941}function p9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function h9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function v9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function rw(e){e=e|0,g9(e)}function m9(e){e=e|0,y9(e+24|0)}function y9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function g9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,_9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function _9(){return 1364}function E9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=D9(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=w9(n,l,r)|0,m=u,r|0}function D9(e){return e=e|0,(t[(uE()|0)+24>>2]|0)+(e*12|0)|0}function w9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(l,r),l=Gs(l,r)|0,l=Il(FE[u&15](e,l)|0)|0,m=s,l|0}function S9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],T9(e,r,l,0),m=u}function T9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=oE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=C9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,x9(s,u)|0,u),m=l}function oE(){var e=0,n=0;if(p[7848]|0||(uw(10136),Wt(49,10136,ve|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(sr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));uw(10136)}return 10136}function C9(e){return e=e|0,0}function x9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=oE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],iw(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(R9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function iw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function R9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=A9(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,O9(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],iw(s,u,r),t[S>>2]=(t[S>>2]|0)+12,M9(e,D),k9(D),m=N;return}}function A9(e){return e=e|0,357913941}function O9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function M9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function k9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function uw(e){e=e|0,F9(e)}function N9(e){e=e|0,L9(e+24|0)}function L9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function F9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,9,n,P9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function P9(){return 1372}function I9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=b9(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],B9(n,l,r),m=u}function b9(e){return e=e|0,(t[(oE()|0)+24>>2]|0)+(e*12|0)|0}function B9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=Tt;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),U9(l,r),h=w(j9(l,r)),_8[u&1](e,h),m=s}function U9(e,n){e=e|0,n=+n}function j9(e,n){return e=e|0,n=+n,w(z9(n))}function z9(e){return e=+e,w(e)}function H9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Fr(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],q9(e,r,l,0),m=u}function q9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,N=0,M=0;l=m,m=m+32|0,s=l+16|0,M=l+8|0,D=l,N=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=lE()|0,t[M>>2]=N,t[M+4>>2]=S,t[s>>2]=t[M>>2],t[s+4>>2]=t[M+4>>2],r=W9(s)|0,t[D>>2]=N,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],wi(h,n,e,r,V9(s,u)|0,u),m=l}function lE(){var e=0,n=0;if(p[7856]|0||(lw(10172),Wt(50,10172,ve|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(sr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lw(10172)}return 10172}function W9(e){return e=e|0,0}function V9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0;return M=m,m=m+32|0,l=M+24|0,h=M+16|0,D=M,S=M+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,I=lE()|0,N=I+24|0,e=hn(n,4)|0,t[S>>2]=e,n=I+28|0,r=t[n>>2]|0,r>>>0<(t[I+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ow(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(G9(N,D,S),e=t[n>>2]|0),m=M,((e-(t[N>>2]|0)|0)/12|0)+-1|0}function ow(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function G9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;if(N=m,m=m+48|0,u=N+32|0,h=N+24|0,D=N,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Y9(e)|0,s>>>0>>0)hi(e);else{M=t[e>>2]|0,K=((t[e+8>>2]|0)-M|0)/12|0,I=K<<1,K9(D,K>>>0>>1>>>0?I>>>0>>0?l:I:s,((t[S>>2]|0)-M|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ow(s,u,r),t[S>>2]=(t[S>>2]|0)+12,X9(e,D),Q9(D),m=N;return}}function Y9(e){return e=e|0,357913941}function K9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{l=pn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function X9(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Q9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&_t(e)}function lw(e){e=e|0,$9(e)}function J9(e){e=e|0,Z9(e+24|0)}function Z9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),_t(r))}function $9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,eR()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eR(){return 1380}function tR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nR(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],rR(n,s,r,u),m=l}function nR(e){return e=e|0,(t[(lE()|0)+24>>2]|0)+(e*12|0)|0}function rR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),xs(s,r),s=Gs(s,r)|0,iR(h,u),h=uR(h,u)|0,Ry[l&15](e,s,h),m=D}function iR(e,n){e=e|0,n=n|0}function uR(e,n){return e=e|0,n=n|0,oR(n)|0}function oR(e){return e=e|0,(e|0)!=0|0}function lR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=sE()|0,e=sR(r)|0,wi(s,n,l,e,aR(r,u)|0,u)}function sE(){var e=0,n=0;if(p[7864]|0||(aw(10208),Wt(51,10208,ve|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(sr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));aw(10208)}return 10208}function sR(e){return e=e|0,e|0}function aR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=sE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(sw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fR(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function sw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cR(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,dR(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,sw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pR(e,l),hR(l),m=D;return}}function cR(e){return e=e|0,536870911}function dR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function aw(e){e=e|0,yR(e)}function vR(e){e=e|0,mR(e+24|0)}function mR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function yR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,24,n,gR()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gR(){return 1392}function _R(e,n){e=e|0,n=n|0,DR(t[(ER(e)|0)>>2]|0,n)}function ER(e){return e=e|0,(t[(sE()|0)+24>>2]|0)+(e<<3)|0}function DR(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,L0(u,n),n=$i(u,n)|0,F1[e&127](n),m=r}function wR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=aE()|0,e=SR(r)|0,wi(s,n,l,e,TR(r,u)|0,u)}function aE(){var e=0,n=0;if(p[7872]|0||(cw(10244),Wt(52,10244,ve|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(sr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cw(10244)}return 10244}function SR(e){return e=e|0,e|0}function TR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=aE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(fw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(CR(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function fw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function CR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=xR(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,RR(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,fw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,AR(e,l),OR(l),m=D;return}}function xR(e){return e=e|0,536870911}function RR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function AR(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function OR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function cw(e){e=e|0,NR(e)}function MR(e){e=e|0,kR(e+24|0)}function kR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function NR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,16,n,LR()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function LR(){return 1400}function FR(e){return e=e|0,IR(t[(PR(e)|0)>>2]|0)|0}function PR(e){return e=e|0,(t[(aE()|0)+24>>2]|0)+(e<<3)|0}function IR(e){return e=e|0,bR(g_[e&7]()|0)|0}function bR(e){return e=e|0,e|0}function BR(){var e=0;return p[7880]|0||(VR(10280),Wt(25,10280,ve|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function UR(e,n){e=e|0,n=n|0,t[e>>2]=jR()|0,t[e+4>>2]=zR()|0,t[e+12>>2]=n,t[e+8>>2]=HR()|0,t[e+32>>2]=4}function jR(){return 11711}function zR(){return 1356}function HR(){return N1()|0}function qR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(WR(r),_t(r)):n|0&&(no(n),_t(n))}function WR(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function VR(e){e=e|0,Xa(e)}function GR(e){e=e|0,YR(e,4920),KR(e)|0,XR(e)|0}function YR(e,n){e=e|0,n=n|0;var r=0;r=qd()|0,t[e>>2]=r,mA(r,n),$d(t[e>>2]|0)}function KR(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,oA()|0),e|0}function XR(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,QR()|0),e|0}function QR(){var e=0;return p[7888]|0||(dw(10328),Wt(53,10328,ve|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),sr(10328)|0||dw(10328),10328}function Vp(e,n){e=e|0,n=n|0,wi(e,0,n,0,0,0)}function dw(e){e=e|0,$R(e),Gp(e,10)}function JR(e){e=e|0,ZR(e+24|0)}function ZR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function $R(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,rA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eA(e,n,r){e=e|0,n=n|0,r=+r,tA(e,n,r)}function Gp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function tA(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,s=u+8|0,D=u+13|0,l=u,h=u+12|0,xs(D,n),t[s>>2]=Gs(D,n)|0,Fl(h,r),U[l>>3]=+us(h,r),nA(e,s,l),m=u}function nA(e,n,r){e=e|0,n=n|0,r=r|0,b(e+8|0,t[n>>2]|0,+U[r>>3]),p[e+24>>0]=1}function rA(){return 1404}function iA(e,n){return e=e|0,n=+n,uA(e,n)|0}function uA(e,n){e=e|0,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,s=u+4|0,h=u+8|0,D=u,l=Oa(8)|0,r=l,S=pn(16)|0,xs(s,e),e=Gs(s,e)|0,Fl(h,n),b(S,e,+us(h,n)),h=r+4|0,t[h>>2]=S,e=pn(8)|0,h=t[h>>2]|0,t[D>>2]=0,t[s>>2]=t[D>>2],Bf(e,h,s),t[l>>2]=e,m=u,r|0}function oA(){var e=0;return p[7896]|0||(pw(10364),Wt(54,10364,ve|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),sr(10364)|0||pw(10364),10364}function pw(e){e=e|0,aA(e),Gp(e,55)}function lA(e){e=e|0,sA(e+24|0)}function sA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function aA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,4,n,pA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fA(e){e=e|0,cA(e)}function cA(e){e=e|0,dA(e)}function dA(e){e=e|0,hw(e+8|0),p[e+24>>0]=1}function hw(e){e=e|0,t[e>>2]=0,U[e+8>>3]=0}function pA(){return 1424}function hA(){return vA()|0}function vA(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,u=pn(16)|0,hw(u),s=e+4|0,t[s>>2]=u,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Bf(u,s,l),t[r>>2]=u,m=n,e|0}function mA(e,n){e=e|0,n=n|0,t[e>>2]=yA()|0,t[e+4>>2]=gA()|0,t[e+12>>2]=n,t[e+8>>2]=_A()|0,t[e+32>>2]=5}function yA(){return 11710}function gA(){return 1416}function _A(){return o_()|0}function EA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(DA(r),_t(r)):n|0&&_t(n)}function DA(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function o_(){var e=0;return p[7904]|0||(t[2600]=wA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function wA(){return t[357]|0}function SA(e){e=e|0,TA(e,4926),CA(e)|0}function TA(e,n){e=e|0,n=n|0;var r=0;r=Ka()|0,t[e>>2]=r,IA(r,n),$d(t[e>>2]|0)}function CA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,xA()|0),e|0}function xA(){var e=0;return p[7912]|0||(vw(10412),Wt(56,10412,ve|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),sr(10412)|0||vw(10412),10412}function vw(e){e=e|0,OA(e),Gp(e,57)}function RA(e){e=e|0,AA(e+24|0)}function AA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function OA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,5,n,LA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MA(e){e=e|0,kA(e)}function kA(e){e=e|0,NA(e)}function NA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));p[e+56>>0]=1}function LA(){return 1432}function FA(){return PA()|0}function PA(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0;h=m,m=m+16|0,e=h+4|0,n=h,r=Oa(8)|0,u=r,l=pn(48)|0,s=l,D=s+48|0;do t[s>>2]=0,s=s+4|0;while((s|0)<(D|0));return s=u+4|0,t[s>>2]=l,D=pn(8)|0,s=t[s>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Dh(D,s,e),t[r>>2]=D,m=h,u|0}function IA(e,n){e=e|0,n=n|0,t[e>>2]=bA()|0,t[e+4>>2]=BA()|0,t[e+12>>2]=n,t[e+8>>2]=UA()|0,t[e+32>>2]=6}function bA(){return 11704}function BA(){return 1436}function UA(){return o_()|0}function jA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(zA(r),_t(r)):n|0&&_t(n)}function zA(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function HA(e){e=e|0,qA(e,4933),WA(e)|0,VA(e)|0}function qA(e,n){e=e|0,n=n|0;var r=0;r=v7()|0,t[e>>2]=r,m7(r,n),$d(t[e>>2]|0)}function WA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,u7()|0),e|0}function VA(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,GA()|0),e|0}function GA(){var e=0;return p[7920]|0||(mw(10452),Wt(58,10452,ve|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),sr(10452)|0||mw(10452),10452}function mw(e){e=e|0,XA(e),Gp(e,1)}function YA(e){e=e|0,KA(e+24|0)}function KA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function XA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,$A()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function QA(e,n,r){e=e|0,n=+n,r=+r,JA(e,n,r)}function JA(e,n,r){e=e|0,n=+n,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,s=u+8|0,D=u+17|0,l=u,h=u+16|0,Fl(D,n),U[s>>3]=+us(D,n),Fl(h,r),U[l>>3]=+us(h,r),ZA(e,s,l),m=u}function ZA(e,n,r){e=e|0,n=n|0,r=r|0,yw(e+8|0,+U[n>>3],+U[r>>3]),p[e+24>>0]=1}function yw(e,n,r){e=e|0,n=+n,r=+r,U[e>>3]=n,U[e+8>>3]=r}function $A(){return 1472}function e7(e,n){return e=+e,n=+n,t7(e,n)|0}function t7(e,n){e=+e,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,h=u+4|0,D=u+8|0,S=u,l=Oa(8)|0,r=l,s=pn(16)|0,Fl(h,e),e=+us(h,e),Fl(D,n),yw(s,e,+us(D,n)),D=r+4|0,t[D>>2]=s,s=pn(8)|0,D=t[D>>2]|0,t[S>>2]=0,t[h>>2]=t[S>>2],gw(s,D,h),t[l>>2]=s,m=u,r|0}function gw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function n7(e){e=e|0,Iv(e),_t(e)}function r7(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function i7(e){e=e|0,_t(e)}function u7(){var e=0;return p[7928]|0||(_w(10488),Wt(59,10488,ve|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),sr(10488)|0||_w(10488),10488}function _w(e){e=e|0,s7(e),Gp(e,60)}function o7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function s7(e){e=e|0;var n=0;n=yr()|0,jn(e,5,6,n,d7()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function a7(e){e=e|0,f7(e)}function f7(e){e=e|0,c7(e)}function c7(e){e=e|0,Ew(e+8|0),p[e+24>>0]=1}function Ew(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function d7(){return 1492}function p7(){return h7()|0}function h7(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,u=pn(16)|0,Ew(u),s=e+4|0,t[s>>2]=u,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],gw(u,s,l),t[r>>2]=u,m=n,e|0}function v7(){var e=0;return p[7936]|0||(w7(10524),Wt(25,10524,ve|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function m7(e,n){e=e|0,n=n|0,t[e>>2]=y7()|0,t[e+4>>2]=g7()|0,t[e+12>>2]=n,t[e+8>>2]=_7()|0,t[e+32>>2]=7}function y7(){return 11700}function g7(){return 1484}function _7(){return o_()|0}function E7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(D7(r),_t(r)):n|0&&_t(n)}function D7(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function w7(e){e=e|0,Xa(e)}function S7(e,n,r){e=e|0,n=n|0,r=r|0,e=Fr(n)|0,n=T7(r)|0,r=C7(r,0)|0,tO(e,n,r,fE()|0,0)}function T7(e){return e=e|0,e|0}function C7(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=fE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(ww(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(N7(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function fE(){var e=0,n=0;if(p[7944]|0||(Dw(10568),Wt(61,10568,ve|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(sr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Dw(10568)}return 10568}function Dw(e){e=e|0,A7(e)}function x7(e){e=e|0,R7(e+24|0)}function R7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function A7(e){e=e|0;var n=0;n=yr()|0,jn(e,1,17,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function O7(e){return e=e|0,k7(t[(M7(e)|0)>>2]|0)|0}function M7(e){return e=e|0,(t[(fE()|0)+24>>2]|0)+(e<<3)|0}function k7(e){return e=e|0,H0(g_[e&7]()|0)|0}function ww(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function N7(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=L7(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,F7(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,ww(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,P7(e,l),I7(l),m=D;return}}function L7(e){return e=e|0,536870911}function F7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function P7(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function I7(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function b7(){B7()}function B7(){U7(10604)}function U7(e){e=e|0,j7(e,4955)}function j7(e,n){e=e|0,n=n|0;var r=0;r=z7()|0,t[e>>2]=r,H7(r,n),$d(t[e>>2]|0)}function z7(){var e=0;return p[7952]|0||(J7(10612),Wt(25,10612,ve|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function H7(e,n){e=e|0,n=n|0,t[e>>2]=G7()|0,t[e+4>>2]=Y7()|0,t[e+12>>2]=n,t[e+8>>2]=K7()|0,t[e+32>>2]=8}function $d(e){e=e|0;var n=0,r=0;n=m,m=m+16|0,r=n,kv()|0,t[r>>2]=e,q7(10608,r),m=n}function kv(){return p[11714]|0||(t[2652]=0,Wt(62,10608,ve|0)|0,p[11714]=1),10608}function q7(e,n){e=e|0,n=n|0;var r=0;r=pn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function W7(e){e=e|0,V7(e)}function V7(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,_t(r);while((n|0)!=0);t[e>>2]=0}function G7(){return 11715}function Y7(){return 1496}function K7(){return N1()|0}function X7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(Q7(r),_t(r)):n|0&&_t(n)}function Q7(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function J7(e){e=e|0,Xa(e)}function Z7(e,n){e=e|0,n=n|0;var r=0,u=0;kv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0?(r8(cE(u)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;$7(u,n)}while(0)}function cE(e){return e=e|0,t[e+12>>2]|0}function $7(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(fa(r),_t(r)),r=pn(4)|0,wf(r,n),t[e>>2]=r}function dE(){return p[11716]|0||(t[2664]=0,Wt(63,10656,ve|0)|0,p[11716]=1),10656}function Sw(){var e=0;return p[11717]|0?e=t[2665]|0:(eO(),t[2665]=1504,p[11717]=1,e=1504),e|0}function eO(){p[11740]|0||(p[11718]=hn(hn(8,0)|0,0)|0,p[11719]=hn(hn(0,0)|0,0)|0,p[11720]=hn(hn(0,16)|0,0)|0,p[11721]=hn(hn(8,0)|0,0)|0,p[11722]=hn(hn(0,0)|0,0)|0,p[11723]=hn(hn(8,0)|0,0)|0,p[11724]=hn(hn(0,0)|0,0)|0,p[11725]=hn(hn(8,0)|0,0)|0,p[11726]=hn(hn(0,0)|0,0)|0,p[11727]=hn(hn(8,0)|0,0)|0,p[11728]=hn(hn(0,0)|0,0)|0,p[11729]=hn(hn(0,0)|0,32)|0,p[11730]=hn(hn(0,0)|0,32)|0,p[11740]=1)}function Tw(){return 1572}function tO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0;s=m,m=m+32|0,M=s+16|0,N=s+12|0,S=s+8|0,D=s+4|0,h=s,t[M>>2]=e,t[N>>2]=n,t[S>>2]=r,t[D>>2]=u,t[h>>2]=l,dE()|0,nO(10656,M,N,S,D,h),m=s}function nO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0;h=pn(24)|0,yd(h+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0),t[h>>2]=t[e>>2],t[e>>2]=h}function Cw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0;if(ft=m,m=m+32|0,Se=ft+20|0,ye=ft+8|0,Je=ft+4|0,Ge=ft,n=t[n>>2]|0,n|0){be=Se+4|0,S=Se+8|0,N=ye+4|0,M=ye+8|0,I=ye+8|0,K=Se+8|0;do{if(h=n+4|0,D=pE(h)|0,D|0){if(l=Dy(D)|0,t[Se>>2]=0,t[be>>2]=0,t[S>>2]=0,u=(wy(D)|0)+1|0,rO(Se,u),u|0)for(;u=u+-1|0,Gf(ye,t[l>>2]|0),s=t[be>>2]|0,s>>>0<(t[K>>2]|0)>>>0?(t[s>>2]=t[ye>>2],t[be>>2]=(t[be>>2]|0)+4):hE(Se,ye),u;)l=l+4|0;u=Sy(D)|0,t[ye>>2]=0,t[N>>2]=0,t[M>>2]=0;e:do if(t[u>>2]|0)for(l=0,s=0;;){if((l|0)==(s|0)?iO(ye,u):(t[l>>2]=t[u>>2],t[N>>2]=(t[N>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;l=t[N>>2]|0,s=t[I>>2]|0}while(0);t[Je>>2]=l_(h)|0,t[Ge>>2]=sr(D)|0,uO(r,e,Je,Ge,Se,ye),vE(ye),L1(Se)}n=t[n>>2]|0}while((n|0)!=0)}m=ft}function pE(e){return e=e|0,t[e+12>>2]|0}function Dy(e){return e=e|0,t[e+12>>2]|0}function wy(e){return e=e|0,t[e+16>>2]|0}function rO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0>>0&&(Lw(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),Fw(e,r),Pw(r)),m=l}function hE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=Nw(e)|0,s>>>0>>0)hi(e);else{D=t[e>>2]|0,N=(t[e+8>>2]|0)-D|0,S=N>>1,Lw(r,N>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,Fw(e,r),Pw(r),m=h;return}}function Sy(e){return e=e|0,t[e+8>>2]|0}function iO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=kw(e)|0,s>>>0>>0)hi(e);else{D=t[e>>2]|0,N=(t[e+8>>2]|0)-D|0,S=N>>1,TO(r,N>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,CO(e,r),xO(r),m=h;return}}function l_(e){return e=e|0,t[e>>2]|0}function uO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,oO(e,n,r,u,l,s)}function vE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function L1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),_t(r))}function oO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+48|0,M=h+40|0,D=h+32|0,I=h+24|0,S=h+12|0,N=h,Ma(D),e=yo(e)|0,t[I>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,mE(S,l),lO(N,s),t[M>>2]=t[I>>2],sO(e,M,r,u,S,N),vE(N),L1(S),ka(D),m=h}function mE(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(wO(e,u),SO(e,t[n>>2]|0,t[r>>2]|0,u))}function lO(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(EO(e,u),DO(e,t[n>>2]|0,t[r>>2]|0,u))}function sO(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+32|0,M=h+28|0,I=h+24|0,D=h+12|0,S=h,N=go(aO()|0)|0,t[I>>2]=t[n>>2],t[M>>2]=t[I>>2],n=Yp(M)|0,r=xw(r)|0,u=yE(u)|0,t[D>>2]=t[l>>2],M=l+4|0,t[D+4>>2]=t[M>>2],I=l+8|0,t[D+8>>2]=t[I>>2],t[I>>2]=0,t[M>>2]=0,t[l>>2]=0,l=gE(D)|0,t[S>>2]=t[s>>2],M=s+4|0,t[S+4>>2]=t[M>>2],I=s+8|0,t[S+8>>2]=t[I>>2],t[I>>2]=0,t[M>>2]=0,t[s>>2]=0,K0(0,N|0,e|0,n|0,r|0,u|0,l|0,fO(S)|0)|0,vE(S),L1(D),m=h}function aO(){var e=0;return p[7968]|0||(gO(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Yp(e){return e=e|0,Aw(e)|0}function xw(e){return e=e|0,Rw(e)|0}function yE(e){return e=e|0,H0(e)|0}function gE(e){return e=e|0,dO(e)|0}function fO(e){return e=e|0,cO(e)|0}function cO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Rw(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Rw(e){return e=e|0,e|0}function dO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Aw((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Aw(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Iu(Ow()|0)|0,u?(rs(n,u),Mf(r,n),KN(e,r),e=Cs(n)|0):e=pO(e)|0,m=l,e|0}function Ow(){var e=0;return p[7960]|0||(yO(10664),Wt(25,10664,ve|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function pO(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(4)|0,t[D>>2]=t[e>>2],s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Mw(e,s,l),t[u>>2]=e,m=r,n|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function hO(e){e=e|0,Iv(e),_t(e)}function vO(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function mO(e){e=e|0,_t(e)}function yO(e){e=e|0,Xa(e)}function gO(e){e=e|0,ol(e,_O()|0,5)}function _O(){return 1676}function EO(e,n){e=e|0,n=n|0;var r=0;if((kw(e)|0)>>>0>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function DO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function kw(e){return e=e|0,1073741823}function wO(e,n){e=e|0,n=n|0;var r=0;if((Nw(e)|0)>>>0>>0&&hi(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function SO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function Nw(e){return e=e|0,1073741823}function TO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function CO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function Lw(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{l=pn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function Fw(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Pw(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&_t(e)}function RO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;if(ye=m,m=m+32|0,M=ye+20|0,I=ye+12|0,N=ye+16|0,K=ye+4|0,be=ye,Se=ye+8|0,D=Sw()|0,s=t[D>>2]|0,h=t[s>>2]|0,h|0)for(S=t[D+8>>2]|0,D=t[D+4>>2]|0;Gf(M,h),AO(e,M,D,S),s=s+4|0,h=t[s>>2]|0,h;)S=S+1|0,D=D+1|0;if(s=Tw()|0,h=t[s>>2]|0,h|0)do Gf(M,h),t[I>>2]=t[s+4>>2],OO(n,M,I),s=s+8|0,h=t[s>>2]|0;while((h|0)!=0);if(s=t[(kv()|0)>>2]|0,s|0)do n=t[s+4>>2]|0,Gf(M,t[(Nv(n)|0)>>2]|0),t[I>>2]=cE(n)|0,MO(r,M,I),s=t[s>>2]|0;while((s|0)!=0);if(Gf(N,0),s=dE()|0,t[M>>2]=t[N>>2],Cw(M,s,l),s=t[(kv()|0)>>2]|0,s|0){e=M+4|0,n=M+8|0,r=M+8|0;do{if(S=t[s+4>>2]|0,Gf(I,t[(Nv(S)|0)>>2]|0),kO(K,Iw(S)|0),h=t[K>>2]|0,h|0){t[M>>2]=0,t[e>>2]=0,t[n>>2]=0;do Gf(be,t[(Nv(t[h+4>>2]|0)|0)>>2]|0),D=t[e>>2]|0,D>>>0<(t[r>>2]|0)>>>0?(t[D>>2]=t[be>>2],t[e>>2]=(t[e>>2]|0)+4):hE(M,be),h=t[h>>2]|0;while((h|0)!=0);NO(u,I,M),L1(M)}t[Se>>2]=t[I>>2],N=bw(S)|0,t[M>>2]=t[Se>>2],Cw(M,N,l),_d(K),s=t[s>>2]|0}while((s|0)!=0)}m=ye}function AO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,WO(e,n,r,u)}function OO(e,n,r){e=e|0,n=n|0,r=r|0,qO(e,n,r)}function Nv(e){return e=e|0,e|0}function MO(e,n,r){e=e|0,n=n|0,r=r|0,UO(e,n,r)}function Iw(e){return e=e|0,e+16|0}function kO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(s=m,m=m+16|0,l=s+8|0,r=s,t[e>>2]=0,u=t[n>>2]|0,t[l>>2]=u,t[r>>2]=e,r=BO(r)|0,u|0){if(u=pn(12)|0,h=(Bw(l)|0)+4|0,e=t[h+4>>2]|0,n=u+4|0,t[n>>2]=t[h>>2],t[n+4>>2]=e,n=t[t[l>>2]>>2]|0,t[l>>2]=n,!n)e=u;else for(n=u;e=pn(12)|0,S=(Bw(l)|0)+4|0,D=t[S+4>>2]|0,h=e+4|0,t[h>>2]=t[S>>2],t[h+4>>2]=D,t[n>>2]=e,h=t[t[l>>2]>>2]|0,t[l>>2]=h,h;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}m=s}function NO(e,n,r){e=e|0,n=n|0,r=r|0,LO(e,n,r)}function bw(e){return e=e|0,e+24|0}function LO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+24|0,l=u+16|0,D=u+12|0,s=u,Ma(l),e=yo(e)|0,t[D>>2]=t[n>>2],mE(s,r),t[h>>2]=t[D>>2],FO(e,h,s),L1(s),ka(l),m=u}function FO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+16|0,D=u+12|0,l=u,s=go(PO()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Yp(h)|0,t[l>>2]=t[r>>2],h=r+4|0,t[l+4>>2]=t[h>>2],D=r+8|0,t[l+8>>2]=t[D>>2],t[D>>2]=0,t[h>>2]=0,t[r>>2]=0,P0(0,s|0,e|0,n|0,gE(l)|0)|0,L1(l),m=u}function PO(){var e=0;return p[7976]|0||(IO(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function IO(e){e=e|0,ol(e,bO()|0,2)}function bO(){return 1732}function BO(e){return e=e|0,t[e>>2]|0}function Bw(e){return e=e|0,t[e>>2]|0}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ma(l),e=yo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],Uw(e,s,r),ka(l),m=u}function Uw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+4|0,h=u,l=go(jO()|0)|0,t[h>>2]=t[n>>2],t[s>>2]=t[h>>2],n=Yp(s)|0,P0(0,l|0,e|0,n|0,xw(r)|0)|0,m=u}function jO(){var e=0;return p[7984]|0||(zO(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function zO(e){e=e|0,ol(e,HO()|0,2)}function HO(){return 1744}function qO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ma(l),e=yo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],Uw(e,s,r),ka(l),m=u}function WO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ma(s),e=yo(e)|0,t[D>>2]=t[n>>2],r=p[r>>0]|0,u=p[u>>0]|0,t[h>>2]=t[D>>2],VO(e,h,r,u),ka(s),m=l}function VO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,h=l+4|0,D=l,s=go(GO()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Yp(h)|0,r=Lv(r)|0,Hn(0,s|0,e|0,n|0,r|0,Lv(u)|0)|0,m=l}function GO(){var e=0;return p[7992]|0||(KO(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Lv(e){return e=e|0,YO(e)|0}function YO(e){return e=e|0,e&255|0}function KO(e){e=e|0,ol(e,XO()|0,3)}function XO(){return 1756}function QO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;switch(K=m,m=m+32|0,D=K+8|0,S=K+4|0,N=K+20|0,M=K,Sa(e,0),u=YN(n)|0,t[D>>2]=0,I=D+4|0,t[I>>2]=0,t[D+8>>2]=0,u<<24>>24){case 0:{p[N>>0]=0,JO(S,r,N),s_(e,S)|0,U0(S);break}case 8:{I=TE(n)|0,p[N>>0]=8,Gf(M,t[I+4>>2]|0),ZO(S,r,N,M,I+8|0),s_(e,S)|0,U0(S);break}case 9:{if(s=TE(n)|0,n=t[s+4>>2]|0,n|0)for(h=D+8|0,l=s+12|0;n=n+-1|0,Gf(S,t[l>>2]|0),u=t[I>>2]|0,u>>>0<(t[h>>2]|0)>>>0?(t[u>>2]=t[S>>2],t[I>>2]=(t[I>>2]|0)+4):hE(D,S),n;)l=l+4|0;p[N>>0]=9,Gf(M,t[s+8>>2]|0),$O(S,r,N,M,D),s_(e,S)|0,U0(S);break}default:I=TE(n)|0,p[N>>0]=u,Gf(M,t[I+4>>2]|0),eM(S,r,N,M),s_(e,S)|0,U0(S)}L1(D),m=K}function JO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ma(l),n=yo(n)|0,pM(e,n,p[r>>0]|0),ka(l),m=u}function s_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&qr(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function ZO(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+32|0,D=s+16|0,h=s+8|0,S=s,Ma(h),n=yo(n)|0,r=p[r>>0]|0,t[S>>2]=t[u>>2],l=t[l>>2]|0,t[D>>2]=t[S>>2],aM(e,n,r,D,l),ka(h),m=s}function $O(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0;s=m,m=m+32|0,S=s+24|0,h=s+16|0,N=s+12|0,D=s,Ma(h),n=yo(n)|0,r=p[r>>0]|0,t[N>>2]=t[u>>2],mE(D,l),t[S>>2]=t[N>>2],uM(e,n,r,S,D),L1(D),ka(h),m=s}function eM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ma(s),n=yo(n)|0,r=p[r>>0]|0,t[D>>2]=t[u>>2],t[h>>2]=t[D>>2],tM(e,n,r,h),ka(s),m=l}function tM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+4|0,D=l,h=go(nM()|0)|0,r=Lv(r)|0,t[D>>2]=t[u>>2],t[s>>2]=t[D>>2],a_(e,P0(0,h|0,n|0,r|0,Yp(s)|0)|0),m=l}function nM(){var e=0;return p[8e3]|0||(rM(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function a_(e,n){e=e|0,n=n|0,Sa(e,n)}function rM(e){e=e|0,ol(e,iM()|0,2)}function iM(){return 1772}function uM(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0;s=m,m=m+32|0,S=s+16|0,N=s+12|0,h=s,D=go(oM()|0)|0,r=Lv(r)|0,t[N>>2]=t[u>>2],t[S>>2]=t[N>>2],u=Yp(S)|0,t[h>>2]=t[l>>2],S=l+4|0,t[h+4>>2]=t[S>>2],N=l+8|0,t[h+8>>2]=t[N>>2],t[N>>2]=0,t[S>>2]=0,t[l>>2]=0,a_(e,Hn(0,D|0,n|0,r|0,u|0,gE(h)|0)|0),L1(h),m=s}function oM(){var e=0;return p[8008]|0||(lM(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function lM(e){e=e|0,ol(e,sM()|0,3)}function sM(){return 1784}function aM(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,D=s+4|0,S=s,h=go(fM()|0)|0,r=Lv(r)|0,t[S>>2]=t[u>>2],t[D>>2]=t[S>>2],u=Yp(D)|0,a_(e,Hn(0,h|0,n|0,r|0,u|0,yE(l)|0)|0),m=s}function fM(){var e=0;return p[8016]|0||(cM(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function cM(e){e=e|0,ol(e,dM()|0,3)}function dM(){return 1800}function pM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=go(hM()|0)|0,a_(e,Ki(0,u|0,n|0,Lv(r)|0)|0)}function hM(){var e=0;return p[8024]|0||(vM(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function vM(e){e=e|0,ol(e,mM()|0,1)}function mM(){return 1816}function yM(){gM(),_M(),EM()}function gM(){t[2702]=p8(65536)|0}function _M(){jM(10856)}function EM(){DM(10816)}function DM(e){e=e|0,wM(e,5044),SM(e)|0}function wM(e,n){e=e|0,n=n|0;var r=0;r=Ow()|0,t[e>>2]=r,FM(r,n),$d(t[e>>2]|0)}function SM(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,TM()|0),e|0}function TM(){var e=0;return p[8032]|0||(jw(10820),Wt(64,10820,ve|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),sr(10820)|0||jw(10820),10820}function jw(e){e=e|0,RM(e),Gp(e,25)}function CM(e){e=e|0,xM(e+24|0)}function xM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function RM(e){e=e|0;var n=0;n=yr()|0,jn(e,5,18,n,kM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function AM(e,n){e=e|0,n=n|0,OM(e,n)}function OM(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;r=m,m=m+16|0,u=r,l=r+4|0,Pf(l,n),t[u>>2]=If(l,n)|0,MM(e,u),m=r}function MM(e,n){e=e|0,n=n|0,zw(e+4|0,t[n>>2]|0),p[e+8>>0]=1}function zw(e,n){e=e|0,n=n|0,t[e>>2]=n}function kM(){return 1824}function NM(e){return e=e|0,LM(e)|0}function LM(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Oa(8)|0,n=u,D=pn(4)|0,Pf(l,e),zw(D,If(l,e)|0),s=n+4|0,t[s>>2]=D,e=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Mw(e,s,l),t[u>>2]=e,m=r,n|0}function Oa(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=p8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function FM(e,n){e=e|0,n=n|0,t[e>>2]=PM()|0,t[e+4>>2]=IM()|0,t[e+12>>2]=n,t[e+8>>2]=bM()|0,t[e+32>>2]=9}function PM(){return 11744}function IM(){return 1832}function bM(){return o_()|0}function BM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(UM(r),_t(r)):n|0&&_t(n)}function UM(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function jM(e){e=e|0,zM(e,5052),HM(e)|0,qM(e,5058,26)|0,WM(e,5069,1)|0,VM(e,5077,10)|0,GM(e,5087,19)|0,YM(e,5094,27)|0}function zM(e,n){e=e|0,n=n|0;var r=0;r=UN()|0,t[e>>2]=r,jN(r,n),$d(t[e>>2]|0)}function HM(e){e=e|0;var n=0;return n=t[e>>2]|0,Vp(n,CN()|0),e|0}function qM(e,n,r){return e=e|0,n=n|0,r=r|0,lN(e,Fr(n)|0,r,0),e|0}function WM(e,n,r){return e=e|0,n=n|0,r=r|0,Gk(e,Fr(n)|0,r,0),e|0}function VM(e,n,r){return e=e|0,n=n|0,r=r|0,Tk(e,Fr(n)|0,r,0),e|0}function GM(e,n,r){return e=e|0,n=n|0,r=r|0,ak(e,Fr(n)|0,r,0),e|0}function Hw(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}_t(r)}t[2701]=e}function YM(e,n,r){return e=e|0,n=n|0,r=r|0,KM(e,Fr(n)|0,r,0),e|0}function KM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=_E()|0,e=XM(r)|0,wi(s,n,l,e,QM(r,u)|0,u)}function _E(){var e=0,n=0;if(p[8040]|0||(Ww(10860),Wt(65,10860,ve|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(sr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ww(10860)}return 10860}function XM(e){return e=e|0,e|0}function QM(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=_E()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(qw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(JM(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function JM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=ZM(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,$M(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,qw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,ek(e,l),tk(l),m=D;return}}function ZM(e){return e=e|0,536870911}function $M(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function ek(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function tk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Ww(e){e=e|0,ik(e)}function nk(e){e=e|0,rk(e+24|0)}function rk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function ik(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,uk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function uk(){return 1840}function ok(e,n,r){e=e|0,n=n|0,r=r|0,sk(t[(lk(e)|0)>>2]|0,n,r)}function lk(e){return e=e|0,(t[(_E()|0)+24>>2]|0)+(e<<3)|0}function sk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+1|0,l=u,Pf(s,n),n=If(s,n)|0,Pf(l,r),r=If(l,r)|0,P1[e&31](n,r),m=u}function ak(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=EE()|0,e=fk(r)|0,wi(s,n,l,e,ck(r,u)|0,u)}function EE(){var e=0,n=0;if(p[8048]|0||(Gw(10896),Wt(66,10896,ve|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(sr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10896)}return 10896}function fk(e){return e=e|0,e|0}function ck(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=EE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Vw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(dk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function dk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=pk(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,hk(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Vw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,vk(e,l),mk(l),m=D;return}}function pk(e){return e=e|0,536870911}function hk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function vk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function mk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Gw(e){e=e|0,_k(e)}function yk(e){e=e|0,gk(e+24|0)}function gk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function _k(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,Ek()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ek(){return 1852}function Dk(e,n){return e=e|0,n=n|0,Sk(t[(wk(e)|0)>>2]|0,n)|0}function wk(e){return e=e|0,(t[(EE()|0)+24>>2]|0)+(e<<3)|0}function Sk(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Pf(u,n),n=If(u,n)|0,n=H0(Jp[e&31](n)|0)|0,m=r,n|0}function Tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=DE()|0,e=Ck(r)|0,wi(s,n,l,e,xk(r,u)|0,u)}function DE(){var e=0,n=0;if(p[8056]|0||(Kw(10932),Wt(67,10932,ve|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(sr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kw(10932)}return 10932}function Ck(e){return e=e|0,e|0}function xk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=DE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Yw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Rk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Yw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Rk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Ak(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Ok(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Yw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Mk(e,l),kk(l),m=D;return}}function Ak(e){return e=e|0,536870911}function Ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Mk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function kk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Kw(e){e=e|0,Fk(e)}function Nk(e){e=e|0,Lk(e+24|0)}function Lk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function Fk(e){e=e|0;var n=0;n=yr()|0,jn(e,1,7,n,Pk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pk(){return 1860}function Ik(e,n,r){return e=e|0,n=n|0,r=r|0,Bk(t[(bk(e)|0)>>2]|0,n,r)|0}function bk(e){return e=e|0,(t[(DE()|0)+24>>2]|0)+(e<<3)|0}function Bk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+32|0,h=u+12|0,s=u+8|0,D=u,S=u+16|0,l=u+4|0,Uk(S,n),jk(D,S,n),Ys(l,r),r=Ks(l,r)|0,t[h>>2]=t[D>>2],Ry[e&15](s,h,r),r=zk(s)|0,U0(s),Xs(l),m=u,r|0}function Uk(e,n){e=e|0,n=n|0}function jk(e,n,r){e=e|0,n=n|0,r=r|0,Hk(e,r)}function zk(e){return e=e|0,yo(e)|0}function Hk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+16|0,r=l,u=n,u&1?(qk(r,0),eu(u|0,r|0)|0,Wk(e,r),Vk(r)):t[e>>2]=t[n>>2],m=l}function qk(e,n){e=e|0,n=n|0,fd(e,n),t[e+4>>2]=0,p[e+8>>0]=0}function Wk(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function Vk(e){e=e|0,p[e+8>>0]=0}function Gk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=wE()|0,e=Yk(r)|0,wi(s,n,l,e,Kk(r,u)|0,u)}function wE(){var e=0,n=0;if(p[8064]|0||(Qw(10968),Wt(68,10968,ve|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(sr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qw(10968)}return 10968}function Yk(e){return e=e|0,e|0}function Kk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=wE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Xw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Xk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Xw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Xk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Qk(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,Jk(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Xw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Zk(e,l),$k(l),m=D;return}}function Qk(e){return e=e|0,536870911}function Jk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Zk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function $k(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Qw(e){e=e|0,nN(e)}function eN(e){e=e|0,tN(e+24|0)}function tN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function nN(e){e=e|0;var n=0;n=yr()|0,jn(e,1,1,n,rN()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rN(){return 1872}function iN(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,oN(t[(uN(e)|0)>>2]|0,n,r,u,l,s)}function uN(e){return e=e|0,(t[(wE()|0)+24>>2]|0)+(e<<3)|0}function oN(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0;h=m,m=m+32|0,D=h+16|0,S=h+12|0,N=h+8|0,M=h+4|0,I=h,Ys(D,n),n=Ks(D,n)|0,Ys(S,r),r=Ks(S,r)|0,Ys(N,u),u=Ks(N,u)|0,Ys(M,l),l=Ks(M,l)|0,Ys(I,s),s=Ks(I,s)|0,g8[e&1](n,r,u,l,s),Xs(I),Xs(M),Xs(N),Xs(S),Xs(D),m=h}function lN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=SE()|0,e=sN(r)|0,wi(s,n,l,e,aN(r,u)|0,u)}function SE(){var e=0,n=0;if(p[8072]|0||(Zw(11004),Wt(69,11004,ve|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(sr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Zw(11004)}return 11004}function sN(e){return e=e|0,e|0}function aN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=SE()|0,h=S+24|0,n=hn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Jw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fN(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function Jw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cN(e)|0,u>>>0>>0)hi(e);else{S=t[e>>2]|0,M=(t[e+8>>2]|0)-S|0,N=M>>2,dN(l,M>>3>>>0>>1>>>0?N>>>0>>0?h:N:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Jw(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pN(e,l),hN(l),m=D;return}}function cN(e){return e=e|0,536870911}function dN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{l=pn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(gr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&_t(e)}function Zw(e){e=e|0,yN(e)}function vN(e){e=e|0,mN(e+24|0)}function mN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function yN(e){e=e|0;var n=0;n=yr()|0,jn(e,1,12,n,gN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gN(){return 1896}function _N(e,n,r){e=e|0,n=n|0,r=r|0,DN(t[(EN(e)|0)>>2]|0,n,r)}function EN(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e<<3)|0}function DN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+4|0,l=u,wN(s,n),n=SN(s,n)|0,Ys(l,r),r=Ks(l,r)|0,P1[e&31](n,r),Xs(l),m=u}function wN(e,n){e=e|0,n=n|0}function SN(e,n){return e=e|0,n=n|0,TN(n)|0}function TN(e){return e=e|0,e|0}function CN(){var e=0;return p[8080]|0||($w(11040),Wt(70,11040,ve|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),sr(11040)|0||$w(11040),11040}function $w(e){e=e|0,AN(e),Gp(e,71)}function xN(e){e=e|0,RN(e+24|0)}function RN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),_t(r))}function AN(e){e=e|0;var n=0;n=yr()|0,jn(e,5,7,n,NN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function ON(e){e=e|0,MN(e)}function MN(e){e=e|0,kN(e)}function kN(e){e=e|0,p[e+8>>0]=1}function NN(){return 1936}function LN(){return FN()|0}function FN(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Oa(8)|0,e=r,s=e+4|0,t[s>>2]=pn(1)|0,u=pn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],PN(u,s,l),t[r>>2]=u,m=n,e|0}function PN(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function IN(e){e=e|0,Iv(e),_t(e)}function bN(e){e=e|0,e=t[e+12>>2]|0,e|0&&_t(e)}function BN(e){e=e|0,_t(e)}function UN(){var e=0;return p[8088]|0||(GN(11076),Wt(25,11076,ve|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function jN(e,n){e=e|0,n=n|0,t[e>>2]=zN()|0,t[e+4>>2]=HN()|0,t[e+12>>2]=n,t[e+8>>2]=qN()|0,t[e+32>>2]=10}function zN(){return 11745}function HN(){return 1940}function qN(){return N1()|0}function WN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(zl(u,896)|0)==512?r|0&&(VN(r),_t(r)):n|0&&_t(n)}function VN(e){e=e|0,e=t[e+4>>2]|0,e|0&&e2(e)}function GN(e){e=e|0,Xa(e)}function Gf(e,n){e=e|0,n=n|0,t[e>>2]=n}function TE(e){return e=e|0,t[e>>2]|0}function YN(e){return e=e|0,p[t[e>>2]>>0]|0}function KN(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,t[u>>2]=t[e>>2],XN(n,u)|0,m=r}function XN(e,n){e=e|0,n=n|0;var r=0;return r=QN(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function QN(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Ma(u),e=yo(e)|0,n=JN(e,t[n>>2]|0)|0,ka(u),m=r,n|0}function Ma(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function JN(e,n){e=e|0,n=n|0;var r=0;return r=go(ZN()|0)|0,Ki(0,r|0,e|0,yE(n)|0)|0}function ka(e){e=e|0,Hw(t[e>>2]|0,t[e+4>>2]|0)}function ZN(){var e=0;return p[8096]|0||($N(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function $N(e){e=e|0,ol(e,eL()|0,1)}function eL(){return 1948}function tL(){nL()}function nL(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;if(Se=m,m=m+16|0,M=Se+4|0,I=Se,bn(65536,10804,t[2702]|0,10812),r=Sw()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Xl(e|0,k[r>>0]|0|0,p[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=Tw()|0,n=t[e>>2]|0,n|0)do Mo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);Mo(rL()|0,5167),N=kv()|0,e=t[N>>2]|0;e:do if(e|0){do iL(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[N>>2]|0,e|0){S=N;do{for(;l=e,e=t[e>>2]|0,l=t[l+4>>2]|0,!!(uL(l)|0);)if(t[I>>2]=S,t[M>>2]=t[I>>2],oL(N,M)|0,!e)break e;if(lL(l),S=t[S>>2]|0,n=e8(l)|0,s=ao()|0,h=m,m=m+((1*(n<<2)|0)+15&-16)|0,D=m,m=m+((1*(n<<2)|0)+15&-16)|0,n=t[(Iw(l)|0)>>2]|0,n|0)for(r=h,u=D;t[r>>2]=t[(Nv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ye=Nv(l)|0,n=sL(l)|0,r=e8(l)|0,u=aL(l)|0,ko(ye|0,n|0,h|0,D|0,r|0,u|0,cE(l)|0),gi(s|0)}while((e|0)!=0)}}while(0);if(e=t[(dE()|0)>>2]|0,e|0)do ye=e+4|0,N=pE(ye)|0,l=Sy(N)|0,s=Dy(N)|0,h=(wy(N)|0)+1|0,D=f_(N)|0,S=t8(ye)|0,N=sr(N)|0,M=l_(ye)|0,I=CE(ye)|0,so(0,l|0,s|0,h|0,D|0,S|0,N|0,M|0,I|0,xE(ye)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(kv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(K=t[(Nv(n)|0)>>2]|0,be=t[(bw(n)|0)>>2]|0,be|0):0){r=be;do{n=r+4|0,u=pE(n)|0;n:do if(u|0)switch(sr(u)|0){case 0:break t;case 4:case 3:case 2:{D=Sy(u)|0,S=Dy(u)|0,N=(wy(u)|0)+1|0,M=f_(u)|0,I=sr(u)|0,ye=l_(n)|0,so(K|0,D|0,S|0,N|0,M|0,0,I|0,ye|0,CE(n)|0,xE(n)|0);break n}case 1:{h=Sy(u)|0,D=Dy(u)|0,S=(wy(u)|0)+1|0,N=f_(u)|0,M=t8(n)|0,I=sr(u)|0,ye=l_(n)|0,so(K|0,h|0,D|0,S|0,N|0,M|0,I|0,ye|0,CE(n)|0,xE(n)|0);break n}case 5:{N=Sy(u)|0,M=Dy(u)|0,I=(wy(u)|0)+1|0,ye=f_(u)|0,so(K|0,N|0,M|0,I|0,ye|0,fL(u)|0,sr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}$n()}while(0);Is(),m=Se}function rL(){return 11703}function iL(e){e=e|0,p[e+40>>0]=0}function uL(e){return e=e|0,(p[e+40>>0]|0)!=0|0}function oL(e,n){return e=e|0,n=n|0,n=cL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],_t(e),t[n>>2]|0}function lL(e){e=e|0,p[e+40>>0]=1}function e8(e){return e=e|0,t[e+20>>2]|0}function sL(e){return e=e|0,t[e+8>>2]|0}function aL(e){return e=e|0,t[e+32>>2]|0}function f_(e){return e=e|0,t[e+4>>2]|0}function t8(e){return e=e|0,t[e+4>>2]|0}function CE(e){return e=e|0,t[e+8>>2]|0}function xE(e){return e=e|0,t[e+16>>2]|0}function fL(e){return e=e|0,t[e+20>>2]|0}function cL(e){return e=e|0,t[e>>2]|0}function c_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0;Zt=m,m=m+16|0,K=Zt;do if(e>>>0<245){if(N=e>>>0<11?16:e+11&-8,e=N>>>3,I=t[2783]|0,r=I>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,l=u+8|0,s=t[l>>2]|0,(e|0)==(s|0)?t[2783]=I&~(1<>2]=e,t[r>>2]=s),Pe=n<<3,t[u+4>>2]=Pe|3,Pe=u+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1,Pe=l,m=Zt,Pe|0;if(M=t[2785]|0,N>>>0>M>>>0){if(r|0)return n=2<>>12&16,n=n>>>h,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|h|l|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,l=t[e>>2]|0,h=l+8|0,r=t[h>>2]|0,(n|0)==(r|0)?(e=I&~(1<>2]=n,t[e>>2]=r,e=I),s=(u<<3)-N|0,t[l+4>>2]=N|3,u=l+N|0,t[u+4>>2]=s|1,t[u+s>>2]=s,M|0&&(l=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r),t[2785]=s,t[2788]=u,Pe=h,m=Zt,Pe|0;if(D=t[2784]|0,D){if(r=(D&0-D)+-1|0,h=r>>>12&16,r=r>>>h,s=r>>>5&8,r=r>>>s,S=r>>>2&4,r=r>>>S,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((s|h|S|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-N|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)S=e,s=r;else{do h=(t[u+4>>2]&-8)-N|0,S=h>>>0>>0,r=S?h:r,e=S?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);S=e,s=r}if(h=S+N|0,S>>>0>>0){l=t[S+24>>2]|0,n=t[S+12>>2]|0;do if((n|0)==(S|0)){if(e=S+20|0,n=t[e>>2]|0,!n&&(e=S+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[S+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(l|0){if(n=t[S+28>>2]|0,e=11436+(n<<2)|0,(S|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=D&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,n=t[S+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[S+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return s>>>0<16?(Pe=s+N|0,t[S+4>>2]=Pe|3,Pe=S+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1):(t[S+4>>2]=N|3,t[h+4>>2]=s|1,t[h+s>>2]=s,M|0&&(u=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=I|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=s,t[2788]=h),Pe=S+8|0,m=Zt,Pe|0}else I=N}else I=N}else I=N}else if(e>>>0<=4294967231)if(e=e+11|0,N=e&-8,S=t[2784]|0,S){u=0-N|0,e=e>>>8,e?N>>>0>16777215?D=31:(I=(e+1048320|0)>>>16&8,Me=e<>>16&4,Me=Me<>>16&2,D=14-(M|I|D)+(Me<>>15)|0,D=N>>>(D+7|0)&1|D<<1):D=0,r=t[11436+(D<<2)>>2]|0;e:do if(!r)r=0,e=0,Me=57;else for(e=0,h=N<<((D|0)==31?0:25-(D>>>1)|0),s=0;;){if(l=(t[r+4>>2]&-8)-N|0,l>>>0>>0)if(l)e=r,u=l;else{e=r,u=0,l=r,Me=61;break e}if(l=t[r+20>>2]|0,r=t[r+16+(h>>>31<<2)>>2]|0,s=(l|0)==0|(l|0)==(r|0)?s:l,l=(r|0)==0,l){r=s,Me=57;break}else h=h<<((l^1)&1)}while(0);if((Me|0)==57){if((r|0)==0&(e|0)==0){if(e=2<>>12&16,I=I>>>h,s=I>>>5&8,I=I>>>s,D=I>>>2&4,I=I>>>D,M=I>>>1&2,I=I>>>M,r=I>>>1&1,e=0,r=t[11436+((s|h|D|M|r)+(I>>>r)<<2)>>2]|0}r?(l=r,Me=61):(D=e,h=u)}if((Me|0)==61)for(;;)if(Me=0,r=(t[l+4>>2]&-8)-N|0,I=r>>>0>>0,r=I?r:u,e=I?l:e,l=t[l+16+(((t[l+16>>2]|0)==0&1)<<2)>>2]|0,l)u=r,Me=61;else{D=e,h=r;break}if((D|0)!=0?h>>>0<((t[2785]|0)-N|0)>>>0:0){if(s=D+N|0,D>>>0>=s>>>0)return Pe=0,m=Zt,Pe|0;l=t[D+24>>2]|0,n=t[D+12>>2]|0;do if((n|0)==(D|0)){if(e=D+20|0,n=t[e>>2]|0,!n&&(e=D+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Pe=t[D+8>>2]|0,t[Pe+12>>2]=n,t[n+8>>2]=Pe;while(0);do if(l){if(e=t[D+28>>2]|0,r=11436+(e<<2)|0,(D|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=S&~(1<>2]|0)!=(D|0)&1)<<2)>>2]=n,!n){u=S;break}t[n+24>>2]=l,e=t[D+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[D+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=S}else u=S;while(0);do if(h>>>0>=16){if(t[D+4>>2]=N|3,t[s+4>>2]=h|1,t[s+h>>2]=h,n=h>>>3,h>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r;break}if(n=h>>>8,n?h>>>0>16777215?n=31:(Me=(n+1048320|0)>>>16&8,Pe=n<>>16&4,Pe=Pe<>>16&2,n=14-(ft|Me|n)+(Pe<>>15)|0,n=h>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[s+28>>2]=n,e=s+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}for(e=h<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(h|0)){Me=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=96;break}}if((Me|0)==96){t[u>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}else if((Me|0)==97){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=s,t[Me>>2]=s,t[s+8>>2]=Pe,t[s+12>>2]=r,t[s+24>>2]=0;break}}else Pe=h+N|0,t[D+4>>2]=Pe|3,Pe=D+Pe+4|0,t[Pe>>2]=t[Pe>>2]|1;while(0);return Pe=D+8|0,m=Zt,Pe|0}else I=N}else I=N;else I=-1;while(0);if(r=t[2785]|0,r>>>0>=I>>>0)return n=r-I|0,e=t[2788]|0,n>>>0>15?(Pe=e+I|0,t[2788]=Pe,t[2785]=n,t[Pe+4>>2]=n|1,t[Pe+n>>2]=n,t[e+4>>2]=I|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Pe=e+r+4|0,t[Pe>>2]=t[Pe>>2]|1),Pe=e+8|0,m=Zt,Pe|0;if(h=t[2786]|0,h>>>0>I>>>0)return ft=h-I|0,t[2786]=ft,Pe=t[2789]|0,Me=Pe+I|0,t[2789]=Me,t[Me+4>>2]=ft|1,t[Pe+4>>2]=I|3,Pe=Pe+8|0,m=Zt,Pe|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=K&-16^1431655768,t[K>>2]=e,t[2901]=e,e=4096),D=I+48|0,S=I+47|0,s=e+S|0,l=0-e|0,N=s&l,N>>>0<=I>>>0||(e=t[2893]|0,e|0?(M=t[2891]|0,K=M+N|0,K>>>0<=M>>>0|K>>>0>e>>>0):0))return Pe=0,m=Zt,Pe|0;e:do if(t[2894]&4)n=0,Me=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0?(ye=u+4|0,(e+(t[ye>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[u+8>>2]|0,e)u=e;else{Me=118;break t}if(n=s-h&l,n>>>0<2147483647)if(e=t2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ye>>2]|0)|0)){if((e|0)!=(-1|0)){h=n,s=e,Me=135;break e}}else u=e,Me=126;else n=0}else Me=118;while(0);do if((Me|0)==118)if(r=t2(0)|0,(r|0)!=(-1|0)?(n=r,be=t[2902]|0,Se=be+-1|0,n=((Se&n|0)==0?0:(Se+n&0-be)-n|0)+N|0,be=t[2891]|0,Se=n+be|0,n>>>0>I>>>0&n>>>0<2147483647):0){if(ye=t[2893]|0,ye|0?Se>>>0<=be>>>0|Se>>>0>ye>>>0:0){n=0;break}if(e=t2(n|0)|0,(e|0)==(r|0)){h=n,s=r,Me=135;break e}else u=e,Me=126}else n=0;while(0);do if((Me|0)==126){if(r=0-n|0,!(D>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=(-1|0))))if((u|0)==(-1|0)){n=0;break}else{h=n,s=u,Me=135;break e}if(e=t[2903]|0,e=S-n+e&0-e,e>>>0>=2147483647){h=n,s=u,Me=135;break e}if((t2(e|0)|0)==(-1|0)){t2(r|0)|0,n=0;break}else{h=e+n|0,s=u,Me=135;break e}}while(0);t[2894]=t[2894]|4,Me=133}while(0);if((((Me|0)==133?N>>>0<2147483647:0)?(ft=t2(N|0)|0,ye=t2(0)|0,Je=ye-ft|0,Ge=Je>>>0>(I+40|0)>>>0,!((ft|0)==(-1|0)|Ge^1|ft>>>0>>0&((ft|0)!=(-1|0)&(ye|0)!=(-1|0))^1)):0)&&(h=Ge?Je:n,s=ft,Me=135),(Me|0)==135){n=(t[2891]|0)+h|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),S=t[2789]|0;do if(S){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(s|0)==(e+u|0)){Me=145;break}if(l=t[n+8>>2]|0,l)n=l;else break}if(((Me|0)==145?(t[n+12>>2]&8|0)==0:0)?S>>>0>>0&S>>>0>=e>>>0:0){t[r>>2]=u+h,Pe=S+8|0,Pe=(Pe&7|0)==0?0:0-Pe&7,Me=S+Pe|0,Pe=(t[2786]|0)+(h-Pe)|0,t[2789]=Me,t[2786]=Pe,t[Me+4>>2]=Pe|1,t[Me+Pe+4>>2]=40,t[2790]=t[2905];break}for(s>>>0<(t[2787]|0)>>>0&&(t[2787]=s),r=s+h|0,n=11580;;){if((t[n>>2]|0)==(r|0)){Me=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((Me|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=s,M=n+4|0,t[M>>2]=(t[M>>2]|0)+h,M=s+8|0,M=s+((M&7|0)==0?0:0-M&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,N=M+I|0,D=n-M-I|0,t[M+4>>2]=I|3;do if((n|0)!=(S|0)){if((n|0)==(t[2788]|0)){Pe=(t[2785]|0)+D|0,t[2785]=Pe,t[2788]=N,t[N+4>>2]=Pe|1,t[N+Pe>>2]=Pe;break}if(e=t[n+4>>2]|0,(e&3|0)==1){h=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{s=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,l=t[u>>2]|0,l|0){e=l,r=u;continue}if(u=e+16|0,l=t[u>>2]|0,l)e=l,r=u;else break}t[r>>2]=0}else Pe=t[n+8>>2]|0,t[Pe+12>>2]=e,t[e+8>>2]=Pe;while(0);if(!s)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[s+16+(((t[s+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=s,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+h|0,l=h+D|0}else l=D;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[N+4>>2]=l|1,t[N+l>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=N,t[n+12>>2]=N,t[N+8>>2]=n,t[N+12>>2]=r;break}n=l>>>8;do if(!n)n=0;else{if(l>>>0>16777215){n=31;break}Me=(n+1048320|0)>>>16&8,Pe=n<>>16&4,Pe=Pe<>>16&2,n=14-(ft|Me|n)+(Pe<>>15)|0,n=l>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[N+28>>2]=n,e=N+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=N,t[N+24>>2]=u,t[N+12>>2]=N,t[N+8>>2]=N;break}for(e=l<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){Me=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=193;break}}if((Me|0)==193){t[u>>2]=N,t[N+24>>2]=r,t[N+12>>2]=N,t[N+8>>2]=N;break}else if((Me|0)==194){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=N,t[Me>>2]=N,t[N+8>>2]=Pe,t[N+12>>2]=r,t[N+24>>2]=0;break}}else Pe=(t[2786]|0)+D|0,t[2786]=Pe,t[2789]=N,t[N+4>>2]=Pe|1;while(0);return Pe=M+8|0,m=Zt,Pe|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=S>>>0?(Pe=e+(t[n+4>>2]|0)|0,Pe>>>0>S>>>0):0);)n=t[n+8>>2]|0;l=Pe+-47|0,e=l+8|0,e=l+((e&7|0)==0?0:0-e&7)|0,l=S+16|0,e=e>>>0>>0?S:e,n=e+8|0,r=s+8|0,r=(r&7|0)==0?0:0-r&7,Me=s+r|0,r=h+-40-r|0,t[2789]=Me,t[2786]=r,t[Me+4>>2]=r|1,t[Me+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=s,t[2896]=h,t[2898]=0,t[2897]=n,n=e+24|0;do Me=n,n=n+4|0,t[n>>2]=7;while((Me+8|0)>>>0>>0);if((e|0)!=(S|0)){if(s=e-S|0,t[r>>2]=t[r>>2]&-2,t[S+4>>2]=s|1,t[e>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=S,t[n+12>>2]=S,t[S+8>>2]=n,t[S+12>>2]=r;break}if(n=s>>>8,n?s>>>0>16777215?r=31:(Me=(n+1048320|0)>>>16&8,Pe=n<>>16&4,Pe=Pe<>>16&2,r=14-(ft|Me|r)+(Pe<>>15)|0,r=s>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[S+28>>2]=r,t[S+20>>2]=0,t[l>>2]=0,n=t[2784]|0,e=1<>2]=S,t[S+24>>2]=u,t[S+12>>2]=S,t[S+8>>2]=S;break}for(e=s<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){Me=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Me=215;break}}if((Me|0)==215){t[u>>2]=S,t[S+24>>2]=r,t[S+12>>2]=S,t[S+8>>2]=S;break}else if((Me|0)==216){Me=r+8|0,Pe=t[Me>>2]|0,t[Pe+12>>2]=S,t[Me>>2]=S,t[S+8>>2]=Pe,t[S+12>>2]=r,t[S+24>>2]=0;break}}}else{Pe=t[2787]|0,(Pe|0)==0|s>>>0>>0&&(t[2787]=s),t[2895]=s,t[2896]=h,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Pe=11172+(n<<1<<2)|0,t[Pe+12>>2]=Pe,t[Pe+8>>2]=Pe,n=n+1|0;while((n|0)!=32);Pe=s+8|0,Pe=(Pe&7|0)==0?0:0-Pe&7,Me=s+Pe|0,Pe=h+-40-Pe|0,t[2789]=Me,t[2786]=Pe,t[Me+4>>2]=Pe|1,t[Me+Pe+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>I>>>0)return ft=n-I|0,t[2786]=ft,Pe=t[2789]|0,Me=Pe+I|0,t[2789]=Me,t[Me+4>>2]=ft|1,t[Pe+4>>2]=I|3,Pe=Pe+8|0,m=Zt,Pe|0}return t[(Fv()|0)>>2]=12,Pe=0,m=Zt,Pe|0}function d_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(!!e){r=e+-8|0,l=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,S=r+n|0;do if(e&1)D=r,h=r;else{if(u=t[r>>2]|0,!(e&3)||(h=r+(0-u)|0,s=u+n|0,h>>>0>>0))return;if((h|0)==(t[2788]|0)){if(e=S+4|0,n=t[e>>2]|0,(n&3|0)!=3){D=h,n=s;break}t[2785]=s,t[e>>2]=n&-2,t[h+4>>2]=s|1,t[h+s>>2]=s;return}if(r=u>>>3,u>>>0<256)if(e=t[h+8>>2]|0,n=t[h+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,D=h,n=s;break}l=t[h+24>>2]|0,e=t[h+12>>2]|0;do if((e|0)==(h|0)){if(r=h+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else D=t[h+8>>2]|0,t[D+12>>2]=e,t[e+8>>2]=D;while(0);if(l){if(n=t[h+28>>2]|0,r=11436+(n<<2)|0,(h|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=e,!e){D=h,n=s;break}t[e+24>>2]=l,n=h+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,D=h,n=s):(D=h,n=s)}else D=h,n=s}while(0);if(!(h>>>0>=S>>>0)&&(e=S+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[D+4>>2]=n|1,t[h+n>>2]=n,l=n;else{if(e=t[2788]|0,(S|0)==(t[2789]|0)){if(S=(t[2786]|0)+n|0,t[2786]=S,t[2789]=D,t[D+4>>2]=S|1,(D|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((S|0)==(e|0)){S=(t[2785]|0)+n|0,t[2785]=S,t[2788]=h,t[D+4>>2]=S|1,t[h+S>>2]=S;return}l=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[S+8>>2]|0,e=t[S+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{s=t[S+24>>2]|0,e=t[S+12>>2]|0;do if((e|0)==(S|0)){if(r=S+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[S+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(s|0){if(e=t[S+28>>2]|0,n=11436+(e<<2)|0,(S|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,e=S+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[D+4>>2]=l|1,t[h+l>>2]=l,(D|0)==(t[2788]|0)){t[2785]=l;return}}if(e=l>>>3,l>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=D,t[e+12>>2]=D,t[D+8>>2]=e,t[D+12>>2]=r;return}e=l>>>8,e?l>>>0>16777215?e=31:(h=(e+1048320|0)>>>16&8,S=e<>>16&4,S=S<>>16&2,e=14-(s|h|e)+(S<>>15)|0,e=l>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[D+28>>2]=e,t[D+20>>2]=0,t[D+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=D,t[D+24>>2]=r,t[D+12>>2]=D,t[D+8>>2]=D;break}else if((e|0)==73){h=r+8|0,S=t[h>>2]|0,t[S+12>>2]=D,t[h>>2]=D,t[D+8>>2]=S,t[D+12>>2]=r,t[D+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=D,t[D+24>>2]=u,t[D+12>>2]=D,t[D+8>>2]=D;while(0);if(S=(t[2791]|0)+-1|0,t[2791]=S,!S)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function dL(){return 11628}function pL(e){e=e|0;var n=0,r=0;return n=m,m=m+16|0,r=n,t[r>>2]=mL(t[e+60>>2]|0)|0,e=p_(Ou(6,r|0)|0)|0,m=n,e|0}function n8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0;I=m,m=m+48|0,N=I+16|0,s=I,l=I+32|0,D=e+28|0,u=t[D>>2]|0,t[l>>2]=u,S=e+20|0,u=(t[S>>2]|0)-u|0,t[l+4>>2]=u,t[l+8>>2]=n,t[l+12>>2]=r,u=u+r|0,h=e+60|0,t[s>>2]=t[h>>2],t[s+4>>2]=l,t[s+8>>2]=2,s=p_(v0(146,s|0)|0)|0;e:do if((u|0)!=(s|0)){for(n=2;!((s|0)<0);)if(u=u-s|0,be=t[l+4>>2]|0,K=s>>>0>be>>>0,l=K?l+8|0:l,n=(K<<31>>31)+n|0,be=s-(K?be:0)|0,t[l>>2]=(t[l>>2]|0)+be,K=l+4|0,t[K>>2]=(t[K>>2]|0)-be,t[N>>2]=t[h>>2],t[N+4>>2]=l,t[N+8>>2]=n,s=p_(v0(146,N|0)|0)|0,(u|0)==(s|0)){M=3;break e}t[e+16>>2]=0,t[D>>2]=0,t[S>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[l+4>>2]|0)|0}else M=3;while(0);return(M|0)==3&&(be=t[e+44>>2]|0,t[e+16>>2]=be+(t[e+48>>2]|0),t[D>>2]=be,t[S>>2]=be),m=I,r|0}function hL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return l=m,m=m+32|0,s=l,u=l+20|0,t[s>>2]=t[e+60>>2],t[s+4>>2]=0,t[s+8>>2]=n,t[s+12>>2]=u,t[s+16>>2]=r,(p_(Ni(140,s|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,m=l,e|0}function p_(e){return e=e|0,e>>>0>4294963200&&(t[(Fv()|0)>>2]=0-e,e=-1),e|0}function Fv(){return(vL()|0)+64|0}function vL(){return RE()|0}function RE(){return 2084}function mL(e){return e=e|0,e|0}function yL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return l=m,m=m+32|0,u=l,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=l+16,I0(54,u|0)|0):0)&&(p[e+75>>0]=-1),u=n8(e,n,r)|0,m=l,u|0}function r8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=p[e>>0]|0,u=p[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=p[e>>0]|0,u=p[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function gL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;e:do if(!r)e=0;else{for(;u=p[e>>0]|0,l=p[n>>0]|0,u<<24>>24==l<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(l&255)|0}while(0);return e|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0;ye=m,m=m+224|0,M=ye+120|0,I=ye+80|0,be=ye,Se=ye+136|0,u=I,l=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return t[M>>2]=t[r>>2],(AE(0,n,M,be,I)|0)<0?r=-1:((t[e+76>>2]|0)>-1?K=_L(e)|0:K=0,r=t[e>>2]|0,N=r&32,(p[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=AE(e,n,M,be,I)|0:(l=e+44|0,s=t[l>>2]|0,t[l>>2]=Se,h=e+28|0,t[h>>2]=Se,D=e+20|0,t[D>>2]=Se,t[u>>2]=80,S=e+16|0,t[S>>2]=Se+80,r=AE(e,n,M,be,I)|0,s&&(y_[t[e+36>>2]&7](e,0,0)|0,r=(t[D>>2]|0)==0?-1:r,t[l>>2]=s,t[u>>2]=0,t[S>>2]=0,t[h>>2]=0,t[D>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|N,K|0&&EL(e),r=(u&32|0)==0?r:-1),m=ye,r|0}function AE(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0;Nn=m,m=m+64|0,In=Nn+16|0,gn=Nn,Zt=Nn+24|0,_r=Nn+8|0,Pr=Nn+20|0,t[In>>2]=n,ft=(e|0)!=0,Me=Zt+40|0,Pe=Me,Zt=Zt+39|0,Br=_r+4|0,h=0,s=0,M=0;e:for(;;){do if((s|0)>-1)if((h|0)>(2147483647-s|0)){t[(Fv()|0)>>2]=75,s=-1;break}else{s=h+s|0;break}while(0);if(h=p[n>>0]|0,h<<24>>24)D=n;else{Ge=87;break}t:for(;;){switch(h<<24>>24){case 37:{h=D,Ge=9;break t}case 0:{h=D;break t}default:}Je=D+1|0,t[In>>2]=Je,h=p[Je>>0]|0,D=Je}t:do if((Ge|0)==9)for(;;){if(Ge=0,(p[D+1>>0]|0)!=37)break t;if(h=h+1|0,D=D+2|0,t[In>>2]=D,(p[D>>0]|0)==37)Ge=9;else break}while(0);if(h=h-n|0,ft&&Go(e,n,h),h|0){n=D;continue}S=D+1|0,h=(p[S>>0]|0)+-48|0,h>>>0<10?(Je=(p[D+2>>0]|0)==36,ye=Je?h:-1,M=Je?1:M,S=Je?D+3|0:S):ye=-1,t[In>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0;t:do if(D>>>0<32)for(N=0,I=h;;){if(h=1<>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0,D>>>0>=32)break;I=h}else N=0;while(0);if(h<<24>>24==42){if(D=S+1|0,h=(p[D>>0]|0)+-48|0,h>>>0<10?(p[S+2>>0]|0)==36:0)t[l+(h<<2)>>2]=10,h=t[u+((p[D>>0]|0)+-48<<3)>>2]|0,M=1,S=S+3|0;else{if(M|0){s=-1;break}ft?(M=(t[r>>2]|0)+(4-1)&~(4-1),h=t[M>>2]|0,t[r>>2]=M+4,M=0,S=D):(h=0,M=0,S=D)}t[In>>2]=S,Je=(h|0)<0,h=Je?0-h|0:h,N=Je?N|8192:N}else{if(h=u8(In)|0,(h|0)<0){s=-1;break}S=t[In>>2]|0}do if((p[S>>0]|0)==46){if((p[S+1>>0]|0)!=42){t[In>>2]=S+1,D=u8(In)|0,S=t[In>>2]|0;break}if(I=S+2|0,D=(p[I>>0]|0)+-48|0,D>>>0<10?(p[S+3>>0]|0)==36:0){t[l+(D<<2)>>2]=10,D=t[u+((p[I>>0]|0)+-48<<3)>>2]|0,S=S+4|0,t[In>>2]=S;break}if(M|0){s=-1;break e}ft?(Je=(t[r>>2]|0)+(4-1)&~(4-1),D=t[Je>>2]|0,t[r>>2]=Je+4):D=0,t[In>>2]=I,S=I}else D=-1;while(0);for(Se=0;;){if(((p[S>>0]|0)+-65|0)>>>0>57){s=-1;break e}if(Je=S+1|0,t[In>>2]=Je,I=p[(p[S>>0]|0)+-65+(5178+(Se*58|0))>>0]|0,K=I&255,(K+-1|0)>>>0<8)Se=K,S=Je;else break}if(!(I<<24>>24)){s=-1;break}be=(ye|0)>-1;do if(I<<24>>24==19)if(be){s=-1;break e}else Ge=49;else{if(be){t[l+(ye<<2)>>2]=K,be=u+(ye<<3)|0,ye=t[be+4>>2]|0,Ge=gn,t[Ge>>2]=t[be>>2],t[Ge+4>>2]=ye,Ge=49;break}if(!ft){s=0;break e}o8(gn,K,r)}while(0);if((Ge|0)==49?(Ge=0,!ft):0){h=0,n=Je;continue}S=p[S>>0]|0,S=(Se|0)!=0&(S&15|0)==3?S&-33:S,be=N&-65537,ye=(N&8192|0)==0?N:be;t:do switch(S|0){case 110:switch((Se&255)<<24>>24){case 0:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 1:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 2:{h=t[gn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Je;continue e}case 3:{_[t[gn>>2]>>1]=s,h=0,n=Je;continue e}case 4:{p[t[gn>>2]>>0]=s,h=0,n=Je;continue e}case 6:{t[t[gn>>2]>>2]=s,h=0,n=Je;continue e}case 7:{h=t[gn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Je;continue e}default:{h=0,n=Je;continue e}}case 112:{S=120,D=D>>>0>8?D:8,n=ye|8,Ge=61;break}case 88:case 120:{n=ye,Ge=61;break}case 111:{S=gn,n=t[S>>2]|0,S=t[S+4>>2]|0,K=wL(n,S,Me)|0,be=Pe-K|0,N=0,I=5642,D=(ye&8|0)==0|(D|0)>(be|0)?D:be+1|0,be=ye,Ge=67;break}case 105:case 100:if(S=gn,n=t[S>>2]|0,S=t[S+4>>2]|0,(S|0)<0){n=h_(0,0,n|0,S|0)|0,S=ut,N=gn,t[N>>2]=n,t[N+4>>2]=S,N=1,I=5642,Ge=66;break t}else{N=(ye&2049|0)!=0&1,I=(ye&2048|0)==0?(ye&1|0)==0?5642:5644:5643,Ge=66;break t}case 117:{S=gn,N=0,I=5642,n=t[S>>2]|0,S=t[S+4>>2]|0,Ge=66;break}case 99:{p[Zt>>0]=t[gn>>2],n=Zt,N=0,I=5642,K=Me,S=1,D=be;break}case 109:{S=SL(t[(Fv()|0)>>2]|0)|0,Ge=71;break}case 115:{S=t[gn>>2]|0,S=S|0?S:5652,Ge=71;break}case 67:{t[_r>>2]=t[gn>>2],t[Br>>2]=0,t[gn>>2]=_r,K=-1,S=_r,Ge=75;break}case 83:{n=t[gn>>2]|0,D?(K=D,S=n,Ge=75):(gl(e,32,h,0,ye),n=0,Ge=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{h=CL(e,+U[gn>>3],h,D,ye,S)|0,n=Je;continue e}default:N=0,I=5642,K=Me,S=D,D=ye}while(0);t:do if((Ge|0)==61)ye=gn,Se=t[ye>>2]|0,ye=t[ye+4>>2]|0,K=DL(Se,ye,Me,S&32)|0,I=(n&8|0)==0|(Se|0)==0&(ye|0)==0,N=I?0:2,I=I?5642:5642+(S>>4)|0,be=n,n=Se,S=ye,Ge=67;else if((Ge|0)==66)K=Pv(n,S,Me)|0,be=ye,Ge=67;else if((Ge|0)==71)Ge=0,ye=TL(S,0,D)|0,Se=(ye|0)==0,n=S,N=0,I=5642,K=Se?S+D|0:ye,S=Se?D:ye-S|0,D=be;else if((Ge|0)==75){for(Ge=0,I=S,n=0,D=0;N=t[I>>2]|0,!(!N||(D=l8(Pr,N)|0,(D|0)<0|D>>>0>(K-n|0)>>>0));)if(n=D+n|0,K>>>0>n>>>0)I=I+4|0;else break;if((D|0)<0){s=-1;break e}if(gl(e,32,h,n,ye),!n)n=0,Ge=84;else for(N=0;;){if(D=t[S>>2]|0,!D){Ge=84;break t}if(D=l8(Pr,D)|0,N=D+N|0,(N|0)>(n|0)){Ge=84;break t}if(Go(e,Pr,D),N>>>0>=n>>>0){Ge=84;break}else S=S+4|0}}while(0);if((Ge|0)==67)Ge=0,S=(n|0)!=0|(S|0)!=0,ye=(D|0)!=0|S,S=((S^1)&1)+(Pe-K)|0,n=ye?K:Me,K=Me,S=ye?(D|0)>(S|0)?D:S:D,D=(D|0)>-1?be&-65537:be;else if((Ge|0)==84){Ge=0,gl(e,32,h,n,ye^8192),h=(h|0)>(n|0)?h:n,n=Je;continue}Se=K-n|0,be=(S|0)<(Se|0)?Se:S,ye=be+N|0,h=(h|0)<(ye|0)?ye:h,gl(e,32,h,ye,D),Go(e,I,N),gl(e,48,h,ye,D^65536),gl(e,48,be,Se,0),Go(e,n,Se),gl(e,32,h,ye,D^8192),n=Je}e:do if((Ge|0)==87&&!e)if(!M)s=0;else{for(s=1;n=t[l+(s<<2)>>2]|0,!!n;)if(o8(u+(s<<3)|0,n,r),s=s+1|0,(s|0)>=10){s=1;break e}for(;;){if(t[l+(s<<2)>>2]|0){s=-1;break e}if(s=s+1|0,(s|0)>=10){s=1;break}}}while(0);return m=Nn,s|0}function _L(e){return e=e|0,0}function EL(e){e=e|0}function Go(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||FL(n,r,e)|0}function u8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(p[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(p[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,l=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=l,t[u+4>>2]=n;break e}case 13:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&65535)<<16>>16,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&65535,t[l+4>>2]=0;break e}case 15:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&255)<<24>>24,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&255,t[l+4>>2]=0;break e}case 17:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}case 18:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}default:break e}while(0);while(0)}function DL(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=k[5694+(e&15)>>0]|0|u,e=v_(e|0,n|0,4)|0,n=ut;while(!((e|0)==0&(n|0)==0));return r|0}function wL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=e&7|48,e=v_(e|0,n|0,3)|0,n=ut;while(!((e|0)==0&(n|0)==0));return r|0}function Pv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=NE(e|0,n|0,10,0)|0,r=r+-1|0,p[r>>0]=u&255|48,u=e,e=kE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ut;n=e}else n=e;if(n)for(;r=r+-1|0,p[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function SL(e){return e=e|0,ML(e,t[(OL()|0)+188>>2]|0)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;s=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(l=n&255;;){if((p[e>>0]|0)==l<<24>>24){h=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){h=5;break}}else h=5;while(0);(h|0)==5&&(u?h=6:r=0);e:do if((h|0)==6&&(l=n&255,(p[e>>0]|0)!=l<<24>>24)){u=lr(s,16843009)|0;t:do if(r>>>0>3){for(;s=t[e>>2]^u,!((s&-2139062144^-2139062144)&s+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){h=11;break t}}else h=11;while(0);if((h|0)==11&&!r){r=0;break}for(;;){if((p[e>>0]|0)==l<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function gl(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0;if(h=m,m=m+256|0,s=h,(r|0)>(u|0)&(l&73728|0)==0){if(l=r-u|0,bv(s|0,n|0,(l>>>0<256?l:256)|0)|0,l>>>0>255){n=r-u|0;do Go(e,s,256),l=l+-256|0;while(l>>>0>255);l=n&255}Go(e,s,l)}m=h}function l8(e,n){return e=e|0,n=n|0,e?e=RL(e,n,0)|0:e=0,e|0}function CL(e,n,r,u,l,s){e=e|0,n=+n,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0,ye=0,Je=0,Ge=0,ft=0,Me=0,Pe=0,Zt=0,Br=0,In=0,gn=0,_r=0,Pr=0,Nn=0,uu=0;uu=m,m=m+560|0,S=uu+8|0,Je=uu,Nn=uu+524|0,Pr=Nn,N=uu+512|0,t[Je>>2]=0,_r=N+12|0,s8(n)|0,(ut|0)<0?(n=-n,In=1,Br=5659):(In=(l&2049|0)!=0&1,Br=(l&2048|0)==0?(l&1|0)==0?5660:5665:5662),s8(n)|0,gn=ut&2146435072;do if(gn>>>0<2146435072|(gn|0)==2146435072&0<0){if(be=+xL(n,Je)*2,h=be!=0,h&&(t[Je>>2]=(t[Je>>2]|0)+-1),ft=s|32,(ft|0)==97){Se=s&32,K=(Se|0)==0?Br:Br+9|0,I=In|2,h=12-u|0;do if(u>>>0>11|(h|0)==0)n=be;else{n=8;do h=h+-1|0,n=n*16;while((h|0)!=0);if((p[K>>0]|0)==45){n=-(n+(-be-n));break}else{n=be+n-n;break}}while(0);D=t[Je>>2]|0,h=(D|0)<0?0-D|0:D,h=Pv(h,((h|0)<0)<<31>>31,_r)|0,(h|0)==(_r|0)&&(h=N+11|0,p[h>>0]=48),p[h+-1>>0]=(D>>31&2)+43,M=h+-2|0,p[M>>0]=s+15,N=(u|0)<1,S=(l&8|0)==0,h=Nn;do gn=~~n,D=h+1|0,p[h>>0]=k[5694+gn>>0]|Se,n=(n-+(gn|0))*16,((D-Pr|0)==1?!(S&(N&n==0)):0)?(p[D>>0]=46,h=h+2|0):h=D;while(n!=0);gn=h-Pr|0,Pr=_r-M|0,_r=(u|0)!=0&(gn+-2|0)<(u|0)?u+2|0:gn,h=Pr+I+_r|0,gl(e,32,r,h,l),Go(e,K,I),gl(e,48,r,h,l^65536),Go(e,Nn,gn),gl(e,48,_r-gn|0,0,0),Go(e,M,Pr),gl(e,32,r,h,l^8192);break}D=(u|0)<0?6:u,h?(h=(t[Je>>2]|0)+-28|0,t[Je>>2]=h,n=be*268435456):(n=be,h=t[Je>>2]|0),gn=(h|0)<0?S:S+288|0,S=gn;do Pe=~~n>>>0,t[S>>2]=Pe,S=S+4|0,n=(n-+(Pe>>>0))*1e9;while(n!=0);if((h|0)>0)for(N=gn,I=S;;){if(M=(h|0)<29?h:29,h=I+-4|0,h>>>0>=N>>>0){S=0;do Me=h8(t[h>>2]|0,0,M|0)|0,Me=ME(Me|0,ut|0,S|0,0)|0,Pe=ut,Ge=NE(Me|0,Pe|0,1e9,0)|0,t[h>>2]=Ge,S=kE(Me|0,Pe|0,1e9,0)|0,h=h+-4|0;while(h>>>0>=N>>>0);S&&(N=N+-4|0,t[N>>2]=S)}for(S=I;!(S>>>0<=N>>>0);)if(h=S+-4|0,!(t[h>>2]|0))S=h;else break;if(h=(t[Je>>2]|0)-M|0,t[Je>>2]=h,(h|0)>0)I=S;else break}else N=gn;if((h|0)<0){u=((D+25|0)/9|0)+1|0,ye=(ft|0)==102;do{if(Se=0-h|0,Se=(Se|0)<9?Se:9,N>>>0>>0){M=(1<>>Se,K=0,h=N;do Pe=t[h>>2]|0,t[h>>2]=(Pe>>>Se)+K,K=lr(Pe&M,I)|0,h=h+4|0;while(h>>>0>>0);h=(t[N>>2]|0)==0?N+4|0:N,K?(t[S>>2]=K,N=h,h=S+4|0):(N=h,h=S)}else N=(t[N>>2]|0)==0?N+4|0:N,h=S;S=ye?gn:N,S=(h-S>>2|0)>(u|0)?S+(u<<2)|0:h,h=(t[Je>>2]|0)+Se|0,t[Je>>2]=h}while((h|0)<0);h=N,u=S}else h=N,u=S;if(Pe=gn,h>>>0>>0){if(S=(Pe-h>>2)*9|0,M=t[h>>2]|0,M>>>0>=10){N=10;do N=N*10|0,S=S+1|0;while(M>>>0>=N>>>0)}}else S=0;if(ye=(ft|0)==103,Ge=(D|0)!=0,N=D-((ft|0)!=102?S:0)+((Ge&ye)<<31>>31)|0,(N|0)<(((u-Pe>>2)*9|0)+-9|0)){if(N=N+9216|0,Se=gn+4+(((N|0)/9|0)+-1024<<2)|0,N=((N|0)%9|0)+1|0,(N|0)<9){M=10;do M=M*10|0,N=N+1|0;while((N|0)!=9)}else M=10;if(I=t[Se>>2]|0,K=(I>>>0)%(M>>>0)|0,N=(Se+4|0)==(u|0),N&(K|0)==0)N=Se;else if(be=(((I>>>0)/(M>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Me=(M|0)/2|0,n=K>>>0>>0?.5:N&(K|0)==(Me|0)?1:1.5,In&&(Me=(p[Br>>0]|0)==45,n=Me?-n:n,be=Me?-be:be),N=I-K|0,t[Se>>2]=N,be+n!=be){if(Me=N+M|0,t[Se>>2]=Me,Me>>>0>999999999)for(S=Se;N=S+-4|0,t[S>>2]=0,N>>>0>>0&&(h=h+-4|0,t[h>>2]=0),Me=(t[N>>2]|0)+1|0,t[N>>2]=Me,Me>>>0>999999999;)S=N;else N=Se;if(S=(Pe-h>>2)*9|0,I=t[h>>2]|0,I>>>0>=10){M=10;do M=M*10|0,S=S+1|0;while(I>>>0>=M>>>0)}}else N=Se;N=N+4|0,N=u>>>0>N>>>0?N:u,Me=h}else N=u,Me=h;for(ft=N;;){if(ft>>>0<=Me>>>0){Je=0;break}if(h=ft+-4|0,!(t[h>>2]|0))ft=h;else{Je=1;break}}u=0-S|0;do if(ye)if(h=((Ge^1)&1)+D|0,(h|0)>(S|0)&(S|0)>-5?(M=s+-1|0,D=h+-1-S|0):(M=s+-2|0,D=h+-1|0),h=l&8,h)Se=h;else{if(Je?(Zt=t[ft+-4>>2]|0,(Zt|0)!=0):0)if((Zt>>>0)%10|0)N=0;else{N=0,h=10;do h=h*10|0,N=N+1|0;while(!((Zt>>>0)%(h>>>0)|0|0))}else N=9;if(h=((ft-Pe>>2)*9|0)+-9|0,(M|32|0)==102){Se=h-N|0,Se=(Se|0)>0?Se:0,D=(D|0)<(Se|0)?D:Se,Se=0;break}else{Se=h+S-N|0,Se=(Se|0)>0?Se:0,D=(D|0)<(Se|0)?D:Se,Se=0;break}}else M=s,Se=l&8;while(0);if(ye=D|Se,I=(ye|0)!=0&1,K=(M|32|0)==102,K)Ge=0,h=(S|0)>0?S:0;else{if(h=(S|0)<0?u:S,h=Pv(h,((h|0)<0)<<31>>31,_r)|0,N=_r,(N-h|0)<2)do h=h+-1|0,p[h>>0]=48;while((N-h|0)<2);p[h+-1>>0]=(S>>31&2)+43,h=h+-2|0,p[h>>0]=M,Ge=h,h=N-h|0}if(h=In+1+D+I+h|0,gl(e,32,r,h,l),Go(e,Br,In),gl(e,48,r,h,l^65536),K){M=Me>>>0>gn>>>0?gn:Me,Se=Nn+9|0,I=Se,K=Nn+8|0,N=M;do{if(S=Pv(t[N>>2]|0,0,Se)|0,(N|0)==(M|0))(S|0)==(Se|0)&&(p[K>>0]=48,S=K);else if(S>>>0>Nn>>>0){bv(Nn|0,48,S-Pr|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}Go(e,S,I-S|0),N=N+4|0}while(N>>>0<=gn>>>0);if(ye|0&&Go(e,5710,1),N>>>0>>0&(D|0)>0)for(;;){if(S=Pv(t[N>>2]|0,0,Se)|0,S>>>0>Nn>>>0){bv(Nn|0,48,S-Pr|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}if(Go(e,S,(D|0)<9?D:9),N=N+4|0,S=D+-9|0,N>>>0>>0&(D|0)>9)D=S;else{D=S;break}}gl(e,48,D+9|0,9,0)}else{if(ye=Je?ft:Me+4|0,(D|0)>-1){Je=Nn+9|0,Se=(Se|0)==0,u=Je,I=0-Pr|0,K=Nn+8|0,M=Me;do{S=Pv(t[M>>2]|0,0,Je)|0,(S|0)==(Je|0)&&(p[K>>0]=48,S=K);do if((M|0)==(Me|0)){if(N=S+1|0,Go(e,S,1),Se&(D|0)<1){S=N;break}Go(e,5710,1),S=N}else{if(S>>>0<=Nn>>>0)break;bv(Nn|0,48,S+I|0)|0;do S=S+-1|0;while(S>>>0>Nn>>>0)}while(0);Pr=u-S|0,Go(e,S,(D|0)>(Pr|0)?Pr:D),D=D-Pr|0,M=M+4|0}while(M>>>0>>0&(D|0)>-1)}gl(e,48,D+18|0,18,0),Go(e,Ge,_r-Ge|0)}gl(e,32,r,h,l^8192)}else Nn=(s&32|0)!=0,h=In+3|0,gl(e,32,r,h,l&-65537),Go(e,Br,In),Go(e,n!=n|!1?Nn?5686:5690:Nn?5678:5682,3),gl(e,32,r,h,l^8192);while(0);return m=uu,((h|0)<(r|0)?r:h)|0}function s8(e){e=+e;var n=0;return U[W>>3]=e,n=t[W>>2]|0,ut=t[W+4>>2]|0,n|0}function xL(e,n){return e=+e,n=n|0,+ +a8(e,n)}function a8(e,n){e=+e,n=n|0;var r=0,u=0,l=0;switch(U[W>>3]=e,r=t[W>>2]|0,u=t[W+4>>2]|0,l=v_(r|0,u|0,52)|0,l&2047){case 0:{e!=0?(e=+a8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(l&2047)+-1022,t[W>>2]=r,t[W+4>>2]=u&-2146435073|1071644672,e=+U[W>>3]}return+e}function RL(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){p[e>>0]=n,e=1;break}if(!(t[t[(AL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){p[e>>0]=n,e=1;break}else{t[(Fv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){p[e>>0]=n>>>6|192,p[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){p[e>>0]=n>>>12|224,p[e+1>>0]=n>>>6&63|128,p[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){p[e>>0]=n>>>18|240,p[e+1>>0]=n>>>12&63|128,p[e+2>>0]=n>>>6&63|128,p[e+3>>0]=n&63|128,e=4;break}else{t[(Fv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function AL(){return RE()|0}function OL(){return RE()|0}function ML(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((k[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((p[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return kL(r,t[n+20>>2]|0)|0}function kL(e,n){return e=e|0,n=n|0,NL(e,n)|0}function NL(e,n){return e=e|0,n=n|0,n?n=LL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function LL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0;K=(t[e>>2]|0)+1794895138|0,s=Kp(t[e+8>>2]|0,K)|0,u=Kp(t[e+12>>2]|0,K)|0,l=Kp(t[e+16>>2]|0,K)|0;e:do if((s>>>0>>2>>>0?(I=n-(s<<2)|0,u>>>0>>0&l>>>0>>0):0)?((l|u)&3|0)==0:0){for(I=u>>>2,M=l>>>2,N=0;;){if(D=s>>>1,S=N+D|0,h=S<<1,l=h+I|0,u=Kp(t[e+(l<<2)>>2]|0,K)|0,l=Kp(t[e+(l+1<<2)>>2]|0,K)|0,!(l>>>0>>0&u>>>0<(n-l|0)>>>0)){u=0;break e}if(p[e+(l+u)>>0]|0){u=0;break e}if(u=r8(r,e+l|0)|0,!u)break;if(u=(u|0)<0,(s|0)==1){u=0;break e}else N=u?N:S,s=u?D:s-D|0}u=h+M|0,l=Kp(t[e+(u<<2)>>2]|0,K)|0,u=Kp(t[e+(u+1<<2)>>2]|0,K)|0,u>>>0>>0&l>>>0<(n-u|0)>>>0?u=(p[e+(u+l)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Kp(e,n){e=e|0,n=n|0;var r=0;return r=y8(e|0)|0,((n|0)==0?e:r)|0}function FL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=r+16|0,l=t[u>>2]|0,l?s=5:PL(r)|0?u=0:(l=t[u>>2]|0,s=5);e:do if((s|0)==5){if(D=r+20|0,h=t[D>>2]|0,u=h,(l-h|0)>>>0>>0){u=y_[t[r+36>>2]&7](r,e,n)|0;break}t:do if((p[r+75>>0]|0)>-1){for(h=n;;){if(!h){s=0,l=e;break t}if(l=h+-1|0,(p[e+l>>0]|0)==10)break;h=l}if(u=y_[t[r+36>>2]&7](r,e,h)|0,u>>>0>>0)break e;s=h,l=e+h|0,n=n-h|0,u=t[D>>2]|0}else s=0,l=e;while(0);gr(u|0,l|0,n|0)|0,t[D>>2]=(t[D>>2]|0)+n,u=s+n|0}while(0);return u|0}function PL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=p[n>>0]|0,p[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Ru(e,n){e=w(e),n=w(n);var r=0,u=0;r=f8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=f8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[W>>2]|0|0}function Xp(e,n){e=w(e),n=w(n);var r=0,u=0;r=c8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=c8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[W>>2]|0|0}function OE(e,n){e=w(e),n=w(n);var r=0,u=0,l=0,s=0,h=0,D=0,S=0,N=0;s=(C[W>>2]=e,t[W>>2]|0),D=(C[W>>2]=n,t[W>>2]|0),r=s>>>23&255,h=D>>>23&255,S=s&-2147483648,l=D<<1;e:do if((l|0)!=0?!((r|0)==255|((IL(n)|0)&2147483647)>>>0>2139095040):0){if(u=s<<1,u>>>0<=l>>>0)return n=w(e*w(0)),w((u|0)==(l|0)?n:e);if(r)u=s&8388607|8388608;else{if(r=s<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=s<<1-r}if(h)D=D&8388607|8388608;else{if(s=D<<9,(s|0)>-1){l=0;do l=l+-1|0,s=s<<1;while((s|0)>-1)}else l=0;h=l,D=D<<1-l}l=u-D|0,s=(l|0)>-1;t:do if((r|0)>(h|0)){for(;;){if(s)if(l)u=l;else break;if(u=u<<1,r=r+-1|0,l=u-D|0,s=(l|0)>-1,(r|0)<=(h|0))break t}n=w(e*w(0));break e}while(0);if(s)if(l)u=l;else{n=w(e*w(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[W>>2]=r|S,w(C[W>>2]))}else N=3;while(0);return(N|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function IL(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function bL(e,n){return e=e|0,n=n|0,i8(t[582]|0,e,n)|0}function hi(e){e=e|0,$n()}function Iv(e){e=e|0}function BL(e,n){return e=e|0,n=n|0,0}function UL(e){return e=e|0,(d8(e+4|0)|0)==-1?(F1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function d8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function e2(e){e=e|0,UL(e)|0&&jL(e)}function jL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(d8(n)|0)!=-1:0)||F1[t[(t[e>>2]|0)+16>>2]&127](e)}function pn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=c_(n)|0,!(e|0);){if(e=HL()|0,!e){e=0;break}R8[e&0]()}return e|0}function p8(e){return e=e|0,pn(e)|0}function _t(e){e=e|0,d_(e)}function zL(e){e=e|0,(p[e+11>>0]|0)<0&&_t(t[e>>2]|0)}function HL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function qL(){}function h_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ut=u,e-r>>>0|0|0}function ME(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ut=n+u+(r>>>0>>0|0)>>>0,r|0|0}function bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(s=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)p[e>>0]=n,e=e+1|0;for(u=s&-4|0,l=u-64|0,h=n|n<<8|n<<16|n<<24;(e|0)<=(l|0);)t[e>>2]=h,t[e+4>>2]=h,t[e+8>>2]=h,t[e+12>>2]=h,t[e+16>>2]=h,t[e+20>>2]=h,t[e+24>>2]=h,t[e+28>>2]=h,t[e+32>>2]=h,t[e+36>>2]=h,t[e+40>>2]=h,t[e+44>>2]=h,t[e+48>>2]=h,t[e+52>>2]=h,t[e+56>>2]=h,t[e+60>>2]=h,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=h,e=e+4|0}for(;(e|0)<(s|0);)p[e>>0]=n,e=e+1|0;return s-r|0}function h8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ut=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function gr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;if((r|0)>=8192)return ai(e|0,n|0,r|0)|0;if(s=e|0,l=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return s|0;p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=l&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=l-4|0;(e|0)<(r|0);)p[e>>0]=p[n>>0]|0,p[e+1>>0]=p[n+1>>0]|0,p[e+2>>0]=p[n+2>>0]|0,p[e+3>>0]=p[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(l|0);)p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0;return s|0}function v8(e){e=e|0;var n=0;return n=p[Ee+(e&255)>>0]|0,(n|0)<8?n|0:(n=p[Ee+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=p[Ee+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(p[Ee+(e>>>24)>>0]|0)+24|0))}function m8(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,N=0,M=0,I=0,K=0,be=0,Se=0;if(M=e,S=n,N=S,h=r,K=u,D=K,!N)return s=(l|0)!=0,D?s?(t[l>>2]=e|0,t[l+4>>2]=n&0,K=0,l=0,ut=K,l|0):(K=0,l=0,ut=K,l|0):(s&&(t[l>>2]=(M>>>0)%(h>>>0),t[l+4>>2]=0),K=0,l=(M>>>0)/(h>>>0)>>>0,ut=K,l|0);s=(D|0)==0;do if(h){if(!s){if(s=(Er(D|0)|0)-(Er(N|0)|0)|0,s>>>0<=31){I=s+1|0,D=31-s|0,n=s-31>>31,h=I,e=M>>>(I>>>0)&n|N<>>(I>>>0)&n,s=0,D=M<>2]=e|0,t[l+4>>2]=S|n&0,K=0,l=0,ut=K,l|0):(K=0,l=0,ut=K,l|0)}if(s=h-1|0,s&h|0){D=(Er(h|0)|0)+33-(Er(N|0)|0)|0,Se=64-D|0,I=32-D|0,S=I>>31,be=D-32|0,n=be>>31,h=D,e=I-1>>31&N>>>(be>>>0)|(N<>>(D>>>0))&n,n=n&N>>>(D>>>0),s=M<>>(be>>>0))&S|M<>31;break}return l|0&&(t[l>>2]=s&M,t[l+4>>2]=0),(h|0)==1?(be=S|n&0,Se=e|0|0,ut=be,Se|0):(Se=v8(h|0)|0,be=N>>>(Se>>>0)|0,Se=N<<32-Se|M>>>(Se>>>0)|0,ut=be,Se|0)}else{if(s)return l|0&&(t[l>>2]=(N>>>0)%(h>>>0),t[l+4>>2]=0),be=0,Se=(N>>>0)/(h>>>0)>>>0,ut=be,Se|0;if(!M)return l|0&&(t[l>>2]=0,t[l+4>>2]=(N>>>0)%(D>>>0)),be=0,Se=(N>>>0)/(D>>>0)>>>0,ut=be,Se|0;if(s=D-1|0,!(s&D))return l|0&&(t[l>>2]=e|0,t[l+4>>2]=s&N|n&0),be=0,Se=N>>>((v8(D|0)|0)>>>0),ut=be,Se|0;if(s=(Er(D|0)|0)-(Er(N|0)|0)|0,s>>>0<=30){n=s+1|0,D=31-s|0,h=n,e=N<>>(n>>>0),n=N>>>(n>>>0),s=0,D=M<>2]=e|0,t[l+4>>2]=S|n&0,be=0,Se=0,ut=be,Se|0):(be=0,Se=0,ut=be,Se|0)}while(0);if(!h)N=D,S=0,D=0;else{I=r|0|0,M=K|u&0,N=ME(I|0,M|0,-1,-1)|0,r=ut,S=D,D=0;do u=S,S=s>>>31|S<<1,s=D|s<<1,u=e<<1|u>>>31|0,K=e>>>31|n<<1|0,h_(N|0,r|0,u|0,K|0)|0,Se=ut,be=Se>>31|((Se|0)<0?-1:0)<<1,D=be&1,e=h_(u|0,K|0,be&I|0,(((Se|0)<0?-1:0)>>31|((Se|0)<0?-1:0)<<1)&M|0)|0,n=ut,h=h-1|0;while((h|0)!=0);N=S,S=0}return h=0,l|0&&(t[l>>2]=e,t[l+4>>2]=n),be=(s|0)>>>31|(N|h)<<1|(h<<1|s>>>31)&0|S,Se=(s<<1|0>>>31)&-2|D,ut=be,Se|0}function kE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,m8(e,n,r,u,0)|0}function t2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[H>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(fr()|0,Ql(12),-1):(t[H>>2]=e,((e|0)>(jr()|0)?(vr()|0)==0:0)?(t[H>>2]=n,Ql(12),-1):n|0)}function Ty(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,p[e>>0]=p[n>>0]|0;e=u}else gr(e,n,r)|0;return e|0}function NE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;return s=m,m=m+16|0,l=s|0,m8(e,n,r,u,l)|0,m=s,ut=t[l+4>>2]|0,t[l>>2]|0|0}function y8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function WL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,g8[e&1](n|0,r|0,u|0,l|0,s|0)}function VL(e,n,r){e=e|0,n=n|0,r=w(r),_8[e&1](n|0,w(r))}function YL(e,n,r){e=e|0,n=n|0,r=+r,E8[e&31](n|0,+r)}function KL(e,n,r,u){return e=e|0,n=n|0,r=w(r),u=w(u),w(D8[e&0](n|0,w(r),w(u)))}function XL(e,n){e=e|0,n=n|0,F1[e&127](n|0)}function QL(e,n,r){e=e|0,n=n|0,r=r|0,P1[e&31](n|0,r|0)}function JL(e,n){return e=e|0,n=n|0,Jp[e&31](n|0)|0}function ZL(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,w8[e&1](n|0,+r,+u,l|0)}function $L(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,LF[e&1](n|0,+r,+u)}function eF(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,y_[e&7](n|0,r|0,u|0)|0}function tF(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+FF[e&1](n|0,r|0,u|0)}function nF(e,n){return e=e|0,n=n|0,+S8[e&15](n|0)}function rF(e,n,r){return e=e|0,n=n|0,r=+r,PF[e&1](n|0,+r)|0}function iF(e,n,r){return e=e|0,n=n|0,r=r|0,FE[e&15](n|0,r|0)|0}function uF(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=+u,l=+l,s=s|0,IF[e&1](n|0,r|0,+u,+l,s|0)}function oF(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,bF[e&1](n|0,r|0,u|0,l|0,s|0,h|0)}function lF(e,n,r){return e=e|0,n=n|0,r=r|0,+T8[e&7](n|0,r|0)}function sF(e){return e=e|0,g_[e&7]()|0}function aF(e,n,r,u,l,s){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,C8[e&1](n|0,r|0,u|0,l|0,s|0)|0}function fF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=+l,BF[e&1](n|0,r|0,u|0,+l)}function cF(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,x8[e&1](n|0,r|0,w(u),l|0,w(s),h|0)}function dF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Ry[e&15](n|0,r|0,u|0)}function pF(e){e=e|0,R8[e&0]()}function hF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,A8[e&15](n|0,r|0,+u)}function vF(e,n,r){return e=e|0,n=+n,r=+r,UF[e&1](+n,+r)|0}function mF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,PE[e&15](n|0,r|0,u|0,l|0)}function yF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,jt(0)}function gF(e,n){e=e|0,n=w(n),jt(1)}function $s(e,n){e=e|0,n=+n,jt(2)}function _F(e,n,r){return e=e|0,n=w(n),r=w(r),jt(3),Tt}function Zn(e){e=e|0,jt(4)}function Cy(e,n){e=e|0,n=n|0,jt(5)}function Na(e){return e=e|0,jt(6),0}function EF(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,jt(7)}function DF(e,n,r){e=e|0,n=+n,r=+r,jt(8)}function wF(e,n,r){return e=e|0,n=n|0,r=r|0,jt(9),0}function SF(e,n,r){return e=e|0,n=n|0,r=r|0,jt(10),0}function Qp(e){return e=e|0,jt(11),0}function TF(e,n){return e=e|0,n=+n,jt(12),0}function xy(e,n){return e=e|0,n=n|0,jt(13),0}function CF(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,jt(14)}function xF(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,jt(15)}function LE(e,n){return e=e|0,n=n|0,jt(16),0}function RF(){return jt(17),0}function AF(e,n,r,u,l){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,jt(18),0}function OF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,jt(19)}function MF(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,jt(20)}function m_(e,n,r){e=e|0,n=n|0,r=r|0,jt(21)}function kF(){jt(22)}function Bv(e,n,r){e=e|0,n=n|0,r=+r,jt(23)}function NF(e,n){return e=+e,n=+n,jt(24),0}function Uv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,jt(25)}var g8=[yF,RO],_8=[gF,n0],E8=[$s,ca,ws,Ss,ts,zo,Ef,ul,qa,r0,Df,qc,dc,Al,Ts,da,ud,pa,pc,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s],D8=[_F],F1=[Zn,Iv,cn,is,Eo,Uf,O1,Ul,n7,r7,i7,hO,vO,mO,IN,bN,BN,Le,fc,Ua,Gu,j0,hh,Sf,n1,Lf,Ea,Ah,fm,y1,g1,Xh,vp,Fd,Lm,T1,Ac,Wm,Ym,Sv,Rv,on,N4,q4,e_,Nt,xu,t0,m9,N9,J9,vR,MR,JR,lA,fA,RA,MA,YA,o7,a7,x7,W7,gd,CM,nk,yk,Nk,eN,vN,xN,ON,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn],P1=[Cy,E2,nd,Hc,xl,il,D2,qs,Rl,ja,za,Ha,Ol,Ue,lt,$t,Wn,si,ur,Wa,S2,mh,G4,J4,_R,AM,Z7,Hw,Cy,Cy,Cy,Cy],Jp=[Na,pL,_f,y,J,ce,mt,xt,kt,xr,cu,z0,Va,od,Kc,Ms,FR,O7,NM,Oa,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na],w8=[EF,x2],LF=[DF,QA],y_=[wF,n8,hL,yL,zh,dv,E9,Ik],FF=[SF,lv],S8=[Qp,u0,Ve,ci,vh,sl,ha,R2,A2,hc,Qp,Qp,Qp,Qp,Qp,Qp],PF=[TF,iA],FE=[xy,BL,w2,cl,q2,_m,cp,Rp,Km,kr,Uo,Dk,xy,xy,xy,xy],IF=[CF,Sh],bF=[xF,iN],T8=[LE,Qi,O2,dd,Xc,vl,LE,LE],g_=[RF,Qc,ro,D0,hA,FA,p7,LN],C8=[AF,li],BF=[OF,sy],x8=[MF,ld],Ry=[m_,R,i0,Gr,Cu,v1,Ld,ar,dy,vo,QO,ok,_N,m_,m_,m_],R8=[kF],A8=[Bv,rd,mo,id,jo,Wc,qi,g,Up,I9,eA,Bv,Bv,Bv,Bv,Bv],UF=[NF,e7],PE=[Uv,Dp,Lc,tR,qR,EA,jA,E7,X7,BM,WN,Uv,Uv,Uv,Uv,Uv];return{_llvm_bswap_i32:y8,dynCall_idd:vF,dynCall_i:sF,_i64Subtract:h_,___udivdi3:kE,dynCall_vif:VL,setThrew:vs,dynCall_viii:dF,_bitshift64Lshr:v_,_bitshift64Shl:h8,dynCall_vi:XL,dynCall_viiddi:uF,dynCall_diii:tF,dynCall_iii:iF,_memset:bv,_sbrk:t2,_memcpy:gr,__GLOBAL__sub_I_Yoga_cpp:ru,dynCall_vii:QL,___uremdi3:NE,dynCall_vid:YL,stackAlloc:fo,_nbind_init:tL,getTempRet0:X,dynCall_di:nF,dynCall_iid:rF,setTempRet0:b0,_i64Add:ME,dynCall_fiff:KL,dynCall_iiii:eF,_emscripten_get_global_libc:dL,dynCall_viid:hF,dynCall_viiid:fF,dynCall_viififi:cF,dynCall_ii:JL,__GLOBAL__sub_I_Binding_cc:yM,dynCall_viiii:mF,dynCall_iiiiii:aF,stackSave:tl,dynCall_viiiii:WL,__GLOBAL__sub_I_nbind_cc:Ws,dynCall_vidd:$L,_free:d_,runPostSets:qL,dynCall_viiiiii:oF,establishStackSpace:ju,_memmove:Ty,stackRestore:Jl,_malloc:c_,__GLOBAL__sub_I_common_cc:b7,dynCall_viddi:ZL,dynCall_dii:lF,dynCall_v:pF}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(o){o=o||[],ensureInitRuntime();var a=o.length+1;function p(){for(var O=0;O<4-1;O++)_.push(0)}var _=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];p();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function o(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),o()},1)):o()}Module.run=Module.run=run;function exit(i,o){o&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var o=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,a="abort("+i+") at "+stackTrace()+o;throw abortDecorators&&abortDecorators.forEach(function(p){a=p(a,i)}),a}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var $p=tt((MH,WS)=>{"use strict";var kP=HS(),NP=qS(),gD=!1,_D=null;NP({},function(i,o){if(!gD){if(gD=!0,i)throw i;_D=o}});if(!gD)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");WS.exports=kP(_D.bind,_D.lib)});var GS=tt((kH,VS)=>{"use strict";VS.exports=({onlyFirst:i=!1}={})=>{let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i?void 0:"g")}});var ED=tt((NH,YS)=>{"use strict";var LP=GS();YS.exports=i=>typeof i=="string"?i.replace(LP(),""):i});var wD=tt((LH,DD)=>{"use strict";var KS=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);DD.exports=KS;DD.exports.default=KS});var QS=tt((FH,XS)=>{"use strict";XS.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var U_=tt((PH,SD)=>{"use strict";var FP=ED(),PP=wD(),IP=QS(),JS=i=>{if(i=i.replace(IP()," "),typeof i!="string"||i.length===0)return 0;i=FP(i);let o=0;for(let a=0;a=127&&p<=159||p>=768&&p<=879||(p>65535&&a++,o+=PP(p)?2:1)}return o};SD.exports=JS;SD.exports.default=JS});var CD=tt((IH,TD)=>{"use strict";var bP=U_(),ZS=i=>{let o=0;for(let a of i.split(` -`))o=Math.max(o,bP(a));return o};TD.exports=ZS;TD.exports.default=ZS});var $S=tt(Wy=>{"use strict";var BP=Wy&&Wy.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Wy,"__esModule",{value:!0});var UP=BP(CD()),xD={};Wy.default=i=>{if(i.length===0)return{width:0,height:0};if(xD[i])return xD[i];let o=UP.default(i),a=i.split(` -`).length;return xD[i]={width:o,height:a},{width:o,height:a}}});var eT=tt(Vy=>{"use strict";var jP=Vy&&Vy.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Vy,"__esModule",{value:!0});var Vi=jP($p()),zP=(i,o)=>{"position"in o&&i.setPositionType(o.position==="absolute"?Vi.default.POSITION_TYPE_ABSOLUTE:Vi.default.POSITION_TYPE_RELATIVE)},HP=(i,o)=>{"marginLeft"in o&&i.setMargin(Vi.default.EDGE_START,o.marginLeft||0),"marginRight"in o&&i.setMargin(Vi.default.EDGE_END,o.marginRight||0),"marginTop"in o&&i.setMargin(Vi.default.EDGE_TOP,o.marginTop||0),"marginBottom"in o&&i.setMargin(Vi.default.EDGE_BOTTOM,o.marginBottom||0)},qP=(i,o)=>{"paddingLeft"in o&&i.setPadding(Vi.default.EDGE_LEFT,o.paddingLeft||0),"paddingRight"in o&&i.setPadding(Vi.default.EDGE_RIGHT,o.paddingRight||0),"paddingTop"in o&&i.setPadding(Vi.default.EDGE_TOP,o.paddingTop||0),"paddingBottom"in o&&i.setPadding(Vi.default.EDGE_BOTTOM,o.paddingBottom||0)},WP=(i,o)=>{var a;"flexGrow"in o&&i.setFlexGrow((a=o.flexGrow)!==null&&a!==void 0?a:0),"flexShrink"in o&&i.setFlexShrink(typeof o.flexShrink=="number"?o.flexShrink:1),"flexDirection"in o&&(o.flexDirection==="row"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_ROW),o.flexDirection==="row-reverse"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_ROW_REVERSE),o.flexDirection==="column"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_COLUMN),o.flexDirection==="column-reverse"&&i.setFlexDirection(Vi.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in o&&(typeof o.flexBasis=="number"?i.setFlexBasis(o.flexBasis):typeof o.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(o.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in o&&((o.alignItems==="stretch"||!o.alignItems)&&i.setAlignItems(Vi.default.ALIGN_STRETCH),o.alignItems==="flex-start"&&i.setAlignItems(Vi.default.ALIGN_FLEX_START),o.alignItems==="center"&&i.setAlignItems(Vi.default.ALIGN_CENTER),o.alignItems==="flex-end"&&i.setAlignItems(Vi.default.ALIGN_FLEX_END)),"alignSelf"in o&&((o.alignSelf==="auto"||!o.alignSelf)&&i.setAlignSelf(Vi.default.ALIGN_AUTO),o.alignSelf==="flex-start"&&i.setAlignSelf(Vi.default.ALIGN_FLEX_START),o.alignSelf==="center"&&i.setAlignSelf(Vi.default.ALIGN_CENTER),o.alignSelf==="flex-end"&&i.setAlignSelf(Vi.default.ALIGN_FLEX_END)),"justifyContent"in o&&((o.justifyContent==="flex-start"||!o.justifyContent)&&i.setJustifyContent(Vi.default.JUSTIFY_FLEX_START),o.justifyContent==="center"&&i.setJustifyContent(Vi.default.JUSTIFY_CENTER),o.justifyContent==="flex-end"&&i.setJustifyContent(Vi.default.JUSTIFY_FLEX_END),o.justifyContent==="space-between"&&i.setJustifyContent(Vi.default.JUSTIFY_SPACE_BETWEEN),o.justifyContent==="space-around"&&i.setJustifyContent(Vi.default.JUSTIFY_SPACE_AROUND))},VP=(i,o)=>{var a,p;"width"in o&&(typeof o.width=="number"?i.setWidth(o.width):typeof o.width=="string"?i.setWidthPercent(Number.parseInt(o.width,10)):i.setWidthAuto()),"height"in o&&(typeof o.height=="number"?i.setHeight(o.height):typeof o.height=="string"?i.setHeightPercent(Number.parseInt(o.height,10)):i.setHeightAuto()),"minWidth"in o&&(typeof o.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(o.minWidth,10)):i.setMinWidth((a=o.minWidth)!==null&&a!==void 0?a:0)),"minHeight"in o&&(typeof o.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(o.minHeight,10)):i.setMinHeight((p=o.minHeight)!==null&&p!==void 0?p:0))},GP=(i,o)=>{"display"in o&&i.setDisplay(o.display==="flex"?Vi.default.DISPLAY_FLEX:Vi.default.DISPLAY_NONE)},YP=(i,o)=>{if("borderStyle"in o){let a=typeof o.borderStyle=="string"?1:0;i.setBorder(Vi.default.EDGE_TOP,a),i.setBorder(Vi.default.EDGE_BOTTOM,a),i.setBorder(Vi.default.EDGE_LEFT,a),i.setBorder(Vi.default.EDGE_RIGHT,a)}};Vy.default=(i,o={})=>{zP(i,o),HP(i,o),qP(i,o),WP(i,o),VP(i,o),GP(i,o),YP(i,o)}});var nT=tt((UH,tT)=>{"use strict";tT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var RD=tt((jH,rT)=>{var Gy=nT(),iT={};for(let i of Object.keys(Gy))iT[Gy[i]]=i;var zn={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};rT.exports=zn;for(let i of Object.keys(zn)){if(!("channels"in zn[i]))throw new Error("missing channels property: "+i);if(!("labels"in zn[i]))throw new Error("missing channel labels property: "+i);if(zn[i].labels.length!==zn[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:o,labels:a}=zn[i];delete zn[i].channels,delete zn[i].labels,Object.defineProperty(zn[i],"channels",{value:o}),Object.defineProperty(zn[i],"labels",{value:a})}zn.rgb.hsl=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.min(o,a,p),t=Math.max(o,a,p),k=t-_,L,O;t===_?L=0:o===t?L=(a-p)/k:a===t?L=2+(p-o)/k:p===t&&(L=4+(o-a)/k),L=Math.min(L*60,360),L<0&&(L+=360);let C=(_+t)/2;return t===_?O=0:C<=.5?O=k/(t+_):O=k/(2-t-_),[L,O*100,C*100]};zn.rgb.hsv=function(i){let o,a,p,_,t,k=i[0]/255,L=i[1]/255,O=i[2]/255,C=Math.max(k,L,O),U=C-Math.min(k,L,O),H=function(W){return(C-W)/6/U+1/2};return U===0?(_=0,t=0):(t=U/C,o=H(k),a=H(L),p=H(O),k===C?_=p-a:L===C?_=1/3+o-p:O===C&&(_=2/3+a-o),_<0?_+=1:_>1&&(_-=1)),[_*360,t*100,C*100]};zn.rgb.hwb=function(i){let o=i[0],a=i[1],p=i[2],_=zn.rgb.hsl(i)[0],t=1/255*Math.min(o,Math.min(a,p));return p=1-1/255*Math.max(o,Math.max(a,p)),[_,t*100,p*100]};zn.rgb.cmyk=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.min(1-o,1-a,1-p),t=(1-o-_)/(1-_)||0,k=(1-a-_)/(1-_)||0,L=(1-p-_)/(1-_)||0;return[t*100,k*100,L*100,_*100]};function KP(i,o){return(i[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2}zn.rgb.keyword=function(i){let o=iT[i];if(o)return o;let a=Infinity,p;for(let _ of Object.keys(Gy)){let t=Gy[_],k=KP(i,t);k.04045?((o+.055)/1.055)**2.4:o/12.92,a=a>.04045?((a+.055)/1.055)**2.4:a/12.92,p=p>.04045?((p+.055)/1.055)**2.4:p/12.92;let _=o*.4124+a*.3576+p*.1805,t=o*.2126+a*.7152+p*.0722,k=o*.0193+a*.1192+p*.9505;return[_*100,t*100,k*100]};zn.rgb.lab=function(i){let o=zn.rgb.xyz(i),a=o[0],p=o[1],_=o[2];a/=95.047,p/=100,_/=108.883,a=a>.008856?a**(1/3):7.787*a+16/116,p=p>.008856?p**(1/3):7.787*p+16/116,_=_>.008856?_**(1/3):7.787*_+16/116;let t=116*p-16,k=500*(a-p),L=200*(p-_);return[t,k,L]};zn.hsl.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100,_,t,k;if(a===0)return k=p*255,[k,k,k];p<.5?_=p*(1+a):_=p+a-p*a;let L=2*p-_,O=[0,0,0];for(let C=0;C<3;C++)t=o+1/3*-(C-1),t<0&&t++,t>1&&t--,6*t<1?k=L+(_-L)*6*t:2*t<1?k=_:3*t<2?k=L+(_-L)*(2/3-t)*6:k=L,O[C]=k*255;return O};zn.hsl.hsv=function(i){let o=i[0],a=i[1]/100,p=i[2]/100,_=a,t=Math.max(p,.01);p*=2,a*=p<=1?p:2-p,_*=t<=1?t:2-t;let k=(p+a)/2,L=p===0?2*_/(t+_):2*a/(p+a);return[o,L*100,k*100]};zn.hsv.rgb=function(i){let o=i[0]/60,a=i[1]/100,p=i[2]/100,_=Math.floor(o)%6,t=o-Math.floor(o),k=255*p*(1-a),L=255*p*(1-a*t),O=255*p*(1-a*(1-t));switch(p*=255,_){case 0:return[p,O,k];case 1:return[L,p,k];case 2:return[k,p,O];case 3:return[k,L,p];case 4:return[O,k,p];case 5:return[p,k,L]}};zn.hsv.hsl=function(i){let o=i[0],a=i[1]/100,p=i[2]/100,_=Math.max(p,.01),t,k;k=(2-a)*p;let L=(2-a)*_;return t=a*_,t/=L<=1?L:2-L,t=t||0,k/=2,[o,t*100,k*100]};zn.hwb.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100,_=a+p,t;_>1&&(a/=_,p/=_);let k=Math.floor(6*o),L=1-p;t=6*o-k,(k&1)!=0&&(t=1-t);let O=a+t*(L-a),C,U,H;switch(k){default:case 6:case 0:C=L,U=O,H=a;break;case 1:C=O,U=L,H=a;break;case 2:C=a,U=L,H=O;break;case 3:C=a,U=O,H=L;break;case 4:C=O,U=a,H=L;break;case 5:C=L,U=a,H=O;break}return[C*255,U*255,H*255]};zn.cmyk.rgb=function(i){let o=i[0]/100,a=i[1]/100,p=i[2]/100,_=i[3]/100,t=1-Math.min(1,o*(1-_)+_),k=1-Math.min(1,a*(1-_)+_),L=1-Math.min(1,p*(1-_)+_);return[t*255,k*255,L*255]};zn.xyz.rgb=function(i){let o=i[0]/100,a=i[1]/100,p=i[2]/100,_,t,k;return _=o*3.2406+a*-1.5372+p*-.4986,t=o*-.9689+a*1.8758+p*.0415,k=o*.0557+a*-.204+p*1.057,_=_>.0031308?1.055*_**(1/2.4)-.055:_*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,k=k>.0031308?1.055*k**(1/2.4)-.055:k*12.92,_=Math.min(Math.max(0,_),1),t=Math.min(Math.max(0,t),1),k=Math.min(Math.max(0,k),1),[_*255,t*255,k*255]};zn.xyz.lab=function(i){let o=i[0],a=i[1],p=i[2];o/=95.047,a/=100,p/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,p=p>.008856?p**(1/3):7.787*p+16/116;let _=116*a-16,t=500*(o-a),k=200*(a-p);return[_,t,k]};zn.lab.xyz=function(i){let o=i[0],a=i[1],p=i[2],_,t,k;t=(o+16)/116,_=a/500+t,k=t-p/200;let L=t**3,O=_**3,C=k**3;return t=L>.008856?L:(t-16/116)/7.787,_=O>.008856?O:(_-16/116)/7.787,k=C>.008856?C:(k-16/116)/7.787,_*=95.047,t*=100,k*=108.883,[_,t,k]};zn.lab.lch=function(i){let o=i[0],a=i[1],p=i[2],_;_=Math.atan2(p,a)*360/2/Math.PI,_<0&&(_+=360);let k=Math.sqrt(a*a+p*p);return[o,k,_]};zn.lch.lab=function(i){let o=i[0],a=i[1],_=i[2]/360*2*Math.PI,t=a*Math.cos(_),k=a*Math.sin(_);return[o,t,k]};zn.rgb.ansi16=function(i,o=null){let[a,p,_]=i,t=o===null?zn.rgb.hsv(i)[2]:o;if(t=Math.round(t/50),t===0)return 30;let k=30+(Math.round(_/255)<<2|Math.round(p/255)<<1|Math.round(a/255));return t===2&&(k+=60),k};zn.hsv.ansi16=function(i){return zn.rgb.ansi16(zn.hsv.rgb(i),i[2])};zn.rgb.ansi256=function(i){let o=i[0],a=i[1],p=i[2];return o===a&&a===p?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(a/255*5)+Math.round(p/255*5)};zn.ansi16.rgb=function(i){let o=i%10;if(o===0||o===7)return i>50&&(o+=3.5),o=o/10.5*255,[o,o,o];let a=(~~(i>50)+1)*.5,p=(o&1)*a*255,_=(o>>1&1)*a*255,t=(o>>2&1)*a*255;return[p,_,t]};zn.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let o,a=Math.floor(i/36)/5*255,p=Math.floor((o=i%36)/6)/5*255,_=o%6/5*255;return[a,p,_]};zn.rgb.hex=function(i){let a=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(a.length)+a};zn.hex.rgb=function(i){let o=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let a=o[0];o[0].length===3&&(a=a.split("").map(L=>L+L).join(""));let p=parseInt(a,16),_=p>>16&255,t=p>>8&255,k=p&255;return[_,t,k]};zn.rgb.hcg=function(i){let o=i[0]/255,a=i[1]/255,p=i[2]/255,_=Math.max(Math.max(o,a),p),t=Math.min(Math.min(o,a),p),k=_-t,L,O;return k<1?L=t/(1-k):L=0,k<=0?O=0:_===o?O=(a-p)/k%6:_===a?O=2+(p-o)/k:O=4+(o-a)/k,O/=6,O%=1,[O*360,k*100,L*100]};zn.hsl.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=a<.5?2*o*a:2*o*(1-a),_=0;return p<1&&(_=(a-.5*p)/(1-p)),[i[0],p*100,_*100]};zn.hsv.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=o*a,_=0;return p<1&&(_=(a-p)/(1-p)),[i[0],p*100,_*100]};zn.hcg.rgb=function(i){let o=i[0]/360,a=i[1]/100,p=i[2]/100;if(a===0)return[p*255,p*255,p*255];let _=[0,0,0],t=o%1*6,k=t%1,L=1-k,O=0;switch(Math.floor(t)){case 0:_[0]=1,_[1]=k,_[2]=0;break;case 1:_[0]=L,_[1]=1,_[2]=0;break;case 2:_[0]=0,_[1]=1,_[2]=k;break;case 3:_[0]=0,_[1]=L,_[2]=1;break;case 4:_[0]=k,_[1]=0,_[2]=1;break;default:_[0]=1,_[1]=0,_[2]=L}return O=(1-a)*p,[(a*_[0]+O)*255,(a*_[1]+O)*255,(a*_[2]+O)*255]};zn.hcg.hsv=function(i){let o=i[1]/100,a=i[2]/100,p=o+a*(1-o),_=0;return p>0&&(_=o/p),[i[0],_*100,p*100]};zn.hcg.hsl=function(i){let o=i[1]/100,p=i[2]/100*(1-o)+.5*o,_=0;return p>0&&p<.5?_=o/(2*p):p>=.5&&p<1&&(_=o/(2*(1-p))),[i[0],_*100,p*100]};zn.hcg.hwb=function(i){let o=i[1]/100,a=i[2]/100,p=o+a*(1-o);return[i[0],(p-o)*100,(1-p)*100]};zn.hwb.hcg=function(i){let o=i[1]/100,a=i[2]/100,p=1-a,_=p-o,t=0;return _<1&&(t=(p-_)/(1-_)),[i[0],_*100,t*100]};zn.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};zn.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};zn.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};zn.gray.hsl=function(i){return[0,0,i[0]]};zn.gray.hsv=zn.gray.hsl;zn.gray.hwb=function(i){return[0,100,i[0]]};zn.gray.cmyk=function(i){return[0,0,0,i[0]]};zn.gray.lab=function(i){return[i[0],0,0]};zn.gray.hex=function(i){let o=Math.round(i[0]/100*255)&255,p=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(p.length)+p};zn.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var oT=tt((zH,uT)=>{var j_=RD();function XP(){let i={},o=Object.keys(j_);for(let a=o.length,p=0;p{var AD=RD(),$P=oT(),Yv={},eI=Object.keys(AD);function tI(i){let o=function(...a){let p=a[0];return p==null?p:(p.length>1&&(a=p),i(a))};return"conversion"in i&&(o.conversion=i.conversion),o}function nI(i){let o=function(...a){let p=a[0];if(p==null)return p;p.length>1&&(a=p);let _=i(a);if(typeof _=="object")for(let t=_.length,k=0;k{Yv[i]={},Object.defineProperty(Yv[i],"channels",{value:AD[i].channels}),Object.defineProperty(Yv[i],"labels",{value:AD[i].labels});let o=$P(i);Object.keys(o).forEach(p=>{let _=o[p];Yv[i][p]=nI(_),Yv[i][p].raw=tI(_)})});lT.exports=Yv});var H_=tt((qH,aT)=>{"use strict";var fT=(i,o)=>(...a)=>`[${i(...a)+o}m`,cT=(i,o)=>(...a)=>{let p=i(...a);return`[${38+o};5;${p}m`},dT=(i,o)=>(...a)=>{let p=i(...a);return`[${38+o};2;${p[0]};${p[1]};${p[2]}m`},z_=i=>i,pT=(i,o,a)=>[i,o,a],Kv=(i,o,a)=>{Object.defineProperty(i,o,{get:()=>{let p=a();return Object.defineProperty(i,o,{value:p,enumerable:!0,configurable:!0}),p},enumerable:!0,configurable:!0})},OD,Xv=(i,o,a,p)=>{OD===void 0&&(OD=sT());let _=p?10:0,t={};for(let[k,L]of Object.entries(OD)){let O=k==="ansi16"?"ansi":k;k===o?t[O]=i(a,_):typeof L=="object"&&(t[O]=i(L[o],_))}return t};function rI(){let i=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[a,p]of Object.entries(o)){for(let[_,t]of Object.entries(p))o[_]={open:`[${t[0]}m`,close:`[${t[1]}m`},p[_]=o[_],i.set(t[0],t[1]);Object.defineProperty(o,a,{value:p,enumerable:!1})}return Object.defineProperty(o,"codes",{value:i,enumerable:!1}),o.color.close="",o.bgColor.close="",Kv(o.color,"ansi",()=>Xv(fT,"ansi16",z_,!1)),Kv(o.color,"ansi256",()=>Xv(cT,"ansi256",z_,!1)),Kv(o.color,"ansi16m",()=>Xv(dT,"rgb",pT,!1)),Kv(o.bgColor,"ansi",()=>Xv(fT,"ansi16",z_,!0)),Kv(o.bgColor,"ansi256",()=>Xv(cT,"ansi256",z_,!0)),Kv(o.bgColor,"ansi16m",()=>Xv(dT,"rgb",pT,!0)),o}Object.defineProperty(aT,"exports",{enumerable:!0,get:rI})});var mT=tt((WH,hT)=>{"use strict";var Yy=U_(),iI=ED(),uI=H_(),MD=new Set(["","\x9B"]),oI=39,vT=i=>`${MD.values().next().value}[${i}m`,lI=i=>i.split(" ").map(o=>Yy(o)),kD=(i,o,a)=>{let p=[...o],_=!1,t=Yy(iI(i[i.length-1]));for(let[k,L]of p.entries()){let O=Yy(L);if(t+O<=a?i[i.length-1]+=L:(i.push(L),t=0),MD.has(L))_=!0;else if(_&&L==="m"){_=!1;continue}_||(t+=O,t===a&&k0&&i.length>1&&(i[i.length-2]+=i.pop())},sI=i=>{let o=i.split(" "),a=o.length;for(;a>0&&!(Yy(o[a-1])>0);)a--;return a===o.length?i:o.slice(0,a).join(" ")+o.slice(a).join("")},aI=(i,o,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let p="",_="",t,k=lI(i),L=[""];for(let[O,C]of i.split(" ").entries()){a.trim!==!1&&(L[L.length-1]=L[L.length-1].trimLeft());let U=Yy(L[L.length-1]);if(O!==0&&(U>=o&&(a.wordWrap===!1||a.trim===!1)&&(L.push(""),U=0),(U>0||a.trim===!1)&&(L[L.length-1]+=" ",U++)),a.hard&&k[O]>o){let H=o-U,W=1+Math.floor((k[O]-H-1)/o);Math.floor((k[O]-1)/o)o&&U>0&&k[O]>0){if(a.wordWrap===!1&&Uo&&a.wordWrap===!1){kD(L,C,o);continue}L[L.length-1]+=C}a.trim!==!1&&(L=L.map(sI)),p=L.join(` -`);for(let[O,C]of[...p].entries()){if(_+=C,MD.has(C)){let H=parseFloat(/\d[^m]*/.exec(p.slice(O,O+4)));t=H===oI?null:H}let U=uI.codes.get(Number(t));t&&U&&(p[O+1]===` -`?_+=vT(U):C===` -`&&(_+=vT(t)))}return _};hT.exports=(i,o,a)=>String(i).normalize().replace(/\r\n/g,` +Check the render method of %s.`,qt(Rn.type)||"Unknown"));var Ue=Tu(ne,G);return Ue.payload={element:c},C=C===void 0?null:C,C!==null&&(typeof C!="function"&&Ve(!1,"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",C),Ue.callback=C),Va(O,Ue),yl(O,ne),ne}function K4(c){var d=c.current;if(!d.child)return null;switch(d.child.tag){case V:return Lo(d.child.stateNode);default:return d.child.stateNode}}function X4(c){switch(c.tag){case j:var d=c.stateNode;d.hydrate&&Gm(d,d.firstPendingTime);break;case he:Rp(function(){return yl(c,Un)});var D=Ua(jl());Lv(c,D);break}}function Qg(c,d){var D=c.memoizedState;D!==null&&D.dehydrated!==null&&D.retryTime=d.length)return C;var O=d[D],z=Array.isArray(c)?c.slice():f({},c);return z[O]=xy(c[O],d,D+1,C),z},n_=function(c,d,D){return xy(c,d,0,D)};Zg=function(c,d,D,C){for(var O=c.memoizedState;O!==null&&d>0;)O=O.next,d--;if(O!==null){var z=n_(O.memoizedState,D,C);O.memoizedState=z,O.baseState=z,c.memoizedProps=f({},c.memoizedProps),yl(c,Un)}},$g=function(c,d,D){c.pendingProps=n_(c.memoizedProps,d,D),c.alternate&&(c.alternate.pendingProps=c.pendingProps),yl(c,Un)},e_=function(c){yl(c,Un)},t_=function(c){Cy=c}}function $4(c){var d=c.findFiberByHostInstance,D=it.ReactCurrentDispatcher;return Ot(f({},c,{overrideHookState:Zg,overrideProps:$g,setSuspenseHandler:t_,scheduleUpdate:e_,currentDispatcherRef:D,findHostInstanceByFiber:function(C){var O=I0(C);return O===null?null:O.stateNode},findFiberByHostInstance:function(C){return d?d(C):null},findHostInstancesForRefresh:ud,scheduleRefresh:Ol,scheduleRoot:Ts,setRefreshHandler:qa,getCurrentFiber:function(){return Rn}}))}var r_=Object.freeze({createContainer:Y4,updateContainer:Xg,batchedEventUpdates:Qm,batchedUpdates:Xm,unbatchedUpdates:Jm,deferredUpdates:Ym,syncUpdates:pv,discreteUpdates:hv,flushDiscreteUpdates:dv,flushControlled:Zm,flushSync:Rp,flushPassiveEffects:tf,IsThisRendererActing:qf,getPublicRootInstance:K4,attemptSynchronousHydration:X4,attemptUserBlockingHydration:Q4,attemptContinuousHydration:Ty,attemptHydrationAtCurrentPriority:J4,findHostInstance:Sy,findHostInstanceWithWarning:G4,findHostInstanceWithNoPortals:Z4,shouldSuspend:Jg,injectIntoDevTools:$4}),eE=r_.default||r_;Yy.exports=eE;var tE=Yy.exports;return Yy.exports=o,tE})});var YS=nt((DH,mD)=>{"use strict";process.env.NODE_ENV==="production"?mD.exports=HS():mD.exports=GS()});var XS=nt((wH,KS)=>{"use strict";var EP={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};KS.exports=EP});var $S=nt((SH,ZS)=>{"use strict";var DP=Object.assign||function(o){for(var l=1;l"}}]),o}(),QS=function(){H_(o,null,[{key:"fromJS",value:function(f){var h=f.width,E=f.height;return new o(h,E)}}]);function o(l,f){gD(this,o),this.width=l,this.height=f}return H_(o,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),o}(),JS=function(){function o(l,f){gD(this,o),this.unit=l,this.value=f}return H_(o,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case tc.UNIT_POINT:return String(this.value);case tc.UNIT_PERCENT:return this.value+"%";case tc.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),o}();ZS.exports=function(o,l){function f(N,F,k){var x=N[F];N[F]=function(){for(var j=arguments.length,q=Array(j),V=0;V1?q-1:0),re=1;re1&&arguments[1]!==void 0?arguments[1]:NaN,k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tc.DIRECTION_LTR;return N.call(this,F,k,x)}),DP({Config:l.Config,Node:l.Node,Layout:o("Layout",wP),Size:o("Size",QS),Value:o("Value",JS),getInstanceCount:function(){return l.getInstanceCount.apply(l,arguments)}},tc)}});var eT=nt((exports,module)=>{(function(o,l){typeof define=="function"&&define.amd?define([],function(){return l}):typeof module=="object"&&module.exports?module.exports=l:(o.nbind=o.nbind||{}).init=l})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(o,l){return function(){o&&o.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){l(f);return}l(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof hi=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(l,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),l=nodePath.normalize(l);var h=nodeFS.readFileSync(l);return f?h:h.toString()},Module.readBinary=function(l){var f=Module.read(l,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(l){globalEval(read(l))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var f=read(l,"binary");return assert(typeof f=="object"),f},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(o,l){quit(o)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(l){var f=new XMLHttpRequest;return f.open("GET",l,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(l){var f=new XMLHttpRequest;return f.open("GET",l,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(l,f,h){var E=new XMLHttpRequest;E.open("GET",l,!0),E.responseType="arraybuffer",E.onload=function(){E.status==200||E.status==0&&E.response?f(E.response):h()},E.onerror=h,E.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(l){console.log(l)}),Module.printErr||(Module.printErr=function(l){console.warn(l)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(o){dump(o)}:function(o){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(o){document.title=o})}else throw"Unknown runtime environment. Where are we?";function globalEval(o){eval.call(null,o)}!Module.load&&Module.read&&(Module.load=function(l){globalEval(Module.read(l))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(o,l){throw l}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(o){return tempRet0=o,o},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(o){STACKTOP=o},getNativeTypeSize:function(o){switch(o){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(o[o.length-1]==="*")return Runtime.QUANTUM_SIZE;if(o[0]==="i"){var l=parseInt(o.substr(1));return assert(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(o){return Math.max(Runtime.getNativeTypeSize(o),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(o,l){return l==="double"||l==="i64"?o&7&&(assert((o&7)===4),o+=4):assert((o&3)===0),o},getAlignSize:function(o,l,f){return!f&&(o=="i64"||o=="double")?8:o?Math.min(l||(o?Runtime.getNativeFieldSize(o):0),Runtime.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(o,l,f){return f&&f.length?Module["dynCall_"+o].apply(null,[l].concat(f)):Module["dynCall_"+o].call(null,l)},functionPointers:[],addFunction:function(o){for(var l=0;l>2],f=(l+o+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var h=enlargeMemory();if(!h)return HEAP32[DYNAMICTOP_PTR>>2]=l,0}return l},alignMemory:function(o,l){var f=o=Math.ceil(o/(l||16))*(l||16);return f},makeBigInt:function(o,l,f){var h=f?+(o>>>0)+ +(l>>>0)*4294967296:+(o>>>0)+ +(l|0)*4294967296;return h},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(o,l){o||abort("Assertion failed: "+l)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(o){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(o){var l=Runtime.stackAlloc(o.length);return writeArrayToMemory(o,l),l},stringToC:function(o){var l=0;if(o!=null&&o!==0){var f=(o.length<<2)+1;l=Runtime.stackAlloc(f),stringToUTF8(o,l,f)}return l}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(l,f,h,E,t){var N=getCFunc(l),F=[],k=0;if(E)for(var x=0;x>0]=l;break;case"i8":HEAP8[o>>0]=l;break;case"i16":HEAP16[o>>1]=l;break;case"i32":HEAP32[o>>2]=l;break;case"i64":tempI64=[l>>>0,(tempDouble=l,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[o>>2]=tempI64[0],HEAP32[o+4>>2]=tempI64[1];break;case"float":HEAPF32[o>>2]=l;break;case"double":HEAPF64[o>>3]=l;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(o,l,f){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return HEAP8[o>>0];case"i8":return HEAP8[o>>0];case"i16":return HEAP16[o>>1];case"i32":return HEAP32[o>>2];case"i64":return HEAP32[o>>2];case"float":return HEAPF32[o>>2];case"double":return HEAPF64[o>>3];default:abort("invalid type for setValue: "+l)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(o,l,f,h){var E,t;typeof o=="number"?(E=!0,t=o):(E=!1,t=o.length);var N=typeof l=="string"?l:null,F;if(f==ALLOC_NONE?F=h:F=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,N?1:l.length)),E){var h=F,k;for(assert((F&3)==0),k=F+(t&-4);h>2]=0;for(k=F+t;h>0]=0;return F}if(N==="i8")return o.subarray||o.slice?HEAPU8.set(o,F):HEAPU8.set(new Uint8Array(o),F),F;for(var x=0,j,q,V;x>0],f|=h,!(h==0&&!l||(E++,l&&E==l)););l||(l=E);var t="";if(f<128){for(var N=1024,F;l>0;)F=String.fromCharCode.apply(String,HEAPU8.subarray(o,o+Math.min(l,N))),t=t?t+F:F,o+=N,l-=N;return t}return Module.UTF8ToString(o)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(o){for(var l="";;){var f=HEAP8[o++>>0];if(!f)return l;l+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(o,l){return writeAsciiToMemory(o,l,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(o,l){for(var f=l;o[f];)++f;if(f-l>16&&o.subarray&&UTF8Decoder)return UTF8Decoder.decode(o.subarray(l,f));for(var h,E,t,N,F,k,x="";;){if(h=o[l++],!h)return x;if(!(h&128)){x+=String.fromCharCode(h);continue}if(E=o[l++]&63,(h&224)==192){x+=String.fromCharCode((h&31)<<6|E);continue}if(t=o[l++]&63,(h&240)==224?h=(h&15)<<12|E<<6|t:(N=o[l++]&63,(h&248)==240?h=(h&7)<<18|E<<12|t<<6|N:(F=o[l++]&63,(h&252)==248?h=(h&3)<<24|E<<18|t<<12|N<<6|F:(k=o[l++]&63,h=(h&1)<<30|E<<24|t<<18|N<<12|F<<6|k))),h<65536)x+=String.fromCharCode(h);else{var j=h-65536;x+=String.fromCharCode(55296|j>>10,56320|j&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(o){return UTF8ArrayToString(HEAPU8,o)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(o,l,f,h){if(!(h>0))return 0;for(var E=f,t=f+h-1,N=0;N=55296&&F<=57343&&(F=65536+((F&1023)<<10)|o.charCodeAt(++N)&1023),F<=127){if(f>=t)break;l[f++]=F}else if(F<=2047){if(f+1>=t)break;l[f++]=192|F>>6,l[f++]=128|F&63}else if(F<=65535){if(f+2>=t)break;l[f++]=224|F>>12,l[f++]=128|F>>6&63,l[f++]=128|F&63}else if(F<=2097151){if(f+3>=t)break;l[f++]=240|F>>18,l[f++]=128|F>>12&63,l[f++]=128|F>>6&63,l[f++]=128|F&63}else if(F<=67108863){if(f+4>=t)break;l[f++]=248|F>>24,l[f++]=128|F>>18&63,l[f++]=128|F>>12&63,l[f++]=128|F>>6&63,l[f++]=128|F&63}else{if(f+5>=t)break;l[f++]=252|F>>30,l[f++]=128|F>>24&63,l[f++]=128|F>>18&63,l[f++]=128|F>>12&63,l[f++]=128|F>>6&63,l[f++]=128|F&63}}return l[f]=0,f-E}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(o,l,f){return stringToUTF8Array(o,HEAPU8,l,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(o){for(var l=0,f=0;f=55296&&h<=57343&&(h=65536+((h&1023)<<10)|o.charCodeAt(++f)&1023),h<=127?++l:h<=2047?l+=2:h<=65535?l+=3:h<=2097151?l+=4:h<=67108863?l+=5:l+=6}return l}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(o){var l=Module.___cxa_demangle||Module.__cxa_demangle;if(l){try{var f=o.substr(1),h=lengthBytesUTF8(f)+1,E=_malloc(h);stringToUTF8(f,E,h);var t=_malloc(4),N=l(E,0,0,t);if(getValue(t,"i32")===0&&N)return Pointer_stringify(N)}catch{}finally{E&&_free(E),t&&_free(t),N&&_free(N)}return o}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(o){var l=/__Z[\w\d_]+/g;return o.replace(l,function(f){var h=demangle(f);return f===h?f:f+" ["+h+"]"})}function jsStackTrace(){var o=new Error;if(!o.stack){try{throw new Error(0)}catch(l){o=l}if(!o.stack)return"(no stack trace available)"}return o.stack.toString()}function stackTrace(){var o=jsStackTrace();return Module.extraStackTrace&&(o+=` +`+Module.extraStackTrace()),demangleAll(o)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var l=o.shift();if(typeof l=="function"){l();continue}var f=l.func;typeof f=="number"?l.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,l.arg):f(l.arg===void 0?null:l.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(o){__ATPRERUN__.unshift(o)}Module.addOnPreRun=addOnPreRun;function addOnInit(o){__ATINIT__.unshift(o)}Module.addOnInit=addOnInit;function addOnPreMain(o){__ATMAIN__.unshift(o)}Module.addOnPreMain=addOnPreMain;function addOnExit(o){__ATEXIT__.unshift(o)}Module.addOnExit=addOnExit;function addOnPostRun(o){__ATPOSTRUN__.unshift(o)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(o,l,f){var h=f>0?f:lengthBytesUTF8(o)+1,E=new Array(h),t=stringToUTF8Array(o,E,0,E.length);return l&&(E.length=t),E}Module.intArrayFromString=intArrayFromString;function intArrayToString(o){for(var l=[],f=0;f255&&(h&=255),l.push(String.fromCharCode(h))}return l.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(o,l,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var h,E;f&&(E=l+lengthBytesUTF8(o),h=HEAP8[E]),stringToUTF8(o,l,1/0),f&&(HEAP8[E]=h)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(o,l){HEAP8.set(o,l)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(o,l,f){for(var h=0;h>0]=o.charCodeAt(h);f||(HEAP8[l>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function o(l,f){var h=l>>>16,E=l&65535,t=f>>>16,N=f&65535;return E*N+(h*N+E*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(o){return froundBuffer[0]=o,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(o){o=o>>>0;for(var l=0;l<32;l++)if(o&1<<31-l)return l;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(o){return o<0?Math.ceil(o):Math.floor(o)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(o){return o}function addRunDependency(o){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(o){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var l=dependenciesFulfilled;dependenciesFulfilled=null,l()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(o,l,f,h,E,t,N,F){return _nbind.callbackSignatureList[o].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(o,l,f,h,E,t,N,F){return ASM_CONSTS[o](l,f,h,E,t,N,F)}function _emscripten_asm_const_iiiii(o,l,f,h,E){return ASM_CONSTS[o](l,f,h,E)}function _emscripten_asm_const_iiidddddd(o,l,f,h,E,t,N,F,k){return ASM_CONSTS[o](l,f,h,E,t,N,F,k)}function _emscripten_asm_const_iiididi(o,l,f,h,E,t,N){return ASM_CONSTS[o](l,f,h,E,t,N)}function _emscripten_asm_const_iiii(o,l,f,h){return ASM_CONSTS[o](l,f,h)}function _emscripten_asm_const_iiiid(o,l,f,h,E){return ASM_CONSTS[o](l,f,h,E)}function _emscripten_asm_const_iiiiii(o,l,f,h,E,t){return ASM_CONSTS[o](l,f,h,E,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(o,l){__ATEXIT__.unshift({func:o,arg:l})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(o,l,f,h){var E=arguments.length,t=E<3?l:h===null?h=Object.getOwnPropertyDescriptor(l,f):h,N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(o,l,f,h);else for(var F=o.length-1;F>=0;F--)(N=o[F])&&(t=(E<3?N(t):E>3?N(l,f,t):N(l,f))||t);return E>3&&t&&Object.defineProperty(l,f,t),t}function _defineHidden(o){return function(l,f){Object.defineProperty(l,f,{configurable:!1,enumerable:!1,value:o,writable:!0})}}var _nbind={};function __nbind_free_external(o){_nbind.externalList[o].dereference(o)}function __nbind_reference_external(o){_nbind.externalList[o].reference()}function _llvm_stackrestore(o){var l=_llvm_stacksave,f=l.LLVM_SAVEDSTACKS[o];l.LLVM_SAVEDSTACKS.splice(o,1),Runtime.stackRestore(f)}function __nbind_register_pool(o,l,f,h){_nbind.Pool.pageSize=o,_nbind.Pool.usedPtr=l/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=h/4,HEAP32[l/4]=16909060,HEAP8[l]==1&&(_nbind.bigEndian=!0),HEAP32[l/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var E=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});E.proto=Module,_nbind.BindClass.list.push(E);var t}function _emscripten_set_main_loop_timing(o,l){if(Browser.mainLoop.timingMode=o,Browser.mainLoop.timingValue=l,!Browser.mainLoop.func)return 1;if(o==0)Browser.mainLoop.scheduler=function(){var N=Math.max(0,Browser.mainLoop.tickStartTime+l-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,N)},Browser.mainLoop.method="timeout";else if(o==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(o==2){if(!window.setImmediate){let t=function(N){N.source===window&&N.data===h&&(N.stopPropagation(),f.shift()())};var E=t,f=[],h="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(F){f.push(F),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(F),window.postMessage({target:h})):window.postMessage(h,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(o,l,f,h,E){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=o,Browser.mainLoop.arg=h;var t;typeof h<"u"?t=function(){Module.dynCall_vi(o,h)}:t=function(){Module.dynCall_v(o)};var N=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var k=Date.now(),x=Browser.mainLoop.queue.shift();if(x.func(x.arg),Browser.mainLoop.remainingBlockers){var j=Browser.mainLoop.remainingBlockers,q=j%1==0?j-1:Math.floor(j);x.counted?Browser.mainLoop.remainingBlockers=q:(q=q+.5,Browser.mainLoop.remainingBlockers=(8*j+q)/9)}if(console.log('main loop blocker "'+x.name+'" took '+(Date.now()-k)+" ms"),Browser.mainLoop.updateStatus(),N1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(N0?_emscripten_set_main_loop_timing(0,1e3/l):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var o=Browser.mainLoop.timingMode,l=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(o,l),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var o=Module.statusMessage||"Please wait...",l=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var o={};o.canHandle=function(t){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(t)},o.handle=function(t,N,F,k){var x=null;if(Browser.hasBlobConstructor)try{x=new Blob([t],{type:Browser.getMimetype(N)}),x.size!==t.length&&(x=new Blob([new Uint8Array(t).buffer],{type:Browser.getMimetype(N)}))}catch(re){Runtime.warnOnce("Blob constructor present but fails: "+re+"; falling back to blob builder")}if(!x){var j=new Browser.BlobBuilder;j.append(new Uint8Array(t).buffer),x=j.getBlob()}var q=Browser.URLObject.createObjectURL(x),V=new Image;V.onload=function(){assert(V.complete,"Image "+N+" could not be decoded");var y=document.createElement("canvas");y.width=V.width,y.height=V.height;var me=y.getContext("2d");me.drawImage(V,0,0),Module.preloadedImages[N]=y,Browser.URLObject.revokeObjectURL(q),F&&F(t)},V.onerror=function(y){console.log("Image "+q+" could not be decoded"),k&&k()},V.src=q},Module.preloadPlugins.push(o);var l={};l.canHandle=function(t){return!Module.noAudioDecoding&&t.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(t,N,F,k){var x=!1;function j(me){x||(x=!0,Module.preloadedAudios[N]=me,F&&F(t))}function q(){x||(x=!0,Module.preloadedAudios[N]=new Audio,k&&k())}if(Browser.hasBlobConstructor){try{var V=new Blob([t],{type:Browser.getMimetype(N)})}catch{return q()}var re=Browser.URLObject.createObjectURL(V),y=new Audio;y.addEventListener("canplaythrough",function(){j(y)},!1),y.onerror=function(De){if(x)return;console.log("warning: browser could not fully decode audio "+N+", trying slower base64 approach");function ge(ae){for(var we="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",he="=",ve="",ue=0,Ae=0,ze=0;ze=6;){var We=ue>>Ae-6&63;Ae-=6,ve+=we[We]}return Ae==2?(ve+=we[(ue&3)<<4],ve+=he+he):Ae==4&&(ve+=we[(ue&15)<<2],ve+=he),ve}y.src="data:audio/x-"+N.substr(-3)+";base64,"+ge(t),j(y)},y.src=re,Browser.safeSetTimeout(function(){j(y)},1e4)}else return q()},Module.preloadPlugins.push(l);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var h=Module.canvas;h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&h.addEventListener("click",function(E){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),E.preventDefault())},!1))},createContext:function(o,l,f,h){if(l&&Module.ctx&&o==Module.canvas)return Module.ctx;var E,t;if(l){var N={antialias:!1,alpha:!1};if(h)for(var F in h)N[F]=h[F];t=GL.createContext(o,N),t&&(E=GL.getContext(t).GLctx)}else E=o.getContext("2d");return E?(f&&(l||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=E,l&&GL.makeContextCurrent(t),Module.useWebGL=l,Browser.moduleContextCreatedCallbacks.forEach(function(k){k()}),Browser.init()),E):null},destroyContext:function(o,l,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(o,l,f){Browser.lockPointer=o,Browser.resizeCanvas=l,Browser.vrDevice=f,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var h=Module.canvas;function E(){Browser.isFullscreen=!1;var N=h.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===N?(h.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},h.exitFullscreen=h.exitFullscreen.bind(document),Browser.lockPointer&&h.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(N.parentNode.insertBefore(h,N),N.parentNode.removeChild(N),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(h)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",E,!1),document.addEventListener("mozfullscreenchange",E,!1),document.addEventListener("webkitfullscreenchange",E,!1),document.addEventListener("MSFullscreenChange",E,!1));var t=document.createElement("div");h.parentNode.insertBefore(t,h),t.appendChild(h),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(o,l,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(h,E,t){return Browser.requestFullscreen(h,E,t)},Browser.requestFullscreen(o,l,f)},nextRAF:0,fakeRequestAnimationFrame:function(o){var l=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=l+1e3/60;else for(;l+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-l,0);setTimeout(o,f)},requestAnimationFrame:function o(l){typeof window>"u"?Browser.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(o){return function(){if(!ABORT)return o.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var o=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],o.forEach(function(l){l()})}},safeRequestAnimationFrame:function(o){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?o():Browser.queuedAsyncCallbacks.push(o))})},safeSetTimeout:function(o,l){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?o():Browser.queuedAsyncCallbacks.push(o))},l)},safeSetInterval:function(o,l){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&o()},l)},getMimetype:function(o){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[o.substr(o.lastIndexOf(".")+1)]},getUserMedia:function(o){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(o)},getMovementX:function(o){return o.movementX||o.mozMovementX||o.webkitMovementX||0},getMovementY:function(o){return o.movementY||o.mozMovementY||o.webkitMovementY||0},getMouseWheelDelta:function(o){var l=0;switch(o.type){case"DOMMouseScroll":l=o.detail;break;case"mousewheel":l=o.wheelDelta;break;case"wheel":l=o.deltaY;break;default:throw"unrecognized mouse wheel event: "+o.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(o){if(Browser.pointerLock)o.type!="mousemove"&&"mozMovementX"in o?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(o),Browser.mouseMovementY=Browser.getMovementY(o)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var l=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,h=Module.canvas.height,E=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,t=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(o.type==="touchstart"||o.type==="touchend"||o.type==="touchmove"){var N=o.touch;if(N===void 0)return;var F=N.pageX-(E+l.left),k=N.pageY-(t+l.top);F=F*(f/l.width),k=k*(h/l.height);var x={x:F,y:k};if(o.type==="touchstart")Browser.lastTouches[N.identifier]=x,Browser.touches[N.identifier]=x;else if(o.type==="touchend"||o.type==="touchmove"){var j=Browser.touches[N.identifier];j||(j=x),Browser.lastTouches[N.identifier]=j,Browser.touches[N.identifier]=x}return}var q=o.pageX-(E+l.left),V=o.pageY-(t+l.top);q=q*(f/l.width),V=V*(h/l.height),Browser.mouseMovementX=q-Browser.mouseX,Browser.mouseMovementY=V-Browser.mouseY,Browser.mouseX=q,Browser.mouseY=V}},asyncLoad:function(o,l,f,h){var E=h?"":"al "+o;Module.readAsync(o,function(t){assert(t,'Loading data file "'+o+'" failed (no arrayBuffer).'),l(new Uint8Array(t)),E&&removeRunDependency(E)},function(t){if(f)f();else throw'Loading data file "'+o+'" failed.'}),E&&addRunDependency(E)},resizeListeners:[],updateResizeListeners:function(){var o=Module.canvas;Browser.resizeListeners.forEach(function(l){l(o.width,o.height)})},setCanvasSize:function(o,l,f){var h=Module.canvas;Browser.updateCanvasDimensions(h,o,l),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var o=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];o=o|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=o}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var o=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];o=o&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=o}Browser.updateResizeListeners()},updateCanvasDimensions:function(o,l,f){l&&f?(o.widthNative=l,o.heightNative=f):(l=o.widthNative,f=o.heightNative);var h=l,E=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(h/E>2];return l},getStr:function(){var o=Pointer_stringify(SYSCALLS.get());return o},get64:function(){var o=SYSCALLS.get(),l=SYSCALLS.get();return o>=0?assert(l===0):assert(l===-1),o},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(o,l){SYSCALLS.varargs=l;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(h){return(typeof FS>"u"||!(h instanceof FS.ErrnoError))&&abort(h),-h.errno}}function ___syscall54(o,l){SYSCALLS.varargs=l;try{return 0}catch(f){return(typeof FS>"u"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(o){var l=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(k,x,j,q,V,re){if(x==1){var y=q&896;(y==128||y==256||y==384)&&(k="X const")}var me;return re?me=j.replace("X",k).replace("Y",V):me=k.replace("X",j).replace("Y",V),me.replace(/([*&]) (?=[*&])/g,"$1")}function h(k,x,j,q,V){throw new Error(k+" type "+j.replace("X",x+"?")+(q?" with flag "+q:"")+" in "+V)}function E(k,x,j,q,V,re,y,me){re===void 0&&(re="X"),me===void 0&&(me=1);var De=j(k);if(De)return De;var ge=q(k),ae=ge.placeholderFlag,we=l[ae];y&&we&&(re=f(y[2],y[0],re,we[0],"?",!0));var he;ae==0&&(he="Unbound"),ae>=10&&(he="Corrupt"),me>20&&(he="Deeply nested"),he&&h(he,k,re,ae,V||"?");var ve=ge.paramList[0],ue=E(ve,x,j,q,V,re,we,me+1),Ae,ze={flags:we[0],id:k,name:"",paramList:[ue]},We=[],gt="?";switch(ge.placeholderFlag){case 1:Ae=ue.spec;break;case 2:if((ue.flags&15360)==1024&&ue.spec.ptrSize==1){ze.flags=7168;break}case 3:case 6:case 5:Ae=ue.spec,ue.flags&15360;break;case 8:gt=""+ge.paramList[1],ze.paramList.push(ge.paramList[1]);break;case 9:for(var _t=0,Qe=ge.paramList[1];_t>2]=o),o}function _llvm_stacksave(){var o=_llvm_stacksave;return o.LLVM_SAVEDSTACKS||(o.LLVM_SAVEDSTACKS=[]),o.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),o.LLVM_SAVEDSTACKS.length-1}function ___syscall140(o,l){SYSCALLS.varargs=l;try{var f=SYSCALLS.getStreamFromFD(),h=SYSCALLS.get(),E=SYSCALLS.get(),t=SYSCALLS.get(),N=SYSCALLS.get(),F=E;return FS.llseek(f,F,N),HEAP32[t>>2]=f.position,f.getdents&&F===0&&N===0&&(f.getdents=null),0}catch(k){return(typeof FS>"u"||!(k instanceof FS.ErrnoError))&&abort(k),-k.errno}}function ___syscall146(o,l){SYSCALLS.varargs=l;try{var f=SYSCALLS.get(),h=SYSCALLS.get(),E=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(j,q){var V=___syscall146.buffers[j];assert(V),q===0||q===10?((j===1?Module.print:Module.printErr)(UTF8ArrayToString(V,0)),V.length=0):V.push(q)});for(var N=0;N>2],k=HEAP32[h+(N*8+4)>>2],x=0;x"u"||!(j instanceof FS.ErrnoError))&&abort(j),-j.errno}}function __nbind_finish(){for(var o=0,l=_nbind.BindClass.list;oo.pageSize/2||l>o.pageSize-f){var h=_nbind.typeNameTbl.NBind.proto;return h.lalloc(l)}else return HEAPU32[o.usedPtr]=f+l,o.rootPtr+f},o.lreset=function(l,f){var h=HEAPU32[o.pagePtr];if(h){var E=_nbind.typeNameTbl.NBind.proto;E.lreset(l,f)}else HEAPU32[o.usedPtr]=l},o}();_nbind.Pool=Pool;function constructType(o,l){var f=o==10240?_nbind.makeTypeNameTbl[l.name]||_nbind.BindType:_nbind.makeTypeKindTbl[o],h=new f(l);return typeIdTbl[l.id]=h,_nbind.typeNameTbl[l.name]=h,h}_nbind.constructType=constructType;function getType(o){return typeIdTbl[o]}_nbind.getType=getType;function queryType(o){var l=HEAPU8[o],f=_nbind.structureList[l][1];o/=4,f<0&&(++o,f=HEAPU32[o]+1);var h=Array.prototype.slice.call(HEAPU32.subarray(o+1,o+1+f));return l==9&&(h=[h[0],h.slice(1)]),{paramList:h,placeholderFlag:l}}_nbind.queryType=queryType;function getTypes(o,l){return o.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,l):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(o,l){return Array.prototype.slice.call(HEAPU32,o/4,o/4+l)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(o){for(var l=o;HEAPU8[l++];);return String.fromCharCode.apply("",HEAPU8.subarray(o,l-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(o){var l={};if(o)for(;;){var f=HEAPU32[o/4];if(!f)break;l[readAsciiString(f)]=!0,o+=4}return l}_nbind.readPolicyList=readPolicyList;function getDynCall(o,l){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},h=o.map(function(t){return f[t.name]||"i"}).join(""),E=Module["dynCall_"+h];if(!E)throw new Error("dynCall_"+h+" not found for "+l+"("+o.map(function(t){return t.name}).join(", ")+")");return E}_nbind.getDynCall=getDynCall;function addMethod(o,l,f,h){var E=o[l];o.hasOwnProperty(l)&&E?((E.arity||E.arity===0)&&(E=_nbind.makeOverloader(E,E.arity),o[l]=E),E.addMethod(f,h)):(f.arity=h,o[l]=f)}_nbind.addMethod=addMethod;function throwError(o){throw new Error(o)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(o){__extends(l,o);function l(){var f=o!==null&&o.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return l.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},l.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},l}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(o){__extends(l,o);function l(f){var h=o.call(this,f)||this,E=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return h.heap=E[f.ptrSize*8],h.ptrSize=f.ptrSize,h}return l.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},l.prototype.makeWireWrite=function(f,h){return h&&h.Strict&&function(E){if(typeof E=="number")return E;throw new Error("Type mismatch")}},l}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(o,l){if(o==null){if(l&&l.Nullable)return 0;throw new Error("Type mismatch")}if(l&&l.Strict){if(typeof o!="string")throw new Error("Type mismatch")}else o=o.toString();var f=Module.lengthBytesUTF8(o)+1,h=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(o,HEAPU8,h,f),h}_nbind.pushCString=pushCString;function popCString(o){return o===0?null:Module.Pointer_stringify(o)}_nbind.popCString=popCString;var CStringType=function(o){__extends(l,o);function l(){var f=o!==null&&o.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return l.prototype.makeWireWrite=function(f,h){return function(E){return pushCString(E,h)}},l}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(o){__extends(l,o);function l(){var f=o!==null&&o.apply(this,arguments)||this;return f.wireRead=function(h){return!!h},f}return l.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},l.prototype.makeWireRead=function(f){return"!!("+f+")"},l.prototype.makeWireWrite=function(f,h){return h&&h.Strict&&function(E){if(typeof E=="boolean")return E;throw new Error("Type mismatch")}||f},l}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function o(){}return o.prototype.persist=function(){this.__nbindState|=1},o}();_nbind.Wrapper=Wrapper;function makeBound(o,l){var f=function(h){__extends(E,h);function E(t,N,F,k){var x=h.call(this)||this;if(!(x instanceof E))return new(Function.prototype.bind.apply(E,Array.prototype.concat.apply([null],arguments)));var j=N,q=F,V=k;if(t!==_nbind.ptrMarker){var re=x.__nbindConstructor.apply(x,arguments);j=4608,V=HEAPU32[re/4],q=HEAPU32[re/4+1]}var y={configurable:!0,enumerable:!1,value:null,writable:!1},me={__nbindFlags:j,__nbindPtr:q};V&&(me.__nbindShared=V,_nbind.mark(x));for(var De=0,ge=Object.keys(me);De>=1;var f=_nbind.valueList[o];return _nbind.valueList[o]=firstFreeValue,firstFreeValue=o,f}else{if(l)return _nbind.popShared(o,l);throw new Error("Invalid value slot "+o)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(o){return typeof o=="number"?o:pushValue(o)*4096+valueBase}function pop64(o){return o=3?N=Buffer.from(t):N=new Buffer(t),N.copy(h)}else getBuffer(h).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var o=0,l=dirtyList;o>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(o,l,f,h,E,t){try{Module.dynCall_viiiii(o,l,f,h,E,t)}catch(N){if(typeof N!="number"&&N!=="longjmp")throw N;Module.setThrew(1,0)}}function invoke_vif(o,l,f){try{Module.dynCall_vif(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_vid(o,l,f){try{Module.dynCall_vid(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_fiff(o,l,f,h){try{return Module.dynCall_fiff(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_vi(o,l){try{Module.dynCall_vi(o,l)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(o,l,f){try{Module.dynCall_vii(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_ii(o,l){try{return Module.dynCall_ii(o,l)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(o,l,f,h,E){try{Module.dynCall_viddi(o,l,f,h,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(o,l,f,h){try{Module.dynCall_vidd(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_iiii(o,l,f,h){try{return Module.dynCall_iiii(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_diii(o,l,f,h){try{return Module.dynCall_diii(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_di(o,l){try{return Module.dynCall_di(o,l)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(o,l,f){try{return Module.dynCall_iid(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_iii(o,l,f){try{return Module.dynCall_iii(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_viiddi(o,l,f,h,E,t){try{Module.dynCall_viiddi(o,l,f,h,E,t)}catch(N){if(typeof N!="number"&&N!=="longjmp")throw N;Module.setThrew(1,0)}}function invoke_viiiiii(o,l,f,h,E,t,N){try{Module.dynCall_viiiiii(o,l,f,h,E,t,N)}catch(F){if(typeof F!="number"&&F!=="longjmp")throw F;Module.setThrew(1,0)}}function invoke_dii(o,l,f){try{return Module.dynCall_dii(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_i(o){try{return Module.dynCall_i(o)}catch(l){if(typeof l!="number"&&l!=="longjmp")throw l;Module.setThrew(1,0)}}function invoke_iiiiii(o,l,f,h,E,t){try{return Module.dynCall_iiiiii(o,l,f,h,E,t)}catch(N){if(typeof N!="number"&&N!=="longjmp")throw N;Module.setThrew(1,0)}}function invoke_viiid(o,l,f,h,E){try{Module.dynCall_viiid(o,l,f,h,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(o,l,f,h,E,t,N){try{Module.dynCall_viififi(o,l,f,h,E,t,N)}catch(F){if(typeof F!="number"&&F!=="longjmp")throw F;Module.setThrew(1,0)}}function invoke_viii(o,l,f,h){try{Module.dynCall_viii(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_v(o){try{Module.dynCall_v(o)}catch(l){if(typeof l!="number"&&l!=="longjmp")throw l;Module.setThrew(1,0)}}function invoke_viid(o,l,f,h){try{Module.dynCall_viid(o,l,f,h)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_idd(o,l,f){try{return Module.dynCall_idd(o,l,f)}catch(h){if(typeof h!="number"&&h!=="longjmp")throw h;Module.setThrew(1,0)}}function invoke_viiii(o,l,f,h,E){try{Module.dynCall_viiii(o,l,f,h,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(o,l,f){var h=new o.Int8Array(f),E=new o.Int16Array(f),t=new o.Int32Array(f),N=new o.Uint8Array(f),F=new o.Uint16Array(f),k=new o.Uint32Array(f),x=new o.Float32Array(f),j=new o.Float64Array(f),q=l.DYNAMICTOP_PTR|0,V=l.tempDoublePtr|0,re=l.ABORT|0,y=l.STACKTOP|0,me=l.STACK_MAX|0,De=l.cttz_i8|0,ge=l.___dso_handle|0,ae=0,we=0,he=0,ve=0,ue=o.NaN,Ae=o.Infinity,ze=0,We=0,gt=0,_t=0,Qe=0,ot=0,Ve=o.Math.floor,Pt=o.Math.abs,Jt=o.Math.sqrt,it=o.Math.pow,J=o.Math.cos,ce=o.Math.sin,Re=o.Math.tan,le=o.Math.acos,He=o.Math.asin,dt=o.Math.atan,At=o.Math.atan2,nn=o.Math.exp,an=o.Math.log,On=o.Math.ceil,lr=o.Math.imul,ln=o.Math.min,Vt=o.Math.max,Er=o.Math.clz32,S=o.Math.fround,zt=l.abort,Xn=l.assert,vr=l.enlargeMemory,jr=l.getTotalMemory,fr=l.abortOnCannotGrowMemory,zr=l.invoke_viiiii,Xt=l.invoke_vif,Du=l.invoke_vid,c0=l.invoke_fiff,Ao=l.invoke_vi,Jo=l.invoke_vii,Fs=l.invoke_ii,Zo=l.invoke_viddi,$o=l.invoke_vidd,qt=l.invoke_iiii,xi=l.invoke_diii,lu=l.invoke_di,vi=l.invoke_iid,Dr=l.invoke_iii,el=l.invoke_viiddi,Y0=l.invoke_viiiiii,Bu=l.invoke_dii,K0=l.invoke_i,Kr=l.invoke_iiiiii,Oo=l.invoke_viiid,Mo=l.invoke_viififi,F0=l.invoke_viii,su=l.invoke_v,ki=l.invoke_viid,Ps=l.invoke_idd,Kl=l.invoke_viiii,P0=l._emscripten_asm_const_iiiii,d0=l._emscripten_asm_const_iiidddddd,Hr=l._emscripten_asm_const_iiiid,Ri=l.__nbind_reference_external,X0=l._emscripten_asm_const_iiiiiiii,mi=l._removeAccessorPrefix,en=l._typeModule,In=l.__nbind_register_pool,Ai=l.__decorate,yi=l._llvm_stackrestore,Wt=l.___cxa_atexit,Ru=l.__extends,eu=l.__nbind_get_value_object,Q0=l.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Yi=l._emscripten_set_main_loop_timing,Xl=l.__nbind_register_primitive,ko=l.__nbind_register_type,li=l._emscripten_memcpy_big,ao=l.__nbind_register_function,Ql=l.___setErrNo,No=l.__nbind_register_class,Is=l.__nbind_finish,$n=l._abort,tl=l._nbind_value,fo=l._llvm_stacksave,I0=l.___syscall54,Sl=l._defineHidden,Lo=l._emscripten_set_main_loop,St=l._emscripten_get_now,Bt=l.__nbind_register_callback_signature,Hn=l._emscripten_asm_const_iiiiii,qr=l.__nbind_free_external,Ki=l._emscripten_asm_const_iiii,Xr=l._emscripten_asm_const_iiididi,Au=l.___syscall6,p0=l._atexit,Ni=l.___syscall140,h0=l.___syscall146,hs=S(0);let Ct=S(0);function co(e){e=e|0;var n=0;return n=y,y=y+e|0,y=y+15&-16,n|0}function nl(){return y|0}function Jl(e){e=e|0,y=e}function Uu(e,n){e=e|0,n=n|0,y=e,me=n}function vs(e,n){e=e|0,n=n|0,ae||(ae=e,we=n)}function b0(e){e=e|0,ot=e}function Q(){return ot|0}function Se(){var e=0,n=0;gr(8104,8,400)|0,gr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));h[9088]=0,h[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Wt(17,8104,ge|0)|0}function Fe(e){e=e|0,ac(e+948|0)}function Le(e){return e=S(e),((mr(e)|0)&2147483647)>>>0>2139095040|0}function pt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3&&t[e+60>>2]|0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Yn(e){e=e|0;var n=0;return n=p_(1e3)|0,Cn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,gr(n|0,8104,1e3)|0,h[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Cn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;s=y,y=y+16|0,u=s,n||(t[u>>2]=r,Cl(e,5,3197,u)),y=s}function cr(){return Yn(956)|0}function Si(e){e=e|0;var n=0;return n=pn(1e3)|0,Ou(n,e),Cn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Ou(e,n){e=e|0,n=n|0;var r=0;gr(e|0,n|0,948)|0,sa(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function ju(e){e=e|0;var n=0,r=0,u=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(zu(r+948|0,e)|0,t[n>>2]=0),r=wu(e)|0,r|0){n=0;do t[(Ti(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(u|0)&&(t[s>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Fo(r),h_(e),t[2276]=(t[2276]|0)+-1}function zu(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0;u=t[e>>2]|0,w=e+4|0,r=t[w>>2]|0,a=r;e:do if((u|0)==(r|0))s=u,v=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){s=e,v=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(v|0)==4&&((s|0)!=(r|0)?(u=s+4|0,e=a-u|0,n=e>>2,n&&(ky(s|0,u|0,e|0)|0,r=t[w>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[w>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function wu(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function Ti(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Fo(e){e=e|0;var n=0,r=0,u=0,s=0;u=y,y=y+32|0,n=u,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,K(n,s,s,e+8|0),ti(e,n),ni(n)),y=u}function Mu(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0;L=wu(e)|0;do if(L|0){if((t[(Ti(e,0)|0)+944>>2]|0)==(e|0)){if(!(zu(e+948|0,n)|0))break;gr(n+400|0,8504,540)|0,t[n+944>>2]=0,Qn(e);break}v=t[(t[e+976>>2]|0)+12>>2]|0,w=e+948|0,T=(v|0)==0,r=0,a=0;do u=t[(t[w>>2]|0)+(a<<2)>>2]|0,(u|0)==(n|0)?Qn(e):(s=Si(u)|0,t[(t[w>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,T||BE[v&15](u,s,e,r),r=r+1|0),a=a+1|0;while((a|0)!=(L|0));if(r>>>0>>0){T=e+948|0,w=e+952|0,v=r,r=t[w>>2]|0;do a=(t[T>>2]|0)+(v<<2)|0,u=a+4|0,s=r-u|0,n=s>>2,n&&(ky(a|0,u|0,s|0)|0,r=t[w>>2]|0),s=r,u=a+(n<<2)|0,(s|0)!=(u|0)&&(r=s+(~((s+-4-u|0)>>>2)<<2)|0,t[w>>2]=r),v=v+1|0;while((v|0)!=(L|0))}}while(0)}function po(e){e=e|0;var n=0,r=0,u=0,s=0;Hu(e,(wu(e)|0)==0,2491),Hu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,s=t[u>>2]|0,(s|0)!=(r|0)&&(t[u>>2]=s+(~((s+-4-r|0)>>>2)<<2)),Fo(n),n=e+976|0,r=t[n>>2]|0,gr(e|0,8104,1e3)|0,h[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function Hu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;s=y,y=y+16|0,u=s,n||(t[u>>2]=r,pr(e,5,3197,u)),y=s}function Pa(){return t[2276]|0}function v0(){var e=0;return e=p_(20)|0,ia((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function ia(e,n){e=e|0,n=n|0;var r=0,u=0;u=y,y=y+16|0,r=u,e||(t[r>>2]=n,pr(0,5,3197,r)),y=u}function J0(e){e=e|0,h_(e),t[2277]=(t[2277]|0)+-1}function ua(e,n){e=e|0,n=n|0;var r=0;n?(Hu(e,(wu(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ia(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,a=u+8|0,s=u+4|0,v=u,t[s>>2]=n,Hu(e,(t[n+944>>2]|0)==0,2709),Hu(e,(t[e+964>>2]|0)==0,2763),ms(e),n=e+948|0,t[v>>2]=(t[n>>2]|0)+(r<<2),t[a>>2]=t[v>>2],S0(n,a,s)|0,t[(t[s>>2]|0)+944>>2]=e,Qn(e),y=u}function ms(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0;if(r=wu(e)|0,r|0&&(t[(Ti(e,0)|0)+944>>2]|0)!=(e|0)){u=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,a=(u|0)==0,n=0;do v=t[(t[s>>2]|0)+(n<<2)>>2]|0,w=Si(v)|0,t[(t[s>>2]|0)+(n<<2)>>2]=w,t[w+944>>2]=e,a||BE[u&15](v,w,e,n),n=n+1|0;while((n|0)!=(r|0))}}function S0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0;Ze=y,y=y+64|0,b=Ze+52|0,w=Ze+48|0,X=Ze+28|0,Be=Ze+24|0,Te=Ze+20|0,ye=Ze,u=t[e>>2]|0,a=u,n=u+((t[n>>2]|0)-a>>2<<2)|0,u=e+4|0,s=t[u>>2]|0,v=e+8|0;do if(s>>>0<(t[v>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Wr(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(s-a>>2)+1|0,s=R0(e)|0,s>>>0>>0&&di(e),M=t[e>>2]|0,L=(t[v>>2]|0)-M|0,a=L>>1,K(ye,L>>2>>>0>>1>>>0?a>>>0>>0?u:a:s,n-M>>2,e+8|0),M=ye+8|0,u=t[M>>2]|0,a=ye+12|0,L=t[a>>2]|0,v=L,T=u;do if((u|0)==(L|0)){if(L=ye+4|0,u=t[L>>2]|0,Ye=t[ye>>2]|0,s=Ye,u>>>0<=Ye>>>0){u=v-s>>1,u=(u|0)==0?1:u,K(X,u,u>>>2,t[ye+16>>2]|0),t[Be>>2]=t[L>>2],t[Te>>2]=t[M>>2],t[w>>2]=t[Be>>2],t[b>>2]=t[Te>>2],Di(X,w,b),u=t[ye>>2]|0,t[ye>>2]=t[X>>2],t[X>>2]=u,u=X+4|0,Ye=t[L>>2]|0,t[L>>2]=t[u>>2],t[u>>2]=Ye,u=X+8|0,Ye=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=Ye,u=X+12|0,Ye=t[a>>2]|0,t[a>>2]=t[u>>2],t[u>>2]=Ye,ni(X),u=t[M>>2]|0;break}a=u,v=((a-s>>2)+1|0)/-2|0,w=u+(v<<2)|0,s=T-a|0,a=s>>2,a&&(ky(w|0,u|0,s|0)|0,u=t[L>>2]|0),Ye=w+(a<<2)|0,t[M>>2]=Ye,t[L>>2]=u+(v<<2),u=Ye}while(0);t[u>>2]=t[r>>2],t[M>>2]=(t[M>>2]|0)+4,n=ft(e,ye,n)|0,ni(ye)}while(0);return y=Ze,n|0}function Qn(e){e=e|0;var n=0;do{if(n=e+984|0,h[n>>0]|0)break;h[n>>0]=1,x[e+504>>2]=S(ue),e=t[e+944>>2]|0}while((e|0)!=0)}function ac(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Et(r))}function si(e){return e=e|0,t[e+944>>2]|0}function Jr(e){e=e|0,Hu(e,(t[e+964>>2]|0)!=0,2832),Qn(e)}function Zl(e){return e=e|0,(h[e+984>>0]|0)!=0|0}function oa(e,n){e=e|0,n=n|0,vL(e,n,400)|0&&(gr(e|0,n|0,400)|0,Qn(e))}function pf(e){e=e|0;var n=Ct;return n=S(x[e+44>>2]),e=Le(n)|0,S(e?S(0):n)}function bs(e){e=e|0;var n=Ct;return n=S(x[e+48>>2]),Le(n)|0&&(n=h[(t[e+976>>2]|0)+2>>0]|0?S(1):S(0)),S(n)}function ba(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Bs(e){return e=e|0,t[e+980>>2]|0}function m0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Us(e){return e=e|0,t[e+4>>2]|0}function zi(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function U(e){return e=e|0,t[e+8>>2]|0}function H(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Y(e){return e=e|0,t[e+12>>2]|0}function ee(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Ce(e){return e=e|0,t[e+16>>2]|0}function _e(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Oe(e){return e=e|0,t[e+20>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function Ne(e){return e=e|0,t[e+24>>2]|0}function Je(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function vt(e){return e=e|0,t[e+28>>2]|0}function oe(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function qe(e){return e=e|0,t[e+32>>2]|0}function rt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Qn(e))}function xt(e){return e=e|0,t[e+36>>2]|0}function kt(e,n){e=e|0,n=S(n);var r=0;r=e+40|0,S(x[r>>2])!=n&&(x[r>>2]=n,Qn(e))}function bt(e,n){e=e|0,n=S(n);var r=0;r=e+44|0,S(x[r>>2])!=n&&(x[r>>2]=n,Qn(e))}function sn(e,n){e=e|0,n=S(n);var r=0;r=e+48|0,S(x[r>>2])!=n&&(x[r>>2]=n,Qn(e))}function rn(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+52|0,s=e+56|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function Ft(e,n){e=e|0,n=S(n);var r=0,u=0;u=e+52|0,r=e+56|0,S(x[u>>2])==n&&(t[r>>2]|0)==2||(x[u>>2]=n,u=Le(n)|0,t[r>>2]=u?3:2,Qn(e))}function Dn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function dr(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=(a^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function er(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=a?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Rn(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=(a^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function Nr(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=a?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function y0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(x[e+60+(n<<3)>>2]=S(ue),t[r>>2]=3,Qn(e))}function ut(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=(a^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function wt(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=a?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function et(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function It(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0,a=0;a=Le(r)|0,u=(a^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,a|S(x[s>>2])==r&&(t[n>>2]|0)==(u|0)||(x[s>>2]=r,t[n>>2]=u,Qn(e))}function un(e,n){return e=e|0,n=n|0,S(x[e+276+(n<<3)>>2])}function fn(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+348|0,s=e+352|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function Jn(e,n){e=e|0,n=S(n);var r=0,u=0;u=e+348|0,r=e+352|0,S(x[u>>2])==n&&(t[r>>2]|0)==2||(x[u>>2]=n,u=Le(n)|0,t[r>>2]=u?3:2,Qn(e))}function wr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(x[e+348>>2]=S(ue),t[n>>2]=3,Qn(e))}function au(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function ku(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+356|0,s=e+360|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function T0(e,n){e=e|0,n=S(n);var r=0,u=0;u=e+356|0,r=e+360|0,S(x[u>>2])==n&&(t[r>>2]|0)==2||(x[u>>2]=n,u=Le(n)|0,t[r>>2]=u?3:2,Qn(e))}function Z0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(x[e+356>>2]=S(ue),t[n>>2]=3,Qn(e))}function Nu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function gi(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+364|0,s=e+368|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function Po(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=a?0:2,u=e+364|0,s=e+368|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function rl(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function hf(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+372|0,s=e+376|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function Tl(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=a?0:2,u=e+372|0,s=e+376|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function vf(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Io(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+380|0,s=e+384|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function ys(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=a?0:2,u=e+380|0,s=e+384|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function js(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function bo(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=(a^1)&1,u=e+388|0,s=e+392|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function Bo(e,n){e=e|0,n=S(n);var r=0,u=0,s=0,a=0;a=Le(n)|0,r=a?0:2,u=e+388|0,s=e+392|0,a|S(x[u>>2])==n&&(t[s>>2]|0)==(r|0)||(x[u>>2]=n,t[s>>2]=r,Qn(e))}function gs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Xu(e,n){e=e|0,n=S(n);var r=0;r=e+396|0,S(x[r>>2])!=n&&(x[r>>2]=n,Qn(e))}function Su(e){return e=e|0,S(x[e+396>>2])}function _i(e){return e=e|0,S(x[e+400>>2])}function C0(e){return e=e|0,S(x[e+404>>2])}function $0(e){return e=e|0,S(x[e+408>>2])}function Uo(e){return e=e|0,S(x[e+412>>2])}function la(e){return e=e|0,S(x[e+416>>2])}function $l(e){return e=e|0,S(x[e+420>>2])}function tu(e,n){switch(e=e|0,n=n|0,Hu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return S(x[e+424+(n<<2)>>2])}function Zr(e,n){switch(e=e|0,n=n|0,Hu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return S(x[e+448+(n<<2)>>2])}function ho(e,n){switch(e=e|0,n=n|0,Hu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return S(x[e+472+(n<<2)>>2])}function Bi(e,n){e=e|0,n=n|0;var r=0,u=Ct;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=S(x[e>>2]),e=S(Pt(S(u-S(x[n>>2]))))>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,Q0(u|0,e|0,n|0,0),pr(e,3,(h[u+11>>0]|0)<0?t[u>>2]|0:u,r),BL(u),y=r}function eo(e,n,r,u){e=S(e),n=S(n),r=r|0,u=u|0;var s=Ct;e=S(e*n),s=S(NE(e,S(1)));do if(Ci(s,S(0))|0)e=S(e-s);else{if(e=S(e-s),Ci(s,S(1))|0){e=S(e+S(1));break}if(r){e=S(e+S(1));break}u||(s>S(.5)?s=S(1):(u=Ci(s,S(.5))|0,s=S(u?1:0)),e=S(e+s))}while(0);return S(e/n)}function to(e,n,r,u,s,a,v,w,T,L,M,b,X){e=e|0,n=S(n),r=r|0,u=S(u),s=s|0,a=S(a),v=v|0,w=S(w),T=S(T),L=S(L),M=S(M),b=S(b),X=X|0;var Be=0,Te=Ct,ye=Ct,Ze=Ct,Ye=Ct,ct=Ct,ke=Ct;return T>2]),Te!=S(0))?(Ze=S(eo(n,Te,0,0)),Ye=S(eo(u,Te,0,0)),ye=S(eo(a,Te,0,0)),Te=S(eo(w,Te,0,0))):(ye=a,Ze=n,Te=w,Ye=u),(s|0)==(e|0)?Be=Ci(ye,Ze)|0:Be=0,(v|0)==(r|0)?X=Ci(Te,Ye)|0:X=0,!Be&&(ct=S(n-M),!(xe(e,ct,T)|0))&&!(tt(e,ct,s,T)|0)?Be=Ke(e,ct,s,a,T)|0:Be=1,!X&&(ke=S(u-b),!(xe(r,ke,L)|0))&&!(tt(r,ke,v,L)|0)?X=Ke(r,ke,v,w,L)|0:X=1,X=Be&X),X|0}function xe(e,n,r){return e=e|0,n=S(n),r=S(r),(e|0)==1?e=Ci(n,r)|0:e=0,e|0}function tt(e,n,r,u){return e=e|0,n=S(n),r=r|0,u=S(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=Ci(n,u)|0:e=0,e|0}function Ke(e,n,r,u,s){return e=e|0,n=S(n),r=r|0,u=S(u),s=S(s),(e|0)==2&(r|0)==2&u>n?s<=n?e=1:e=Ci(n,s)|0:e=0,e|0}function Yt(e,n,r,u,s,a,v,w,T,L,M){e=e|0,n=S(n),r=S(r),u=u|0,s=s|0,a=a|0,v=S(v),w=S(w),T=T|0,L=L|0,M=M|0;var b=0,X=0,Be=0,Te=0,ye=Ct,Ze=Ct,Ye=0,ct=0,ke=0,Ie=0,Zt=0,Br=0,Pn=0,gn=0,_r=0,Pr=0,kn=0,uu=Ct,os=Ct,ls=Ct,ss=0,ea=0;kn=y,y=y+160|0,gn=kn+152|0,Pn=kn+120|0,Br=kn+104|0,ke=kn+72|0,Te=kn+56|0,Zt=kn+8|0,ct=kn,Ie=(t[2279]|0)+1|0,t[2279]=Ie,_r=e+984|0,(h[_r>>0]|0)!=0&&(t[e+512>>2]|0)!=(t[2278]|0)?Ye=4:(t[e+516>>2]|0)==(u|0)?Pr=0:Ye=4,(Ye|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,x[e+932>>2]=S(-1),x[e+936>>2]=S(-1),Pr=1);e:do if(t[e+964>>2]|0)if(ye=S(Kt(e,2,v)),Ze=S(Kt(e,0,v)),b=e+916|0,ls=S(x[b>>2]),os=S(x[e+920>>2]),uu=S(x[e+932>>2]),to(s,n,a,r,t[e+924>>2]|0,ls,t[e+928>>2]|0,os,uu,S(x[e+936>>2]),ye,Ze,M)|0)Ye=22;else if(Be=t[e+520>>2]|0,!Be)Ye=21;else for(X=0;;){if(b=e+524+(X*24|0)|0,uu=S(x[b>>2]),os=S(x[e+524+(X*24|0)+4>>2]),ls=S(x[e+524+(X*24|0)+16>>2]),to(s,n,a,r,t[e+524+(X*24|0)+8>>2]|0,uu,t[e+524+(X*24|0)+12>>2]|0,os,ls,S(x[e+524+(X*24|0)+20>>2]),ye,Ze,M)|0){Ye=22;break e}if(X=X+1|0,X>>>0>=Be>>>0){Ye=21;break}}else{if(T){if(b=e+916|0,!(Ci(S(x[b>>2]),n)|0)){Ye=21;break}if(!(Ci(S(x[e+920>>2]),r)|0)){Ye=21;break}if((t[e+924>>2]|0)!=(s|0)){Ye=21;break}b=(t[e+928>>2]|0)==(a|0)?b:0,Ye=22;break}if(Be=t[e+520>>2]|0,!Be)Ye=21;else for(X=0;;){if(b=e+524+(X*24|0)|0,Ci(S(x[b>>2]),n)|0&&Ci(S(x[e+524+(X*24|0)+4>>2]),r)|0&&(t[e+524+(X*24|0)+8>>2]|0)==(s|0)&&(t[e+524+(X*24|0)+12>>2]|0)==(a|0)){Ye=22;break e}if(X=X+1|0,X>>>0>=Be>>>0){Ye=21;break}}}while(0);do if((Ye|0)==21)h[11697]|0?(b=0,Ye=28):(b=0,Ye=31);else if((Ye|0)==22){if(X=(h[11697]|0)!=0,!((b|0)!=0&(Pr^1)))if(X){Ye=28;break}else{Ye=31;break}Te=b+16|0,t[e+908>>2]=t[Te>>2],Be=b+20|0,t[e+912>>2]=t[Be>>2],(h[11698]|0)==0|X^1||(t[ct>>2]=Ei(Ie)|0,t[ct+4>>2]=Ie,pr(e,4,2972,ct),X=t[e+972>>2]|0,X|0&&P1[X&127](e),s=bn(s,T)|0,a=bn(a,T)|0,ea=+S(x[Te>>2]),ss=+S(x[Be>>2]),t[Zt>>2]=s,t[Zt+4>>2]=a,j[Zt+8>>3]=+n,j[Zt+16>>3]=+r,j[Zt+24>>3]=ea,j[Zt+32>>3]=ss,t[Zt+40>>2]=L,pr(e,4,2989,Zt))}while(0);return(Ye|0)==28&&(X=Ei(Ie)|0,t[Te>>2]=X,t[Te+4>>2]=Ie,t[Te+8>>2]=Pr?3047:11699,pr(e,4,3038,Te),X=t[e+972>>2]|0,X|0&&P1[X&127](e),Zt=bn(s,T)|0,Ye=bn(a,T)|0,t[ke>>2]=Zt,t[ke+4>>2]=Ye,j[ke+8>>3]=+n,j[ke+16>>3]=+r,t[ke+24>>2]=L,pr(e,4,3049,ke),Ye=31),(Ye|0)==31&&(mu(e,n,r,u,s,a,v,w,T,M),h[11697]|0&&(X=t[2279]|0,Zt=Ei(X)|0,t[Br>>2]=Zt,t[Br+4>>2]=X,t[Br+8>>2]=Pr?3047:11699,pr(e,4,3083,Br),X=t[e+972>>2]|0,X|0&&P1[X&127](e),Zt=bn(s,T)|0,Br=bn(a,T)|0,ss=+S(x[e+908>>2]),ea=+S(x[e+912>>2]),t[Pn>>2]=Zt,t[Pn+4>>2]=Br,j[Pn+8>>3]=ss,j[Pn+16>>3]=ea,t[Pn+24>>2]=L,pr(e,4,3092,Pn)),t[e+516>>2]=u,b||(X=e+520|0,b=t[X>>2]|0,(b|0)==16&&(h[11697]|0&&pr(e,4,3124,gn),t[X>>2]=0,b=0),T?b=e+916|0:(t[X>>2]=b+1,b=e+524+(b*24|0)|0),x[b>>2]=n,x[b+4>>2]=r,t[b+8>>2]=s,t[b+12>>2]=a,t[b+16>>2]=t[e+908>>2],t[b+20>>2]=t[e+912>>2],b=0)),T&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],h[e+985>>0]=1,h[_r>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],y=kn,Pr|(b|0)==0|0}function Kt(e,n,r){e=e|0,n=n|0,r=S(r);var u=Ct;return u=S(Hi(e,n,r)),S(u+S(A0(e,n,r)))}function pr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=y,y=y+16|0,s=a,t[s>>2]=u,e?u=t[e+976>>2]|0:u=0,zs(u,e,n,r,s),y=a}function Ei(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function bn(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;return s=y,y=y+32|0,r=s+12|0,u=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,y=s,e|0}function mu(e,n,r,u,s,a,v,w,T,L){e=e|0,n=S(n),r=S(r),u=u|0,s=s|0,a=a|0,v=S(v),w=S(w),T=T|0,L=L|0;var M=0,b=0,X=0,Be=0,Te=Ct,ye=Ct,Ze=Ct,Ye=Ct,ct=Ct,ke=Ct,Ie=Ct,Zt=0,Br=0,Pn=0,gn=Ct,_r=Ct,Pr=0,kn=Ct,uu=0,os=0,ls=0,ss=0,ea=0,t2=0,n2=0,uf=0,r2=0,Fc=0,Pc=0,i2=0,u2=0,o2=0,pi=0,of=0,l2=0,Yf=0,s2=Ct,a2=Ct,Ic=Ct,bc=Ct,Kf=Ct,ql=0,La=0,Ns=0,lf=0,b1=0,B1=Ct,Bc=Ct,U1=Ct,j1=Ct,Wl=Ct,El=Ct,sf=0,hu=Ct,z1=Ct,as=Ct,Xf=Ct,fs=Ct,Qf=Ct,H1=0,q1=0,Jf=Ct,Vl=Ct,af=0,W1=0,V1=0,G1=0,Sr=Ct,bu=0,Dl=0,cs=0,Gl=0,Or=0,Bn=0,ff=0,mn=Ct,Y1=0,a0=0;ff=y,y=y+16|0,ql=ff+12|0,La=ff+8|0,Ns=ff+4|0,lf=ff,Hu(e,(s|0)==0|(Le(n)|0)^1,3326),Hu(e,(a|0)==0|(Le(r)|0)^1,3406),Dl=xl(e,u)|0,t[e+496>>2]=Dl,Or=B0(2,Dl)|0,Bn=B0(0,Dl)|0,x[e+440>>2]=S(Hi(e,Or,v)),x[e+444>>2]=S(A0(e,Or,v)),x[e+428>>2]=S(Hi(e,Bn,v)),x[e+436>>2]=S(A0(e,Bn,v)),x[e+464>>2]=S(O0(e,Or)),x[e+468>>2]=S(vo(e,Or)),x[e+452>>2]=S(O0(e,Bn)),x[e+460>>2]=S(vo(e,Bn)),x[e+488>>2]=S(Fu(e,Or,v)),x[e+492>>2]=S(Ju(e,Or,v)),x[e+476>>2]=S(Fu(e,Bn,v)),x[e+484>>2]=S(Ju(e,Bn,v));do if(t[e+964>>2]|0)es(e,n,r,s,a,v,w);else{if(cs=e+948|0,Gl=(t[e+952>>2]|0)-(t[cs>>2]|0)>>2,!Gl){_s(e,n,r,s,a,v,w);break}if(!T&&aa(e,n,r,s,a,v,w)|0)break;ms(e),of=e+508|0,h[of>>0]=0,Or=B0(t[e+4>>2]|0,Dl)|0,Bn=gf(Or,Dl)|0,bu=qi(Or)|0,l2=t[e+8>>2]|0,W1=e+28|0,Yf=(t[W1>>2]|0)!=0,fs=bu?v:w,Jf=bu?w:v,s2=S(Zu(e,Or,v)),a2=S(Es(e,Or,v)),Te=S(Zu(e,Bn,v)),Qf=S(Rr(e,Or,v)),Vl=S(Rr(e,Bn,v)),Pn=bu?s:a,af=bu?a:s,Sr=bu?Qf:Vl,ct=bu?Vl:Qf,Xf=S(Kt(e,2,v)),Ye=S(Kt(e,0,v)),ye=S(S(xn(e+364|0,v))-Sr),Ze=S(S(xn(e+380|0,v))-Sr),ke=S(S(xn(e+372|0,w))-ct),Ie=S(S(xn(e+388|0,w))-ct),Ic=bu?ye:ke,bc=bu?Ze:Ie,Xf=S(n-Xf),n=S(Xf-Sr),Le(n)|0?Sr=n:Sr=S(xu(S(Kp(n,Ze)),ye)),z1=S(r-Ye),n=S(z1-ct),Le(n)|0?as=n:as=S(xu(S(Kp(n,Ie)),ke)),ye=bu?Sr:as,hu=bu?as:Sr;e:do if((Pn|0)==1)for(u=0,b=0;;){if(M=Ti(e,b)|0,!u)S(nu(M))>S(0)&&S(fu(M))>S(0)?u=M:u=0;else if(no(M)|0){Be=0;break e}if(b=b+1|0,b>>>0>=Gl>>>0){Be=u;break}}else Be=0;while(0);Zt=Be+500|0,Br=Be+504|0,u=0,M=0,n=S(0),X=0;do{if(b=t[(t[cs>>2]|0)+(X<<2)>>2]|0,(t[b+36>>2]|0)==1)Li(b),h[b+985>>0]=1,h[b+984>>0]=0;else{Qr(b),T&&x0(b,xl(b,Dl)|0,ye,hu,Sr);do if((t[b+24>>2]|0)!=1)if((b|0)==(Be|0)){t[Zt>>2]=t[2278],x[Br>>2]=S(0);break}else{ei(e,b,Sr,s,as,Sr,as,a,Dl,L);break}else M|0&&(t[M+960>>2]=b),t[b+960>>2]=0,M=b,u=(u|0)==0?b:u;while(0);El=S(x[b+504>>2]),n=S(n+S(El+S(Kt(b,Or,Sr))))}X=X+1|0}while((X|0)!=(Gl|0));for(ls=n>ye,sf=Yf&((Pn|0)==2&ls)?1:Pn,uu=(af|0)==1,ea=uu&(T^1),t2=(sf|0)==1,n2=(sf|0)==2,uf=976+(Or<<2)|0,r2=(af|2|0)==2,o2=uu&(Yf^1),Fc=1040+(Bn<<2)|0,Pc=1040+(Or<<2)|0,i2=976+(Bn<<2)|0,u2=(af|0)!=1,ls=Yf&((Pn|0)!=0&ls),os=e+976|0,uu=uu^1,n=ye,Pr=0,ss=0,El=S(0),Kf=S(0);;){e:do if(Pr>>>0>>0)for(Br=t[cs>>2]|0,X=0,Ie=S(0),ke=S(0),Ze=S(0),ye=S(0),b=0,M=0,Be=Pr;;){if(Zt=t[Br+(Be<<2)>>2]|0,(t[Zt+36>>2]|0)!=1&&(t[Zt+940>>2]=ss,(t[Zt+24>>2]|0)!=1)){if(Ye=S(Kt(Zt,Or,Sr)),pi=t[uf>>2]|0,r=S(xn(Zt+380+(pi<<3)|0,fs)),ct=S(x[Zt+504>>2]),r=S(Kp(r,ct)),r=S(xu(S(xn(Zt+364+(pi<<3)|0,fs)),r)),Yf&(X|0)!=0&S(Ye+S(ke+r))>n){a=X,Ye=Ie,Pn=Be;break e}Ye=S(Ye+r),r=S(ke+Ye),Ye=S(Ie+Ye),no(Zt)|0&&(Ze=S(Ze+S(nu(Zt))),ye=S(ye-S(ct*S(fu(Zt))))),M|0&&(t[M+960>>2]=Zt),t[Zt+960>>2]=0,X=X+1|0,M=Zt,b=(b|0)==0?Zt:b}else Ye=Ie,r=ke;if(Be=Be+1|0,Be>>>0>>0)Ie=Ye,ke=r;else{a=X,Pn=Be;break}}else a=0,Ye=S(0),Ze=S(0),ye=S(0),b=0,Pn=Pr;while(0);pi=Ze>S(0)&ZeS(0)&yebc&((Le(bc)|0)^1))n=bc,pi=51;else if(h[(t[os>>2]|0)+3>>0]|0)pi=51;else{if(gn!=S(0)&&S(nu(e))!=S(0)){pi=53;break}n=Ye,pi=53}while(0);if((pi|0)==51&&(pi=0,Le(n)|0?pi=53:(_r=S(n-Ye),kn=n)),(pi|0)==53&&(pi=0,Ye>2]|0,Be=_rS(0),ke=S(_r/gn),Ze=S(0),Ye=S(0),n=S(0),M=b;do r=S(xn(M+380+(X<<3)|0,fs)),ye=S(xn(M+364+(X<<3)|0,fs)),ye=S(Kp(r,S(xu(ye,S(x[M+504>>2]))))),Be?(r=S(ye*S(fu(M))),r!=S(-0)&&(mn=S(ye-S(ct*r)),B1=S(Kn(M,Or,mn,kn,Sr)),mn!=B1)&&(Ze=S(Ze-S(B1-ye)),n=S(n+r))):Zt&&(Bc=S(nu(M)),Bc!=S(0))&&(mn=S(ye+S(ke*Bc)),U1=S(Kn(M,Or,mn,kn,Sr)),mn!=U1)&&(Ze=S(Ze-S(U1-ye)),Ye=S(Ye-Bc)),M=t[M+960>>2]|0;while((M|0)!=0);if(n=S(Ie+n),ye=S(_r+Ze),b1)n=S(0);else{ct=S(gn+Ye),Be=t[uf>>2]|0,Zt=yeS(0),ct=S(ye/ct),n=S(0);do{mn=S(xn(b+380+(Be<<3)|0,fs)),Ze=S(xn(b+364+(Be<<3)|0,fs)),Ze=S(Kp(mn,S(xu(Ze,S(x[b+504>>2]))))),Zt?(mn=S(Ze*S(fu(b))),ye=S(-mn),mn!=S(-0)?(mn=S(ke*ye),ye=S(Kn(b,Or,S(Ze+(Br?ye:mn)),kn,Sr))):ye=Ze):X&&(j1=S(nu(b)),j1!=S(0))?ye=S(Kn(b,Or,S(Ze+S(ct*j1)),kn,Sr)):ye=Ze,n=S(n-S(ye-Ze)),Ye=S(Kt(b,Or,Sr)),r=S(Kt(b,Bn,Sr)),ye=S(ye+Ye),x[La>>2]=ye,t[lf>>2]=1,Ze=S(x[b+396>>2]);e:do if(Le(Ze)|0){M=Le(hu)|0;do if(!M){if(ls|(qu(b,Bn,hu)|0|uu)||($u(e,b)|0)!=4||(t[(g0(b,Bn)|0)+4>>2]|0)==3||(t[(_0(b,Bn)|0)+4>>2]|0)==3)break;x[ql>>2]=hu,t[Ns>>2]=1;break e}while(0);if(qu(b,Bn,hu)|0){M=t[b+992+(t[i2>>2]<<2)>>2]|0,mn=S(r+S(xn(M,hu))),x[ql>>2]=mn,M=u2&(t[M+4>>2]|0)==2,t[Ns>>2]=((Le(mn)|0|M)^1)&1;break}else{x[ql>>2]=hu,t[Ns>>2]=M?0:2;break}}else mn=S(ye-Ye),gn=S(mn/Ze),mn=S(Ze*mn),t[Ns>>2]=1,x[ql>>2]=S(r+(bu?gn:mn));while(0);Ln(b,Or,kn,Sr,lf,La),Ln(b,Bn,hu,Sr,Ns,ql);do if(!(qu(b,Bn,hu)|0)&&($u(e,b)|0)==4){if((t[(g0(b,Bn)|0)+4>>2]|0)==3){M=0;break}M=(t[(_0(b,Bn)|0)+4>>2]|0)!=3}else M=0;while(0);mn=S(x[La>>2]),gn=S(x[ql>>2]),Y1=t[lf>>2]|0,a0=t[Ns>>2]|0,Yt(b,bu?mn:gn,bu?gn:mn,Dl,bu?Y1:a0,bu?a0:Y1,Sr,as,T&(M^1),3488,L)|0,h[of>>0]=h[of>>0]|h[b+508>>0],b=t[b+960>>2]|0}while((b|0)!=0)}}else n=S(0);if(n=S(_r+n),a0=n>0]=a0|N[of>>0],n2&n>S(0)?(M=t[uf>>2]|0,(t[e+364+(M<<3)+4>>2]|0)!=0&&(Wl=S(xn(e+364+(M<<3)|0,fs)),Wl>=S(0))?ye=S(xu(S(0),S(Wl-S(kn-n)))):ye=S(0)):ye=n,Zt=Pr>>>0>>0,Zt){Be=t[cs>>2]|0,X=Pr,M=0;do b=t[Be+(X<<2)>>2]|0,t[b+24>>2]|0||(M=((t[(g0(b,Or)|0)+4>>2]|0)==3&1)+M|0,M=M+((t[(_0(b,Or)|0)+4>>2]|0)==3&1)|0),X=X+1|0;while((X|0)!=(Pn|0));M?(Ye=S(0),r=S(0)):pi=101}else pi=101;e:do if((pi|0)==101)switch(pi=0,l2|0){case 1:{M=0,Ye=S(ye*S(.5)),r=S(0);break e}case 2:{M=0,Ye=ye,r=S(0);break e}case 3:{if(a>>>0<=1){M=0,Ye=S(0),r=S(0);break e}r=S((a+-1|0)>>>0),M=0,Ye=S(0),r=S(S(xu(ye,S(0)))/r);break e}case 5:{r=S(ye/S((a+1|0)>>>0)),M=0,Ye=r;break e}case 4:{r=S(ye/S(a>>>0)),M=0,Ye=S(r*S(.5));break e}default:{M=0,Ye=S(0),r=S(0);break e}}while(0);if(n=S(s2+Ye),Zt){Ze=S(ye/S(M|0)),X=t[cs>>2]|0,b=Pr,ye=S(0);do{M=t[X+(b<<2)>>2]|0;e:do if((t[M+36>>2]|0)!=1){switch(t[M+24>>2]|0){case 1:{if(fe(M,Or)|0){if(!T)break e;mn=S(ie(M,Or,kn)),mn=S(mn+S(O0(e,Or))),mn=S(mn+S(Hi(M,Or,Sr))),x[M+400+(t[Pc>>2]<<2)>>2]=mn;break e}break}case 0:if(a0=(t[(g0(M,Or)|0)+4>>2]|0)==3,mn=S(Ze+n),n=a0?mn:n,T&&(a0=M+400+(t[Pc>>2]<<2)|0,x[a0>>2]=S(n+S(x[a0>>2]))),a0=(t[(_0(M,Or)|0)+4>>2]|0)==3,mn=S(Ze+n),n=a0?mn:n,ea){mn=S(r+S(Kt(M,Or,Sr))),ye=hu,n=S(n+S(mn+S(x[M+504>>2])));break e}else{n=S(n+S(r+S(Pe(M,Or,Sr)))),ye=S(xu(ye,S(Pe(M,Bn,Sr))));break e}default:}T&&(mn=S(Ye+S(O0(e,Or))),a0=M+400+(t[Pc>>2]<<2)|0,x[a0>>2]=S(mn+S(x[a0>>2])))}while(0);b=b+1|0}while((b|0)!=(Pn|0))}else ye=S(0);if(r=S(a2+n),r2?Ye=S(S(Kn(e,Bn,S(Vl+ye),Jf,v))-Vl):Ye=hu,Ze=S(S(Kn(e,Bn,S(Vl+(o2?hu:ye)),Jf,v))-Vl),Zt&T){b=Pr;do{X=t[(t[cs>>2]|0)+(b<<2)>>2]|0;do if((t[X+36>>2]|0)!=1){if((t[X+24>>2]|0)==1){if(fe(X,Bn)|0){if(mn=S(ie(X,Bn,hu)),mn=S(mn+S(O0(e,Bn))),mn=S(mn+S(Hi(X,Bn,Sr))),M=t[Fc>>2]|0,x[X+400+(M<<2)>>2]=mn,!(Le(mn)|0))break}else M=t[Fc>>2]|0;mn=S(O0(e,Bn)),x[X+400+(M<<2)>>2]=S(mn+S(Hi(X,Bn,Sr)));break}M=$u(e,X)|0;do if((M|0)==4){if((t[(g0(X,Bn)|0)+4>>2]|0)==3){pi=139;break}if((t[(_0(X,Bn)|0)+4>>2]|0)==3){pi=139;break}if(qu(X,Bn,hu)|0){n=Te;break}Y1=t[X+908+(t[uf>>2]<<2)>>2]|0,t[ql>>2]=Y1,n=S(x[X+396>>2]),a0=Le(n)|0,ye=(t[V>>2]=Y1,S(x[V>>2])),a0?n=Ze:(_r=S(Kt(X,Bn,Sr)),mn=S(ye/n),n=S(n*ye),n=S(_r+(bu?mn:n))),x[La>>2]=n,x[ql>>2]=S(S(Kt(X,Or,Sr))+ye),t[Ns>>2]=1,t[lf>>2]=1,Ln(X,Or,kn,Sr,Ns,ql),Ln(X,Bn,hu,Sr,lf,La),n=S(x[ql>>2]),_r=S(x[La>>2]),mn=bu?n:_r,n=bu?_r:n,a0=((Le(mn)|0)^1)&1,Yt(X,mn,n,Dl,a0,((Le(n)|0)^1)&1,Sr,as,1,3493,L)|0,n=Te}else pi=139;while(0);e:do if((pi|0)==139){pi=0,n=S(Ye-S(Pe(X,Bn,Sr)));do if((t[(g0(X,Bn)|0)+4>>2]|0)==3){if((t[(_0(X,Bn)|0)+4>>2]|0)!=3)break;n=S(Te+S(xu(S(0),S(n*S(.5)))));break e}while(0);if((t[(_0(X,Bn)|0)+4>>2]|0)==3){n=Te;break}if((t[(g0(X,Bn)|0)+4>>2]|0)==3){n=S(Te+S(xu(S(0),n)));break}switch(M|0){case 1:{n=Te;break e}case 2:{n=S(Te+S(n*S(.5)));break e}default:{n=S(Te+n);break e}}}while(0);mn=S(El+n),a0=X+400+(t[Fc>>2]<<2)|0,x[a0>>2]=S(mn+S(x[a0>>2]))}while(0);b=b+1|0}while((b|0)!=(Pn|0))}if(El=S(El+Ze),Kf=S(xu(Kf,r)),a=ss+1|0,Pn>>>0>=Gl>>>0)break;n=kn,Pr=Pn,ss=a}do if(T){if(M=a>>>0>1,!M&&!(Me(e)|0))break;if(!(Le(hu)|0)){n=S(hu-El);e:do switch(t[e+12>>2]|0){case 3:{Te=S(Te+n),ke=S(0);break}case 2:{Te=S(Te+S(n*S(.5))),ke=S(0);break}case 4:{hu>El?ke=S(n/S(a>>>0)):ke=S(0);break}case 7:if(hu>El){Te=S(Te+S(n/S(a<<1>>>0))),ke=S(n/S(a>>>0)),ke=M?ke:S(0);break e}else{Te=S(Te+S(n*S(.5))),ke=S(0);break e}case 6:{ke=S(n/S(ss>>>0)),ke=hu>El&M?ke:S(0);break}default:ke=S(0)}while(0);if(a|0)for(Zt=1040+(Bn<<2)|0,Br=976+(Bn<<2)|0,Be=0,b=0;;){e:do if(b>>>0>>0)for(ye=S(0),Ze=S(0),n=S(0),X=b;;){M=t[(t[cs>>2]|0)+(X<<2)>>2]|0;do if((t[M+36>>2]|0)!=1&&(t[M+24>>2]|0)==0){if((t[M+940>>2]|0)!=(Be|0))break e;if(at(M,Bn)|0&&(mn=S(x[M+908+(t[Br>>2]<<2)>>2]),n=S(xu(n,S(mn+S(Kt(M,Bn,Sr)))))),($u(e,M)|0)!=5)break;Wl=S(mt(M)),Wl=S(Wl+S(Hi(M,0,Sr))),mn=S(x[M+912>>2]),mn=S(S(mn+S(Kt(M,0,Sr)))-Wl),Wl=S(xu(Ze,Wl)),mn=S(xu(ye,mn)),ye=mn,Ze=Wl,n=S(xu(n,S(Wl+mn)))}while(0);if(M=X+1|0,M>>>0>>0)X=M;else{X=M;break}}else Ze=S(0),n=S(0),X=b;while(0);if(ct=S(ke+n),r=Te,Te=S(Te+ct),b>>>0>>0){Ye=S(r+Ze),M=b;do{b=t[(t[cs>>2]|0)+(M<<2)>>2]|0;e:do if((t[b+36>>2]|0)!=1&&(t[b+24>>2]|0)==0)switch($u(e,b)|0){case 1:{mn=S(r+S(Hi(b,Bn,Sr))),x[b+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 3:{mn=S(S(Te-S(A0(b,Bn,Sr)))-S(x[b+908+(t[Br>>2]<<2)>>2])),x[b+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 2:{mn=S(r+S(S(ct-S(x[b+908+(t[Br>>2]<<2)>>2]))*S(.5))),x[b+400+(t[Zt>>2]<<2)>>2]=mn;break e}case 4:{if(mn=S(r+S(Hi(b,Bn,Sr))),x[b+400+(t[Zt>>2]<<2)>>2]=mn,qu(b,Bn,hu)|0||(bu?(ye=S(x[b+908>>2]),n=S(ye+S(Kt(b,Or,Sr))),Ze=ct):(Ze=S(x[b+912>>2]),Ze=S(Ze+S(Kt(b,Bn,Sr))),n=ct,ye=S(x[b+908>>2])),Ci(n,ye)|0&&Ci(Ze,S(x[b+912>>2]))|0))break e;Yt(b,n,Ze,Dl,1,1,Sr,as,1,3501,L)|0;break e}case 5:{x[b+404>>2]=S(S(Ye-S(mt(b)))+S(ie(b,0,hu)));break e}default:break e}while(0);M=M+1|0}while((M|0)!=(X|0))}if(Be=Be+1|0,(Be|0)==(a|0))break;b=X}}}while(0);if(x[e+908>>2]=S(Kn(e,2,Xf,v,v)),x[e+912>>2]=S(Kn(e,0,z1,w,v)),(sf|0)!=0&&(H1=t[e+32>>2]|0,q1=(sf|0)==2,!(q1&(H1|0)!=2))?q1&(H1|0)==2&&(n=S(Qf+kn),n=S(xu(S(Kp(n,S(Qt(e,Or,Kf,fs)))),Qf)),pi=198):(n=S(Kn(e,Or,Kf,fs,v)),pi=198),(pi|0)==198&&(x[e+908+(t[976+(Or<<2)>>2]<<2)>>2]=n),(af|0)!=0&&(V1=t[e+32>>2]|0,G1=(af|0)==2,!(G1&(V1|0)!=2))?G1&(V1|0)==2&&(n=S(Vl+hu),n=S(xu(S(Kp(n,S(Qt(e,Bn,S(Vl+El),Jf)))),Vl)),pi=204):(n=S(Kn(e,Bn,S(Vl+El),Jf,v)),pi=204),(pi|0)==204&&(x[e+908+(t[976+(Bn<<2)>>2]<<2)>>2]=n),T){if((t[W1>>2]|0)==2){b=976+(Bn<<2)|0,X=1040+(Bn<<2)|0,M=0;do Be=Ti(e,M)|0,t[Be+24>>2]|0||(Y1=t[b>>2]|0,mn=S(x[e+908+(Y1<<2)>>2]),a0=Be+400+(t[X>>2]<<2)|0,mn=S(mn-S(x[a0>>2])),x[a0>>2]=S(mn-S(x[Be+908+(Y1<<2)>>2]))),M=M+1|0;while((M|0)!=(Gl|0))}if(u|0){M=bu?sf:s;do An(e,u,Sr,M,as,Dl,L),u=t[u+960>>2]|0;while((u|0)!=0)}if(M=(Or|2|0)==3,b=(Bn|2|0)==3,M|b){u=0;do X=t[(t[cs>>2]|0)+(u<<2)>>2]|0,(t[X+36>>2]|0)!=1&&(M&&Sn(e,X,Or),b&&Sn(e,X,Bn)),u=u+1|0;while((u|0)!=(Gl|0))}}}while(0);y=ff}function Qu(e,n){e=e|0,n=S(n);var r=0;Cn(e,n>=S(0),3147),r=n==S(0),x[e+4>>2]=r?S(0):n}function $r(e,n,r,u){e=e|0,n=S(n),r=S(r),u=u|0;var s=Ct,a=Ct,v=0,w=0,T=0;t[2278]=(t[2278]|0)+1,Qr(e),qu(e,2,n)|0?(s=S(xn(t[e+992>>2]|0,n)),T=1,s=S(s+S(Kt(e,2,n)))):(s=S(xn(e+380|0,n)),s>=S(0)?T=2:(T=((Le(n)|0)^1)&1,s=n)),qu(e,0,r)|0?(a=S(xn(t[e+996>>2]|0,r)),w=1,a=S(a+S(Kt(e,0,n)))):(a=S(xn(e+388|0,r)),a>=S(0)?w=2:(w=((Le(r)|0)^1)&1,a=r)),v=e+976|0,Yt(e,s,a,u,T,w,n,r,1,3189,t[v>>2]|0)|0&&(x0(e,t[e+496>>2]|0,n,r,n),Lu(e,S(x[(t[v>>2]|0)+4>>2]),S(0),S(0)),h[11696]|0)&&mf(e,7)}function Qr(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;w=y,y=y+32|0,v=w+24|0,a=w+16|0,u=w+8|0,s=w,r=0;do n=e+380+(r<<3)|0,(t[e+380+(r<<3)+4>>2]|0)!=0&&(T=n,L=t[T+4>>2]|0,M=u,t[M>>2]=t[T>>2],t[M+4>>2]=L,M=e+364+(r<<3)|0,L=t[M+4>>2]|0,T=s,t[T>>2]=t[M>>2],t[T+4>>2]=L,t[a>>2]=t[u>>2],t[a+4>>2]=t[u+4>>2],t[v>>2]=t[s>>2],t[v+4>>2]=t[s+4>>2],Bi(a,v)|0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);y=w}function qu(e,n,r){e=e|0,n=n|0,r=S(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{S(x[e>>2])>2])>2]|0){case 2:{n=S(S(S(x[e>>2])*n)/S(100));break}case 1:{n=S(x[e>>2]);break}default:n=S(ue)}return S(n)}function x0(e,n,r,u,s){e=e|0,n=n|0,r=S(r),u=S(u),s=S(s);var a=0,v=Ct;n=t[e+944>>2]|0?n:1,a=B0(t[e+4>>2]|0,n)|0,n=gf(a,n)|0,r=S(Ar(e,a,r)),u=S(Ar(e,n,u)),v=S(r+S(Hi(e,a,s))),x[e+400+(t[1040+(a<<2)>>2]<<2)>>2]=v,r=S(r+S(A0(e,a,s))),x[e+400+(t[1e3+(a<<2)>>2]<<2)>>2]=r,r=S(u+S(Hi(e,n,s))),x[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=S(u+S(A0(e,n,s))),x[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function Lu(e,n,r,u){e=e|0,n=S(n),r=S(r),u=S(u);var s=0,a=0,v=Ct,w=Ct,T=0,L=0,M=Ct,b=0,X=Ct,Be=Ct,Te=Ct,ye=Ct;if(n!=S(0)&&(s=e+400|0,ye=S(x[s>>2]),a=e+404|0,Te=S(x[a>>2]),b=e+416|0,Be=S(x[b>>2]),L=e+420|0,v=S(x[L>>2]),X=S(ye+r),M=S(Te+u),u=S(X+Be),w=S(M+v),T=(t[e+988>>2]|0)==1,x[s>>2]=S(eo(ye,n,0,T)),x[a>>2]=S(eo(Te,n,0,T)),r=S(NE(S(Be*n),S(1))),Ci(r,S(0))|0?a=0:a=(Ci(r,S(1))|0)^1,r=S(NE(S(v*n),S(1))),Ci(r,S(0))|0?s=0:s=(Ci(r,S(1))|0)^1,ye=S(eo(u,n,T&a,T&(a^1))),x[b>>2]=S(ye-S(eo(X,n,0,T))),ye=S(eo(w,n,T&s,T&(s^1))),x[L>>2]=S(ye-S(eo(M,n,0,T))),a=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,a|0)){s=0;do Lu(Ti(e,s)|0,n,X,M),s=s+1|0;while((s|0)!=(a|0))}}function ui(e,n,r,u,s){switch(e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,r|0){case 5:case 0:{e=v8(t[489]|0,u,s)|0;break}default:e=FL(u,s)|0}return e|0}function Cl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;s=y,y=y+16|0,a=s,t[a>>2]=u,zs(e,0,n,r,a),y=s}function zs(e,n,r,u,s){if(e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,e=e|0?e:956,I8[t[e+8>>2]&1](e,n,r,u,s)|0,(r|0)==5)$n();else return}function Wu(e,n,r){e=e|0,n=n|0,r=r|0,h[e+n>>0]=r&1}function sa(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(Xi(e,u),Hs(e,t[n>>2]|0,t[r>>2]|0,u))}function Xi(e,n){e=e|0,n=n|0;var r=0;if((R0(e)|0)>>>0>>0&&di(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Hs(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function R0(e){return e=e|0,1073741823}function Hi(e,n,r){return e=e|0,n=n|0,r=S(r),qi(n)|0&&(t[e+96>>2]|0)!=0?e=e+92|0:e=pt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,S(il(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=S(r),qi(n)|0&&(t[e+104>>2]|0)!=0?e=e+100|0:e=pt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,S(il(e,r))}function qi(e){return e=e|0,(e|1|0)==3|0}function il(e,n){return e=e|0,n=S(n),(t[e+4>>2]|0)==3?n=S(0):n=S(xn(e,n)),S(n)}function xl(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function B0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function O0(e,n){e=e|0,n=n|0;var r=Ct;return qi(n)|0&&(t[e+312>>2]|0)!=0&&(r=S(x[e+308>>2]),r>=S(0))||(r=S(xu(S(x[(pt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),S(0)))),S(r)}function vo(e,n){e=e|0,n=n|0;var r=Ct;return qi(n)|0&&(t[e+320>>2]|0)!=0&&(r=S(x[e+316>>2]),r>=S(0))||(r=S(xu(S(x[(pt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),S(0)))),S(r)}function Fu(e,n,r){e=e|0,n=n|0,r=S(r);var u=Ct;return qi(n)|0&&(t[e+240>>2]|0)!=0&&(u=S(xn(e+236|0,r)),u>=S(0))||(u=S(xu(S(xn(pt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),S(0)))),S(u)}function Ju(e,n,r){e=e|0,n=n|0,r=S(r);var u=Ct;return qi(n)|0&&(t[e+248>>2]|0)!=0&&(u=S(xn(e+244|0,r)),u>=S(0))||(u=S(xu(S(xn(pt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),S(0)))),S(u)}function es(e,n,r,u,s,a,v){e=e|0,n=S(n),r=S(r),u=u|0,s=s|0,a=S(a),v=S(v);var w=Ct,T=Ct,L=Ct,M=Ct,b=Ct,X=Ct,Be=0,Te=0,ye=0;ye=y,y=y+16|0,Be=ye,Te=e+964|0,Hu(e,(t[Te>>2]|0)!=0,3519),w=S(Rr(e,2,n)),T=S(Rr(e,0,n)),L=S(Kt(e,2,n)),M=S(Kt(e,0,n)),Le(n)|0?b=n:b=S(xu(S(0),S(S(n-L)-w))),Le(r)|0?X=r:X=S(xu(S(0),S(S(r-M)-T))),(u|0)==1&(s|0)==1?(x[e+908>>2]=S(Kn(e,2,S(n-L),a,a)),n=S(Kn(e,0,S(r-M),v,a))):(b8[t[Te>>2]&1](Be,e,b,u,X,s),b=S(w+S(x[Be>>2])),X=S(n-L),x[e+908>>2]=S(Kn(e,2,(u|2|0)==2?b:X,a,a)),X=S(T+S(x[Be+4>>2])),n=S(r-M),n=S(Kn(e,0,(s|2|0)==2?X:n,v,a))),x[e+912>>2]=n,y=ye}function _s(e,n,r,u,s,a,v){e=e|0,n=S(n),r=S(r),u=u|0,s=s|0,a=S(a),v=S(v);var w=Ct,T=Ct,L=Ct,M=Ct;L=S(Rr(e,2,a)),w=S(Rr(e,0,a)),M=S(Kt(e,2,a)),T=S(Kt(e,0,a)),n=S(n-M),x[e+908>>2]=S(Kn(e,2,(u|2|0)==2?L:n,a,a)),r=S(r-T),x[e+912>>2]=S(Kn(e,0,(s|2|0)==2?w:r,v,a))}function aa(e,n,r,u,s,a,v){e=e|0,n=S(n),r=S(r),u=u|0,s=s|0,a=S(a),v=S(v);var w=0,T=Ct,L=Ct;return w=(u|0)==2,!(n<=S(0)&w)&&!(r<=S(0)&(s|0)==2)&&!((u|0)==1&(s|0)==1)?e=0:(T=S(Kt(e,0,a)),L=S(Kt(e,2,a)),w=n>2]=S(Kn(e,2,w?S(0):n,a,a)),n=S(r-T),w=r>2]=S(Kn(e,0,w?S(0):n,v,a)),e=1),e|0}function gf(e,n){return e=e|0,n=n|0,_n(e)|0?e=B0(2,n)|0:e=0,e|0}function Zu(e,n,r){return e=e|0,n=n|0,r=S(r),r=S(Fu(e,n,r)),S(r+S(O0(e,n)))}function Es(e,n,r){return e=e|0,n=n|0,r=S(r),r=S(Ju(e,n,r)),S(r+S(vo(e,n)))}function Rr(e,n,r){e=e|0,n=n|0,r=S(r);var u=Ct;return u=S(Zu(e,n,r)),S(u+S(Es(e,n,r)))}function no(e){return e=e|0,t[e+24>>2]|0?e=0:S(nu(e))!=S(0)?e=1:e=S(fu(e))!=S(0),e|0}function nu(e){e=e|0;var n=Ct;if(t[e+944>>2]|0){if(n=S(x[e+44>>2]),Le(n)|0)return n=S(x[e+40>>2]),e=n>S(0)&((Le(n)|0)^1),S(e?n:S(0))}else n=S(0);return S(n)}function fu(e){e=e|0;var n=Ct,r=0,u=Ct;do if(t[e+944>>2]|0){if(n=S(x[e+48>>2]),Le(n)|0){if(r=h[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0&&(u=S(x[e+40>>2]),u>24?S(1):S(0)}}else n=S(0);while(0);return S(n)}function Li(e){e=e|0;var n=0,r=0;if(jv(e+400|0,0,540)|0,h[e+985>>0]=1,ms(e),r=wu(e)|0,r|0){n=e+948|0,e=0;do Li(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function ei(e,n,r,u,s,a,v,w,T,L){e=e|0,n=n|0,r=S(r),u=u|0,s=S(s),a=S(a),v=S(v),w=w|0,T=T|0,L=L|0;var M=0,b=Ct,X=0,Be=0,Te=Ct,ye=Ct,Ze=0,Ye=Ct,ct=0,ke=Ct,Ie=0,Zt=0,Br=0,Pn=0,gn=0,_r=0,Pr=0,kn=0,uu=0,os=0;uu=y,y=y+16|0,Br=uu+12|0,Pn=uu+8|0,gn=uu+4|0,_r=uu,kn=B0(t[e+4>>2]|0,T)|0,Ie=qi(kn)|0,b=S(xn(Tn(n)|0,Ie?a:v)),Zt=qu(n,2,a)|0,Pr=qu(n,0,v)|0;do if(!(Le(b)|0)&&!(Le(Ie?r:s)|0)){if(M=n+504|0,!(Le(S(x[M>>2]))|0)&&(!(ir(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;x[M>>2]=S(xu(b,S(Rr(n,kn,a))))}else X=7;while(0);do if((X|0)==7){if(ct=Ie^1,!(ct|Zt^1)){v=S(xn(t[n+992>>2]|0,a)),x[n+504>>2]=S(xu(v,S(Rr(n,2,a))));break}if(!(Ie|Pr^1)){v=S(xn(t[n+996>>2]|0,v)),x[n+504>>2]=S(xu(v,S(Rr(n,0,a))));break}x[Br>>2]=S(ue),x[Pn>>2]=S(ue),t[gn>>2]=0,t[_r>>2]=0,Ye=S(Kt(n,2,a)),ke=S(Kt(n,0,a)),Zt?(Te=S(Ye+S(xn(t[n+992>>2]|0,a))),x[Br>>2]=Te,t[gn>>2]=1,Be=1):(Be=0,Te=S(ue)),Pr?(b=S(ke+S(xn(t[n+996>>2]|0,v))),x[Pn>>2]=b,t[_r>>2]=1,M=1):(M=0,b=S(ue)),X=t[e+32>>2]|0,Ie&(X|0)==2?X=2:Le(Te)|0&&!(Le(r)|0)&&(x[Br>>2]=r,t[gn>>2]=2,Be=2,Te=r),!((X|0)==2&ct)&&Le(b)|0&&!(Le(s)|0)&&(x[Pn>>2]=s,t[_r>>2]=2,M=2,b=s),ye=S(x[n+396>>2]),Ze=Le(ye)|0;do if(Ze)X=Be;else{if((Be|0)==1&ct){x[Pn>>2]=S(S(Te-Ye)/ye),t[_r>>2]=1,M=1,X=1;break}Ie&(M|0)==1?(x[Br>>2]=S(ye*S(b-ke)),t[gn>>2]=1,M=1,X=1):X=Be}while(0);os=Le(r)|0,Be=($u(e,n)|0)!=4,!(Ie|Zt|((u|0)!=1|os)|(Be|(X|0)==1))&&(x[Br>>2]=r,t[gn>>2]=1,!Ze)&&(x[Pn>>2]=S(S(r-Ye)/ye),t[_r>>2]=1,M=1),!(Pr|ct|((w|0)!=1|(Le(s)|0))|(Be|(M|0)==1))&&(x[Pn>>2]=s,t[_r>>2]=1,!Ze)&&(x[Br>>2]=S(ye*S(s-ke)),t[gn>>2]=1),Ln(n,2,a,a,gn,Br),Ln(n,0,v,a,_r,Pn),r=S(x[Br>>2]),s=S(x[Pn>>2]),Yt(n,r,s,T,t[gn>>2]|0,t[_r>>2]|0,a,v,0,3565,L)|0,v=S(x[n+908+(t[976+(kn<<2)>>2]<<2)>>2]),x[n+504>>2]=S(xu(v,S(Rr(n,kn,a))))}while(0);t[n+500>>2]=t[2278],y=uu}function Kn(e,n,r,u,s){return e=e|0,n=n|0,r=S(r),u=S(u),s=S(s),u=S(Qt(e,n,r,u)),S(xu(u,S(Rr(e,n,s))))}function $u(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,(n|0)==5&&_n(t[e+4>>2]|0)|0&&(n=1),n|0}function g0(e,n){return e=e|0,n=n|0,qi(n)|0&&(t[e+96>>2]|0)!=0?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function _0(e,n){return e=e|0,n=n|0,qi(n)|0&&(t[e+104>>2]|0)!=0?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ln(e,n,r,u,s,a){switch(e=e|0,n=n|0,r=S(r),u=S(u),s=s|0,a=a|0,r=S(xn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=S(r+S(Kt(e,n,u))),t[s>>2]|0){case 2:case 1:{s=Le(r)|0,u=S(x[a>>2]),x[a>>2]=s|u>2]=2,x[a>>2]=r);break}default:}}function fe(e,n){return e=e|0,n=n|0,e=e+132|0,qi(n)|0&&(t[(pt(e,4,948)|0)+4>>2]|0)!=0?e=1:e=(t[(pt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function ie(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0;return e=e+132|0,qi(n)|0&&(u=pt(e,4,948)|0,(t[u+4>>2]|0)!=0)?s=4:(u=pt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?s=4:r=S(0)),(s|0)==4&&(r=S(xn(u,r))),S(r)}function Pe(e,n,r){e=e|0,n=n|0,r=S(r);var u=Ct;return u=S(x[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=S(u+S(Hi(e,n,r))),S(u+S(A0(e,n,r)))}function Me(e){e=e|0;var n=0,r=0,u=0;e:do if(_n(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=wu(e)|0,!r)n=0;else for(n=0;;){if(u=Ti(e,n)|0,(t[u+24>>2]|0)==0&&(t[u+20>>2]|0)==5){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function at(e,n){e=e|0,n=n|0;var r=Ct;return r=S(x[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=S(0)&((Le(r)|0)^1)|0}function mt(e){e=e|0;var n=Ct,r=0,u=0,s=0,a=0,v=0,w=0,T=Ct;if(r=t[e+968>>2]|0,r)T=S(x[e+908>>2]),n=S(x[e+912>>2]),n=S(N8[r&0](e,T,n)),Hu(e,(Le(n)|0)^1,3573);else{a=wu(e)|0;do if(a|0){for(r=0,s=0;;){if(u=Ti(e,s)|0,t[u+940>>2]|0){v=8;break}if((t[u+24>>2]|0)!=1)if(w=($u(e,u)|0)==5,w){r=u;break}else r=(r|0)==0?u:r;if(s=s+1|0,s>>>0>=a>>>0){v=8;break}}if((v|0)==8&&!r)break;return n=S(mt(r)),S(n+S(x[r+404>>2]))}while(0);n=S(x[e+912>>2])}return S(n)}function Qt(e,n,r,u){e=e|0,n=n|0,r=S(r),u=S(u);var s=Ct,a=0;return _n(n)|0?(n=1,a=3):qi(n)|0?(n=0,a=3):(u=S(ue),s=S(ue)),(a|0)==3&&(s=S(xn(e+364+(n<<3)|0,u)),u=S(xn(e+380+(n<<3)|0,u))),a=u=S(0)&((Le(u)|0)^1)),r=a?u:r,a=s>=S(0)&((Le(s)|0)^1)&r>2]|0,a)|0,Te=gf(Ze,a)|0,ye=qi(Ze)|0,b=S(Kt(n,2,r)),X=S(Kt(n,0,r)),qu(n,2,r)|0?w=S(b+S(xn(t[n+992>>2]|0,r))):fe(n,2)|0&&Ut(n,2)|0?(w=S(x[e+908>>2]),T=S(O0(e,2)),T=S(w-S(T+S(vo(e,2)))),w=S(ie(n,2,r)),w=S(Kn(n,2,S(T-S(w+S(Fi(n,2,r)))),r,r))):w=S(ue),qu(n,0,s)|0?T=S(X+S(xn(t[n+996>>2]|0,s))):fe(n,0)|0&&Ut(n,0)|0?(T=S(x[e+912>>2]),ct=S(O0(e,0)),ct=S(T-S(ct+S(vo(e,0)))),T=S(ie(n,0,s)),T=S(Kn(n,0,S(ct-S(T+S(Fi(n,0,s)))),s,r))):T=S(ue),L=Le(w)|0,M=Le(T)|0;do if(L^M&&(Be=S(x[n+396>>2]),!(Le(Be)|0)))if(L){w=S(b+S(S(T-X)*Be));break}else{ct=S(X+S(S(w-b)/Be)),T=M?ct:T;break}while(0);M=Le(w)|0,L=Le(T)|0,M|L&&(ke=(M^1)&1,u=r>S(0)&((u|0)!=0&M),w=ye?w:u?r:w,Yt(n,w,T,a,ye?ke:u?2:ke,M&(L^1)&1,w,T,0,3623,v)|0,w=S(x[n+908>>2]),w=S(w+S(Kt(n,2,r))),T=S(x[n+912>>2]),T=S(T+S(Kt(n,0,r)))),Yt(n,w,T,a,1,1,w,T,1,3635,v)|0,Ut(n,Ze)|0&&!(fe(n,Ze)|0)?(ke=t[976+(Ze<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(ct-S(x[n+908+(ke<<2)>>2])),ct=S(ct-S(vo(e,Ze))),ct=S(ct-S(A0(n,Ze,r))),ct=S(ct-S(Fi(n,Ze,ye?r:s))),x[n+400+(t[1040+(Ze<<2)>>2]<<2)>>2]=ct):Ye=21;do if((Ye|0)==21){if(!(fe(n,Ze)|0)&&(t[e+8>>2]|0)==1){ke=t[976+(Ze<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(S(ct-S(x[n+908+(ke<<2)>>2]))*S(.5)),x[n+400+(t[1040+(Ze<<2)>>2]<<2)>>2]=ct;break}!(fe(n,Ze)|0)&&(t[e+8>>2]|0)==2&&(ke=t[976+(Ze<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(ct-S(x[n+908+(ke<<2)>>2])),x[n+400+(t[1040+(Ze<<2)>>2]<<2)>>2]=ct)}while(0);Ut(n,Te)|0&&!(fe(n,Te)|0)?(ke=t[976+(Te<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(ct-S(x[n+908+(ke<<2)>>2])),ct=S(ct-S(vo(e,Te))),ct=S(ct-S(A0(n,Te,r))),ct=S(ct-S(Fi(n,Te,ye?s:r))),x[n+400+(t[1040+(Te<<2)>>2]<<2)>>2]=ct):Ye=30;do if((Ye|0)==30&&!(fe(n,Te)|0)){if(($u(e,n)|0)==2){ke=t[976+(Te<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(S(ct-S(x[n+908+(ke<<2)>>2]))*S(.5)),x[n+400+(t[1040+(Te<<2)>>2]<<2)>>2]=ct;break}ke=($u(e,n)|0)==3,ke^(t[e+28>>2]|0)==2&&(ke=t[976+(Te<<2)>>2]|0,ct=S(x[e+908+(ke<<2)>>2]),ct=S(ct-S(x[n+908+(ke<<2)>>2])),x[n+400+(t[1040+(Te<<2)>>2]<<2)>>2]=ct)}while(0)}function Sn(e,n,r){e=e|0,n=n|0,r=r|0;var u=Ct,s=0;s=t[976+(r<<2)>>2]|0,u=S(x[n+908+(s<<2)>>2]),u=S(S(x[e+908+(s<<2)>>2])-u),u=S(u-S(x[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),x[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function _n(e){return e=e|0,(e|1|0)==1|0}function Tn(e){e=e|0;var n=Ct;switch(t[e+56>>2]|0){case 0:case 3:{n=S(x[e+40>>2]),n>S(0)&((Le(n)|0)^1)?e=h[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function ir(e,n){return e=e|0,n=n|0,(h[e+n>>0]|0)!=0|0}function Ut(e,n){return e=e|0,n=n|0,e=e+132|0,qi(n)|0&&(t[(pt(e,5,948)|0)+4>>2]|0)!=0?e=1:e=(t[(pt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Fi(e,n,r){e=e|0,n=n|0,r=S(r);var u=0,s=0;return e=e+132|0,qi(n)|0&&(u=pt(e,5,948)|0,(t[u+4>>2]|0)!=0)?s=4:(u=pt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?s=4:r=S(0)),(s|0)==4&&(r=S(xn(u,r))),S(r)}function Ar(e,n,r){return e=e|0,n=n|0,r=S(r),fe(e,n)|0?r=S(ie(e,n,r)):r=S(-S(Fi(e,n,r))),S(r)}function mr(e){return e=S(e),x[V>>2]=e,t[V>>2]|0|0}function K(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{s=pn(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<2)}function ti(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>2)<<2)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function ni(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Et(e)}function Wr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;if(v=e+4|0,w=t[v>>2]|0,s=w-u|0,a=s>>2,e=n+(a<<2)|0,e>>>0>>0){u=w;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[v>>2]|0)+4|0,t[v>>2]=u;while(e>>>0>>0)}a|0&&ky(w+(0-a<<2)|0,n|0,s|0)|0}function ft(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0;return w=n+4|0,T=t[w>>2]|0,s=t[e>>2]|0,v=r,a=v-s|0,u=T+(0-(a>>2)<<2)|0,t[w>>2]=u,(a|0)>0&&gr(u|0,s|0,a|0)|0,s=e+4|0,a=n+8|0,u=(t[s>>2]|0)-v|0,(u|0)>0&&(gr(t[a>>2]|0,r|0,u|0)|0,t[a>>2]=(t[a>>2]|0)+(u>>>2<<2)),v=t[e>>2]|0,t[e>>2]=t[w>>2],t[w>>2]=v,v=t[s>>2]|0,t[s>>2]=t[a>>2],t[a>>2]=v,v=e+8|0,r=n+12|0,e=t[v>>2]|0,t[v>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[w>>2],T|0}function Di(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;if(v=t[n>>2]|0,a=t[r>>2]|0,(v|0)!=(a|0)){s=e+8|0,r=((a+-4-v|0)>>>2)+1|0,e=v,u=t[s>>2]|0;do t[u>>2]=t[e>>2],u=(t[s>>2]|0)+4|0,t[s>>2]=u,e=e+4|0;while((e|0)!=(a|0));t[n>>2]=v+(r<<2)}}function ru(){Se()}function E0(){var e=0;return e=pn(4)|0,Un(e),e|0}function Un(e){e=e|0,t[e>>2]=v0()|0}function e0(e){e=e|0,e|0&&(ro(e),Et(e))}function ro(e){e=e|0,J0(t[e>>2]|0)}function mo(e,n,r){e=e|0,n=n|0,r=r|0,Wu(t[e>>2]|0,n,r)}function t0(e,n){e=e|0,n=S(n),Qu(t[e>>2]|0,n)}function jo(e,n){return e=e|0,n=n|0,ir(t[e>>2]|0,n)|0}function io(){var e=0;return e=pn(8)|0,Ba(e,0),e|0}function Ba(e,n){e=e|0,n=n|0,n?n=Yn(t[n>>2]|0)|0:n=cr()|0,t[e>>2]=n,t[e+4>>2]=0,ba(n,e)}function _f(e){e=e|0;var n=0;return n=pn(8)|0,Ba(n,e),n|0}function fc(e){e=e|0,e|0&&(Ds(e),Et(e))}function Ds(e){e=e|0;var n=0;ju(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(fa(e),Et(e))}function fa(e){e=e|0,U0(e)}function U0(e){e=e|0,e=t[e>>2]|0,e|0&&qr(e|0)}function cc(e){return e=e|0,Bs(e)|0}function Ua(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),Et(n)),po(t[e>>2]|0)}function _2(e,n){e=e|0,n=n|0,oa(t[e>>2]|0,t[n>>2]|0)}function nd(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function rd(e,n,r){e=e|0,n=n|0,r=+r,dr(t[e>>2]|0,n,S(r))}function yo(e,n,r){e=e|0,n=n|0,r=+r,er(t[e>>2]|0,n,S(r))}function qc(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}function Rl(e,n){e=e|0,n=n|0,ee(t[e>>2]|0,n)}function ul(e,n){e=e|0,n=n|0,_e(t[e>>2]|0,n)}function E2(e,n){e=e|0,n=n|0,m0(t[e>>2]|0,n)}function qs(e,n){e=e|0,n=n|0,Je(t[e>>2]|0,n)}function Al(e,n){e=e|0,n=n|0,zi(t[e>>2]|0,n)}function id(e,n,r){e=e|0,n=n|0,r=+r,Rn(t[e>>2]|0,n,S(r))}function zo(e,n,r){e=e|0,n=n|0,r=+r,Nr(t[e>>2]|0,n,S(r))}function ja(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,oe(t[e>>2]|0,n)}function Ha(e,n){e=e|0,n=n|0,rt(t[e>>2]|0,n)}function ca(e,n){e=e|0,n=+n,kt(t[e>>2]|0,S(n))}function ws(e,n){e=e|0,n=+n,rn(t[e>>2]|0,S(n))}function Ss(e,n){e=e|0,n=+n,Ft(t[e>>2]|0,S(n))}function ts(e,n){e=e|0,n=+n,bt(t[e>>2]|0,S(n))}function Ho(e,n){e=e|0,n=+n,sn(t[e>>2]|0,S(n))}function Ef(e,n){e=e|0,n=+n,fn(t[e>>2]|0,S(n))}function ol(e,n){e=e|0,n=+n,Jn(t[e>>2]|0,S(n))}function Vu(e){e=e|0,wr(t[e>>2]|0)}function qa(e,n){e=e|0,n=+n,ku(t[e>>2]|0,S(n))}function n0(e,n){e=e|0,n=+n,T0(t[e>>2]|0,S(n))}function j0(e){e=e|0,Z0(t[e>>2]|0)}function Df(e,n){e=e|0,n=+n,gi(t[e>>2]|0,S(n))}function Wc(e,n){e=e|0,n=+n,Po(t[e>>2]|0,S(n))}function dc(e,n){e=e|0,n=+n,hf(t[e>>2]|0,S(n))}function Ol(e,n){e=e|0,n=+n,Tl(t[e>>2]|0,S(n))}function Ts(e,n){e=e|0,n=+n,Io(t[e>>2]|0,S(n))}function da(e,n){e=e|0,n=+n,ys(t[e>>2]|0,S(n))}function ud(e,n){e=e|0,n=+n,bo(t[e>>2]|0,S(n))}function pa(e,n){e=e|0,n=+n,Bo(t[e>>2]|0,S(n))}function pc(e,n){e=e|0,n=+n,Xu(t[e>>2]|0,S(n))}function Vc(e,n,r){e=e|0,n=n|0,r=+r,It(t[e>>2]|0,n,S(r))}function Wi(e,n,r){e=e|0,n=n|0,r=+r,ut(t[e>>2]|0,n,S(r))}function _(e,n,r){e=e|0,n=n|0,r=+r,wt(t[e>>2]|0,n,S(r))}function g(e){return e=e|0,Ne(t[e>>2]|0)|0}function A(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;u=y,y=y+16|0,s=u,Cr(s,t[n>>2]|0,r),P(e,s),y=u}function P(e,n){e=e|0,n=n|0,B(e,t[n+4>>2]|0,+S(x[n>>2]))}function B(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,j[e+8>>3]=r}function Z(e){return e=e|0,Y(t[e>>2]|0)|0}function de(e){return e=e|0,Ce(t[e>>2]|0)|0}function yt(e){return e=e|0,Oe(t[e>>2]|0)|0}function Rt(e){return e=e|0,Us(t[e>>2]|0)|0}function Nt(e){return e=e|0,vt(t[e>>2]|0)|0}function xr(e){return e=e|0,U(t[e>>2]|0)|0}function r0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;u=y,y=y+16|0,s=u,y0(s,t[n>>2]|0,r),P(e,s),y=u}function cu(e){return e=e|0,qe(t[e>>2]|0)|0}function z0(e){return e=e|0,xt(t[e>>2]|0)|0}function Ml(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,Dn(u,t[n>>2]|0),P(e,u),y=r}function i0(e){return e=e|0,+ +S(pf(t[e>>2]|0))}function Ge(e){return e=e|0,+ +S(bs(t[e>>2]|0))}function je(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,au(u,t[n>>2]|0),P(e,u),y=r}function st(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,Nu(u,t[n>>2]|0),P(e,u),y=r}function $t(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,rl(u,t[n>>2]|0),P(e,u),y=r}function Wn(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,vf(u,t[n>>2]|0),P(e,u),y=r}function oi(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,js(u,t[n>>2]|0),P(e,u),y=r}function ur(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,gs(u,t[n>>2]|0),P(e,u),y=r}function ai(e){return e=e|0,+ +S(Su(t[e>>2]|0))}function Qi(e,n){return e=e|0,n=n|0,+ +S(un(t[e>>2]|0,n))}function Vr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;u=y,y=y+16|0,s=u,et(s,t[n>>2]|0,r),P(e,s),y=u}function Tu(e,n,r){e=e|0,n=n|0,r=r|0,Ia(t[e>>2]|0,t[n>>2]|0,r)}function Wa(e,n){e=e|0,n=n|0,Mu(t[e>>2]|0,t[n>>2]|0)}function Va(e){return e=e|0,wu(t[e>>2]|0)|0}function od(e){return e=e|0,e=si(t[e>>2]|0)|0,e?e=cc(e)|0:e=0,e|0}function D2(e,n){return e=e|0,n=n|0,e=Ti(t[e>>2]|0,n)|0,e?e=cc(e)|0:e=0,e|0}function w2(e,n){e=e|0,n=n|0;var r=0,u=0;u=pn(4)|0,wf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(fa(n),Et(n)),ua(t[e>>2]|0,1)}function wf(e,n){e=e|0,n=n|0,sl(e,n)}function ld(e,n,r,u,s,a){e=e|0,n=n|0,r=S(r),u=u|0,s=S(s),a=a|0;var v=0,w=0;v=y,y=y+16|0,w=v,hh(w,Bs(n)|0,+r,u,+s,a),x[e>>2]=S(+j[w>>3]),x[e+4>>2]=S(+j[w+8>>3]),y=v}function hh(e,n,r,u,s,a){e=e|0,n=n|0,r=+r,u=u|0,s=+s,a=a|0;var v=0,w=0,T=0,L=0,M=0;v=y,y=y+32|0,M=v+8|0,L=v+20|0,T=v,w=v+16|0,j[M>>3]=r,t[L>>2]=u,j[T>>3]=s,t[w>>2]=a,Gc(e,t[n+4>>2]|0,M,L,T,w),y=v}function Gc(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0;v=y,y=y+16|0,w=v,Ma(w),n=go(n)|0,vh(e,n,+j[r>>3],t[u>>2]|0,+j[s>>3],t[a>>2]|0),ka(w),y=v}function go(e){return e=e|0,t[e>>2]|0}function vh(e,n,r,u,s,a){e=e|0,n=n|0,r=+r,u=u|0,s=+s,a=a|0;var v=0;v=_o(mh()|0)|0,r=+kl(r),u=sd(u)|0,s=+kl(s),ad(e,Xr(0,v|0,n|0,+r,u|0,+s,sd(a)|0)|0)}function mh(){var e=0;return h[7608]|0||(Kc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function _o(e){return e=e|0,t[e+8>>2]|0}function kl(e){return e=+e,+ +Ga(e)}function sd(e){return e=e|0,cd(e)|0}function ad(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;s=y,y=y+32|0,r=s,u=n,u&1?(S2(r,0),eu(u|0,r|0)|0,Yc(e,r),Ir(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),y=s}function S2(e,n){e=e|0,n=n|0,fd(e,n),t[e+8>>2]=0,h[e+24>>0]=0}function Yc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Ir(e){e=e|0,h[e+24>>0]=0}function fd(e,n){e=e|0,n=n|0,t[e>>2]=n}function cd(e){return e=e|0,e|0}function Ga(e){return e=+e,+e}function Kc(e){e=e|0,ll(e,T2()|0,4)}function T2(){return 1064}function ll(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=Bt(n|0,r+1|0)|0}function sl(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ri(n|0)}function yh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(fa(n),Et(n)),ua(t[e>>2]|0,0)}function Sf(e){e=e|0,Jr(t[e>>2]|0)}function Xc(e){return e=e|0,Zl(t[e>>2]|0)|0}function C2(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,$r(t[e>>2]|0,S(n),S(r),u)}function gh(e){return e=e|0,+ +S(_i(t[e>>2]|0))}function al(e){return e=e|0,+ +S($0(t[e>>2]|0))}function ha(e){return e=e|0,+ +S(C0(t[e>>2]|0))}function x2(e){return e=e|0,+ +S(Uo(t[e>>2]|0))}function R2(e){return e=e|0,+ +S(la(t[e>>2]|0))}function hc(e){return e=e|0,+ +S($l(t[e>>2]|0))}function _h(e,n){e=e|0,n=n|0,j[e>>3]=+S(_i(t[n>>2]|0)),j[e+8>>3]=+S($0(t[n>>2]|0)),j[e+16>>3]=+S(C0(t[n>>2]|0)),j[e+24>>3]=+S(Uo(t[n>>2]|0)),j[e+32>>3]=+S(la(t[n>>2]|0)),j[e+40>>3]=+S($l(t[n>>2]|0))}function A2(e,n){return e=e|0,n=n|0,+ +S(tu(t[e>>2]|0,n))}function dd(e,n){return e=e|0,n=n|0,+ +S(Zr(t[e>>2]|0,n))}function Qc(e,n){return e=e|0,n=n|0,+ +S(ho(t[e>>2]|0,n))}function Jc(){return Pa()|0}function Ws(){O2(),va(),Zc(),vc(),mc(),pd()}function O2(){E7(11713,4938,1)}function va(){UA(10448)}function Zc(){EA(10408)}function vc(){qR(10324)}function mc(){nE(10096)}function pd(){Eh(9132)}function Eh(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0,ct=0,ke=0,Ie=0,Zt=0,Br=0,Pn=0,gn=0,_r=0,Pr=0,kn=0,uu=0,os=0,ls=0,ss=0,ea=0,t2=0,n2=0,uf=0,r2=0,Fc=0,Pc=0,i2=0,u2=0,o2=0,pi=0,of=0,l2=0,Yf=0,s2=0,a2=0,Ic=0,bc=0,Kf=0,ql=0,La=0,Ns=0,lf=0,b1=0,B1=0,Bc=0,U1=0,j1=0,Wl=0,El=0,sf=0,hu=0,z1=0,as=0,Xf=0,fs=0,Qf=0,H1=0,q1=0,Jf=0,Vl=0,af=0,W1=0,V1=0,G1=0,Sr=0,bu=0,Dl=0,cs=0,Gl=0,Or=0,Bn=0,ff=0;n=y,y=y+672|0,r=n+656|0,ff=n+648|0,Bn=n+640|0,Or=n+632|0,Gl=n+624|0,cs=n+616|0,Dl=n+608|0,bu=n+600|0,Sr=n+592|0,G1=n+584|0,V1=n+576|0,W1=n+568|0,af=n+560|0,Vl=n+552|0,Jf=n+544|0,q1=n+536|0,H1=n+528|0,Qf=n+520|0,fs=n+512|0,Xf=n+504|0,as=n+496|0,z1=n+488|0,hu=n+480|0,sf=n+472|0,El=n+464|0,Wl=n+456|0,j1=n+448|0,U1=n+440|0,Bc=n+432|0,B1=n+424|0,b1=n+416|0,lf=n+408|0,Ns=n+400|0,La=n+392|0,ql=n+384|0,Kf=n+376|0,bc=n+368|0,Ic=n+360|0,a2=n+352|0,s2=n+344|0,Yf=n+336|0,l2=n+328|0,of=n+320|0,pi=n+312|0,o2=n+304|0,u2=n+296|0,i2=n+288|0,Pc=n+280|0,Fc=n+272|0,r2=n+264|0,uf=n+256|0,n2=n+248|0,t2=n+240|0,ea=n+232|0,ss=n+224|0,ls=n+216|0,os=n+208|0,uu=n+200|0,kn=n+192|0,Pr=n+184|0,_r=n+176|0,gn=n+168|0,Pn=n+160|0,Br=n+152|0,Zt=n+144|0,Ie=n+136|0,ke=n+128|0,ct=n+120|0,Ye=n+112|0,Ze=n+104|0,ye=n+96|0,Te=n+88|0,Be=n+80|0,X=n+72|0,b=n+64|0,M=n+56|0,L=n+48|0,T=n+40|0,w=n+32|0,v=n+24|0,a=n+16|0,s=n+8|0,u=n,Tf(e,3646),$c(e,3651,2)|0,Dh(e,3665,2)|0,sm(e,3682,18)|0,t[ff>>2]=19,t[ff+4>>2]=0,t[r>>2]=t[ff>>2],t[r+4>>2]=t[ff+4>>2],Vs(e,3690,r)|0,t[Bn>>2]=1,t[Bn+4>>2]=0,t[r>>2]=t[Bn>>2],t[r+4>>2]=t[Bn+4>>2],ma(e,3696,r)|0,t[Or>>2]=2,t[Or+4>>2]=0,t[r>>2]=t[Or>>2],t[r+4>>2]=t[Or+4>>2],iu(e,3706,r)|0,t[Gl>>2]=1,t[Gl+4>>2]=0,t[r>>2]=t[Gl>>2],t[r+4>>2]=t[Gl+4>>2],M0(e,3722,r)|0,t[cs>>2]=2,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],M0(e,3734,r)|0,t[Dl>>2]=3,t[Dl+4>>2]=0,t[r>>2]=t[Dl>>2],t[r+4>>2]=t[Dl+4>>2],iu(e,3753,r)|0,t[bu>>2]=4,t[bu+4>>2]=0,t[r>>2]=t[bu>>2],t[r+4>>2]=t[bu+4>>2],iu(e,3769,r)|0,t[Sr>>2]=5,t[Sr+4>>2]=0,t[r>>2]=t[Sr>>2],t[r+4>>2]=t[Sr+4>>2],iu(e,3783,r)|0,t[G1>>2]=6,t[G1+4>>2]=0,t[r>>2]=t[G1>>2],t[r+4>>2]=t[G1+4>>2],iu(e,3796,r)|0,t[V1>>2]=7,t[V1+4>>2]=0,t[r>>2]=t[V1>>2],t[r+4>>2]=t[V1+4>>2],iu(e,3813,r)|0,t[W1>>2]=8,t[W1+4>>2]=0,t[r>>2]=t[W1>>2],t[r+4>>2]=t[W1+4>>2],iu(e,3825,r)|0,t[af>>2]=3,t[af+4>>2]=0,t[r>>2]=t[af>>2],t[r+4>>2]=t[af+4>>2],M0(e,3843,r)|0,t[Vl>>2]=4,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],M0(e,3853,r)|0,t[Jf>>2]=9,t[Jf+4>>2]=0,t[r>>2]=t[Jf>>2],t[r+4>>2]=t[Jf+4>>2],iu(e,3870,r)|0,t[q1>>2]=10,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],iu(e,3884,r)|0,t[H1>>2]=11,t[H1+4>>2]=0,t[r>>2]=t[H1>>2],t[r+4>>2]=t[H1+4>>2],iu(e,3896,r)|0,t[Qf>>2]=1,t[Qf+4>>2]=0,t[r>>2]=t[Qf>>2],t[r+4>>2]=t[Qf+4>>2],u0(e,3907,r)|0,t[fs>>2]=2,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],u0(e,3915,r)|0,t[Xf>>2]=3,t[Xf+4>>2]=0,t[r>>2]=t[Xf>>2],t[r+4>>2]=t[Xf+4>>2],u0(e,3928,r)|0,t[as>>2]=4,t[as+4>>2]=0,t[r>>2]=t[as>>2],t[r+4>>2]=t[as+4>>2],u0(e,3948,r)|0,t[z1>>2]=5,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],u0(e,3960,r)|0,t[hu>>2]=6,t[hu+4>>2]=0,t[r>>2]=t[hu>>2],t[r+4>>2]=t[hu+4>>2],u0(e,3974,r)|0,t[sf>>2]=7,t[sf+4>>2]=0,t[r>>2]=t[sf>>2],t[r+4>>2]=t[sf+4>>2],u0(e,3983,r)|0,t[El>>2]=20,t[El+4>>2]=0,t[r>>2]=t[El>>2],t[r+4>>2]=t[El+4>>2],Vs(e,3999,r)|0,t[Wl>>2]=8,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],u0(e,4012,r)|0,t[j1>>2]=9,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],u0(e,4022,r)|0,t[U1>>2]=21,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],Vs(e,4039,r)|0,t[Bc>>2]=10,t[Bc+4>>2]=0,t[r>>2]=t[Bc>>2],t[r+4>>2]=t[Bc+4>>2],u0(e,4053,r)|0,t[B1>>2]=11,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],u0(e,4065,r)|0,t[b1>>2]=12,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],u0(e,4084,r)|0,t[lf>>2]=13,t[lf+4>>2]=0,t[r>>2]=t[lf>>2],t[r+4>>2]=t[lf+4>>2],u0(e,4097,r)|0,t[Ns>>2]=14,t[Ns+4>>2]=0,t[r>>2]=t[Ns>>2],t[r+4>>2]=t[Ns+4>>2],u0(e,4117,r)|0,t[La>>2]=15,t[La+4>>2]=0,t[r>>2]=t[La>>2],t[r+4>>2]=t[La+4>>2],u0(e,4129,r)|0,t[ql>>2]=16,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],u0(e,4148,r)|0,t[Kf>>2]=17,t[Kf+4>>2]=0,t[r>>2]=t[Kf>>2],t[r+4>>2]=t[Kf+4>>2],u0(e,4161,r)|0,t[bc>>2]=18,t[bc+4>>2]=0,t[r>>2]=t[bc>>2],t[r+4>>2]=t[bc+4>>2],u0(e,4181,r)|0,t[Ic>>2]=5,t[Ic+4>>2]=0,t[r>>2]=t[Ic>>2],t[r+4>>2]=t[Ic+4>>2],M0(e,4196,r)|0,t[a2>>2]=6,t[a2+4>>2]=0,t[r>>2]=t[a2>>2],t[r+4>>2]=t[a2+4>>2],M0(e,4206,r)|0,t[s2>>2]=7,t[s2+4>>2]=0,t[r>>2]=t[s2>>2],t[r+4>>2]=t[s2+4>>2],M0(e,4217,r)|0,t[Yf>>2]=3,t[Yf+4>>2]=0,t[r>>2]=t[Yf>>2],t[r+4>>2]=t[Yf+4>>2],ns(e,4235,r)|0,t[l2>>2]=1,t[l2+4>>2]=0,t[r>>2]=t[l2>>2],t[r+4>>2]=t[l2+4>>2],Ya(e,4251,r)|0,t[of>>2]=4,t[of+4>>2]=0,t[r>>2]=t[of>>2],t[r+4>>2]=t[of+4>>2],ns(e,4263,r)|0,t[pi>>2]=5,t[pi+4>>2]=0,t[r>>2]=t[pi>>2],t[r+4>>2]=t[pi+4>>2],ns(e,4279,r)|0,t[o2>>2]=6,t[o2+4>>2]=0,t[r>>2]=t[o2>>2],t[r+4>>2]=t[o2+4>>2],ns(e,4293,r)|0,t[u2>>2]=7,t[u2+4>>2]=0,t[r>>2]=t[u2>>2],t[r+4>>2]=t[u2+4>>2],ns(e,4306,r)|0,t[i2>>2]=8,t[i2+4>>2]=0,t[r>>2]=t[i2>>2],t[r+4>>2]=t[i2+4>>2],ns(e,4323,r)|0,t[Pc>>2]=9,t[Pc+4>>2]=0,t[r>>2]=t[Pc>>2],t[r+4>>2]=t[Pc+4>>2],ns(e,4335,r)|0,t[Fc>>2]=2,t[Fc+4>>2]=0,t[r>>2]=t[Fc>>2],t[r+4>>2]=t[Fc+4>>2],Ya(e,4353,r)|0,t[r2>>2]=12,t[r2+4>>2]=0,t[r>>2]=t[r2>>2],t[r+4>>2]=t[r2+4>>2],uo(e,4363,r)|0,t[uf>>2]=1,t[uf+4>>2]=0,t[r>>2]=t[uf>>2],t[r+4>>2]=t[uf+4>>2],fl(e,4376,r)|0,t[n2>>2]=2,t[n2+4>>2]=0,t[r>>2]=t[n2>>2],t[r+4>>2]=t[n2+4>>2],fl(e,4388,r)|0,t[t2>>2]=13,t[t2+4>>2]=0,t[r>>2]=t[t2>>2],t[r+4>>2]=t[t2+4>>2],uo(e,4402,r)|0,t[ea>>2]=14,t[ea+4>>2]=0,t[r>>2]=t[ea>>2],t[r+4>>2]=t[ea+4>>2],uo(e,4411,r)|0,t[ss>>2]=15,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],uo(e,4421,r)|0,t[ls>>2]=16,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],uo(e,4433,r)|0,t[os>>2]=17,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],uo(e,4446,r)|0,t[uu>>2]=18,t[uu+4>>2]=0,t[r>>2]=t[uu>>2],t[r+4>>2]=t[uu+4>>2],uo(e,4458,r)|0,t[kn>>2]=3,t[kn+4>>2]=0,t[r>>2]=t[kn>>2],t[r+4>>2]=t[kn+4>>2],fl(e,4471,r)|0,t[Pr>>2]=1,t[Pr+4>>2]=0,t[r>>2]=t[Pr>>2],t[r+4>>2]=t[Pr+4>>2],yc(e,4486,r)|0,t[_r>>2]=10,t[_r+4>>2]=0,t[r>>2]=t[_r>>2],t[r+4>>2]=t[_r+4>>2],ns(e,4496,r)|0,t[gn>>2]=11,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],ns(e,4508,r)|0,t[Pn>>2]=3,t[Pn+4>>2]=0,t[r>>2]=t[Pn>>2],t[r+4>>2]=t[Pn+4>>2],Ya(e,4519,r)|0,t[Br>>2]=4,t[Br+4>>2]=0,t[r>>2]=t[Br>>2],t[r+4>>2]=t[Br+4>>2],M2(e,4530,r)|0,t[Zt>>2]=19,t[Zt+4>>2]=0,t[r>>2]=t[Zt>>2],t[r+4>>2]=t[Zt+4>>2],wh(e,4542,r)|0,t[Ie>>2]=12,t[Ie+4>>2]=0,t[r>>2]=t[Ie>>2],t[r+4>>2]=t[Ie+4>>2],Cf(e,4554,r)|0,t[ke>>2]=13,t[ke+4>>2]=0,t[r>>2]=t[ke>>2],t[r+4>>2]=t[ke+4>>2],xf(e,4568,r)|0,t[ct>>2]=2,t[ct+4>>2]=0,t[r>>2]=t[ct>>2],t[r+4>>2]=t[ct+4>>2],e1(e,4578,r)|0,t[Ye>>2]=20,t[Ye+4>>2]=0,t[r>>2]=t[Ye>>2],t[r+4>>2]=t[Ye+4>>2],Nl(e,4587,r)|0,t[Ze>>2]=22,t[Ze+4>>2]=0,t[r>>2]=t[Ze>>2],t[r+4>>2]=t[Ze+4>>2],Vs(e,4602,r)|0,t[ye>>2]=23,t[ye+4>>2]=0,t[r>>2]=t[ye>>2],t[r+4>>2]=t[ye+4>>2],Vs(e,4619,r)|0,t[Te>>2]=14,t[Te+4>>2]=0,t[r>>2]=t[Te>>2],t[r+4>>2]=t[Te+4>>2],t1(e,4629,r)|0,t[Be>>2]=1,t[Be+4>>2]=0,t[r>>2]=t[Be>>2],t[r+4>>2]=t[Be+4>>2],ya(e,4637,r)|0,t[X>>2]=4,t[X+4>>2]=0,t[r>>2]=t[X>>2],t[r+4>>2]=t[X+4>>2],fl(e,4653,r)|0,t[b>>2]=5,t[b+4>>2]=0,t[r>>2]=t[b>>2],t[r+4>>2]=t[b+4>>2],fl(e,4669,r)|0,t[M>>2]=6,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],fl(e,4686,r)|0,t[L>>2]=7,t[L+4>>2]=0,t[r>>2]=t[L>>2],t[r+4>>2]=t[L+4>>2],fl(e,4701,r)|0,t[T>>2]=8,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],fl(e,4719,r)|0,t[w>>2]=9,t[w+4>>2]=0,t[r>>2]=t[w>>2],t[r+4>>2]=t[w+4>>2],fl(e,4736,r)|0,t[v>>2]=21,t[v+4>>2]=0,t[r>>2]=t[v>>2],t[r+4>>2]=t[v+4>>2],hd(e,4754,r)|0,t[a>>2]=2,t[a+4>>2]=0,t[r>>2]=t[a>>2],t[r+4>>2]=t[a+4>>2],yc(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],yc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],yc(e,4808,r)|0,y=n}function Tf(e,n){e=e|0,n=n|0;var r=0;r=rf()|0,t[e>>2]=r,Vo(r,n),Zd(t[e>>2]|0)}function $c(e,n,r){return e=e|0,n=n|0,r=r|0,Mt(e,Fr(n)|0,r,0),e|0}function Dh(e,n,r){return e=e|0,n=n|0,r=r|0,d(e,Fr(n)|0,r,0),e|0}function sm(e,n,r){return e=e|0,n=n|0,r=r|0,Q4(e,Fr(n)|0,r,0),e|0}function Vs(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],H4(e,n,s),y=u,e|0}function ma(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],zl(e,n,s),y=u,e|0}function iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],p(e,n,s),y=u,e|0}function M0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Rv(e,n,s),y=u,e|0}function u0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],ny(e,n,s),y=u,e|0}function ns(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Gd(e,n,s),y=u,e|0}function Ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Vd(e,n,s),y=u,e|0}function uo(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],k0(e,n,s),y=u,e|0}function fl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Dp(e,n,s),y=u,e|0}function yc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],bm(e,n,s),y=u,e|0}function M2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],o0(e,n,s),y=u,e|0}function wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Ad(e,n,s),y=u,e|0}function Cf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Am(e,n,s),y=u,e|0}function xf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],$2(e,n,s),y=u,e|0}function e1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],y1(e,n,s),y=u,e|0}function Nl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Za(e,n,s),y=u,e|0}function t1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],B2(e,n,s),y=u,e|0}function ya(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],L2(e,n,s),y=u,e|0}function hd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],vd(e,n,s),y=u,e|0}function vd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],ga(e,r,s,1),y=u}function Fr(e){return e=e|0,e|0}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=k2()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=n1(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,md(a,u)|0,u),y=s}function k2(){var e=0,n=0;if(h[7616]|0||(cl(9136),Wt(24,9136,ge|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(sr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cl(9136)}return 9136}function n1(e){return e=e|0,0}function md(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=k2()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Rf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Af(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function wi(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0;v=y,y=y+32|0,X=v+24|0,b=v+20|0,T=v+16|0,M=v+12|0,L=v+8|0,w=v+4|0,Be=v,t[b>>2]=n,t[T>>2]=r,t[M>>2]=u,t[L>>2]=s,t[w>>2]=a,a=e+28|0,t[Be>>2]=t[a>>2],t[X>>2]=t[Be>>2],N2(e+24|0,X,b,M,L,T,w)|0,t[a>>2]=t[t[a>>2]>>2],y=v}function N2(e,n,r,u,s,a,v){return e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,v=v|0,e=am(n)|0,n=pn(24)|0,yd(n+4|0,t[r>>2]|0,t[u>>2]|0,t[s>>2]|0,t[a>>2]|0,t[v>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function am(e){return e=e|0,t[e>>2]|0}function yd(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=s,t[e+16>>2]=a}function hn(e,n){return e=e|0,n=n|0,n|e|0}function Rf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Af(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=fm(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Of(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Rf(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Sh(e,w),cm(w),y=L;return}}function fm(e){return e=e|0,357913941}function Of(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Sh(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function cm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function cl(e){e=e|0,qo(e)}function r1(e){e=e|0,qn(e+24|0)}function sr(e){return e=e|0,t[e>>2]|0}function qn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function qo(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,Vn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yr(){return 9228}function Vn(){return 1140}function dl(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=Eo(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=gc(n,u)|0,y=r,n|0}function jn(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=s,t[e+16>>2]=a}function Eo(e){return e=e|0,(t[(k2()|0)+24>>2]|0)+(e*12|0)|0}function gc(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;return s=y,y=y+48|0,u=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),I1[r&31](u,e),u=oo(u)|0,y=s,u|0}function oo(e){e=e|0;var n=0,r=0,u=0,s=0;return s=y,y=y+32|0,n=s+12|0,r=s,u=Pu(Ka()|0)|0,u?(rs(n,u),Mf(r,n),_c(e,r),e=Cs(n)|0):e=Ec(e)|0,y=s,e|0}function Ka(){var e=0;return h[7632]|0||(Nf(9184),Wt(25,9184,ge|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Pu(e){return e=e|0,t[e+36>>2]|0}function rs(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Mf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function _c(e,n){e=e|0,n=n|0,lo(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Cs(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function Ec(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0;T=y,y=y+16|0,r=T+4|0,u=T,s=Oa(8)|0,a=s,v=pn(48)|0,w=v,n=w+48|0;do t[w>>2]=t[e>>2],w=w+4|0,e=e+4|0;while((w|0)<(n|0));return n=a+4|0,t[n>>2]=v,w=pn(8)|0,v=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Th(w,v,r),t[s>>2]=w,y=T,a|0}function Th(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function cn(e){e=e|0,Uv(e),Et(e)}function is(e){e=e|0,e=t[e+12>>2]|0,e|0&&Et(e)}function Do(e){e=e|0,Et(e)}function lo(e,n,r,u,s,a,v){return e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,v=v|0,a=Ji(t[e>>2]|0,n,r,u,s,a,v)|0,v=e+4|0,t[(t[v>>2]|0)+8>>2]=a,t[(t[v>>2]|0)+8>>2]|0}function Ji(e,n,r,u,s,a,v){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,v=v|0;var w=0,T=0;return w=y,y=y+16|0,T=w,Ma(T),e=go(e)|0,v=Gr(e,+j[n>>3],+j[r>>3],+j[u>>3],+j[s>>3],+j[a>>3],+j[v>>3])|0,ka(T),y=w,v|0}function Gr(e,n,r,u,s,a,v){e=e|0,n=+n,r=+r,u=+u,s=+s,a=+a,v=+v;var w=0;return w=_o(kf()|0)|0,n=+kl(n),r=+kl(r),u=+kl(u),s=+kl(s),a=+kl(a),d0(0,w|0,e|0,+n,+r,+u,+s,+a,+ +kl(v))|0}function kf(){var e=0;return h[7624]|0||(dm(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function dm(e){e=e|0,ll(e,Ll()|0,6)}function Ll(){return 1112}function Nf(e){e=e|0,Xa(e)}function Lf(e){e=e|0,gd(e+24|0),_d(e+16|0)}function gd(e){e=e|0,i1(e)}function _d(e){e=e|0,Dc(e)}function Dc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Et(r);while((n|0)!=0);t[e>>2]=0}function i1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Et(r);while((n|0)!=0);t[e>>2]=0}function Xa(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,h[e+40>>0]=0,h[e+41>>0]=0}function L2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Ed(e,r,s,0),y=u}function Ed(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=u1()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Ff(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,o1(a,u)|0,u),y=s}function u1(){var e=0,n=0;if(h[7640]|0||(Fl(9232),Wt(26,9232,ge|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(sr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fl(9232)}return 9232}function Ff(e){return e=e|0,0}function o1(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=u1()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Qa(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(l1(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function Qa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function l1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=F2(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Dd(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Qa(a,u,r),t[T>>2]=(t[T>>2]|0)+12,wc(e,w),s1(w),y=L;return}}function F2(e){return e=e|0,357913941}function Dd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function wc(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function s1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Fl(e){e=e|0,P2(e)}function Ea(e){e=e|0,Ch(e+24|0)}function Ch(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function P2(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,I2()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function I2(){return 1144}function xh(e,n,r,u,s){e=e|0,n=n|0,r=+r,u=+u,s=s|0;var a=0,v=0,w=0,T=0;a=y,y=y+16|0,v=a+8|0,w=a,T=pm(e)|0,e=t[T+4>>2]|0,t[w>>2]=t[T>>2],t[w+4>>2]=e,t[v>>2]=t[w>>2],t[v+4>>2]=t[w+4>>2],Rh(n,v,r,u,s),y=a}function pm(e){return e=e|0,(t[(u1()|0)+24>>2]|0)+(e*12|0)|0}function Rh(e,n,r,u,s){e=e|0,n=n|0,r=+r,u=+u,s=s|0;var a=0,v=0,w=0,T=0,L=0;L=y,y=y+16|0,v=L+2|0,w=L+1|0,T=L,a=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(a=t[(t[e>>2]|0)+a>>2]|0),Pl(v,r),r=+us(v,r),Pl(w,u),u=+us(w,u),xs(T,s),T=Gs(T,s)|0,L8[a&1](e,r,u,T),y=L}function Pl(e,n){e=e|0,n=+n}function us(e,n){return e=e|0,n=+n,+ +Ah(n)}function xs(e,n){e=e|0,n=n|0}function Gs(e,n){return e=e|0,n=n|0,b2(n)|0}function b2(e){return e=e|0,e|0}function Ah(e){return e=+e,+e}function B2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],U2(e,r,s,1),y=u}function U2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=a1()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=f1(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Oh(a,u)|0,u),y=s}function a1(){var e=0,n=0;if(h[7648]|0||(c1(9268),Wt(27,9268,ge|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(sr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));c1(9268)}return 9268}function f1(e){return e=e|0,0}function Oh(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=a1()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],j2(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(z2(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function j2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function z2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Rs(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Ja(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],j2(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Mh(e,w),du(w),y=L;return}}function Rs(e){return e=e|0,357913941}function Ja(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Mh(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function du(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function c1(e){e=e|0,Il(e)}function kh(e){e=e|0,d1(e+24|0)}function d1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Il(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,Nh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Nh(){return 1160}function H2(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=Lh(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=p1(n,u)|0,y=r,n|0}function Lh(e){return e=e|0,(t[(a1()|0)+24>>2]|0)+(e*12|0)|0}function p1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),bl(Qp[r&31](e)|0)|0}function bl(e){return e=e|0,e&1|0}function Za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Da(e,r,s,0),y=u}function Da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=q2()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=W2(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,hm(a,u)|0,u),y=s}function q2(){var e=0,n=0;if(h[7656]|0||(Ih(9304),Wt(28,9304,ge|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(sr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ih(9304)}return 9304}function W2(e){return e=e|0,0}function hm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=q2()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],V2(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Fh(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function V2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Ph(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,G2(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],V2(a,u,r),t[T>>2]=(t[T>>2]|0)+12,vm(e,w),mm(w),y=L;return}}function Ph(e){return e=e|0,357913941}function G2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function vm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function mm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Ih(e){e=e|0,h1(e)}function ym(e){e=e|0,Y2(e+24|0)}function Y2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function h1(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,v1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function v1(){return 1164}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=wa(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],K2(n,s,r),y=u}function wa(e){return e=e|0,(t[(q2()|0)+24>>2]|0)+(e*12|0)|0}function K2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ys(s,r),r=Ks(s,r)|0,I1[u&31](e,r),Xs(s),y=a}function Ys(e,n){e=e|0,n=n|0,X2(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,fa(e)}function X2(e,n){e=e|0,n=n|0,Sa(e,n)}function Sa(e,n){e=e|0,n=n|0,t[e>>2]=n}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],wd(e,r,s,0),y=u}function wd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Sc()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Q2(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,wo(a,u)|0,u),y=s}function Sc(){var e=0,n=0;if(h[7664]|0||(Hh(9340),Wt(29,9340,ge|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(sr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hh(9340)}return 9340}function Q2(e){return e=e|0,0}function wo(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Sc()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],bh(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Bh(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function bh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Bh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Uh(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,jh(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],bh(a,u,r),t[T>>2]=(t[T>>2]|0)+12,gm(e,w),zh(w),y=L;return}}function Uh(e){return e=e|0,357913941}function jh(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function gm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function zh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Hh(e){e=e|0,qh(e)}function g1(e){e=e|0,J2(e+24|0)}function J2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function qh(e){e=e|0;var n=0;n=yr()|0,jn(e,2,4,n,Z2()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Z2(){return 1180}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=_m(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],r=Em(n,s,r)|0,y=u,r|0}function _m(e){return e=e|0,(t[(Sc()|0)+24>>2]|0)+(e*12|0)|0}function Em(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;return a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Pf(s,r),s=If(s,r)|0,s=Sd(bE[u&15](e,s)|0)|0,y=a,s|0}function Pf(e,n){e=e|0,n=n|0}function If(e,n){return e=e|0,n=n|0,Dm(n)|0}function Sd(e){return e=e|0,e|0}function Dm(e){return e=e|0,e|0}function $2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Td(e,r,s,0),y=u}function Td(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=ep()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Vh(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,tp(a,u)|0,u),y=s}function ep(){var e=0,n=0;if(h[7672]|0||(Kh(9376),Wt(30,9376,ge|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(sr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kh(9376)}return 9376}function Vh(e){return e=e|0,0}function tp(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=ep()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Gh(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Yh(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function Gh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Yh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=np(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,wm(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Gh(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Sm(e,w),Tm(w),y=L;return}}function np(e){return e=e|0,357913941}function wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Sm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Tm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Kh(e){e=e|0,rp(e)}function _1(e){e=e|0,Cm(e+24|0)}function Cm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function rp(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,ip()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function ip(){return 1196}function xm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=Rm(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=Xh(n,u)|0,y=r,n|0}function Rm(e){return e=e|0,(t[(ep()|0)+24>>2]|0)+(e*12|0)|0}function Xh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Sd(Qp[r&31](e)|0)|0}function Am(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Om(e,r,s,1),y=u}function Om(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=up()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=op(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Ta(a,u)|0,u),y=s}function up(){var e=0,n=0;if(h[7680]|0||(sp(9412),Wt(31,9412,ge|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(sr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));sp(9412)}return 9412}function op(e){return e=e|0,0}function Ta(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=up()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],E1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(lp(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function E1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Qh(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Cd(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],E1(a,u,r),t[T>>2]=(t[T>>2]|0)+12,D1(e,w),Jh(w),y=L;return}}function Qh(e){return e=e|0,357913941}function Cd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function D1(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Jh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function sp(e){e=e|0,$h(e)}function Zh(e){e=e|0,ap(e+24|0)}function ap(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function $h(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,ev()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function ev(){return 1200}function fp(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=xd(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=Rd(n,u)|0,y=r,n|0}function xd(e){return e=e|0,(t[(up()|0)+24>>2]|0)+(e*12|0)|0}function Rd(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),H0(Qp[r&31](e)|0)|0}function H0(e){return e=e|0,e|0}function Ad(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Ca(e,r,s,0),y=u}function Ca(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=$a()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Od(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Md(a,u)|0,u),y=s}function $a(){var e=0,n=0;if(h[7688]|0||(pp(9448),Wt(32,9448,ge|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(sr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pp(9448)}return 9448}function Od(e){return e=e|0,0}function Md(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=$a()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(kd(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function cp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function kd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=tv(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Mm(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],cp(a,u,r),t[T>>2]=(t[T>>2]|0)+12,nv(e,w),dp(w),y=L;return}}function tv(e){return e=e|0,357913941}function Mm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function nv(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function dp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function pp(e){e=e|0,Nm(e)}function hp(e){e=e|0,km(e+24|0)}function km(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Nm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,So()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function So(){return 1204}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=Lm(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],pl(n,s,r),y=u}function Lm(e){return e=e|0,(t[($a()|0)+24>>2]|0)+(e*12|0)|0}function pl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),tr(s,r),s=Qs(s,r)|0,I1[u&31](e,s),y=a}function tr(e,n){e=e|0,n=n|0}function Qs(e,n){return e=e|0,n=n|0,hl(n)|0}function hl(e){return e=e|0,e|0}function o0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],rv(e,r,s,0),y=u}function rv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Js()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=vp(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Fm(a,u)|0,u),y=s}function Js(){var e=0,n=0;if(h[7696]|0||(gp(9484),Wt(33,9484,ge|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(sr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));gp(9484)}return 9484}function vp(e){return e=e|0,0}function Fm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Js()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],iv(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(mp(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function iv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function mp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Pm(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,yp(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],iv(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Tc(e,w),xa(w),y=L;return}}function Pm(e){return e=e|0,357913941}function yp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Tc(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function xa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function gp(e){e=e|0,Gu(e)}function Ld(e){e=e|0,Iu(e+24|0)}function Iu(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Gu(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,_p()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function _p(){return 1212}function Ep(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+16|0,a=s+8|0,v=s,w=uv(e)|0,e=t[w+4>>2]|0,t[v>>2]=t[w>>2],t[v+4>>2]=e,t[a>>2]=t[v>>2],t[a+4>>2]=t[v+4>>2],Im(n,a,r,u),y=s}function uv(e){return e=e|0,(t[(Js()|0)+24>>2]|0)+(e*12|0)|0}function Im(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;w=y,y=y+16|0,a=w+1|0,v=w,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),tr(a,r),a=Qs(a,r)|0,Pf(v,u),v=If(v,u)|0,Fy[s&15](e,a,v),y=w}function bm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Bm(e,r,s,1),y=u}function Bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Fd()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=ov(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Cc(a,u)|0,u),y=s}function Fd(){var e=0,n=0;if(h[7704]|0||(lv(9520),Wt(34,9520,ge|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(sr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lv(9520)}return 9520}function ov(e){return e=e|0,0}function Cc(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Fd()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],w1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Um(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function w1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Um(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Pd(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,S1(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],w1(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Bl(e,w),Ra(w),y=L;return}}function Pd(e){return e=e|0,357913941}function S1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Bl(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Ra(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function lv(e){e=e|0,av(e)}function jm(e){e=e|0,sv(e+24|0)}function sv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function av(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,zm()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zm(){return 1224}function fv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;return s=y,y=y+16|0,a=s+8|0,v=s,w=Aa(e)|0,e=t[w+4>>2]|0,t[v>>2]=t[w>>2],t[v+4>>2]=e,t[a>>2]=t[v>>2],t[a+4>>2]=t[v+4>>2],u=+Mr(n,a,r),y=s,+u}function Aa(e){return e=e|0,(t[(Fd()|0)+24>>2]|0)+(e*12|0)|0}function Mr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(s,r),s=Gs(s,r)|0,v=+Ga(+P8[u&7](e,s)),y=a,+v}function Dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],vl(e,r,s,1),y=u}function vl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=yu()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=T1(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Ui(a,u)|0,u),y=s}function yu(){var e=0,n=0;if(h[7712]|0||(Sp(9556),Wt(35,9556,ge|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(sr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9556)}return 9556}function T1(e){return e=e|0,0}function Ui(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=yu()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],wp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Id(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function wp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Id(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=To(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,As(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],wp(a,u,r),t[T>>2]=(t[T>>2]|0)+12,bf(e,w),bd(w),y=L;return}}function To(e){return e=e|0,357913941}function As(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function bf(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function bd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Sp(e){e=e|0,Tp(e)}function C1(e){e=e|0,x1(e+24|0)}function x1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Tp(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,nr()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function nr(){return 1232}function ml(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=Gn(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],r=+q0(n,s),y=u,+r}function Gn(e){return e=e|0,(t[(yu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ga(+F8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Bd(e,r,s,1),y=u}function Bd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Ul()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=R1(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,xc(a,u)|0,u),y=s}function Ul(){var e=0,n=0;if(h[7720]|0||(zd(9592),Wt(36,9592,ge|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(sr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zd(9592)}return 9592}function R1(e){return e=e|0,0}function xc(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Ul()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Rc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ud(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function Rc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ud(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Cp(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,N0(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Rc(a,u,r),t[T>>2]=(t[T>>2]|0)+12,dn(e,w),jd(w),y=L;return}}function Cp(e){return e=e|0,357913941}function N0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function dn(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function jd(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function zd(e){e=e|0,Mc(e)}function Ac(e){e=e|0,Oc(e+24|0)}function Oc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Mc(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,A1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function A1(){return 1276}function xp(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=ef(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=Hm(n,u)|0,y=r,n|0}function ef(e){return e=e|0,(t[(Ul()|0)+24>>2]|0)+(e*12|0)|0}function Hm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;return s=y,y=y+16|0,u=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),I1[r&31](u,e),u=kc(u)|0,y=s,u|0}function kc(e){e=e|0;var n=0,r=0,u=0,s=0;return s=y,y=y+32|0,n=s+12|0,r=s,u=Pu(Hd()|0)|0,u?(rs(n,u),Mf(r,n),cv(e,r),e=Cs(n)|0):e=O1(e)|0,y=s,e|0}function Hd(){var e=0;return h[7736]|0||(Wo(9640),Wt(25,9640,ge|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function cv(e,n){e=e|0,n=n|0,Nc(n,e,e+8|0)|0}function O1(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0;return r=y,y=y+16|0,s=r+4|0,v=r,u=Oa(8)|0,n=u,w=pn(16)|0,t[w>>2]=t[e>>2],t[w+4>>2]=t[e+4>>2],t[w+8>>2]=t[e+8>>2],t[w+12>>2]=t[e+12>>2],a=n+4|0,t[a>>2]=w,e=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],Bf(e,a,s),t[u>>2]=e,y=r,n|0}function Bf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Uf(e){e=e|0,Uv(e),Et(e)}function M1(e){e=e|0,e=t[e+12>>2]|0,e|0&&Et(e)}function jl(e){e=e|0,Et(e)}function Nc(e,n,r){return e=e|0,n=n|0,r=r|0,n=jf(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function jf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;return u=y,y=y+16|0,s=u,Ma(s),e=go(e)|0,r=qm(e,t[n>>2]|0,+j[r>>3])|0,ka(s),y=u,r|0}function qm(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=_o(yl()|0)|0,n=sd(n)|0,Hr(0,u|0,e|0,n|0,+ +kl(r))|0}function yl(){var e=0;return h[7728]|0||(qd(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function qd(e){e=e|0,ll(e,Wd()|0,2)}function Wd(){return 1264}function Wo(e){e=e|0,Xa(e)}function Vd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Wm(e,r,s,1),y=u}function Wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=k1()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Vm(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Gm(a,u)|0,u),y=s}function k1(){var e=0,n=0;if(h[7744]|0||(hv(9684),Wt(37,9684,ge|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(sr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hv(9684)}return 9684}function Vm(e){return e=e|0,0}function Gm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=k1()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],dv(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ym(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ym(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=pv(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Km(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],dv(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Xm(e,w),Qm(w),y=L;return}}function pv(e){return e=e|0,357913941}function Km(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Xm(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Qm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function hv(e){e=e|0,Zm(e)}function Jm(e){e=e|0,Rp(e+24|0)}function Rp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Zm(e){e=e|0;var n=0;n=yr()|0,jn(e,2,5,n,zf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zf(){return 1280}function vv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=mv(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],r=yv(n,s,r)|0,y=u,r|0}function mv(e){return e=e|0,(t[(k1()|0)+24>>2]|0)+(e*12|0)|0}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return v=y,y=y+32|0,s=v,a=v+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(a,r),a=Gs(a,r)|0,Fy[u&15](s,e,a),a=kc(s)|0,y=v,a|0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Yd(e,r,s,1),y=u}function Yd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Ap()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=gv(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Kd(a,u)|0,u),y=s}function Ap(){var e=0,n=0;if(h[7752]|0||(Sv(9720),Wt(38,9720,ge|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(sr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sv(9720)}return 9720}function gv(e){return e=e|0,0}function Kd(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Ap()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],_v(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ev(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function _v(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Ev(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Op(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Dv(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],_v(a,u,r),t[T>>2]=(t[T>>2]|0)+12,wv(e,w),$m(w),y=L;return}}function Op(e){return e=e|0,357913941}function Dv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function $m(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Sv(e){e=e|0,Tv(e)}function ey(e){e=e|0,Xd(e+24|0)}function Xd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Tv(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,Mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Mp(){return 1288}function ty(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;return r=y,y=y+16|0,u=r+8|0,s=r,a=l0(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],n=kp(n,u)|0,y=r,n|0}function l0(e){return e=e|0,(t[(Ap()|0)+24>>2]|0)+(e*12|0)|0}function kp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),cd(Qp[r&31](e)|0)|0}function ny(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],ry(e,r,s,0),y=u}function ry(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Np()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=tf(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Lp(a,u)|0,u),y=s}function Np(){var e=0,n=0;if(h[7760]|0||(Ip(9756),Wt(39,9756,ge|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(sr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ip(9756)}return 9756}function tf(e){return e=e|0,0}function Lp(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Np()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Fp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Pp(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function Fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=iy(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,uy(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Fp(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Cv(e,w),Hf(w),y=L;return}}function iy(e){return e=e|0,357913941}function uy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Cv(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Hf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Ip(e){e=e|0,ly(e)}function xv(e){e=e|0,oy(e+24|0)}function oy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function ly(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,bp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bp(){return 1292}function Bp(e,n,r){e=e|0,n=n|0,r=+r;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=sy(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],ay(n,s,r),y=u}function sy(e){return e=e|0,(t[(Np()|0)+24>>2]|0)+(e*12|0)|0}function ay(e,n,r){e=e|0,n=n|0,r=+r;var u=0,s=0,a=0;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Pl(s,r),r=+us(s,r),k8[u&31](e,r),y=a}function Rv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Up(e,r,s,0),y=u}function Up(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=jp()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Qd(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,fy(a,u)|0,u),y=s}function jp(){var e=0,n=0;if(h[7768]|0||(zp(9792),Wt(40,9792,ge|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(sr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zp(9792)}return 9792}function Qd(e){return e=e|0,0}function fy(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=jp()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],N1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(cy(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function N1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function cy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Av(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Ov(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],N1(a,u,r),t[T>>2]=(t[T>>2]|0)+12,dy(e,w),qf(w),y=L;return}}function Av(e){return e=e|0,357913941}function Ov(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function dy(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function qf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function zp(e){e=e|0,hy(e)}function Mv(e){e=e|0,py(e+24|0)}function py(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function hy(e){e=e|0;var n=0;n=yr()|0,jn(e,2,1,n,Hp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Hp(){return 1300}function vy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var s=0,a=0,v=0,w=0;s=y,y=y+16|0,a=s+8|0,v=s,w=Zs(e)|0,e=t[w+4>>2]|0,t[v>>2]=t[w>>2],t[v+4>>2]=e,t[a>>2]=t[v>>2],t[a+4>>2]=t[v+4>>2],my(n,a,r,u),y=s}function Zs(e){return e=e|0,(t[(jp()|0)+24>>2]|0)+(e*12|0)|0}function my(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var s=0,a=0,v=0,w=0;w=y,y=y+16|0,a=w+1|0,v=w,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),xs(a,r),a=Gs(a,r)|0,Pl(v,u),u=+us(v,u),U8[s&15](e,a,u),y=w}function p(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],m(e,r,s,0),y=u}function m(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=R()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=I(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,W(a,u)|0,u),y=s}function R(){var e=0,n=0;if(h[7776]|0||(Ot(9828),Wt(41,9828,ge|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(sr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ot(9828)}return 9828}function I(e){return e=e|0,0}function W(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=R()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],te(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(pe(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function te(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function pe(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Ee(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,be(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],te(a,u,r),t[T>>2]=(t[T>>2]|0)+12,Dt(e,w),Tt(w),y=L;return}}function Ee(e){return e=e|0,357913941}function be(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function Dt(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Tt(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Ot(e){e=e|0,rr(e)}function on(e){e=e|0,Mn(e+24|0)}function Mn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function rr(e){e=e|0;var n=0;n=yr()|0,jn(e,2,7,n,br()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function br(){return 1312}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=ri(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],fi(n,s,r),y=u}function ri(e){return e=e|0,(t[(R()|0)+24>>2]|0)+(e*12|0)|0}function fi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(s,r),s=Gs(s,r)|0,I1[u&31](e,s),y=a}function zl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Zi(e,r,s,0),y=u}function Zi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=so()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=s0(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,Os(a,u)|0,u),y=s}function so(){var e=0,n=0;if(h[7784]|0||(Vg(9864),Wt(42,9864,ge|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(sr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vg(9864)}return 9864}function s0(e){return e=e|0,0}function Os(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=so()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],Co(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(kv(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function Co(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function kv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=F4(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,yy(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],Co(a,u,r),t[T>>2]=(t[T>>2]|0)+12,gy(e,w),nf(w),y=L;return}}function F4(e){return e=e|0,357913941}function yy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function gy(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function nf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Vg(e){e=e|0,b4(e)}function P4(e){e=e|0,I4(e+24|0)}function I4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function b4(e){e=e|0;var n=0;n=yr()|0,jn(e,2,8,n,B4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function B4(){return 1320}function _y(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=U4(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],j4(n,s,r),y=u}function U4(e){return e=e|0,(t[(so()|0)+24>>2]|0)+(e*12|0)|0}function j4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ey(s,r),s=Gg(s,r)|0,I1[u&31](e,s),y=a}function Ey(e,n){e=e|0,n=n|0}function Gg(e,n){return e=e|0,n=n|0,z4(n)|0}function z4(e){return e=e|0,e|0}function H4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],Yg(e,r,s,0),y=u}function Yg(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=Wf()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=Kg(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,q4(a,u)|0,u),y=s}function Wf(){var e=0,n=0;if(h[7792]|0||(Sy(9900),Wt(43,9900,ge|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(sr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sy(9900)}return 9900}function Kg(e){return e=e|0,0}function q4(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=Wf()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],qp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(W4(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function qp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function W4(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=Nv(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,Dy(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],qp(a,u,r),t[T>>2]=(t[T>>2]|0)+12,wy(e,w),V4(w),y=L;return}}function Nv(e){return e=e|0,357913941}function Dy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function wy(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function V4(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function Sy(e){e=e|0,Xg(e)}function G4(e){e=e|0,Y4(e+24|0)}function Y4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Xg(e){e=e|0;var n=0;n=yr()|0,jn(e,2,22,n,K4()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function K4(){return 1344}function X4(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0;r=y,y=y+16|0,u=r+8|0,s=r,a=Qg(e)|0,e=t[a+4>>2]|0,t[s>>2]=t[a>>2],t[s+4>>2]=e,t[u>>2]=t[s>>2],t[u+4>>2]=t[s+4>>2],Lv(n,u),y=r}function Qg(e){return e=e|0,(t[(Wf()|0)+24>>2]|0)+(e*12|0)|0}function Lv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),P1[r&127](e)}function Q4(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=Ty()|0,e=J4(r)|0,wi(a,n,s,e,Z4(r,u)|0,u)}function Ty(){var e=0,n=0;if(h[7800]|0||(xy(9936),Wt(44,9936,ge|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(sr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));xy(9936)}return 9936}function J4(e){return e=e|0,e|0}function Z4(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=Ty()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(Cy(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Jg(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function Cy(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Jg(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Zg(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,$g(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,Cy(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,e_(e,s),t_(s),y=w;return}}function Zg(e){return e=e|0,536870911}function $g(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function e_(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function t_(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function xy(e){e=e|0,r_(e)}function n_(e){e=e|0,$4(e+24|0)}function $4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function r_(e){e=e|0;var n=0;n=yr()|0,jn(e,1,23,n,So()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eE(e,n){e=e|0,n=n|0,c(t[(tE(e)|0)>>2]|0,n)}function tE(e){return e=e|0,(t[(Ty()|0)+24>>2]|0)+(e<<3)|0}function c(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,tr(u,n),n=Qs(u,n)|0,P1[e&127](n),y=r}function d(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=D()|0,e=C(r)|0,wi(a,n,s,e,O(r,u)|0,u)}function D(){var e=0,n=0;if(h[7808]|0||(ht(9972),Wt(45,9972,ge|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(sr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ht(9972)}return 9972}function C(e){return e=e|0,e|0}function O(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=D()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(z(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(G(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function z(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function G(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=ne(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,se(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,z(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,Ue(e,s),Xe(s),y=w;return}}function ne(e){return e=e|0,536870911}function se(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function Ue(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Xe(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function ht(e){e=e|0,Ht(e)}function Lt(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function Ht(e){e=e|0;var n=0;n=yr()|0,jn(e,1,9,n,yn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yn(){return 1348}function kr(e,n){return e=e|0,n=n|0,Oi(t[(ii(e)|0)>>2]|0,n)|0}function ii(e){return e=e|0,(t[(D()|0)+24>>2]|0)+(e<<3)|0}function Oi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=y,y=y+16|0,u=r,L0(u,n),n=$i(u,n)|0,n=Sd(Qp[e&31](n)|0)|0,y=r,n|0}function L0(e,n){e=e|0,n=n|0}function $i(e,n){return e=e|0,n=n|0,lt(n)|0}function lt(e){return e=e|0,e|0}function Mt(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=$e()|0,e=jt(r)|0,wi(a,n,s,e,Fn(r,u)|0,u)}function $e(){var e=0,n=0;if(h[7816]|0||(Yr(10008),Wt(46,10008,ge|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(sr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Yr(10008)}return 10008}function jt(e){return e=e|0,e|0}function Fn(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=$e()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(vn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Vi(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function vn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Vi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=ci(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,Yu(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,vn(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,hr(e,s),pu(s),y=w;return}}function ci(e){return e=e|0,536870911}function Yu(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function hr(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function pu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function Yr(e){e=e|0,W0(e)}function Cu(e){e=e|0,D0(e+24|0)}function D0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function W0(e){e=e|0;var n=0;n=yr()|0,jn(e,1,15,n,ip()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ms(e){return e=e|0,gl(t[(Ku(e)|0)>>2]|0)|0}function Ku(e){return e=e|0,(t[($e()|0)+24>>2]|0)+(e<<3)|0}function gl(e){return e=e|0,Sd(E_[e&7]()|0)|0}function rf(){var e=0;return h[7832]|0||(u_(10052),Wt(25,10052,ge|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Vo(e,n){e=e|0,n=n|0,t[e>>2]=ks()|0,t[e+4>>2]=Jd()|0,t[e+12>>2]=n,t[e+8>>2]=Vf()|0,t[e+32>>2]=2}function ks(){return 11709}function Jd(){return 1188}function Vf(){return L1()|0}function Lc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(Go(r),Et(r)):n|0&&(Ds(n),Et(n))}function Hl(e,n){return e=e|0,n=n|0,n&e|0}function Go(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function L1(){var e=0;return h[7824]|0||(t[2511]=i_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function i_(){return 0}function u_(e){e=e|0,Xa(e)}function nE(e){e=e|0;var n=0,r=0,u=0,s=0,a=0;n=y,y=y+32|0,r=n+24|0,a=n+16|0,s=n+8|0,u=n,o_(e,4827),rE(e,4834,3)|0,iE(e,3682,47)|0,t[a>>2]=9,t[a+4>>2]=0,t[r>>2]=t[a>>2],t[r+4>>2]=t[a+4>>2],Ry(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],l_(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],uE(e,4891,r)|0,y=n}function o_(e,n){e=e|0,n=n|0;var r=0;r=PR()|0,t[e>>2]=r,IR(r,n),Zd(t[e>>2]|0)}function rE(e,n,r){return e=e|0,n=n|0,r=r|0,_R(e,Fr(n)|0,r,0),e|0}function iE(e,n,r){return e=e|0,n=n|0,r=r|0,iR(e,Fr(n)|0,r,0),e|0}function Ry(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],U9(e,n,s),y=u,e|0}function l_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],E9(e,n,s),y=u,e|0}function uE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=t[r+4>>2]|0,t[a>>2]=t[r>>2],t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],oE(e,n,s),y=u,e|0}function oE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],lE(e,r,s,1),y=u}function lE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=sE()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=o9(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,l9(a,u)|0,u),y=s}function sE(){var e=0,n=0;if(h[7840]|0||(hw(10100),Wt(48,10100,ge|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(sr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hw(10100)}return 10100}function o9(e){return e=e|0,0}function l9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=sE()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],pw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(s9(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function pw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function s9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=a9(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,f9(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],pw(a,u,r),t[T>>2]=(t[T>>2]|0)+12,c9(e,w),d9(w),y=L;return}}function a9(e){return e=e|0,357913941}function f9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function c9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function d9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function hw(e){e=e|0,v9(e)}function p9(e){e=e|0,h9(e+24|0)}function h9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function v9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,6,n,m9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function m9(){return 1364}function y9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;return u=y,y=y+16|0,s=u+8|0,a=u,v=g9(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],r=_9(n,s,r)|0,y=u,r|0}function g9(e){return e=e|0,(t[(sE()|0)+24>>2]|0)+(e*12|0)|0}function _9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;return a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xs(s,r),s=Gs(s,r)|0,s=bl(bE[u&15](e,s)|0)|0,y=a,s|0}function E9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],D9(e,r,s,0),y=u}function D9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=aE()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=w9(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,S9(a,u)|0,u),y=s}function aE(){var e=0,n=0;if(h[7848]|0||(mw(10136),Wt(49,10136,ge|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(sr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));mw(10136)}return 10136}function w9(e){return e=e|0,0}function S9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=aE()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],vw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(T9(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function vw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function T9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=C9(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,x9(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],vw(a,u,r),t[T>>2]=(t[T>>2]|0)+12,R9(e,w),A9(w),y=L;return}}function C9(e){return e=e|0,357913941}function x9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function R9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function A9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function mw(e){e=e|0,k9(e)}function O9(e){e=e|0,M9(e+24|0)}function M9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function k9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,9,n,N9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function N9(){return 1372}function L9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,s=u+8|0,a=u,v=F9(e)|0,e=t[v+4>>2]|0,t[a>>2]=t[v>>2],t[a+4>>2]=e,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],P9(n,s,r),y=u}function F9(e){return e=e|0,(t[(aE()|0)+24>>2]|0)+(e*12|0)|0}function P9(e,n,r){e=e|0,n=n|0,r=+r;var u=0,s=0,a=0,v=Ct;a=y,y=y+16|0,s=a,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),I9(s,r),v=S(b9(s,r)),M8[u&1](e,v),y=a}function I9(e,n){e=e|0,n=+n}function b9(e,n){return e=e|0,n=+n,S(B9(n))}function B9(e){return e=+e,S(e)}function U9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,s=u+8|0,a=u,w=t[r>>2]|0,v=t[r+4>>2]|0,r=Fr(n)|0,t[a>>2]=w,t[a+4>>2]=v,t[s>>2]=t[a>>2],t[s+4>>2]=t[a+4>>2],j9(e,r,s,0),y=u}function j9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0,T=0,L=0,M=0;s=y,y=y+32|0,a=s+16|0,M=s+8|0,w=s,L=t[r>>2]|0,T=t[r+4>>2]|0,v=t[e>>2]|0,e=fE()|0,t[M>>2]=L,t[M+4>>2]=T,t[a>>2]=t[M>>2],t[a+4>>2]=t[M+4>>2],r=z9(a)|0,t[w>>2]=L,t[w+4>>2]=T,t[a>>2]=t[w>>2],t[a+4>>2]=t[w+4>>2],wi(v,n,e,r,H9(a,u)|0,u),y=s}function fE(){var e=0,n=0;if(h[7856]|0||(gw(10172),Wt(50,10172,ge|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(sr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));gw(10172)}return 10172}function z9(e){return e=e|0,0}function H9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0;return M=y,y=y+32|0,s=M+24|0,v=M+16|0,w=M,T=M+8|0,a=t[e>>2]|0,u=t[e+4>>2]|0,t[w>>2]=a,t[w+4>>2]=u,b=fE()|0,L=b+24|0,e=hn(n,4)|0,t[T>>2]=e,n=b+28|0,r=t[n>>2]|0,r>>>0<(t[b+32>>2]|0)>>>0?(t[v>>2]=a,t[v+4>>2]=u,t[s>>2]=t[v>>2],t[s+4>>2]=t[v+4>>2],yw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(q9(L,w,T),e=t[n>>2]|0),y=M,((e-(t[L>>2]|0)|0)/12|0)+-1|0}function yw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function q9(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;if(L=y,y=y+48|0,u=L+32|0,v=L+24|0,w=L,T=e+4|0,s=(((t[T>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,a=W9(e)|0,a>>>0>>0)di(e);else{M=t[e>>2]|0,X=((t[e+8>>2]|0)-M|0)/12|0,b=X<<1,V9(w,X>>>0>>1>>>0?b>>>0>>0?s:b:a,((t[T>>2]|0)-M|0)/12|0,e+8|0),T=w+8|0,a=t[T>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[v>>2]=t[n>>2],t[v+4>>2]=s,t[u>>2]=t[v>>2],t[u+4>>2]=t[v+4>>2],yw(a,u,r),t[T>>2]=(t[T>>2]|0)+12,G9(e,w),Y9(w),y=L;return}}function W9(e){return e=e|0,357913941}function V9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)$n();else{s=pn(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n*12|0)}function G9(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Y9(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Et(e)}function gw(e){e=e|0,Q9(e)}function K9(e){e=e|0,X9(e+24|0)}function X9(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),Et(r))}function Q9(e){e=e|0;var n=0;n=yr()|0,jn(e,2,3,n,J9()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function J9(){return 1380}function Z9(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+16|0,a=s+8|0,v=s,w=$9(e)|0,e=t[w+4>>2]|0,t[v>>2]=t[w>>2],t[v+4>>2]=e,t[a>>2]=t[v>>2],t[a+4>>2]=t[v+4>>2],eR(n,a,r,u),y=s}function $9(e){return e=e|0,(t[(fE()|0)+24>>2]|0)+(e*12|0)|0}function eR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;w=y,y=y+16|0,a=w+1|0,v=w,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),xs(a,r),a=Gs(a,r)|0,tR(v,u),v=nR(v,u)|0,Fy[s&15](e,a,v),y=w}function tR(e,n){e=e|0,n=n|0}function nR(e,n){return e=e|0,n=n|0,rR(n)|0}function rR(e){return e=e|0,(e|0)!=0|0}function iR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=cE()|0,e=uR(r)|0,wi(a,n,s,e,oR(r,u)|0,u)}function cE(){var e=0,n=0;if(h[7864]|0||(Ew(10208),Wt(51,10208,ge|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(sr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ew(10208)}return 10208}function uR(e){return e=e|0,e|0}function oR(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=cE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(_w(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(lR(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function _w(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function lR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=sR(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,aR(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,_w(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,fR(e,s),cR(s),y=w;return}}function sR(e){return e=e|0,536870911}function aR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function fR(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function cR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function Ew(e){e=e|0,hR(e)}function dR(e){e=e|0,pR(e+24|0)}function pR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function hR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,24,n,vR()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vR(){return 1392}function mR(e,n){e=e|0,n=n|0,gR(t[(yR(e)|0)>>2]|0,n)}function yR(e){return e=e|0,(t[(cE()|0)+24>>2]|0)+(e<<3)|0}function gR(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,L0(u,n),n=$i(u,n)|0,P1[e&127](n),y=r}function _R(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=dE()|0,e=ER(r)|0,wi(a,n,s,e,DR(r,u)|0,u)}function dE(){var e=0,n=0;if(h[7872]|0||(ww(10244),Wt(52,10244,ge|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(sr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ww(10244)}return 10244}function ER(e){return e=e|0,e|0}function DR(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=dE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(Dw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(wR(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function Dw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function wR(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=SR(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,TR(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,Dw(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,CR(e,s),xR(s),y=w;return}}function SR(e){return e=e|0,536870911}function TR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function CR(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function xR(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function ww(e){e=e|0,OR(e)}function RR(e){e=e|0,AR(e+24|0)}function AR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function OR(e){e=e|0;var n=0;n=yr()|0,jn(e,1,16,n,MR()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MR(){return 1400}function kR(e){return e=e|0,LR(t[(NR(e)|0)>>2]|0)|0}function NR(e){return e=e|0,(t[(dE()|0)+24>>2]|0)+(e<<3)|0}function LR(e){return e=e|0,FR(E_[e&7]()|0)|0}function FR(e){return e=e|0,e|0}function PR(){var e=0;return h[7880]|0||(HR(10280),Wt(25,10280,ge|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function IR(e,n){e=e|0,n=n|0,t[e>>2]=bR()|0,t[e+4>>2]=BR()|0,t[e+12>>2]=n,t[e+8>>2]=UR()|0,t[e+32>>2]=4}function bR(){return 11711}function BR(){return 1356}function UR(){return L1()|0}function jR(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(zR(r),Et(r)):n|0&&(ro(n),Et(n))}function zR(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function HR(e){e=e|0,Xa(e)}function qR(e){e=e|0,WR(e,4920),VR(e)|0,GR(e)|0}function WR(e,n){e=e|0,n=n|0;var r=0;r=Hd()|0,t[e>>2]=r,pA(r,n),Zd(t[e>>2]|0)}function VR(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,rA()|0),e|0}function GR(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,YR()|0),e|0}function YR(){var e=0;return h[7888]|0||(Sw(10328),Wt(53,10328,ge|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),sr(10328)|0||Sw(10328),10328}function Wp(e,n){e=e|0,n=n|0,wi(e,0,n,0,0,0)}function Sw(e){e=e|0,QR(e),Vp(e,10)}function KR(e){e=e|0,XR(e+24|0)}function XR(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function QR(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,eA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function JR(e,n,r){e=e|0,n=n|0,r=+r,ZR(e,n,r)}function Vp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function ZR(e,n,r){e=e|0,n=n|0,r=+r;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+16|0,a=u+8|0,w=u+13|0,s=u,v=u+12|0,xs(w,n),t[a>>2]=Gs(w,n)|0,Pl(v,r),j[s>>3]=+us(v,r),$R(e,a,s),y=u}function $R(e,n,r){e=e|0,n=n|0,r=r|0,B(e+8|0,t[n>>2]|0,+j[r>>3]),h[e+24>>0]=1}function eA(){return 1404}function tA(e,n){return e=e|0,n=+n,nA(e,n)|0}function nA(e,n){e=e|0,n=+n;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return u=y,y=y+16|0,a=u+4|0,v=u+8|0,w=u,s=Oa(8)|0,r=s,T=pn(16)|0,xs(a,e),e=Gs(a,e)|0,Pl(v,n),B(T,e,+us(v,n)),v=r+4|0,t[v>>2]=T,e=pn(8)|0,v=t[v>>2]|0,t[w>>2]=0,t[a>>2]=t[w>>2],Bf(e,v,a),t[s>>2]=e,y=u,r|0}function rA(){var e=0;return h[7896]|0||(Tw(10364),Wt(54,10364,ge|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),sr(10364)|0||Tw(10364),10364}function Tw(e){e=e|0,oA(e),Vp(e,55)}function iA(e){e=e|0,uA(e+24|0)}function uA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function oA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,4,n,fA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function lA(e){e=e|0,sA(e)}function sA(e){e=e|0,aA(e)}function aA(e){e=e|0,Cw(e+8|0),h[e+24>>0]=1}function Cw(e){e=e|0,t[e>>2]=0,j[e+8>>3]=0}function fA(){return 1424}function cA(){return dA()|0}function dA(){var e=0,n=0,r=0,u=0,s=0,a=0,v=0;return n=y,y=y+16|0,s=n+4|0,v=n,r=Oa(8)|0,e=r,u=pn(16)|0,Cw(u),a=e+4|0,t[a>>2]=u,u=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],Bf(u,a,s),t[r>>2]=u,y=n,e|0}function pA(e,n){e=e|0,n=n|0,t[e>>2]=hA()|0,t[e+4>>2]=vA()|0,t[e+12>>2]=n,t[e+8>>2]=mA()|0,t[e+32>>2]=5}function hA(){return 11710}function vA(){return 1416}function mA(){return s_()|0}function yA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(gA(r),Et(r)):n|0&&Et(n)}function gA(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function s_(){var e=0;return h[7904]|0||(t[2600]=_A()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function _A(){return t[357]|0}function EA(e){e=e|0,DA(e,4926),wA(e)|0}function DA(e,n){e=e|0,n=n|0;var r=0;r=Ka()|0,t[e>>2]=r,LA(r,n),Zd(t[e>>2]|0)}function wA(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,SA()|0),e|0}function SA(){var e=0;return h[7912]|0||(xw(10412),Wt(56,10412,ge|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),sr(10412)|0||xw(10412),10412}function xw(e){e=e|0,xA(e),Vp(e,57)}function TA(e){e=e|0,CA(e+24|0)}function CA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function xA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,5,n,MA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function RA(e){e=e|0,AA(e)}function AA(e){e=e|0,OA(e)}function OA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));h[e+56>>0]=1}function MA(){return 1432}function kA(){return NA()|0}function NA(){var e=0,n=0,r=0,u=0,s=0,a=0,v=0,w=0;v=y,y=y+16|0,e=v+4|0,n=v,r=Oa(8)|0,u=r,s=pn(48)|0,a=s,w=a+48|0;do t[a>>2]=0,a=a+4|0;while((a|0)<(w|0));return a=u+4|0,t[a>>2]=s,w=pn(8)|0,a=t[a>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Th(w,a,e),t[r>>2]=w,y=v,u|0}function LA(e,n){e=e|0,n=n|0,t[e>>2]=FA()|0,t[e+4>>2]=PA()|0,t[e+12>>2]=n,t[e+8>>2]=IA()|0,t[e+32>>2]=6}function FA(){return 11704}function PA(){return 1436}function IA(){return s_()|0}function bA(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(BA(r),Et(r)):n|0&&Et(n)}function BA(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function UA(e){e=e|0,jA(e,4933),zA(e)|0,HA(e)|0}function jA(e,n){e=e|0,n=n|0;var r=0;r=d7()|0,t[e>>2]=r,p7(r,n),Zd(t[e>>2]|0)}function zA(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,n7()|0),e|0}function HA(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,qA()|0),e|0}function qA(){var e=0;return h[7920]|0||(Rw(10452),Wt(58,10452,ge|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),sr(10452)|0||Rw(10452),10452}function Rw(e){e=e|0,GA(e),Vp(e,1)}function WA(e){e=e|0,VA(e+24|0)}function VA(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function GA(e){e=e|0;var n=0;n=yr()|0,jn(e,5,1,n,QA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YA(e,n,r){e=e|0,n=+n,r=+r,KA(e,n,r)}function KA(e,n,r){e=e|0,n=+n,r=+r;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+32|0,a=u+8|0,w=u+17|0,s=u,v=u+16|0,Pl(w,n),j[a>>3]=+us(w,n),Pl(v,r),j[s>>3]=+us(v,r),XA(e,a,s),y=u}function XA(e,n,r){e=e|0,n=n|0,r=r|0,Aw(e+8|0,+j[n>>3],+j[r>>3]),h[e+24>>0]=1}function Aw(e,n,r){e=e|0,n=+n,r=+r,j[e>>3]=n,j[e+8>>3]=r}function QA(){return 1472}function JA(e,n){return e=+e,n=+n,ZA(e,n)|0}function ZA(e,n){e=+e,n=+n;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return u=y,y=y+16|0,v=u+4|0,w=u+8|0,T=u,s=Oa(8)|0,r=s,a=pn(16)|0,Pl(v,e),e=+us(v,e),Pl(w,n),Aw(a,e,+us(w,n)),w=r+4|0,t[w>>2]=a,a=pn(8)|0,w=t[w>>2]|0,t[T>>2]=0,t[v>>2]=t[T>>2],Ow(a,w,v),t[s>>2]=a,y=u,r|0}function Ow(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function $A(e){e=e|0,Uv(e),Et(e)}function e7(e){e=e|0,e=t[e+12>>2]|0,e|0&&Et(e)}function t7(e){e=e|0,Et(e)}function n7(){var e=0;return h[7928]|0||(Mw(10488),Wt(59,10488,ge|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),sr(10488)|0||Mw(10488),10488}function Mw(e){e=e|0,u7(e),Vp(e,60)}function r7(e){e=e|0,i7(e+24|0)}function i7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function u7(e){e=e|0;var n=0;n=yr()|0,jn(e,5,6,n,a7()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function o7(e){e=e|0,l7(e)}function l7(e){e=e|0,s7(e)}function s7(e){e=e|0,kw(e+8|0),h[e+24>>0]=1}function kw(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function a7(){return 1492}function f7(){return c7()|0}function c7(){var e=0,n=0,r=0,u=0,s=0,a=0,v=0;return n=y,y=y+16|0,s=n+4|0,v=n,r=Oa(8)|0,e=r,u=pn(16)|0,kw(u),a=e+4|0,t[a>>2]=u,u=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],Ow(u,a,s),t[r>>2]=u,y=n,e|0}function d7(){var e=0;return h[7936]|0||(_7(10524),Wt(25,10524,ge|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function p7(e,n){e=e|0,n=n|0,t[e>>2]=h7()|0,t[e+4>>2]=v7()|0,t[e+12>>2]=n,t[e+8>>2]=m7()|0,t[e+32>>2]=7}function h7(){return 11700}function v7(){return 1484}function m7(){return s_()|0}function y7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(g7(r),Et(r)):n|0&&Et(n)}function g7(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function _7(e){e=e|0,Xa(e)}function E7(e,n,r){e=e|0,n=n|0,r=r|0,e=Fr(n)|0,n=D7(r)|0,r=w7(r,0)|0,Z7(e,n,r,pE()|0,0)}function D7(e){return e=e|0,e|0}function w7(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=pE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(Lw(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(O7(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function pE(){var e=0,n=0;if(h[7944]|0||(Nw(10568),Wt(61,10568,ge|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(sr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Nw(10568)}return 10568}function Nw(e){e=e|0,C7(e)}function S7(e){e=e|0,T7(e+24|0)}function T7(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function C7(e){e=e|0;var n=0;n=yr()|0,jn(e,1,17,n,ev()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x7(e){return e=e|0,A7(t[(R7(e)|0)>>2]|0)|0}function R7(e){return e=e|0,(t[(pE()|0)+24>>2]|0)+(e<<3)|0}function A7(e){return e=e|0,H0(E_[e&7]()|0)|0}function Lw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function O7(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=M7(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,k7(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,Lw(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,N7(e,s),L7(s),y=w;return}}function M7(e){return e=e|0,536870911}function k7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function N7(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function L7(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function F7(){P7()}function P7(){I7(10604)}function I7(e){e=e|0,b7(e,4955)}function b7(e,n){e=e|0,n=n|0;var r=0;r=B7()|0,t[e>>2]=r,U7(r,n),Zd(t[e>>2]|0)}function B7(){var e=0;return h[7952]|0||(K7(10612),Wt(25,10612,ge|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function U7(e,n){e=e|0,n=n|0,t[e>>2]=q7()|0,t[e+4>>2]=W7()|0,t[e+12>>2]=n,t[e+8>>2]=V7()|0,t[e+32>>2]=8}function Zd(e){e=e|0;var n=0,r=0;n=y,y=y+16|0,r=n,Fv()|0,t[r>>2]=e,j7(10608,r),y=n}function Fv(){return h[11714]|0||(t[2652]=0,Wt(62,10608,ge|0)|0,h[11714]=1),10608}function j7(e,n){e=e|0,n=n|0;var r=0;r=pn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function z7(e){e=e|0,H7(e)}function H7(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Et(r);while((n|0)!=0);t[e>>2]=0}function q7(){return 11715}function W7(){return 1496}function V7(){return L1()|0}function G7(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(Y7(r),Et(r)):n|0&&Et(n)}function Y7(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function K7(e){e=e|0,Xa(e)}function X7(e,n){e=e|0,n=n|0;var r=0,u=0;Fv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0&&(h8(hE(u)|0,e)|0)==0);)if(r=t[r>>2]|0,!r)break e;Q7(u,n)}while(0)}function hE(e){return e=e|0,t[e+12>>2]|0}function Q7(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(fa(r),Et(r)),r=pn(4)|0,wf(r,n),t[e>>2]=r}function vE(){return h[11716]|0||(t[2664]=0,Wt(63,10656,ge|0)|0,h[11716]=1),10656}function Fw(){var e=0;return h[11717]|0?e=t[2665]|0:(J7(),t[2665]=1504,h[11717]=1,e=1504),e|0}function J7(){h[11740]|0||(h[11718]=hn(hn(8,0)|0,0)|0,h[11719]=hn(hn(0,0)|0,0)|0,h[11720]=hn(hn(0,16)|0,0)|0,h[11721]=hn(hn(8,0)|0,0)|0,h[11722]=hn(hn(0,0)|0,0)|0,h[11723]=hn(hn(8,0)|0,0)|0,h[11724]=hn(hn(0,0)|0,0)|0,h[11725]=hn(hn(8,0)|0,0)|0,h[11726]=hn(hn(0,0)|0,0)|0,h[11727]=hn(hn(8,0)|0,0)|0,h[11728]=hn(hn(0,0)|0,0)|0,h[11729]=hn(hn(0,0)|0,32)|0,h[11730]=hn(hn(0,0)|0,32)|0,h[11740]=1)}function Pw(){return 1572}function Z7(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0,M=0;a=y,y=y+32|0,M=a+16|0,L=a+12|0,T=a+8|0,w=a+4|0,v=a,t[M>>2]=e,t[L>>2]=n,t[T>>2]=r,t[w>>2]=u,t[v>>2]=s,vE()|0,$7(10656,M,L,T,w,v),y=a}function $7(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0;v=pn(24)|0,yd(v+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[s>>2]|0,t[a>>2]|0),t[v>>2]=t[e>>2],t[e>>2]=v}function Iw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0,ct=0;if(ct=y,y=y+32|0,Te=ct+20|0,ye=ct+8|0,Ze=ct+4|0,Ye=ct,n=t[n>>2]|0,n|0){Be=Te+4|0,T=Te+8|0,L=ye+4|0,M=ye+8|0,b=ye+8|0,X=Te+8|0;do{if(v=n+4|0,w=mE(v)|0,w|0){if(s=Ay(w)|0,t[Te>>2]=0,t[Be>>2]=0,t[T>>2]=0,u=(Oy(w)|0)+1|0,eO(Te,u),u|0)for(;u=u+-1|0,Gf(ye,t[s>>2]|0),a=t[Be>>2]|0,a>>>0<(t[X>>2]|0)>>>0?(t[a>>2]=t[ye>>2],t[Be>>2]=(t[Be>>2]|0)+4):yE(Te,ye),u;)s=s+4|0;u=My(w)|0,t[ye>>2]=0,t[L>>2]=0,t[M>>2]=0;e:do if(t[u>>2]|0)for(s=0,a=0;;){if((s|0)==(a|0)?tO(ye,u):(t[s>>2]=t[u>>2],t[L>>2]=(t[L>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;s=t[L>>2]|0,a=t[b>>2]|0}while(0);t[Ze>>2]=a_(v)|0,t[Ye>>2]=sr(w)|0,nO(r,e,Ze,Ye,Te,ye),gE(ye),F1(Te)}n=t[n>>2]|0}while((n|0)!=0)}y=ct}function mE(e){return e=e|0,t[e+12>>2]|0}function Ay(e){return e=e|0,t[e+12>>2]|0}function Oy(e){return e=e|0,t[e+16>>2]|0}function eO(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;s=y,y=y+32|0,r=s,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0>>0&&(Ww(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),Vw(e,r),Gw(r)),y=s}function yE(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0;if(v=y,y=y+32|0,r=v,u=e+4|0,s=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,a=qw(e)|0,a>>>0>>0)di(e);else{w=t[e>>2]|0,L=(t[e+8>>2]|0)-w|0,T=L>>1,Ww(r,L>>2>>>0>>1>>>0?T>>>0>>0?s:T:a,(t[u>>2]|0)-w>>2,e+8|0),a=r+8|0,t[t[a>>2]>>2]=t[n>>2],t[a>>2]=(t[a>>2]|0)+4,Vw(e,r),Gw(r),y=v;return}}function My(e){return e=e|0,t[e+8>>2]|0}function tO(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0;if(v=y,y=y+32|0,r=v,u=e+4|0,s=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,a=Hw(e)|0,a>>>0>>0)di(e);else{w=t[e>>2]|0,L=(t[e+8>>2]|0)-w|0,T=L>>1,DO(r,L>>2>>>0>>1>>>0?T>>>0>>0?s:T:a,(t[u>>2]|0)-w>>2,e+8|0),a=r+8|0,t[t[a>>2]>>2]=t[n>>2],t[a>>2]=(t[a>>2]|0)+4,wO(e,r),SO(r),y=v;return}}function a_(e){return e=e|0,t[e>>2]|0}function nO(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,rO(e,n,r,u,s,a)}function gE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Et(r))}function F1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Et(r))}function rO(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0,T=0,L=0,M=0,b=0;v=y,y=y+48|0,M=v+40|0,w=v+32|0,b=v+24|0,T=v+12|0,L=v,Ma(w),e=go(e)|0,t[b>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,_E(T,s),iO(L,a),t[M>>2]=t[b>>2],uO(e,M,r,u,T,L),gE(L),F1(T),ka(w),y=v}function _E(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(_O(e,u),EO(e,t[n>>2]|0,t[r>>2]|0,u))}function iO(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(yO(e,u),gO(e,t[n>>2]|0,t[r>>2]|0,u))}function uO(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0,T=0,L=0,M=0,b=0;v=y,y=y+32|0,M=v+28|0,b=v+24|0,w=v+12|0,T=v,L=_o(oO()|0)|0,t[b>>2]=t[n>>2],t[M>>2]=t[b>>2],n=Gp(M)|0,r=bw(r)|0,u=EE(u)|0,t[w>>2]=t[s>>2],M=s+4|0,t[w+4>>2]=t[M>>2],b=s+8|0,t[w+8>>2]=t[b>>2],t[b>>2]=0,t[M>>2]=0,t[s>>2]=0,s=DE(w)|0,t[T>>2]=t[a>>2],M=a+4|0,t[T+4>>2]=t[M>>2],b=a+8|0,t[T+8>>2]=t[b>>2],t[b>>2]=0,t[M>>2]=0,t[a>>2]=0,X0(0,L|0,e|0,n|0,r|0,u|0,s|0,lO(T)|0)|0,gE(T),F1(w),y=v}function oO(){var e=0;return h[7968]|0||(vO(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Gp(e){return e=e|0,Uw(e)|0}function bw(e){return e=e|0,Bw(e)|0}function EE(e){return e=e|0,H0(e)|0}function DE(e){return e=e|0,aO(e)|0}function lO(e){return e=e|0,sO(e)|0}function sO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Bw(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Bw(e){return e=e|0,e|0}function aO(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Oa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=Uw((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function Uw(e){e=e|0;var n=0,r=0,u=0,s=0;return s=y,y=y+32|0,n=s+12|0,r=s,u=Pu(jw()|0)|0,u?(rs(n,u),Mf(r,n),VN(e,r),e=Cs(n)|0):e=fO(e)|0,y=s,e|0}function jw(){var e=0;return h[7960]|0||(hO(10664),Wt(25,10664,ge|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function fO(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0;return r=y,y=y+16|0,s=r+4|0,v=r,u=Oa(8)|0,n=u,w=pn(4)|0,t[w>>2]=t[e>>2],a=n+4|0,t[a>>2]=w,e=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],zw(e,a,s),t[u>>2]=e,y=r,n|0}function zw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function cO(e){e=e|0,Uv(e),Et(e)}function dO(e){e=e|0,e=t[e+12>>2]|0,e|0&&Et(e)}function pO(e){e=e|0,Et(e)}function hO(e){e=e|0,Xa(e)}function vO(e){e=e|0,ll(e,mO()|0,5)}function mO(){return 1676}function yO(e,n){e=e|0,n=n|0;var r=0;if((Hw(e)|0)>>>0>>0&&di(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function gO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function Hw(e){return e=e|0,1073741823}function _O(e,n){e=e|0,n=n|0;var r=0;if((qw(e)|0)>>>0>>0&&di(e),n>>>0>1073741823)$n();else{r=pn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function EO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(gr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function qw(e){return e=e|0,1073741823}function DO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{s=pn(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<2)}function wO(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>2)<<2)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function SO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Et(e)}function Ww(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)$n();else{s=pn(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<2)}function Vw(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>2)<<2)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Gw(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Et(e)}function TO(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0;if(ye=y,y=y+32|0,M=ye+20|0,b=ye+12|0,L=ye+16|0,X=ye+4|0,Be=ye,Te=ye+8|0,w=Fw()|0,a=t[w>>2]|0,v=t[a>>2]|0,v|0)for(T=t[w+8>>2]|0,w=t[w+4>>2]|0;Gf(M,v),CO(e,M,w,T),a=a+4|0,v=t[a>>2]|0,v;)T=T+1|0,w=w+1|0;if(a=Pw()|0,v=t[a>>2]|0,v|0)do Gf(M,v),t[b>>2]=t[a+4>>2],xO(n,M,b),a=a+8|0,v=t[a>>2]|0;while((v|0)!=0);if(a=t[(Fv()|0)>>2]|0,a|0)do n=t[a+4>>2]|0,Gf(M,t[(Pv(n)|0)>>2]|0),t[b>>2]=hE(n)|0,RO(r,M,b),a=t[a>>2]|0;while((a|0)!=0);if(Gf(L,0),a=vE()|0,t[M>>2]=t[L>>2],Iw(M,a,s),a=t[(Fv()|0)>>2]|0,a|0){e=M+4|0,n=M+8|0,r=M+8|0;do{if(T=t[a+4>>2]|0,Gf(b,t[(Pv(T)|0)>>2]|0),AO(X,Yw(T)|0),v=t[X>>2]|0,v|0){t[M>>2]=0,t[e>>2]=0,t[n>>2]=0;do Gf(Be,t[(Pv(t[v+4>>2]|0)|0)>>2]|0),w=t[e>>2]|0,w>>>0<(t[r>>2]|0)>>>0?(t[w>>2]=t[Be>>2],t[e>>2]=(t[e>>2]|0)+4):yE(M,Be),v=t[v>>2]|0;while((v|0)!=0);OO(u,b,M),F1(M)}t[Te>>2]=t[b>>2],L=Kw(T)|0,t[M>>2]=t[Te>>2],Iw(M,L,s),_d(X),a=t[a>>2]|0}while((a|0)!=0)}y=ye}function CO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,zO(e,n,r,u)}function xO(e,n,r){e=e|0,n=n|0,r=r|0,jO(e,n,r)}function Pv(e){return e=e|0,e|0}function RO(e,n,r){e=e|0,n=n|0,r=r|0,IO(e,n,r)}function Yw(e){return e=e|0,e+16|0}function AO(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;if(a=y,y=y+16|0,s=a+8|0,r=a,t[e>>2]=0,u=t[n>>2]|0,t[s>>2]=u,t[r>>2]=e,r=PO(r)|0,u|0){if(u=pn(12)|0,v=(Xw(s)|0)+4|0,e=t[v+4>>2]|0,n=u+4|0,t[n>>2]=t[v>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=u;else for(n=u;e=pn(12)|0,T=(Xw(s)|0)+4|0,w=t[T+4>>2]|0,v=e+4|0,t[v>>2]=t[T>>2],t[v+4>>2]=w,t[n>>2]=e,v=t[t[s>>2]>>2]|0,t[s>>2]=v,v;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}y=a}function OO(e,n,r){e=e|0,n=n|0,r=r|0,MO(e,n,r)}function Kw(e){return e=e|0,e+24|0}function MO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+32|0,v=u+24|0,s=u+16|0,w=u+12|0,a=u,Ma(s),e=go(e)|0,t[w>>2]=t[n>>2],_E(a,r),t[v>>2]=t[w>>2],kO(e,v,a),F1(a),ka(s),y=u}function kO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=y,y=y+32|0,v=u+16|0,w=u+12|0,s=u,a=_o(NO()|0)|0,t[w>>2]=t[n>>2],t[v>>2]=t[w>>2],n=Gp(v)|0,t[s>>2]=t[r>>2],v=r+4|0,t[s+4>>2]=t[v>>2],w=r+8|0,t[s+8>>2]=t[w>>2],t[w>>2]=0,t[v>>2]=0,t[r>>2]=0,P0(0,a|0,e|0,n|0,DE(s)|0)|0,F1(s),y=u}function NO(){var e=0;return h[7976]|0||(LO(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function LO(e){e=e|0,ll(e,FO()|0,2)}function FO(){return 1732}function PO(e){return e=e|0,t[e>>2]|0}function Xw(e){return e=e|0,t[e>>2]|0}function IO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+32|0,a=u+16|0,s=u+8|0,v=u,Ma(s),e=go(e)|0,t[v>>2]=t[n>>2],r=t[r>>2]|0,t[a>>2]=t[v>>2],Qw(e,a,r),ka(s),y=u}function Qw(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+16|0,a=u+4|0,v=u,s=_o(bO()|0)|0,t[v>>2]=t[n>>2],t[a>>2]=t[v>>2],n=Gp(a)|0,P0(0,s|0,e|0,n|0,bw(r)|0)|0,y=u}function bO(){var e=0;return h[7984]|0||(BO(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function BO(e){e=e|0,ll(e,UO()|0,2)}function UO(){return 1744}function jO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;u=y,y=y+32|0,a=u+16|0,s=u+8|0,v=u,Ma(s),e=go(e)|0,t[v>>2]=t[n>>2],r=t[r>>2]|0,t[a>>2]=t[v>>2],Qw(e,a,r),ka(s),y=u}function zO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+32|0,v=s+16|0,a=s+8|0,w=s,Ma(a),e=go(e)|0,t[w>>2]=t[n>>2],r=h[r>>0]|0,u=h[u>>0]|0,t[v>>2]=t[w>>2],HO(e,v,r,u),ka(a),y=s}function HO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+16|0,v=s+4|0,w=s,a=_o(qO()|0)|0,t[w>>2]=t[n>>2],t[v>>2]=t[w>>2],n=Gp(v)|0,r=Iv(r)|0,Hn(0,a|0,e|0,n|0,r|0,Iv(u)|0)|0,y=s}function qO(){var e=0;return h[7992]|0||(VO(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Iv(e){return e=e|0,WO(e)|0}function WO(e){return e=e|0,e&255|0}function VO(e){e=e|0,ll(e,GO()|0,3)}function GO(){return 1756}function YO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;switch(X=y,y=y+32|0,w=X+8|0,T=X+4|0,L=X+20|0,M=X,Sa(e,0),u=WN(n)|0,t[w>>2]=0,b=w+4|0,t[b>>2]=0,t[w+8>>2]=0,u<<24>>24){case 0:{h[L>>0]=0,KO(T,r,L),f_(e,T)|0,U0(T);break}case 8:{b=RE(n)|0,h[L>>0]=8,Gf(M,t[b+4>>2]|0),XO(T,r,L,M,b+8|0),f_(e,T)|0,U0(T);break}case 9:{if(a=RE(n)|0,n=t[a+4>>2]|0,n|0)for(v=w+8|0,s=a+12|0;n=n+-1|0,Gf(T,t[s>>2]|0),u=t[b>>2]|0,u>>>0<(t[v>>2]|0)>>>0?(t[u>>2]=t[T>>2],t[b>>2]=(t[b>>2]|0)+4):yE(w,T),n;)s=s+4|0;h[L>>0]=9,Gf(M,t[a+8>>2]|0),QO(T,r,L,M,w),f_(e,T)|0,U0(T);break}default:b=RE(n)|0,h[L>>0]=u,Gf(M,t[b+4>>2]|0),JO(T,r,L,M),f_(e,T)|0,U0(T)}F1(w),y=X}function KO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;u=y,y=y+16|0,s=u,Ma(s),n=go(n)|0,fM(e,n,h[r>>0]|0),ka(s),y=u}function f_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&qr(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function XO(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0;a=y,y=y+32|0,w=a+16|0,v=a+8|0,T=a,Ma(v),n=go(n)|0,r=h[r>>0]|0,t[T>>2]=t[u>>2],s=t[s>>2]|0,t[w>>2]=t[T>>2],oM(e,n,r,w,s),ka(v),y=a}function QO(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0;a=y,y=y+32|0,T=a+24|0,v=a+16|0,L=a+12|0,w=a,Ma(v),n=go(n)|0,r=h[r>>0]|0,t[L>>2]=t[u>>2],_E(w,s),t[T>>2]=t[L>>2],nM(e,n,r,T,w),F1(w),ka(v),y=a}function JO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+32|0,v=s+16|0,a=s+8|0,w=s,Ma(a),n=go(n)|0,r=h[r>>0]|0,t[w>>2]=t[u>>2],t[v>>2]=t[w>>2],ZO(e,n,r,v),ka(a),y=s}function ZO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0,v=0,w=0;s=y,y=y+16|0,a=s+4|0,w=s,v=_o($O()|0)|0,r=Iv(r)|0,t[w>>2]=t[u>>2],t[a>>2]=t[w>>2],c_(e,P0(0,v|0,n|0,r|0,Gp(a)|0)|0),y=s}function $O(){var e=0;return h[8e3]|0||(eM(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function c_(e,n){e=e|0,n=n|0,Sa(e,n)}function eM(e){e=e|0,ll(e,tM()|0,2)}function tM(){return 1772}function nM(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0;a=y,y=y+32|0,T=a+16|0,L=a+12|0,v=a,w=_o(rM()|0)|0,r=Iv(r)|0,t[L>>2]=t[u>>2],t[T>>2]=t[L>>2],u=Gp(T)|0,t[v>>2]=t[s>>2],T=s+4|0,t[v+4>>2]=t[T>>2],L=s+8|0,t[v+8>>2]=t[L>>2],t[L>>2]=0,t[T>>2]=0,t[s>>2]=0,c_(e,Hn(0,w|0,n|0,r|0,u|0,DE(v)|0)|0),F1(v),y=a}function rM(){var e=0;return h[8008]|0||(iM(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function iM(e){e=e|0,ll(e,uM()|0,3)}function uM(){return 1784}function oM(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0;a=y,y=y+16|0,w=a+4|0,T=a,v=_o(lM()|0)|0,r=Iv(r)|0,t[T>>2]=t[u>>2],t[w>>2]=t[T>>2],u=Gp(w)|0,c_(e,Hn(0,v|0,n|0,r|0,u|0,EE(s)|0)|0),y=a}function lM(){var e=0;return h[8016]|0||(sM(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function sM(e){e=e|0,ll(e,aM()|0,3)}function aM(){return 1800}function fM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=_o(cM()|0)|0,c_(e,Ki(0,u|0,n|0,Iv(r)|0)|0)}function cM(){var e=0;return h[8024]|0||(dM(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function dM(e){e=e|0,ll(e,pM()|0,1)}function pM(){return 1816}function hM(){vM(),mM(),yM()}function vM(){t[2702]=T8(65536)|0}function mM(){bM(10856)}function yM(){gM(10816)}function gM(e){e=e|0,_M(e,5044),EM(e)|0}function _M(e,n){e=e|0,n=n|0;var r=0;r=jw()|0,t[e>>2]=r,kM(r,n),Zd(t[e>>2]|0)}function EM(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,DM()|0),e|0}function DM(){var e=0;return h[8032]|0||(Jw(10820),Wt(64,10820,ge|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),sr(10820)|0||Jw(10820),10820}function Jw(e){e=e|0,TM(e),Vp(e,25)}function wM(e){e=e|0,SM(e+24|0)}function SM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function TM(e){e=e|0;var n=0;n=yr()|0,jn(e,5,18,n,AM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function CM(e,n){e=e|0,n=n|0,xM(e,n)}function xM(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;r=y,y=y+16|0,u=r,s=r+4|0,Pf(s,n),t[u>>2]=If(s,n)|0,RM(e,u),y=r}function RM(e,n){e=e|0,n=n|0,Zw(e+4|0,t[n>>2]|0),h[e+8>>0]=1}function Zw(e,n){e=e|0,n=n|0,t[e>>2]=n}function AM(){return 1824}function OM(e){return e=e|0,MM(e)|0}function MM(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0;return r=y,y=y+16|0,s=r+4|0,v=r,u=Oa(8)|0,n=u,w=pn(4)|0,Pf(s,e),Zw(w,If(s,e)|0),a=n+4|0,t[a>>2]=w,e=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],zw(e,a,s),t[u>>2]=e,y=r,n|0}function Oa(e){e=e|0;var n=0,r=0;return e=e+7&-8,e>>>0<=32768&&(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=T8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function kM(e,n){e=e|0,n=n|0,t[e>>2]=NM()|0,t[e+4>>2]=LM()|0,t[e+12>>2]=n,t[e+8>>2]=FM()|0,t[e+32>>2]=9}function NM(){return 11744}function LM(){return 1832}function FM(){return s_()|0}function PM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(IM(r),Et(r)):n|0&&Et(n)}function IM(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function bM(e){e=e|0,BM(e,5052),UM(e)|0,jM(e,5058,26)|0,zM(e,5069,1)|0,HM(e,5077,10)|0,qM(e,5087,19)|0,WM(e,5094,27)|0}function BM(e,n){e=e|0,n=n|0;var r=0;r=IN()|0,t[e>>2]=r,bN(r,n),Zd(t[e>>2]|0)}function UM(e){e=e|0;var n=0;return n=t[e>>2]|0,Wp(n,wN()|0),e|0}function jM(e,n,r){return e=e|0,n=n|0,r=r|0,iN(e,Fr(n)|0,r,0),e|0}function zM(e,n,r){return e=e|0,n=n|0,r=r|0,qk(e,Fr(n)|0,r,0),e|0}function HM(e,n,r){return e=e|0,n=n|0,r=r|0,Dk(e,Fr(n)|0,r,0),e|0}function qM(e,n,r){return e=e|0,n=n|0,r=r|0,ok(e,Fr(n)|0,r,0),e|0}function $w(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}Et(r)}t[2701]=e}function WM(e,n,r){return e=e|0,n=n|0,r=r|0,VM(e,Fr(n)|0,r,0),e|0}function VM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=wE()|0,e=GM(r)|0,wi(a,n,s,e,YM(r,u)|0,u)}function wE(){var e=0,n=0;if(h[8040]|0||(t8(10860),Wt(65,10860,ge|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(sr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));t8(10860)}return 10860}function GM(e){return e=e|0,e|0}function YM(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=wE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(e8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(KM(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function KM(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=XM(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,QM(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,e8(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,JM(e,s),ZM(s),y=w;return}}function XM(e){return e=e|0,536870911}function QM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function JM(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function ZM(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function t8(e){e=e|0,tk(e)}function $M(e){e=e|0,ek(e+24|0)}function ek(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function tk(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,nk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function nk(){return 1840}function rk(e,n,r){e=e|0,n=n|0,r=r|0,uk(t[(ik(e)|0)>>2]|0,n,r)}function ik(e){return e=e|0,(t[(wE()|0)+24>>2]|0)+(e<<3)|0}function uk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;u=y,y=y+16|0,a=u+1|0,s=u,Pf(a,n),n=If(a,n)|0,Pf(s,r),r=If(s,r)|0,I1[e&31](n,r),y=u}function ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=SE()|0,e=lk(r)|0,wi(a,n,s,e,sk(r,u)|0,u)}function SE(){var e=0,n=0;if(h[8048]|0||(r8(10896),Wt(66,10896,ge|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(sr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r8(10896)}return 10896}function lk(e){return e=e|0,e|0}function sk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=SE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(n8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(ak(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function n8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function ak(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=fk(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,ck(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,n8(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,dk(e,s),pk(s),y=w;return}}function fk(e){return e=e|0,536870911}function ck(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function dk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function pk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function r8(e){e=e|0,mk(e)}function hk(e){e=e|0,vk(e+24|0)}function vk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function mk(e){e=e|0;var n=0;n=yr()|0,jn(e,1,11,n,yk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yk(){return 1852}function gk(e,n){return e=e|0,n=n|0,Ek(t[(_k(e)|0)>>2]|0,n)|0}function _k(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e<<3)|0}function Ek(e,n){e=e|0,n=n|0;var r=0,u=0;return r=y,y=y+16|0,u=r,Pf(u,n),n=If(u,n)|0,n=H0(Qp[e&31](n)|0)|0,y=r,n|0}function Dk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=TE()|0,e=wk(r)|0,wi(a,n,s,e,Sk(r,u)|0,u)}function TE(){var e=0,n=0;if(h[8056]|0||(u8(10932),Wt(67,10932,ge|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(sr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));u8(10932)}return 10932}function wk(e){return e=e|0,e|0}function Sk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=TE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(i8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Tk(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Tk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Ck(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,xk(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,i8(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,Rk(e,s),Ak(s),y=w;return}}function Ck(e){return e=e|0,536870911}function xk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function Rk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Ak(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function u8(e){e=e|0,kk(e)}function Ok(e){e=e|0,Mk(e+24|0)}function Mk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function kk(e){e=e|0;var n=0;n=yr()|0,jn(e,1,7,n,Nk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Nk(){return 1860}function Lk(e,n,r){return e=e|0,n=n|0,r=r|0,Pk(t[(Fk(e)|0)>>2]|0,n,r)|0}function Fk(e){return e=e|0,(t[(TE()|0)+24>>2]|0)+(e<<3)|0}function Pk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0;return u=y,y=y+32|0,v=u+12|0,a=u+8|0,w=u,T=u+16|0,s=u+4|0,Ik(T,n),bk(w,T,n),Ys(s,r),r=Ks(s,r)|0,t[v>>2]=t[w>>2],Fy[e&15](a,v,r),r=Bk(a)|0,U0(a),Xs(s),y=u,r|0}function Ik(e,n){e=e|0,n=n|0}function bk(e,n,r){e=e|0,n=n|0,r=r|0,Uk(e,r)}function Bk(e){return e=e|0,go(e)|0}function Uk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0;s=y,y=y+16|0,r=s,u=n,u&1?(jk(r,0),eu(u|0,r|0)|0,zk(e,r),Hk(r)):t[e>>2]=t[n>>2],y=s}function jk(e,n){e=e|0,n=n|0,fd(e,n),t[e+4>>2]=0,h[e+8>>0]=0}function zk(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function Hk(e){e=e|0,h[e+8>>0]=0}function qk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=CE()|0,e=Wk(r)|0,wi(a,n,s,e,Vk(r,u)|0,u)}function CE(){var e=0,n=0;if(h[8064]|0||(l8(10968),Wt(68,10968,ge|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(sr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));l8(10968)}return 10968}function Wk(e){return e=e|0,e|0}function Vk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=CE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(o8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Gk(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Gk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Yk(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,Kk(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,o8(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,Xk(e,s),Qk(s),y=w;return}}function Yk(e){return e=e|0,536870911}function Kk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function Xk(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function Qk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function l8(e){e=e|0,$k(e)}function Jk(e){e=e|0,Zk(e+24|0)}function Zk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function $k(e){e=e|0;var n=0;n=yr()|0,jn(e,1,1,n,eN()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eN(){return 1872}function tN(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,rN(t[(nN(e)|0)>>2]|0,n,r,u,s,a)}function nN(e){return e=e|0,(t[(CE()|0)+24>>2]|0)+(e<<3)|0}function rN(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0,T=0,L=0,M=0,b=0;v=y,y=y+32|0,w=v+16|0,T=v+12|0,L=v+8|0,M=v+4|0,b=v,Ys(w,n),n=Ks(w,n)|0,Ys(T,r),r=Ks(T,r)|0,Ys(L,u),u=Ks(L,u)|0,Ys(M,s),s=Ks(M,s)|0,Ys(b,a),a=Ks(b,a)|0,O8[e&1](n,r,u,s,a),Xs(b),Xs(M),Xs(L),Xs(T),Xs(w),y=v}function iN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;a=t[e>>2]|0,s=xE()|0,e=uN(r)|0,wi(a,n,s,e,oN(r,u)|0,u)}function xE(){var e=0,n=0;if(h[8072]|0||(a8(11004),Wt(69,11004,ge|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(sr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));a8(11004)}return 11004}function uN(e){return e=e|0,e|0}function oN(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0,w=0,T=0;return w=y,y=y+16|0,s=w,a=w+4|0,t[s>>2]=e,T=xE()|0,v=T+24|0,n=hn(n,4)|0,t[a>>2]=n,r=T+28|0,u=t[r>>2]|0,u>>>0<(t[T+32>>2]|0)>>>0?(s8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(lN(v,s,a),n=t[r>>2]|0),y=w,(n-(t[v>>2]|0)>>3)+-1|0}function s8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function lN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0;if(w=y,y=y+32|0,s=w,a=e+4|0,v=((t[a>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=sN(e)|0,u>>>0>>0)di(e);else{T=t[e>>2]|0,M=(t[e+8>>2]|0)-T|0,L=M>>2,aN(s,M>>3>>>0>>1>>>0?L>>>0>>0?v:L:u,(t[a>>2]|0)-T>>3,e+8|0),v=s+8|0,s8(t[v>>2]|0,t[n>>2]|0,t[r>>2]|0),t[v>>2]=(t[v>>2]|0)+8,fN(e,s),cN(s),y=w;return}}function sN(e){return e=e|0,536870911}function aN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)$n();else{s=pn(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,u=s+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=s+(n<<3)}function fN(e,n){e=e|0,n=n|0;var r=0,u=0,s=0,a=0,v=0;u=t[e>>2]|0,v=e+4|0,a=n+4|0,s=(t[v>>2]|0)-u|0,r=(t[a>>2]|0)+(0-(s>>3)<<3)|0,t[a>>2]=r,(s|0)>0?(gr(r|0,u|0,s|0)|0,u=a,r=t[a>>2]|0):u=a,a=t[e>>2]|0,t[e>>2]=r,t[u>>2]=a,a=n+8|0,s=t[v>>2]|0,t[v>>2]=t[a>>2],t[a>>2]=s,a=e+8|0,v=n+12|0,e=t[a>>2]|0,t[a>>2]=t[v>>2],t[v>>2]=e,t[n>>2]=t[u>>2]}function cN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Et(e)}function a8(e){e=e|0,hN(e)}function dN(e){e=e|0,pN(e+24|0)}function pN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function hN(e){e=e|0;var n=0;n=yr()|0,jn(e,1,12,n,vN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vN(){return 1896}function mN(e,n,r){e=e|0,n=n|0,r=r|0,gN(t[(yN(e)|0)>>2]|0,n,r)}function yN(e){return e=e|0,(t[(xE()|0)+24>>2]|0)+(e<<3)|0}function gN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;u=y,y=y+16|0,a=u+4|0,s=u,_N(a,n),n=EN(a,n)|0,Ys(s,r),r=Ks(s,r)|0,I1[e&31](n,r),Xs(s),y=u}function _N(e,n){e=e|0,n=n|0}function EN(e,n){return e=e|0,n=n|0,DN(n)|0}function DN(e){return e=e|0,e|0}function wN(){var e=0;return h[8080]|0||(f8(11040),Wt(70,11040,ge|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),sr(11040)|0||f8(11040),11040}function f8(e){e=e|0,CN(e),Vp(e,71)}function SN(e){e=e|0,TN(e+24|0)}function TN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),Et(r))}function CN(e){e=e|0;var n=0;n=yr()|0,jn(e,5,7,n,ON()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xN(e){e=e|0,RN(e)}function RN(e){e=e|0,AN(e)}function AN(e){e=e|0,h[e+8>>0]=1}function ON(){return 1936}function MN(){return kN()|0}function kN(){var e=0,n=0,r=0,u=0,s=0,a=0,v=0;return n=y,y=y+16|0,s=n+4|0,v=n,r=Oa(8)|0,e=r,a=e+4|0,t[a>>2]=pn(1)|0,u=pn(8)|0,a=t[a>>2]|0,t[v>>2]=0,t[s>>2]=t[v>>2],NN(u,a,s),t[r>>2]=u,y=n,e|0}function NN(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=pn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function LN(e){e=e|0,Uv(e),Et(e)}function FN(e){e=e|0,e=t[e+12>>2]|0,e|0&&Et(e)}function PN(e){e=e|0,Et(e)}function IN(){var e=0;return h[8088]|0||(qN(11076),Wt(25,11076,ge|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function bN(e,n){e=e|0,n=n|0,t[e>>2]=BN()|0,t[e+4>>2]=UN()|0,t[e+12>>2]=n,t[e+8>>2]=jN()|0,t[e+32>>2]=10}function BN(){return 11745}function UN(){return 1940}function jN(){return L1()|0}function zN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Hl(u,896)|0)==512?r|0&&(HN(r),Et(r)):n|0&&Et(n)}function HN(e){e=e|0,e=t[e+4>>2]|0,e|0&&$d(e)}function qN(e){e=e|0,Xa(e)}function Gf(e,n){e=e|0,n=n|0,t[e>>2]=n}function RE(e){return e=e|0,t[e>>2]|0}function WN(e){return e=e|0,h[t[e>>2]>>0]|0}function VN(e,n){e=e|0,n=n|0;var r=0,u=0;r=y,y=y+16|0,u=r,t[u>>2]=t[e>>2],GN(n,u)|0,y=r}function GN(e,n){e=e|0,n=n|0;var r=0;return r=YN(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function YN(e,n){e=e|0,n=n|0;var r=0,u=0;return r=y,y=y+16|0,u=r,Ma(u),e=go(e)|0,n=KN(e,t[n>>2]|0)|0,ka(u),y=r,n|0}function Ma(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function KN(e,n){e=e|0,n=n|0;var r=0;return r=_o(XN()|0)|0,Ki(0,r|0,e|0,EE(n)|0)|0}function ka(e){e=e|0,$w(t[e>>2]|0,t[e+4>>2]|0)}function XN(){var e=0;return h[8096]|0||(QN(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function QN(e){e=e|0,ll(e,JN()|0,1)}function JN(){return 1948}function ZN(){$N()}function $N(){var e=0,n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0;if(Te=y,y=y+16|0,M=Te+4|0,b=Te,In(65536,10804,t[2702]|0,10812),r=Fw()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Xl(e|0,N[r>>0]|0|0,h[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=Pw()|0,n=t[e>>2]|0,n|0)do ko(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);ko(eL()|0,5167),L=Fv()|0,e=t[L>>2]|0;e:do if(e|0){do tL(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[L>>2]|0,e|0){T=L;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(nL(s)|0);)if(t[b>>2]=T,t[M>>2]=t[b>>2],rL(L,M)|0,!e)break e;if(iL(s),T=t[T>>2]|0,n=c8(s)|0,a=fo()|0,v=y,y=y+((1*(n<<2)|0)+15&-16)|0,w=y,y=y+((1*(n<<2)|0)+15&-16)|0,n=t[(Yw(s)|0)>>2]|0,n|0)for(r=v,u=w;t[r>>2]=t[(Pv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ye=Pv(s)|0,n=uL(s)|0,r=c8(s)|0,u=oL(s)|0,No(ye|0,n|0,v|0,w|0,r|0,u|0,hE(s)|0),yi(a|0)}while((e|0)!=0)}}while(0);if(e=t[(vE()|0)>>2]|0,e|0)do ye=e+4|0,L=mE(ye)|0,s=My(L)|0,a=Ay(L)|0,v=(Oy(L)|0)+1|0,w=d_(L)|0,T=d8(ye)|0,L=sr(L)|0,M=a_(ye)|0,b=AE(ye)|0,ao(0,s|0,a|0,v|0,w|0,T|0,L|0,M|0,b|0,OE(ye)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(Fv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0&&(X=t[(Pv(n)|0)>>2]|0,Be=t[(Kw(n)|0)>>2]|0,Be|0)){r=Be;do{n=r+4|0,u=mE(n)|0;n:do if(u|0)switch(sr(u)|0){case 0:break t;case 4:case 3:case 2:{w=My(u)|0,T=Ay(u)|0,L=(Oy(u)|0)+1|0,M=d_(u)|0,b=sr(u)|0,ye=a_(n)|0,ao(X|0,w|0,T|0,L|0,M|0,0,b|0,ye|0,AE(n)|0,OE(n)|0);break n}case 1:{v=My(u)|0,w=Ay(u)|0,T=(Oy(u)|0)+1|0,L=d_(u)|0,M=d8(n)|0,b=sr(u)|0,ye=a_(n)|0,ao(X|0,v|0,w|0,T|0,L|0,M|0,b|0,ye|0,AE(n)|0,OE(n)|0);break n}case 5:{L=My(u)|0,M=Ay(u)|0,b=(Oy(u)|0)+1|0,ye=d_(u)|0,ao(X|0,L|0,M|0,b|0,ye|0,lL(u)|0,sr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}$n()}while(0);Is(),y=Te}function eL(){return 11703}function tL(e){e=e|0,h[e+40>>0]=0}function nL(e){return e=e|0,(h[e+40>>0]|0)!=0|0}function rL(e,n){return e=e|0,n=n|0,n=sL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],Et(e),t[n>>2]|0}function iL(e){e=e|0,h[e+40>>0]=1}function c8(e){return e=e|0,t[e+20>>2]|0}function uL(e){return e=e|0,t[e+8>>2]|0}function oL(e){return e=e|0,t[e+32>>2]|0}function d_(e){return e=e|0,t[e+4>>2]|0}function d8(e){return e=e|0,t[e+4>>2]|0}function AE(e){return e=e|0,t[e+8>>2]|0}function OE(e){return e=e|0,t[e+16>>2]|0}function lL(e){return e=e|0,t[e+20>>2]|0}function sL(e){return e=e|0,t[e>>2]|0}function p_(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0,ct=0,ke=0,Ie=0,Zt=0;Zt=y,y=y+16|0,X=Zt;do if(e>>>0<245){if(L=e>>>0<11?16:e+11&-8,e=L>>>3,b=t[2783]|0,r=b>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,s=u+8|0,a=t[s>>2]|0,(e|0)==(a|0)?t[2783]=b&~(1<>2]=e,t[r>>2]=a),Ie=n<<3,t[u+4>>2]=Ie|3,Ie=u+Ie+4|0,t[Ie>>2]=t[Ie>>2]|1,Ie=s,y=Zt,Ie|0;if(M=t[2785]|0,L>>>0>M>>>0){if(r|0)return n=2<>>12&16,n=n>>>v,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|v|s|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,v=s+8|0,r=t[v>>2]|0,(n|0)==(r|0)?(e=b&~(1<>2]=n,t[e>>2]=r,e=b),a=(u<<3)-L|0,t[s+4>>2]=L|3,u=s+L|0,t[u+4>>2]=a|1,t[u+a>>2]=a,M|0&&(s=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r),t[2785]=a,t[2788]=u,Ie=v,y=Zt,Ie|0;if(w=t[2784]|0,w){if(r=(w&0-w)+-1|0,v=r>>>12&16,r=r>>>v,a=r>>>5&8,r=r>>>a,T=r>>>2&4,r=r>>>T,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((a|v|T|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-L|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)T=e,a=r;else{do v=(t[u+4>>2]&-8)-L|0,T=v>>>0>>0,r=T?v:r,e=T?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);T=e,a=r}if(v=T+L|0,T>>>0>>0){s=t[T+24>>2]|0,n=t[T+12>>2]|0;do if((n|0)==(T|0)){if(e=T+20|0,n=t[e>>2]|0,!n&&(e=T+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[T+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[T+28>>2]|0,e=11436+(n<<2)|0,(T|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=w&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[T+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[T+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return a>>>0<16?(Ie=a+L|0,t[T+4>>2]=Ie|3,Ie=T+Ie+4|0,t[Ie>>2]=t[Ie>>2]|1):(t[T+4>>2]=L|3,t[v+4>>2]=a|1,t[v+a>>2]=a,M|0&&(u=t[2788]|0,n=M>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=b|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=a,t[2788]=v),Ie=T+8|0,y=Zt,Ie|0}else b=L}else b=L}else b=L}else if(e>>>0<=4294967231)if(e=e+11|0,L=e&-8,T=t[2784]|0,T){u=0-L|0,e=e>>>8,e?L>>>0>16777215?w=31:(b=(e+1048320|0)>>>16&8,ke=e<>>16&4,ke=ke<>>16&2,w=14-(M|b|w)+(ke<>>15)|0,w=L>>>(w+7|0)&1|w<<1):w=0,r=t[11436+(w<<2)>>2]|0;e:do if(!r)r=0,e=0,ke=57;else for(e=0,v=L<<((w|0)==31?0:25-(w>>>1)|0),a=0;;){if(s=(t[r+4>>2]&-8)-L|0,s>>>0>>0)if(s)e=r,u=s;else{e=r,u=0,s=r,ke=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(v>>>31<<2)>>2]|0,a=(s|0)==0|(s|0)==(r|0)?a:s,s=(r|0)==0,s){r=a,ke=57;break}else v=v<<((s^1)&1)}while(0);if((ke|0)==57){if((r|0)==0&(e|0)==0){if(e=2<>>12&16,b=b>>>v,a=b>>>5&8,b=b>>>a,w=b>>>2&4,b=b>>>w,M=b>>>1&2,b=b>>>M,r=b>>>1&1,e=0,r=t[11436+((a|v|w|M|r)+(b>>>r)<<2)>>2]|0}r?(s=r,ke=61):(w=e,v=u)}if((ke|0)==61)for(;;)if(ke=0,r=(t[s+4>>2]&-8)-L|0,b=r>>>0>>0,r=b?r:u,e=b?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)u=r,ke=61;else{w=e,v=r;break}if((w|0)!=0&&v>>>0<((t[2785]|0)-L|0)>>>0){if(a=w+L|0,w>>>0>=a>>>0)return Ie=0,y=Zt,Ie|0;s=t[w+24>>2]|0,n=t[w+12>>2]|0;do if((n|0)==(w|0)){if(e=w+20|0,n=t[e>>2]|0,!n&&(e=w+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Ie=t[w+8>>2]|0,t[Ie+12>>2]=n,t[n+8>>2]=Ie;while(0);do if(s){if(e=t[w+28>>2]|0,r=11436+(e<<2)|0,(w|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=T&~(1<>2]|0)!=(w|0)&1)<<2)>>2]=n,!n){u=T;break}t[n+24>>2]=s,e=t[w+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[w+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=T}else u=T;while(0);do if(v>>>0>=16){if(t[w+4>>2]=L|3,t[a+4>>2]=v|1,t[a+v>>2]=v,n=v>>>3,v>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=a,t[n+12>>2]=a,t[a+8>>2]=n,t[a+12>>2]=r;break}if(n=v>>>8,n?v>>>0>16777215?n=31:(ke=(n+1048320|0)>>>16&8,Ie=n<>>16&4,Ie=Ie<>>16&2,n=14-(ct|ke|n)+(Ie<>>15)|0,n=v>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[a+28>>2]=n,e=a+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=a,t[a+24>>2]=r,t[a+12>>2]=a,t[a+8>>2]=a;break}for(e=v<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(v|0)){ke=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{ke=96;break}}if((ke|0)==96){t[u>>2]=a,t[a+24>>2]=r,t[a+12>>2]=a,t[a+8>>2]=a;break}else if((ke|0)==97){ke=r+8|0,Ie=t[ke>>2]|0,t[Ie+12>>2]=a,t[ke>>2]=a,t[a+8>>2]=Ie,t[a+12>>2]=r,t[a+24>>2]=0;break}}else Ie=v+L|0,t[w+4>>2]=Ie|3,Ie=w+Ie+4|0,t[Ie>>2]=t[Ie>>2]|1;while(0);return Ie=w+8|0,y=Zt,Ie|0}else b=L}else b=L;else b=-1;while(0);if(r=t[2785]|0,r>>>0>=b>>>0)return n=r-b|0,e=t[2788]|0,n>>>0>15?(Ie=e+b|0,t[2788]=Ie,t[2785]=n,t[Ie+4>>2]=n|1,t[Ie+n>>2]=n,t[e+4>>2]=b|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Ie=e+r+4|0,t[Ie>>2]=t[Ie>>2]|1),Ie=e+8|0,y=Zt,Ie|0;if(v=t[2786]|0,v>>>0>b>>>0)return ct=v-b|0,t[2786]=ct,Ie=t[2789]|0,ke=Ie+b|0,t[2789]=ke,t[ke+4>>2]=ct|1,t[Ie+4>>2]=b|3,Ie=Ie+8|0,y=Zt,Ie|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=X&-16^1431655768,t[X>>2]=e,t[2901]=e,e=4096),w=b+48|0,T=b+47|0,a=e+T|0,s=0-e|0,L=a&s,L>>>0<=b>>>0||(e=t[2893]|0,e|0&&(M=t[2891]|0,X=M+L|0,X>>>0<=M>>>0|X>>>0>e>>>0)))return Ie=0,y=Zt,Ie|0;e:do if(t[2894]&4)n=0,ke=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0&&(ye=u+4|0,(e+(t[ye>>2]|0)|0)>>>0>r>>>0));)if(e=t[u+8>>2]|0,e)u=e;else{ke=118;break t}if(n=a-v&s,n>>>0<2147483647)if(e=e2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ye>>2]|0)|0)){if((e|0)!=-1){v=n,a=e,ke=135;break e}}else u=e,ke=126;else n=0}else ke=118;while(0);do if((ke|0)==118)if(r=e2(0)|0,(r|0)!=-1&&(n=r,Be=t[2902]|0,Te=Be+-1|0,n=((Te&n|0)==0?0:(Te+n&0-Be)-n|0)+L|0,Be=t[2891]|0,Te=n+Be|0,n>>>0>b>>>0&n>>>0<2147483647)){if(ye=t[2893]|0,ye|0&&Te>>>0<=Be>>>0|Te>>>0>ye>>>0){n=0;break}if(e=e2(n|0)|0,(e|0)==(r|0)){v=n,a=r,ke=135;break e}else u=e,ke=126}else n=0;while(0);do if((ke|0)==126){if(r=0-n|0,!(w>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=-1)))if((u|0)==-1){n=0;break}else{v=n,a=u,ke=135;break e}if(e=t[2903]|0,e=T-n+e&0-e,e>>>0>=2147483647){v=n,a=u,ke=135;break e}if((e2(e|0)|0)==-1){e2(r|0)|0,n=0;break}else{v=e+n|0,a=u,ke=135;break e}}while(0);t[2894]=t[2894]|4,ke=133}while(0);if((ke|0)==133&&L>>>0<2147483647&&(ct=e2(L|0)|0,ye=e2(0)|0,Ze=ye-ct|0,Ye=Ze>>>0>(b+40|0)>>>0,!((ct|0)==-1|Ye^1|ct>>>0>>0&((ct|0)!=-1&(ye|0)!=-1)^1))&&(v=Ye?Ze:n,a=ct,ke=135),(ke|0)==135){n=(t[2891]|0)+v|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),T=t[2789]|0;do if(T){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(a|0)==(e+u|0)){ke=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if((ke|0)==145&&(t[n+12>>2]&8|0)==0&&T>>>0>>0&T>>>0>=e>>>0){t[r>>2]=u+v,Ie=T+8|0,Ie=(Ie&7|0)==0?0:0-Ie&7,ke=T+Ie|0,Ie=(t[2786]|0)+(v-Ie)|0,t[2789]=ke,t[2786]=Ie,t[ke+4>>2]=Ie|1,t[ke+Ie+4>>2]=40,t[2790]=t[2905];break}for(a>>>0<(t[2787]|0)>>>0&&(t[2787]=a),r=a+v|0,n=11580;;){if((t[n>>2]|0)==(r|0)){ke=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((ke|0)==153&&(t[n+12>>2]&8|0)==0){t[n>>2]=a,M=n+4|0,t[M>>2]=(t[M>>2]|0)+v,M=a+8|0,M=a+((M&7|0)==0?0:0-M&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,L=M+b|0,w=n-M-b|0,t[M+4>>2]=b|3;do if((n|0)!=(T|0)){if((n|0)==(t[2788]|0)){Ie=(t[2785]|0)+w|0,t[2785]=Ie,t[2788]=L,t[L+4>>2]=Ie|1,t[L+Ie>>2]=Ie;break}if(e=t[n+4>>2]|0,(e&3|0)==1){v=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{a=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,s=t[u>>2]|0,s|0){e=s,r=u;continue}if(u=e+16|0,s=t[u>>2]|0,s)e=s,r=u;else break}t[r>>2]=0}else Ie=t[n+8>>2]|0,t[Ie+12>>2]=e,t[e+8>>2]=Ie;while(0);if(!a)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[a+16+(((t[a+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=a,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+v|0,s=v+w|0}else s=w;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[L+4>>2]=s|1,t[L+s>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=L,t[n+12>>2]=L,t[L+8>>2]=n,t[L+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}ke=(n+1048320|0)>>>16&8,Ie=n<>>16&4,Ie=Ie<>>16&2,n=14-(ct|ke|n)+(Ie<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[L+28>>2]=n,e=L+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=L,t[L+24>>2]=u,t[L+12>>2]=L,t[L+8>>2]=L;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){ke=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{ke=193;break}}if((ke|0)==193){t[u>>2]=L,t[L+24>>2]=r,t[L+12>>2]=L,t[L+8>>2]=L;break}else if((ke|0)==194){ke=r+8|0,Ie=t[ke>>2]|0,t[Ie+12>>2]=L,t[ke>>2]=L,t[L+8>>2]=Ie,t[L+12>>2]=r,t[L+24>>2]=0;break}}else Ie=(t[2786]|0)+w|0,t[2786]=Ie,t[2789]=L,t[L+4>>2]=Ie|1;while(0);return Ie=M+8|0,y=Zt,Ie|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=T>>>0&&(Ie=e+(t[n+4>>2]|0)|0,Ie>>>0>T>>>0));)n=t[n+8>>2]|0;s=Ie+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=T+16|0,e=e>>>0>>0?T:e,n=e+8|0,r=a+8|0,r=(r&7|0)==0?0:0-r&7,ke=a+r|0,r=v+-40-r|0,t[2789]=ke,t[2786]=r,t[ke+4>>2]=r|1,t[ke+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=a,t[2896]=v,t[2898]=0,t[2897]=n,n=e+24|0;do ke=n,n=n+4|0,t[n>>2]=7;while((ke+8|0)>>>0>>0);if((e|0)!=(T|0)){if(a=e-T|0,t[r>>2]=t[r>>2]&-2,t[T+4>>2]=a|1,t[e>>2]=a,n=a>>>3,a>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=T,t[n+12>>2]=T,t[T+8>>2]=n,t[T+12>>2]=r;break}if(n=a>>>8,n?a>>>0>16777215?r=31:(ke=(n+1048320|0)>>>16&8,Ie=n<>>16&4,Ie=Ie<>>16&2,r=14-(ct|ke|r)+(Ie<>>15)|0,r=a>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[T+28>>2]=r,t[T+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=T,t[T+24>>2]=u,t[T+12>>2]=T,t[T+8>>2]=T;break}for(e=a<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(a|0)){ke=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{ke=215;break}}if((ke|0)==215){t[u>>2]=T,t[T+24>>2]=r,t[T+12>>2]=T,t[T+8>>2]=T;break}else if((ke|0)==216){ke=r+8|0,Ie=t[ke>>2]|0,t[Ie+12>>2]=T,t[ke>>2]=T,t[T+8>>2]=Ie,t[T+12>>2]=r,t[T+24>>2]=0;break}}}else{Ie=t[2787]|0,(Ie|0)==0|a>>>0>>0&&(t[2787]=a),t[2895]=a,t[2896]=v,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Ie=11172+(n<<1<<2)|0,t[Ie+12>>2]=Ie,t[Ie+8>>2]=Ie,n=n+1|0;while((n|0)!=32);Ie=a+8|0,Ie=(Ie&7|0)==0?0:0-Ie&7,ke=a+Ie|0,Ie=v+-40-Ie|0,t[2789]=ke,t[2786]=Ie,t[ke+4>>2]=Ie|1,t[ke+Ie+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>b>>>0)return ct=n-b|0,t[2786]=ct,Ie=t[2789]|0,ke=Ie+b|0,t[2789]=ke,t[ke+4>>2]=ct|1,t[Ie+4>>2]=b|3,Ie=Ie+8|0,y=Zt,Ie|0}return t[(bv()|0)>>2]=12,Ie=0,y=Zt,Ie|0}function h_(e){e=e|0;var n=0,r=0,u=0,s=0,a=0,v=0,w=0,T=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,T=r+n|0;do if(e&1)w=r,v=r;else{if(u=t[r>>2]|0,!(e&3)||(v=r+(0-u)|0,a=u+n|0,v>>>0>>0))return;if((v|0)==(t[2788]|0)){if(e=T+4|0,n=t[e>>2]|0,(n&3|0)!=3){w=v,n=a;break}t[2785]=a,t[e>>2]=n&-2,t[v+4>>2]=a|1,t[v+a>>2]=a;return}if(r=u>>>3,u>>>0<256)if(e=t[v+8>>2]|0,n=t[v+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,w=v,n=a;break}s=t[v+24>>2]|0,e=t[v+12>>2]|0;do if((e|0)==(v|0)){if(r=v+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else w=t[v+8>>2]|0,t[w+12>>2]=e,t[e+8>>2]=w;while(0);if(s){if(n=t[v+28>>2]|0,r=11436+(n<<2)|0,(v|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(v|0)&1)<<2)>>2]=e,!e){w=v,n=a;break}t[e+24>>2]=s,n=v+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,w=v,n=a):(w=v,n=a)}else w=v,n=a}while(0);if(!(v>>>0>=T>>>0)&&(e=T+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[w+4>>2]=n|1,t[v+n>>2]=n,s=n;else{if(e=t[2788]|0,(T|0)==(t[2789]|0)){if(T=(t[2786]|0)+n|0,t[2786]=T,t[2789]=w,t[w+4>>2]=T|1,(w|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((T|0)==(e|0)){T=(t[2785]|0)+n|0,t[2785]=T,t[2788]=v,t[w+4>>2]=T|1,t[v+T>>2]=T;return}s=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[T+8>>2]|0,e=t[T+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{a=t[T+24>>2]|0,e=t[T+12>>2]|0;do if((e|0)==(T|0)){if(r=T+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[T+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(a|0){if(e=t[T+28>>2]|0,n=11436+(e<<2)|0,(T|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(T|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=a,e=T+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[w+4>>2]=s|1,t[v+s>>2]=s,(w|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=w,t[e+12>>2]=w,t[w+8>>2]=e,t[w+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(v=(e+1048320|0)>>>16&8,T=e<>>16&4,T=T<>>16&2,e=14-(a|v|e)+(T<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[w+28>>2]=e,t[w+20>>2]=0,t[w+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=w,t[w+24>>2]=r,t[w+12>>2]=w,t[w+8>>2]=w;break}else if((e|0)==73){v=r+8|0,T=t[v>>2]|0,t[T+12>>2]=w,t[v>>2]=w,t[w+8>>2]=T,t[w+12>>2]=r,t[w+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=w,t[w+24>>2]=u,t[w+12>>2]=w,t[w+8>>2]=w;while(0);if(T=(t[2791]|0)+-1|0,t[2791]=T,!T)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function aL(){return 11628}function fL(e){e=e|0;var n=0,r=0;return n=y,y=y+16|0,r=n,t[r>>2]=pL(t[e+60>>2]|0)|0,e=v_(Au(6,r|0)|0)|0,y=n,e|0}function p8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0;b=y,y=y+48|0,L=b+16|0,a=b,s=b+32|0,w=e+28|0,u=t[w>>2]|0,t[s>>2]=u,T=e+20|0,u=(t[T>>2]|0)-u|0,t[s+4>>2]=u,t[s+8>>2]=n,t[s+12>>2]=r,u=u+r|0,v=e+60|0,t[a>>2]=t[v>>2],t[a+4>>2]=s,t[a+8>>2]=2,a=v_(h0(146,a|0)|0)|0;e:do if((u|0)!=(a|0)){for(n=2;!((a|0)<0);)if(u=u-a|0,Be=t[s+4>>2]|0,X=a>>>0>Be>>>0,s=X?s+8|0:s,n=(X<<31>>31)+n|0,Be=a-(X?Be:0)|0,t[s>>2]=(t[s>>2]|0)+Be,X=s+4|0,t[X>>2]=(t[X>>2]|0)-Be,t[L>>2]=t[v>>2],t[L+4>>2]=s,t[L+8>>2]=n,a=v_(h0(146,L|0)|0)|0,(u|0)==(a|0)){M=3;break e}t[e+16>>2]=0,t[w>>2]=0,t[T>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else M=3;while(0);return(M|0)==3&&(Be=t[e+44>>2]|0,t[e+16>>2]=Be+(t[e+48>>2]|0),t[w>>2]=Be,t[T>>2]=Be),y=b,r|0}function cL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;return s=y,y=y+32|0,a=s,u=s+20|0,t[a>>2]=t[e+60>>2],t[a+4>>2]=0,t[a+8>>2]=n,t[a+12>>2]=u,t[a+16>>2]=r,(v_(Ni(140,a|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,y=s,e|0}function v_(e){return e=e|0,e>>>0>4294963200&&(t[(bv()|0)>>2]=0-e,e=-1),e|0}function bv(){return(dL()|0)+64|0}function dL(){return ME()|0}function ME(){return 2084}function pL(e){return e=e|0,e|0}function hL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;return s=y,y=y+32|0,u=s,t[e+36>>2]=1,(t[e>>2]&64|0)==0&&(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=s+16,I0(54,u|0)|0)&&(h[e+75>>0]=-1),u=p8(e,n,r)|0,y=s,u|0}function h8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=h[e>>0]|0,u=h[n>>0]|0,r<<24>>24==0||r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=h[e>>0]|0,u=h[n>>0]|0;while(!(r<<24>>24==0||r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function vL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0;e:do if(!r)e=0;else{for(;u=h[e>>0]|0,s=h[n>>0]|0,u<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(s&255)|0}while(0);return e|0}function v8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0;ye=y,y=y+224|0,M=ye+120|0,b=ye+80|0,Be=ye,Te=ye+136|0,u=b,s=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(s|0));return t[M>>2]=t[r>>2],(kE(0,n,M,Be,b)|0)<0?r=-1:((t[e+76>>2]|0)>-1?X=mL(e)|0:X=0,r=t[e>>2]|0,L=r&32,(h[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=kE(e,n,M,Be,b)|0:(s=e+44|0,a=t[s>>2]|0,t[s>>2]=Te,v=e+28|0,t[v>>2]=Te,w=e+20|0,t[w>>2]=Te,t[u>>2]=80,T=e+16|0,t[T>>2]=Te+80,r=kE(e,n,M,Be,b)|0,a&&(__[t[e+36>>2]&7](e,0,0)|0,r=(t[w>>2]|0)==0?-1:r,t[s>>2]=a,t[u>>2]=0,t[T>>2]=0,t[v>>2]=0,t[w>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|L,X|0&&yL(e),r=(u&32|0)==0?r:-1),y=ye,r|0}function kE(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0,ct=0,ke=0,Ie=0,Zt=0,Br=0,Pn=0,gn=0,_r=0,Pr=0,kn=0;kn=y,y=y+64|0,Pn=kn+16|0,gn=kn,Zt=kn+24|0,_r=kn+8|0,Pr=kn+20|0,t[Pn>>2]=n,ct=(e|0)!=0,ke=Zt+40|0,Ie=ke,Zt=Zt+39|0,Br=_r+4|0,v=0,a=0,M=0;e:for(;;){do if((a|0)>-1)if((v|0)>(2147483647-a|0)){t[(bv()|0)>>2]=75,a=-1;break}else{a=v+a|0;break}while(0);if(v=h[n>>0]|0,v<<24>>24)w=n;else{Ye=87;break}t:for(;;){switch(v<<24>>24){case 37:{v=w,Ye=9;break t}case 0:{v=w;break t}default:}Ze=w+1|0,t[Pn>>2]=Ze,v=h[Ze>>0]|0,w=Ze}t:do if((Ye|0)==9)for(;;){if(Ye=0,(h[w+1>>0]|0)!=37)break t;if(v=v+1|0,w=w+2|0,t[Pn>>2]=w,(h[w>>0]|0)==37)Ye=9;else break}while(0);if(v=v-n|0,ct&&Yo(e,n,v),v|0){n=w;continue}T=w+1|0,v=(h[T>>0]|0)+-48|0,v>>>0<10?(Ze=(h[w+2>>0]|0)==36,ye=Ze?v:-1,M=Ze?1:M,T=Ze?w+3|0:T):ye=-1,t[Pn>>2]=T,v=h[T>>0]|0,w=(v<<24>>24)+-32|0;t:do if(w>>>0<32)for(L=0,b=v;;){if(v=1<>2]=T,v=h[T>>0]|0,w=(v<<24>>24)+-32|0,w>>>0>=32)break;b=v}else L=0;while(0);if(v<<24>>24==42){if(w=T+1|0,v=(h[w>>0]|0)+-48|0,v>>>0<10&&(h[T+2>>0]|0)==36)t[s+(v<<2)>>2]=10,v=t[u+((h[w>>0]|0)+-48<<3)>>2]|0,M=1,T=T+3|0;else{if(M|0){a=-1;break}ct?(M=(t[r>>2]|0)+(4-1)&~(4-1),v=t[M>>2]|0,t[r>>2]=M+4,M=0,T=w):(v=0,M=0,T=w)}t[Pn>>2]=T,Ze=(v|0)<0,v=Ze?0-v|0:v,L=Ze?L|8192:L}else{if(v=m8(Pn)|0,(v|0)<0){a=-1;break}T=t[Pn>>2]|0}do if((h[T>>0]|0)==46){if((h[T+1>>0]|0)!=42){t[Pn>>2]=T+1,w=m8(Pn)|0,T=t[Pn>>2]|0;break}if(b=T+2|0,w=(h[b>>0]|0)+-48|0,w>>>0<10&&(h[T+3>>0]|0)==36){t[s+(w<<2)>>2]=10,w=t[u+((h[b>>0]|0)+-48<<3)>>2]|0,T=T+4|0,t[Pn>>2]=T;break}if(M|0){a=-1;break e}ct?(Ze=(t[r>>2]|0)+(4-1)&~(4-1),w=t[Ze>>2]|0,t[r>>2]=Ze+4):w=0,t[Pn>>2]=b,T=b}else w=-1;while(0);for(Te=0;;){if(((h[T>>0]|0)+-65|0)>>>0>57){a=-1;break e}if(Ze=T+1|0,t[Pn>>2]=Ze,b=h[(h[T>>0]|0)+-65+(5178+(Te*58|0))>>0]|0,X=b&255,(X+-1|0)>>>0<8)Te=X,T=Ze;else break}if(!(b<<24>>24)){a=-1;break}Be=(ye|0)>-1;do if(b<<24>>24==19)if(Be){a=-1;break e}else Ye=49;else{if(Be){t[s+(ye<<2)>>2]=X,Be=u+(ye<<3)|0,ye=t[Be+4>>2]|0,Ye=gn,t[Ye>>2]=t[Be>>2],t[Ye+4>>2]=ye,Ye=49;break}if(!ct){a=0;break e}y8(gn,X,r)}while(0);if((Ye|0)==49&&(Ye=0,!ct)){v=0,n=Ze;continue}T=h[T>>0]|0,T=(Te|0)!=0&(T&15|0)==3?T&-33:T,Be=L&-65537,ye=(L&8192|0)==0?L:Be;t:do switch(T|0){case 110:switch((Te&255)<<24>>24){case 0:{t[t[gn>>2]>>2]=a,v=0,n=Ze;continue e}case 1:{t[t[gn>>2]>>2]=a,v=0,n=Ze;continue e}case 2:{v=t[gn>>2]|0,t[v>>2]=a,t[v+4>>2]=((a|0)<0)<<31>>31,v=0,n=Ze;continue e}case 3:{E[t[gn>>2]>>1]=a,v=0,n=Ze;continue e}case 4:{h[t[gn>>2]>>0]=a,v=0,n=Ze;continue e}case 6:{t[t[gn>>2]>>2]=a,v=0,n=Ze;continue e}case 7:{v=t[gn>>2]|0,t[v>>2]=a,t[v+4>>2]=((a|0)<0)<<31>>31,v=0,n=Ze;continue e}default:{v=0,n=Ze;continue e}}case 112:{T=120,w=w>>>0>8?w:8,n=ye|8,Ye=61;break}case 88:case 120:{n=ye,Ye=61;break}case 111:{T=gn,n=t[T>>2]|0,T=t[T+4>>2]|0,X=_L(n,T,ke)|0,Be=Ie-X|0,L=0,b=5642,w=(ye&8|0)==0|(w|0)>(Be|0)?w:Be+1|0,Be=ye,Ye=67;break}case 105:case 100:if(T=gn,n=t[T>>2]|0,T=t[T+4>>2]|0,(T|0)<0){n=m_(0,0,n|0,T|0)|0,T=ot,L=gn,t[L>>2]=n,t[L+4>>2]=T,L=1,b=5642,Ye=66;break t}else{L=(ye&2049|0)!=0&1,b=(ye&2048|0)==0?(ye&1|0)==0?5642:5644:5643,Ye=66;break t}case 117:{T=gn,L=0,b=5642,n=t[T>>2]|0,T=t[T+4>>2]|0,Ye=66;break}case 99:{h[Zt>>0]=t[gn>>2],n=Zt,L=0,b=5642,X=ke,T=1,w=Be;break}case 109:{T=EL(t[(bv()|0)>>2]|0)|0,Ye=71;break}case 115:{T=t[gn>>2]|0,T=T|0?T:5652,Ye=71;break}case 67:{t[_r>>2]=t[gn>>2],t[Br>>2]=0,t[gn>>2]=_r,X=-1,T=_r,Ye=75;break}case 83:{n=t[gn>>2]|0,w?(X=w,T=n,Ye=75):(_l(e,32,v,0,ye),n=0,Ye=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{v=wL(e,+j[gn>>3],v,w,ye,T)|0,n=Ze;continue e}default:L=0,b=5642,X=ke,T=w,w=ye}while(0);t:do if((Ye|0)==61)ye=gn,Te=t[ye>>2]|0,ye=t[ye+4>>2]|0,X=gL(Te,ye,ke,T&32)|0,b=(n&8|0)==0|(Te|0)==0&(ye|0)==0,L=b?0:2,b=b?5642:5642+(T>>4)|0,Be=n,n=Te,T=ye,Ye=67;else if((Ye|0)==66)X=Bv(n,T,ke)|0,Be=ye,Ye=67;else if((Ye|0)==71)Ye=0,ye=DL(T,0,w)|0,Te=(ye|0)==0,n=T,L=0,b=5642,X=Te?T+w|0:ye,T=Te?w:ye-T|0,w=Be;else if((Ye|0)==75){for(Ye=0,b=T,n=0,w=0;L=t[b>>2]|0,!(!L||(w=g8(Pr,L)|0,(w|0)<0|w>>>0>(X-n|0)>>>0));)if(n=w+n|0,X>>>0>n>>>0)b=b+4|0;else break;if((w|0)<0){a=-1;break e}if(_l(e,32,v,n,ye),!n)n=0,Ye=84;else for(L=0;;){if(w=t[T>>2]|0,!w){Ye=84;break t}if(w=g8(Pr,w)|0,L=w+L|0,(L|0)>(n|0)){Ye=84;break t}if(Yo(e,Pr,w),L>>>0>=n>>>0){Ye=84;break}else T=T+4|0}}while(0);if((Ye|0)==67)Ye=0,T=(n|0)!=0|(T|0)!=0,ye=(w|0)!=0|T,T=((T^1)&1)+(Ie-X)|0,n=ye?X:ke,X=ke,T=ye?(w|0)>(T|0)?w:T:w,w=(w|0)>-1?Be&-65537:Be;else if((Ye|0)==84){Ye=0,_l(e,32,v,n,ye^8192),v=(v|0)>(n|0)?v:n,n=Ze;continue}Te=X-n|0,Be=(T|0)<(Te|0)?Te:T,ye=Be+L|0,v=(v|0)<(ye|0)?ye:v,_l(e,32,v,ye,w),Yo(e,b,L),_l(e,48,v,ye,w^65536),_l(e,48,Be,Te,0),Yo(e,n,Te),_l(e,32,v,ye,w^8192),n=Ze}e:do if((Ye|0)==87&&!e)if(!M)a=0;else{for(a=1;n=t[s+(a<<2)>>2]|0,!!n;)if(y8(u+(a<<3)|0,n,r),a=a+1|0,(a|0)>=10){a=1;break e}for(;;){if(t[s+(a<<2)>>2]|0){a=-1;break e}if(a=a+1|0,(a|0)>=10){a=1;break}}}while(0);return y=kn,a|0}function mL(e){return e=e|0,0}function yL(e){e=e|0}function Yo(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||kL(n,r,e)|0}function m8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(h[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(h[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function y8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=s,t[u+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),u=t[s>>2]|0,t[r>>2]=s+4,u=(u&65535)<<16>>16,s=e,t[s>>2]=u,t[s+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),u=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=u&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),u=t[s>>2]|0,t[r>>2]=s+4,u=(u&255)<<24>>24,s=e,t[s>>2]=u,t[s+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),u=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=u&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),a=+j[s>>3],t[r>>2]=s+8,j[e>>3]=a;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),a=+j[s>>3],t[r>>2]=s+8,j[e>>3]=a;break e}default:break e}while(0);while(0)}function gL(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,h[r>>0]=N[5694+(e&15)>>0]|0|u,e=y_(e|0,n|0,4)|0,n=ot;while(!((e|0)==0&(n|0)==0));return r|0}function _L(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,h[r>>0]=e&7|48,e=y_(e|0,n|0,3)|0,n=ot;while(!((e|0)==0&(n|0)==0));return r|0}function Bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=PE(e|0,n|0,10,0)|0,r=r+-1|0,h[r>>0]=u&255|48,u=e,e=FE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ot;n=e}else n=e;if(n)for(;r=r+-1|0,h[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function EL(e){return e=e|0,RL(e,t[(xL()|0)+188>>2]|0)|0}function DL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;a=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(s=n&255;;){if((h[e>>0]|0)==s<<24>>24){v=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){v=5;break}}else v=5;while(0);(v|0)==5&&(u?v=6:r=0);e:do if((v|0)==6&&(s=n&255,(h[e>>0]|0)!=s<<24>>24)){u=lr(a,16843009)|0;t:do if(r>>>0>3){for(;a=t[e>>2]^u,!((a&-2139062144^-2139062144)&a+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){v=11;break t}}else v=11;while(0);if((v|0)==11&&!r){r=0;break}for(;;){if((h[e>>0]|0)==s<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function _l(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0;if(v=y,y=y+256|0,a=v,(r|0)>(u|0)&(s&73728|0)==0){if(s=r-u|0,jv(a|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-u|0;do Yo(e,a,256),s=s+-256|0;while(s>>>0>255);s=n&255}Yo(e,a,s)}y=v}function g8(e,n){return e=e|0,n=n|0,e?e=TL(e,n,0)|0:e=0,e|0}function wL(e,n,r,u,s,a){e=e|0,n=+n,r=r|0,u=u|0,s=s|0,a=a|0;var v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0,ye=0,Ze=0,Ye=0,ct=0,ke=0,Ie=0,Zt=0,Br=0,Pn=0,gn=0,_r=0,Pr=0,kn=0,uu=0;uu=y,y=y+560|0,T=uu+8|0,Ze=uu,kn=uu+524|0,Pr=kn,L=uu+512|0,t[Ze>>2]=0,_r=L+12|0,_8(n)|0,(ot|0)<0?(n=-n,Pn=1,Br=5659):(Pn=(s&2049|0)!=0&1,Br=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),_8(n)|0,gn=ot&2146435072;do if(gn>>>0<2146435072|(gn|0)==2146435072&0<0){if(Be=+SL(n,Ze)*2,v=Be!=0,v&&(t[Ze>>2]=(t[Ze>>2]|0)+-1),ct=a|32,(ct|0)==97){Te=a&32,X=(Te|0)==0?Br:Br+9|0,b=Pn|2,v=12-u|0;do if(u>>>0>11|(v|0)==0)n=Be;else{n=8;do v=v+-1|0,n=n*16;while((v|0)!=0);if((h[X>>0]|0)==45){n=-(n+(-Be-n));break}else{n=Be+n-n;break}}while(0);w=t[Ze>>2]|0,v=(w|0)<0?0-w|0:w,v=Bv(v,((v|0)<0)<<31>>31,_r)|0,(v|0)==(_r|0)&&(v=L+11|0,h[v>>0]=48),h[v+-1>>0]=(w>>31&2)+43,M=v+-2|0,h[M>>0]=a+15,L=(u|0)<1,T=(s&8|0)==0,v=kn;do gn=~~n,w=v+1|0,h[v>>0]=N[5694+gn>>0]|Te,n=(n-+(gn|0))*16,(w-Pr|0)==1&&!(T&(L&n==0))?(h[w>>0]=46,v=v+2|0):v=w;while(n!=0);gn=v-Pr|0,Pr=_r-M|0,_r=(u|0)!=0&(gn+-2|0)<(u|0)?u+2|0:gn,v=Pr+b+_r|0,_l(e,32,r,v,s),Yo(e,X,b),_l(e,48,r,v,s^65536),Yo(e,kn,gn),_l(e,48,_r-gn|0,0,0),Yo(e,M,Pr),_l(e,32,r,v,s^8192);break}w=(u|0)<0?6:u,v?(v=(t[Ze>>2]|0)+-28|0,t[Ze>>2]=v,n=Be*268435456):(n=Be,v=t[Ze>>2]|0),gn=(v|0)<0?T:T+288|0,T=gn;do Ie=~~n>>>0,t[T>>2]=Ie,T=T+4|0,n=(n-+(Ie>>>0))*1e9;while(n!=0);if((v|0)>0)for(L=gn,b=T;;){if(M=(v|0)<29?v:29,v=b+-4|0,v>>>0>=L>>>0){T=0;do ke=C8(t[v>>2]|0,0,M|0)|0,ke=LE(ke|0,ot|0,T|0,0)|0,Ie=ot,Ye=PE(ke|0,Ie|0,1e9,0)|0,t[v>>2]=Ye,T=FE(ke|0,Ie|0,1e9,0)|0,v=v+-4|0;while(v>>>0>=L>>>0);T&&(L=L+-4|0,t[L>>2]=T)}for(T=b;!(T>>>0<=L>>>0);)if(v=T+-4|0,!(t[v>>2]|0))T=v;else break;if(v=(t[Ze>>2]|0)-M|0,t[Ze>>2]=v,(v|0)>0)b=T;else break}else L=gn;if((v|0)<0){u=((w+25|0)/9|0)+1|0,ye=(ct|0)==102;do{if(Te=0-v|0,Te=(Te|0)<9?Te:9,L>>>0>>0){M=(1<>>Te,X=0,v=L;do Ie=t[v>>2]|0,t[v>>2]=(Ie>>>Te)+X,X=lr(Ie&M,b)|0,v=v+4|0;while(v>>>0>>0);v=(t[L>>2]|0)==0?L+4|0:L,X?(t[T>>2]=X,L=v,v=T+4|0):(L=v,v=T)}else L=(t[L>>2]|0)==0?L+4|0:L,v=T;T=ye?gn:L,T=(v-T>>2|0)>(u|0)?T+(u<<2)|0:v,v=(t[Ze>>2]|0)+Te|0,t[Ze>>2]=v}while((v|0)<0);v=L,u=T}else v=L,u=T;if(Ie=gn,v>>>0>>0){if(T=(Ie-v>>2)*9|0,M=t[v>>2]|0,M>>>0>=10){L=10;do L=L*10|0,T=T+1|0;while(M>>>0>=L>>>0)}}else T=0;if(ye=(ct|0)==103,Ye=(w|0)!=0,L=w-((ct|0)!=102?T:0)+((Ye&ye)<<31>>31)|0,(L|0)<(((u-Ie>>2)*9|0)+-9|0)){if(L=L+9216|0,Te=gn+4+(((L|0)/9|0)+-1024<<2)|0,L=((L|0)%9|0)+1|0,(L|0)<9){M=10;do M=M*10|0,L=L+1|0;while((L|0)!=9)}else M=10;if(b=t[Te>>2]|0,X=(b>>>0)%(M>>>0)|0,L=(Te+4|0)==(u|0),L&(X|0)==0)L=Te;else if(Be=(((b>>>0)/(M>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,ke=(M|0)/2|0,n=X>>>0>>0?.5:L&(X|0)==(ke|0)?1:1.5,Pn&&(ke=(h[Br>>0]|0)==45,n=ke?-n:n,Be=ke?-Be:Be),L=b-X|0,t[Te>>2]=L,Be+n!=Be){if(ke=L+M|0,t[Te>>2]=ke,ke>>>0>999999999)for(T=Te;L=T+-4|0,t[T>>2]=0,L>>>0>>0&&(v=v+-4|0,t[v>>2]=0),ke=(t[L>>2]|0)+1|0,t[L>>2]=ke,ke>>>0>999999999;)T=L;else L=Te;if(T=(Ie-v>>2)*9|0,b=t[v>>2]|0,b>>>0>=10){M=10;do M=M*10|0,T=T+1|0;while(b>>>0>=M>>>0)}}else L=Te;L=L+4|0,L=u>>>0>L>>>0?L:u,ke=v}else L=u,ke=v;for(ct=L;;){if(ct>>>0<=ke>>>0){Ze=0;break}if(v=ct+-4|0,!(t[v>>2]|0))ct=v;else{Ze=1;break}}u=0-T|0;do if(ye)if(v=((Ye^1)&1)+w|0,(v|0)>(T|0)&(T|0)>-5?(M=a+-1|0,w=v+-1-T|0):(M=a+-2|0,w=v+-1|0),v=s&8,v)Te=v;else{if(Ze&&(Zt=t[ct+-4>>2]|0,(Zt|0)!=0))if((Zt>>>0)%10|0)L=0;else{L=0,v=10;do v=v*10|0,L=L+1|0;while(!((Zt>>>0)%(v>>>0)|0|0))}else L=9;if(v=((ct-Ie>>2)*9|0)+-9|0,(M|32|0)==102){Te=v-L|0,Te=(Te|0)>0?Te:0,w=(w|0)<(Te|0)?w:Te,Te=0;break}else{Te=v+T-L|0,Te=(Te|0)>0?Te:0,w=(w|0)<(Te|0)?w:Te,Te=0;break}}else M=a,Te=s&8;while(0);if(ye=w|Te,b=(ye|0)!=0&1,X=(M|32|0)==102,X)Ye=0,v=(T|0)>0?T:0;else{if(v=(T|0)<0?u:T,v=Bv(v,((v|0)<0)<<31>>31,_r)|0,L=_r,(L-v|0)<2)do v=v+-1|0,h[v>>0]=48;while((L-v|0)<2);h[v+-1>>0]=(T>>31&2)+43,v=v+-2|0,h[v>>0]=M,Ye=v,v=L-v|0}if(v=Pn+1+w+b+v|0,_l(e,32,r,v,s),Yo(e,Br,Pn),_l(e,48,r,v,s^65536),X){M=ke>>>0>gn>>>0?gn:ke,Te=kn+9|0,b=Te,X=kn+8|0,L=M;do{if(T=Bv(t[L>>2]|0,0,Te)|0,(L|0)==(M|0))(T|0)==(Te|0)&&(h[X>>0]=48,T=X);else if(T>>>0>kn>>>0){jv(kn|0,48,T-Pr|0)|0;do T=T+-1|0;while(T>>>0>kn>>>0)}Yo(e,T,b-T|0),L=L+4|0}while(L>>>0<=gn>>>0);if(ye|0&&Yo(e,5710,1),L>>>0>>0&(w|0)>0)for(;;){if(T=Bv(t[L>>2]|0,0,Te)|0,T>>>0>kn>>>0){jv(kn|0,48,T-Pr|0)|0;do T=T+-1|0;while(T>>>0>kn>>>0)}if(Yo(e,T,(w|0)<9?w:9),L=L+4|0,T=w+-9|0,L>>>0>>0&(w|0)>9)w=T;else{w=T;break}}_l(e,48,w+9|0,9,0)}else{if(ye=Ze?ct:ke+4|0,(w|0)>-1){Ze=kn+9|0,Te=(Te|0)==0,u=Ze,b=0-Pr|0,X=kn+8|0,M=ke;do{T=Bv(t[M>>2]|0,0,Ze)|0,(T|0)==(Ze|0)&&(h[X>>0]=48,T=X);do if((M|0)==(ke|0)){if(L=T+1|0,Yo(e,T,1),Te&(w|0)<1){T=L;break}Yo(e,5710,1),T=L}else{if(T>>>0<=kn>>>0)break;jv(kn|0,48,T+b|0)|0;do T=T+-1|0;while(T>>>0>kn>>>0)}while(0);Pr=u-T|0,Yo(e,T,(w|0)>(Pr|0)?Pr:w),w=w-Pr|0,M=M+4|0}while(M>>>0>>0&(w|0)>-1)}_l(e,48,w+18|0,18,0),Yo(e,Ye,_r-Ye|0)}_l(e,32,r,v,s^8192)}else kn=(a&32|0)!=0,v=Pn+3|0,_l(e,32,r,v,s&-65537),Yo(e,Br,Pn),Yo(e,n!=n|!1?kn?5686:5690:kn?5678:5682,3),_l(e,32,r,v,s^8192);while(0);return y=uu,((v|0)<(r|0)?r:v)|0}function _8(e){e=+e;var n=0;return j[V>>3]=e,n=t[V>>2]|0,ot=t[V+4>>2]|0,n|0}function SL(e,n){return e=+e,n=n|0,+ +E8(e,n)}function E8(e,n){e=+e,n=n|0;var r=0,u=0,s=0;switch(j[V>>3]=e,r=t[V>>2]|0,u=t[V+4>>2]|0,s=y_(r|0,u|0,52)|0,s&2047){case 0:{e!=0?(e=+E8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[V>>2]=r,t[V+4>>2]=u&-2146435073|1071644672,e=+j[V>>3]}return+e}function TL(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){h[e>>0]=n,e=1;break}if(!(t[t[(CL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){h[e>>0]=n,e=1;break}else{t[(bv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){h[e>>0]=n>>>6|192,h[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){h[e>>0]=n>>>12|224,h[e+1>>0]=n>>>6&63|128,h[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){h[e>>0]=n>>>18|240,h[e+1>>0]=n>>>12&63|128,h[e+2>>0]=n>>>6&63|128,h[e+3>>0]=n&63|128,e=4;break}else{t[(bv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function CL(){return ME()|0}function xL(){return ME()|0}function RL(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((N[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((h[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return AL(r,t[n+20>>2]|0)|0}function AL(e,n){return e=e|0,n=n|0,OL(e,n)|0}function OL(e,n){return e=e|0,n=n|0,n?n=ML(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function ML(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0;X=(t[e>>2]|0)+1794895138|0,a=Yp(t[e+8>>2]|0,X)|0,u=Yp(t[e+12>>2]|0,X)|0,s=Yp(t[e+16>>2]|0,X)|0;e:do if(a>>>0>>2>>>0&&(b=n-(a<<2)|0,u>>>0>>0&s>>>0>>0)&&((s|u)&3|0)==0){for(b=u>>>2,M=s>>>2,L=0;;){if(w=a>>>1,T=L+w|0,v=T<<1,s=v+b|0,u=Yp(t[e+(s<<2)>>2]|0,X)|0,s=Yp(t[e+(s+1<<2)>>2]|0,X)|0,!(s>>>0>>0&u>>>0<(n-s|0)>>>0)){u=0;break e}if(h[e+(s+u)>>0]|0){u=0;break e}if(u=h8(r,e+s|0)|0,!u)break;if(u=(u|0)<0,(a|0)==1){u=0;break e}else L=u?L:T,a=u?w:a-w|0}u=v+M|0,s=Yp(t[e+(u<<2)>>2]|0,X)|0,u=Yp(t[e+(u+1<<2)>>2]|0,X)|0,u>>>0>>0&s>>>0<(n-u|0)>>>0?u=(h[e+(u+s)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Yp(e,n){e=e|0,n=n|0;var r=0;return r=A8(e|0)|0,((n|0)==0?e:r)|0}function kL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0,w=0;u=r+16|0,s=t[u>>2]|0,s?a=5:NL(r)|0?u=0:(s=t[u>>2]|0,a=5);e:do if((a|0)==5){if(w=r+20|0,v=t[w>>2]|0,u=v,(s-v|0)>>>0>>0){u=__[t[r+36>>2]&7](r,e,n)|0;break}t:do if((h[r+75>>0]|0)>-1){for(v=n;;){if(!v){a=0,s=e;break t}if(s=v+-1|0,(h[e+s>>0]|0)==10)break;v=s}if(u=__[t[r+36>>2]&7](r,e,v)|0,u>>>0>>0)break e;a=v,s=e+v|0,n=n-v|0,u=t[w>>2]|0}else a=0,s=e;while(0);gr(u|0,s|0,n|0)|0,t[w>>2]=(t[w>>2]|0)+n,u=a+n|0}while(0);return u|0}function NL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=h[n>>0]|0,h[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function xu(e,n){e=S(e),n=S(n);var r=0,u=0;r=D8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=D8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[V>>2]|0|0}function Kp(e,n){e=S(e),n=S(n);var r=0,u=0;r=w8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=w8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[V>>2]|0|0}function NE(e,n){e=S(e),n=S(n);var r=0,u=0,s=0,a=0,v=0,w=0,T=0,L=0;a=(x[V>>2]=e,t[V>>2]|0),w=(x[V>>2]=n,t[V>>2]|0),r=a>>>23&255,v=w>>>23&255,T=a&-2147483648,s=w<<1;e:do if((s|0)!=0&&!((r|0)==255|((LL(n)|0)&2147483647)>>>0>2139095040)){if(u=a<<1,u>>>0<=s>>>0)return n=S(e*S(0)),S((u|0)==(s|0)?n:e);if(r)u=a&8388607|8388608;else{if(r=a<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=a<<1-r}if(v)w=w&8388607|8388608;else{if(a=w<<9,(a|0)>-1){s=0;do s=s+-1|0,a=a<<1;while((a|0)>-1)}else s=0;v=s,w=w<<1-s}s=u-w|0,a=(s|0)>-1;t:do if((r|0)>(v|0)){for(;;){if(a)if(s)u=s;else break;if(u=u<<1,r=r+-1|0,s=u-w|0,a=(s|0)>-1,(r|0)<=(v|0))break t}n=S(e*S(0));break e}while(0);if(a)if(s)u=s;else{n=S(e*S(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[V>>2]=r|T,S(x[V>>2]))}else L=3;while(0);return(L|0)==3&&(n=S(e*n),n=S(n/n)),S(n)}function LL(e){return e=S(e),x[V>>2]=e,t[V>>2]|0|0}function FL(e,n){return e=e|0,n=n|0,v8(t[582]|0,e,n)|0}function di(e){e=e|0,$n()}function Uv(e){e=e|0}function PL(e,n){return e=e|0,n=n|0,0}function IL(e){return e=e|0,(S8(e+4|0)|0)==-1?(P1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function S8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function $d(e){e=e|0,IL(e)|0&&bL(e)}function bL(e){e=e|0;var n=0;n=e+8|0,(t[n>>2]|0)!=0&&(S8(n)|0)!=-1||P1[t[(t[e>>2]|0)+16>>2]&127](e)}function pn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=p_(n)|0,!(e|0);){if(e=UL()|0,!e){e=0;break}B8[e&0]()}return e|0}function T8(e){return e=e|0,pn(e)|0}function Et(e){e=e|0,h_(e)}function BL(e){e=e|0,(h[e+11>>0]|0)<0&&Et(t[e>>2]|0)}function UL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function jL(){}function m_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ot=u,e-r>>>0|0|0}function LE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ot=n+u+(r>>>0>>0|0)>>>0,r|0|0}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0,v=0;if(a=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)h[e>>0]=n,e=e+1|0;for(u=a&-4|0,s=u-64|0,v=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=v,t[e+4>>2]=v,t[e+8>>2]=v,t[e+12>>2]=v,t[e+16>>2]=v,t[e+20>>2]=v,t[e+24>>2]=v,t[e+28>>2]=v,t[e+32>>2]=v,t[e+36>>2]=v,t[e+40>>2]=v,t[e+44>>2]=v,t[e+48>>2]=v,t[e+52>>2]=v,t[e+56>>2]=v,t[e+60>>2]=v,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=v,e=e+4|0}for(;(e|0)<(a|0);)h[e>>0]=n,e=e+1|0;return a-r|0}function C8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ot=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function gr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,s=0,a=0;if((r|0)>=8192)return li(e|0,n|0,r|0)|0;if(a=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return a|0;h[e>>0]=h[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=s-4|0;(e|0)<(r|0);)h[e>>0]=h[n>>0]|0,h[e+1>>0]=h[n+1>>0]|0,h[e+2>>0]=h[n+2>>0]|0,h[e+3>>0]=h[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)h[e>>0]=h[n>>0]|0,e=e+1|0,n=n+1|0;return a|0}function x8(e){e=e|0;var n=0;return n=h[De+(e&255)>>0]|0,(n|0)<8?n|0:(n=h[De+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=h[De+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(h[De+(e>>>24)>>0]|0)+24|0))}function R8(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0;var a=0,v=0,w=0,T=0,L=0,M=0,b=0,X=0,Be=0,Te=0;if(M=e,T=n,L=T,v=r,X=u,w=X,!L)return a=(s|0)!=0,w?a?(t[s>>2]=e|0,t[s+4>>2]=n&0,X=0,s=0,ot=X,s|0):(X=0,s=0,ot=X,s|0):(a&&(t[s>>2]=(M>>>0)%(v>>>0),t[s+4>>2]=0),X=0,s=(M>>>0)/(v>>>0)>>>0,ot=X,s|0);a=(w|0)==0;do if(v){if(!a){if(a=(Er(w|0)|0)-(Er(L|0)|0)|0,a>>>0<=31){b=a+1|0,w=31-a|0,n=a-31>>31,v=b,e=M>>>(b>>>0)&n|L<>>(b>>>0)&n,a=0,w=M<>2]=e|0,t[s+4>>2]=T|n&0,X=0,s=0,ot=X,s|0):(X=0,s=0,ot=X,s|0)}if(a=v-1|0,a&v|0){w=(Er(v|0)|0)+33-(Er(L|0)|0)|0,Te=64-w|0,b=32-w|0,T=b>>31,Be=w-32|0,n=Be>>31,v=w,e=b-1>>31&L>>>(Be>>>0)|(L<>>(w>>>0))&n,n=n&L>>>(w>>>0),a=M<>>(Be>>>0))&T|M<>31;break}return s|0&&(t[s>>2]=a&M,t[s+4>>2]=0),(v|0)==1?(Be=T|n&0,Te=e|0|0,ot=Be,Te|0):(Te=x8(v|0)|0,Be=L>>>(Te>>>0)|0,Te=L<<32-Te|M>>>(Te>>>0)|0,ot=Be,Te|0)}else{if(a)return s|0&&(t[s>>2]=(L>>>0)%(v>>>0),t[s+4>>2]=0),Be=0,Te=(L>>>0)/(v>>>0)>>>0,ot=Be,Te|0;if(!M)return s|0&&(t[s>>2]=0,t[s+4>>2]=(L>>>0)%(w>>>0)),Be=0,Te=(L>>>0)/(w>>>0)>>>0,ot=Be,Te|0;if(a=w-1|0,!(a&w))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=a&L|n&0),Be=0,Te=L>>>((x8(w|0)|0)>>>0),ot=Be,Te|0;if(a=(Er(w|0)|0)-(Er(L|0)|0)|0,a>>>0<=30){n=a+1|0,w=31-a|0,v=n,e=L<>>(n>>>0),n=L>>>(n>>>0),a=0,w=M<>2]=e|0,t[s+4>>2]=T|n&0,Be=0,Te=0,ot=Be,Te|0):(Be=0,Te=0,ot=Be,Te|0)}while(0);if(!v)L=w,T=0,w=0;else{b=r|0|0,M=X|u&0,L=LE(b|0,M|0,-1,-1)|0,r=ot,T=w,w=0;do u=T,T=a>>>31|T<<1,a=w|a<<1,u=e<<1|u>>>31|0,X=e>>>31|n<<1|0,m_(L|0,r|0,u|0,X|0)|0,Te=ot,Be=Te>>31|((Te|0)<0?-1:0)<<1,w=Be&1,e=m_(u|0,X|0,Be&b|0,(((Te|0)<0?-1:0)>>31|((Te|0)<0?-1:0)<<1)&M|0)|0,n=ot,v=v-1|0;while((v|0)!=0);L=T,T=0}return v=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),Be=(a|0)>>>31|(L|v)<<1|(v<<1|a>>>31)&0|T,Te=(a<<1|0>>>31)&-2|w,ot=Be,Te|0}function FE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,R8(e,n,r,u,0)|0}function e2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[q>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(fr()|0,Ql(12),-1):(t[q>>2]=e,(e|0)>(jr()|0)&&(vr()|0)==0?(t[q>>2]=n,Ql(12),-1):n|0)}function ky(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,h[e>>0]=h[n>>0]|0;e=u}else gr(e,n,r)|0;return e|0}function PE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var s=0,a=0;return a=y,y=y+16|0,s=a|0,R8(e,n,r,u,s)|0,y=a,ot=t[s+4>>2]|0,t[s>>2]|0|0}function A8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function zL(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,O8[e&1](n|0,r|0,u|0,s|0,a|0)}function HL(e,n,r){e=e|0,n=n|0,r=S(r),M8[e&1](n|0,S(r))}function qL(e,n,r){e=e|0,n=n|0,r=+r,k8[e&31](n|0,+r)}function WL(e,n,r,u){return e=e|0,n=n|0,r=S(r),u=S(u),S(N8[e&0](n|0,S(r),S(u)))}function VL(e,n){e=e|0,n=n|0,P1[e&127](n|0)}function YL(e,n,r){e=e|0,n=n|0,r=r|0,I1[e&31](n|0,r|0)}function KL(e,n){return e=e|0,n=n|0,Qp[e&31](n|0)|0}function XL(e,n,r,u,s){e=e|0,n=n|0,r=+r,u=+u,s=s|0,L8[e&1](n|0,+r,+u,s|0)}function QL(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,MF[e&1](n|0,+r,+u)}function JL(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,__[e&7](n|0,r|0,u|0)|0}function ZL(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+kF[e&1](n|0,r|0,u|0)}function $L(e,n){return e=e|0,n=n|0,+F8[e&15](n|0)}function eF(e,n,r){return e=e|0,n=n|0,r=+r,NF[e&1](n|0,+r)|0}function tF(e,n,r){return e=e|0,n=n|0,r=r|0,bE[e&15](n|0,r|0)|0}function nF(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=+u,s=+s,a=a|0,LF[e&1](n|0,r|0,+u,+s,a|0)}function rF(e,n,r,u,s,a,v){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,v=v|0,FF[e&1](n|0,r|0,u|0,s|0,a|0,v|0)}function iF(e,n,r){return e=e|0,n=n|0,r=r|0,+P8[e&7](n|0,r|0)}function uF(e){return e=e|0,E_[e&7]()|0}function oF(e,n,r,u,s,a){return e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,I8[e&1](n|0,r|0,u|0,s|0,a|0)|0}function lF(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=+s,PF[e&1](n|0,r|0,u|0,+s)}function sF(e,n,r,u,s,a,v){e=e|0,n=n|0,r=r|0,u=S(u),s=s|0,a=S(a),v=v|0,b8[e&1](n|0,r|0,S(u),s|0,S(a),v|0)}function aF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Fy[e&15](n|0,r|0,u|0)}function fF(e){e=e|0,B8[e&0]()}function cF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,U8[e&15](n|0,r|0,+u)}function dF(e,n,r){return e=e|0,n=+n,r=+r,IF[e&1](+n,+r)|0}function pF(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,BE[e&15](n|0,r|0,u|0,s|0)}function hF(e,n,r,u,s){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,zt(0)}function vF(e,n){e=e|0,n=S(n),zt(1)}function $s(e,n){e=e|0,n=+n,zt(2)}function mF(e,n,r){return e=e|0,n=S(n),r=S(r),zt(3),Ct}function Zn(e){e=e|0,zt(4)}function Ny(e,n){e=e|0,n=n|0,zt(5)}function Na(e){return e=e|0,zt(6),0}function yF(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,zt(7)}function gF(e,n,r){e=e|0,n=+n,r=+r,zt(8)}function _F(e,n,r){return e=e|0,n=n|0,r=r|0,zt(9),0}function EF(e,n,r){return e=e|0,n=n|0,r=r|0,zt(10),0}function Xp(e){return e=e|0,zt(11),0}function DF(e,n){return e=e|0,n=+n,zt(12),0}function Ly(e,n){return e=e|0,n=n|0,zt(13),0}function wF(e,n,r,u,s){e=e|0,n=n|0,r=+r,u=+u,s=s|0,zt(14)}function SF(e,n,r,u,s,a){e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,a=a|0,zt(15)}function IE(e,n){return e=e|0,n=n|0,zt(16),0}function TF(){return zt(17),0}function CF(e,n,r,u,s){return e=e|0,n=n|0,r=r|0,u=u|0,s=s|0,zt(18),0}function xF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,zt(19)}function RF(e,n,r,u,s,a){e=e|0,n=n|0,r=S(r),u=u|0,s=S(s),a=a|0,zt(20)}function g_(e,n,r){e=e|0,n=n|0,r=r|0,zt(21)}function AF(){zt(22)}function zv(e,n,r){e=e|0,n=n|0,r=+r,zt(23)}function OF(e,n){return e=+e,n=+n,zt(24),0}function Hv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,zt(25)}var O8=[hF,TO],M8=[vF,t0],k8=[$s,ca,ws,Ss,ts,Ho,Ef,ol,qa,n0,Df,Wc,dc,Ol,Ts,da,ud,pa,pc,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s,$s],N8=[mF],P1=[Zn,Uv,cn,is,Do,Uf,M1,jl,$A,e7,t7,cO,dO,pO,LN,FN,PN,Fe,fc,Ua,Vu,j0,yh,Sf,r1,Lf,Ea,kh,ym,g1,_1,Zh,hp,Ld,jm,C1,Ac,Jm,ey,xv,Mv,on,P4,G4,n_,Lt,Cu,e0,p9,O9,K9,dR,RR,KR,iA,lA,TA,RA,WA,r7,o7,S7,z7,gd,wM,$M,hk,Ok,Jk,dN,SN,xN,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn,Zn],I1=[Ny,_2,nd,qc,Rl,ul,E2,qs,Al,ja,za,Ha,Ml,je,st,$t,Wn,oi,ur,Wa,w2,_h,X4,eE,mR,CM,X7,$w,Ny,Ny,Ny,Ny],Qp=[Na,fL,_f,g,Z,de,yt,Rt,Nt,xr,cu,z0,Va,od,Xc,Ms,kR,x7,OM,Oa,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na,Na],L8=[yF,C2],MF=[gF,YA],__=[_F,p8,cL,hL,Wh,vv,y9,Lk],kF=[EF,fv],F8=[Xp,i0,Ge,ai,gh,al,ha,x2,R2,hc,Xp,Xp,Xp,Xp,Xp,Xp],NF=[DF,tA],bE=[Ly,PL,D2,dl,H2,xm,fp,xp,ty,kr,jo,gk,Ly,Ly,Ly,Ly],LF=[wF,xh],FF=[SF,tN],P8=[IE,Qi,A2,dd,Qc,ml,IE,IE],E_=[TF,Jc,io,E0,cA,kA,f7,MN],I8=[CF,ui],PF=[xF,vy],b8=[RF,ld],Fy=[g_,A,r0,Vr,Tu,m1,Nd,ar,_y,mo,YO,rk,mN,g_,g_,g_],B8=[AF],U8=[zv,rd,yo,id,zo,Vc,Wi,_,Bp,L9,JR,zv,zv,zv,zv,zv],IF=[OF,JA],BE=[Hv,Ep,Lc,Z9,jR,yA,bA,y7,G7,PM,zN,Hv,Hv,Hv,Hv,Hv];return{_llvm_bswap_i32:A8,dynCall_idd:dF,dynCall_i:uF,_i64Subtract:m_,___udivdi3:FE,dynCall_vif:HL,setThrew:vs,dynCall_viii:aF,_bitshift64Lshr:y_,_bitshift64Shl:C8,dynCall_vi:VL,dynCall_viiddi:nF,dynCall_diii:ZL,dynCall_iii:tF,_memset:jv,_sbrk:e2,_memcpy:gr,__GLOBAL__sub_I_Yoga_cpp:ru,dynCall_vii:YL,___uremdi3:PE,dynCall_vid:qL,stackAlloc:co,_nbind_init:ZN,getTempRet0:Q,dynCall_di:$L,dynCall_iid:eF,setTempRet0:b0,_i64Add:LE,dynCall_fiff:WL,dynCall_iiii:JL,_emscripten_get_global_libc:aL,dynCall_viid:cF,dynCall_viiid:lF,dynCall_viififi:sF,dynCall_ii:KL,__GLOBAL__sub_I_Binding_cc:hM,dynCall_viiii:pF,dynCall_iiiiii:oF,stackSave:nl,dynCall_viiiii:zL,__GLOBAL__sub_I_nbind_cc:Ws,dynCall_vidd:QL,_free:h_,runPostSets:jL,dynCall_viiiiii:rF,establishStackSpace:Uu,_memmove:ky,stackRestore:Jl,_malloc:p_,__GLOBAL__sub_I_common_cc:F7,dynCall_viddi:XL,dynCall_dii:iF,dynCall_v:fF}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(o){this.name="ExitStatus",this.message="Program terminated with exit("+o+")",this.status=o}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function o(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=o)},Module.callMain=Module.callMain=function o(l){l=l||[],ensureInitRuntime();var f=l.length+1;function h(){for(var k=0;k<4-1;k++)E.push(0)}var E=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];h();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function l(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(o),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),l()},1)):l()}Module.run=Module.run=run;function exit(o,l){l&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=o,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(o)),ENVIRONMENT_IS_NODE&&process.exit(o),Module.quit(o,new ExitStatus(o)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(o){Module.onAbort&&Module.onAbort(o),o!==void 0?(Module.print(o),Module.printErr(o),o=JSON.stringify(o)):o="",ABORT=!0,EXITSTATUS=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+o+") at "+stackTrace()+l;throw abortDecorators&&abortDecorators.forEach(function(h){f=h(f,o)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var eh=nt((CH,tT)=>{"use strict";var SP=$S(),TP=eT(),_D=!1,ED=null;TP({},function(o,l){if(!_D){if(_D=!0,o)throw o;ED=l}});if(!_D)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");tT.exports=SP(ED.bind,ED.lib)});var rT=nt((xH,nT)=>{"use strict";nT.exports=({onlyFirst:o=!1}={})=>{let l=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(l,o?void 0:"g")}});var DD=nt((RH,iT)=>{"use strict";var CP=rT();iT.exports=o=>typeof o=="string"?o.replace(CP(),""):o});var SD=nt((AH,wD)=>{"use strict";var uT=o=>Number.isNaN(o)?!1:o>=4352&&(o<=4447||o===9001||o===9002||11904<=o&&o<=12871&&o!==12351||12880<=o&&o<=19903||19968<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65131||65281<=o&&o<=65376||65504<=o&&o<=65510||110592<=o&&o<=110593||127488<=o&&o<=127569||131072<=o&&o<=262141);wD.exports=uT;wD.exports.default=uT});var lT=nt((OH,oT)=>{"use strict";oT.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var q_=nt((MH,TD)=>{"use strict";var xP=DD(),RP=SD(),AP=lT(),sT=o=>{if(typeof o!="string"||o.length===0||(o=xP(o),o.length===0))return 0;o=o.replace(AP()," ");let l=0;for(let f=0;f=127&&h<=159||h>=768&&h<=879||(h>65535&&f++,l+=RP(h)?2:1)}return l};TD.exports=sT;TD.exports.default=sT});var xD=nt((kH,CD)=>{"use strict";var OP=q_(),aT=o=>{let l=0;for(let f of o.split(` +`))l=Math.max(l,OP(f));return l};CD.exports=aT;CD.exports.default=aT});var fT=nt(Ky=>{"use strict";var MP=Ky&&Ky.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Ky,"__esModule",{value:!0});var kP=MP(xD()),RD={};Ky.default=o=>{if(o.length===0)return{width:0,height:0};if(RD[o])return RD[o];let l=kP.default(o),f=o.split(` +`).length;return RD[o]={width:l,height:f},{width:l,height:f}}});var cT=nt(Xy=>{"use strict";var NP=Xy&&Xy.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Xy,"__esModule",{value:!0});var Gi=NP(eh()),LP=(o,l)=>{"position"in l&&o.setPositionType(l.position==="absolute"?Gi.default.POSITION_TYPE_ABSOLUTE:Gi.default.POSITION_TYPE_RELATIVE)},FP=(o,l)=>{"marginLeft"in l&&o.setMargin(Gi.default.EDGE_START,l.marginLeft||0),"marginRight"in l&&o.setMargin(Gi.default.EDGE_END,l.marginRight||0),"marginTop"in l&&o.setMargin(Gi.default.EDGE_TOP,l.marginTop||0),"marginBottom"in l&&o.setMargin(Gi.default.EDGE_BOTTOM,l.marginBottom||0)},PP=(o,l)=>{"paddingLeft"in l&&o.setPadding(Gi.default.EDGE_LEFT,l.paddingLeft||0),"paddingRight"in l&&o.setPadding(Gi.default.EDGE_RIGHT,l.paddingRight||0),"paddingTop"in l&&o.setPadding(Gi.default.EDGE_TOP,l.paddingTop||0),"paddingBottom"in l&&o.setPadding(Gi.default.EDGE_BOTTOM,l.paddingBottom||0)},IP=(o,l)=>{var f;"flexGrow"in l&&o.setFlexGrow((f=l.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in l&&o.setFlexShrink(typeof l.flexShrink=="number"?l.flexShrink:1),"flexDirection"in l&&(l.flexDirection==="row"&&o.setFlexDirection(Gi.default.FLEX_DIRECTION_ROW),l.flexDirection==="row-reverse"&&o.setFlexDirection(Gi.default.FLEX_DIRECTION_ROW_REVERSE),l.flexDirection==="column"&&o.setFlexDirection(Gi.default.FLEX_DIRECTION_COLUMN),l.flexDirection==="column-reverse"&&o.setFlexDirection(Gi.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in l&&(typeof l.flexBasis=="number"?o.setFlexBasis(l.flexBasis):typeof l.flexBasis=="string"?o.setFlexBasisPercent(Number.parseInt(l.flexBasis,10)):o.setFlexBasis(NaN)),"alignItems"in l&&((l.alignItems==="stretch"||!l.alignItems)&&o.setAlignItems(Gi.default.ALIGN_STRETCH),l.alignItems==="flex-start"&&o.setAlignItems(Gi.default.ALIGN_FLEX_START),l.alignItems==="center"&&o.setAlignItems(Gi.default.ALIGN_CENTER),l.alignItems==="flex-end"&&o.setAlignItems(Gi.default.ALIGN_FLEX_END)),"alignSelf"in l&&((l.alignSelf==="auto"||!l.alignSelf)&&o.setAlignSelf(Gi.default.ALIGN_AUTO),l.alignSelf==="flex-start"&&o.setAlignSelf(Gi.default.ALIGN_FLEX_START),l.alignSelf==="center"&&o.setAlignSelf(Gi.default.ALIGN_CENTER),l.alignSelf==="flex-end"&&o.setAlignSelf(Gi.default.ALIGN_FLEX_END)),"justifyContent"in l&&((l.justifyContent==="flex-start"||!l.justifyContent)&&o.setJustifyContent(Gi.default.JUSTIFY_FLEX_START),l.justifyContent==="center"&&o.setJustifyContent(Gi.default.JUSTIFY_CENTER),l.justifyContent==="flex-end"&&o.setJustifyContent(Gi.default.JUSTIFY_FLEX_END),l.justifyContent==="space-between"&&o.setJustifyContent(Gi.default.JUSTIFY_SPACE_BETWEEN),l.justifyContent==="space-around"&&o.setJustifyContent(Gi.default.JUSTIFY_SPACE_AROUND))},bP=(o,l)=>{var f,h;"width"in l&&(typeof l.width=="number"?o.setWidth(l.width):typeof l.width=="string"?o.setWidthPercent(Number.parseInt(l.width,10)):o.setWidthAuto()),"height"in l&&(typeof l.height=="number"?o.setHeight(l.height):typeof l.height=="string"?o.setHeightPercent(Number.parseInt(l.height,10)):o.setHeightAuto()),"minWidth"in l&&(typeof l.minWidth=="string"?o.setMinWidthPercent(Number.parseInt(l.minWidth,10)):o.setMinWidth((f=l.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in l&&(typeof l.minHeight=="string"?o.setMinHeightPercent(Number.parseInt(l.minHeight,10)):o.setMinHeight((h=l.minHeight)!==null&&h!==void 0?h:0))},BP=(o,l)=>{"display"in l&&o.setDisplay(l.display==="flex"?Gi.default.DISPLAY_FLEX:Gi.default.DISPLAY_NONE)},UP=(o,l)=>{if("borderStyle"in l){let f=typeof l.borderStyle=="string"?1:0;o.setBorder(Gi.default.EDGE_TOP,f),o.setBorder(Gi.default.EDGE_BOTTOM,f),o.setBorder(Gi.default.EDGE_LEFT,f),o.setBorder(Gi.default.EDGE_RIGHT,f)}};Xy.default=(o,l={})=>{LP(o,l),FP(o,l),PP(o,l),IP(o,l),bP(o,l),BP(o,l),UP(o,l)}});var pT=nt((FH,dT)=>{"use strict";dT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var AD=nt((PH,vT)=>{var Qy=pT(),hT={};for(let o of Object.keys(Qy))hT[Qy[o]]=o;var zn={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};vT.exports=zn;for(let o of Object.keys(zn)){if(!("channels"in zn[o]))throw new Error("missing channels property: "+o);if(!("labels"in zn[o]))throw new Error("missing channel labels property: "+o);if(zn[o].labels.length!==zn[o].channels)throw new Error("channel and label counts mismatch: "+o);let{channels:l,labels:f}=zn[o];delete zn[o].channels,delete zn[o].labels,Object.defineProperty(zn[o],"channels",{value:l}),Object.defineProperty(zn[o],"labels",{value:f})}zn.rgb.hsl=function(o){let l=o[0]/255,f=o[1]/255,h=o[2]/255,E=Math.min(l,f,h),t=Math.max(l,f,h),N=t-E,F,k;t===E?F=0:l===t?F=(f-h)/N:f===t?F=2+(h-l)/N:h===t&&(F=4+(l-f)/N),F=Math.min(F*60,360),F<0&&(F+=360);let x=(E+t)/2;return t===E?k=0:x<=.5?k=N/(t+E):k=N/(2-t-E),[F,k*100,x*100]};zn.rgb.hsv=function(o){let l,f,h,E,t,N=o[0]/255,F=o[1]/255,k=o[2]/255,x=Math.max(N,F,k),j=x-Math.min(N,F,k),q=function(V){return(x-V)/6/j+1/2};return j===0?(E=0,t=0):(t=j/x,l=q(N),f=q(F),h=q(k),N===x?E=h-f:F===x?E=1/3+l-h:k===x&&(E=2/3+f-l),E<0?E+=1:E>1&&(E-=1)),[E*360,t*100,x*100]};zn.rgb.hwb=function(o){let l=o[0],f=o[1],h=o[2],E=zn.rgb.hsl(o)[0],t=1/255*Math.min(l,Math.min(f,h));return h=1-1/255*Math.max(l,Math.max(f,h)),[E,t*100,h*100]};zn.rgb.cmyk=function(o){let l=o[0]/255,f=o[1]/255,h=o[2]/255,E=Math.min(1-l,1-f,1-h),t=(1-l-E)/(1-E)||0,N=(1-f-E)/(1-E)||0,F=(1-h-E)/(1-E)||0;return[t*100,N*100,F*100,E*100]};function jP(o,l){return(o[0]-l[0])**2+(o[1]-l[1])**2+(o[2]-l[2])**2}zn.rgb.keyword=function(o){let l=hT[o];if(l)return l;let f=1/0,h;for(let E of Object.keys(Qy)){let t=Qy[E],N=jP(o,t);N.04045?((l+.055)/1.055)**2.4:l/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,h=h>.04045?((h+.055)/1.055)**2.4:h/12.92;let E=l*.4124+f*.3576+h*.1805,t=l*.2126+f*.7152+h*.0722,N=l*.0193+f*.1192+h*.9505;return[E*100,t*100,N*100]};zn.rgb.lab=function(o){let l=zn.rgb.xyz(o),f=l[0],h=l[1],E=l[2];f/=95.047,h/=100,E/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,h=h>.008856?h**(1/3):7.787*h+16/116,E=E>.008856?E**(1/3):7.787*E+16/116;let t=116*h-16,N=500*(f-h),F=200*(h-E);return[t,N,F]};zn.hsl.rgb=function(o){let l=o[0]/360,f=o[1]/100,h=o[2]/100,E,t,N;if(f===0)return N=h*255,[N,N,N];h<.5?E=h*(1+f):E=h+f-h*f;let F=2*h-E,k=[0,0,0];for(let x=0;x<3;x++)t=l+1/3*-(x-1),t<0&&t++,t>1&&t--,6*t<1?N=F+(E-F)*6*t:2*t<1?N=E:3*t<2?N=F+(E-F)*(2/3-t)*6:N=F,k[x]=N*255;return k};zn.hsl.hsv=function(o){let l=o[0],f=o[1]/100,h=o[2]/100,E=f,t=Math.max(h,.01);h*=2,f*=h<=1?h:2-h,E*=t<=1?t:2-t;let N=(h+f)/2,F=h===0?2*E/(t+E):2*f/(h+f);return[l,F*100,N*100]};zn.hsv.rgb=function(o){let l=o[0]/60,f=o[1]/100,h=o[2]/100,E=Math.floor(l)%6,t=l-Math.floor(l),N=255*h*(1-f),F=255*h*(1-f*t),k=255*h*(1-f*(1-t));switch(h*=255,E){case 0:return[h,k,N];case 1:return[F,h,N];case 2:return[N,h,k];case 3:return[N,F,h];case 4:return[k,N,h];case 5:return[h,N,F]}};zn.hsv.hsl=function(o){let l=o[0],f=o[1]/100,h=o[2]/100,E=Math.max(h,.01),t,N;N=(2-f)*h;let F=(2-f)*E;return t=f*E,t/=F<=1?F:2-F,t=t||0,N/=2,[l,t*100,N*100]};zn.hwb.rgb=function(o){let l=o[0]/360,f=o[1]/100,h=o[2]/100,E=f+h,t;E>1&&(f/=E,h/=E);let N=Math.floor(6*l),F=1-h;t=6*l-N,(N&1)!==0&&(t=1-t);let k=f+t*(F-f),x,j,q;switch(N){default:case 6:case 0:x=F,j=k,q=f;break;case 1:x=k,j=F,q=f;break;case 2:x=f,j=F,q=k;break;case 3:x=f,j=k,q=F;break;case 4:x=k,j=f,q=F;break;case 5:x=F,j=f,q=k;break}return[x*255,j*255,q*255]};zn.cmyk.rgb=function(o){let l=o[0]/100,f=o[1]/100,h=o[2]/100,E=o[3]/100,t=1-Math.min(1,l*(1-E)+E),N=1-Math.min(1,f*(1-E)+E),F=1-Math.min(1,h*(1-E)+E);return[t*255,N*255,F*255]};zn.xyz.rgb=function(o){let l=o[0]/100,f=o[1]/100,h=o[2]/100,E,t,N;return E=l*3.2406+f*-1.5372+h*-.4986,t=l*-.9689+f*1.8758+h*.0415,N=l*.0557+f*-.204+h*1.057,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,N=N>.0031308?1.055*N**(1/2.4)-.055:N*12.92,E=Math.min(Math.max(0,E),1),t=Math.min(Math.max(0,t),1),N=Math.min(Math.max(0,N),1),[E*255,t*255,N*255]};zn.xyz.lab=function(o){let l=o[0],f=o[1],h=o[2];l/=95.047,f/=100,h/=108.883,l=l>.008856?l**(1/3):7.787*l+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,h=h>.008856?h**(1/3):7.787*h+16/116;let E=116*f-16,t=500*(l-f),N=200*(f-h);return[E,t,N]};zn.lab.xyz=function(o){let l=o[0],f=o[1],h=o[2],E,t,N;t=(l+16)/116,E=f/500+t,N=t-h/200;let F=t**3,k=E**3,x=N**3;return t=F>.008856?F:(t-16/116)/7.787,E=k>.008856?k:(E-16/116)/7.787,N=x>.008856?x:(N-16/116)/7.787,E*=95.047,t*=100,N*=108.883,[E,t,N]};zn.lab.lch=function(o){let l=o[0],f=o[1],h=o[2],E;E=Math.atan2(h,f)*360/2/Math.PI,E<0&&(E+=360);let N=Math.sqrt(f*f+h*h);return[l,N,E]};zn.lch.lab=function(o){let l=o[0],f=o[1],E=o[2]/360*2*Math.PI,t=f*Math.cos(E),N=f*Math.sin(E);return[l,t,N]};zn.rgb.ansi16=function(o,l=null){let[f,h,E]=o,t=l===null?zn.rgb.hsv(o)[2]:l;if(t=Math.round(t/50),t===0)return 30;let N=30+(Math.round(E/255)<<2|Math.round(h/255)<<1|Math.round(f/255));return t===2&&(N+=60),N};zn.hsv.ansi16=function(o){return zn.rgb.ansi16(zn.hsv.rgb(o),o[2])};zn.rgb.ansi256=function(o){let l=o[0],f=o[1],h=o[2];return l===f&&f===h?l<8?16:l>248?231:Math.round((l-8)/247*24)+232:16+36*Math.round(l/255*5)+6*Math.round(f/255*5)+Math.round(h/255*5)};zn.ansi16.rgb=function(o){let l=o%10;if(l===0||l===7)return o>50&&(l+=3.5),l=l/10.5*255,[l,l,l];let f=(~~(o>50)+1)*.5,h=(l&1)*f*255,E=(l>>1&1)*f*255,t=(l>>2&1)*f*255;return[h,E,t]};zn.ansi256.rgb=function(o){if(o>=232){let t=(o-232)*10+8;return[t,t,t]}o-=16;let l,f=Math.floor(o/36)/5*255,h=Math.floor((l=o%36)/6)/5*255,E=l%6/5*255;return[f,h,E]};zn.rgb.hex=function(o){let f=(((Math.round(o[0])&255)<<16)+((Math.round(o[1])&255)<<8)+(Math.round(o[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};zn.hex.rgb=function(o){let l=o.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!l)return[0,0,0];let f=l[0];l[0].length===3&&(f=f.split("").map(F=>F+F).join(""));let h=parseInt(f,16),E=h>>16&255,t=h>>8&255,N=h&255;return[E,t,N]};zn.rgb.hcg=function(o){let l=o[0]/255,f=o[1]/255,h=o[2]/255,E=Math.max(Math.max(l,f),h),t=Math.min(Math.min(l,f),h),N=E-t,F,k;return N<1?F=t/(1-N):F=0,N<=0?k=0:E===l?k=(f-h)/N%6:E===f?k=2+(h-l)/N:k=4+(l-f)/N,k/=6,k%=1,[k*360,N*100,F*100]};zn.hsl.hcg=function(o){let l=o[1]/100,f=o[2]/100,h=f<.5?2*l*f:2*l*(1-f),E=0;return h<1&&(E=(f-.5*h)/(1-h)),[o[0],h*100,E*100]};zn.hsv.hcg=function(o){let l=o[1]/100,f=o[2]/100,h=l*f,E=0;return h<1&&(E=(f-h)/(1-h)),[o[0],h*100,E*100]};zn.hcg.rgb=function(o){let l=o[0]/360,f=o[1]/100,h=o[2]/100;if(f===0)return[h*255,h*255,h*255];let E=[0,0,0],t=l%1*6,N=t%1,F=1-N,k=0;switch(Math.floor(t)){case 0:E[0]=1,E[1]=N,E[2]=0;break;case 1:E[0]=F,E[1]=1,E[2]=0;break;case 2:E[0]=0,E[1]=1,E[2]=N;break;case 3:E[0]=0,E[1]=F,E[2]=1;break;case 4:E[0]=N,E[1]=0,E[2]=1;break;default:E[0]=1,E[1]=0,E[2]=F}return k=(1-f)*h,[(f*E[0]+k)*255,(f*E[1]+k)*255,(f*E[2]+k)*255]};zn.hcg.hsv=function(o){let l=o[1]/100,f=o[2]/100,h=l+f*(1-l),E=0;return h>0&&(E=l/h),[o[0],E*100,h*100]};zn.hcg.hsl=function(o){let l=o[1]/100,h=o[2]/100*(1-l)+.5*l,E=0;return h>0&&h<.5?E=l/(2*h):h>=.5&&h<1&&(E=l/(2*(1-h))),[o[0],E*100,h*100]};zn.hcg.hwb=function(o){let l=o[1]/100,f=o[2]/100,h=l+f*(1-l);return[o[0],(h-l)*100,(1-h)*100]};zn.hwb.hcg=function(o){let l=o[1]/100,h=1-o[2]/100,E=h-l,t=0;return E<1&&(t=(h-E)/(1-E)),[o[0],E*100,t*100]};zn.apple.rgb=function(o){return[o[0]/65535*255,o[1]/65535*255,o[2]/65535*255]};zn.rgb.apple=function(o){return[o[0]/255*65535,o[1]/255*65535,o[2]/255*65535]};zn.gray.rgb=function(o){return[o[0]/100*255,o[0]/100*255,o[0]/100*255]};zn.gray.hsl=function(o){return[0,0,o[0]]};zn.gray.hsv=zn.gray.hsl;zn.gray.hwb=function(o){return[0,100,o[0]]};zn.gray.cmyk=function(o){return[0,0,0,o[0]]};zn.gray.lab=function(o){return[o[0],0,0]};zn.gray.hex=function(o){let l=Math.round(o[0]/100*255)&255,h=((l<<16)+(l<<8)+l).toString(16).toUpperCase();return"000000".substring(h.length)+h};zn.rgb.gray=function(o){return[(o[0]+o[1]+o[2])/3/255*100]}});var yT=nt((IH,mT)=>{var W_=AD();function zP(){let o={},l=Object.keys(W_);for(let f=l.length,h=0;h{var OD=AD(),VP=yT(),Zv={},GP=Object.keys(OD);function YP(o){let l=function(...f){let h=f[0];return h==null?h:(h.length>1&&(f=h),o(f))};return"conversion"in o&&(l.conversion=o.conversion),l}function KP(o){let l=function(...f){let h=f[0];if(h==null)return h;h.length>1&&(f=h);let E=o(f);if(typeof E=="object")for(let t=E.length,N=0;N{Zv[o]={},Object.defineProperty(Zv[o],"channels",{value:OD[o].channels}),Object.defineProperty(Zv[o],"labels",{value:OD[o].labels});let l=VP(o);Object.keys(l).forEach(h=>{let E=l[h];Zv[o][h]=KP(E),Zv[o][h].raw=YP(E)})});gT.exports=Zv});var G_=nt((BH,TT)=>{"use strict";var ET=(o,l)=>(...f)=>`\x1B[${o(...f)+l}m`,DT=(o,l)=>(...f)=>{let h=o(...f);return`\x1B[${38+l};5;${h}m`},wT=(o,l)=>(...f)=>{let h=o(...f);return`\x1B[${38+l};2;${h[0]};${h[1]};${h[2]}m`},V_=o=>o,ST=(o,l,f)=>[o,l,f],$v=(o,l,f)=>{Object.defineProperty(o,l,{get:()=>{let h=f();return Object.defineProperty(o,l,{value:h,enumerable:!0,configurable:!0}),h},enumerable:!0,configurable:!0})},MD,em=(o,l,f,h)=>{MD===void 0&&(MD=_T());let E=h?10:0,t={};for(let[N,F]of Object.entries(MD)){let k=N==="ansi16"?"ansi":N;N===l?t[k]=o(f,E):typeof F=="object"&&(t[k]=o(F[l],E))}return t};function XP(){let o=new Map,l={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};l.color.gray=l.color.blackBright,l.bgColor.bgGray=l.bgColor.bgBlackBright,l.color.grey=l.color.blackBright,l.bgColor.bgGrey=l.bgColor.bgBlackBright;for(let[f,h]of Object.entries(l)){for(let[E,t]of Object.entries(h))l[E]={open:`\x1B[${t[0]}m`,close:`\x1B[${t[1]}m`},h[E]=l[E],o.set(t[0],t[1]);Object.defineProperty(l,f,{value:h,enumerable:!1})}return Object.defineProperty(l,"codes",{value:o,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",$v(l.color,"ansi",()=>em(ET,"ansi16",V_,!1)),$v(l.color,"ansi256",()=>em(DT,"ansi256",V_,!1)),$v(l.color,"ansi16m",()=>em(wT,"rgb",ST,!1)),$v(l.bgColor,"ansi",()=>em(ET,"ansi16",V_,!0)),$v(l.bgColor,"ansi256",()=>em(DT,"ansi256",V_,!0)),$v(l.bgColor,"ansi16m",()=>em(wT,"rgb",ST,!0)),l}Object.defineProperty(TT,"exports",{enumerable:!0,get:XP})});var RT=nt((UH,xT)=>{"use strict";var Jy=q_(),QP=DD(),JP=G_(),ND=new Set(["\x1B","\x9B"]),ZP=39,CT=o=>`${ND.values().next().value}[${o}m`,$P=o=>o.split(" ").map(l=>Jy(l)),kD=(o,l,f)=>{let h=[...l],E=!1,t=Jy(QP(o[o.length-1]));for(let[N,F]of h.entries()){let k=Jy(F);if(t+k<=f?o[o.length-1]+=F:(o.push(F),t=0),ND.has(F))E=!0;else if(E&&F==="m"){E=!1;continue}E||(t+=k,t===f&&N0&&o.length>1&&(o[o.length-2]+=o.pop())},eI=o=>{let l=o.split(" "),f=l.length;for(;f>0&&!(Jy(l[f-1])>0);)f--;return f===l.length?o:l.slice(0,f).join(" ")+l.slice(f).join("")},tI=(o,l,f={})=>{if(f.trim!==!1&&o.trim()==="")return"";let h="",E="",t,N=$P(o),F=[""];for(let[k,x]of o.split(" ").entries()){f.trim!==!1&&(F[F.length-1]=F[F.length-1].trimLeft());let j=Jy(F[F.length-1]);if(k!==0&&(j>=l&&(f.wordWrap===!1||f.trim===!1)&&(F.push(""),j=0),(j>0||f.trim===!1)&&(F[F.length-1]+=" ",j++)),f.hard&&N[k]>l){let q=l-j,V=1+Math.floor((N[k]-q-1)/l);Math.floor((N[k]-1)/l)l&&j>0&&N[k]>0){if(f.wordWrap===!1&&jl&&f.wordWrap===!1){kD(F,x,l);continue}F[F.length-1]+=x}f.trim!==!1&&(F=F.map(eI)),h=F.join(` +`);for(let[k,x]of[...h].entries()){if(E+=x,ND.has(x)){let q=parseFloat(/\d[^m]*/.exec(h.slice(k,k+4)));t=q===ZP?null:q}let j=JP.codes.get(Number(t));t&&j&&(h[k+1]===` +`?E+=CT(j):x===` +`&&(E+=CT(t)))}return E};xT.exports=(o,l,f)=>String(o).normalize().replace(/\r\n/g,` `).split(` -`).map(p=>aI(p,o,a)).join(` -`)});var _T=tt((VH,yT)=>{"use strict";var gT="[\uD800-\uDBFF][\uDC00-\uDFFF]",fI=i=>i&&i.exact?new RegExp(`^${gT}$`):new RegExp(gT,"g");yT.exports=fI});var ND=tt((GH,ET)=>{"use strict";var cI=wD(),dI=_T(),DT=H_(),wT=["","\x9B"],q_=i=>`${wT[0]}[${i}m`,ST=(i,o,a)=>{let p=[];i=[...i];for(let _ of i){let t=_;_.match(";")&&(_=_.split(";")[0][0]+"0");let k=DT.codes.get(parseInt(_,10));if(k){let L=i.indexOf(k.toString());L>=0?i.splice(L,1):p.push(q_(o?k:t))}else if(o){p.push(q_(0));break}else p.push(q_(t))}if(o&&(p=p.filter((_,t)=>p.indexOf(_)===t),a!==void 0)){let _=q_(DT.codes.get(parseInt(a,10)));p=p.reduce((t,k)=>k===_?[k,...t]:[...t,k],[])}return p.join("")};ET.exports=(i,o,a)=>{let p=[...i.normalize()],_=[];a=typeof a=="number"?a:p.length;let t=!1,k,L=0,O="";for(let[C,U]of p.entries()){let H=!1;if(wT.includes(U)){let W=/\d[^m]*/.exec(i.slice(C,C+18));k=W&&W.length>0?W[0]:void 0,Lo&&L<=a)O+=U;else if(L===o&&!t&&k!==void 0)O=ST(_);else if(L>=a){O+=ST(_,!0,k);break}}return O}});var CT=tt((YH,TT)=>{"use strict";var d2=ND(),pI=U_();function W_(i,o,a){if(i.charAt(o)===" ")return o;for(let p=1;p<=3;p++)if(a){if(i.charAt(o+p)===" ")return o+p}else if(i.charAt(o-p)===" ")return o-p;return o}TT.exports=(i,o,a)=>{a=Ht({position:"end",preferTruncationOnSpace:!1},a);let{position:p,space:_,preferTruncationOnSpace:t}=a,k="\u2026",L=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof o!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof o}`);if(o<1)return"";if(o===1)return k;let O=pI(i);if(O<=o)return i;if(p==="start"){if(t){let C=W_(i,O-o+1,!0);return k+d2(i,C,O).trim()}return _===!0&&(k+=" ",L=2),k+d2(i,O-o+L,O)}if(p==="middle"){_===!0&&(k=" "+k+" ",L=3);let C=Math.floor(o/2);if(t){let U=W_(i,C),H=W_(i,O-(o-C)+1,!0);return d2(i,0,U)+k+d2(i,H,O).trim()}return d2(i,0,C)+k+d2(i,O-(o-C)+L,O)}if(p==="end"){if(t){let C=W_(i,o-1);return d2(i,0,C)+k}return _===!0&&(k=" "+k,L=2),d2(i,0,o-L)+k}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${p}`)}});var FD=tt(Ky=>{"use strict";var xT=Ky&&Ky.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ky,"__esModule",{value:!0});var hI=xT(mT()),vI=xT(CT()),LD={};Ky.default=(i,o,a)=>{let p=i+String(o)+String(a);if(LD[p])return LD[p];let _=i;if(a==="wrap"&&(_=hI.default(i,o,{trim:!1,hard:!0})),a.startsWith("truncate")){let t="end";a==="truncate-middle"&&(t="middle"),a==="truncate-start"&&(t="start"),_=vI.default(i,o,{position:t})}return LD[p]=_,_}});var ID=tt(PD=>{"use strict";Object.defineProperty(PD,"__esModule",{value:!0});var RT=i=>{let o="";if(i.childNodes.length>0)for(let a of i.childNodes){let p="";a.nodeName==="#text"?p=a.nodeValue:((a.nodeName==="ink-text"||a.nodeName==="ink-virtual-text")&&(p=RT(a)),p.length>0&&typeof a.internal_transform=="function"&&(p=a.internal_transform(p))),o+=p}return o};PD.default=RT});var bD=tt(c0=>{"use strict";var Xy=c0&&c0.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(c0,"__esModule",{value:!0});c0.setTextNodeValue=c0.createTextNode=c0.setStyle=c0.setAttribute=c0.removeChildNode=c0.insertBeforeNode=c0.appendChildNode=c0.createNode=c0.TEXT_NAME=void 0;var mI=Xy($p()),AT=Xy($S()),yI=Xy(eT()),gI=Xy(FD()),_I=Xy(ID());c0.TEXT_NAME="#text";c0.createNode=i=>{var o;let a={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:mI.default.Node.create()};return i==="ink-text"&&((o=a.yogaNode)===null||o===void 0||o.setMeasureFunc(EI.bind(null,a))),a};c0.appendChildNode=(i,o)=>{var a;o.parentNode&&c0.removeChildNode(o.parentNode,o),o.parentNode=i,i.childNodes.push(o),o.yogaNode&&((a=i.yogaNode)===null||a===void 0||a.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&V_(i)};c0.insertBeforeNode=(i,o,a)=>{var p,_;o.parentNode&&c0.removeChildNode(o.parentNode,o),o.parentNode=i;let t=i.childNodes.indexOf(a);if(t>=0){i.childNodes.splice(t,0,o),o.yogaNode&&((p=i.yogaNode)===null||p===void 0||p.insertChild(o.yogaNode,t));return}i.childNodes.push(o),o.yogaNode&&((_=i.yogaNode)===null||_===void 0||_.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&V_(i)};c0.removeChildNode=(i,o)=>{var a,p;o.yogaNode&&((p=(a=o.parentNode)===null||a===void 0?void 0:a.yogaNode)===null||p===void 0||p.removeChild(o.yogaNode)),o.parentNode=null;let _=i.childNodes.indexOf(o);_>=0&&i.childNodes.splice(_,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&V_(i)};c0.setAttribute=(i,o,a)=>{i.attributes[o]=a};c0.setStyle=(i,o)=>{i.style=o,i.yogaNode&&yI.default(i.yogaNode,o)};c0.createTextNode=i=>{let o={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return c0.setTextNodeValue(o,i),o};var EI=function(i,o){var a,p;let _=i.nodeName==="#text"?i.nodeValue:_I.default(i),t=AT.default(_);if(t.width<=o||t.width>=1&&o>0&&o<1)return t;let k=(p=(a=i.style)===null||a===void 0?void 0:a.textWrap)!==null&&p!==void 0?p:"wrap",L=gI.default(_,o,k);return AT.default(L)},OT=i=>{var o;if(!(!i||!i.parentNode))return(o=i.yogaNode)!==null&&o!==void 0?o:OT(i.parentNode)},V_=i=>{let o=OT(i);o==null||o.markDirty()};c0.setTextNodeValue=(i,o)=>{typeof o!="string"&&(o=String(o)),i.nodeValue=o,V_(i)}});var eh=tt((JH,MT)=>{"use strict";MT.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Qy=tt((ZH,BD)=>{"use strict";var{EMPTY_BUFFER:DI}=eh();function kT(i,o){if(i.length===0)return DI;if(i.length===1)return i[0];let a=Buffer.allocUnsafe(o),p=0;for(let _=0;_{"use strict";var IT=Symbol("kDone"),UD=Symbol("kRun"),bT=class{constructor(o){this[IT]=()=>{this.pending--,this[UD]()},this.concurrency=o||Infinity,this.jobs=[],this.pending=0}add(o){this.jobs.push(o),this[UD]()}[UD](){if(this.pending!==this.concurrency&&this.jobs.length){let o=this.jobs.shift();this.pending++,o(this[IT])}}};PT.exports=bT});var $y=tt((eq,UT)=>{"use strict";var Jy=require("zlib"),jT=Qy(),wI=BT(),{kStatusCode:zT,NOOP:SI}=eh(),TI=Buffer.from([0,0,255,255]),Y_=Symbol("permessage-deflate"),K1=Symbol("total-length"),Zy=Symbol("callback"),p2=Symbol("buffers"),jD=Symbol("error"),K_,HT=class{constructor(o,a,p){if(this._maxPayload=p|0,this._options=o||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!a,this._deflate=null,this._inflate=null,this.params=null,!K_){let _=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;K_=new wI(_)}}static get extensionName(){return"permessage-deflate"}offer(){let o={};return this._options.serverNoContextTakeover&&(o.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(o.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(o.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?o.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(o.client_max_window_bits=!0),o}accept(o){return o=this.normalizeParams(o),this.params=this._isServer?this.acceptAsServer(o):this.acceptAsClient(o),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let o=this._deflate[Zy];this._deflate.close(),this._deflate=null,o&&o(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(o){let a=this._options,p=o.find(_=>!(a.serverNoContextTakeover===!1&&_.server_no_context_takeover||_.server_max_window_bits&&(a.serverMaxWindowBits===!1||typeof a.serverMaxWindowBits=="number"&&a.serverMaxWindowBits>_.server_max_window_bits)||typeof a.clientMaxWindowBits=="number"&&!_.client_max_window_bits));if(!p)throw new Error("None of the extension offers can be accepted");return a.serverNoContextTakeover&&(p.server_no_context_takeover=!0),a.clientNoContextTakeover&&(p.client_no_context_takeover=!0),typeof a.serverMaxWindowBits=="number"&&(p.server_max_window_bits=a.serverMaxWindowBits),typeof a.clientMaxWindowBits=="number"?p.client_max_window_bits=a.clientMaxWindowBits:(p.client_max_window_bits===!0||a.clientMaxWindowBits===!1)&&delete p.client_max_window_bits,p}acceptAsClient(o){let a=o[0];if(this._options.clientNoContextTakeover===!1&&a.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!a.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(a.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&a.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return a}normalizeParams(o){return o.forEach(a=>{Object.keys(a).forEach(p=>{let _=a[p];if(_.length>1)throw new Error(`Parameter "${p}" must have only a single value`);if(_=_[0],p==="client_max_window_bits"){if(_!==!0){let t=+_;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${_}`);_=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${p}": ${_}`)}else if(p==="server_max_window_bits"){let t=+_;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${_}`);_=t}else if(p==="client_no_context_takeover"||p==="server_no_context_takeover"){if(_!==!0)throw new TypeError(`Invalid value for parameter "${p}": ${_}`)}else throw new Error(`Unknown parameter "${p}"`);a[p]=_})}),o}decompress(o,a,p){K_.add(_=>{this._decompress(o,a,(t,k)=>{_(),p(t,k)})})}compress(o,a,p){K_.add(_=>{this._compress(o,a,(t,k)=>{_(),p(t,k)})})}_decompress(o,a,p){let _=this._isServer?"client":"server";if(!this._inflate){let t=`${_}_max_window_bits`,k=typeof this.params[t]!="number"?Jy.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=Jy.createInflateRaw(Zr(Ht({},this._options.zlibInflateOptions),{windowBits:k})),this._inflate[Y_]=this,this._inflate[K1]=0,this._inflate[p2]=[],this._inflate.on("error",xI),this._inflate.on("data",qT)}this._inflate[Zy]=p,this._inflate.write(o),a&&this._inflate.write(TI),this._inflate.flush(()=>{let t=this._inflate[jD];if(t){this._inflate.close(),this._inflate=null,p(t);return}let k=jT.concat(this._inflate[p2],this._inflate[K1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[K1]=0,this._inflate[p2]=[],a&&this.params[`${_}_no_context_takeover`]&&this._inflate.reset()),p(null,k)})}_compress(o,a,p){let _=this._isServer?"server":"client";if(!this._deflate){let t=`${_}_max_window_bits`,k=typeof this.params[t]!="number"?Jy.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=Jy.createDeflateRaw(Zr(Ht({},this._options.zlibDeflateOptions),{windowBits:k})),this._deflate[K1]=0,this._deflate[p2]=[],this._deflate.on("error",SI),this._deflate.on("data",CI)}this._deflate[Zy]=p,this._deflate.write(o),this._deflate.flush(Jy.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=jT.concat(this._deflate[p2],this._deflate[K1]);a&&(t=t.slice(0,t.length-4)),this._deflate[Zy]=null,this._deflate[K1]=0,this._deflate[p2]=[],a&&this.params[`${_}_no_context_takeover`]&&this._deflate.reset(),p(null,t)})}};UT.exports=HT;function CI(i){this[p2].push(i),this[K1]+=i.length}function qT(i){if(this[K1]+=i.length,this[Y_]._maxPayload<1||this[K1]<=this[Y_]._maxPayload){this[p2].push(i);return}this[jD]=new RangeError("Max payload size exceeded"),this[jD][zT]=1009,this.removeListener("data",qT),this.reset()}function xI(i){this[Y_]._inflate=null,i[zT]=1007,this[Zy](i)}});var HD=tt((tq,zD)=>{"use strict";function WT(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function VT(i){let o=i.length,a=0;for(;a=o||(i[a+1]&192)!=128||(i[a+2]&192)!=128||i[a]===224&&(i[a+1]&224)==128||i[a]===237&&(i[a+1]&224)==160)return!1;a+=3}else if((i[a]&248)==240){if(a+3>=o||(i[a+1]&192)!=128||(i[a+2]&192)!=128||(i[a+3]&192)!=128||i[a]===240&&(i[a+1]&240)==128||i[a]===244&&i[a+1]>143||i[a]>244)return!1;a+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),zD.exports={isValidStatusCode:WT,isValidUTF8(o){return o.length<150?VT(o):i(o)}}}catch(i){zD.exports={isValidStatusCode:WT,isValidUTF8:VT}}});var VD=tt((nq,GT)=>{"use strict";var{Writable:RI}=require("stream"),YT=$y(),{BINARY_TYPES:AI,EMPTY_BUFFER:OI,kStatusCode:MI,kWebSocket:kI}=eh(),{concat:qD,toArrayBuffer:NI,unmask:LI}=Qy(),{isValidStatusCode:FI,isValidUTF8:KT}=HD(),eg=0,XT=1,QT=2,JT=3,WD=4,PI=5,ZT=class extends RI{constructor(o,a,p,_){super();this._binaryType=o||AI[0],this[kI]=void 0,this._extensions=a||{},this._isServer=!!p,this._maxPayload=_|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=eg,this._loop=!1}_write(o,a,p){if(this._opcode===8&&this._state==eg)return p();this._bufferedBytes+=o.length,this._buffers.push(o),this.startLoop(p)}consume(o){if(this._bufferedBytes-=o,o===this._buffers[0].length)return this._buffers.shift();if(o=p.length?a.set(this._buffers.shift(),_):(a.set(new Uint8Array(p.buffer,p.byteOffset,o),_),this._buffers[0]=p.slice(o)),o-=p.length}while(o>0);return a}startLoop(o){let a;this._loop=!0;do switch(this._state){case eg:a=this.getInfo();break;case XT:a=this.getPayloadLength16();break;case QT:a=this.getPayloadLength64();break;case JT:this.getMask();break;case WD:a=this.getData(o);break;default:this._loop=!1;return}while(this._loop);o(a)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!=0)return this._loop=!1,Yo(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let a=(o[0]&64)==64;if(a&&!this._extensions[YT.extensionName])return this._loop=!1,Yo(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(o[0]&128)==128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(a)return this._loop=!1,Yo(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Yo(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Yo(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=a}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Yo(RangeError,"FIN must be set",!0,1002);if(a)return this._loop=!1,Yo(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Yo(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Yo(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Yo(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Yo(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=XT;else if(this._payloadLength===127)this._state=QT;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),a=o.readUInt32BE(0);return a>Math.pow(2,53-32)-1?(this._loop=!1,Yo(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=a*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Yo(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=JT:this._state=WD}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=WD}getData(o){let a=OI;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(a);if(this._compressed){this._state=PI,this.decompress(a,o);return}return a.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(a)),this.dataMessage()}decompress(o,a){this._extensions[YT.extensionName].decompress(o,this._fin,(_,t)=>{if(_)return a(_);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return a(Yo(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let k=this.dataMessage();if(k)return a(k);this.startLoop(a)})}dataMessage(){if(this._fin){let o=this._messageLength,a=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let p;this._binaryType==="nodebuffer"?p=qD(a,o):this._binaryType==="arraybuffer"?p=NI(qD(a,o)):p=a,this.emit("message",p)}else{let p=qD(a,o);if(!KT(p))return this._loop=!1,Yo(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",p.toString())}}this._state=eg}controlMessage(o){if(this._opcode===8)if(this._loop=!1,o.length===0)this.emit("conclude",1005,""),this.end();else{if(o.length===1)return Yo(RangeError,"invalid payload length 1",!0,1002);{let a=o.readUInt16BE(0);if(!FI(a))return Yo(RangeError,`invalid status code ${a}`,!0,1002);let p=o.slice(2);if(!KT(p))return Yo(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",a,p.toString()),this.end()}}else this._opcode===9?this.emit("ping",o):this.emit("pong",o);this._state=eg}};GT.exports=ZT;function Yo(i,o,a,p){let _=new i(a?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(_,Yo),_[MI]=p,_}});var GD=tt((rq,$T)=>{"use strict";var{randomFillSync:II}=require("crypto"),eC=$y(),{EMPTY_BUFFER:bI}=eh(),{isValidStatusCode:BI}=HD(),{mask:tC,toBuffer:X1}=Qy(),th=Buffer.alloc(4),Q1=class{constructor(o,a){this._extensions=a||{},this._socket=o,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(o,a){let p=a.mask&&a.readOnly,_=a.mask?6:2,t=o.length;o.length>=65536?(_+=8,t=127):o.length>125&&(_+=2,t=126);let k=Buffer.allocUnsafe(p?o.length+_:_);return k[0]=a.fin?a.opcode|128:a.opcode,a.rsv1&&(k[0]|=64),k[1]=t,t===126?k.writeUInt16BE(o.length,2):t===127&&(k.writeUInt32BE(0,2),k.writeUInt32BE(o.length,6)),a.mask?(II(th,0,4),k[1]|=128,k[_-4]=th[0],k[_-3]=th[1],k[_-2]=th[2],k[_-1]=th[3],p?(tC(o,th,k,_,o.length),[k]):(tC(o,th,o,0,o.length),[k,o])):[k,o]}close(o,a,p,_){let t;if(o===void 0)t=bI;else{if(typeof o!="number"||!BI(o))throw new TypeError("First argument must be a valid error code number");if(a===void 0||a==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(o,0);else{let k=Buffer.byteLength(a);if(k>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+k),t.writeUInt16BE(o,0),t.write(a,2)}}this._deflating?this.enqueue([this.doClose,t,p,_]):this.doClose(t,p,_)}doClose(o,a,p){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:8,mask:a,readOnly:!1}),p)}ping(o,a,p){let _=X1(o);if(_.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,_,a,X1.readOnly,p]):this.doPing(_,a,X1.readOnly,p)}doPing(o,a,p,_){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:9,mask:a,readOnly:p}),_)}pong(o,a,p){let _=X1(o);if(_.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,_,a,X1.readOnly,p]):this.doPong(_,a,X1.readOnly,p)}doPong(o,a,p,_){this.sendFrame(Q1.frame(o,{fin:!0,rsv1:!1,opcode:10,mask:a,readOnly:p}),_)}send(o,a,p){let _=X1(o),t=this._extensions[eC.extensionName],k=a.binary?2:1,L=a.compress;if(this._firstFragment?(this._firstFragment=!1,L&&t&&(L=_.length>=t._threshold),this._compress=L):(L=!1,k=0),a.fin&&(this._firstFragment=!0),t){let O={fin:a.fin,rsv1:L,opcode:k,mask:a.mask,readOnly:X1.readOnly};this._deflating?this.enqueue([this.dispatch,_,this._compress,O,p]):this.dispatch(_,this._compress,O,p)}else this.sendFrame(Q1.frame(_,{fin:a.fin,rsv1:!1,opcode:k,mask:a.mask,readOnly:X1.readOnly}),p)}dispatch(o,a,p,_){if(!a){this.sendFrame(Q1.frame(o,p),_);return}let t=this._extensions[eC.extensionName];this._bufferedBytes+=o.length,this._deflating=!0,t.compress(o,p.fin,(k,L)=>{if(this._socket.destroyed){let O=new Error("The socket was closed while data was being compressed");typeof _=="function"&&_(O);for(let C=0;C{"use strict";var tg=class{constructor(o,a){this.target=a,this.type=o}},rC=class extends tg{constructor(o,a){super("message",a);this.data=o}},iC=class extends tg{constructor(o,a,p){super("close",p);this.wasClean=p._closeFrameReceived&&p._closeFrameSent,this.reason=a,this.code=o}},uC=class extends tg{constructor(o){super("open",o)}},oC=class extends tg{constructor(o,a){super("error",a);this.message=o.message,this.error=o}},UI={addEventListener(i,o,a){if(typeof o!="function")return;function p(O){o.call(this,new rC(O,this))}function _(O,C){o.call(this,new iC(O,C,this))}function t(O){o.call(this,new oC(O,this))}function k(){o.call(this,new uC(this))}let L=a&&a.once?"once":"on";i==="message"?(p._listener=o,this[L](i,p)):i==="close"?(_._listener=o,this[L](i,_)):i==="error"?(t._listener=o,this[L](i,t)):i==="open"?(k._listener=o,this[L](i,k)):this[L](i,o)},removeEventListener(i,o){let a=this.listeners(i);for(let p=0;p{"use strict";var ng=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function jc(i,o,a){i[o]===void 0?i[o]=[a]:i[o].push(a)}function jI(i){let o=Object.create(null);if(i===void 0||i==="")return o;let a=Object.create(null),p=!1,_=!1,t=!1,k,L,O=-1,C=-1,U=0;for(;U{let a=i[o];return Array.isArray(a)||(a=[a]),a.map(p=>[o].concat(Object.keys(p).map(_=>{let t=p[_];return Array.isArray(t)||(t=[t]),t.map(k=>k===!0?_:`${_}=${k}`).join("; ")})).join("; ")).join(", ")}).join(", ")}sC.exports={format:zI,parse:jI}});var ZD=tt((oq,aC)=>{"use strict";var HI=require("events"),qI=require("https"),WI=require("http"),fC=require("net"),VI=require("tls"),{randomBytes:GI,createHash:YI}=require("crypto"),{URL:KD}=require("url"),h2=$y(),KI=VD(),XI=GD(),{BINARY_TYPES:cC,EMPTY_BUFFER:XD,GUID:QI,kStatusCode:JI,kWebSocket:ta,NOOP:dC}=eh(),{addEventListener:ZI,removeEventListener:$I}=lC(),{format:eb,parse:tb}=YD(),{toBuffer:nb}=Qy(),pC=["CONNECTING","OPEN","CLOSING","CLOSED"],QD=[8,13],rb=30*1e3,Gi=class extends HI{constructor(o,a,p){super();this._binaryType=cC[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=Gi.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,o!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(a)?a=a.join(", "):typeof a=="object"&&a!==null&&(p=a,a=void 0),hC(this,o,a,p)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(o){!cC.includes(o)||(this._binaryType=o,this._receiver&&(this._receiver._binaryType=o))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(o,a,p){let _=new KI(this.binaryType,this._extensions,this._isServer,p);this._sender=new XI(o,this._extensions),this._receiver=_,this._socket=o,_[ta]=this,o[ta]=this,_.on("conclude",ib),_.on("drain",ub),_.on("error",ob),_.on("message",lb),_.on("ping",sb),_.on("pong",ab),o.setTimeout(0),o.setNoDelay(),a.length>0&&o.unshift(a),o.on("close",vC),o.on("data",X_),o.on("end",mC),o.on("error",yC),this._readyState=Gi.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=Gi.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[h2.extensionName]&&this._extensions[h2.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=Gi.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(o,a){if(this.readyState!==Gi.CLOSED){if(this.readyState===Gi.CONNECTING){let p="WebSocket was closed before the connection was established";return J1(this,this._req,p)}if(this.readyState===Gi.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=Gi.CLOSING,this._sender.close(o,a,!this._isServer,p=>{p||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),rb)}}ping(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=a=void 0):typeof a=="function"&&(p=a,a=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}a===void 0&&(a=!this._isServer),this._sender.ping(o||XD,a,p)}pong(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=a=void 0):typeof a=="function"&&(p=a,a=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}a===void 0&&(a=!this._isServer),this._sender.pong(o||XD,a,p)}send(o,a,p){if(this.readyState===Gi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof a=="function"&&(p=a,a={}),typeof o=="number"&&(o=o.toString()),this.readyState!==Gi.OPEN){JD(this,o,p);return}let _=Ht({binary:typeof o!="string",mask:!this._isServer,compress:!0,fin:!0},a);this._extensions[h2.extensionName]||(_.compress=!1),this._sender.send(o||XD,_,p)}terminate(){if(this.readyState!==Gi.CLOSED){if(this.readyState===Gi.CONNECTING){let o="WebSocket was closed before the connection was established";return J1(this,this._req,o)}this._socket&&(this._readyState=Gi.CLOSING,this._socket.destroy())}}};pC.forEach((i,o)=>{let a={enumerable:!0,value:o};Object.defineProperty(Gi.prototype,i,a),Object.defineProperty(Gi,i,a)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(Gi.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(Gi.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let o=this.listeners(i);for(let a=0;a{J1(i,W,"Opening handshake has timed out")}),W.on("error",ne=>{W===null||W.aborted||(W=i._req=null,i._readyState=Gi.CLOSING,i.emit("error",ne),i.emitClose())}),W.on("response",ne=>{let m=ne.headers.location,he=ne.statusCode;if(m&&_.followRedirects&&he>=300&&he<400){if(++i._redirects>_.maxRedirects){J1(i,W,"Maximum redirects exceeded");return}W.abort();let Ee=new KD(m,o);hC(i,Ee,a,p)}else i.emit("unexpected-response",W,ne)||J1(i,W,`Unexpected server response: ${ne.statusCode}`)}),W.on("upgrade",(ne,m,he)=>{if(i.emit("upgrade",ne),i.readyState!==Gi.CONNECTING)return;W=i._req=null;let Ee=YI("sha1").update(C+QI).digest("base64");if(ne.headers["sec-websocket-accept"]!==Ee){J1(i,m,"Invalid Sec-WebSocket-Accept header");return}let ve=ne.headers["sec-websocket-protocol"],se=(a||"").split(/, */),De;if(!a&&ve?De="Server sent a subprotocol but none was requested":a&&!ve?De="Server sent no subprotocol":ve&&!se.includes(ve)&&(De="Server sent an invalid subprotocol"),De){J1(i,m,De);return}if(ve&&(i._protocol=ve),H)try{let pe=tb(ne.headers["sec-websocket-extensions"]);pe[h2.extensionName]&&(H.accept(pe[h2.extensionName]),i._extensions[h2.extensionName]=H)}catch(pe){J1(i,m,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(m,he,_.maxPayload)})}function fb(i){return i.path=i.socketPath,fC.connect(i)}function cb(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=fC.isIP(i.host)?"":i.host),VI.connect(i)}function J1(i,o,a){i._readyState=Gi.CLOSING;let p=new Error(a);Error.captureStackTrace(p,J1),o.setHeader?(o.abort(),o.socket&&!o.socket.destroyed&&o.socket.destroy(),o.once("abort",i.emitClose.bind(i)),i.emit("error",p)):(o.destroy(p),o.once("error",i.emit.bind(i,"error")),o.once("close",i.emitClose.bind(i)))}function JD(i,o,a){if(o){let p=nb(o).length;i._socket?i._sender._bufferedBytes+=p:i._bufferedAmount+=p}if(a){let p=new Error(`WebSocket is not open: readyState ${i.readyState} (${pC[i.readyState]})`);a(p)}}function ib(i,o){let a=this[ta];a._socket.removeListener("data",X_),a._socket.resume(),a._closeFrameReceived=!0,a._closeMessage=o,a._closeCode=i,i===1005?a.close():a.close(i,o)}function ub(){this[ta]._socket.resume()}function ob(i){let o=this[ta];o._socket.removeListener("data",X_),o._readyState=Gi.CLOSING,o._closeCode=i[JI],o.emit("error",i),o._socket.destroy()}function gC(){this[ta].emitClose()}function lb(i){this[ta].emit("message",i)}function sb(i){let o=this[ta];o.pong(i,!o._isServer,dC),o.emit("ping",i)}function ab(i){this[ta].emit("pong",i)}function vC(){let i=this[ta];this.removeListener("close",vC),this.removeListener("end",mC),i._readyState=Gi.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",X_),this[ta]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",gC),i._receiver.on("finish",gC))}function X_(i){this[ta]._receiver.write(i)||this.pause()}function mC(){let i=this[ta];i._readyState=Gi.CLOSING,i._receiver.end(),this.end()}function yC(){let i=this[ta];this.removeListener("error",yC),this.on("error",dC),i&&(i._readyState=Gi.CLOSING,this.destroy())}});var wC=tt((lq,_C)=>{"use strict";var{Duplex:db}=require("stream");function EC(i){i.emit("close")}function pb(){!this.destroyed&&this._writableState.finished&&this.destroy()}function DC(i){this.removeListener("error",DC),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function hb(i,o){let a=!0;function p(){a&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p));let _=new db(Zr(Ht({},o),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(k){_.push(k)||(a=!1,i._socket.pause())}),i.once("error",function(k){_.destroyed||_.destroy(k)}),i.once("close",function(){_.destroyed||_.push(null)}),_._destroy=function(t,k){if(i.readyState===i.CLOSED){k(t),process.nextTick(EC,_);return}let L=!1;i.once("error",function(C){L=!0,k(C)}),i.once("close",function(){L||k(t),process.nextTick(EC,_)}),i.terminate()},_._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){_._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),_._readableState.endEmitted&&_.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},_._read=function(){i.readyState===i.OPEN&&!a&&(a=!0,i._receiver._writableState.needDrain||i._socket.resume())},_._write=function(t,k,L){if(i.readyState===i.CONNECTING){i.once("open",function(){_._write(t,k,L)});return}i.send(t,L)},_.on("end",pb),_.on("error",DC),_}_C.exports=hb});var CC=tt((sq,SC)=>{"use strict";var vb=require("events"),{createHash:mb}=require("crypto"),{createServer:yb,STATUS_CODES:$D}=require("http"),nh=$y(),gb=ZD(),{format:_b,parse:Eb}=YD(),{GUID:Db,kWebSocket:wb}=eh(),Sb=/^[+/0-9A-Za-z]{22}==$/,TC=class extends vb{constructor(o,a){super();if(o=Ht({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},o),o.port==null&&!o.server&&!o.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(o.port!=null?(this._server=yb((p,_)=>{let t=$D[426];_.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),_.end(t)}),this._server.listen(o.port,o.host,o.backlog,a)):o.server&&(this._server=o.server),this._server){let p=this.emit.bind(this,"connection");this._removeListeners=Tb(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(_,t,k)=>{this.handleUpgrade(_,t,k,p)}})}o.perMessageDeflate===!0&&(o.perMessageDeflate={}),o.clientTracking&&(this.clients=new Set),this.options=o}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(o){if(o&&this.once("close",o),this.clients)for(let p of this.clients)p.terminate();let a=this._server;if(a&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){a.close(()=>this.emit("close"));return}process.nextTick(Cb,this)}shouldHandle(o){if(this.options.path){let a=o.url.indexOf("?");if((a!==-1?o.url.slice(0,a):o.url)!==this.options.path)return!1}return!0}handleUpgrade(o,a,p,_){a.on("error",e3);let t=o.headers["sec-websocket-key"]!==void 0?o.headers["sec-websocket-key"].trim():!1,k=+o.headers["sec-websocket-version"],L={};if(o.method!=="GET"||o.headers.upgrade.toLowerCase()!=="websocket"||!t||!Sb.test(t)||k!==8&&k!==13||!this.shouldHandle(o))return Q_(a,400);if(this.options.perMessageDeflate){let O=new nh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let C=Eb(o.headers["sec-websocket-extensions"]);C[nh.extensionName]&&(O.accept(C[nh.extensionName]),L[nh.extensionName]=O)}catch(C){return Q_(a,400)}}if(this.options.verifyClient){let O={origin:o.headers[`${k===8?"sec-websocket-origin":"origin"}`],secure:!!(o.socket.authorized||o.socket.encrypted),req:o};if(this.options.verifyClient.length===2){this.options.verifyClient(O,(C,U,H,W)=>{if(!C)return Q_(a,U||401,H,W);this.completeUpgrade(t,L,o,a,p,_)});return}if(!this.options.verifyClient(O))return Q_(a,401)}this.completeUpgrade(t,L,o,a,p,_)}completeUpgrade(o,a,p,_,t,k){if(!_.readable||!_.writable)return _.destroy();if(_[wb])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let L=mb("sha1").update(o+Db).digest("base64"),O=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${L}`],C=new gb(null),U=p.headers["sec-websocket-protocol"];if(U&&(U=U.split(",").map(xb),this.options.handleProtocols?U=this.options.handleProtocols(U,p):U=U[0],U&&(O.push(`Sec-WebSocket-Protocol: ${U}`),C._protocol=U)),a[nh.extensionName]){let H=a[nh.extensionName].params,W=_b({[nh.extensionName]:[H]});O.push(`Sec-WebSocket-Extensions: ${W}`),C._extensions=a}this.emit("headers",O,p),_.write(O.concat(`\r +`).map(h=>tI(h,l,f)).join(` +`)});var MT=nt((jH,OT)=>{"use strict";var AT="[\uD800-\uDBFF][\uDC00-\uDFFF]",nI=o=>o&&o.exact?new RegExp(`^${AT}$`):new RegExp(AT,"g");OT.exports=nI});var LD=nt((zH,FT)=>{"use strict";var rI=SD(),iI=MT(),kT=G_(),LT=["\x1B","\x9B"],Y_=o=>`${LT[0]}[${o}m`,NT=(o,l,f)=>{let h=[];o=[...o];for(let E of o){let t=E;E.match(";")&&(E=E.split(";")[0][0]+"0");let N=kT.codes.get(parseInt(E,10));if(N){let F=o.indexOf(N.toString());F>=0?o.splice(F,1):h.push(Y_(l?N:t))}else if(l){h.push(Y_(0));break}else h.push(Y_(t))}if(l&&(h=h.filter((E,t)=>h.indexOf(E)===t),f!==void 0)){let E=Y_(kT.codes.get(parseInt(f,10)));h=h.reduce((t,N)=>N===E?[N,...t]:[...t,N],[])}return h.join("")};FT.exports=(o,l,f)=>{let h=[...o.normalize()],E=[];f=typeof f=="number"?f:h.length;let t=!1,N,F=0,k="";for(let[x,j]of h.entries()){let q=!1;if(LT.includes(j)){let V=/\d[^m]*/.exec(o.slice(x,x+18));N=V&&V.length>0?V[0]:void 0,Fl&&F<=f)k+=j;else if(F===l&&!t&&N!==void 0)k=NT(E);else if(F>=f){k+=NT(E,!0,N);break}}return k}});var IT=nt((HH,PT)=>{"use strict";var c2=LD(),uI=q_();function K_(o,l,f){if(o.charAt(l)===" ")return l;for(let h=1;h<=3;h++)if(f){if(o.charAt(l+h)===" ")return l+h}else if(o.charAt(l-h)===" ")return l-h;return l}PT.exports=(o,l,f)=>{f={position:"end",preferTruncationOnSpace:!1,...f};let{position:h,space:E,preferTruncationOnSpace:t}=f,N="\u2026",F=1;if(typeof o!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof o}`);if(typeof l!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof l}`);if(l<1)return"";if(l===1)return N;let k=uI(o);if(k<=l)return o;if(h==="start"){if(t){let x=K_(o,k-l+1,!0);return N+c2(o,x,k).trim()}return E===!0&&(N+=" ",F=2),N+c2(o,k-l+F,k)}if(h==="middle"){E===!0&&(N=" "+N+" ",F=3);let x=Math.floor(l/2);if(t){let j=K_(o,x),q=K_(o,k-(l-x)+1,!0);return c2(o,0,j)+N+c2(o,q,k).trim()}return c2(o,0,x)+N+c2(o,k-(l-x)+F,k)}if(h==="end"){if(t){let x=K_(o,l-1);return c2(o,0,x)+N}return E===!0&&(N=" "+N,F=2),c2(o,0,l-F)+N}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${h}`)}});var PD=nt(Zy=>{"use strict";var bT=Zy&&Zy.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Zy,"__esModule",{value:!0});var oI=bT(RT()),lI=bT(IT()),FD={};Zy.default=(o,l,f)=>{let h=o+String(l)+String(f);if(FD[h])return FD[h];let E=o;if(f==="wrap"&&(E=oI.default(o,l,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),E=lI.default(o,l,{position:t})}return FD[h]=E,E}});var bD=nt(ID=>{"use strict";Object.defineProperty(ID,"__esModule",{value:!0});var BT=o=>{let l="";if(o.childNodes.length>0)for(let f of o.childNodes){let h="";f.nodeName==="#text"?h=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(h=BT(f)),h.length>0&&typeof f.internal_transform=="function"&&(h=f.internal_transform(h))),l+=h}return l};ID.default=BT});var BD=nt(f0=>{"use strict";var $y=f0&&f0.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(f0,"__esModule",{value:!0});f0.setTextNodeValue=f0.createTextNode=f0.setStyle=f0.setAttribute=f0.removeChildNode=f0.insertBeforeNode=f0.appendChildNode=f0.createNode=f0.TEXT_NAME=void 0;var sI=$y(eh()),UT=$y(fT()),aI=$y(cT()),fI=$y(PD()),cI=$y(bD());f0.TEXT_NAME="#text";f0.createNode=o=>{var l;let f={nodeName:o,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:o==="ink-virtual-text"?void 0:sI.default.Node.create()};return o==="ink-text"&&((l=f.yogaNode)===null||l===void 0||l.setMeasureFunc(dI.bind(null,f))),f};f0.appendChildNode=(o,l)=>{var f;l.parentNode&&f0.removeChildNode(l.parentNode,l),l.parentNode=o,o.childNodes.push(l),l.yogaNode&&((f=o.yogaNode)===null||f===void 0||f.insertChild(l.yogaNode,o.yogaNode.getChildCount())),(o.nodeName==="ink-text"||o.nodeName==="ink-virtual-text")&&X_(o)};f0.insertBeforeNode=(o,l,f)=>{var h,E;l.parentNode&&f0.removeChildNode(l.parentNode,l),l.parentNode=o;let t=o.childNodes.indexOf(f);if(t>=0){o.childNodes.splice(t,0,l),l.yogaNode&&((h=o.yogaNode)===null||h===void 0||h.insertChild(l.yogaNode,t));return}o.childNodes.push(l),l.yogaNode&&((E=o.yogaNode)===null||E===void 0||E.insertChild(l.yogaNode,o.yogaNode.getChildCount())),(o.nodeName==="ink-text"||o.nodeName==="ink-virtual-text")&&X_(o)};f0.removeChildNode=(o,l)=>{var f,h;l.yogaNode&&((h=(f=l.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||h===void 0||h.removeChild(l.yogaNode)),l.parentNode=null;let E=o.childNodes.indexOf(l);E>=0&&o.childNodes.splice(E,1),(o.nodeName==="ink-text"||o.nodeName==="ink-virtual-text")&&X_(o)};f0.setAttribute=(o,l,f)=>{o.attributes[l]=f};f0.setStyle=(o,l)=>{o.style=l,o.yogaNode&&aI.default(o.yogaNode,l)};f0.createTextNode=o=>{let l={nodeName:"#text",nodeValue:o,yogaNode:void 0,parentNode:null,style:{}};return f0.setTextNodeValue(l,o),l};var dI=function(o,l){var f,h;let E=o.nodeName==="#text"?o.nodeValue:cI.default(o),t=UT.default(E);if(t.width<=l||t.width>=1&&l>0&&l<1)return t;let N=(h=(f=o.style)===null||f===void 0?void 0:f.textWrap)!==null&&h!==void 0?h:"wrap",F=fI.default(E,l,N);return UT.default(F)},jT=o=>{var l;if(!(!o||!o.parentNode))return(l=o.yogaNode)!==null&&l!==void 0?l:jT(o.parentNode)},X_=o=>{let l=jT(o);l==null||l.markDirty()};f0.setTextNodeValue=(o,l)=>{typeof l!="string"&&(l=String(l)),o.nodeValue=l,X_(o)}});var th=nt((GH,zT)=>{"use strict";zT.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var eg=nt((YH,UD)=>{"use strict";var{EMPTY_BUFFER:pI}=th();function HT(o,l){if(o.length===0)return pI;if(o.length===1)return o[0];let f=Buffer.allocUnsafe(l),h=0;for(let E=0;E{"use strict";var GT=Symbol("kDone"),jD=Symbol("kRun"),zD=class{constructor(l){this[GT]=()=>{this.pending--,this[jD]()},this.concurrency=l||1/0,this.jobs=[],this.pending=0}add(l){this.jobs.push(l),this[jD]()}[jD](){if(this.pending!==this.concurrency&&this.jobs.length){let l=this.jobs.shift();this.pending++,l(this[GT])}}};YT.exports=zD});var rg=nt((XH,ZT)=>{"use strict";var tg=hi("zlib"),XT=eg(),hI=KT(),{kStatusCode:QT,NOOP:vI}=th(),mI=Buffer.from([0,0,255,255]),Z_=Symbol("permessage-deflate"),X1=Symbol("total-length"),ng=Symbol("callback"),d2=Symbol("buffers"),HD=Symbol("error"),J_,qD=class{constructor(l,f,h){if(this._maxPayload=h|0,this._options=l||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!J_){let E=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;J_=new hI(E)}}static get extensionName(){return"permessage-deflate"}offer(){let l={};return this._options.serverNoContextTakeover&&(l.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(l.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(l.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?l.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(l.client_max_window_bits=!0),l}accept(l){return l=this.normalizeParams(l),this.params=this._isServer?this.acceptAsServer(l):this.acceptAsClient(l),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let l=this._deflate[ng];this._deflate.close(),this._deflate=null,l&&l(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(l){let f=this._options,h=l.find(E=>!(f.serverNoContextTakeover===!1&&E.server_no_context_takeover||E.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>E.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!E.client_max_window_bits));if(!h)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(h.server_no_context_takeover=!0),f.clientNoContextTakeover&&(h.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(h.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?h.client_max_window_bits=f.clientMaxWindowBits:(h.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete h.client_max_window_bits,h}acceptAsClient(l){let f=l[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(l){return l.forEach(f=>{Object.keys(f).forEach(h=>{let E=f[h];if(E.length>1)throw new Error(`Parameter "${h}" must have only a single value`);if(E=E[0],h==="client_max_window_bits"){if(E!==!0){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${h}": ${E}`);E=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${h}": ${E}`)}else if(h==="server_max_window_bits"){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${h}": ${E}`);E=t}else if(h==="client_no_context_takeover"||h==="server_no_context_takeover"){if(E!==!0)throw new TypeError(`Invalid value for parameter "${h}": ${E}`)}else throw new Error(`Unknown parameter "${h}"`);f[h]=E})}),l}decompress(l,f,h){J_.add(E=>{this._decompress(l,f,(t,N)=>{E(),h(t,N)})})}compress(l,f,h){J_.add(E=>{this._compress(l,f,(t,N)=>{E(),h(t,N)})})}_decompress(l,f,h){let E=this._isServer?"client":"server";if(!this._inflate){let t=`${E}_max_window_bits`,N=typeof this.params[t]!="number"?tg.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=tg.createInflateRaw({...this._options.zlibInflateOptions,windowBits:N}),this._inflate[Z_]=this,this._inflate[X1]=0,this._inflate[d2]=[],this._inflate.on("error",gI),this._inflate.on("data",JT)}this._inflate[ng]=h,this._inflate.write(l),f&&this._inflate.write(mI),this._inflate.flush(()=>{let t=this._inflate[HD];if(t){this._inflate.close(),this._inflate=null,h(t);return}let N=XT.concat(this._inflate[d2],this._inflate[X1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[X1]=0,this._inflate[d2]=[],f&&this.params[`${E}_no_context_takeover`]&&this._inflate.reset()),h(null,N)})}_compress(l,f,h){let E=this._isServer?"server":"client";if(!this._deflate){let t=`${E}_max_window_bits`,N=typeof this.params[t]!="number"?tg.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=tg.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:N}),this._deflate[X1]=0,this._deflate[d2]=[],this._deflate.on("error",vI),this._deflate.on("data",yI)}this._deflate[ng]=h,this._deflate.write(l),this._deflate.flush(tg.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=XT.concat(this._deflate[d2],this._deflate[X1]);f&&(t=t.slice(0,t.length-4)),this._deflate[ng]=null,this._deflate[X1]=0,this._deflate[d2]=[],f&&this.params[`${E}_no_context_takeover`]&&this._deflate.reset(),h(null,t)})}};ZT.exports=qD;function yI(o){this[d2].push(o),this[X1]+=o.length}function JT(o){if(this[X1]+=o.length,this[Z_]._maxPayload<1||this[X1]<=this[Z_]._maxPayload){this[d2].push(o);return}this[HD]=new RangeError("Max payload size exceeded"),this[HD][QT]=1009,this.removeListener("data",JT),this.reset()}function gI(o){this[Z_]._inflate=null,o[QT]=1007,this[ng](o)}});var VD=nt((QH,WD)=>{"use strict";function $T(o){return o>=1e3&&o<=1014&&o!==1004&&o!==1005&&o!==1006||o>=3e3&&o<=4999}function eC(o){let l=o.length,f=0;for(;f=l||(o[f+1]&192)!==128||(o[f+2]&192)!==128||o[f]===224&&(o[f+1]&224)===128||o[f]===237&&(o[f+1]&224)===160)return!1;f+=3}else if((o[f]&248)===240){if(f+3>=l||(o[f+1]&192)!==128||(o[f+2]&192)!==128||(o[f+3]&192)!==128||o[f]===240&&(o[f+1]&240)===128||o[f]===244&&o[f+1]>143||o[f]>244)return!1;f+=4}else return!1;return!0}try{let o=hi("utf-8-validate");typeof o=="object"&&(o=o.Validation.isValidUTF8),WD.exports={isValidStatusCode:$T,isValidUTF8(l){return l.length<150?eC(l):o(l)}}}catch{WD.exports={isValidStatusCode:$T,isValidUTF8:eC}}});var XD=nt((JH,oC)=>{"use strict";var{Writable:_I}=hi("stream"),tC=rg(),{BINARY_TYPES:EI,EMPTY_BUFFER:DI,kStatusCode:wI,kWebSocket:SI}=th(),{concat:GD,toArrayBuffer:TI,unmask:CI}=eg(),{isValidStatusCode:xI,isValidUTF8:nC}=VD(),ig=0,rC=1,iC=2,uC=3,YD=4,RI=5,KD=class extends _I{constructor(l,f,h,E){super(),this._binaryType=l||EI[0],this[SI]=void 0,this._extensions=f||{},this._isServer=!!h,this._maxPayload=E|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=ig,this._loop=!1}_write(l,f,h){if(this._opcode===8&&this._state==ig)return h();this._bufferedBytes+=l.length,this._buffers.push(l),this.startLoop(h)}consume(l){if(this._bufferedBytes-=l,l===this._buffers[0].length)return this._buffers.shift();if(l=h.length?f.set(this._buffers.shift(),E):(f.set(new Uint8Array(h.buffer,h.byteOffset,l),E),this._buffers[0]=h.slice(l)),l-=h.length}while(l>0);return f}startLoop(l){let f;this._loop=!0;do switch(this._state){case ig:f=this.getInfo();break;case rC:f=this.getPayloadLength16();break;case iC:f=this.getPayloadLength64();break;case uC:this.getMask();break;case YD:f=this.getData(l);break;default:this._loop=!1;return}while(this._loop);l(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let l=this.consume(2);if((l[0]&48)!==0)return this._loop=!1,Ko(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(l[0]&64)===64;if(f&&!this._extensions[tC.extensionName])return this._loop=!1,Ko(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(l[0]&128)===128,this._opcode=l[0]&15,this._payloadLength=l[1]&127,this._opcode===0){if(f)return this._loop=!1,Ko(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Ko(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Ko(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Ko(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,Ko(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Ko(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Ko(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(l[1]&128)===128,this._isServer){if(!this._masked)return this._loop=!1,Ko(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Ko(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=rC;else if(this._payloadLength===127)this._state=iC;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let l=this.consume(8),f=l.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,Ko(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+l.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Ko(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=uC:this._state=YD}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=YD}getData(l){let f=DI;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=RI,this.decompress(f,l);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(l,f){this._extensions[tC.extensionName].decompress(l,this._fin,(E,t)=>{if(E)return f(E);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(Ko(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let N=this.dataMessage();if(N)return f(N);this.startLoop(f)})}dataMessage(){if(this._fin){let l=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let h;this._binaryType==="nodebuffer"?h=GD(f,l):this._binaryType==="arraybuffer"?h=TI(GD(f,l)):h=f,this.emit("message",h)}else{let h=GD(f,l);if(!nC(h))return this._loop=!1,Ko(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",h.toString())}}this._state=ig}controlMessage(l){if(this._opcode===8)if(this._loop=!1,l.length===0)this.emit("conclude",1005,""),this.end();else{if(l.length===1)return Ko(RangeError,"invalid payload length 1",!0,1002);{let f=l.readUInt16BE(0);if(!xI(f))return Ko(RangeError,`invalid status code ${f}`,!0,1002);let h=l.slice(2);if(!nC(h))return Ko(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,h.toString()),this.end()}}else this._opcode===9?this.emit("ping",l):this.emit("pong",l);this._state=ig}};oC.exports=KD;function Ko(o,l,f,h){let E=new o(f?`Invalid WebSocket frame: ${l}`:l);return Error.captureStackTrace(E,Ko),E[wI]=h,E}});var QD=nt((ZH,aC)=>{"use strict";var{randomFillSync:AI}=hi("crypto"),lC=rg(),{EMPTY_BUFFER:OI}=th(),{isValidStatusCode:MI}=VD(),{mask:sC,toBuffer:Q1}=eg(),nh=Buffer.alloc(4),jc=class{constructor(l,f){this._extensions=f||{},this._socket=l,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(l,f){let h=f.mask&&f.readOnly,E=f.mask?6:2,t=l.length;l.length>=65536?(E+=8,t=127):l.length>125&&(E+=2,t=126);let N=Buffer.allocUnsafe(h?l.length+E:E);return N[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(N[0]|=64),N[1]=t,t===126?N.writeUInt16BE(l.length,2):t===127&&(N.writeUInt32BE(0,2),N.writeUInt32BE(l.length,6)),f.mask?(AI(nh,0,4),N[1]|=128,N[E-4]=nh[0],N[E-3]=nh[1],N[E-2]=nh[2],N[E-1]=nh[3],h?(sC(l,nh,N,E,l.length),[N]):(sC(l,nh,l,0,l.length),[N,l])):[N,l]}close(l,f,h,E){let t;if(l===void 0)t=OI;else{if(typeof l!="number"||!MI(l))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(l,0);else{let N=Buffer.byteLength(f);if(N>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+N),t.writeUInt16BE(l,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,h,E]):this.doClose(t,h,E)}doClose(l,f,h){this.sendFrame(jc.frame(l,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),h)}ping(l,f,h){let E=Q1(l);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,E,f,Q1.readOnly,h]):this.doPing(E,f,Q1.readOnly,h)}doPing(l,f,h,E){this.sendFrame(jc.frame(l,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:h}),E)}pong(l,f,h){let E=Q1(l);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,E,f,Q1.readOnly,h]):this.doPong(E,f,Q1.readOnly,h)}doPong(l,f,h,E){this.sendFrame(jc.frame(l,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:h}),E)}send(l,f,h){let E=Q1(l),t=this._extensions[lC.extensionName],N=f.binary?2:1,F=f.compress;if(this._firstFragment?(this._firstFragment=!1,F&&t&&(F=E.length>=t._threshold),this._compress=F):(F=!1,N=0),f.fin&&(this._firstFragment=!0),t){let k={fin:f.fin,rsv1:F,opcode:N,mask:f.mask,readOnly:Q1.readOnly};this._deflating?this.enqueue([this.dispatch,E,this._compress,k,h]):this.dispatch(E,this._compress,k,h)}else this.sendFrame(jc.frame(E,{fin:f.fin,rsv1:!1,opcode:N,mask:f.mask,readOnly:Q1.readOnly}),h)}dispatch(l,f,h,E){if(!f){this.sendFrame(jc.frame(l,h),E);return}let t=this._extensions[lC.extensionName];this._bufferedBytes+=l.length,this._deflating=!0,t.compress(l,h.fin,(N,F)=>{if(this._socket.destroyed){let k=new Error("The socket was closed while data was being compressed");typeof E=="function"&&E(k);for(let x=0;x{"use strict";var tm=class{constructor(l,f){this.target=f,this.type=l}},JD=class extends tm{constructor(l,f){super("message",f),this.data=l}},ZD=class extends tm{constructor(l,f,h){super("close",h),this.wasClean=h._closeFrameReceived&&h._closeFrameSent,this.reason=f,this.code=l}},$D=class extends tm{constructor(l){super("open",l)}},e3=class extends tm{constructor(l,f){super("error",f),this.message=l.message,this.error=l}},kI={addEventListener(o,l,f){if(typeof l!="function")return;function h(k){l.call(this,new JD(k,this))}function E(k,x){l.call(this,new ZD(k,x,this))}function t(k){l.call(this,new e3(k,this))}function N(){l.call(this,new $D(this))}let F=f&&f.once?"once":"on";o==="message"?(h._listener=l,this[F](o,h)):o==="close"?(E._listener=l,this[F](o,E)):o==="error"?(t._listener=l,this[F](o,t)):o==="open"?(N._listener=l,this[F](o,N)):this[F](o,l)},removeEventListener(o,l){let f=this.listeners(o);for(let h=0;h{"use strict";var ug=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function zc(o,l,f){o[l]===void 0?o[l]=[f]:o[l].push(f)}function NI(o){let l=Object.create(null);if(o===void 0||o==="")return l;let f=Object.create(null),h=!1,E=!1,t=!1,N,F,k=-1,x=-1,j=0;for(;j{let f=o[l];return Array.isArray(f)||(f=[f]),f.map(h=>[l].concat(Object.keys(h).map(E=>{let t=h[E];return Array.isArray(t)||(t=[t]),t.map(N=>N===!0?E:`${E}=${N}`).join("; ")})).join("; ")).join(", ")}).join(", ")}dC.exports={format:LI,parse:NI}});var o3=nt((tq,wC)=>{"use strict";var FI=hi("events"),PI=hi("https"),II=hi("http"),vC=hi("net"),bI=hi("tls"),{randomBytes:BI,createHash:UI}=hi("crypto"),{URL:n3}=hi("url"),p2=rg(),jI=XD(),zI=QD(),{BINARY_TYPES:pC,EMPTY_BUFFER:r3,GUID:HI,kStatusCode:qI,kWebSocket:ta,NOOP:mC}=th(),{addEventListener:WI,removeEventListener:VI}=cC(),{format:GI,parse:YI}=t3(),{toBuffer:KI}=eg(),yC=["CONNECTING","OPEN","CLOSING","CLOSED"],i3=[8,13],XI=30*1e3,ji=class extends FI{constructor(l,f,h){super(),this._binaryType=pC[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=ji.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,l!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(h=f,f=void 0),gC(this,l,f,h)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(l){!pC.includes(l)||(this._binaryType=l,this._receiver&&(this._receiver._binaryType=l))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(l,f,h){let E=new jI(this.binaryType,this._extensions,this._isServer,h);this._sender=new zI(l,this._extensions),this._receiver=E,this._socket=l,E[ta]=this,l[ta]=this,E.on("conclude",ZI),E.on("drain",$I),E.on("error",eb),E.on("message",tb),E.on("ping",nb),E.on("pong",rb),l.setTimeout(0),l.setNoDelay(),f.length>0&&l.unshift(f),l.on("close",_C),l.on("data",$_),l.on("end",EC),l.on("error",DC),this._readyState=ji.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=ji.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[p2.extensionName]&&this._extensions[p2.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=ji.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(l,f){if(this.readyState!==ji.CLOSED){if(this.readyState===ji.CONNECTING){let h="WebSocket was closed before the connection was established";return J1(this,this._req,h)}if(this.readyState===ji.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=ji.CLOSING,this._sender.close(l,f,!this._isServer,h=>{h||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),XI)}}ping(l,f,h){if(this.readyState===ji.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof l=="function"?(h=l,l=f=void 0):typeof f=="function"&&(h=f,f=void 0),typeof l=="number"&&(l=l.toString()),this.readyState!==ji.OPEN){u3(this,l,h);return}f===void 0&&(f=!this._isServer),this._sender.ping(l||r3,f,h)}pong(l,f,h){if(this.readyState===ji.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof l=="function"?(h=l,l=f=void 0):typeof f=="function"&&(h=f,f=void 0),typeof l=="number"&&(l=l.toString()),this.readyState!==ji.OPEN){u3(this,l,h);return}f===void 0&&(f=!this._isServer),this._sender.pong(l||r3,f,h)}send(l,f,h){if(this.readyState===ji.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(h=f,f={}),typeof l=="number"&&(l=l.toString()),this.readyState!==ji.OPEN){u3(this,l,h);return}let E={binary:typeof l!="string",mask:!this._isServer,compress:!0,fin:!0,...f};this._extensions[p2.extensionName]||(E.compress=!1),this._sender.send(l||r3,E,h)}terminate(){if(this.readyState!==ji.CLOSED){if(this.readyState===ji.CONNECTING){let l="WebSocket was closed before the connection was established";return J1(this,this._req,l)}this._socket&&(this._readyState=ji.CLOSING,this._socket.destroy())}}};yC.forEach((o,l)=>{let f={enumerable:!0,value:l};Object.defineProperty(ji.prototype,o,f),Object.defineProperty(ji,o,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(o=>{Object.defineProperty(ji.prototype,o,{enumerable:!0})});["open","error","close","message"].forEach(o=>{Object.defineProperty(ji.prototype,`on${o}`,{configurable:!0,enumerable:!0,get(){let l=this.listeners(o);for(let f=0;f{J1(o,V,"Opening handshake has timed out")}),V.on("error",re=>{V===null||V.aborted||(V=o._req=null,o._readyState=ji.CLOSING,o.emit("error",re),o.emitClose())}),V.on("response",re=>{let y=re.headers.location,me=re.statusCode;if(y&&E.followRedirects&&me>=300&&me<400){if(++o._redirects>E.maxRedirects){J1(o,V,"Maximum redirects exceeded");return}V.abort();let De=new n3(y,l);gC(o,De,f,h)}else o.emit("unexpected-response",V,re)||J1(o,V,`Unexpected server response: ${re.statusCode}`)}),V.on("upgrade",(re,y,me)=>{if(o.emit("upgrade",re),o.readyState!==ji.CONNECTING)return;V=o._req=null;let De=UI("sha1").update(x+HI).digest("base64");if(re.headers["sec-websocket-accept"]!==De){J1(o,y,"Invalid Sec-WebSocket-Accept header");return}let ge=re.headers["sec-websocket-protocol"],ae=(f||"").split(/, */),we;if(!f&&ge?we="Server sent a subprotocol but none was requested":f&&!ge?we="Server sent no subprotocol":ge&&!ae.includes(ge)&&(we="Server sent an invalid subprotocol"),we){J1(o,y,we);return}if(ge&&(o._protocol=ge),q)try{let he=YI(re.headers["sec-websocket-extensions"]);he[p2.extensionName]&&(q.accept(he[p2.extensionName]),o._extensions[p2.extensionName]=q)}catch{J1(o,y,"Invalid Sec-WebSocket-Extensions header");return}o.setSocket(y,me,E.maxPayload)})}function QI(o){return o.path=o.socketPath,vC.connect(o)}function JI(o){return o.path=void 0,!o.servername&&o.servername!==""&&(o.servername=vC.isIP(o.host)?"":o.host),bI.connect(o)}function J1(o,l,f){o._readyState=ji.CLOSING;let h=new Error(f);Error.captureStackTrace(h,J1),l.setHeader?(l.abort(),l.socket&&!l.socket.destroyed&&l.socket.destroy(),l.once("abort",o.emitClose.bind(o)),o.emit("error",h)):(l.destroy(h),l.once("error",o.emit.bind(o,"error")),l.once("close",o.emitClose.bind(o)))}function u3(o,l,f){if(l){let h=KI(l).length;o._socket?o._sender._bufferedBytes+=h:o._bufferedAmount+=h}if(f){let h=new Error(`WebSocket is not open: readyState ${o.readyState} (${yC[o.readyState]})`);f(h)}}function ZI(o,l){let f=this[ta];f._socket.removeListener("data",$_),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=l,f._closeCode=o,o===1005?f.close():f.close(o,l)}function $I(){this[ta]._socket.resume()}function eb(o){let l=this[ta];l._socket.removeListener("data",$_),l._readyState=ji.CLOSING,l._closeCode=o[qI],l.emit("error",o),l._socket.destroy()}function hC(){this[ta].emitClose()}function tb(o){this[ta].emit("message",o)}function nb(o){let l=this[ta];l.pong(o,!l._isServer,mC),l.emit("ping",o)}function rb(o){this[ta].emit("pong",o)}function _C(){let o=this[ta];this.removeListener("close",_C),this.removeListener("end",EC),o._readyState=ji.CLOSING,o._socket.read(),o._receiver.end(),this.removeListener("data",$_),this[ta]=void 0,clearTimeout(o._closeTimer),o._receiver._writableState.finished||o._receiver._writableState.errorEmitted?o.emitClose():(o._receiver.on("error",hC),o._receiver.on("finish",hC))}function $_(o){this[ta]._receiver.write(o)||this.pause()}function EC(){let o=this[ta];o._readyState=ji.CLOSING,o._receiver.end(),this.end()}function DC(){let o=this[ta];this.removeListener("error",DC),this.on("error",mC),o&&(o._readyState=ji.CLOSING,this.destroy())}});var xC=nt((nq,CC)=>{"use strict";var{Duplex:ib}=hi("stream");function SC(o){o.emit("close")}function ub(){!this.destroyed&&this._writableState.finished&&this.destroy()}function TC(o){this.removeListener("error",TC),this.destroy(),this.listenerCount("error")===0&&this.emit("error",o)}function ob(o,l){let f=!0;function h(){f&&o._socket.resume()}o.readyState===o.CONNECTING?o.once("open",function(){o._receiver.removeAllListeners("drain"),o._receiver.on("drain",h)}):(o._receiver.removeAllListeners("drain"),o._receiver.on("drain",h));let E=new ib({...l,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return o.on("message",function(N){E.push(N)||(f=!1,o._socket.pause())}),o.once("error",function(N){E.destroyed||E.destroy(N)}),o.once("close",function(){E.destroyed||E.push(null)}),E._destroy=function(t,N){if(o.readyState===o.CLOSED){N(t),process.nextTick(SC,E);return}let F=!1;o.once("error",function(x){F=!0,N(x)}),o.once("close",function(){F||N(t),process.nextTick(SC,E)}),o.terminate()},E._final=function(t){if(o.readyState===o.CONNECTING){o.once("open",function(){E._final(t)});return}o._socket!==null&&(o._socket._writableState.finished?(t(),E._readableState.endEmitted&&E.destroy()):(o._socket.once("finish",function(){t()}),o.close()))},E._read=function(){o.readyState===o.OPEN&&!f&&(f=!0,o._receiver._writableState.needDrain||o._socket.resume())},E._write=function(t,N,F){if(o.readyState===o.CONNECTING){o.once("open",function(){E._write(t,N,F)});return}o.send(t,F)},E.on("end",ub),E.on("error",TC),E}CC.exports=ob});var AC=nt((rq,RC)=>{"use strict";var lb=hi("events"),{createHash:sb}=hi("crypto"),{createServer:ab,STATUS_CODES:l3}=hi("http"),rh=rg(),fb=o3(),{format:db,parse:pb}=t3(),{GUID:hb,kWebSocket:vb}=th(),mb=/^[+/0-9A-Za-z]{22}==$/,s3=class extends lb{constructor(l,f){if(super(),l={maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,...l},l.port==null&&!l.server&&!l.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(l.port!=null?(this._server=ab((h,E)=>{let t=l3[426];E.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),E.end(t)}),this._server.listen(l.port,l.host,l.backlog,f)):l.server&&(this._server=l.server),this._server){let h=this.emit.bind(this,"connection");this._removeListeners=yb(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(E,t,N)=>{this.handleUpgrade(E,t,N,h)}})}l.perMessageDeflate===!0&&(l.perMessageDeflate={}),l.clientTracking&&(this.clients=new Set),this.options=l}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(l){if(l&&this.once("close",l),this.clients)for(let h of this.clients)h.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(gb,this)}shouldHandle(l){if(this.options.path){let f=l.url.indexOf("?");if((f!==-1?l.url.slice(0,f):l.url)!==this.options.path)return!1}return!0}handleUpgrade(l,f,h,E){f.on("error",a3);let t=l.headers["sec-websocket-key"]!==void 0?l.headers["sec-websocket-key"].trim():!1,N=+l.headers["sec-websocket-version"],F={};if(l.method!=="GET"||l.headers.upgrade.toLowerCase()!=="websocket"||!t||!mb.test(t)||N!==8&&N!==13||!this.shouldHandle(l))return e4(f,400);if(this.options.perMessageDeflate){let k=new rh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let x=pb(l.headers["sec-websocket-extensions"]);x[rh.extensionName]&&(k.accept(x[rh.extensionName]),F[rh.extensionName]=k)}catch{return e4(f,400)}}if(this.options.verifyClient){let k={origin:l.headers[`${N===8?"sec-websocket-origin":"origin"}`],secure:!!(l.socket.authorized||l.socket.encrypted),req:l};if(this.options.verifyClient.length===2){this.options.verifyClient(k,(x,j,q,V)=>{if(!x)return e4(f,j||401,q,V);this.completeUpgrade(t,F,l,f,h,E)});return}if(!this.options.verifyClient(k))return e4(f,401)}this.completeUpgrade(t,F,l,f,h,E)}completeUpgrade(l,f,h,E,t,N){if(!E.readable||!E.writable)return E.destroy();if(E[vb])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let k=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${sb("sha1").update(l+hb).digest("base64")}`],x=new fb(null),j=h.headers["sec-websocket-protocol"];if(j&&(j=j.split(",").map(_b),this.options.handleProtocols?j=this.options.handleProtocols(j,h):j=j[0],j&&(k.push(`Sec-WebSocket-Protocol: ${j}`),x._protocol=j)),f[rh.extensionName]){let q=f[rh.extensionName].params,V=db({[rh.extensionName]:[q]});k.push(`Sec-WebSocket-Extensions: ${V}`),x._extensions=f}this.emit("headers",k,h),E.write(k.concat(`\r `).join(`\r -`)),_.removeListener("error",e3),C.setSocket(_,t,this.options.maxPayload),this.clients&&(this.clients.add(C),C.on("close",()=>this.clients.delete(C))),k(C,p)}};SC.exports=TC;function Tb(i,o){for(let a of Object.keys(o))i.on(a,o[a]);return function(){for(let p of Object.keys(o))i.removeListener(p,o[p])}}function Cb(i){i.emit("close")}function e3(){this.destroy()}function Q_(i,o,a,p){i.writable&&(a=a||$D[o],p=Ht({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(a)},p),i.write(`HTTP/1.1 ${o} ${$D[o]}\r -`+Object.keys(p).map(_=>`${_}: ${p[_]}`).join(`\r +`)),E.removeListener("error",a3),x.setSocket(E,t,this.options.maxPayload),this.clients&&(this.clients.add(x),x.on("close",()=>this.clients.delete(x))),N(x,h)}};RC.exports=s3;function yb(o,l){for(let f of Object.keys(l))o.on(f,l[f]);return function(){for(let h of Object.keys(l))o.removeListener(h,l[h])}}function gb(o){o.emit("close")}function a3(){this.destroy()}function e4(o,l,f,h){o.writable&&(f=f||l3[l],h={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f),...h},o.write(`HTTP/1.1 ${l} ${l3[l]}\r +`+Object.keys(h).map(E=>`${E}: ${h[E]}`).join(`\r `)+`\r \r -`+a)),i.removeListener("error",e3),i.destroy()}function xb(i){return i.trim()}});var RC=tt((aq,xC)=>{"use strict";var rg=ZD();rg.createWebSocketStream=wC();rg.Server=CC();rg.Receiver=VD();rg.Sender=GD();xC.exports=rg});var AC=tt(J_=>{"use strict";var Rb=J_&&J_.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(J_,"__esModule",{value:!0});var Ab=Rb(RC()),ig=global;ig.WebSocket||(ig.WebSocket=Ab.default);ig.window||(ig.window=global);ig.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var OC=tt((Z_,t3)=>{(function(i,o){typeof Z_=="object"&&typeof t3=="object"?t3.exports=o():typeof define=="function"&&define.amd?define([],o):typeof Z_=="object"?Z_.ReactDevToolsBackend=o():i.ReactDevToolsBackend=o()})(window,function(){return function(i){var o={};function a(p){if(o[p])return o[p].exports;var _=o[p]={i:p,l:!1,exports:{}};return i[p].call(_.exports,_,_.exports,a),_.l=!0,_.exports}return a.m=i,a.c=o,a.d=function(p,_,t){a.o(p,_)||Object.defineProperty(p,_,{enumerable:!0,get:t})},a.r=function(p){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(p,"__esModule",{value:!0})},a.t=function(p,_){if(1&_&&(p=a(p)),8&_||4&_&&typeof p=="object"&&p&&p.__esModule)return p;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:p}),2&_&&typeof p!="string")for(var k in p)a.d(t,k,function(L){return p[L]}.bind(null,k));return t},a.n=function(p){var _=p&&p.__esModule?function(){return p.default}:function(){return p};return a.d(_,"a",_),_},a.o=function(p,_){return Object.prototype.hasOwnProperty.call(p,_)},a.p="",a(a.s=20)}([function(i,o,a){"use strict";i.exports=a(12)},function(i,o,a){"use strict";var p=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function k(L){if(L==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(L)}i.exports=function(){try{if(!Object.assign)return!1;var L=new String("abc");if(L[5]="de",Object.getOwnPropertyNames(L)[0]==="5")return!1;for(var O={},C=0;C<10;C++)O["_"+String.fromCharCode(C)]=C;if(Object.getOwnPropertyNames(O).map(function(H){return O[H]}).join("")!=="0123456789")return!1;var U={};return"abcdefghijklmnopqrst".split("").forEach(function(H){U[H]=H}),Object.keys(Object.assign({},U)).join("")==="abcdefghijklmnopqrst"}catch(H){return!1}}()?Object.assign:function(L,O){for(var C,U,H=k(L),W=1;W=ie||nn<0||Jt&&Rt-We>=yt}function oe(){var Rt=Ee();if(xe(Rt))return ze(Rt);Xe=setTimeout(oe,function(nn){var an=ie-(nn-ut);return Jt?he(an,yt-(nn-We)):an}(Rt))}function ze(Rt){return Xe=void 0,rt&&je?Q(Rt):(je=qe=void 0,gt)}function ct(){var Rt=Ee(),nn=xe(Rt);if(je=arguments,qe=this,ut=Rt,nn){if(Xe===void 0)return fe(ut);if(Jt)return Xe=setTimeout(oe,ie),Q(ut)}return Xe===void 0&&(Xe=setTimeout(oe,ie)),gt}return ie=pe(ie)||0,se(Oe)&&(Ft=!!Oe.leading,yt=(Jt="maxWait"in Oe)?m(pe(Oe.maxWait)||0,ie):yt,rt="trailing"in Oe?!!Oe.trailing:rt),ct.cancel=function(){Xe!==void 0&&clearTimeout(Xe),We=0,je=ut=qe=Xe=void 0},ct.flush=function(){return Xe===void 0?gt:ze(Ee())},ct}function se(me){var ie=_(me);return!!me&&(ie=="object"||ie=="function")}function De(me){return _(me)=="symbol"||function(ie){return!!ie&&_(ie)=="object"}(me)&&ne.call(me)=="[object Symbol]"}function pe(me){if(typeof me=="number")return me;if(De(me))return NaN;if(se(me)){var ie=typeof me.valueOf=="function"?me.valueOf():me;me=se(ie)?ie+"":ie}if(typeof me!="string")return me===0?me:+me;me=me.replace(t,"");var Oe=L.test(me);return Oe||O.test(me)?C(me.slice(2),Oe?2:8):k.test(me)?NaN:+me}i.exports=function(me,ie,Oe){var je=!0,qe=!0;if(typeof me!="function")throw new TypeError("Expected a function");return se(Oe)&&(je="leading"in Oe?!!Oe.leading:je,qe="trailing"in Oe?!!Oe.trailing:qe),ve(me,ie,{leading:je,maxWait:ie,trailing:qe})}}).call(this,a(4))},function(i,o,a){(function(p){function _(Q){return(_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(fe){return typeof fe}:function(fe){return fe&&typeof Symbol=="function"&&fe.constructor===Symbol&&fe!==Symbol.prototype?"symbol":typeof fe})(Q)}var t;o=i.exports=m,t=(p===void 0?"undefined":_(p))==="object"&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?function(){var Q=Array.prototype.slice.call(arguments,0);Q.unshift("SEMVER"),console.log.apply(console,Q)}:function(){},o.SEMVER_SPEC_VERSION="2.0.0";var k=Number.MAX_SAFE_INTEGER||9007199254740991,L=o.re=[],O=o.src=[],C=o.tokens={},U=0;function H(Q){C[Q]=U++}H("NUMERICIDENTIFIER"),O[C.NUMERICIDENTIFIER]="0|[1-9]\\d*",H("NUMERICIDENTIFIERLOOSE"),O[C.NUMERICIDENTIFIERLOOSE]="[0-9]+",H("NONNUMERICIDENTIFIER"),O[C.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",H("MAINVERSION"),O[C.MAINVERSION]="("+O[C.NUMERICIDENTIFIER]+")\\.("+O[C.NUMERICIDENTIFIER]+")\\.("+O[C.NUMERICIDENTIFIER]+")",H("MAINVERSIONLOOSE"),O[C.MAINVERSIONLOOSE]="("+O[C.NUMERICIDENTIFIERLOOSE]+")\\.("+O[C.NUMERICIDENTIFIERLOOSE]+")\\.("+O[C.NUMERICIDENTIFIERLOOSE]+")",H("PRERELEASEIDENTIFIER"),O[C.PRERELEASEIDENTIFIER]="(?:"+O[C.NUMERICIDENTIFIER]+"|"+O[C.NONNUMERICIDENTIFIER]+")",H("PRERELEASEIDENTIFIERLOOSE"),O[C.PRERELEASEIDENTIFIERLOOSE]="(?:"+O[C.NUMERICIDENTIFIERLOOSE]+"|"+O[C.NONNUMERICIDENTIFIER]+")",H("PRERELEASE"),O[C.PRERELEASE]="(?:-("+O[C.PRERELEASEIDENTIFIER]+"(?:\\."+O[C.PRERELEASEIDENTIFIER]+")*))",H("PRERELEASELOOSE"),O[C.PRERELEASELOOSE]="(?:-?("+O[C.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+O[C.PRERELEASEIDENTIFIERLOOSE]+")*))",H("BUILDIDENTIFIER"),O[C.BUILDIDENTIFIER]="[0-9A-Za-z-]+",H("BUILD"),O[C.BUILD]="(?:\\+("+O[C.BUILDIDENTIFIER]+"(?:\\."+O[C.BUILDIDENTIFIER]+")*))",H("FULL"),H("FULLPLAIN"),O[C.FULLPLAIN]="v?"+O[C.MAINVERSION]+O[C.PRERELEASE]+"?"+O[C.BUILD]+"?",O[C.FULL]="^"+O[C.FULLPLAIN]+"$",H("LOOSEPLAIN"),O[C.LOOSEPLAIN]="[v=\\s]*"+O[C.MAINVERSIONLOOSE]+O[C.PRERELEASELOOSE]+"?"+O[C.BUILD]+"?",H("LOOSE"),O[C.LOOSE]="^"+O[C.LOOSEPLAIN]+"$",H("GTLT"),O[C.GTLT]="((?:<|>)?=?)",H("XRANGEIDENTIFIERLOOSE"),O[C.XRANGEIDENTIFIERLOOSE]=O[C.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",H("XRANGEIDENTIFIER"),O[C.XRANGEIDENTIFIER]=O[C.NUMERICIDENTIFIER]+"|x|X|\\*",H("XRANGEPLAIN"),O[C.XRANGEPLAIN]="[v=\\s]*("+O[C.XRANGEIDENTIFIER]+")(?:\\.("+O[C.XRANGEIDENTIFIER]+")(?:\\.("+O[C.XRANGEIDENTIFIER]+")(?:"+O[C.PRERELEASE]+")?"+O[C.BUILD]+"?)?)?",H("XRANGEPLAINLOOSE"),O[C.XRANGEPLAINLOOSE]="[v=\\s]*("+O[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+O[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+O[C.XRANGEIDENTIFIERLOOSE]+")(?:"+O[C.PRERELEASELOOSE]+")?"+O[C.BUILD]+"?)?)?",H("XRANGE"),O[C.XRANGE]="^"+O[C.GTLT]+"\\s*"+O[C.XRANGEPLAIN]+"$",H("XRANGELOOSE"),O[C.XRANGELOOSE]="^"+O[C.GTLT]+"\\s*"+O[C.XRANGEPLAINLOOSE]+"$",H("COERCE"),O[C.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",H("COERCERTL"),L[C.COERCERTL]=new RegExp(O[C.COERCE],"g"),H("LONETILDE"),O[C.LONETILDE]="(?:~>?)",H("TILDETRIM"),O[C.TILDETRIM]="(\\s*)"+O[C.LONETILDE]+"\\s+",L[C.TILDETRIM]=new RegExp(O[C.TILDETRIM],"g"),H("TILDE"),O[C.TILDE]="^"+O[C.LONETILDE]+O[C.XRANGEPLAIN]+"$",H("TILDELOOSE"),O[C.TILDELOOSE]="^"+O[C.LONETILDE]+O[C.XRANGEPLAINLOOSE]+"$",H("LONECARET"),O[C.LONECARET]="(?:\\^)",H("CARETTRIM"),O[C.CARETTRIM]="(\\s*)"+O[C.LONECARET]+"\\s+",L[C.CARETTRIM]=new RegExp(O[C.CARETTRIM],"g"),H("CARET"),O[C.CARET]="^"+O[C.LONECARET]+O[C.XRANGEPLAIN]+"$",H("CARETLOOSE"),O[C.CARETLOOSE]="^"+O[C.LONECARET]+O[C.XRANGEPLAINLOOSE]+"$",H("COMPARATORLOOSE"),O[C.COMPARATORLOOSE]="^"+O[C.GTLT]+"\\s*("+O[C.LOOSEPLAIN]+")$|^$",H("COMPARATOR"),O[C.COMPARATOR]="^"+O[C.GTLT]+"\\s*("+O[C.FULLPLAIN]+")$|^$",H("COMPARATORTRIM"),O[C.COMPARATORTRIM]="(\\s*)"+O[C.GTLT]+"\\s*("+O[C.LOOSEPLAIN]+"|"+O[C.XRANGEPLAIN]+")",L[C.COMPARATORTRIM]=new RegExp(O[C.COMPARATORTRIM],"g"),H("HYPHENRANGE"),O[C.HYPHENRANGE]="^\\s*("+O[C.XRANGEPLAIN]+")\\s+-\\s+("+O[C.XRANGEPLAIN]+")\\s*$",H("HYPHENRANGELOOSE"),O[C.HYPHENRANGELOOSE]="^\\s*("+O[C.XRANGEPLAINLOOSE]+")\\s+-\\s+("+O[C.XRANGEPLAINLOOSE]+")\\s*$",H("STAR"),O[C.STAR]="(<|>)?=?\\s*\\*";for(var W=0;W256||!(fe.loose?L[C.LOOSE]:L[C.FULL]).test(Q))return null;try{return new m(Q,fe)}catch(xe){return null}}function m(Q,fe){if(fe&&_(fe)==="object"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof m){if(Q.loose===fe.loose)return Q;Q=Q.version}else if(typeof Q!="string")throw new TypeError("Invalid Version: "+Q);if(Q.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof m))return new m(Q,fe);t("SemVer",Q,fe),this.options=fe,this.loose=!!fe.loose;var xe=Q.trim().match(fe.loose?L[C.LOOSE]:L[C.FULL]);if(!xe)throw new TypeError("Invalid Version: "+Q);if(this.raw=Q,this.major=+xe[1],this.minor=+xe[2],this.patch=+xe[3],this.major>k||this.major<0)throw new TypeError("Invalid major version");if(this.minor>k||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>k||this.patch<0)throw new TypeError("Invalid patch version");xe[4]?this.prerelease=xe[4].split(".").map(function(oe){if(/^[0-9]+$/.test(oe)){var ze=+oe;if(ze>=0&&ze=0;)typeof this.prerelease[xe]=="number"&&(this.prerelease[xe]++,xe=-2);xe===-1&&this.prerelease.push(0)}fe&&(this.prerelease[0]===fe?isNaN(this.prerelease[1])&&(this.prerelease=[fe,0]):this.prerelease=[fe,0]);break;default:throw new Error("invalid increment argument: "+Q)}return this.format(),this.raw=this.version,this},o.inc=function(Q,fe,xe,oe){typeof xe=="string"&&(oe=xe,xe=void 0);try{return new m(Q,xe).inc(fe,oe).version}catch(ze){return null}},o.diff=function(Q,fe){if(pe(Q,fe))return null;var xe=ne(Q),oe=ne(fe),ze="";if(xe.prerelease.length||oe.prerelease.length){ze="pre";var ct="prerelease"}for(var Rt in xe)if((Rt==="major"||Rt==="minor"||Rt==="patch")&&xe[Rt]!==oe[Rt])return ze+Rt;return ct},o.compareIdentifiers=Ee;var he=/^[0-9]+$/;function Ee(Q,fe){var xe=he.test(Q),oe=he.test(fe);return xe&&oe&&(Q=+Q,fe=+fe),Q===fe?0:xe&&!oe?-1:oe&&!xe?1:Q0}function De(Q,fe,xe){return ve(Q,fe,xe)<0}function pe(Q,fe,xe){return ve(Q,fe,xe)===0}function me(Q,fe,xe){return ve(Q,fe,xe)!==0}function ie(Q,fe,xe){return ve(Q,fe,xe)>=0}function Oe(Q,fe,xe){return ve(Q,fe,xe)<=0}function je(Q,fe,xe,oe){switch(fe){case"===":return _(Q)==="object"&&(Q=Q.version),_(xe)==="object"&&(xe=xe.version),Q===xe;case"!==":return _(Q)==="object"&&(Q=Q.version),_(xe)==="object"&&(xe=xe.version),Q!==xe;case"":case"=":case"==":return pe(Q,xe,oe);case"!=":return me(Q,xe,oe);case">":return se(Q,xe,oe);case">=":return ie(Q,xe,oe);case"<":return De(Q,xe,oe);case"<=":return Oe(Q,xe,oe);default:throw new TypeError("Invalid operator: "+fe)}}function qe(Q,fe){if(fe&&_(fe)==="object"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof qe){if(Q.loose===!!fe.loose)return Q;Q=Q.value}if(!(this instanceof qe))return new qe(Q,fe);t("comparator",Q,fe),this.options=fe,this.loose=!!fe.loose,this.parse(Q),this.semver===yt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}o.rcompareIdentifiers=function(Q,fe){return Ee(fe,Q)},o.major=function(Q,fe){return new m(Q,fe).major},o.minor=function(Q,fe){return new m(Q,fe).minor},o.patch=function(Q,fe){return new m(Q,fe).patch},o.compare=ve,o.compareLoose=function(Q,fe){return ve(Q,fe,!0)},o.compareBuild=function(Q,fe,xe){var oe=new m(Q,xe),ze=new m(fe,xe);return oe.compare(ze)||oe.compareBuild(ze)},o.rcompare=function(Q,fe,xe){return ve(fe,Q,xe)},o.sort=function(Q,fe){return Q.sort(function(xe,oe){return o.compareBuild(xe,oe,fe)})},o.rsort=function(Q,fe){return Q.sort(function(xe,oe){return o.compareBuild(oe,xe,fe)})},o.gt=se,o.lt=De,o.eq=pe,o.neq=me,o.gte=ie,o.lte=Oe,o.cmp=je,o.Comparator=qe;var yt={};function gt(Q,fe){if(fe&&_(fe)==="object"||(fe={loose:!!fe,includePrerelease:!1}),Q instanceof gt)return Q.loose===!!fe.loose&&Q.includePrerelease===!!fe.includePrerelease?Q:new gt(Q.raw,fe);if(Q instanceof qe)return new gt(Q.value,fe);if(!(this instanceof gt))return new gt(Q,fe);if(this.options=fe,this.loose=!!fe.loose,this.includePrerelease=!!fe.includePrerelease,this.raw=Q,this.set=Q.split(/\s*\|\|\s*/).map(function(xe){return this.parseRange(xe.trim())},this).filter(function(xe){return xe.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+Q);this.format()}function Xe(Q,fe){for(var xe=!0,oe=Q.slice(),ze=oe.pop();xe&&oe.length;)xe=oe.every(function(ct){return ze.intersects(ct,fe)}),ze=oe.pop();return xe}function ut(Q){return!Q||Q.toLowerCase()==="x"||Q==="*"}function We(Q,fe,xe,oe,ze,ct,Rt,nn,an,Mn,lr,ln,Vt){return((fe=ut(xe)?"":ut(oe)?">="+xe+".0.0":ut(ze)?">="+xe+"."+oe+".0":">="+fe)+" "+(nn=ut(an)?"":ut(Mn)?"<"+(+an+1)+".0.0":ut(lr)?"<"+an+"."+(+Mn+1)+".0":ln?"<="+an+"."+Mn+"."+lr+"-"+ln:"<="+nn)).trim()}function Ft(Q,fe,xe){for(var oe=0;oe0){var ze=Q[oe].semver;if(ze.major===fe.major&&ze.minor===fe.minor&&ze.patch===fe.patch)return!0}return!1}return!0}function Jt(Q,fe,xe){try{fe=new gt(fe,xe)}catch(oe){return!1}return fe.test(Q)}function rt(Q,fe,xe,oe){var ze,ct,Rt,nn,an;switch(Q=new m(Q,oe),fe=new gt(fe,oe),xe){case">":ze=se,ct=Oe,Rt=De,nn=">",an=">=";break;case"<":ze=De,ct=ie,Rt=se,nn="<",an="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Jt(Q,fe,oe))return!1;for(var Mn=0;Mn=0.0.0")),ln=ln||Er,Vt=Vt||Er,ze(Er.semver,ln.semver,oe)?ln=Er:Rt(Er.semver,Vt.semver,oe)&&(Vt=Er)}),ln.operator===nn||ln.operator===an||(!Vt.operator||Vt.operator===nn)&&ct(Q,Vt.semver)||Vt.operator===an&&Rt(Q,Vt.semver))return!1}return!0}qe.prototype.parse=function(Q){var fe=this.options.loose?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],xe=Q.match(fe);if(!xe)throw new TypeError("Invalid comparator: "+Q);this.operator=xe[1]!==void 0?xe[1]:"",this.operator==="="&&(this.operator=""),xe[2]?this.semver=new m(xe[2],this.options.loose):this.semver=yt},qe.prototype.toString=function(){return this.value},qe.prototype.test=function(Q){if(t("Comparator.test",Q,this.options.loose),this.semver===yt||Q===yt)return!0;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(fe){return!1}return je(Q,this.operator,this.semver,this.options)},qe.prototype.intersects=function(Q,fe){if(!(Q instanceof qe))throw new TypeError("a Comparator is required");var xe;if(fe&&_(fe)==="object"||(fe={loose:!!fe,includePrerelease:!1}),this.operator==="")return this.value===""||(xe=new gt(Q.value,fe),Jt(this.value,xe,fe));if(Q.operator==="")return Q.value===""||(xe=new gt(this.value,fe),Jt(Q.semver,xe,fe));var oe=!(this.operator!==">="&&this.operator!==">"||Q.operator!==">="&&Q.operator!==">"),ze=!(this.operator!=="<="&&this.operator!=="<"||Q.operator!=="<="&&Q.operator!=="<"),ct=this.semver.version===Q.semver.version,Rt=!(this.operator!==">="&&this.operator!=="<="||Q.operator!==">="&&Q.operator!=="<="),nn=je(this.semver,"<",Q.semver,fe)&&(this.operator===">="||this.operator===">")&&(Q.operator==="<="||Q.operator==="<"),an=je(this.semver,">",Q.semver,fe)&&(this.operator==="<="||this.operator==="<")&&(Q.operator===">="||Q.operator===">");return oe||ze||ct&&Rt||nn||an},o.Range=gt,gt.prototype.format=function(){return this.range=this.set.map(function(Q){return Q.join(" ").trim()}).join("||").trim(),this.range},gt.prototype.toString=function(){return this.range},gt.prototype.parseRange=function(Q){var fe=this.options.loose;Q=Q.trim();var xe=fe?L[C.HYPHENRANGELOOSE]:L[C.HYPHENRANGE];Q=Q.replace(xe,We),t("hyphen replace",Q),Q=Q.replace(L[C.COMPARATORTRIM],"$1$2$3"),t("comparator trim",Q,L[C.COMPARATORTRIM]),Q=(Q=(Q=Q.replace(L[C.TILDETRIM],"$1~")).replace(L[C.CARETTRIM],"$1^")).split(/\s+/).join(" ");var oe=fe?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],ze=Q.split(" ").map(function(ct){return function(Rt,nn){return t("comp",Rt,nn),Rt=function(an,Mn){return an.trim().split(/\s+/).map(function(lr){return function(ln,Vt){t("caret",ln,Vt);var Er=Vt.loose?L[C.CARETLOOSE]:L[C.CARET];return ln.replace(Er,function(w,jt,Xn,vr,jr){var fr;return t("caret",ln,w,jt,Xn,vr,jr),ut(jt)?fr="":ut(Xn)?fr=">="+jt+".0.0 <"+(+jt+1)+".0.0":ut(vr)?fr=jt==="0"?">="+jt+"."+Xn+".0 <"+jt+"."+(+Xn+1)+".0":">="+jt+"."+Xn+".0 <"+(+jt+1)+".0.0":jr?(t("replaceCaret pr",jr),fr=jt==="0"?Xn==="0"?">="+jt+"."+Xn+"."+vr+"-"+jr+" <"+jt+"."+Xn+"."+(+vr+1):">="+jt+"."+Xn+"."+vr+"-"+jr+" <"+jt+"."+(+Xn+1)+".0":">="+jt+"."+Xn+"."+vr+"-"+jr+" <"+(+jt+1)+".0.0"):(t("no pr"),fr=jt==="0"?Xn==="0"?">="+jt+"."+Xn+"."+vr+" <"+jt+"."+Xn+"."+(+vr+1):">="+jt+"."+Xn+"."+vr+" <"+jt+"."+(+Xn+1)+".0":">="+jt+"."+Xn+"."+vr+" <"+(+jt+1)+".0.0"),t("caret return",fr),fr})}(lr,Mn)}).join(" ")}(Rt,nn),t("caret",Rt),Rt=function(an,Mn){return an.trim().split(/\s+/).map(function(lr){return function(ln,Vt){var Er=Vt.loose?L[C.TILDELOOSE]:L[C.TILDE];return ln.replace(Er,function(w,jt,Xn,vr,jr){var fr;return t("tilde",ln,w,jt,Xn,vr,jr),ut(jt)?fr="":ut(Xn)?fr=">="+jt+".0.0 <"+(+jt+1)+".0.0":ut(vr)?fr=">="+jt+"."+Xn+".0 <"+jt+"."+(+Xn+1)+".0":jr?(t("replaceTilde pr",jr),fr=">="+jt+"."+Xn+"."+vr+"-"+jr+" <"+jt+"."+(+Xn+1)+".0"):fr=">="+jt+"."+Xn+"."+vr+" <"+jt+"."+(+Xn+1)+".0",t("tilde return",fr),fr})}(lr,Mn)}).join(" ")}(Rt,nn),t("tildes",Rt),Rt=function(an,Mn){return t("replaceXRanges",an,Mn),an.split(/\s+/).map(function(lr){return function(ln,Vt){ln=ln.trim();var Er=Vt.loose?L[C.XRANGELOOSE]:L[C.XRANGE];return ln.replace(Er,function(w,jt,Xn,vr,jr,fr){t("xRange",ln,w,jt,Xn,vr,jr,fr);var zr=ut(Xn),Xt=zr||ut(vr),wu=Xt||ut(jr),d0=wu;return jt==="="&&d0&&(jt=""),fr=Vt.includePrerelease?"-0":"",zr?w=jt===">"||jt==="<"?"<0.0.0-0":"*":jt&&d0?(Xt&&(vr=0),jr=0,jt===">"?(jt=">=",Xt?(Xn=+Xn+1,vr=0,jr=0):(vr=+vr+1,jr=0)):jt==="<="&&(jt="<",Xt?Xn=+Xn+1:vr=+vr+1),w=jt+Xn+"."+vr+"."+jr+fr):Xt?w=">="+Xn+".0.0"+fr+" <"+(+Xn+1)+".0.0"+fr:wu&&(w=">="+Xn+"."+vr+".0"+fr+" <"+Xn+"."+(+vr+1)+".0"+fr),t("xRange return",w),w})}(lr,Mn)}).join(" ")}(Rt,nn),t("xrange",Rt),Rt=function(an,Mn){return t("replaceStars",an,Mn),an.trim().replace(L[C.STAR],"")}(Rt,nn),t("stars",Rt),Rt}(ct,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(ze=ze.filter(function(ct){return!!ct.match(oe)})),ze=ze.map(function(ct){return new qe(ct,this.options)},this)},gt.prototype.intersects=function(Q,fe){if(!(Q instanceof gt))throw new TypeError("a Range is required");return this.set.some(function(xe){return Xe(xe,fe)&&Q.set.some(function(oe){return Xe(oe,fe)&&xe.every(function(ze){return oe.every(function(ct){return ze.intersects(ct,fe)})})})})},o.toComparators=function(Q,fe){return new gt(Q,fe).set.map(function(xe){return xe.map(function(oe){return oe.value}).join(" ").trim().split(" ")})},gt.prototype.test=function(Q){if(!Q)return!1;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(xe){return!1}for(var fe=0;fe":ct.prerelease.length===0?ct.patch++:ct.prerelease.push(0),ct.raw=ct.format();case"":case">=":xe&&!se(xe,ct)||(xe=ct);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+ze.operator)}});return xe&&Q.test(xe)?xe:null},o.validRange=function(Q,fe){try{return new gt(Q,fe).range||"*"}catch(xe){return null}},o.ltr=function(Q,fe,xe){return rt(Q,fe,"<",xe)},o.gtr=function(Q,fe,xe){return rt(Q,fe,">",xe)},o.outside=rt,o.prerelease=function(Q,fe){var xe=ne(Q,fe);return xe&&xe.prerelease.length?xe.prerelease:null},o.intersects=function(Q,fe,xe){return Q=new gt(Q,xe),fe=new gt(fe,xe),Q.intersects(fe)},o.coerce=function(Q,fe){if(Q instanceof m)return Q;if(typeof Q=="number"&&(Q=String(Q)),typeof Q!="string")return null;var xe=null;if((fe=fe||{}).rtl){for(var oe;(oe=L[C.COERCERTL].exec(Q))&&(!xe||xe.index+xe[0].length!==Q.length);)xe&&oe.index+oe[0].length===xe.index+xe[0].length||(xe=oe),L[C.COERCERTL].lastIndex=oe.index+oe[1].length+oe[2].length;L[C.COERCERTL].lastIndex=-1}else xe=Q.match(L[C.COERCE]);return xe===null?null:ne(xe[2]+"."+(xe[3]||"0")+"."+(xe[4]||"0"),fe)}}).call(this,a(5))},function(i,o){function a(_){return(a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(_)}var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(_){(typeof window=="undefined"?"undefined":a(window))==="object"&&(p=window)}i.exports=p},function(i,o){var a,p,_=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function k(){throw new Error("clearTimeout has not been defined")}function L(Ee){if(a===setTimeout)return setTimeout(Ee,0);if((a===t||!a)&&setTimeout)return a=setTimeout,setTimeout(Ee,0);try{return a(Ee,0)}catch(ve){try{return a.call(null,Ee,0)}catch(se){return a.call(this,Ee,0)}}}(function(){try{a=typeof setTimeout=="function"?setTimeout:t}catch(Ee){a=t}try{p=typeof clearTimeout=="function"?clearTimeout:k}catch(Ee){p=k}})();var O,C=[],U=!1,H=-1;function W(){U&&O&&(U=!1,O.length?C=O.concat(C):H=-1,C.length&&ne())}function ne(){if(!U){var Ee=L(W);U=!0;for(var ve=C.length;ve;){for(O=C,C=[];++H1)for(var se=1;sethis[k])return me(this,this[m].get(Xe)),!1;var rt=this[m].get(Xe).value;return this[H]&&(this[W]||this[H](Xe,rt.value)),rt.now=Ft,rt.maxAge=We,rt.value=ut,this[L]+=Jt-rt.length,rt.length=Jt,this.get(Xe),pe(this),!0}var Q=new ie(Xe,ut,Jt,Ft,We);return Q.length>this[k]?(this[H]&&this[H](Xe,ut),!1):(this[L]+=Q.length,this[ne].unshift(Q),this[m].set(Xe,this[ne].head),pe(this),!0)}},{key:"has",value:function(Xe){if(!this[m].has(Xe))return!1;var ut=this[m].get(Xe).value;return!De(this,ut)}},{key:"get",value:function(Xe){return se(this,Xe,!0)}},{key:"peek",value:function(Xe){return se(this,Xe,!1)}},{key:"pop",value:function(){var Xe=this[ne].tail;return Xe?(me(this,Xe),Xe.value):null}},{key:"del",value:function(Xe){me(this,this[m].get(Xe))}},{key:"load",value:function(Xe){this.reset();for(var ut=Date.now(),We=Xe.length-1;We>=0;We--){var Ft=Xe[We],Jt=Ft.e||0;if(Jt===0)this.set(Ft.k,Ft.v);else{var rt=Jt-ut;rt>0&&this.set(Ft.k,Ft.v,rt)}}}},{key:"prune",value:function(){var Xe=this;this[m].forEach(function(ut,We){return se(Xe,We,!1)})}},{key:"max",set:function(Xe){if(typeof Xe!="number"||Xe<0)throw new TypeError("max must be a non-negative number");this[k]=Xe||1/0,pe(this)},get:function(){return this[k]}},{key:"allowStale",set:function(Xe){this[C]=!!Xe},get:function(){return this[C]}},{key:"maxAge",set:function(Xe){if(typeof Xe!="number")throw new TypeError("maxAge must be a non-negative number");this[U]=Xe,pe(this)},get:function(){return this[U]}},{key:"lengthCalculator",set:function(Xe){var ut=this;typeof Xe!="function"&&(Xe=Ee),Xe!==this[O]&&(this[O]=Xe,this[L]=0,this[ne].forEach(function(We){We.length=ut[O](We.value,We.key),ut[L]+=We.length})),pe(this)},get:function(){return this[O]}},{key:"length",get:function(){return this[L]}},{key:"itemCount",get:function(){return this[ne].length}}])&&_(qe.prototype,yt),gt&&_(qe,gt),je}(),se=function(je,qe,yt){var gt=je[m].get(qe);if(gt){var Xe=gt.value;if(De(je,Xe)){if(me(je,gt),!je[C])return}else yt&&(je[he]&&(gt.value.now=Date.now()),je[ne].unshiftNode(gt));return Xe.value}},De=function(je,qe){if(!qe||!qe.maxAge&&!je[U])return!1;var yt=Date.now()-qe.now;return qe.maxAge?yt>qe.maxAge:je[U]&&yt>je[U]},pe=function(je){if(je[L]>je[k])for(var qe=je[ne].tail;je[L]>je[k]&&qe!==null;){var yt=qe.prev;me(je,qe),qe=yt}},me=function(je,qe){if(qe){var yt=qe.value;je[H]&&je[H](yt.key,yt.value),je[L]-=yt.length,je[m].delete(yt.key),je[ne].removeNode(qe)}},ie=function je(qe,yt,gt,Xe,ut){p(this,je),this.key=qe,this.value=yt,this.length=gt,this.now=Xe,this.maxAge=ut||0},Oe=function(je,qe,yt,gt){var Xe=yt.value;De(je,Xe)&&(me(je,yt),je[C]||(Xe=void 0)),Xe&&qe.call(gt,Xe.value,Xe.key,je)};i.exports=ve},function(i,o,a){(function(p){function _(t){return(_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,k,L,O={};return O.copy=function(){var C=!1,U=null,H=!1;function W(){C=!1,U=null,H&&window.getSelection().removeAllRanges(),H=!1}return document.addEventListener("copy",function(ne){if(C){for(var m in U)ne.clipboardData.setData(m,U[m]);ne.preventDefault()}}),function(ne){return new Promise(function(m,he){C=!0,typeof ne=="string"?U={"text/plain":ne}:ne instanceof Node?U={"text/html":new XMLSerializer().serializeToString(ne)}:ne instanceof Object?U=ne:he("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function Ee(ve){try{if(document.execCommand("copy"))W(),m();else{if(ve)throw W(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var se=document.getSelection();if(!document.queryCommandEnabled("copy")&&se.isCollapsed){var De=document.createRange();De.selectNodeContents(document.body),se.removeAllRanges(),se.addRange(De),H=!0}})(),Ee(!0)}}catch(se){W(),he(se)}}(!1)})}}(),O.paste=(L=!1,document.addEventListener("paste",function(C){if(L){L=!1,C.preventDefault();var U=t;t=null,U(C.clipboardData.getData(k))}}),function(C){return new Promise(function(U,H){L=!0,t=U,k=C||"text/plain";try{document.execCommand("paste")||(L=!1,H(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(W){L=!1,H(new Error(W))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(C){function U(pe,me){return function(){pe.apply(me,arguments)}}function H(pe){if(_(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof pe!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],ve(pe,U(ne,this),U(m,this))}function W(pe){var me=this;return this._state===null?void this._deferreds.push(pe):void se(function(){var ie=me._state?pe.onFulfilled:pe.onRejected;if(ie!==null){var Oe;try{Oe=ie(me._value)}catch(je){return void pe.reject(je)}pe.resolve(Oe)}else(me._state?pe.resolve:pe.reject)(me._value)})}function ne(pe){try{if(pe===this)throw new TypeError("A promise cannot be resolved with itself.");if(pe&&(_(pe)=="object"||typeof pe=="function")){var me=pe.then;if(typeof me=="function")return void ve(U(me,pe),U(ne,this),U(m,this))}this._state=!0,this._value=pe,he.call(this)}catch(ie){m.call(this,ie)}}function m(pe){this._state=!1,this._value=pe,he.call(this)}function he(){for(var pe=0,me=this._deferreds.length;me>pe;pe++)W.call(this,this._deferreds[pe]);this._deferreds=null}function Ee(pe,me,ie,Oe){this.onFulfilled=typeof pe=="function"?pe:null,this.onRejected=typeof me=="function"?me:null,this.resolve=ie,this.reject=Oe}function ve(pe,me,ie){var Oe=!1;try{pe(function(je){Oe||(Oe=!0,me(je))},function(je){Oe||(Oe=!0,ie(je))})}catch(je){if(Oe)return;Oe=!0,ie(je)}}var se=H.immediateFn||typeof p=="function"&&p||function(pe){setTimeout(pe,1)},De=Array.isArray||function(pe){return Object.prototype.toString.call(pe)==="[object Array]"};H.prototype.catch=function(pe){return this.then(null,pe)},H.prototype.then=function(pe,me){var ie=this;return new H(function(Oe,je){W.call(ie,new Ee(pe,me,Oe,je))})},H.all=function(){var pe=Array.prototype.slice.call(arguments.length===1&&De(arguments[0])?arguments[0]:arguments);return new H(function(me,ie){function Oe(yt,gt){try{if(gt&&(_(gt)=="object"||typeof gt=="function")){var Xe=gt.then;if(typeof Xe=="function")return void Xe.call(gt,function(ut){Oe(yt,ut)},ie)}pe[yt]=gt,--je==0&&me(pe)}catch(ut){ie(ut)}}if(pe.length===0)return me([]);for(var je=pe.length,qe=0;qeOe;Oe++)pe[Oe].then(me,ie)})},i.exports?i.exports=H:C.Promise||(C.Promise=H)}(this),O.copy=function(C){return new Promise(function(U,H){if(typeof C!="string"&&!("text/plain"in C))throw new Error("You must provide a text/plain type.");var W=typeof C=="string"?C:C["text/plain"];window.clipboardData.setData("Text",W)?U():H(new Error("Copying was rejected."))})},O.paste=function(){return new Promise(function(C,U){var H=window.clipboardData.getData("Text");H?C(H):U(new Error("Pasting was rejected."))})}),O}()}).call(this,a(13).setImmediate)},function(i,o,a){"use strict";i.exports=a(15)},function(i,o,a){"use strict";a.r(o),o.default=`:root { +`+f)),o.removeListener("error",a3),o.destroy()}function _b(o){return o.trim()}});var MC=nt((iq,OC)=>{"use strict";var og=o3();og.createWebSocketStream=xC();og.Server=AC();og.Receiver=XD();og.Sender=QD();OC.exports=og});var kC=nt(t4=>{"use strict";var Eb=t4&&t4.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t4,"__esModule",{value:!0});var Db=Eb(MC()),lg=global;lg.WebSocket||(lg.WebSocket=Db.default);lg.window||(lg.window=global);lg.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var NC=nt((n4,f3)=>{(function(o,l){typeof n4=="object"&&typeof f3=="object"?f3.exports=l():typeof define=="function"&&define.amd?define([],l):typeof n4=="object"?n4.ReactDevToolsBackend=l():o.ReactDevToolsBackend=l()})(window,function(){return function(o){var l={};function f(h){if(l[h])return l[h].exports;var E=l[h]={i:h,l:!1,exports:{}};return o[h].call(E.exports,E,E.exports,f),E.l=!0,E.exports}return f.m=o,f.c=l,f.d=function(h,E,t){f.o(h,E)||Object.defineProperty(h,E,{enumerable:!0,get:t})},f.r=function(h){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(h,"__esModule",{value:!0})},f.t=function(h,E){if(1&E&&(h=f(h)),8&E||4&E&&typeof h=="object"&&h&&h.__esModule)return h;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:h}),2&E&&typeof h!="string")for(var N in h)f.d(t,N,function(F){return h[F]}.bind(null,N));return t},f.n=function(h){var E=h&&h.__esModule?function(){return h.default}:function(){return h};return f.d(E,"a",E),E},f.o=function(h,E){return Object.prototype.hasOwnProperty.call(h,E)},f.p="",f(f.s=20)}([function(o,l,f){"use strict";o.exports=f(12)},function(o,l,f){"use strict";var h=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function N(F){if(F==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(F)}o.exports=function(){try{if(!Object.assign)return!1;var F=new String("abc");if(F[5]="de",Object.getOwnPropertyNames(F)[0]==="5")return!1;for(var k={},x=0;x<10;x++)k["_"+String.fromCharCode(x)]=x;if(Object.getOwnPropertyNames(k).map(function(q){return k[q]}).join("")!=="0123456789")return!1;var j={};return"abcdefghijklmnopqrst".split("").forEach(function(q){j[q]=q}),Object.keys(Object.assign({},j)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}()?Object.assign:function(F,k){for(var x,j,q=N(F),V=1;V"u"?"undefined":E(self))=="object"&&self&&self.Object===Object&&self,V=j||q||Function("return this")(),re=Object.prototype.toString,y=Math.max,me=Math.min,De=function(){return V.Date.now()};function ge(ve,ue,Ae){var ze,We,gt,_t,Qe,ot,Ve=0,Pt=!1,Jt=!1,it=!0;if(typeof ve!="function")throw new TypeError("Expected a function");function J(At){var nn=ze,an=We;return ze=We=void 0,Ve=At,_t=ve.apply(an,nn)}function ce(At){return Ve=At,Qe=setTimeout(le,ue),Pt?J(At):_t}function Re(At){var nn=At-ot;return ot===void 0||nn>=ue||nn<0||Jt&&At-Ve>=gt}function le(){var At=De();if(Re(At))return He(At);Qe=setTimeout(le,function(nn){var an=ue-(nn-ot);return Jt?me(an,gt-(nn-Ve)):an}(At))}function He(At){return Qe=void 0,it&&ze?J(At):(ze=We=void 0,_t)}function dt(){var At=De(),nn=Re(At);if(ze=arguments,We=this,ot=At,nn){if(Qe===void 0)return ce(ot);if(Jt)return Qe=setTimeout(le,ue),J(ot)}return Qe===void 0&&(Qe=setTimeout(le,ue)),_t}return ue=he(ue)||0,ae(Ae)&&(Pt=!!Ae.leading,gt=(Jt="maxWait"in Ae)?y(he(Ae.maxWait)||0,ue):gt,it="trailing"in Ae?!!Ae.trailing:it),dt.cancel=function(){Qe!==void 0&&clearTimeout(Qe),Ve=0,ze=ot=We=Qe=void 0},dt.flush=function(){return Qe===void 0?_t:He(De())},dt}function ae(ve){var ue=E(ve);return!!ve&&(ue=="object"||ue=="function")}function we(ve){return E(ve)=="symbol"||function(ue){return!!ue&&E(ue)=="object"}(ve)&&re.call(ve)=="[object Symbol]"}function he(ve){if(typeof ve=="number")return ve;if(we(ve))return NaN;if(ae(ve)){var ue=typeof ve.valueOf=="function"?ve.valueOf():ve;ve=ae(ue)?ue+"":ue}if(typeof ve!="string")return ve===0?ve:+ve;ve=ve.replace(t,"");var Ae=F.test(ve);return Ae||k.test(ve)?x(ve.slice(2),Ae?2:8):N.test(ve)?NaN:+ve}o.exports=function(ve,ue,Ae){var ze=!0,We=!0;if(typeof ve!="function")throw new TypeError("Expected a function");return ae(Ae)&&(ze="leading"in Ae?!!Ae.leading:ze,We="trailing"in Ae?!!Ae.trailing:We),ge(ve,ue,{leading:ze,maxWait:ue,trailing:We})}}).call(this,f(4))},function(o,l,f){(function(h){function E(J){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ce){return typeof ce}:function(ce){return ce&&typeof Symbol=="function"&&ce.constructor===Symbol&&ce!==Symbol.prototype?"symbol":typeof ce})(J)}var t;l=o.exports=y,t=(h===void 0?"undefined":E(h))==="object"&&h.env&&h.env.NODE_DEBUG&&/\bsemver\b/i.test(h.env.NODE_DEBUG)?function(){var J=Array.prototype.slice.call(arguments,0);J.unshift("SEMVER"),console.log.apply(console,J)}:function(){},l.SEMVER_SPEC_VERSION="2.0.0";var N=Number.MAX_SAFE_INTEGER||9007199254740991,F=l.re=[],k=l.src=[],x=l.tokens={},j=0;function q(J){x[J]=j++}q("NUMERICIDENTIFIER"),k[x.NUMERICIDENTIFIER]="0|[1-9]\\d*",q("NUMERICIDENTIFIERLOOSE"),k[x.NUMERICIDENTIFIERLOOSE]="[0-9]+",q("NONNUMERICIDENTIFIER"),k[x.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",q("MAINVERSION"),k[x.MAINVERSION]="("+k[x.NUMERICIDENTIFIER]+")\\.("+k[x.NUMERICIDENTIFIER]+")\\.("+k[x.NUMERICIDENTIFIER]+")",q("MAINVERSIONLOOSE"),k[x.MAINVERSIONLOOSE]="("+k[x.NUMERICIDENTIFIERLOOSE]+")\\.("+k[x.NUMERICIDENTIFIERLOOSE]+")\\.("+k[x.NUMERICIDENTIFIERLOOSE]+")",q("PRERELEASEIDENTIFIER"),k[x.PRERELEASEIDENTIFIER]="(?:"+k[x.NUMERICIDENTIFIER]+"|"+k[x.NONNUMERICIDENTIFIER]+")",q("PRERELEASEIDENTIFIERLOOSE"),k[x.PRERELEASEIDENTIFIERLOOSE]="(?:"+k[x.NUMERICIDENTIFIERLOOSE]+"|"+k[x.NONNUMERICIDENTIFIER]+")",q("PRERELEASE"),k[x.PRERELEASE]="(?:-("+k[x.PRERELEASEIDENTIFIER]+"(?:\\."+k[x.PRERELEASEIDENTIFIER]+")*))",q("PRERELEASELOOSE"),k[x.PRERELEASELOOSE]="(?:-?("+k[x.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+k[x.PRERELEASEIDENTIFIERLOOSE]+")*))",q("BUILDIDENTIFIER"),k[x.BUILDIDENTIFIER]="[0-9A-Za-z-]+",q("BUILD"),k[x.BUILD]="(?:\\+("+k[x.BUILDIDENTIFIER]+"(?:\\."+k[x.BUILDIDENTIFIER]+")*))",q("FULL"),q("FULLPLAIN"),k[x.FULLPLAIN]="v?"+k[x.MAINVERSION]+k[x.PRERELEASE]+"?"+k[x.BUILD]+"?",k[x.FULL]="^"+k[x.FULLPLAIN]+"$",q("LOOSEPLAIN"),k[x.LOOSEPLAIN]="[v=\\s]*"+k[x.MAINVERSIONLOOSE]+k[x.PRERELEASELOOSE]+"?"+k[x.BUILD]+"?",q("LOOSE"),k[x.LOOSE]="^"+k[x.LOOSEPLAIN]+"$",q("GTLT"),k[x.GTLT]="((?:<|>)?=?)",q("XRANGEIDENTIFIERLOOSE"),k[x.XRANGEIDENTIFIERLOOSE]=k[x.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",q("XRANGEIDENTIFIER"),k[x.XRANGEIDENTIFIER]=k[x.NUMERICIDENTIFIER]+"|x|X|\\*",q("XRANGEPLAIN"),k[x.XRANGEPLAIN]="[v=\\s]*("+k[x.XRANGEIDENTIFIER]+")(?:\\.("+k[x.XRANGEIDENTIFIER]+")(?:\\.("+k[x.XRANGEIDENTIFIER]+")(?:"+k[x.PRERELEASE]+")?"+k[x.BUILD]+"?)?)?",q("XRANGEPLAINLOOSE"),k[x.XRANGEPLAINLOOSE]="[v=\\s]*("+k[x.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+k[x.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+k[x.XRANGEIDENTIFIERLOOSE]+")(?:"+k[x.PRERELEASELOOSE]+")?"+k[x.BUILD]+"?)?)?",q("XRANGE"),k[x.XRANGE]="^"+k[x.GTLT]+"\\s*"+k[x.XRANGEPLAIN]+"$",q("XRANGELOOSE"),k[x.XRANGELOOSE]="^"+k[x.GTLT]+"\\s*"+k[x.XRANGEPLAINLOOSE]+"$",q("COERCE"),k[x.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",q("COERCERTL"),F[x.COERCERTL]=new RegExp(k[x.COERCE],"g"),q("LONETILDE"),k[x.LONETILDE]="(?:~>?)",q("TILDETRIM"),k[x.TILDETRIM]="(\\s*)"+k[x.LONETILDE]+"\\s+",F[x.TILDETRIM]=new RegExp(k[x.TILDETRIM],"g"),q("TILDE"),k[x.TILDE]="^"+k[x.LONETILDE]+k[x.XRANGEPLAIN]+"$",q("TILDELOOSE"),k[x.TILDELOOSE]="^"+k[x.LONETILDE]+k[x.XRANGEPLAINLOOSE]+"$",q("LONECARET"),k[x.LONECARET]="(?:\\^)",q("CARETTRIM"),k[x.CARETTRIM]="(\\s*)"+k[x.LONECARET]+"\\s+",F[x.CARETTRIM]=new RegExp(k[x.CARETTRIM],"g"),q("CARET"),k[x.CARET]="^"+k[x.LONECARET]+k[x.XRANGEPLAIN]+"$",q("CARETLOOSE"),k[x.CARETLOOSE]="^"+k[x.LONECARET]+k[x.XRANGEPLAINLOOSE]+"$",q("COMPARATORLOOSE"),k[x.COMPARATORLOOSE]="^"+k[x.GTLT]+"\\s*("+k[x.LOOSEPLAIN]+")$|^$",q("COMPARATOR"),k[x.COMPARATOR]="^"+k[x.GTLT]+"\\s*("+k[x.FULLPLAIN]+")$|^$",q("COMPARATORTRIM"),k[x.COMPARATORTRIM]="(\\s*)"+k[x.GTLT]+"\\s*("+k[x.LOOSEPLAIN]+"|"+k[x.XRANGEPLAIN]+")",F[x.COMPARATORTRIM]=new RegExp(k[x.COMPARATORTRIM],"g"),q("HYPHENRANGE"),k[x.HYPHENRANGE]="^\\s*("+k[x.XRANGEPLAIN]+")\\s+-\\s+("+k[x.XRANGEPLAIN]+")\\s*$",q("HYPHENRANGELOOSE"),k[x.HYPHENRANGELOOSE]="^\\s*("+k[x.XRANGEPLAINLOOSE]+")\\s+-\\s+("+k[x.XRANGEPLAINLOOSE]+")\\s*$",q("STAR"),k[x.STAR]="(<|>)?=?\\s*\\*";for(var V=0;V256||!(ce.loose?F[x.LOOSE]:F[x.FULL]).test(J))return null;try{return new y(J,ce)}catch{return null}}function y(J,ce){if(ce&&E(ce)==="object"||(ce={loose:!!ce,includePrerelease:!1}),J instanceof y){if(J.loose===ce.loose)return J;J=J.version}else if(typeof J!="string")throw new TypeError("Invalid Version: "+J);if(J.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof y))return new y(J,ce);t("SemVer",J,ce),this.options=ce,this.loose=!!ce.loose;var Re=J.trim().match(ce.loose?F[x.LOOSE]:F[x.FULL]);if(!Re)throw new TypeError("Invalid Version: "+J);if(this.raw=J,this.major=+Re[1],this.minor=+Re[2],this.patch=+Re[3],this.major>N||this.major<0)throw new TypeError("Invalid major version");if(this.minor>N||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>N||this.patch<0)throw new TypeError("Invalid patch version");Re[4]?this.prerelease=Re[4].split(".").map(function(le){if(/^[0-9]+$/.test(le)){var He=+le;if(He>=0&&He=0;)typeof this.prerelease[Re]=="number"&&(this.prerelease[Re]++,Re=-2);Re===-1&&this.prerelease.push(0)}ce&&(this.prerelease[0]===ce?isNaN(this.prerelease[1])&&(this.prerelease=[ce,0]):this.prerelease=[ce,0]);break;default:throw new Error("invalid increment argument: "+J)}return this.format(),this.raw=this.version,this},l.inc=function(J,ce,Re,le){typeof Re=="string"&&(le=Re,Re=void 0);try{return new y(J,Re).inc(ce,le).version}catch{return null}},l.diff=function(J,ce){if(he(J,ce))return null;var Re=re(J),le=re(ce),He="";if(Re.prerelease.length||le.prerelease.length){He="pre";var dt="prerelease"}for(var At in Re)if((At==="major"||At==="minor"||At==="patch")&&Re[At]!==le[At])return He+At;return dt},l.compareIdentifiers=De;var me=/^[0-9]+$/;function De(J,ce){var Re=me.test(J),le=me.test(ce);return Re&&le&&(J=+J,ce=+ce),J===ce?0:Re&&!le?-1:le&&!Re?1:J0}function we(J,ce,Re){return ge(J,ce,Re)<0}function he(J,ce,Re){return ge(J,ce,Re)===0}function ve(J,ce,Re){return ge(J,ce,Re)!==0}function ue(J,ce,Re){return ge(J,ce,Re)>=0}function Ae(J,ce,Re){return ge(J,ce,Re)<=0}function ze(J,ce,Re,le){switch(ce){case"===":return E(J)==="object"&&(J=J.version),E(Re)==="object"&&(Re=Re.version),J===Re;case"!==":return E(J)==="object"&&(J=J.version),E(Re)==="object"&&(Re=Re.version),J!==Re;case"":case"=":case"==":return he(J,Re,le);case"!=":return ve(J,Re,le);case">":return ae(J,Re,le);case">=":return ue(J,Re,le);case"<":return we(J,Re,le);case"<=":return Ae(J,Re,le);default:throw new TypeError("Invalid operator: "+ce)}}function We(J,ce){if(ce&&E(ce)==="object"||(ce={loose:!!ce,includePrerelease:!1}),J instanceof We){if(J.loose===!!ce.loose)return J;J=J.value}if(!(this instanceof We))return new We(J,ce);t("comparator",J,ce),this.options=ce,this.loose=!!ce.loose,this.parse(J),this.semver===gt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}l.rcompareIdentifiers=function(J,ce){return De(ce,J)},l.major=function(J,ce){return new y(J,ce).major},l.minor=function(J,ce){return new y(J,ce).minor},l.patch=function(J,ce){return new y(J,ce).patch},l.compare=ge,l.compareLoose=function(J,ce){return ge(J,ce,!0)},l.compareBuild=function(J,ce,Re){var le=new y(J,Re),He=new y(ce,Re);return le.compare(He)||le.compareBuild(He)},l.rcompare=function(J,ce,Re){return ge(ce,J,Re)},l.sort=function(J,ce){return J.sort(function(Re,le){return l.compareBuild(Re,le,ce)})},l.rsort=function(J,ce){return J.sort(function(Re,le){return l.compareBuild(le,Re,ce)})},l.gt=ae,l.lt=we,l.eq=he,l.neq=ve,l.gte=ue,l.lte=Ae,l.cmp=ze,l.Comparator=We;var gt={};function _t(J,ce){if(ce&&E(ce)==="object"||(ce={loose:!!ce,includePrerelease:!1}),J instanceof _t)return J.loose===!!ce.loose&&J.includePrerelease===!!ce.includePrerelease?J:new _t(J.raw,ce);if(J instanceof We)return new _t(J.value,ce);if(!(this instanceof _t))return new _t(J,ce);if(this.options=ce,this.loose=!!ce.loose,this.includePrerelease=!!ce.includePrerelease,this.raw=J,this.set=J.split(/\s*\|\|\s*/).map(function(Re){return this.parseRange(Re.trim())},this).filter(function(Re){return Re.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+J);this.format()}function Qe(J,ce){for(var Re=!0,le=J.slice(),He=le.pop();Re&&le.length;)Re=le.every(function(dt){return He.intersects(dt,ce)}),He=le.pop();return Re}function ot(J){return!J||J.toLowerCase()==="x"||J==="*"}function Ve(J,ce,Re,le,He,dt,At,nn,an,On,lr,ln,Vt){return((ce=ot(Re)?"":ot(le)?">="+Re+".0.0":ot(He)?">="+Re+"."+le+".0":">="+ce)+" "+(nn=ot(an)?"":ot(On)?"<"+(+an+1)+".0.0":ot(lr)?"<"+an+"."+(+On+1)+".0":ln?"<="+an+"."+On+"."+lr+"-"+ln:"<="+nn)).trim()}function Pt(J,ce,Re){for(var le=0;le0){var He=J[le].semver;if(He.major===ce.major&&He.minor===ce.minor&&He.patch===ce.patch)return!0}return!1}return!0}function Jt(J,ce,Re){try{ce=new _t(ce,Re)}catch{return!1}return ce.test(J)}function it(J,ce,Re,le){var He,dt,At,nn,an;switch(J=new y(J,le),ce=new _t(ce,le),Re){case">":He=ae,dt=Ae,At=we,nn=">",an=">=";break;case"<":He=we,dt=ue,At=ae,nn="<",an="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Jt(J,ce,le))return!1;for(var On=0;On=0.0.0")),ln=ln||Er,Vt=Vt||Er,He(Er.semver,ln.semver,le)?ln=Er:At(Er.semver,Vt.semver,le)&&(Vt=Er)}),ln.operator===nn||ln.operator===an||(!Vt.operator||Vt.operator===nn)&&dt(J,Vt.semver)||Vt.operator===an&&At(J,Vt.semver))return!1}return!0}We.prototype.parse=function(J){var ce=this.options.loose?F[x.COMPARATORLOOSE]:F[x.COMPARATOR],Re=J.match(ce);if(!Re)throw new TypeError("Invalid comparator: "+J);this.operator=Re[1]!==void 0?Re[1]:"",this.operator==="="&&(this.operator=""),Re[2]?this.semver=new y(Re[2],this.options.loose):this.semver=gt},We.prototype.toString=function(){return this.value},We.prototype.test=function(J){if(t("Comparator.test",J,this.options.loose),this.semver===gt||J===gt)return!0;if(typeof J=="string")try{J=new y(J,this.options)}catch{return!1}return ze(J,this.operator,this.semver,this.options)},We.prototype.intersects=function(J,ce){if(!(J instanceof We))throw new TypeError("a Comparator is required");var Re;if(ce&&E(ce)==="object"||(ce={loose:!!ce,includePrerelease:!1}),this.operator==="")return this.value===""||(Re=new _t(J.value,ce),Jt(this.value,Re,ce));if(J.operator==="")return J.value===""||(Re=new _t(this.value,ce),Jt(J.semver,Re,ce));var le=!(this.operator!==">="&&this.operator!==">"||J.operator!==">="&&J.operator!==">"),He=!(this.operator!=="<="&&this.operator!=="<"||J.operator!=="<="&&J.operator!=="<"),dt=this.semver.version===J.semver.version,At=!(this.operator!==">="&&this.operator!=="<="||J.operator!==">="&&J.operator!=="<="),nn=ze(this.semver,"<",J.semver,ce)&&(this.operator===">="||this.operator===">")&&(J.operator==="<="||J.operator==="<"),an=ze(this.semver,">",J.semver,ce)&&(this.operator==="<="||this.operator==="<")&&(J.operator===">="||J.operator===">");return le||He||dt&&At||nn||an},l.Range=_t,_t.prototype.format=function(){return this.range=this.set.map(function(J){return J.join(" ").trim()}).join("||").trim(),this.range},_t.prototype.toString=function(){return this.range},_t.prototype.parseRange=function(J){var ce=this.options.loose;J=J.trim();var Re=ce?F[x.HYPHENRANGELOOSE]:F[x.HYPHENRANGE];J=J.replace(Re,Ve),t("hyphen replace",J),J=J.replace(F[x.COMPARATORTRIM],"$1$2$3"),t("comparator trim",J,F[x.COMPARATORTRIM]),J=(J=(J=J.replace(F[x.TILDETRIM],"$1~")).replace(F[x.CARETTRIM],"$1^")).split(/\s+/).join(" ");var le=ce?F[x.COMPARATORLOOSE]:F[x.COMPARATOR],He=J.split(" ").map(function(dt){return function(At,nn){return t("comp",At,nn),At=function(an,On){return an.trim().split(/\s+/).map(function(lr){return function(ln,Vt){t("caret",ln,Vt);var Er=Vt.loose?F[x.CARETLOOSE]:F[x.CARET];return ln.replace(Er,function(S,zt,Xn,vr,jr){var fr;return t("caret",ln,S,zt,Xn,vr,jr),ot(zt)?fr="":ot(Xn)?fr=">="+zt+".0.0 <"+(+zt+1)+".0.0":ot(vr)?fr=zt==="0"?">="+zt+"."+Xn+".0 <"+zt+"."+(+Xn+1)+".0":">="+zt+"."+Xn+".0 <"+(+zt+1)+".0.0":jr?(t("replaceCaret pr",jr),fr=zt==="0"?Xn==="0"?">="+zt+"."+Xn+"."+vr+"-"+jr+" <"+zt+"."+Xn+"."+(+vr+1):">="+zt+"."+Xn+"."+vr+"-"+jr+" <"+zt+"."+(+Xn+1)+".0":">="+zt+"."+Xn+"."+vr+"-"+jr+" <"+(+zt+1)+".0.0"):(t("no pr"),fr=zt==="0"?Xn==="0"?">="+zt+"."+Xn+"."+vr+" <"+zt+"."+Xn+"."+(+vr+1):">="+zt+"."+Xn+"."+vr+" <"+zt+"."+(+Xn+1)+".0":">="+zt+"."+Xn+"."+vr+" <"+(+zt+1)+".0.0"),t("caret return",fr),fr})}(lr,On)}).join(" ")}(At,nn),t("caret",At),At=function(an,On){return an.trim().split(/\s+/).map(function(lr){return function(ln,Vt){var Er=Vt.loose?F[x.TILDELOOSE]:F[x.TILDE];return ln.replace(Er,function(S,zt,Xn,vr,jr){var fr;return t("tilde",ln,S,zt,Xn,vr,jr),ot(zt)?fr="":ot(Xn)?fr=">="+zt+".0.0 <"+(+zt+1)+".0.0":ot(vr)?fr=">="+zt+"."+Xn+".0 <"+zt+"."+(+Xn+1)+".0":jr?(t("replaceTilde pr",jr),fr=">="+zt+"."+Xn+"."+vr+"-"+jr+" <"+zt+"."+(+Xn+1)+".0"):fr=">="+zt+"."+Xn+"."+vr+" <"+zt+"."+(+Xn+1)+".0",t("tilde return",fr),fr})}(lr,On)}).join(" ")}(At,nn),t("tildes",At),At=function(an,On){return t("replaceXRanges",an,On),an.split(/\s+/).map(function(lr){return function(ln,Vt){ln=ln.trim();var Er=Vt.loose?F[x.XRANGELOOSE]:F[x.XRANGE];return ln.replace(Er,function(S,zt,Xn,vr,jr,fr){t("xRange",ln,S,zt,Xn,vr,jr,fr);var zr=ot(Xn),Xt=zr||ot(vr),Du=Xt||ot(jr),c0=Du;return zt==="="&&c0&&(zt=""),fr=Vt.includePrerelease?"-0":"",zr?S=zt===">"||zt==="<"?"<0.0.0-0":"*":zt&&c0?(Xt&&(vr=0),jr=0,zt===">"?(zt=">=",Xt?(Xn=+Xn+1,vr=0,jr=0):(vr=+vr+1,jr=0)):zt==="<="&&(zt="<",Xt?Xn=+Xn+1:vr=+vr+1),S=zt+Xn+"."+vr+"."+jr+fr):Xt?S=">="+Xn+".0.0"+fr+" <"+(+Xn+1)+".0.0"+fr:Du&&(S=">="+Xn+"."+vr+".0"+fr+" <"+Xn+"."+(+vr+1)+".0"+fr),t("xRange return",S),S})}(lr,On)}).join(" ")}(At,nn),t("xrange",At),At=function(an,On){return t("replaceStars",an,On),an.trim().replace(F[x.STAR],"")}(At,nn),t("stars",At),At}(dt,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(He=He.filter(function(dt){return!!dt.match(le)})),He=He.map(function(dt){return new We(dt,this.options)},this)},_t.prototype.intersects=function(J,ce){if(!(J instanceof _t))throw new TypeError("a Range is required");return this.set.some(function(Re){return Qe(Re,ce)&&J.set.some(function(le){return Qe(le,ce)&&Re.every(function(He){return le.every(function(dt){return He.intersects(dt,ce)})})})})},l.toComparators=function(J,ce){return new _t(J,ce).set.map(function(Re){return Re.map(function(le){return le.value}).join(" ").trim().split(" ")})},_t.prototype.test=function(J){if(!J)return!1;if(typeof J=="string")try{J=new y(J,this.options)}catch{return!1}for(var ce=0;ce":dt.prerelease.length===0?dt.patch++:dt.prerelease.push(0),dt.raw=dt.format();case"":case">=":Re&&!ae(Re,dt)||(Re=dt);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+He.operator)}});return Re&&J.test(Re)?Re:null},l.validRange=function(J,ce){try{return new _t(J,ce).range||"*"}catch{return null}},l.ltr=function(J,ce,Re){return it(J,ce,"<",Re)},l.gtr=function(J,ce,Re){return it(J,ce,">",Re)},l.outside=it,l.prerelease=function(J,ce){var Re=re(J,ce);return Re&&Re.prerelease.length?Re.prerelease:null},l.intersects=function(J,ce,Re){return J=new _t(J,Re),ce=new _t(ce,Re),J.intersects(ce)},l.coerce=function(J,ce){if(J instanceof y)return J;if(typeof J=="number"&&(J=String(J)),typeof J!="string")return null;var Re=null;if((ce=ce||{}).rtl){for(var le;(le=F[x.COERCERTL].exec(J))&&(!Re||Re.index+Re[0].length!==J.length);)Re&&le.index+le[0].length===Re.index+Re[0].length||(Re=le),F[x.COERCERTL].lastIndex=le.index+le[1].length+le[2].length;F[x.COERCERTL].lastIndex=-1}else Re=J.match(F[x.COERCE]);return Re===null?null:re(Re[2]+"."+(Re[3]||"0")+"."+(Re[4]||"0"),ce)}}).call(this,f(5))},function(o,l){function f(E){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(E)}var h;h=function(){return this}();try{h=h||new Function("return this")()}catch{(typeof window>"u"?"undefined":f(window))==="object"&&(h=window)}o.exports=h},function(o,l){var f,h,E=o.exports={};function t(){throw new Error("setTimeout has not been defined")}function N(){throw new Error("clearTimeout has not been defined")}function F(De){if(f===setTimeout)return setTimeout(De,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(De,0);try{return f(De,0)}catch{try{return f.call(null,De,0)}catch{return f.call(this,De,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch{f=t}try{h=typeof clearTimeout=="function"?clearTimeout:N}catch{h=N}})();var k,x=[],j=!1,q=-1;function V(){j&&k&&(j=!1,k.length?x=k.concat(x):q=-1,x.length&&re())}function re(){if(!j){var De=F(V);j=!0;for(var ge=x.length;ge;){for(k=x,x=[];++q1)for(var ae=1;aethis[N])return ve(this,this[y].get(Qe)),!1;var it=this[y].get(Qe).value;return this[q]&&(this[V]||this[q](Qe,it.value)),it.now=Pt,it.maxAge=Ve,it.value=ot,this[F]+=Jt-it.length,it.length=Jt,this.get(Qe),he(this),!0}var J=new ue(Qe,ot,Jt,Pt,Ve);return J.length>this[N]?(this[q]&&this[q](Qe,ot),!1):(this[F]+=J.length,this[re].unshift(J),this[y].set(Qe,this[re].head),he(this),!0)}},{key:"has",value:function(Qe){if(!this[y].has(Qe))return!1;var ot=this[y].get(Qe).value;return!we(this,ot)}},{key:"get",value:function(Qe){return ae(this,Qe,!0)}},{key:"peek",value:function(Qe){return ae(this,Qe,!1)}},{key:"pop",value:function(){var Qe=this[re].tail;return Qe?(ve(this,Qe),Qe.value):null}},{key:"del",value:function(Qe){ve(this,this[y].get(Qe))}},{key:"load",value:function(Qe){this.reset();for(var ot=Date.now(),Ve=Qe.length-1;Ve>=0;Ve--){var Pt=Qe[Ve],Jt=Pt.e||0;if(Jt===0)this.set(Pt.k,Pt.v);else{var it=Jt-ot;it>0&&this.set(Pt.k,Pt.v,it)}}}},{key:"prune",value:function(){var Qe=this;this[y].forEach(function(ot,Ve){return ae(Qe,Ve,!1)})}},{key:"max",set:function(Qe){if(typeof Qe!="number"||Qe<0)throw new TypeError("max must be a non-negative number");this[N]=Qe||1/0,he(this)},get:function(){return this[N]}},{key:"allowStale",set:function(Qe){this[x]=!!Qe},get:function(){return this[x]}},{key:"maxAge",set:function(Qe){if(typeof Qe!="number")throw new TypeError("maxAge must be a non-negative number");this[j]=Qe,he(this)},get:function(){return this[j]}},{key:"lengthCalculator",set:function(Qe){var ot=this;typeof Qe!="function"&&(Qe=De),Qe!==this[k]&&(this[k]=Qe,this[F]=0,this[re].forEach(function(Ve){Ve.length=ot[k](Ve.value,Ve.key),ot[F]+=Ve.length})),he(this)},get:function(){return this[k]}},{key:"length",get:function(){return this[F]}},{key:"itemCount",get:function(){return this[re].length}}])&&E(We.prototype,gt),_t&&E(We,_t),ze}(),ae=function(ze,We,gt){var _t=ze[y].get(We);if(_t){var Qe=_t.value;if(we(ze,Qe)){if(ve(ze,_t),!ze[x])return}else gt&&(ze[me]&&(_t.value.now=Date.now()),ze[re].unshiftNode(_t));return Qe.value}},we=function(ze,We){if(!We||!We.maxAge&&!ze[j])return!1;var gt=Date.now()-We.now;return We.maxAge?gt>We.maxAge:ze[j]&>>ze[j]},he=function(ze){if(ze[F]>ze[N])for(var We=ze[re].tail;ze[F]>ze[N]&&We!==null;){var gt=We.prev;ve(ze,We),We=gt}},ve=function(ze,We){if(We){var gt=We.value;ze[q]&&ze[q](gt.key,gt.value),ze[F]-=gt.length,ze[y].delete(gt.key),ze[re].removeNode(We)}},ue=function ze(We,gt,_t,Qe,ot){h(this,ze),this.key=We,this.value=gt,this.length=_t,this.now=Qe,this.maxAge=ot||0},Ae=function(ze,We,gt,_t){var Qe=gt.value;we(ze,Qe)&&(ve(ze,gt),ze[x]||(Qe=void 0)),Qe&&We.call(_t,Qe.value,Qe.key,ze)};o.exports=ge},function(o,l,f){(function(h){function E(t){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(N){return typeof N}:function(N){return N&&typeof Symbol=="function"&&N.constructor===Symbol&&N!==Symbol.prototype?"symbol":typeof N})(t)}o.exports=function(){if(typeof document>"u"||!document.addEventListener)return null;var t,N,F,k={};return k.copy=function(){var x=!1,j=null,q=!1;function V(){x=!1,j=null,q&&window.getSelection().removeAllRanges(),q=!1}return document.addEventListener("copy",function(re){if(x){for(var y in j)re.clipboardData.setData(y,j[y]);re.preventDefault()}}),function(re){return new Promise(function(y,me){x=!0,typeof re=="string"?j={"text/plain":re}:re instanceof Node?j={"text/html":new XMLSerializer().serializeToString(re)}:re instanceof Object?j=re:me("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function De(ge){try{if(document.execCommand("copy"))V(),y();else{if(ge)throw V(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var ae=document.getSelection();if(!document.queryCommandEnabled("copy")&&ae.isCollapsed){var we=document.createRange();we.selectNodeContents(document.body),ae.removeAllRanges(),ae.addRange(we),q=!0}})(),De(!0)}}catch(ae){V(),me(ae)}}(!1)})}}(),k.paste=(F=!1,document.addEventListener("paste",function(x){if(F){F=!1,x.preventDefault();var j=t;t=null,j(x.clipboardData.getData(N))}}),function(x){return new Promise(function(j,q){F=!0,t=j,N=x||"text/plain";try{document.execCommand("paste")||(F=!1,q(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(V){F=!1,q(new Error(V))}})}),typeof ClipboardEvent>"u"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(x){function j(he,ve){return function(){he.apply(ve,arguments)}}function q(he){if(E(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof he!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],ge(he,j(re,this),j(y,this))}function V(he){var ve=this;return this._state===null?void this._deferreds.push(he):void ae(function(){var ue=ve._state?he.onFulfilled:he.onRejected;if(ue!==null){var Ae;try{Ae=ue(ve._value)}catch(ze){return void he.reject(ze)}he.resolve(Ae)}else(ve._state?he.resolve:he.reject)(ve._value)})}function re(he){try{if(he===this)throw new TypeError("A promise cannot be resolved with itself.");if(he&&(E(he)=="object"||typeof he=="function")){var ve=he.then;if(typeof ve=="function")return void ge(j(ve,he),j(re,this),j(y,this))}this._state=!0,this._value=he,me.call(this)}catch(ue){y.call(this,ue)}}function y(he){this._state=!1,this._value=he,me.call(this)}function me(){for(var he=0,ve=this._deferreds.length;ve>he;he++)V.call(this,this._deferreds[he]);this._deferreds=null}function De(he,ve,ue,Ae){this.onFulfilled=typeof he=="function"?he:null,this.onRejected=typeof ve=="function"?ve:null,this.resolve=ue,this.reject=Ae}function ge(he,ve,ue){var Ae=!1;try{he(function(ze){Ae||(Ae=!0,ve(ze))},function(ze){Ae||(Ae=!0,ue(ze))})}catch(ze){if(Ae)return;Ae=!0,ue(ze)}}var ae=q.immediateFn||typeof h=="function"&&h||function(he){setTimeout(he,1)},we=Array.isArray||function(he){return Object.prototype.toString.call(he)==="[object Array]"};q.prototype.catch=function(he){return this.then(null,he)},q.prototype.then=function(he,ve){var ue=this;return new q(function(Ae,ze){V.call(ue,new De(he,ve,Ae,ze))})},q.all=function(){var he=Array.prototype.slice.call(arguments.length===1&&we(arguments[0])?arguments[0]:arguments);return new q(function(ve,ue){function Ae(gt,_t){try{if(_t&&(E(_t)=="object"||typeof _t=="function")){var Qe=_t.then;if(typeof Qe=="function")return void Qe.call(_t,function(ot){Ae(gt,ot)},ue)}he[gt]=_t,--ze==0&&ve(he)}catch(ot){ue(ot)}}if(he.length===0)return ve([]);for(var ze=he.length,We=0;WeAe;Ae++)he[Ae].then(ve,ue)})},o.exports?o.exports=q:x.Promise||(x.Promise=q)}(this),k.copy=function(x){return new Promise(function(j,q){if(typeof x!="string"&&!("text/plain"in x))throw new Error("You must provide a text/plain type.");var V=typeof x=="string"?x:x["text/plain"];window.clipboardData.setData("Text",V)?j():q(new Error("Copying was rejected."))})},k.paste=function(){return new Promise(function(x,j){var q=window.clipboardData.getData("Text");q?x(q):j(new Error("Pasting was rejected."))})}),k}()}).call(this,f(13).setImmediate)},function(o,l,f){"use strict";o.exports=f(15)},function(o,l,f){"use strict";f.r(l),l.default=`:root { /** * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() */ @@ -380,16 +380,16 @@ If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more in --interaction-commit-size: 10px; --interaction-label-width: 200px; } -`},function(i,o,a){"use strict";function p(O){var C=this;if(C instanceof p||(C=new p),C.tail=null,C.head=null,C.length=0,O&&typeof O.forEach=="function")O.forEach(function(W){C.push(W)});else if(arguments.length>0)for(var U=0,H=arguments.length;U1)U=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");H=this.head.next,U=this.head.value}for(var W=0;H!==null;W++)U=O(U,H.value,W),H=H.next;return U},p.prototype.reduceReverse=function(O,C){var U,H=this.tail;if(arguments.length>1)U=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");H=this.tail.prev,U=this.tail.value}for(var W=this.length-1;H!==null;W--)U=O(U,H.value,W),H=H.prev;return U},p.prototype.toArray=function(){for(var O=new Array(this.length),C=0,U=this.head;U!==null;C++)O[C]=U.value,U=U.next;return O},p.prototype.toArrayReverse=function(){for(var O=new Array(this.length),C=0,U=this.tail;U!==null;C++)O[C]=U.value,U=U.prev;return O},p.prototype.slice=function(O,C){(C=C||this.length)<0&&(C+=this.length),(O=O||0)<0&&(O+=this.length);var U=new p;if(Cthis.length&&(C=this.length);for(var H=0,W=this.head;W!==null&&Hthis.length&&(C=this.length);for(var H=this.length,W=this.tail;W!==null&&H>C;H--)W=W.prev;for(;W!==null&&H>O;H--,W=W.prev)U.push(W.value);return U},p.prototype.splice=function(O,C){O>this.length&&(O=this.length-1),O<0&&(O=this.length+O);for(var U=0,H=this.head;H!==null&&U=0&&(L._idleTimeoutId=setTimeout(function(){L._onTimeout&&L._onTimeout()},O))},a(14),o.setImmediate=typeof self!="undefined"&&self.setImmediate||p!==void 0&&p.setImmediate||this&&this.setImmediate,o.clearImmediate=typeof self!="undefined"&&self.clearImmediate||p!==void 0&&p.clearImmediate||this&&this.clearImmediate}).call(this,a(4))},function(i,o,a){(function(p,_){(function(t,k){"use strict";if(!t.setImmediate){var L,O,C,U,H,W=1,ne={},m=!1,he=t.document,Ee=Object.getPrototypeOf&&Object.getPrototypeOf(t);Ee=Ee&&Ee.setTimeout?Ee:t,{}.toString.call(t.process)==="[object process]"?L=function(De){_.nextTick(function(){se(De)})}:function(){if(t.postMessage&&!t.importScripts){var De=!0,pe=t.onmessage;return t.onmessage=function(){De=!1},t.postMessage("","*"),t.onmessage=pe,De}}()?(U="setImmediate$"+Math.random()+"$",H=function(De){De.source===t&&typeof De.data=="string"&&De.data.indexOf(U)===0&&se(+De.data.slice(U.length))},t.addEventListener?t.addEventListener("message",H,!1):t.attachEvent("onmessage",H),L=function(De){t.postMessage(U+De,"*")}):t.MessageChannel?((C=new MessageChannel).port1.onmessage=function(De){se(De.data)},L=function(De){C.port2.postMessage(De)}):he&&"onreadystatechange"in he.createElement("script")?(O=he.documentElement,L=function(De){var pe=he.createElement("script");pe.onreadystatechange=function(){se(De),pe.onreadystatechange=null,O.removeChild(pe),pe=null},O.appendChild(pe)}):L=function(De){setTimeout(se,0,De)},Ee.setImmediate=function(De){typeof De!="function"&&(De=new Function(""+De));for(var pe=new Array(arguments.length-1),me=0;mefe;fe++)if((Q=ve(rt,Ft,fe))!==-1){Ee=fe,Ft=Q;break e}Ft=-1}}e:{if(rt=Jt,(Q=W().get(We.primitive))!==void 0){for(fe=0;feFt-rt?null:Jt.slice(rt,Ft-1))!==null){if(Ft=0,qe!==null){for(;FtFt;qe--)yt=Xe.pop()}for(qe=Jt.length-Ft-1;1<=qe;qe--)Ft=[],yt.push({id:null,isStateEditable:!1,name:De(Jt[qe-1].functionName),value:void 0,subHooks:Ft}),Xe.push(yt),yt=Ft;qe=Jt}Ft=(Jt=We.primitive)==="Context"||Jt==="DebugValue"?null:gt++,yt.push({id:Ft,isStateEditable:Jt==="Reducer"||Jt==="State",name:Jt,value:We.value,subHooks:[]})}return function xe(oe,ze){for(var ct=[],Rt=0;Rt-1&&(ne=ne.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var m=ne.replace(/^\s+/,"").replace(/\(eval code/g,"("),he=m.match(/ (\((.+):(\d+):(\d+)\)$)/),Ee=(m=he?m.replace(he[0],""):m).split(/\s+/).slice(1),ve=this.extractLocation(he?he[1]:Ee.pop()),se=Ee.join(" ")||void 0,De=["eval",""].indexOf(ve[0])>-1?void 0:ve[0];return new O({functionName:se,fileName:De,lineNumber:ve[1],columnNumber:ve[2],source:ne})},this)},parseFFOrSafari:function(W){return W.stack.split(` -`).filter(function(ne){return!ne.match(H)},this).map(function(ne){if(ne.indexOf(" > eval")>-1&&(ne=ne.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),ne.indexOf("@")===-1&&ne.indexOf(":")===-1)return new O({functionName:ne});var m=/((.*".+"[^@]*)?[^@]*)(?:@)/,he=ne.match(m),Ee=he&&he[1]?he[1]:void 0,ve=this.extractLocation(ne.replace(m,""));return new O({functionName:Ee,fileName:ve[0],lineNumber:ve[1],columnNumber:ve[2],source:ne})},this)},parseOpera:function(W){return!W.stacktrace||W.message.indexOf(` -`)>-1&&W.message.split(` -`).length>W.stacktrace.split(` -`).length?this.parseOpera9(W):W.stack?this.parseOpera11(W):this.parseOpera10(W)},parseOpera9:function(W){for(var ne=/Line (\d+).*script (?:in )?(\S+)/i,m=W.message.split(` -`),he=[],Ee=2,ve=m.length;Ee/,"$2").replace(/\([^)]*\)/g,"")||void 0;ve.match(/\(([^)]*)\)/)&&(m=ve.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var De=m===void 0||m==="[arguments not available]"?void 0:m.split(",");return new O({functionName:se,args:De,fileName:Ee[0],lineNumber:Ee[1],columnNumber:Ee[2],source:ne})},this)}}})=="function"?p.apply(o,_):p)===void 0||(i.exports=t)})()},function(i,o,a){var p,_,t;(function(k,L){"use strict";_=[],(t=typeof(p=function(){function O(se){return se.charAt(0).toUpperCase()+se.substring(1)}function C(se){return function(){return this[se]}}var U=["isConstructor","isEval","isNative","isToplevel"],H=["columnNumber","lineNumber"],W=["fileName","functionName","source"],ne=U.concat(H,W,["args"]);function m(se){if(se)for(var De=0;De1?Re-1:0),ke=1;ke=0&&Re.splice(Z,1)}}}])&&p(z.prototype,G),$&&p(z,$),B}(),t=a(2),k=a.n(t);try{var L=a(9).default,O=function(B){var z=new RegExp("".concat(B,": ([0-9]+)")),G=L.match(z);return parseInt(G[1],10)};O("comfortable-line-height-data"),O("compact-line-height-data")}catch(B){}function C(B){try{return sessionStorage.getItem(B)}catch(z){return null}}function U(B){try{sessionStorage.removeItem(B)}catch(z){}}function H(B,z){try{return sessionStorage.setItem(B,z)}catch(G){}}var W=function(B,z){return B===z},ne=a(1),m=a.n(ne);function he(B){return B.ownerDocument?B.ownerDocument.defaultView:null}function Ee(B){var z=he(B);return z?z.frameElement:null}function ve(B){var z=pe(B);return se([B.getBoundingClientRect(),{top:z.borderTop,left:z.borderLeft,bottom:z.borderBottom,right:z.borderRight,width:0,height:0}])}function se(B){return B.reduce(function(z,G){return z==null?G:{top:z.top+G.top,left:z.left+G.left,width:z.width,height:z.height,bottom:z.bottom+G.bottom,right:z.right+G.right}})}function De(B,z){var G=Ee(B);if(G&&G!==z){for(var $=[B.getBoundingClientRect()],Te=G,ge=!1;Te;){var Re=ve(Te);if($.push(Re),Te=Ee(Te),ge)break;Te&&he(Te)===z&&(ge=!0)}return se($)}return B.getBoundingClientRect()}function pe(B){var z=window.getComputedStyle(B);return{borderLeft:parseInt(z.borderLeftWidth,10),borderRight:parseInt(z.borderRightWidth,10),borderTop:parseInt(z.borderTopWidth,10),borderBottom:parseInt(z.borderBottomWidth,10),marginLeft:parseInt(z.marginLeft,10),marginRight:parseInt(z.marginRight,10),marginTop:parseInt(z.marginTop,10),marginBottom:parseInt(z.marginBottom,10),paddingLeft:parseInt(z.paddingLeft,10),paddingRight:parseInt(z.paddingRight,10),paddingTop:parseInt(z.paddingTop,10),paddingBottom:parseInt(z.paddingBottom,10)}}function me(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Qe){if(!!ke){if(typeof ke=="string")return ie(ke,Qe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return ie(ke,Qe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,Te=function(){};return{s:Te,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function ie(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);GRe.left+Re.width&&(ue=Re.left+Re.width-ht-5),{style:{top:ke+="px",left:ue+="px"}}}(z,G,{width:$.width,height:$.height});m()(this.tip.style,Te.style)}}]),B}(),Xe=function(){function B(){Oe(this,B);var z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=z;var G=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=G;var $=z.document;this.container=$.createElement("div"),this.container.style.zIndex="10000000",this.tip=new gt($,this.container),this.rects=[],$.body.appendChild(this.container)}return qe(B,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(z){z.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(z,G){for(var $=this,Te=z.filter(function(Ct){return Ct.nodeType===Node.ELEMENT_NODE});this.rects.length>Te.length;)this.rects.pop().remove();if(Te.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:W,nt=void 0,Ct=[],Mt=void 0,It=!1,sn=function(Lt,Dn){return He(Lt,Ct[Dn])},rn=function(){for(var Lt=arguments.length,Dn=Array(Lt),dr=0;dr0)for(var j=0,q=arguments.length;j1)j=x;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");q=this.head.next,j=this.head.value}for(var V=0;q!==null;V++)j=k(j,q.value,V),q=q.next;return j},h.prototype.reduceReverse=function(k,x){var j,q=this.tail;if(arguments.length>1)j=x;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");q=this.tail.prev,j=this.tail.value}for(var V=this.length-1;q!==null;V--)j=k(j,q.value,V),q=q.prev;return j},h.prototype.toArray=function(){for(var k=new Array(this.length),x=0,j=this.head;j!==null;x++)k[x]=j.value,j=j.next;return k},h.prototype.toArrayReverse=function(){for(var k=new Array(this.length),x=0,j=this.tail;j!==null;x++)k[x]=j.value,j=j.prev;return k},h.prototype.slice=function(k,x){(x=x||this.length)<0&&(x+=this.length),(k=k||0)<0&&(k+=this.length);var j=new h;if(xthis.length&&(x=this.length);for(var q=0,V=this.head;V!==null&&qthis.length&&(x=this.length);for(var q=this.length,V=this.tail;V!==null&&q>x;q--)V=V.prev;for(;V!==null&&q>k;q--,V=V.prev)j.push(V.value);return j},h.prototype.splice=function(k,x){k>this.length&&(k=this.length-1),k<0&&(k=this.length+k);for(var j=0,q=this.head;q!==null&&j=0&&(F._idleTimeoutId=setTimeout(function(){F._onTimeout&&F._onTimeout()},k))},f(14),l.setImmediate=typeof self<"u"&&self.setImmediate||h!==void 0&&h.setImmediate||this&&this.setImmediate,l.clearImmediate=typeof self<"u"&&self.clearImmediate||h!==void 0&&h.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(o,l,f){(function(h,E){(function(t,N){"use strict";if(!t.setImmediate){var F,k,x,j,q,V=1,re={},y=!1,me=t.document,De=Object.getPrototypeOf&&Object.getPrototypeOf(t);De=De&&De.setTimeout?De:t,{}.toString.call(t.process)==="[object process]"?F=function(we){E.nextTick(function(){ae(we)})}:function(){if(t.postMessage&&!t.importScripts){var we=!0,he=t.onmessage;return t.onmessage=function(){we=!1},t.postMessage("","*"),t.onmessage=he,we}}()?(j="setImmediate$"+Math.random()+"$",q=function(we){we.source===t&&typeof we.data=="string"&&we.data.indexOf(j)===0&&ae(+we.data.slice(j.length))},t.addEventListener?t.addEventListener("message",q,!1):t.attachEvent("onmessage",q),F=function(we){t.postMessage(j+we,"*")}):t.MessageChannel?((x=new MessageChannel).port1.onmessage=function(we){ae(we.data)},F=function(we){x.port2.postMessage(we)}):me&&"onreadystatechange"in me.createElement("script")?(k=me.documentElement,F=function(we){var he=me.createElement("script");he.onreadystatechange=function(){ae(we),he.onreadystatechange=null,k.removeChild(he),he=null},k.appendChild(he)}):F=function(we){setTimeout(ae,0,we)},De.setImmediate=function(we){typeof we!="function"&&(we=new Function(""+we));for(var he=new Array(arguments.length-1),ve=0;ve"u"?h===void 0?this:h:self)}).call(this,f(4),f(5))},function(o,l,f){"use strict";function h(ue){return(h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ae){return typeof Ae}:function(Ae){return Ae&&typeof Symbol=="function"&&Ae.constructor===Symbol&&Ae!==Symbol.prototype?"symbol":typeof Ae})(ue)}var E=f(1),t=f(16),N=f(18).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,F=60128;if(typeof Symbol=="function"&&Symbol.for){var k=Symbol.for;F=k("react.opaque.id")}var x=[],j=null,q=null;function V(){if(j===null){var ue=new Map;try{me.useContext({_currentValue:null}),me.useState(null),me.useReducer(function(gt){return gt},null),me.useRef(null),me.useLayoutEffect(function(){}),me.useEffect(function(){}),me.useImperativeHandle(void 0,function(){return null}),me.useDebugValue(null),me.useCallback(function(){}),me.useMemo(function(){return null})}finally{var Ae=x;x=[]}for(var ze=0;zece;ce++)if((J=ge(it,Pt,ce))!==-1){De=ce,Pt=J;break e}Pt=-1}}e:{if(it=Jt,(J=V().get(Ve.primitive))!==void 0){for(ce=0;cePt-it?null:Jt.slice(it,Pt-1))!==null){if(Pt=0,We!==null){for(;PtPt;We--)gt=Qe.pop()}for(We=Jt.length-Pt-1;1<=We;We--)Pt=[],gt.push({id:null,isStateEditable:!1,name:we(Jt[We-1].functionName),value:void 0,subHooks:Pt}),Qe.push(gt),gt=Pt;We=Jt}Pt=(Jt=Ve.primitive)==="Context"||Jt==="DebugValue"?null:_t++,gt.push({id:Pt,isStateEditable:Jt==="Reducer"||Jt==="State",name:Jt,value:Ve.value,subHooks:[]})}return function Re(le,He){for(var dt=[],At=0;At-1&&(re=re.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var y=re.replace(/^\s+/,"").replace(/\(eval code/g,"("),me=y.match(/ (\((.+):(\d+):(\d+)\)$)/),De=(y=me?y.replace(me[0],""):y).split(/\s+/).slice(1),ge=this.extractLocation(me?me[1]:De.pop()),ae=De.join(" ")||void 0,we=["eval",""].indexOf(ge[0])>-1?void 0:ge[0];return new k({functionName:ae,fileName:we,lineNumber:ge[1],columnNumber:ge[2],source:re})},this)},parseFFOrSafari:function(V){return V.stack.split(` +`).filter(function(re){return!re.match(q)},this).map(function(re){if(re.indexOf(" > eval")>-1&&(re=re.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),re.indexOf("@")===-1&&re.indexOf(":")===-1)return new k({functionName:re});var y=/((.*".+"[^@]*)?[^@]*)(?:@)/,me=re.match(y),De=me&&me[1]?me[1]:void 0,ge=this.extractLocation(re.replace(y,""));return new k({functionName:De,fileName:ge[0],lineNumber:ge[1],columnNumber:ge[2],source:re})},this)},parseOpera:function(V){return!V.stacktrace||V.message.indexOf(` +`)>-1&&V.message.split(` +`).length>V.stacktrace.split(` +`).length?this.parseOpera9(V):V.stack?this.parseOpera11(V):this.parseOpera10(V)},parseOpera9:function(V){for(var re=/Line (\d+).*script (?:in )?(\S+)/i,y=V.message.split(` +`),me=[],De=2,ge=y.length;De/,"$2").replace(/\([^)]*\)/g,"")||void 0;ge.match(/\(([^)]*)\)/)&&(y=ge.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var we=y===void 0||y==="[arguments not available]"?void 0:y.split(",");return new k({functionName:ae,args:we,fileName:De[0],lineNumber:De[1],columnNumber:De[2],source:re})},this)}}})=="function"?h.apply(l,E):h)===void 0||(o.exports=t)})()},function(o,l,f){var h,E,t;(function(N,F){"use strict";E=[],(t=typeof(h=function(){function k(ae){return ae.charAt(0).toUpperCase()+ae.substring(1)}function x(ae){return function(){return this[ae]}}var j=["isConstructor","isEval","isNative","isToplevel"],q=["columnNumber","lineNumber"],V=["fileName","functionName","source"],re=j.concat(q,V,["args"]);function y(ae){if(ae)for(var we=0;we1?Oe-1:0),Ne=1;Ne=0&&Oe.splice($,1)}}}])&&h(H.prototype,Y),ee&&h(H,ee),U}(),t=f(2),N=f.n(t);try{var F=f(9).default,k=function(U){var H=new RegExp("".concat(U,": ([0-9]+)")),Y=F.match(H);return parseInt(Y[1],10)};k("comfortable-line-height-data"),k("compact-line-height-data")}catch{}function x(U){try{return sessionStorage.getItem(U)}catch{return null}}function j(U){try{sessionStorage.removeItem(U)}catch{}}function q(U,H){try{return sessionStorage.setItem(U,H)}catch{}}var V=function(U,H){return U===H},re=f(1),y=f.n(re);function me(U){return U.ownerDocument?U.ownerDocument.defaultView:null}function De(U){var H=me(U);return H?H.frameElement:null}function ge(U){var H=he(U);return ae([U.getBoundingClientRect(),{top:H.borderTop,left:H.borderLeft,bottom:H.borderBottom,right:H.borderRight,width:0,height:0}])}function ae(U){return U.reduce(function(H,Y){return H==null?Y:{top:H.top+Y.top,left:H.left+Y.left,width:H.width,height:H.height,bottom:H.bottom+Y.bottom,right:H.right+Y.right}})}function we(U,H){var Y=De(U);if(Y&&Y!==H){for(var ee=[U.getBoundingClientRect()],Ce=Y,_e=!1;Ce;){var Oe=ge(Ce);if(ee.push(Oe),Ce=De(Ce),_e)break;Ce&&me(Ce)===H&&(_e=!0)}return ae(ee)}return U.getBoundingClientRect()}function he(U){var H=window.getComputedStyle(U);return{borderLeft:parseInt(H.borderLeftWidth,10),borderRight:parseInt(H.borderRightWidth,10),borderTop:parseInt(H.borderTopWidth,10),borderBottom:parseInt(H.borderBottomWidth,10),marginLeft:parseInt(H.marginLeft,10),marginRight:parseInt(H.marginRight,10),marginTop:parseInt(H.marginTop,10),marginBottom:parseInt(H.marginBottom,10),paddingLeft:parseInt(H.paddingLeft,10),paddingRight:parseInt(H.paddingRight,10),paddingTop:parseInt(H.paddingTop,10),paddingBottom:parseInt(H.paddingBottom,10)}}function ve(U,H){var Y;if(typeof Symbol>"u"||U[Symbol.iterator]==null){if(Array.isArray(U)||(Y=function(Ne,Je){if(!!Ne){if(typeof Ne=="string")return ue(Ne,Je);var vt=Object.prototype.toString.call(Ne).slice(8,-1);if(vt==="Object"&&Ne.constructor&&(vt=Ne.constructor.name),vt==="Map"||vt==="Set")return Array.from(Ne);if(vt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(vt))return ue(Ne,Je)}}(U))||H&&U&&typeof U.length=="number"){Y&&(U=Y);var ee=0,Ce=function(){};return{s:Ce,n:function(){return ee>=U.length?{done:!0}:{done:!1,value:U[ee++]}},e:function(Ne){throw Ne},f:Ce}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var _e,Oe=!0,$=!1;return{s:function(){Y=U[Symbol.iterator]()},n:function(){var Ne=Y.next();return Oe=Ne.done,Ne},e:function(Ne){$=!0,_e=Ne},f:function(){try{Oe||Y.return==null||Y.return()}finally{if($)throw _e}}}}function ue(U,H){(H==null||H>U.length)&&(H=U.length);for(var Y=0,ee=new Array(H);YOe.left+Oe.width&&(oe=Oe.left+Oe.width-vt-5),{style:{top:Ne+="px",left:oe+="px"}}}(H,Y,{width:ee.width,height:ee.height});y()(this.tip.style,Ce.style)}}]),U}(),Qe=function(){function U(){Ae(this,U);var H=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=H;var Y=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=Y;var ee=H.document;this.container=ee.createElement("div"),this.container.style.zIndex="10000000",this.tip=new _t(ee,this.container),this.rects=[],ee.body.appendChild(this.container)}return We(U,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(H){H.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(H,Y){for(var ee=this,Ce=H.filter(function(xt){return xt.nodeType===Node.ELEMENT_NODE});this.rects.length>Ce.length;)this.rects.pop().remove();if(Ce.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:V,rt=void 0,xt=[],kt=void 0,bt=!1,sn=function(Ft,Dn){return qe(Ft,xt[Dn])},rn=function(){for(var Ft=arguments.length,Dn=Array(Ft),dr=0;dr5&&arguments[5]!==void 0?arguments[5]:0,Z=Oo(B);switch(Z){case"html_element":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.tagName,type:Z};case"function":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:typeof B.name!="function"&&B.name?B.name:"function",type:Z};case"string":return B.length<=500?B:B.slice(0,500)+"...";case"bigint":case"symbol":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.toString(),type:Z};case"react_element":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:F0(B)||"Unknown",type:Z};case"array_buffer":case"data_view":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:Z==="data_view"?"DataView":"ArrayBuffer",size:B.byteLength,type:Z};case"array":return ge=Te($),Re>=2&&!ge?d0(Z,!0,B,z,$):B.map(function(ht,ue){return Ro(ht,z,G,$.concat([ue]),Te,ge?1:Re+1)});case"html_all_collection":case"typed_array":case"iterator":if(ge=Te($),Re>=2&&!ge)return d0(Z,!0,B,z,$);var ke={unserializable:!0,type:Z,readonly:!0,size:Z==="typed_array"?B.length:void 0,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.constructor&&B.constructor.name!=="Object"?B.constructor.name:""};return Xt(B[Symbol.iterator])&&Array.from(B).forEach(function(ht,ue){return ke[ue]=Ro(ht,z,G,$.concat([ue]),Te,ge?1:Re+1)}),G.push($),ke;case"opaque_iterator":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B[Symbol.toStringTag],type:Z};case"date":case"regexp":return z.push($),{inspectable:!1,preview_short:ki(B,!1),preview_long:ki(B,!0),name:B.toString(),type:Z};case"object":if(ge=Te($),Re>=2&&!ge)return d0(Z,!0,B,z,$);var Qe={};return lu(B).forEach(function(ht){var ue=ht.toString();Qe[ue]=Ro(B[ht],z,G,$.concat([ue]),Te,ge?1:Re+1)}),Qe;case"infinity":case"nan":case"undefined":return z.push($),{type:Z};default:return B}}function Qo(B){return(Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function Fs(B){return function(z){if(Array.isArray(z))return Jo(z)}(B)||function(z){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z=="string")return Jo(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($==="Object"&&z.constructor&&($=z.constructor.name),$==="Map"||$==="Set")return Array.from(z);if($==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Jo(z,G)}}(B)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Jo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gz.toString()?1:z.toString()>B.toString()?-1:0}function lu(B){for(var z=[],G=B,$=function(){var Te=[].concat(Fs(Object.keys(G)),Fs(Object.getOwnPropertySymbols(G))),ge=Object.getOwnPropertyDescriptors(G);Te.forEach(function(Re){ge[Re].enumerable&&z.push(Re)}),G=Object.getPrototypeOf(G)};G!=null;)$();return z}function mi(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",G=Zo.get(B);if(G!=null)return G;var $=z;return typeof B.displayName=="string"?$=B.displayName:typeof B.name=="string"&&B.name!==""&&($=B.name),Zo.set(B,$),$}var Dr=0;function $o(){return++Dr}function G0(B){var z=qt.get(B);if(z!==void 0)return z;for(var G=new Array(B.length),$=0;$1&&arguments[1]!==void 0?arguments[1]:50;return B.length>z?B.substr(0,z)+"\u2026":B}function ki(B,z){if(B!=null&&hasOwnProperty.call(B,wu.type))return z?B[wu.preview_long]:B[wu.preview_short];switch(Oo(B)){case"html_element":return"<".concat(su(B.tagName.toLowerCase())," />");case"function":return su("\u0192 ".concat(typeof B.name=="function"?"":B.name,"() {}"));case"string":return'"'.concat(B,'"');case"bigint":return su(B.toString()+"n");case"regexp":case"symbol":return su(B.toString());case"react_element":return"<".concat(su(F0(B)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(B.byteLength,")");case"data_view":return"DataView(".concat(B.buffer.byteLength,")");case"array":if(z){for(var G="",$=0;$0&&(G+=", "),!((G+=ki(B[$],!1)).length>50));$++);return"[".concat(su(G),"]")}var Te=hasOwnProperty.call(B,wu.size)?B[wu.size]:B.length;return"Array(".concat(Te,")");case"typed_array":var ge="".concat(B.constructor.name,"(").concat(B.length,")");if(z){for(var Re="",Z=0;Z0&&(Re+=", "),!((Re+=B[Z]).length>50));Z++);return"".concat(ge," [").concat(su(Re),"]")}return ge;case"iterator":var ke=B.constructor.name;if(z){for(var Qe=Array.from(B),ht="",ue=0;ue0&&(ht+=", "),Array.isArray(He)){var nt=ki(He[0],!0),Ct=ki(He[1],!1);ht+="".concat(nt," => ").concat(Ct)}else ht+=ki(He,!1);if(ht.length>50)break}return"".concat(ke,"(").concat(B.size,") {").concat(su(ht),"}")}return"".concat(ke,"(").concat(B.size,")");case"opaque_iterator":return B[Symbol.toStringTag];case"date":return B.toString();case"object":if(z){for(var Mt=lu(B).sort(xi),It="",sn=0;sn0&&(It+=", "),(It+="".concat(rn.toString(),": ").concat(ki(B[rn],!1))).length>50)break}return"{".concat(su(It),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return B;default:try{return su(""+B)}catch(Lt){return"unserializable"}}}var Ps=a(7);function Kl(B){return(Kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function P0(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(Te){return Object.getOwnPropertyDescriptor(B,Te).enumerable})),G.push.apply(G,$)}return G}function p0(B){for(var z=1;z2&&arguments[2]!==void 0?arguments[2]:[];if(B!==null){var $=[],Te=[],ge=Ro(B,$,Te,G,z);return{data:ge,cleaned:$,unserializable:Te}}return null}function K0(B){var z,G,$=(z=B,G=new Set,JSON.stringify(z,function(Re,Z){if(Kl(Z)==="object"&&Z!==null){if(G.has(Z))return;G.add(Z)}return typeof Z=="bigint"?Z.toString()+"n":Z})),Te=$===void 0?"undefined":$,ge=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ge=="function"?ge(Te).catch(function(Re){}):Object(Ps.copy)(Te)}function yi(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,$=z[G],Te=Array.isArray(B)?B.slice():p0({},B);return G+1===z.length?Array.isArray(Te)?Te.splice($,1):delete Te[$]:Te[$]=yi(B[$],z,G+1),Te}function en(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,Te=z[$],ge=Array.isArray(B)?B.slice():p0({},B);if($+1===z.length){var Re=G[$];ge[Re]=ge[Te],Array.isArray(ge)?ge.splice(Te,1):delete ge[Te]}else ge[Te]=en(B[Te],z,G,$+1);return ge}function bn(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if($>=z.length)return G;var Te=z[$],ge=Array.isArray(B)?B.slice():p0({},B);return ge[Te]=bn(B[Te],z,G,$+1),ge}var Ai=a(8);function gi(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(Te){return Object.getOwnPropertyDescriptor(B,Te).enumerable})),G.push.apply(G,$)}return G}function Wt(B){for(var z=1;z=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function Xl(B,z){if(B){if(typeof B=="string")return Mo(B,z);var G=Object.prototype.toString.call(B).slice(8,-1);return G==="Object"&&B.constructor&&(G=B.constructor.name),G==="Map"||G==="Set"?Array.from(B):G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G)?Mo(B,z):void 0}}function Mo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0){var vt=ge(ae);if(vt!=null){var Qt,On=Yi(Po);try{for(On.s();!(Qt=On.n()).done;)if(Qt.value.test(vt))return!0}catch(ir){On.e(ir)}finally{On.f()}}}if(re!=null&&ys.size>0){var Sn,_n=re.fileName,Tn=Yi(ys);try{for(Tn.s();!(Sn=Tn.n()).done;)if(Sn.value.test(_n))return!0}catch(ir){Tn.e(ir)}finally{Tn.f()}}return!1}function Tu(ae){var re=ae.type;switch(ae.tag){case Ct:case Cr:return 1;case nt:case An:return 5;case rn:return 6;case Lt:return 11;case dr:return 7;case Dn:case er:case sn:return 9;case Nr:case Lr:return 8;case it:return 12;case Dt:return 13;default:switch(Re(re)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function Ei(ae){if(Bo.has(ae))return ae;var re=ae.alternate;return re!=null&&Bo.has(re)?re:(Bo.add(ae),ae)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?gs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):gs([{type:1,value:7,isEnabled:!0}]);var C0=new Map,Z0=new Map,Bo=new Set,la=new Map,$l=new Map,tu=-1;function ei(ae){if(!C0.has(ae)){var re=$o();C0.set(ae,re),Z0.set(re,ae)}return C0.get(ae)}function po(ae){switch(Tu(ae)){case 1:if(B0!==null){var re=ei(Ei(ae)),Fe=Ci(ae);Fe!==null&&B0.set(re,Fe)}}}var Bi={};function Ci(ae){switch(Tu(ae)){case 1:var re=ae.stateNode,Fe=Bi,Ae=Bi;return re!=null&&(re.constructor&&re.constructor.contextType!=null?Ae=re.context:(Fe=re.context)&&Object.keys(Fe).length===0&&(Fe=Bi)),[Fe,Ae];default:return null}}function mf(ae){switch(Tu(ae)){case 1:if(B0!==null){var re=ei(Ei(ae)),Fe=B0.has(re)?B0.get(re):null,Ae=Ci(ae);if(Fe==null||Ae==null)return null;var st=X0(Fe,2),vt=st[0],Qt=st[1],On=X0(Ae,2),Sn=On[0],_n=On[1];if(Sn!==Bi)return $0(vt,Sn);if(_n!==Bi)return Qt!==_n}}return null}function yf(ae,re){if(ae==null||re==null)return!1;if(re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))for(;re!==null;){if(re.memoizedState!==ae.memoizedState)return!0;re=re.next,ae=ae.next}return!1}function $0(ae,re){if(ae==null||re==null||re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))return null;var Fe,Ae=[],st=Yi(new Set([].concat(eu(Object.keys(ae)),eu(Object.keys(re)))));try{for(st.s();!(Fe=st.n()).done;){var vt=Fe.value;ae[vt]!==re[vt]&&Ae.push(vt)}}catch(Qt){st.e(Qt)}finally{st.f()}return Ae}function eo(ae,re){switch(re.tag){case Ct:case nt:case Mt:case Nr:case Lr:return(so(re)&ue)===ue;default:return ae.memoizedProps!==re.memoizedProps||ae.memoizedState!==re.memoizedState||ae.ref!==re.ref}}var Ce=[],et=[],Ye=[],Yt=[],Kt=new Map,pr=0,Wr=null;function xn(ae){Ce.push(ae)}function yu(ae){if(Ce.length!==0||et.length!==0||Ye.length!==0||Wr!==null||Pu){var re=et.length+Ye.length+(Wr===null?0:1),Fe=new Array(3+pr+(re>0?2+re:0)+Ce.length),Ae=0;if(Fe[Ae++]=z,Fe[Ae++]=tu,Fe[Ae++]=pr,Kt.forEach(function(On,Sn){Fe[Ae++]=Sn.length;for(var _n=G0(Sn),Tn=0;Tn<_n.length;Tn++)Fe[Ae+Tn]=_n[Tn];Ae+=Sn.length}),re>0){Fe[Ae++]=2,Fe[Ae++]=re;for(var st=et.length-1;st>=0;st--)Fe[Ae++]=et[st];for(var vt=0;vt0?ae.forEach(function(re){B.emit("operations",re)}):(Rr!==null&&(fu=!0),B.getFiberRoots(z).forEach(function(re){e0(tu=ei(Ei(re.current)),re.current),Pu&&re.memoizedInteractions!=null&&(rl={changeDescriptions:es?new Map:null,durations:[],commitTime:Ql()-Zu,interactions:Array.from(re.memoizedInteractions).map(function(Fe){return Wt(Wt({},Fe),{},{timestamp:Fe.timestamp-Zu})}),maxActualDuration:0,priorityLevel:null}),Jr(re.current,null,!1,!1),yu(),tu=-1}))},getBestMatchForTrackedPath:function(){if(Rr===null||to===null)return null;for(var ae=to;ae!==null&&Qu(ae);)ae=ae.return;return ae===null?null:{id:ei(Ei(ae)),isFullMatch:nu===Rr.length-1}},getDisplayNameForFiberID:function(ae){var re=Z0.get(ae);return re!=null?ge(re):null},getFiberIDForNative:function(ae){var re=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Fe=G.findFiberByHostInstance(ae);if(Fe!=null){if(re)for(;Fe!==null&&Qu(Fe);)Fe=Fe.return;return ei(Ei(Fe))}return null},getInstanceAndStyle:function(ae){var re=null,Fe=null,Ae=Vu(ae);return Ae!==null&&(re=Ae.stateNode,Ae.memoizedProps!==null&&(Fe=Ae.memoizedProps.style)),{instance:re,style:Fe}},getOwnersList:function(ae){var re=Vu(ae);if(re==null)return null;var Fe=re._debugOwner,Ae=[{displayName:ge(re)||"Anonymous",id:ae,type:Tu(re)}];if(Fe)for(var st=Fe;st!==null;)Ae.unshift({displayName:ge(st)||"Anonymous",id:ei(Ei(st)),type:Tu(st)}),st=st._debugOwner||null;return Ae},getPathForElement:function(ae){var re=Z0.get(ae);if(re==null)return null;for(var Fe=[];re!==null;)Fe.push(E0(re)),re=re.return;return Fe.reverse(),Fe},getProfilingData:function(){var ae=[];if(_s===null)throw Error("getProfilingData() called before any profiling data was recorded");return _s.forEach(function(re,Fe){var Ae=[],st=[],vt=new Map,Qt=new Map,On=Cl!==null&&Cl.get(Fe)||"Unknown";O0!=null&&O0.forEach(function(Sn,_n){ho!=null&&ho.get(_n)===Fe&&st.push([_n,Sn])}),re.forEach(function(Sn,_n){var Tn=Sn.changeDescriptions,ir=Sn.durations,Bt=Sn.interactions,Fi=Sn.maxActualDuration,Ar=Sn.priorityLevel,mr=Sn.commitTime,Y=[];Bt.forEach(function(Di){vt.has(Di.id)||vt.set(Di.id,Di),Y.push(Di.id);var ru=Qt.get(Di.id);ru!=null?ru.push(_n):Qt.set(Di.id,[_n])});for(var ri=[],ii=[],Vr=0;Vr1?Kn.set(Tn,ir-1):Kn.delete(Tn),ni.delete(Sn)}(tu),ti(Fe,!1))}else e0(tu,Fe),Jr(Fe,null,!1,!1);if(Pu&&st){var On=_s.get(tu);On!=null?On.push(rl):_s.set(tu,[rl])}yu(),Io&&B.emit("traceUpdates",bo),tu=-1},handleCommitFiberUnmount:function(ae){ti(ae,!1)},inspectElement:function(ae,re){if(zi(ae)){if(re!=null){A0(re);var Fe=null;return re[0]==="hooks"&&(Fe="hooks"),{id:ae,type:"hydrated-path",path:re,value:Ri(Uu(Xi,re),Hi(null,Fe),re)}}return{id:ae,type:"no-change"}}if(Hs=!1,Xi!==null&&Xi.id===ae||(R0={}),(Xi=sa(ae))===null)return{id:ae,type:"not-found"};re!=null&&A0(re),function(st){var vt=st.hooks,Qt=st.id,On=st.props,Sn=Z0.get(Qt);if(Sn!=null){var _n=Sn.elementType,Tn=Sn.stateNode,ir=Sn.tag,Bt=Sn.type;switch(ir){case Ct:case Cr:case An:$.$r=Tn;break;case nt:$.$r={hooks:vt,props:On,type:Bt};break;case rn:$.$r={props:On,type:Bt.render};break;case Nr:case Lr:$.$r={props:On,type:_n!=null&&_n.type!=null?_n.type:Bt};break;default:$.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Qt,'"'))}(Xi);var Ae=Wt({},Xi);return Ae.context=Ri(Ae.context,Hi("context",null)),Ae.hooks=Ri(Ae.hooks,Hi("hooks","hooks")),Ae.props=Ri(Ae.props,Hi("props",null)),Ae.state=Ri(Ae.state,Hi("state",null)),{id:ae,type:"full-data",value:Ae}},logElementToConsole:function(ae){var re=zi(ae)?Xi:sa(ae);if(re!==null){var Fe=typeof console.groupCollapsed=="function";Fe&&console.groupCollapsed("[Click to expand] %c<".concat(re.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),re.props!==null&&console.log("Props:",re.props),re.state!==null&&console.log("State:",re.state),re.hooks!==null&&console.log("Hooks:",re.hooks);var Ae=Tl(ae);Ae!==null&&console.log("Nodes:",Ae),re.source!==null&&console.log("Location:",re.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Fe&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(ae,'"'))},prepareViewAttributeSource:function(ae,re){zi(ae)&&(window.$attribute=Uu(Xi,re))},prepareViewElementSource:function(ae){var re=Z0.get(ae);if(re!=null){var Fe=re.elementType,Ae=re.tag,st=re.type;switch(Ae){case Ct:case Cr:case An:case nt:$.$type=st;break;case rn:$.$type=st.render;break;case Nr:case Lr:$.$type=Fe!=null&&Fe.type!=null?Fe.type:st;break;default:$.$type=null}}else console.warn('Could not find Fiber with id "'.concat(ae,'"'))},overrideSuspense:function(ae,re){if(typeof Fo!="function"||typeof nl!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");re?($u.add(ae),$u.size===1&&Fo(Es)):($u.delete(ae),$u.size===0&&Fo(gf));var Fe=Z0.get(ae);Fe!=null&&nl(Fe)},overrideValueAtPath:function(ae,re,Fe,Ae,st){var vt=Vu(re);if(vt!==null){var Qt=vt.stateNode;switch(ae){case"context":switch(Ae=Ae.slice(1),vt.tag){case Ct:Ae.length===0?Qt.context=st:Ao(Qt.context,Ae,st),Qt.forceUpdate()}break;case"hooks":typeof au=="function"&&au(vt,Fe,Ae,st);break;case"props":switch(vt.tag){case Ct:vt.pendingProps=bn(Qt.props,Ae,st),Qt.forceUpdate();break;default:typeof J0=="function"&&J0(vt,Ae,st)}break;case"state":switch(vt.tag){case Ct:Ao(Qt.state,Ae,st),Qt.forceUpdate()}}}},renamePath:function(ae,re,Fe,Ae,st){var vt=Vu(re);if(vt!==null){var Qt=vt.stateNode;switch(ae){case"context":switch(Ae=Ae.slice(1),st=st.slice(1),vt.tag){case Ct:Ae.length===0||Xr(Qt.context,Ae,st),Qt.forceUpdate()}break;case"hooks":typeof T0=="function"&&T0(vt,Fe,Ae,st);break;case"props":Qt===null?typeof _i=="function"&&_i(vt,Ae,st):(vt.pendingProps=en(Qt.props,Ae,st),Qt.forceUpdate());break;case"state":Xr(Qt.state,Ae,st),Qt.forceUpdate()}}},renderer:G,setTraceUpdatesEnabled:function(ae){Io=ae},setTrackedPath:Li,startProfiling:aa,stopProfiling:function(){Pu=!1,es=!1},storeAsGlobal:function(ae,re,Fe){if(zi(ae)){var Ae=Uu(Xi,re),st="$reactTemp".concat(Fe);window[st]=Ae,console.log(st),console.log(Ae)}},updateComponentFilters:function(ae){if(Pu)throw Error("Cannot modify filter preferences while profiling");B.getFiberRoots(z).forEach(function(re){tu=ei(Ei(re.current)),Wu(re.current),ti(re.current,!1),tu=-1}),gs(ae),Kn.clear(),B.getFiberRoots(z).forEach(function(re){e0(tu=ei(Ei(re.current)),re.current),Jr(re.current,null,!1,!1),yu(re),tu=-1})}}}var $n;function el(B){return(el=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function ao(B,z,G){if($n===void 0)try{throw Error()}catch(Te){var $=Te.stack.trim().match(/\n( *(at )?)/);$n=$&&$[1]||""}return` -`+$n+B}var I0=!1;function wl(B,z,G){if(!B||I0)return"";var $,Te=Error.prepareStackTrace;Error.prepareStackTrace=void 0,I0=!0;var ge=G.current;G.current=null;try{if(z){var Re=function(){throw Error()};if(Object.defineProperty(Re.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":el(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(Re,[])}catch(He){$=He}Reflect.construct(B,[],Re)}else{try{Re.call()}catch(He){$=He}B.call(Re.prototype)}}else{try{throw Error()}catch(He){$=He}B()}}catch(He){if(He&&$&&typeof He.stack=="string"){for(var Z=He.stack.split(` -`),ke=$.stack.split(` -`),Qe=Z.length-1,ht=ke.length-1;Qe>=1&&ht>=0&&Z[Qe]!==ke[ht];)ht--;for(;Qe>=1&&ht>=0;Qe--,ht--)if(Z[Qe]!==ke[ht]){if(Qe!==1||ht!==1)do if(Qe--,--ht<0||Z[Qe]!==ke[ht])return` -`+Z[Qe].replace(" at new "," at ");while(Qe>=1&&ht>=0);break}}}finally{I0=!1,Error.prepareStackTrace=Te,G.current=ge}var ue=B?B.displayName||B.name:"";return ue?ao(ue):""}function No(B,z,G,$){return wl(B,!1,$)}function wt(B,z,G){var $=B.HostComponent,Te=B.LazyComponent,ge=B.SuspenseComponent,Re=B.SuspenseListComponent,Z=B.FunctionComponent,ke=B.IndeterminateComponent,Qe=B.SimpleMemoComponent,ht=B.ForwardRef,ue=B.Block,He=B.ClassComponent;switch(z.tag){case $:return ao(z.type);case Te:return ao("Lazy");case ge:return ao("Suspense");case Re:return ao("SuspenseList");case Z:case ke:case Qe:return No(z.type,0,0,G);case ht:return No(z.type.render,0,0,G);case ue:return No(z.type._render,0,0,G);case He:return function(nt,Ct,Mt,It){return wl(nt,!0,It)}(z.type,0,0,G);default:return""}}function bt(B,z,G){try{var $="",Te=z;do $+=wt(B,Te,G),Te=Te.return;while(Te);return $}catch(ge){return` -Error generating stack: `+ge.message+` -`+ge.stack}}function Hn(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Qe){if(!!ke){if(typeof ke=="string")return qr(ke,Qe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return qr(ke,Qe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,Te=function(){};return{s:Te,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:Te}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ge,Re=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return Re=ke.done,ke},e:function(ke){Z=!0,ge=ke},f:function(){try{Re||G.return==null||G.return()}finally{if(Z)throw ge}}}}function qr(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0?Qe[Qe.length-1]:null,He=ue!==null&&(Qr.test(ue)||Ou.test(ue));if(!He){var nt,Ct=Hn(h0.values());try{for(Ct.s();!(nt=Ct.n()).done;){var Mt=nt.value,It=Mt.currentDispatcherRef,sn=Mt.getCurrentFiber,rn=Mt.workTagMap,Lt=sn();if(Lt!=null){var Dn=bt(rn,Lt,It);Dn!==""&&Qe.push(Dn);break}}}catch(dr){Ct.e(dr)}finally{Ct.f()}}}catch(dr){}ge.apply(void 0,Qe)};Re.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ge,Ni[Te]=Re}catch(Z){}})}}function ju(B){return(ju=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function vs(B,z){for(var G=0;GB.length)&&(z=B.length);for(var G=0,$=new Array(z);G1?Z-1:0),Qe=1;Qe0?ue[ue.length-1]:0),ue.push(un),Z.set($e,Qe(Pt._topLevelWrapper));try{var fn=it.apply(this,Dt);return ue.pop(),fn}catch(wr){throw ue=[],wr}finally{if(ue.length===0){var Jn=Z.get($e);if(Jn===void 0)throw new Error("Expected to find root ID.");dr(Jn)}}},performUpdateIfNecessary:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);var un=Qn($e);try{var fn=it.apply(this,Dt),Jn=Qn($e);return ht(un,Jn)||Ct($e,Pt,Jn),ue.pop(),fn}catch(au){throw ue=[],au}finally{if(ue.length===0){var wr=Z.get($e);if(wr===void 0)throw new Error("Expected to find root ID.");dr(wr)}}},receiveComponent:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);var un=Qn($e);try{var fn=it.apply(this,Dt),Jn=Qn($e);return ht(un,Jn)||Ct($e,Pt,Jn),ue.pop(),fn}catch(au){throw ue=[],au}finally{if(ue.length===0){var wr=Z.get($e);if(wr===void 0)throw new Error("Expected to find root ID.");dr(wr)}}},unmountComponent:function(it,Dt){var $e=Dt[0];if(S0($e)===9)return it.apply(this,Dt);var Pt=Qe($e);ue.push(Pt);try{var un=it.apply(this,Dt);return ue.pop(),function(Jn,wr){rn.push(wr),ge.delete(wr)}(0,Pt),un}catch(Jn){throw ue=[],Jn}finally{if(ue.length===0){var fn=Z.get($e);if(fn===void 0)throw new Error("Expected to find root ID.");dr(fn)}}}}));var It=[],sn=new Map,rn=[],Lt=0,Dn=null;function dr(it){if(It.length!==0||rn.length!==0||Dn!==null){var Dt=rn.length+(Dn===null?0:1),$e=new Array(3+Lt+(Dt>0?2+Dt:0)+It.length),Pt=0;if($e[Pt++]=z,$e[Pt++]=it,$e[Pt++]=Lt,sn.forEach(function(Jn,wr){$e[Pt++]=wr.length;for(var au=G0(wr),Nu=0;Nu0){$e[Pt++]=2,$e[Pt++]=Dt;for(var un=0;un"),"color: var(--dom-tag-name-color); font-weight: normal;"),Dt.props!==null&&console.log("Props:",Dt.props),Dt.state!==null&&console.log("State:",Dt.state),Dt.context!==null&&console.log("Context:",Dt.context);var Pt=Te(it);Pt!==null&&console.log("Node:",Pt),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),$e&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(it,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(it,Dt,$e,Pt,un){var fn=ge.get(Dt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(it){case"context":Ao(Jn.context,Pt,un),m0(Jn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var wr=fn._currentElement;fn._currentElement=Q0(Q0({},wr),{},{props:bn(wr.props,Pt,un)}),m0(Jn);break;case"state":Ao(Jn.state,Pt,un),m0(Jn)}}},renamePath:function(it,Dt,$e,Pt,un){var fn=ge.get(Dt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(it){case"context":Xr(Jn.context,Pt,un),m0(Jn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var wr=fn._currentElement;fn._currentElement=Q0(Q0({},wr),{},{props:en(wr.props,Pt,un)}),m0(Jn);break;case"state":Xr(Jn.state,Pt,un),m0(Jn)}}},prepareViewAttributeSource:function(it,Dt){var $e=Lr(it);$e!==null&&(window.$attribute=Uu($e,Dt))},prepareViewElementSource:function(it){var Dt=ge.get(it);if(Dt!=null){var $e=Dt._currentElement;$e!=null?$.$type=$e.type:console.warn('Could not find element with id "'.concat(it,'"'))}else console.warn('Could not find instance with id "'.concat(it,'"'))},renderer:G,setTraceUpdatesEnabled:function(it){},setTrackedPath:function(it){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(it,Dt,$e){var Pt=Lr(it);if(Pt!==null){var un=Uu(Pt,Dt),fn="$reactTemp".concat($e);window[fn]=un,console.log(fn),console.log(un)}},updateComponentFilters:function(it){}}}function fi(B,z){var G=!1,$={bottom:0,left:0,right:0,top:0},Te=z[B];if(Te!=null){for(var ge=0,Re=Object.keys($);ge0?"development":"production";var It=Function.prototype.toString;if(Mt.Mount&&Mt.Mount._renderNewRootComponent){var sn=It.call(Mt.Mount._renderNewRootComponent);return sn.indexOf("function")!==0?"production":sn.indexOf("storedMeasure")!==-1?"development":sn.indexOf("should be a pure function")!==-1?sn.indexOf("NODE_ENV")!==-1||sn.indexOf("development")!==-1||sn.indexOf("true")!==-1?"development":sn.indexOf("nextElement")!==-1||sn.indexOf("nextComponent")!==-1?"unminified":"development":sn.indexOf("nextElement")!==-1||sn.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(rn){}return"production"}(ke);try{var ue=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,He=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(ue||He)&&(fo(ke),Jl({appendComponentStack:ue,breakOnConsoleErrors:He}))}catch(Mt){}var nt=B.__REACT_DEVTOOLS_ATTACH__;if(typeof nt=="function"){var Ct=nt(Z,Qe,ke,B);Z.rendererInterfaces.set(Qe,Ct)}return Z.emit("renderer",{id:Qe,renderer:ke,reactBuildType:ht}),Qe},on:function(ke,Qe){ge[ke]||(ge[ke]=[]),ge[ke].push(Qe)},off:function(ke,Qe){if(ge[ke]){var ht=ge[ke].indexOf(Qe);ht!==-1&&ge[ke].splice(ht,1),ge[ke].length||delete ge[ke]}},sub:function(ke,Qe){return Z.on(ke,Qe),function(){return Z.off(ke,Qe)}},supportsFiber:!0,checkDCE:function(ke){try{Function.prototype.toString.call(ke).indexOf("^_^")>-1&&(G=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Qe){}},onCommitFiberUnmount:function(ke,Qe){var ht=Te.get(ke);ht!=null&&ht.handleCommitFiberUnmount(Qe)},onCommitFiberRoot:function(ke,Qe,ht){var ue=Z.getFiberRoots(ke),He=Qe.current,nt=ue.has(Qe),Ct=He.memoizedState==null||He.memoizedState.element==null;nt||Ct?nt&&Ct&&ue.delete(Qe):ue.add(Qe);var Mt=Te.get(ke);Mt!=null&&Mt.handleCommitFiberRoot(Qe,ht)}};Object.defineProperty(B,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return Z}})})(window);var y0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Us=[{type:1,value:7,isEnabled:!0}];function ji(B){if(y0!=null){var z=B||{},G=z.host,$=G===void 0?"localhost":G,Te=z.nativeStyleEditorValidAttributes,ge=z.useHttps,Re=ge!==void 0&&ge,Z=z.port,ke=Z===void 0?8097:Z,Qe=z.websocket,ht=z.resolveRNStyle,ue=ht===void 0?null:ht,He=z.isAppActive,nt=Re?"wss":"ws",Ct=null;if((He===void 0?function(){return!0}:He)()){var Mt=null,It=[],sn=nt+"://"+$+":"+ke,rn=Qe||new window.WebSocket(sn);rn.onclose=function(){Mt!==null&&Mt.emit("shutdown"),Lt()},rn.onerror=function(){Lt()},rn.onmessage=function(Dn){var dr;try{if(typeof Dn.data!="string")throw Error();dr=JSON.parse(Dn.data)}catch(er){return void console.error("[React DevTools] Failed to parse JSON: "+Dn.data)}It.forEach(function(er){try{er(dr)}catch(Cr){throw console.log("[React DevTools] Error calling listener",dr),console.log("error:",Cr),Cr}})},rn.onopen=function(){(Mt=new co({listen:function(An){return It.push(An),function(){var Nr=It.indexOf(An);Nr>=0&&It.splice(Nr,1)}},send:function(An,Nr,g0){rn.readyState===rn.OPEN?rn.send(JSON.stringify({event:An,payload:Nr})):(Mt!==null&&Mt.shutdown(),Lt())}})).addListener("inspectElement",function(An){var Nr=An.id,g0=An.rendererID,Lr=Dn.rendererInterfaces[g0];if(Lr!=null){var it=Lr.findNativeNodesForFiberID(Nr);it!=null&&it[0]!=null&&Dn.emit("showNativeHighlight",it[0])}}),Mt.addListener("updateComponentFilters",function(An){Us=An}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&Mt.send("overrideComponentFilters",Us);var Dn=new Yn(Mt);if(Dn.addListener("shutdown",function(){y0.emit("shutdown")}),function(An,Nr,g0){if(An==null)return function(){};var Lr=[An.sub("renderer-attached",function($e){var Pt=$e.id,un=($e.renderer,$e.rendererInterface);Nr.setRendererInterface(Pt,un),un.flushInitialOperations()}),An.sub("unsupported-renderer-version",function($e){Nr.onUnsupportedRenderer($e)}),An.sub("operations",Nr.onHookOperations),An.sub("traceUpdates",Nr.onTraceUpdates)],it=function($e,Pt){var un=An.rendererInterfaces.get($e);un==null&&(typeof Pt.findFiberByHostInstance=="function"?un=Is(An,$e,Pt,g0):Pt.ComponentTree&&(un=ac(An,$e,Pt,g0)),un!=null&&An.rendererInterfaces.set($e,un)),un!=null?An.emit("renderer-attached",{id:$e,renderer:Pt,rendererInterface:un}):An.emit("unsupported-renderer-version",$e)};An.renderers.forEach(function($e,Pt){it(Pt,$e)}),Lr.push(An.sub("renderer",function($e){var Pt=$e.id,un=$e.renderer;it(Pt,un)})),An.emit("react-devtools",Nr),An.reactDevtoolsAgent=Nr;var Dt=function(){Lr.forEach(function($e){return $e()}),An.rendererInterfaces.forEach(function($e){$e.cleanup()}),An.reactDevtoolsAgent=null};Nr.addListener("shutdown",Dt),Lr.push(function(){Nr.removeListener("shutdown",Dt)})}(y0,Dn,window),ue!=null||y0.resolveRNStyle!=null)oa(Mt,Dn,ue||y0.resolveRNStyle,Te||y0.nativeStyleEditorValidAttributes||null);else{var dr,er,Cr=function(){Mt!==null&&oa(Mt,Dn,dr,er)};y0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(y0,"resolveRNStyle",{enumerable:!1,get:function(){return dr},set:function(An){dr=An,Cr()}}),y0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(y0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return er},set:function(An){er=An,Cr()}})}}}else Lt()}function Lt(){Ct===null&&(Ct=setTimeout(function(){return ji(B)},2e3))}}}])})});var kC=tt(MC=>{"use strict";Object.defineProperty(MC,"__esModule",{value:!0});AC();var Ob=OC();Ob.connectToDevTools()});var IC=tt(ug=>{"use strict";var NC=ug&&ug.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ug,"__esModule",{value:!0});var LC=b_(),Mb=NC(IS()),FC=NC($p()),ps=bD();process.env.DEV==="true"&&kC();var PC=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};ug.default=Mb.default({schedulePassiveEffects:LC.unstable_scheduleCallback,cancelPassiveEffects:LC.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,o)=>{let a=i.isInsideText,p=o==="ink-text"||o==="ink-virtual-text";return a===p?i:{isInsideText:p}},shouldSetTextContent:()=>!1,createInstance:(i,o,a,p)=>{if(p.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let _=i==="ink-text"&&p.isInsideText?"ink-virtual-text":i,t=ps.createNode(_);for(let[k,L]of Object.entries(o))k!=="children"&&(k==="style"?ps.setStyle(t,L):k==="internal_transform"?t.internal_transform=L:k==="internal_static"?t.internal_static=!0:ps.setAttribute(t,k,L));return t},createTextInstance:(i,o,a)=>{if(!a.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return ps.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{ps.setTextNodeValue(i,"")},unhideTextInstance:(i,o)=>{ps.setTextNodeValue(i,o)},getPublicInstance:i=>i,hideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(FC.default.DISPLAY_NONE)},unhideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(FC.default.DISPLAY_FLEX)},appendInitialChild:ps.appendChildNode,appendChild:ps.appendChildNode,insertBefore:ps.insertBeforeNode,finalizeInitialChildren:(i,o,a,p)=>(i.internal_static&&(p.isStaticDirty=!0,p.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:ps.appendChildNode,insertInContainerBefore:ps.insertBeforeNode,removeChildFromContainer:(i,o)=>{ps.removeChildNode(i,o),PC(o.yogaNode)},prepareUpdate:(i,o,a,p,_)=>{i.internal_static&&(_.isStaticDirty=!0);let t={},k=Object.keys(p);for(let L of k)if(p[L]!==a[L]){if(L==="style"&&typeof p.style=="object"&&typeof a.style=="object"){let C=p.style,U=a.style,H=Object.keys(C);for(let W of H){if(W==="borderStyle"||W==="borderColor"){if(typeof t.style!="object"){let ne={};t.style=ne}t.style.borderStyle=C.borderStyle,t.style.borderColor=C.borderColor}if(C[W]!==U[W]){if(typeof t.style!="object"){let ne={};t.style=ne}t.style[W]=C[W]}}continue}t[L]=p[L]}return t},commitUpdate:(i,o)=>{for(let[a,p]of Object.entries(o))a!=="children"&&(a==="style"?ps.setStyle(i,p):a==="internal_transform"?i.internal_transform=p:a==="internal_static"?i.internal_static=!0:ps.setAttribute(i,a,p))},commitTextUpdate:(i,o,a)=>{ps.setTextNodeValue(i,a)},removeChild:(i,o)=>{ps.removeChildNode(i,o),PC(o.yogaNode)}})});var BC=tt((pq,bC)=>{"use strict";bC.exports=(i,o=1,a)=>{if(a=Ht({indent:" ",includeEmptyLines:!1},a),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof o!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof o}\``);if(typeof a.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof a.indent}\``);if(o===0)return i;let p=a.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(p,a.indent.repeat(o))}});var UC=tt(og=>{"use strict";var kb=og&&og.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(og,"__esModule",{value:!0});var $_=kb($p());og.default=i=>i.getComputedWidth()-i.getComputedPadding($_.default.EDGE_LEFT)-i.getComputedPadding($_.default.EDGE_RIGHT)-i.getComputedBorder($_.default.EDGE_LEFT)-i.getComputedBorder($_.default.EDGE_RIGHT)});var zC=tt((vq,jC)=>{jC.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var qC=tt((mq,n3)=>{"use strict";var HC=zC();n3.exports=HC;n3.exports.default=HC});var VC=tt((yq,WC)=>{"use strict";WC.exports=(i,o=process.argv)=>{let a=i.startsWith("-")?"":i.length===1?"-":"--",p=o.indexOf(a+i),_=o.indexOf("--");return p!==-1&&(_===-1||p<_)}});var KC=tt((gq,GC)=>{"use strict";var Nb=require("os"),YC=require("tty"),df=VC(),{env:Ko}=process,v2;df("no-color")||df("no-colors")||df("color=false")||df("color=never")?v2=0:(df("color")||df("colors")||df("color=true")||df("color=always"))&&(v2=1);"FORCE_COLOR"in Ko&&(Ko.FORCE_COLOR==="true"?v2=1:Ko.FORCE_COLOR==="false"?v2=0:v2=Ko.FORCE_COLOR.length===0?1:Math.min(parseInt(Ko.FORCE_COLOR,10),3));function r3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function i3(i,o){if(v2===0)return 0;if(df("color=16m")||df("color=full")||df("color=truecolor"))return 3;if(df("color=256"))return 2;if(i&&!o&&v2===void 0)return 0;let a=v2||0;if(Ko.TERM==="dumb")return a;if(process.platform==="win32"){let p=Nb.release().split(".");return Number(p[0])>=10&&Number(p[2])>=10586?Number(p[2])>=14931?3:2:1}if("CI"in Ko)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(p=>p in Ko)||Ko.CI_NAME==="codeship"?1:a;if("TEAMCITY_VERSION"in Ko)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ko.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Ko)return 1;if(Ko.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ko){let p=parseInt((Ko.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ko.TERM_PROGRAM){case"iTerm.app":return p>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Ko.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ko.TERM)||"COLORTERM"in Ko?1:a}function Lb(i){let o=i3(i,i&&i.isTTY);return r3(o)}GC.exports={supportsColor:Lb,stdout:r3(i3(!0,YC.isatty(1))),stderr:r3(i3(!0,YC.isatty(2)))}});var QC=tt((_q,XC)=>{"use strict";var Fb=(i,o,a)=>{let p=i.indexOf(o);if(p===-1)return i;let _=o.length,t=0,k="";do k+=i.substr(t,p-t)+o+a,t=p+_,p=i.indexOf(o,t);while(p!==-1);return k+=i.substr(t),k},Pb=(i,o,a,p)=>{let _=0,t="";do{let k=i[p-1]==="\r";t+=i.substr(_,(k?p-1:p)-_)+o+(k?`\r + `;var ee=window.document.documentElement;ee.insertBefore(He,ee.firstChild)}();var H=He;H.width=window.innerWidth,H.height=window.innerHeight;var Y=H.getContext("2d");Y.clearRect(0,0,H.width,H.height),U.forEach(function(ee){var Ce=ee.count,_e=ee.rect;if(_e!==null){var Oe=Math.min(le.length-1,Ce-1);(function($,Ne,Je){var vt=Ne.height,oe=Ne.left,qe=Ne.top,rt=Ne.width;$.lineWidth=1,$.strokeStyle="#f0f0f0",$.strokeRect(oe-1,qe-1,rt+2,vt+2),$.lineWidth=1,$.strokeStyle="#f0f0f0",$.strokeRect(oe+1,qe+1,rt-1,vt-1),$.strokeStyle=Je,$.setLineDash([0]),$.lineWidth=1,$.strokeRect(oe,qe,rt-1,vt-1),$.setLineDash([0])})(Y,_e,le[Oe])}})}function At(U){return(At=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}var nn=(typeof performance>"u"?"undefined":At(performance))==="object"&&typeof performance.now=="function"?function(){return performance.now()}:function(){return Date.now()},an=new Map,On=null,lr=!1,ln=null;function Vt(U){(lr=U)||(an.clear(),On!==null&&(cancelAnimationFrame(On),On=null),ln!==null&&(clearTimeout(ln),ln=null),He!==null&&(He.parentNode!=null&&He.parentNode.removeChild(He),He=null))}function Er(U){lr&&(U.forEach(function(H){var Y=an.get(H),ee=nn(),Ce=Y!=null?Y.lastMeasuredAt:0,_e=Y!=null?Y.rect:null;(_e===null||Ce+2505&&arguments[5]!==void 0?arguments[5]:0,$=Mo(U);switch($){case"html_element":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:U.tagName,type:$};case"function":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:typeof U.name!="function"&&U.name?U.name:"function",type:$};case"string":return U.length<=500?U:U.slice(0,500)+"...";case"bigint":case"symbol":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:U.toString(),type:$};case"react_element":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:F0(U)||"Unknown",type:$};case"array_buffer":case"data_view":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:$==="data_view"?"DataView":"ArrayBuffer",size:U.byteLength,type:$};case"array":return _e=Ce(ee),Oe>=2&&!_e?c0($,!0,U,H,ee):U.map(function(vt,oe){return Ao(vt,H,Y,ee.concat([oe]),Ce,_e?1:Oe+1)});case"html_all_collection":case"typed_array":case"iterator":if(_e=Ce(ee),Oe>=2&&!_e)return c0($,!0,U,H,ee);var Ne={unserializable:!0,type:$,readonly:!0,size:$==="typed_array"?U.length:void 0,preview_short:ki(U,!1),preview_long:ki(U,!0),name:U.constructor&&U.constructor.name!=="Object"?U.constructor.name:""};return Xt(U[Symbol.iterator])&&Array.from(U).forEach(function(vt,oe){return Ne[oe]=Ao(vt,H,Y,ee.concat([oe]),Ce,_e?1:Oe+1)}),Y.push(ee),Ne;case"opaque_iterator":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:U[Symbol.toStringTag],type:$};case"date":case"regexp":return H.push(ee),{inspectable:!1,preview_short:ki(U,!1),preview_long:ki(U,!0),name:U.toString(),type:$};case"object":if(_e=Ce(ee),Oe>=2&&!_e)return c0($,!0,U,H,ee);var Je={};return lu(U).forEach(function(vt){var oe=vt.toString();Je[oe]=Ao(U[vt],H,Y,ee.concat([oe]),Ce,_e?1:Oe+1)}),Je;case"infinity":case"nan":case"undefined":return H.push(ee),{type:$};default:return U}}function Jo(U){return(Jo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}function Fs(U){return function(H){if(Array.isArray(H))return Zo(H)}(U)||function(H){if(typeof Symbol<"u"&&Symbol.iterator in Object(H))return Array.from(H)}(U)||function(H,Y){if(!!H){if(typeof H=="string")return Zo(H,Y);var ee=Object.prototype.toString.call(H).slice(8,-1);if(ee==="Object"&&H.constructor&&(ee=H.constructor.name),ee==="Map"||ee==="Set")return Array.from(H);if(ee==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ee))return Zo(H,Y)}}(U)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Zo(U,H){(H==null||H>U.length)&&(H=U.length);for(var Y=0,ee=new Array(H);YH.toString()?1:H.toString()>U.toString()?-1:0}function lu(U){for(var H=[],Y=U,ee=function(){var Ce=[].concat(Fs(Object.keys(Y)),Fs(Object.getOwnPropertySymbols(Y))),_e=Object.getOwnPropertyDescriptors(Y);Ce.forEach(function(Oe){_e[Oe].enumerable&&H.push(Oe)}),Y=Object.getPrototypeOf(Y)};Y!=null;)ee();return H}function vi(U){var H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",Y=$o.get(U);if(Y!=null)return Y;var ee=H;return typeof U.displayName=="string"?ee=U.displayName:typeof U.name=="string"&&U.name!==""&&(ee=U.name),$o.set(U,ee),ee}var Dr=0;function el(){return++Dr}function Y0(U){var H=qt.get(U);if(H!==void 0)return H;for(var Y=new Array(U.length),ee=0;ee1&&arguments[1]!==void 0?arguments[1]:50;return U.length>H?U.substr(0,H)+"\u2026":U}function ki(U,H){if(U!=null&&hasOwnProperty.call(U,Du.type))return H?U[Du.preview_long]:U[Du.preview_short];switch(Mo(U)){case"html_element":return"<".concat(su(U.tagName.toLowerCase())," />");case"function":return su("\u0192 ".concat(typeof U.name=="function"?"":U.name,"() {}"));case"string":return'"'.concat(U,'"');case"bigint":return su(U.toString()+"n");case"regexp":case"symbol":return su(U.toString());case"react_element":return"<".concat(su(F0(U)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(U.byteLength,")");case"data_view":return"DataView(".concat(U.buffer.byteLength,")");case"array":if(H){for(var Y="",ee=0;ee0&&(Y+=", "),!((Y+=ki(U[ee],!1)).length>50));ee++);return"[".concat(su(Y),"]")}var Ce=hasOwnProperty.call(U,Du.size)?U[Du.size]:U.length;return"Array(".concat(Ce,")");case"typed_array":var _e="".concat(U.constructor.name,"(").concat(U.length,")");if(H){for(var Oe="",$=0;$0&&(Oe+=", "),!((Oe+=U[$]).length>50));$++);return"".concat(_e," [").concat(su(Oe),"]")}return _e;case"iterator":var Ne=U.constructor.name;if(H){for(var Je=Array.from(U),vt="",oe=0;oe0&&(vt+=", "),Array.isArray(qe)){var rt=ki(qe[0],!0),xt=ki(qe[1],!1);vt+="".concat(rt," => ").concat(xt)}else vt+=ki(qe,!1);if(vt.length>50)break}return"".concat(Ne,"(").concat(U.size,") {").concat(su(vt),"}")}return"".concat(Ne,"(").concat(U.size,")");case"opaque_iterator":return U[Symbol.toStringTag];case"date":return U.toString();case"object":if(H){for(var kt=lu(U).sort(xi),bt="",sn=0;sn0&&(bt+=", "),(bt+="".concat(rn.toString(),": ").concat(ki(U[rn],!1))).length>50)break}return"{".concat(su(bt),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return U;default:try{return su(""+U)}catch{return"unserializable"}}}var Ps=f(7);function Kl(U){return(Kl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}function P0(U,H){var Y=Object.keys(U);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(U);H&&(ee=ee.filter(function(Ce){return Object.getOwnPropertyDescriptor(U,Ce).enumerable})),Y.push.apply(Y,ee)}return Y}function d0(U){for(var H=1;H2&&arguments[2]!==void 0?arguments[2]:[];if(U!==null){var ee=[],Ce=[],_e=Ao(U,ee,Ce,Y,H);return{data:_e,cleaned:ee,unserializable:Ce}}return null}function X0(U){var H,Y,ee=(H=U,Y=new Set,JSON.stringify(H,function(Oe,$){if(Kl($)==="object"&&$!==null){if(Y.has($))return;Y.add($)}return typeof $=="bigint"?$.toString()+"n":$})),Ce=ee===void 0?"undefined":ee,_e=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof _e=="function"?_e(Ce).catch(function(Oe){}):Object(Ps.copy)(Ce)}function mi(U,H){var Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,ee=H[Y],Ce=Array.isArray(U)?U.slice():d0({},U);return Y+1===H.length?Array.isArray(Ce)?Ce.splice(ee,1):delete Ce[ee]:Ce[ee]=mi(U[ee],H,Y+1),Ce}function en(U,H,Y){var ee=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,Ce=H[ee],_e=Array.isArray(U)?U.slice():d0({},U);if(ee+1===H.length){var Oe=Y[ee];_e[Oe]=_e[Ce],Array.isArray(_e)?_e.splice(Ce,1):delete _e[Ce]}else _e[Ce]=en(U[Ce],H,Y,ee+1);return _e}function In(U,H,Y){var ee=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(ee>=H.length)return Y;var Ce=H[ee],_e=Array.isArray(U)?U.slice():d0({},U);return _e[Ce]=In(U[Ce],H,Y,ee+1),_e}var Ai=f(8);function yi(U,H){var Y=Object.keys(U);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(U);H&&(ee=ee.filter(function(Ce){return Object.getOwnPropertyDescriptor(U,Ce).enumerable})),Y.push.apply(Y,ee)}return Y}function Wt(U){for(var H=1;H"u"||!(Symbol.iterator in Object(Y)))){var Ce=[],_e=!0,Oe=!1,$=void 0;try{for(var Ne,Je=Y[Symbol.iterator]();!(_e=(Ne=Je.next()).done)&&(Ce.push(Ne.value),!ee||Ce.length!==ee);_e=!0);}catch(vt){Oe=!0,$=vt}finally{try{_e||Je.return==null||Je.return()}finally{if(Oe)throw $}}return Ce}}(U,H)||Xl(U,H)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yi(U,H){var Y;if(typeof Symbol>"u"||U[Symbol.iterator]==null){if(Array.isArray(U)||(Y=Xl(U))||H&&U&&typeof U.length=="number"){Y&&(U=Y);var ee=0,Ce=function(){};return{s:Ce,n:function(){return ee>=U.length?{done:!0}:{done:!1,value:U[ee++]}},e:function(Ne){throw Ne},f:Ce}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var _e,Oe=!0,$=!1;return{s:function(){Y=U[Symbol.iterator]()},n:function(){var Ne=Y.next();return Oe=Ne.done,Ne},e:function(Ne){$=!0,_e=Ne},f:function(){try{Oe||Y.return==null||Y.return()}finally{if($)throw _e}}}}function Xl(U,H){if(U){if(typeof U=="string")return ko(U,H);var Y=Object.prototype.toString.call(U).slice(8,-1);return Y==="Object"&&U.constructor&&(Y=U.constructor.name),Y==="Map"||Y==="Set"?Array.from(U):Y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Y)?ko(U,H):void 0}}function ko(U,H){(H==null||H>U.length)&&(H=U.length);for(var Y=0,ee=new Array(H);Y"u"?"undefined":li(performance))==="object"&&typeof performance.now=="function"?function(){return performance.now()}:function(){return Date.now()};function No(U){var H=null;function Y(rn){var Ft=li(rn)==="object"&&rn!==null?rn.$$typeof:rn;return li(Ft)==="symbol"?Ft.toString():Ft}var ee=H=Object(zt.gte)(U,"17.0.0-alpha")?{Block:22,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:17,IndeterminateComponent:2,LazyComponent:16,MemoComponent:14,Mode:8,OffscreenComponent:23,Profiler:12,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,YieldComponent:-1}:Object(zt.gte)(U,"16.6.0-beta.0")?{Block:22,ClassComponent:1,ContextConsumer:9,ContextProvider:10,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:18,ForwardRef:11,Fragment:7,FunctionComponent:0,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:17,IndeterminateComponent:2,LazyComponent:16,MemoComponent:14,Mode:8,OffscreenComponent:-1,Profiler:12,SimpleMemoComponent:15,SuspenseComponent:13,SuspenseListComponent:19,YieldComponent:-1}:Object(zt.gte)(U,"16.4.3-alpha")?{Block:-1,ClassComponent:2,ContextConsumer:11,ContextProvider:12,CoroutineComponent:-1,CoroutineHandlerPhase:-1,DehydratedSuspenseComponent:-1,ForwardRef:13,Fragment:9,FunctionComponent:0,HostComponent:7,HostPortal:6,HostRoot:5,HostText:8,IncompleteClassComponent:-1,IndeterminateComponent:4,LazyComponent:-1,MemoComponent:-1,Mode:10,OffscreenComponent:-1,Profiler:15,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,YieldComponent:-1}:{Block:-1,ClassComponent:2,ContextConsumer:12,ContextProvider:13,CoroutineComponent:7,CoroutineHandlerPhase:8,DehydratedSuspenseComponent:-1,ForwardRef:14,Fragment:10,FunctionComponent:1,HostComponent:5,HostPortal:4,HostRoot:3,HostText:6,IncompleteClassComponent:-1,IndeterminateComponent:0,LazyComponent:-1,MemoComponent:-1,Mode:11,OffscreenComponent:-1,Profiler:15,SimpleMemoComponent:-1,SuspenseComponent:16,SuspenseListComponent:-1,YieldComponent:9},Ce=ee.ClassComponent,_e=ee.IncompleteClassComponent,Oe=ee.FunctionComponent,$=ee.IndeterminateComponent,Ne=ee.ForwardRef,Je=ee.HostRoot,vt=ee.HostComponent,oe=ee.HostPortal,qe=ee.HostText,rt=ee.Fragment,xt=ee.MemoComponent,kt=ee.SimpleMemoComponent,bt=ee.SuspenseComponent,sn=ee.SuspenseListComponent;return{getDisplayNameForFiber:function(rn){var Ft=rn.type,Dn=rn.tag,dr=Ft;li(Ft)==="object"&&Ft!==null&&(dr=function Cr(Rn){switch(Y(Rn)){case 60115:case"Symbol(react.memo)":return Cr(Rn.type);case 60112:case"Symbol(react.forward_ref)":return Rn.render;default:return Rn}}(Ft));var er=null;switch(Dn){case Ce:case _e:return vi(dr);case Oe:case $:return vi(dr);case Ne:return Ft&&Ft.displayName||vi(dr,"Anonymous");case Je:return null;case vt:return Ft;case oe:case qe:case rt:return null;case xt:case kt:return vi(dr,"Anonymous");case bt:return"Suspense";case sn:return"SuspenseList";default:switch(Y(Ft)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return null;case 60109:case"Symbol(react.provider)":return er=rn.type._context||rn.type.context,"".concat(er.displayName||"Context",".Provider");case 60110:case"Symbol(react.context)":return er=rn.type._context||rn.type,"".concat(er.displayName||"Context",".Consumer");case 60108:case"Symbol(react.strict_mode)":return null;case 60114:case"Symbol(react.profiler)":return"Profiler(".concat(rn.memoizedProps.id,")");case 60119:case"Symbol(react.scope)":return"Scope";default:return null}}},getTypeSymbol:Y,ReactPriorityLevels:{ImmediatePriority:99,UserBlockingPriority:98,NormalPriority:97,LowPriority:96,IdlePriority:95,NoPriority:90},ReactTypeOfWork:H,ReactTypeOfSideEffect:{NoFlags:0,PerformedWork:1,Placement:2}}}function Is(U,H,Y,ee){var Ce=No(Y.version),_e=Ce.getDisplayNameForFiber,Oe=Ce.getTypeSymbol,$=Ce.ReactPriorityLevels,Ne=Ce.ReactTypeOfWork,Je=Ce.ReactTypeOfSideEffect,vt=Je.NoFlags,oe=Je.PerformedWork,qe=Je.Placement,rt=Ne.FunctionComponent,xt=Ne.ClassComponent,kt=Ne.ContextConsumer,bt=Ne.DehydratedSuspenseComponent,sn=Ne.Fragment,rn=Ne.ForwardRef,Ft=Ne.HostRoot,Dn=Ne.HostPortal,dr=Ne.HostComponent,er=Ne.HostText,Cr=Ne.IncompleteClassComponent,Rn=Ne.IndeterminateComponent,Nr=Ne.MemoComponent,y0=Ne.OffscreenComponent,Lr=Ne.SimpleMemoComponent,ut=Ne.SuspenseComponent,wt=Ne.SuspenseListComponent,et=$.ImmediatePriority,It=$.UserBlockingPriority,un=$.NormalPriority,fn=$.LowPriority,Jn=$.IdlePriority,wr=$.NoPriority,au=Y.overrideHookState,ku=Y.overrideHookStateDeletePath,T0=Y.overrideHookStateRenamePath,Z0=Y.overrideProps,Nu=Y.overridePropsDeletePath,gi=Y.overridePropsRenamePath,Po=Y.setSuspenseHandler,rl=Y.scheduleUpdate,hf=typeof Po=="function"&&typeof rl=="function";co(Y);var Tl=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,vf=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(Tl||vf)&&Jl({appendComponentStack:Tl,breakOnConsoleErrors:vf});var Io=new Set,ys=new Set,js=new Set,bo=!1,Bo=new Set;function gs(fe){js.clear(),Io.clear(),ys.clear(),fe.forEach(function(ie){if(ie.isEnabled)switch(ie.type){case 2:ie.isValid&&ie.value!==""&&Io.add(new RegExp(ie.value,"i"));break;case 1:js.add(ie.value);break;case 3:ie.isValid&&ie.value!==""&&ys.add(new RegExp(ie.value,"i"));break;case 4:Io.add(new RegExp("\\("));break;default:console.warn('Invalid component filter type "'.concat(ie.type,'"'))}})}function Xu(fe){var ie=fe._debugSource,Pe=fe.tag,Me=fe.type;switch(Pe){case bt:return!0;case Dn:case er:case sn:case y0:return!0;case Ft:return!1;default:switch(Oe(Me)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":case 60108:case"Symbol(react.strict_mode)":return!0}}var at=Su(fe);if(js.has(at))return!0;if(Io.size>0){var mt=_e(fe);if(mt!=null){var Qt,An=Yi(Io);try{for(An.s();!(Qt=An.n()).done;)if(Qt.value.test(mt))return!0}catch(ir){An.e(ir)}finally{An.f()}}}if(ie!=null&&ys.size>0){var Sn,_n=ie.fileName,Tn=Yi(ys);try{for(Tn.s();!(Sn=Tn.n()).done;)if(Sn.value.test(_n))return!0}catch(ir){Tn.e(ir)}finally{Tn.f()}}return!1}function Su(fe){var ie=fe.type;switch(fe.tag){case xt:case Cr:return 1;case rt:case Rn:return 5;case rn:return 6;case Ft:return 11;case dr:return 7;case Dn:case er:case sn:return 9;case Nr:case Lr:return 8;case ut:return 12;case wt:return 13;default:switch(Oe(ie)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function _i(fe){if(Uo.has(fe))return fe;var ie=fe.alternate;return ie!=null&&Uo.has(ie)?ie:(Uo.add(fe),fe)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?gs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):gs([{type:1,value:7,isEnabled:!0}]);var C0=new Map,$0=new Map,Uo=new Set,la=new Map,$l=new Map,tu=-1;function Zr(fe){if(!C0.has(fe)){var ie=el();C0.set(fe,ie),$0.set(ie,fe)}return C0.get(fe)}function ho(fe){switch(Su(fe)){case 1:if(B0!==null){var ie=Zr(_i(fe)),Pe=Ci(fe);Pe!==null&&B0.set(ie,Pe)}}}var Bi={};function Ci(fe){switch(Su(fe)){case 1:var ie=fe.stateNode,Pe=Bi,Me=Bi;return ie!=null&&(ie.constructor&&ie.constructor.contextType!=null?Me=ie.context:(Pe=ie.context)&&Object.keys(Pe).length===0&&(Pe=Bi)),[Pe,Me];default:return null}}function mf(fe){switch(Su(fe)){case 1:if(B0!==null){var ie=Zr(_i(fe)),Pe=B0.has(ie)?B0.get(ie):null,Me=Ci(fe);if(Pe==null||Me==null)return null;var at=Q0(Pe,2),mt=at[0],Qt=at[1],An=Q0(Me,2),Sn=An[0],_n=An[1];if(Sn!==Bi)return eo(mt,Sn);if(_n!==Bi)return Qt!==_n}}return null}function yf(fe,ie){if(fe==null||ie==null)return!1;if(ie.hasOwnProperty("baseState")&&ie.hasOwnProperty("memoizedState")&&ie.hasOwnProperty("next")&&ie.hasOwnProperty("queue"))for(;ie!==null;){if(ie.memoizedState!==fe.memoizedState)return!0;ie=ie.next,fe=fe.next}return!1}function eo(fe,ie){if(fe==null||ie==null||ie.hasOwnProperty("baseState")&&ie.hasOwnProperty("memoizedState")&&ie.hasOwnProperty("next")&&ie.hasOwnProperty("queue"))return null;var Pe,Me=[],at=Yi(new Set([].concat(eu(Object.keys(fe)),eu(Object.keys(ie)))));try{for(at.s();!(Pe=at.n()).done;){var mt=Pe.value;fe[mt]!==ie[mt]&&Me.push(mt)}}catch(Qt){at.e(Qt)}finally{at.f()}return Me}function to(fe,ie){switch(ie.tag){case xt:case rt:case kt:case Nr:case Lr:return(ao(ie)&oe)===oe;default:return fe.memoizedProps!==ie.memoizedProps||fe.memoizedState!==ie.memoizedState||fe.ref!==ie.ref}}var xe=[],tt=[],Ke=[],Yt=[],Kt=new Map,pr=0,Ei=null;function bn(fe){xe.push(fe)}function mu(fe){if(xe.length!==0||tt.length!==0||Ke.length!==0||Ei!==null||Fu){var ie=tt.length+Ke.length+(Ei===null?0:1),Pe=new Array(3+pr+(ie>0?2+ie:0)+xe.length),Me=0;if(Pe[Me++]=H,Pe[Me++]=tu,Pe[Me++]=pr,Kt.forEach(function(An,Sn){Pe[Me++]=Sn.length;for(var _n=Y0(Sn),Tn=0;Tn<_n.length;Tn++)Pe[Me+Tn]=_n[Tn];Me+=Sn.length}),ie>0){Pe[Me++]=2,Pe[Me++]=ie;for(var at=tt.length-1;at>=0;at--)Pe[Me++]=tt[at];for(var mt=0;mt0?fe.forEach(function(ie){U.emit("operations",ie)}):(Rr!==null&&(fu=!0),U.getFiberRoots(H).forEach(function(ie){$u(tu=Zr(_i(ie.current)),ie.current),Fu&&ie.memoizedInteractions!=null&&(il={changeDescriptions:es?new Map:null,durations:[],commitTime:Ql()-Ju,interactions:Array.from(ie.memoizedInteractions).map(function(Pe){return Wt(Wt({},Pe),{},{timestamp:Pe.timestamp-Ju})}),maxActualDuration:0,priorityLevel:null}),Qr(ie.current,null,!1,!1),mu(),tu=-1}))},getBestMatchForTrackedPath:function(){if(Rr===null||no===null)return null;for(var fe=no;fe!==null&&Xu(fe);)fe=fe.return;return fe===null?null:{id:Zr(_i(fe)),isFullMatch:nu===Rr.length-1}},getDisplayNameForFiberID:function(fe){var ie=$0.get(fe);return ie!=null?_e(ie):null},getFiberIDForNative:function(fe){var ie=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Pe=Y.findFiberByHostInstance(fe);if(Pe!=null){if(ie)for(;Pe!==null&&Xu(Pe);)Pe=Pe.return;return Zr(_i(Pe))}return null},getInstanceAndStyle:function(fe){var ie=null,Pe=null,Me=Wu(fe);return Me!==null&&(ie=Me.stateNode,Me.memoizedProps!==null&&(Pe=Me.memoizedProps.style)),{instance:ie,style:Pe}},getOwnersList:function(fe){var ie=Wu(fe);if(ie==null)return null;var Pe=ie._debugOwner,Me=[{displayName:_e(ie)||"Anonymous",id:fe,type:Su(ie)}];if(Pe)for(var at=Pe;at!==null;)Me.unshift({displayName:_e(at)||"Anonymous",id:Zr(_i(at)),type:Su(at)}),at=at._debugOwner||null;return Me},getPathForElement:function(fe){var ie=$0.get(fe);if(ie==null)return null;for(var Pe=[];ie!==null;)Pe.push(_0(ie)),ie=ie.return;return Pe.reverse(),Pe},getProfilingData:function(){var fe=[];if(_s===null)throw Error("getProfilingData() called before any profiling data was recorded");return _s.forEach(function(ie,Pe){var Me=[],at=[],mt=new Map,Qt=new Map,An=xl!==null&&xl.get(Pe)||"Unknown";O0!=null&&O0.forEach(function(Sn,_n){vo!=null&&vo.get(_n)===Pe&&at.push([_n,Sn])}),ie.forEach(function(Sn,_n){var Tn=Sn.changeDescriptions,ir=Sn.durations,Ut=Sn.interactions,Fi=Sn.maxActualDuration,Ar=Sn.priorityLevel,mr=Sn.commitTime,K=[];Ut.forEach(function(Di){mt.has(Di.id)||mt.set(Di.id,Di),K.push(Di.id);var ru=Qt.get(Di.id);ru!=null?ru.push(_n):Qt.set(Di.id,[_n])});for(var ti=[],ni=[],Wr=0;Wr1?Kn.set(Tn,ir-1):Kn.delete(Tn),ei.delete(Sn)}(tu),$r(Pe,!1))}else $u(tu,Pe),Qr(Pe,null,!1,!1);if(Fu&&at){var An=_s.get(tu);An!=null?An.push(il):_s.set(tu,[il])}mu(),bo&&U.emit("traceUpdates",Bo),tu=-1},handleCommitFiberUnmount:function(fe){$r(fe,!1)},inspectElement:function(fe,ie){if(Hi(fe)){if(ie!=null){A0(ie);var Pe=null;return ie[0]==="hooks"&&(Pe="hooks"),{id:fe,type:"hydrated-path",path:ie,value:Ri(Bu(Xi,ie),qi(null,Pe),ie)}}return{id:fe,type:"no-change"}}if(Hs=!1,Xi!==null&&Xi.id===fe||(R0={}),(Xi=sa(fe))===null)return{id:fe,type:"not-found"};ie!=null&&A0(ie),function(at){var mt=at.hooks,Qt=at.id,An=at.props,Sn=$0.get(Qt);if(Sn!=null){var _n=Sn.elementType,Tn=Sn.stateNode,ir=Sn.tag,Ut=Sn.type;switch(ir){case xt:case Cr:case Rn:ee.$r=Tn;break;case rt:ee.$r={hooks:mt,props:An,type:Ut};break;case rn:ee.$r={props:An,type:Ut.render};break;case Nr:case Lr:ee.$r={props:An,type:_n!=null&&_n.type!=null?_n.type:Ut};break;default:ee.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Qt,'"'))}(Xi);var Me=Wt({},Xi);return Me.context=Ri(Me.context,qi("context",null)),Me.hooks=Ri(Me.hooks,qi("hooks","hooks")),Me.props=Ri(Me.props,qi("props",null)),Me.state=Ri(Me.state,qi("state",null)),{id:fe,type:"full-data",value:Me}},logElementToConsole:function(fe){var ie=Hi(fe)?Xi:sa(fe);if(ie!==null){var Pe=typeof console.groupCollapsed=="function";Pe&&console.groupCollapsed("[Click to expand] %c<".concat(ie.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),ie.props!==null&&console.log("Props:",ie.props),ie.state!==null&&console.log("State:",ie.state),ie.hooks!==null&&console.log("Hooks:",ie.hooks);var Me=Cl(fe);Me!==null&&console.log("Nodes:",Me),ie.source!==null&&console.log("Location:",ie.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Pe&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(fe,'"'))},prepareViewAttributeSource:function(fe,ie){Hi(fe)&&(window.$attribute=Bu(Xi,ie))},prepareViewElementSource:function(fe){var ie=$0.get(fe);if(ie!=null){var Pe=ie.elementType,Me=ie.tag,at=ie.type;switch(Me){case xt:case Cr:case Rn:case rt:ee.$type=at;break;case rn:ee.$type=at.render;break;case Nr:case Lr:ee.$type=Pe!=null&&Pe.type!=null?Pe.type:at;break;default:ee.$type=null}}else console.warn('Could not find Fiber with id "'.concat(fe,'"'))},overrideSuspense:function(fe,ie){if(typeof Po!="function"||typeof rl!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");ie?(Zu.add(fe),Zu.size===1&&Po(Es)):(Zu.delete(fe),Zu.size===0&&Po(gf));var Pe=$0.get(fe);Pe!=null&&rl(Pe)},overrideValueAtPath:function(fe,ie,Pe,Me,at){var mt=Wu(ie);if(mt!==null){var Qt=mt.stateNode;switch(fe){case"context":switch(Me=Me.slice(1),mt.tag){case xt:Me.length===0?Qt.context=at:Oo(Qt.context,Me,at),Qt.forceUpdate()}break;case"hooks":typeof au=="function"&&au(mt,Pe,Me,at);break;case"props":switch(mt.tag){case xt:mt.pendingProps=In(Qt.props,Me,at),Qt.forceUpdate();break;default:typeof Z0=="function"&&Z0(mt,Me,at)}break;case"state":switch(mt.tag){case xt:Oo(Qt.state,Me,at),Qt.forceUpdate()}}}},renamePath:function(fe,ie,Pe,Me,at){var mt=Wu(ie);if(mt!==null){var Qt=mt.stateNode;switch(fe){case"context":switch(Me=Me.slice(1),at=at.slice(1),mt.tag){case xt:Me.length===0||Kr(Qt.context,Me,at),Qt.forceUpdate()}break;case"hooks":typeof T0=="function"&&T0(mt,Pe,Me,at);break;case"props":Qt===null?typeof gi=="function"&&gi(mt,Me,at):(mt.pendingProps=en(Qt.props,Me,at),Qt.forceUpdate());break;case"state":Kr(Qt.state,Me,at),Qt.forceUpdate()}}},renderer:Y,setTraceUpdatesEnabled:function(fe){bo=fe},setTrackedPath:Li,startProfiling:aa,stopProfiling:function(){Fu=!1,es=!1},storeAsGlobal:function(fe,ie,Pe){if(Hi(fe)){var Me=Bu(Xi,ie),at="$reactTemp".concat(Pe);window[at]=Me,console.log(at),console.log(Me)}},updateComponentFilters:function(fe){if(Fu)throw Error("Cannot modify filter preferences while profiling");U.getFiberRoots(H).forEach(function(ie){tu=Zr(_i(ie.current)),qu(ie.current),$r(ie.current,!1),tu=-1}),gs(fe),Kn.clear(),U.getFiberRoots(H).forEach(function(ie){$u(tu=Zr(_i(ie.current)),ie.current),Qr(ie.current,null,!1,!1),mu(ie),tu=-1})}}}var $n;function tl(U){return(tl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}function fo(U,H,Y){if($n===void 0)try{throw Error()}catch(Ce){var ee=Ce.stack.trim().match(/\n( *(at )?)/);$n=ee&&ee[1]||""}return` +`+$n+U}var I0=!1;function Sl(U,H,Y){if(!U||I0)return"";var ee,Ce=Error.prepareStackTrace;Error.prepareStackTrace=void 0,I0=!0;var _e=Y.current;Y.current=null;try{if(H){var Oe=function(){throw Error()};if(Object.defineProperty(Oe.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect>"u"?"undefined":tl(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(Oe,[])}catch(qe){ee=qe}Reflect.construct(U,[],Oe)}else{try{Oe.call()}catch(qe){ee=qe}U.call(Oe.prototype)}}else{try{throw Error()}catch(qe){ee=qe}U()}}catch(qe){if(qe&&ee&&typeof qe.stack=="string"){for(var $=qe.stack.split(` +`),Ne=ee.stack.split(` +`),Je=$.length-1,vt=Ne.length-1;Je>=1&&vt>=0&&$[Je]!==Ne[vt];)vt--;for(;Je>=1&&vt>=0;Je--,vt--)if($[Je]!==Ne[vt]){if(Je!==1||vt!==1)do if(Je--,--vt<0||$[Je]!==Ne[vt])return` +`+$[Je].replace(" at new "," at ");while(Je>=1&&vt>=0);break}}}finally{I0=!1,Error.prepareStackTrace=Ce,Y.current=_e}var oe=U?U.displayName||U.name:"";return oe?fo(oe):""}function Lo(U,H,Y,ee){return Sl(U,!1,ee)}function St(U,H,Y){var ee=U.HostComponent,Ce=U.LazyComponent,_e=U.SuspenseComponent,Oe=U.SuspenseListComponent,$=U.FunctionComponent,Ne=U.IndeterminateComponent,Je=U.SimpleMemoComponent,vt=U.ForwardRef,oe=U.Block,qe=U.ClassComponent;switch(H.tag){case ee:return fo(H.type);case Ce:return fo("Lazy");case _e:return fo("Suspense");case Oe:return fo("SuspenseList");case $:case Ne:case Je:return Lo(H.type,0,0,Y);case vt:return Lo(H.type.render,0,0,Y);case oe:return Lo(H.type._render,0,0,Y);case qe:return function(rt,xt,kt,bt){return Sl(rt,!0,bt)}(H.type,0,0,Y);default:return""}}function Bt(U,H,Y){try{var ee="",Ce=H;do ee+=St(U,Ce,Y),Ce=Ce.return;while(Ce);return ee}catch(_e){return` +Error generating stack: `+_e.message+` +`+_e.stack}}function Hn(U,H){var Y;if(typeof Symbol>"u"||U[Symbol.iterator]==null){if(Array.isArray(U)||(Y=function(Ne,Je){if(!!Ne){if(typeof Ne=="string")return qr(Ne,Je);var vt=Object.prototype.toString.call(Ne).slice(8,-1);if(vt==="Object"&&Ne.constructor&&(vt=Ne.constructor.name),vt==="Map"||vt==="Set")return Array.from(Ne);if(vt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(vt))return qr(Ne,Je)}}(U))||H&&U&&typeof U.length=="number"){Y&&(U=Y);var ee=0,Ce=function(){};return{s:Ce,n:function(){return ee>=U.length?{done:!0}:{done:!1,value:U[ee++]}},e:function(Ne){throw Ne},f:Ce}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var _e,Oe=!0,$=!1;return{s:function(){Y=U[Symbol.iterator]()},n:function(){var Ne=Y.next();return Oe=Ne.done,Ne},e:function(Ne){$=!0,_e=Ne},f:function(){try{Oe||Y.return==null||Y.return()}finally{if($)throw _e}}}}function qr(U,H){(H==null||H>U.length)&&(H=U.length);for(var Y=0,ee=new Array(H);Y0?Je[Je.length-1]:null,qe=oe!==null&&(Xr.test(oe)||Au.test(oe));if(!qe){var rt,xt=Hn(p0.values());try{for(xt.s();!(rt=xt.n()).done;){var kt=rt.value,bt=kt.currentDispatcherRef,sn=kt.getCurrentFiber,rn=kt.workTagMap,Ft=sn();if(Ft!=null){var Dn=Bt(rn,Ft,bt);Dn!==""&&Je.push(Dn);break}}}catch(dr){xt.e(dr)}finally{xt.f()}}}catch{}_e.apply(void 0,Je)};Oe.__REACT_DEVTOOLS_ORIGINAL_METHOD__=_e,Ni[Ce]=Oe}catch{}})}}function Uu(U){return(Uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}function vs(U,H){for(var Y=0;Y"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Y,ee=Le(U);if(H){var Ce=Le(this).constructor;Y=Reflect.construct(ee,arguments,Ce)}else Y=ee.apply(this,arguments);return Se(this,Y)}}function Se(U,H){return!H||Uu(H)!=="object"&&typeof H!="function"?Fe(U):H}function Fe(U){if(U===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function Le(U){return(Le=Object.setPrototypeOf?Object.getPrototypeOf:function(H){return H.__proto__||Object.getPrototypeOf(H)})(U)}function pt(U,H,Y){return H in U?Object.defineProperty(U,H,{value:Y,enumerable:!0,configurable:!0,writable:!0}):U[H]=Y,U}var Yn=function(U){(function(Oe,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");Oe.prototype=Object.create($&&$.prototype,{constructor:{value:Oe,writable:!0,configurable:!0}}),$&&b0(Oe,$)})(_e,U);var H,Y,ee,Ce=Q(_e);function _e(Oe){var $;(function(oe,qe){if(!(oe instanceof qe))throw new TypeError("Cannot call a class as a function")})(this,_e),pt(Fe($=Ce.call(this)),"_isProfiling",!1),pt(Fe($),"_recordChangeDescriptions",!1),pt(Fe($),"_rendererInterfaces",{}),pt(Fe($),"_persistedSelection",null),pt(Fe($),"_persistedSelectionMatch",null),pt(Fe($),"_traceUpdatesEnabled",!1),pt(Fe($),"copyElementPath",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=$._rendererInterfaces[xt];kt==null?console.warn('Invalid renderer id "'.concat(xt,'" for element "').concat(qe,'"')):kt.copyElementPath(qe,rt)}),pt(Fe($),"deletePath",function(oe){var qe=oe.hookID,rt=oe.id,xt=oe.path,kt=oe.rendererID,bt=oe.type,sn=$._rendererInterfaces[kt];sn==null?console.warn('Invalid renderer id "'.concat(kt,'" for element "').concat(rt,'"')):sn.deletePath(bt,rt,qe,xt)}),pt(Fe($),"getProfilingData",function(oe){var qe=oe.rendererID,rt=$._rendererInterfaces[qe];rt==null&&console.warn('Invalid renderer id "'.concat(qe,'"')),$._bridge.send("profilingData",rt.getProfilingData())}),pt(Fe($),"getProfilingStatus",function(){$._bridge.send("profilingStatus",$._isProfiling)}),pt(Fe($),"getOwnersList",function(oe){var qe=oe.id,rt=oe.rendererID,xt=$._rendererInterfaces[rt];if(xt==null)console.warn('Invalid renderer id "'.concat(rt,'" for element "').concat(qe,'"'));else{var kt=xt.getOwnersList(qe);$._bridge.send("ownersList",{id:qe,owners:kt})}}),pt(Fe($),"inspectElement",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=$._rendererInterfaces[xt];kt==null?console.warn('Invalid renderer id "'.concat(xt,'" for element "').concat(qe,'"')):($._bridge.send("inspectedElement",kt.inspectElement(qe,rt)),$._persistedSelectionMatch!==null&&$._persistedSelectionMatch.id===qe||($._persistedSelection=null,$._persistedSelectionMatch=null,kt.setTrackedPath(null),$._throttledPersistSelection(xt,qe)))}),pt(Fe($),"logElementToConsole",function(oe){var qe=oe.id,rt=oe.rendererID,xt=$._rendererInterfaces[rt];xt==null?console.warn('Invalid renderer id "'.concat(rt,'" for element "').concat(qe,'"')):xt.logElementToConsole(qe)}),pt(Fe($),"overrideSuspense",function(oe){var qe=oe.id,rt=oe.rendererID,xt=oe.forceFallback,kt=$._rendererInterfaces[rt];kt==null?console.warn('Invalid renderer id "'.concat(rt,'" for element "').concat(qe,'"')):kt.overrideSuspense(qe,xt)}),pt(Fe($),"overrideValueAtPath",function(oe){var qe=oe.hookID,rt=oe.id,xt=oe.path,kt=oe.rendererID,bt=oe.type,sn=oe.value,rn=$._rendererInterfaces[kt];rn==null?console.warn('Invalid renderer id "'.concat(kt,'" for element "').concat(rt,'"')):rn.overrideValueAtPath(bt,rt,qe,xt,sn)}),pt(Fe($),"overrideContext",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=oe.wasForwarded,bt=oe.value;kt||$.overrideValueAtPath({id:qe,path:rt,rendererID:xt,type:"context",value:bt})}),pt(Fe($),"overrideHookState",function(oe){var qe=oe.id,rt=(oe.hookID,oe.path),xt=oe.rendererID,kt=oe.wasForwarded,bt=oe.value;kt||$.overrideValueAtPath({id:qe,path:rt,rendererID:xt,type:"hooks",value:bt})}),pt(Fe($),"overrideProps",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=oe.wasForwarded,bt=oe.value;kt||$.overrideValueAtPath({id:qe,path:rt,rendererID:xt,type:"props",value:bt})}),pt(Fe($),"overrideState",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=oe.wasForwarded,bt=oe.value;kt||$.overrideValueAtPath({id:qe,path:rt,rendererID:xt,type:"state",value:bt})}),pt(Fe($),"reloadAndProfile",function(oe){q("React::DevTools::reloadAndProfile","true"),q("React::DevTools::recordChangeDescriptions",oe?"true":"false"),$._bridge.send("reloadAppForProfiling")}),pt(Fe($),"renamePath",function(oe){var qe=oe.hookID,rt=oe.id,xt=oe.newPath,kt=oe.oldPath,bt=oe.rendererID,sn=oe.type,rn=$._rendererInterfaces[bt];rn==null?console.warn('Invalid renderer id "'.concat(bt,'" for element "').concat(rt,'"')):rn.renamePath(sn,rt,qe,kt,xt)}),pt(Fe($),"setTraceUpdatesEnabled",function(oe){for(var qe in $._traceUpdatesEnabled=oe,Vt(oe),$._rendererInterfaces)$._rendererInterfaces[qe].setTraceUpdatesEnabled(oe)}),pt(Fe($),"syncSelectionFromNativeElementsPanel",function(){var oe=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0;oe!=null&&$.selectNode(oe)}),pt(Fe($),"shutdown",function(){$.emit("shutdown")}),pt(Fe($),"startProfiling",function(oe){for(var qe in $._recordChangeDescriptions=oe,$._isProfiling=!0,$._rendererInterfaces)$._rendererInterfaces[qe].startProfiling(oe);$._bridge.send("profilingStatus",$._isProfiling)}),pt(Fe($),"stopProfiling",function(){for(var oe in $._isProfiling=!1,$._recordChangeDescriptions=!1,$._rendererInterfaces)$._rendererInterfaces[oe].stopProfiling();$._bridge.send("profilingStatus",$._isProfiling)}),pt(Fe($),"storeAsGlobal",function(oe){var qe=oe.count,rt=oe.id,xt=oe.path,kt=oe.rendererID,bt=$._rendererInterfaces[kt];bt==null?console.warn('Invalid renderer id "'.concat(kt,'" for element "').concat(rt,'"')):bt.storeAsGlobal(rt,xt,qe)}),pt(Fe($),"updateConsolePatchSettings",function(oe){var qe=oe.appendComponentStack,rt=oe.breakOnConsoleErrors;qe||rt?Jl({appendComponentStack:qe,breakOnConsoleErrors:rt}):Ct!==null&&(Ct(),Ct=null)}),pt(Fe($),"updateComponentFilters",function(oe){for(var qe in $._rendererInterfaces)$._rendererInterfaces[qe].updateComponentFilters(oe)}),pt(Fe($),"viewAttributeSource",function(oe){var qe=oe.id,rt=oe.path,xt=oe.rendererID,kt=$._rendererInterfaces[xt];kt==null?console.warn('Invalid renderer id "'.concat(xt,'" for element "').concat(qe,'"')):kt.prepareViewAttributeSource(qe,rt)}),pt(Fe($),"viewElementSource",function(oe){var qe=oe.id,rt=oe.rendererID,xt=$._rendererInterfaces[rt];xt==null?console.warn('Invalid renderer id "'.concat(rt,'" for element "').concat(qe,'"')):xt.prepareViewElementSource(qe)}),pt(Fe($),"onTraceUpdates",function(oe){$.emit("traceUpdates",oe)}),pt(Fe($),"onHookOperations",function(oe){if($._bridge.send("operations",oe),$._persistedSelection!==null){var qe=oe[0];if($._persistedSelection.rendererID===qe){var rt=$._rendererInterfaces[qe];if(rt==null)console.warn('Invalid renderer id "'.concat(qe,'"'));else{var xt=$._persistedSelectionMatch,kt=rt.getBestMatchForTrackedPath();$._persistedSelectionMatch=kt;var bt=xt!==null?xt.id:null,sn=kt!==null?kt.id:null;bt!==sn&&sn!==null&&$._bridge.send("selectFiber",sn),kt!==null&&kt.isFullMatch&&($._persistedSelection=null,$._persistedSelectionMatch=null,rt.setTrackedPath(null))}}}}),pt(Fe($),"_throttledPersistSelection",N()(function(oe,qe){var rt=$._rendererInterfaces[oe],xt=rt!=null?rt.getPathForElement(qe):null;xt!==null?q("React::DevTools::lastSelection",JSON.stringify({rendererID:oe,path:xt})):j("React::DevTools::lastSelection")},1e3)),x("React::DevTools::reloadAndProfile")==="true"&&($._recordChangeDescriptions=x("React::DevTools::recordChangeDescriptions")==="true",$._isProfiling=!0,j("React::DevTools::recordChangeDescriptions"),j("React::DevTools::reloadAndProfile"));var Ne=x("React::DevTools::lastSelection");Ne!=null&&($._persistedSelection=JSON.parse(Ne)),$._bridge=Oe,Oe.addListener("copyElementPath",$.copyElementPath),Oe.addListener("deletePath",$.deletePath),Oe.addListener("getProfilingData",$.getProfilingData),Oe.addListener("getProfilingStatus",$.getProfilingStatus),Oe.addListener("getOwnersList",$.getOwnersList),Oe.addListener("inspectElement",$.inspectElement),Oe.addListener("logElementToConsole",$.logElementToConsole),Oe.addListener("overrideSuspense",$.overrideSuspense),Oe.addListener("overrideValueAtPath",$.overrideValueAtPath),Oe.addListener("reloadAndProfile",$.reloadAndProfile),Oe.addListener("renamePath",$.renamePath),Oe.addListener("setTraceUpdatesEnabled",$.setTraceUpdatesEnabled),Oe.addListener("startProfiling",$.startProfiling),Oe.addListener("stopProfiling",$.stopProfiling),Oe.addListener("storeAsGlobal",$.storeAsGlobal),Oe.addListener("syncSelectionFromNativeElementsPanel",$.syncSelectionFromNativeElementsPanel),Oe.addListener("shutdown",$.shutdown),Oe.addListener("updateConsolePatchSettings",$.updateConsolePatchSettings),Oe.addListener("updateComponentFilters",$.updateComponentFilters),Oe.addListener("viewAttributeSource",$.viewAttributeSource),Oe.addListener("viewElementSource",$.viewElementSource),Oe.addListener("overrideContext",$.overrideContext),Oe.addListener("overrideHookState",$.overrideHookState),Oe.addListener("overrideProps",$.overrideProps),Oe.addListener("overrideState",$.overrideState),$._isProfiling&&Oe.send("profilingStatus",!0);var Je,vt=!1;try{localStorage.getItem("test"),vt=!0}catch{}return Oe.send("isBackendStorageAPISupported",vt),Re(Oe,Fe($)),Je=Fe($),Je.addListener("traceUpdates",Er),$}return H=_e,(Y=[{key:"getInstanceAndStyle",value:function(Oe){var $=Oe.id,Ne=Oe.rendererID,Je=this._rendererInterfaces[Ne];return Je==null?(console.warn('Invalid renderer id "'.concat(Ne,'"')),null):Je.getInstanceAndStyle($)}},{key:"getIDForNode",value:function(Oe){for(var $ in this._rendererInterfaces){var Ne=this._rendererInterfaces[$];try{var Je=Ne.getFiberIDForNative(Oe,!0);if(Je!==null)return Je}catch{}}return null}},{key:"selectNode",value:function(Oe){var $=this.getIDForNode(Oe);$!==null&&this._bridge.send("selectFiber",$)}},{key:"setRendererInterface",value:function(Oe,$){this._rendererInterfaces[Oe]=$,this._isProfiling&&$.startProfiling(this._recordChangeDescriptions),$.setTraceUpdatesEnabled(this._traceUpdatesEnabled);var Ne=this._persistedSelection;Ne!==null&&Ne.rendererID===Oe&&$.setTrackedPath(Ne.path)}},{key:"onUnsupportedRenderer",value:function(Oe){this._bridge.send("unsupportedRendererVersion",Oe)}},{key:"rendererInterfaces",get:function(){return this._rendererInterfaces}}])&&vs(H.prototype,Y),ee&&vs(H,ee),_e}(E);function Cn(U){return(Cn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(H){return typeof H}:function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H})(U)}function cr(U){return function(H){if(Array.isArray(H))return Si(H)}(U)||function(H){if(typeof Symbol<"u"&&Symbol.iterator in Object(H))return Array.from(H)}(U)||function(H,Y){if(!!H){if(typeof H=="string")return Si(H,Y);var ee=Object.prototype.toString.call(H).slice(8,-1);if(ee==="Object"&&H.constructor&&(ee=H.constructor.name),ee==="Map"||ee==="Set")return Array.from(H);if(ee==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ee))return Si(H,Y)}}(U)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Si(U,H){(H==null||H>U.length)&&(H=U.length);for(var Y=0,ee=new Array(H);Y"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Y,ee=Fo(U);if(H){var Ce=Fo(this).constructor;Y=Reflect.construct(ee,arguments,Ce)}else Y=ee.apply(this,arguments);return wu(this,Y)}}function wu(U,H){return!H||Cn(H)!=="object"&&typeof H!="function"?Ti(U):H}function Ti(U){if(U===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function Fo(U){return(Fo=Object.setPrototypeOf?Object.getPrototypeOf:function(H){return H.__proto__||Object.getPrototypeOf(H)})(U)}function Mu(U,H,Y){return H in U?Object.defineProperty(U,H,{value:Y,enumerable:!0,configurable:!0,writable:!0}):U[H]=Y,U}var po=function(U){(function(Oe,$){if(typeof $!="function"&&$!==null)throw new TypeError("Super expression must either be null or a function");Oe.prototype=Object.create($&&$.prototype,{constructor:{value:Oe,writable:!0,configurable:!0}}),$&&ju(Oe,$)})(_e,U);var H,Y,ee,Ce=zu(_e);function _e(Oe){var $;return function(Ne,Je){if(!(Ne instanceof Je))throw new TypeError("Cannot call a class as a function")}(this,_e),Mu(Ti($=Ce.call(this)),"_isShutdown",!1),Mu(Ti($),"_messageQueue",[]),Mu(Ti($),"_timeoutID",null),Mu(Ti($),"_wallUnlisten",null),Mu(Ti($),"_flush",function(){if($._timeoutID!==null&&(clearTimeout($._timeoutID),$._timeoutID=null),$._messageQueue.length){for(var Ne=0;Ne<$._messageQueue.length;Ne+=2){var Je;(Je=$._wall).send.apply(Je,[$._messageQueue[Ne]].concat(cr($._messageQueue[Ne+1])))}$._messageQueue.length=0,$._timeoutID=setTimeout($._flush,100)}}),Mu(Ti($),"overrideValueAtPath",function(Ne){var Je=Ne.id,vt=Ne.path,oe=Ne.rendererID,qe=Ne.type,rt=Ne.value;switch(qe){case"context":$.send("overrideContext",{id:Je,path:vt,rendererID:oe,wasForwarded:!0,value:rt});break;case"hooks":$.send("overrideHookState",{id:Je,path:vt,rendererID:oe,wasForwarded:!0,value:rt});break;case"props":$.send("overrideProps",{id:Je,path:vt,rendererID:oe,wasForwarded:!0,value:rt});break;case"state":$.send("overrideState",{id:Je,path:vt,rendererID:oe,wasForwarded:!0,value:rt})}}),$._wall=Oe,$._wallUnlisten=Oe.listen(function(Ne){Ti($).emit(Ne.event,Ne.payload)})||null,$.addListener("overrideValueAtPath",$.overrideValueAtPath),$}return H=_e,(Y=[{key:"send",value:function(Oe){if(this._isShutdown)console.warn('Cannot send message "'.concat(Oe,'" through a Bridge that has been shutdown.'));else{for(var $=arguments.length,Ne=new Array($>1?$-1:0),Je=1;Je<$;Je++)Ne[Je-1]=arguments[Je];this._messageQueue.push(Oe,Ne),this._timeoutID||(this._timeoutID=setTimeout(this._flush,0))}}},{key:"shutdown",value:function(){if(this._isShutdown)console.warn("Bridge was already shutdown.");else{this.send("shutdown"),this._isShutdown=!0,this.addListener=function(){},this.emit=function(){},this.removeAllListeners();var Oe=this._wallUnlisten;Oe&&Oe();do this._flush();while(this._messageQueue.length);this._timeoutID!==null&&(clearTimeout(this._timeoutID),this._timeoutID=null)}}},{key:"wall",get:function(){return this._wall}}])&&Ou(H.prototype,Y),ee&&Ou(H,ee),_e}(E);function Hu(U,H,Y){var ee=U[H];return U[H]=function(Ce){return Y.call(this,ee,arguments)},ee}function Pa(U,H){for(var Y in H)U[Y]=H[Y]}function v0(U){typeof U.forceUpdate=="function"?U.forceUpdate():U.updater!=null&&typeof U.updater.enqueueForceUpdate=="function"&&U.updater.enqueueForceUpdate(this,function(){},"forceUpdate")}function ia(U,H){var Y=Object.keys(U);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(U);H&&(ee=ee.filter(function(Ce){return Object.getOwnPropertyDescriptor(U,Ce).enumerable})),Y.push.apply(Y,ee)}return Y}function J0(U){for(var H=1;H0?oe[oe.length-1]:0),oe.push(un),$.set(et,Je(It._topLevelWrapper));try{var fn=ut.apply(this,wt);return oe.pop(),fn}catch(wr){throw oe=[],wr}finally{if(oe.length===0){var Jn=$.get(et);if(Jn===void 0)throw new Error("Expected to find root ID.");dr(Jn)}}},performUpdateIfNecessary:function(ut,wt){var et=wt[0];if(S0(et)===9)return ut.apply(this,wt);var It=Je(et);oe.push(It);var un=Qn(et);try{var fn=ut.apply(this,wt),Jn=Qn(et);return vt(un,Jn)||xt(et,It,Jn),oe.pop(),fn}catch(au){throw oe=[],au}finally{if(oe.length===0){var wr=$.get(et);if(wr===void 0)throw new Error("Expected to find root ID.");dr(wr)}}},receiveComponent:function(ut,wt){var et=wt[0];if(S0(et)===9)return ut.apply(this,wt);var It=Je(et);oe.push(It);var un=Qn(et);try{var fn=ut.apply(this,wt),Jn=Qn(et);return vt(un,Jn)||xt(et,It,Jn),oe.pop(),fn}catch(au){throw oe=[],au}finally{if(oe.length===0){var wr=$.get(et);if(wr===void 0)throw new Error("Expected to find root ID.");dr(wr)}}},unmountComponent:function(ut,wt){var et=wt[0];if(S0(et)===9)return ut.apply(this,wt);var It=Je(et);oe.push(It);try{var un=ut.apply(this,wt);return oe.pop(),function(Jn,wr){rn.push(wr),_e.delete(wr)}(0,It),un}catch(Jn){throw oe=[],Jn}finally{if(oe.length===0){var fn=$.get(et);if(fn===void 0)throw new Error("Expected to find root ID.");dr(fn)}}}}));var bt=[],sn=new Map,rn=[],Ft=0,Dn=null;function dr(ut){if(bt.length!==0||rn.length!==0||Dn!==null){var wt=rn.length+(Dn===null?0:1),et=new Array(3+Ft+(wt>0?2+wt:0)+bt.length),It=0;if(et[It++]=H,et[It++]=ut,et[It++]=Ft,sn.forEach(function(Jn,wr){et[It++]=wr.length;for(var au=Y0(wr),ku=0;ku0){et[It++]=2,et[It++]=wt;for(var un=0;un"),"color: var(--dom-tag-name-color); font-weight: normal;"),wt.props!==null&&console.log("Props:",wt.props),wt.state!==null&&console.log("State:",wt.state),wt.context!==null&&console.log("Context:",wt.context);var It=Ce(ut);It!==null&&console.log("Node:",It),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),et&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(ut,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(ut,wt,et,It,un){var fn=_e.get(wt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(ut){case"context":Oo(Jn.context,It,un),v0(Jn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var wr=fn._currentElement;fn._currentElement=J0(J0({},wr),{},{props:In(wr.props,It,un)}),v0(Jn);break;case"state":Oo(Jn.state,It,un),v0(Jn)}}},renamePath:function(ut,wt,et,It,un){var fn=_e.get(wt);if(fn!=null){var Jn=fn._instance;if(Jn!=null)switch(ut){case"context":Kr(Jn.context,It,un),v0(Jn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var wr=fn._currentElement;fn._currentElement=J0(J0({},wr),{},{props:en(wr.props,It,un)}),v0(Jn);break;case"state":Kr(Jn.state,It,un),v0(Jn)}}},prepareViewAttributeSource:function(ut,wt){var et=Lr(ut);et!==null&&(window.$attribute=Bu(et,wt))},prepareViewElementSource:function(ut){var wt=_e.get(ut);if(wt!=null){var et=wt._currentElement;et!=null?ee.$type=et.type:console.warn('Could not find element with id "'.concat(ut,'"'))}else console.warn('Could not find instance with id "'.concat(ut,'"'))},renderer:Y,setTraceUpdatesEnabled:function(ut){},setTrackedPath:function(ut){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(ut,wt,et){var It=Lr(ut);if(It!==null){var un=Bu(It,wt),fn="$reactTemp".concat(et);window[fn]=un,console.log(fn),console.log(un)}},updateComponentFilters:function(ut){}}}function si(U,H){var Y=!1,ee={bottom:0,left:0,right:0,top:0},Ce=H[U];if(Ce!=null){for(var _e=0,Oe=Object.keys(ee);_e0?"development":"production";var bt=Function.prototype.toString;if(kt.Mount&&kt.Mount._renderNewRootComponent){var sn=bt.call(kt.Mount._renderNewRootComponent);return sn.indexOf("function")!==0?"production":sn.indexOf("storedMeasure")!==-1?"development":sn.indexOf("should be a pure function")!==-1?sn.indexOf("NODE_ENV")!==-1||sn.indexOf("development")!==-1||sn.indexOf("true")!==-1?"development":sn.indexOf("nextElement")!==-1||sn.indexOf("nextComponent")!==-1?"unminified":"development":sn.indexOf("nextElement")!==-1||sn.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch{}return"production"}(Ne);try{var oe=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,qe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(oe||qe)&&(co(Ne),Jl({appendComponentStack:oe,breakOnConsoleErrors:qe}))}catch{}var rt=U.__REACT_DEVTOOLS_ATTACH__;if(typeof rt=="function"){var xt=rt($,Je,Ne,U);$.rendererInterfaces.set(Je,xt)}return $.emit("renderer",{id:Je,renderer:Ne,reactBuildType:vt}),Je},on:function(Ne,Je){_e[Ne]||(_e[Ne]=[]),_e[Ne].push(Je)},off:function(Ne,Je){if(_e[Ne]){var vt=_e[Ne].indexOf(Je);vt!==-1&&_e[Ne].splice(vt,1),_e[Ne].length||delete _e[Ne]}},sub:function(Ne,Je){return $.on(Ne,Je),function(){return $.off(Ne,Je)}},supportsFiber:!0,checkDCE:function(Ne){try{Function.prototype.toString.call(Ne).indexOf("^_^")>-1&&(Y=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch{}},onCommitFiberUnmount:function(Ne,Je){var vt=Ce.get(Ne);vt!=null&&vt.handleCommitFiberUnmount(Je)},onCommitFiberRoot:function(Ne,Je,vt){var oe=$.getFiberRoots(Ne),qe=Je.current,rt=oe.has(Je),xt=qe.memoizedState==null||qe.memoizedState.element==null;rt||xt?rt&&xt&&oe.delete(Je):oe.add(Je);var kt=Ce.get(Ne);kt!=null&&kt.handleCommitFiberRoot(Je,vt)}};Object.defineProperty(U,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return $}})})(window);var m0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Us=[{type:1,value:7,isEnabled:!0}];function zi(U){if(m0!=null){var H=U||{},Y=H.host,ee=Y===void 0?"localhost":Y,Ce=H.nativeStyleEditorValidAttributes,_e=H.useHttps,Oe=_e!==void 0&&_e,$=H.port,Ne=$===void 0?8097:$,Je=H.websocket,vt=H.resolveRNStyle,oe=vt===void 0?null:vt,qe=H.isAppActive,rt=Oe?"wss":"ws",xt=null;if((qe===void 0?function(){return!0}:qe)()){var kt=null,bt=[],sn=rt+"://"+ee+":"+Ne,rn=Je||new window.WebSocket(sn);rn.onclose=function(){kt!==null&&kt.emit("shutdown"),Ft()},rn.onerror=function(){Ft()},rn.onmessage=function(Dn){var dr;try{if(typeof Dn.data!="string")throw Error();dr=JSON.parse(Dn.data)}catch{return void console.error("[React DevTools] Failed to parse JSON: "+Dn.data)}bt.forEach(function(er){try{er(dr)}catch(Cr){throw console.log("[React DevTools] Error calling listener",dr),console.log("error:",Cr),Cr}})},rn.onopen=function(){(kt=new po({listen:function(Rn){return bt.push(Rn),function(){var Nr=bt.indexOf(Rn);Nr>=0&&bt.splice(Nr,1)}},send:function(Rn,Nr,y0){rn.readyState===rn.OPEN?rn.send(JSON.stringify({event:Rn,payload:Nr})):(kt!==null&&kt.shutdown(),Ft())}})).addListener("inspectElement",function(Rn){var Nr=Rn.id,y0=Rn.rendererID,Lr=Dn.rendererInterfaces[y0];if(Lr!=null){var ut=Lr.findNativeNodesForFiberID(Nr);ut!=null&&ut[0]!=null&&Dn.emit("showNativeHighlight",ut[0])}}),kt.addListener("updateComponentFilters",function(Rn){Us=Rn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&kt.send("overrideComponentFilters",Us);var Dn=new Yn(kt);if(Dn.addListener("shutdown",function(){m0.emit("shutdown")}),function(Rn,Nr,y0){if(Rn==null)return function(){};var Lr=[Rn.sub("renderer-attached",function(et){var It=et.id,un=(et.renderer,et.rendererInterface);Nr.setRendererInterface(It,un),un.flushInitialOperations()}),Rn.sub("unsupported-renderer-version",function(et){Nr.onUnsupportedRenderer(et)}),Rn.sub("operations",Nr.onHookOperations),Rn.sub("traceUpdates",Nr.onTraceUpdates)],ut=function(et,It){var un=Rn.rendererInterfaces.get(et);un==null&&(typeof It.findFiberByHostInstance=="function"?un=Is(Rn,et,It,y0):It.ComponentTree&&(un=ac(Rn,et,It,y0)),un!=null&&Rn.rendererInterfaces.set(et,un)),un!=null?Rn.emit("renderer-attached",{id:et,renderer:It,rendererInterface:un}):Rn.emit("unsupported-renderer-version",et)};Rn.renderers.forEach(function(et,It){ut(It,et)}),Lr.push(Rn.sub("renderer",function(et){var It=et.id,un=et.renderer;ut(It,un)})),Rn.emit("react-devtools",Nr),Rn.reactDevtoolsAgent=Nr;var wt=function(){Lr.forEach(function(et){return et()}),Rn.rendererInterfaces.forEach(function(et){et.cleanup()}),Rn.reactDevtoolsAgent=null};Nr.addListener("shutdown",wt),Lr.push(function(){Nr.removeListener("shutdown",wt)})}(m0,Dn,window),oe!=null||m0.resolveRNStyle!=null)oa(kt,Dn,oe||m0.resolveRNStyle,Ce||m0.nativeStyleEditorValidAttributes||null);else{var dr,er,Cr=function(){kt!==null&&oa(kt,Dn,dr,er)};m0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(m0,"resolveRNStyle",{enumerable:!1,get:function(){return dr},set:function(Rn){dr=Rn,Cr()}}),m0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(m0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return er},set:function(Rn){er=Rn,Cr()}})}}}else Ft()}function Ft(){xt===null&&(xt=setTimeout(function(){return zi(U)},2e3))}}}])})});var FC=nt(LC=>{"use strict";Object.defineProperty(LC,"__esModule",{value:!0});kC();var wb=NC();wb.connectToDevTools()});var UC=nt(sg=>{"use strict";var BC=sg&&sg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(sg,"__esModule",{value:!0});var PC=z_(),Sb=BC(YS()),IC=BC(eh()),ps=BD();process.env.DEV==="true"&&FC();var bC=o=>{o==null||o.unsetMeasureFunc(),o==null||o.freeRecursive()};sg.default=Sb.default({schedulePassiveEffects:PC.unstable_scheduleCallback,cancelPassiveEffects:PC.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:o=>{if(o.isStaticDirty){o.isStaticDirty=!1,typeof o.onImmediateRender=="function"&&o.onImmediateRender();return}typeof o.onRender=="function"&&o.onRender()},getChildHostContext:(o,l)=>{let f=o.isInsideText,h=l==="ink-text"||l==="ink-virtual-text";return f===h?o:{isInsideText:h}},shouldSetTextContent:()=>!1,createInstance:(o,l,f,h)=>{if(h.isInsideText&&o==="ink-box")throw new Error(" can\u2019t be nested inside component");let E=o==="ink-text"&&h.isInsideText?"ink-virtual-text":o,t=ps.createNode(E);for(let[N,F]of Object.entries(l))N!=="children"&&(N==="style"?ps.setStyle(t,F):N==="internal_transform"?t.internal_transform=F:N==="internal_static"?t.internal_static=!0:ps.setAttribute(t,N,F));return t},createTextInstance:(o,l,f)=>{if(!f.isInsideText)throw new Error(`Text string "${o}" must be rendered inside component`);return ps.createTextNode(o)},resetTextContent:()=>{},hideTextInstance:o=>{ps.setTextNodeValue(o,"")},unhideTextInstance:(o,l)=>{ps.setTextNodeValue(o,l)},getPublicInstance:o=>o,hideInstance:o=>{var l;(l=o.yogaNode)===null||l===void 0||l.setDisplay(IC.default.DISPLAY_NONE)},unhideInstance:o=>{var l;(l=o.yogaNode)===null||l===void 0||l.setDisplay(IC.default.DISPLAY_FLEX)},appendInitialChild:ps.appendChildNode,appendChild:ps.appendChildNode,insertBefore:ps.insertBeforeNode,finalizeInitialChildren:(o,l,f,h)=>(o.internal_static&&(h.isStaticDirty=!0,h.staticNode=o),!1),supportsMutation:!0,appendChildToContainer:ps.appendChildNode,insertInContainerBefore:ps.insertBeforeNode,removeChildFromContainer:(o,l)=>{ps.removeChildNode(o,l),bC(l.yogaNode)},prepareUpdate:(o,l,f,h,E)=>{o.internal_static&&(E.isStaticDirty=!0);let t={},N=Object.keys(h);for(let F of N)if(h[F]!==f[F]){if(F==="style"&&typeof h.style=="object"&&typeof f.style=="object"){let x=h.style,j=f.style,q=Object.keys(x);for(let V of q){if(V==="borderStyle"||V==="borderColor"){if(typeof t.style!="object"){let re={};t.style=re}t.style.borderStyle=x.borderStyle,t.style.borderColor=x.borderColor}if(x[V]!==j[V]){if(typeof t.style!="object"){let re={};t.style=re}t.style[V]=x[V]}}continue}t[F]=h[F]}return t},commitUpdate:(o,l)=>{for(let[f,h]of Object.entries(l))f!=="children"&&(f==="style"?ps.setStyle(o,h):f==="internal_transform"?o.internal_transform=h:f==="internal_static"?o.internal_static=!0:ps.setAttribute(o,f,h))},commitTextUpdate:(o,l,f)=>{ps.setTextNodeValue(o,f)},removeChild:(o,l)=>{ps.removeChildNode(o,l),bC(l.yogaNode)}})});var zC=nt((sq,jC)=>{"use strict";jC.exports=(o,l=1,f)=>{if(f={indent:" ",includeEmptyLines:!1,...f},typeof o!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof o}\``);if(typeof l!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof l}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(l===0)return o;let h=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return o.replace(h,f.indent.repeat(l))}});var HC=nt(ag=>{"use strict";var Tb=ag&&ag.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ag,"__esModule",{value:!0});var r4=Tb(eh());ag.default=o=>o.getComputedWidth()-o.getComputedPadding(r4.default.EDGE_LEFT)-o.getComputedPadding(r4.default.EDGE_RIGHT)-o.getComputedBorder(r4.default.EDGE_LEFT)-o.getComputedBorder(r4.default.EDGE_RIGHT)});var qC=nt((fq,Cb)=>{Cb.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var VC=nt((cq,c3)=>{"use strict";var WC=qC();c3.exports=WC;c3.exports.default=WC});var YC=nt((dq,GC)=>{"use strict";GC.exports=(o,l=process.argv)=>{let f=o.startsWith("-")?"":o.length===1?"-":"--",h=l.indexOf(f+o),E=l.indexOf("--");return h!==-1&&(E===-1||h{"use strict";var xb=hi("os"),KC=hi("tty"),df=YC(),{env:Xo}=process,h2;df("no-color")||df("no-colors")||df("color=false")||df("color=never")?h2=0:(df("color")||df("colors")||df("color=true")||df("color=always"))&&(h2=1);"FORCE_COLOR"in Xo&&(Xo.FORCE_COLOR==="true"?h2=1:Xo.FORCE_COLOR==="false"?h2=0:h2=Xo.FORCE_COLOR.length===0?1:Math.min(parseInt(Xo.FORCE_COLOR,10),3));function d3(o){return o===0?!1:{level:o,hasBasic:!0,has256:o>=2,has16m:o>=3}}function p3(o,l){if(h2===0)return 0;if(df("color=16m")||df("color=full")||df("color=truecolor"))return 3;if(df("color=256"))return 2;if(o&&!l&&h2===void 0)return 0;let f=h2||0;if(Xo.TERM==="dumb")return f;if(process.platform==="win32"){let h=xb.release().split(".");return Number(h[0])>=10&&Number(h[2])>=10586?Number(h[2])>=14931?3:2:1}if("CI"in Xo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(h=>h in Xo)||Xo.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in Xo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Xo.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Xo)return 1;if(Xo.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Xo){let h=parseInt((Xo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Xo.TERM_PROGRAM){case"iTerm.app":return h>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Xo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Xo.TERM)||"COLORTERM"in Xo?1:f}function Rb(o){let l=p3(o,o&&o.isTTY);return d3(l)}XC.exports={supportsColor:Rb,stdout:d3(p3(!0,KC.isatty(1))),stderr:d3(p3(!0,KC.isatty(2)))}});var ZC=nt((hq,JC)=>{"use strict";var Ab=(o,l,f)=>{let h=o.indexOf(l);if(h===-1)return o;let E=l.length,t=0,N="";do N+=o.substr(t,h-t)+l+f,t=h+E,h=o.indexOf(l,t);while(h!==-1);return N+=o.substr(t),N},Ob=(o,l,f,h)=>{let E=0,t="";do{let N=o[h-1]==="\r";t+=o.substr(E,(N?h-1:h)-E)+l+(N?`\r `:` -`)+a,_=p+1,p=i.indexOf(` -`,_)}while(p!==-1);return t+=i.substr(_),t};XC.exports={stringReplaceAll:Fb,stringEncaseCRLFWithFirstIndex:Pb}});var t6=tt((Eq,JC)=>{"use strict";var Ib=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,ZC=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,bb=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Bb=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Ub=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function $C(i){let o=i[0]==="u",a=i[1]==="{";return o&&!a&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):o&&a?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Ub.get(i)||i}function jb(i,o){let a=[],p=o.trim().split(/\s*,\s*/g),_;for(let t of p){let k=Number(t);if(!Number.isNaN(k))a.push(k);else if(_=t.match(bb))a.push(_[2].replace(Bb,(L,O,C)=>O?$C(O):C));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return a}function zb(i){ZC.lastIndex=0;let o=[],a;for(;(a=ZC.exec(i))!==null;){let p=a[1];if(a[2]){let _=jb(p,a[2]);o.push([p].concat(_))}else o.push([p])}return o}function e6(i,o){let a={};for(let _ of o)for(let t of _.styles)a[t[0]]=_.inverse?null:t.slice(1);let p=i;for(let[_,t]of Object.entries(a))if(!!Array.isArray(t)){if(!(_ in p))throw new Error(`Unknown Chalk style: ${_}`);p=t.length>0?p[_](...t):p[_]}return p}JC.exports=(i,o)=>{let a=[],p=[],_=[];if(o.replace(Ib,(t,k,L,O,C,U)=>{if(k)_.push($C(k));else if(O){let H=_.join("");_=[],p.push(a.length===0?H:e6(i,a)(H)),a.push({inverse:L,styles:zb(O)})}else if(C){if(a.length===0)throw new Error("Found extraneous } in Chalk template literal");p.push(e6(i,a)(_.join(""))),_=[],a.pop()}else _.push(U)}),p.push(_.join("")),a.length>0){let t=`Chalk template literal is missing ${a.length} closing bracket${a.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return p.join("")}});var i4=tt((Dq,n6)=>{"use strict";var lg=H_(),{stdout:u3,stderr:o3}=KC(),{stringReplaceAll:Hb,stringEncaseCRLFWithFirstIndex:qb}=QC(),{isArray:e4}=Array,r6=["ansi","ansi","ansi256","ansi16m"],Qv=Object.create(null),Wb=(i,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let a=u3?u3.level:0;i.level=o.level===void 0?a:o.level},i6=class{constructor(o){return u6(o)}},u6=i=>{let o={};return Wb(o,i),o.template=(...a)=>o6(o.template,...a),Object.setPrototypeOf(o,t4.prototype),Object.setPrototypeOf(o.template,o),o.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},o.template.Instance=i6,o.template};function t4(i){return u6(i)}for(let[i,o]of Object.entries(lg))Qv[i]={get(){let a=n4(this,l3(o.open,o.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:a}),a}};Qv.visible={get(){let i=n4(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var l6=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of l6)Qv[i]={get(){let{level:o}=this;return function(...a){let p=l3(lg.color[r6[o]][i](...a),lg.color.close,this._styler);return n4(this,p,this._isEmpty)}}};for(let i of l6){let o="bg"+i[0].toUpperCase()+i.slice(1);Qv[o]={get(){let{level:a}=this;return function(...p){let _=l3(lg.bgColor[r6[a]][i](...p),lg.bgColor.close,this._styler);return n4(this,_,this._isEmpty)}}}}var Vb=Object.defineProperties(()=>{},Zr(Ht({},Qv),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),l3=(i,o,a)=>{let p,_;return a===void 0?(p=i,_=o):(p=a.openAll+i,_=o+a.closeAll),{open:i,close:o,openAll:p,closeAll:_,parent:a}},n4=(i,o,a)=>{let p=(..._)=>e4(_[0])&&e4(_[0].raw)?s6(p,o6(p,..._)):s6(p,_.length===1?""+_[0]:_.join(" "));return Object.setPrototypeOf(p,Vb),p._generator=i,p._styler=o,p._isEmpty=a,p},s6=(i,o)=>{if(i.level<=0||!o)return i._isEmpty?"":o;let a=i._styler;if(a===void 0)return o;let{openAll:p,closeAll:_}=a;if(o.indexOf("")!==-1)for(;a!==void 0;)o=Hb(o,a.close,a.open),a=a.parent;let t=o.indexOf(` -`);return t!==-1&&(o=qb(o,_,p,t)),p+o+_},s3,o6=(i,...o)=>{let[a]=o;if(!e4(a)||!e4(a.raw))return o.join(" ");let p=o.slice(1),_=[a.raw[0]];for(let t=1;t{"use strict";var Gb=sg&&sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sg,"__esModule",{value:!0});var ag=Gb(i4()),Yb=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Kb=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,u4=(i,o)=>o==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);sg.default=(i,o,a)=>{if(!o)return i;if(o in ag.default){let _=u4(o,a);return ag.default[_](i)}if(o.startsWith("#")){let _=u4("hex",a);return ag.default[_](o)(i)}if(o.startsWith("ansi")){let _=Kb.exec(o);if(!_)return i;let t=u4(_[1],a),k=Number(_[2]);return ag.default[t](k)(i)}if(o.startsWith("rgb")||o.startsWith("hsl")||o.startsWith("hsv")||o.startsWith("hwb")){let _=Yb.exec(o);if(!_)return i;let t=u4(_[1],a),k=Number(_[2]),L=Number(_[3]),O=Number(_[4]);return ag.default[t](k,L,O)(i)}return i}});var f6=tt(fg=>{"use strict";var a6=fg&&fg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(fg,"__esModule",{value:!0});var Xb=a6(qC()),f3=a6(a3());fg.default=(i,o,a,p)=>{if(typeof a.style.borderStyle=="string"){let _=a.yogaNode.getComputedWidth(),t=a.yogaNode.getComputedHeight(),k=a.style.borderColor,L=Xb.default[a.style.borderStyle],O=f3.default(L.topLeft+L.horizontal.repeat(_-2)+L.topRight,k,"foreground"),C=(f3.default(L.vertical,k,"foreground")+` -`).repeat(t-2),U=f3.default(L.bottomLeft+L.horizontal.repeat(_-2)+L.bottomRight,k,"foreground");p.write(i,o,O,{transformers:[]}),p.write(i,o+1,C,{transformers:[]}),p.write(i+_-1,o+1,C,{transformers:[]}),p.write(i,o+t-1,U,{transformers:[]})}}});var d6=tt(cg=>{"use strict";var rh=cg&&cg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(cg,"__esModule",{value:!0});var Qb=rh($p()),Jb=rh(CD()),Zb=rh(BC()),$b=rh(FD()),eB=rh(UC()),tB=rh(ID()),nB=rh(f6()),rB=(i,o)=>{var a;let p=(a=i.childNodes[0])===null||a===void 0?void 0:a.yogaNode;if(p){let _=p.getComputedLeft(),t=p.getComputedTop();o=` -`.repeat(t)+Zb.default(o,_)}return o},c6=(i,o,a)=>{var p;let{offsetX:_=0,offsetY:t=0,transformers:k=[],skipStaticElements:L}=a;if(L&&i.internal_static)return;let{yogaNode:O}=i;if(O){if(O.getDisplay()===Qb.default.DISPLAY_NONE)return;let C=_+O.getComputedLeft(),U=t+O.getComputedTop(),H=k;if(typeof i.internal_transform=="function"&&(H=[i.internal_transform,...k]),i.nodeName==="ink-text"){let W=tB.default(i);if(W.length>0){let ne=Jb.default(W),m=eB.default(O);if(ne>m){let he=(p=i.style.textWrap)!==null&&p!==void 0?p:"wrap";W=$b.default(W,m,he)}W=rB(i,W),o.write(C,U,W,{transformers:H})}return}if(i.nodeName==="ink-box"&&nB.default(C,U,i,o),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let W of i.childNodes)c6(W,o,{offsetX:C,offsetY:U,transformers:H,skipStaticElements:L})}};cg.default=c6});var h6=tt((Cq,p6)=>{"use strict";p6.exports=i=>{i=Object.assign({onlyFirst:!1},i);let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i.onlyFirst?void 0:"g")}});var m6=tt((xq,c3)=>{"use strict";var iB=h6(),v6=i=>typeof i=="string"?i.replace(iB(),""):i;c3.exports=v6;c3.exports.default=v6});var _6=tt((Rq,y6)=>{"use strict";var g6="[\uD800-\uDBFF][\uDC00-\uDFFF]";y6.exports=i=>i&&i.exact?new RegExp(`^${g6}$`):new RegExp(g6,"g")});var D6=tt((Aq,d3)=>{"use strict";var uB=m6(),oB=_6(),E6=i=>uB(i).replace(oB()," ").length;d3.exports=E6;d3.exports.default=E6});var C6=tt(dg=>{"use strict";var w6=dg&&dg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(dg,"__esModule",{value:!0});var S6=w6(ND()),lB=w6(D6()),T6=class{constructor(o){this.writes=[];let{width:a,height:p}=o;this.width=a,this.height=p}write(o,a,p,_){let{transformers:t}=_;!p||this.writes.push({x:o,y:a,text:p,transformers:t})}get(){let o=[];for(let p=0;pp.trimRight()).join(` -`),height:o.length}}};dg.default=T6});var A6=tt(pg=>{"use strict";var p3=pg&&pg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(pg,"__esModule",{value:!0});var sB=p3($p()),x6=p3(d6()),R6=p3(C6());pg.default=(i,o)=>{var a;if(i.yogaNode.setWidth(o),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,sB.default.DIRECTION_LTR);let p=new R6.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});x6.default(i,p,{skipStaticElements:!0});let _;((a=i.staticNode)===null||a===void 0?void 0:a.yogaNode)&&(_=new R6.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),x6.default(i.staticNode,_,{skipStaticElements:!1}));let{output:t,height:k}=p.get();return{output:t,outputHeight:k,staticOutput:_?`${_.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var N6=tt((kq,O6)=>{"use strict";var M6=require("stream"),k6=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],h3={},aB=i=>{let o=new M6.PassThrough,a=new M6.PassThrough;o.write=_=>i("stdout",_),a.write=_=>i("stderr",_);let p=new console.Console(o,a);for(let _ of k6)h3[_]=console[_],console[_]=p[_];return()=>{for(let _ of k6)console[_]=h3[_];h3={}}};O6.exports=aB});var m3=tt(v3=>{"use strict";Object.defineProperty(v3,"__esModule",{value:!0});v3.default=new WeakMap});var g3=tt(y3=>{"use strict";Object.defineProperty(y3,"__esModule",{value:!0});var fB=Mi(),L6=fB.createContext({exit:()=>{}});L6.displayName="InternalAppContext";y3.default=L6});var E3=tt(_3=>{"use strict";Object.defineProperty(_3,"__esModule",{value:!0});var cB=Mi(),F6=cB.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});F6.displayName="InternalStdinContext";_3.default=F6});var w3=tt(D3=>{"use strict";Object.defineProperty(D3,"__esModule",{value:!0});var dB=Mi(),P6=dB.createContext({stdout:void 0,write:()=>{}});P6.displayName="InternalStdoutContext";D3.default=P6});var T3=tt(S3=>{"use strict";Object.defineProperty(S3,"__esModule",{value:!0});var pB=Mi(),I6=pB.createContext({stderr:void 0,write:()=>{}});I6.displayName="InternalStderrContext";S3.default=I6});var o4=tt(C3=>{"use strict";Object.defineProperty(C3,"__esModule",{value:!0});var hB=Mi(),b6=hB.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});b6.displayName="InternalFocusContext";C3.default=b6});var U6=tt((Bq,B6)=>{"use strict";var vB=/[|\\{}()[\]^$+*?.-]/g;B6.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(vB,"\\$&")}});var q6=tt((Uq,j6)=>{"use strict";var mB=U6(),z6=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));z6.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var l4=class{constructor(o){o=Ht({ignoredPackages:[]},o),"internals"in o||(o.internals=l4.nodeInternals()),"cwd"in o||(o.cwd=process.cwd()),this._cwd=o.cwd.replace(/\\/g,"/"),this._internals=[].concat(o.internals,yB(o.ignoredPackages)),this._wrapCallSite=o.wrapCallSite||!1}static nodeInternals(){return[...z6]}clean(o,a=0){a=" ".repeat(a),Array.isArray(o)||(o=o.split(` -`)),!/^\s*at /.test(o[0])&&/^\s*at /.test(o[1])&&(o=o.slice(1));let p=!1,_=null,t=[];return o.forEach(k=>{if(k=k.replace(/\\/g,"/"),this._internals.some(O=>O.test(k)))return;let L=/^\s*at /.test(k);p?k=k.trimEnd().replace(/^(\s+)at /,"$1"):(k=k.trim(),L&&(k=k.slice(3))),k=k.replace(`${this._cwd}/`,""),k&&(L?(_&&(t.push(_),_=null),t.push(k)):(p=!0,_=k))}),t.map(k=>`${a}${k} -`).join("")}captureString(o,a=this.captureString){typeof o=="function"&&(a=o,o=Infinity);let{stackTraceLimit:p}=Error;o&&(Error.stackTraceLimit=o);let _={};Error.captureStackTrace(_,a);let{stack:t}=_;return Error.stackTraceLimit=p,this.clean(t)}capture(o,a=this.capture){typeof o=="function"&&(a=o,o=Infinity);let{prepareStackTrace:p,stackTraceLimit:_}=Error;Error.prepareStackTrace=(L,O)=>this._wrapCallSite?O.map(this._wrapCallSite):O,o&&(Error.stackTraceLimit=o);let t={};Error.captureStackTrace(t,a);let{stack:k}=t;return Object.assign(Error,{prepareStackTrace:p,stackTraceLimit:_}),k}at(o=this.at){let[a]=this.capture(1,o);if(!a)return{};let p={line:a.getLineNumber(),column:a.getColumnNumber()};H6(p,a.getFileName(),this._cwd),a.isConstructor()&&(p.constructor=!0),a.isEval()&&(p.evalOrigin=a.getEvalOrigin()),a.isNative()&&(p.native=!0);let _;try{_=a.getTypeName()}catch(L){}_&&_!=="Object"&&_!=="[object Object]"&&(p.type=_);let t=a.getFunctionName();t&&(p.function=t);let k=a.getMethodName();return k&&t!==k&&(p.method=k),p}parseLine(o){let a=o&&o.match(gB);if(!a)return null;let p=a[1]==="new",_=a[2],t=a[3],k=a[4],L=Number(a[5]),O=Number(a[6]),C=a[7],U=a[8],H=a[9],W=a[10]==="native",ne=a[11]===")",m,he={};if(U&&(he.line=Number(U)),H&&(he.column=Number(H)),ne&&C){let Ee=0;for(let ve=C.length-1;ve>0;ve--)if(C.charAt(ve)===")")Ee++;else if(C.charAt(ve)==="("&&C.charAt(ve-1)===" "&&(Ee--,Ee===-1&&C.charAt(ve-1)===" ")){let se=C.slice(0,ve-1);C=C.slice(ve+1),_+=` (${se}`;break}}if(_){let Ee=_.match(_B);Ee&&(_=Ee[1],m=Ee[2])}return H6(he,C,this._cwd),p&&(he.constructor=!0),t&&(he.evalOrigin=t,he.evalLine=L,he.evalColumn=O,he.evalFile=k&&k.replace(/\\/g,"/")),W&&(he.native=!0),_&&(he.function=_),m&&_!==m&&(he.method=m),he}};function H6(i,o,a){o&&(o=o.replace(/\\/g,"/"),o.startsWith(`${a}/`)&&(o=o.slice(a.length+1)),i.file=o)}function yB(i){if(i.length===0)return[];let o=i.map(a=>mB(a));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${o.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var gB=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),_B=/^(.*?) \[as (.*?)\]$/;j6.exports=l4});var V6=tt((jq,W6)=>{"use strict";W6.exports=(i,o)=>i.replace(/^\t+/gm,a=>" ".repeat(a.length*(o||2)))});var Y6=tt((zq,G6)=>{"use strict";var EB=V6(),DB=(i,o)=>{let a=[],p=i-o,_=i+o;for(let t=p;t<=_;t++)a.push(t);return a};G6.exports=(i,o,a)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!o||o<1)throw new TypeError("Line number must start from `1`.");if(i=EB(i).split(/\r?\n/),!(o>i.length))return a=Ht({around:3},a),DB(o,a.around).filter(p=>i[p-1]!==void 0).map(p=>({line:p,value:i[p-1]}))}});var s4=tt(nc=>{"use strict";var wB=nc&&nc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),SB=nc&&nc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),TB=nc&&nc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!=="default"&&Object.hasOwnProperty.call(i,a)&&wB(o,i,a);return SB(o,i),o},CB=nc&&nc.__rest||function(i,o){var a={};for(var p in i)Object.prototype.hasOwnProperty.call(i,p)&&o.indexOf(p)<0&&(a[p]=i[p]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var _=0,p=Object.getOwnPropertySymbols(i);_{var{children:a}=i,p=CB(i,["children"]);let _=Object.assign(Object.assign({},p),{marginLeft:p.marginLeft||p.marginX||p.margin||0,marginRight:p.marginRight||p.marginX||p.margin||0,marginTop:p.marginTop||p.marginY||p.margin||0,marginBottom:p.marginBottom||p.marginY||p.margin||0,paddingLeft:p.paddingLeft||p.paddingX||p.padding||0,paddingRight:p.paddingRight||p.paddingX||p.padding||0,paddingTop:p.paddingTop||p.paddingY||p.padding||0,paddingBottom:p.paddingBottom||p.paddingY||p.padding||0});return K6.default.createElement("ink-box",{ref:o,style:_},a)});x3.displayName="Box";x3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};nc.default=x3});var O3=tt(hg=>{"use strict";var R3=hg&&hg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(hg,"__esModule",{value:!0});var xB=R3(Mi()),Jv=R3(i4()),X6=R3(a3()),A3=({color:i,backgroundColor:o,dimColor:a,bold:p,italic:_,underline:t,strikethrough:k,inverse:L,wrap:O,children:C})=>{if(C==null)return null;let U=H=>(a&&(H=Jv.default.dim(H)),i&&(H=X6.default(H,i,"foreground")),o&&(H=X6.default(H,o,"background")),p&&(H=Jv.default.bold(H)),_&&(H=Jv.default.italic(H)),t&&(H=Jv.default.underline(H)),k&&(H=Jv.default.strikethrough(H)),L&&(H=Jv.default.inverse(H)),H);return xB.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:O},internal_transform:U},C)};A3.displayName="Text";A3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};hg.default=A3});var $6=tt(rc=>{"use strict";var RB=rc&&rc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),AB=rc&&rc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),OB=rc&&rc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!=="default"&&Object.hasOwnProperty.call(i,a)&&RB(o,i,a);return AB(o,i),o},vg=rc&&rc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(rc,"__esModule",{value:!0});var Q6=OB(require("fs")),Xo=vg(Mi()),J6=vg(q6()),MB=vg(Y6()),Z1=vg(s4()),zc=vg(O3()),Z6=new J6.default({cwd:process.cwd(),internals:J6.default.nodeInternals()}),kB=({error:i})=>{let o=i.stack?i.stack.split(` -`).slice(1):void 0,a=o?Z6.parseLine(o[0]):void 0,p,_=0;if((a==null?void 0:a.file)&&(a==null?void 0:a.line)&&Q6.existsSync(a.file)){let t=Q6.readFileSync(a.file,"utf8");if(p=MB.default(t,a.line),p)for(let{line:k}of p)_=Math.max(_,String(k).length)}return Xo.default.createElement(Z1.default,{flexDirection:"column",padding:1},Xo.default.createElement(Z1.default,null,Xo.default.createElement(zc.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Xo.default.createElement(zc.default,null," ",i.message)),a&&Xo.default.createElement(Z1.default,{marginTop:1},Xo.default.createElement(zc.default,{dimColor:!0},a.file,":",a.line,":",a.column)),a&&p&&Xo.default.createElement(Z1.default,{marginTop:1,flexDirection:"column"},p.map(({line:t,value:k})=>Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(Z1.default,{width:_+1},Xo.default.createElement(zc.default,{dimColor:t!==a.line,backgroundColor:t===a.line?"red":void 0,color:t===a.line?"white":void 0},String(t).padStart(_," "),":")),Xo.default.createElement(zc.default,{key:t,backgroundColor:t===a.line?"red":void 0,color:t===a.line?"white":void 0}," "+k)))),i.stack&&Xo.default.createElement(Z1.default,{marginTop:1,flexDirection:"column"},i.stack.split(` -`).slice(1).map(t=>{let k=Z6.parseLine(t);return k?Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(zc.default,{dimColor:!0},"- "),Xo.default.createElement(zc.default,{dimColor:!0,bold:!0},k.function),Xo.default.createElement(zc.default,{dimColor:!0,color:"gray"}," ","(",k.file,":",k.line,":",k.column,")")):Xo.default.createElement(Z1.default,{key:t},Xo.default.createElement(zc.default,{dimColor:!0},"- "),Xo.default.createElement(zc.default,{dimColor:!0,bold:!0},t))})))};rc.default=kB});var tx=tt(ic=>{"use strict";var NB=ic&&ic.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),LB=ic&&ic.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),FB=ic&&ic.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!=="default"&&Object.hasOwnProperty.call(i,a)&&NB(o,i,a);return LB(o,i),o},ih=ic&&ic.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ic,"__esModule",{value:!0});var uh=FB(Mi()),ex=ih(nD()),PB=ih(g3()),IB=ih(E3()),bB=ih(w3()),BB=ih(T3()),UB=ih(o4()),jB=ih($6()),zB=" ",HB="",qB="",M3=class extends uh.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=o=>{let{stdin:a}=this.props;if(!this.isRawModeSupported())throw a===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +`)+f,E=h+1,h=o.indexOf(` +`,E)}while(h!==-1);return t+=o.substr(E),t};JC.exports={stringReplaceAll:Ab,stringEncaseCRLFWithFirstIndex:Ob}});var r6=nt((vq,n6)=>{"use strict";var Mb=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,$C=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,kb=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Nb=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Lb=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function t6(o){let l=o[0]==="u",f=o[1]==="{";return l&&!f&&o.length===5||o[0]==="x"&&o.length===3?String.fromCharCode(parseInt(o.slice(1),16)):l&&f?String.fromCodePoint(parseInt(o.slice(2,-1),16)):Lb.get(o)||o}function Fb(o,l){let f=[],h=l.trim().split(/\s*,\s*/g),E;for(let t of h){let N=Number(t);if(!Number.isNaN(N))f.push(N);else if(E=t.match(kb))f.push(E[2].replace(Nb,(F,k,x)=>k?t6(k):x));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${o}')`)}return f}function Pb(o){$C.lastIndex=0;let l=[],f;for(;(f=$C.exec(o))!==null;){let h=f[1];if(f[2]){let E=Fb(h,f[2]);l.push([h].concat(E))}else l.push([h])}return l}function e6(o,l){let f={};for(let E of l)for(let t of E.styles)f[t[0]]=E.inverse?null:t.slice(1);let h=o;for(let[E,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(E in h))throw new Error(`Unknown Chalk style: ${E}`);h=t.length>0?h[E](...t):h[E]}return h}n6.exports=(o,l)=>{let f=[],h=[],E=[];if(l.replace(Mb,(t,N,F,k,x,j)=>{if(N)E.push(t6(N));else if(k){let q=E.join("");E=[],h.push(f.length===0?q:e6(o,f)(q)),f.push({inverse:F,styles:Pb(k)})}else if(x){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");h.push(e6(o,f)(E.join(""))),E=[],f.pop()}else E.push(j)}),h.push(E.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return h.join("")}});var s4=nt((mq,a6)=>{"use strict";var fg=G_(),{stdout:v3,stderr:m3}=QC(),{stringReplaceAll:Ib,stringEncaseCRLFWithFirstIndex:bb}=ZC(),{isArray:i4}=Array,u6=["ansi","ansi","ansi256","ansi16m"],nm=Object.create(null),Bb=(o,l={})=>{if(l.level&&!(Number.isInteger(l.level)&&l.level>=0&&l.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=v3?v3.level:0;o.level=l.level===void 0?f:l.level},y3=class{constructor(l){return o6(l)}},o6=o=>{let l={};return Bb(l,o),l.template=(...f)=>s6(l.template,...f),Object.setPrototypeOf(l,u4.prototype),Object.setPrototypeOf(l.template,l),l.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},l.template.Instance=y3,l.template};function u4(o){return o6(o)}for(let[o,l]of Object.entries(fg))nm[o]={get(){let f=o4(this,g3(l.open,l.close,this._styler),this._isEmpty);return Object.defineProperty(this,o,{value:f}),f}};nm.visible={get(){let o=o4(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:o}),o}};var l6=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let o of l6)nm[o]={get(){let{level:l}=this;return function(...f){let h=g3(fg.color[u6[l]][o](...f),fg.color.close,this._styler);return o4(this,h,this._isEmpty)}}};for(let o of l6){let l="bg"+o[0].toUpperCase()+o.slice(1);nm[l]={get(){let{level:f}=this;return function(...h){let E=g3(fg.bgColor[u6[f]][o](...h),fg.bgColor.close,this._styler);return o4(this,E,this._isEmpty)}}}}var Ub=Object.defineProperties(()=>{},{...nm,level:{enumerable:!0,get(){return this._generator.level},set(o){this._generator.level=o}}}),g3=(o,l,f)=>{let h,E;return f===void 0?(h=o,E=l):(h=f.openAll+o,E=l+f.closeAll),{open:o,close:l,openAll:h,closeAll:E,parent:f}},o4=(o,l,f)=>{let h=(...E)=>i4(E[0])&&i4(E[0].raw)?i6(h,s6(h,...E)):i6(h,E.length===1?""+E[0]:E.join(" "));return Object.setPrototypeOf(h,Ub),h._generator=o,h._styler=l,h._isEmpty=f,h},i6=(o,l)=>{if(o.level<=0||!l)return o._isEmpty?"":l;let f=o._styler;if(f===void 0)return l;let{openAll:h,closeAll:E}=f;if(l.indexOf("\x1B")!==-1)for(;f!==void 0;)l=Ib(l,f.close,f.open),f=f.parent;let t=l.indexOf(` +`);return t!==-1&&(l=bb(l,E,h,t)),h+l+E},h3,s6=(o,...l)=>{let[f]=l;if(!i4(f)||!i4(f.raw))return l.join(" ");let h=l.slice(1),E=[f.raw[0]];for(let t=1;t{"use strict";var jb=dg&&dg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(dg,"__esModule",{value:!0});var cg=jb(s4()),zb=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Hb=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,a4=(o,l)=>l==="foreground"?o:"bg"+o[0].toUpperCase()+o.slice(1);dg.default=(o,l,f)=>{if(!l)return o;if(l in cg.default){let E=a4(l,f);return cg.default[E](o)}if(l.startsWith("#")){let E=a4("hex",f);return cg.default[E](l)(o)}if(l.startsWith("ansi")){let E=Hb.exec(l);if(!E)return o;let t=a4(E[1],f),N=Number(E[2]);return cg.default[t](N)(o)}if(l.startsWith("rgb")||l.startsWith("hsl")||l.startsWith("hsv")||l.startsWith("hwb")){let E=zb.exec(l);if(!E)return o;let t=a4(E[1],f),N=Number(E[2]),F=Number(E[3]),k=Number(E[4]);return cg.default[t](N,F,k)(o)}return o}});var c6=nt(pg=>{"use strict";var f6=pg&&pg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(pg,"__esModule",{value:!0});var qb=f6(VC()),E3=f6(_3());pg.default=(o,l,f,h)=>{if(typeof f.style.borderStyle=="string"){let E=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),N=f.style.borderColor,F=qb.default[f.style.borderStyle],k=E3.default(F.topLeft+F.horizontal.repeat(E-2)+F.topRight,N,"foreground"),x=(E3.default(F.vertical,N,"foreground")+` +`).repeat(t-2),j=E3.default(F.bottomLeft+F.horizontal.repeat(E-2)+F.bottomRight,N,"foreground");h.write(o,l,k,{transformers:[]}),h.write(o,l+1,x,{transformers:[]}),h.write(o+E-1,l+1,x,{transformers:[]}),h.write(o,l+t-1,j,{transformers:[]})}}});var p6=nt(hg=>{"use strict";var ih=hg&&hg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(hg,"__esModule",{value:!0});var Wb=ih(eh()),Vb=ih(xD()),Gb=ih(zC()),Yb=ih(PD()),Kb=ih(HC()),Xb=ih(bD()),Qb=ih(c6()),Jb=(o,l)=>{var f;let h=(f=o.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(h){let E=h.getComputedLeft(),t=h.getComputedTop();l=` +`.repeat(t)+Gb.default(l,E)}return l},d6=(o,l,f)=>{var h;let{offsetX:E=0,offsetY:t=0,transformers:N=[],skipStaticElements:F}=f;if(F&&o.internal_static)return;let{yogaNode:k}=o;if(k){if(k.getDisplay()===Wb.default.DISPLAY_NONE)return;let x=E+k.getComputedLeft(),j=t+k.getComputedTop(),q=N;if(typeof o.internal_transform=="function"&&(q=[o.internal_transform,...N]),o.nodeName==="ink-text"){let V=Xb.default(o);if(V.length>0){let re=Vb.default(V),y=Kb.default(k);if(re>y){let me=(h=o.style.textWrap)!==null&&h!==void 0?h:"wrap";V=Yb.default(V,y,me)}V=Jb(o,V),l.write(x,j,V,{transformers:q})}return}if(o.nodeName==="ink-box"&&Qb.default(x,j,o,l),o.nodeName==="ink-root"||o.nodeName==="ink-box")for(let V of o.childNodes)d6(V,l,{offsetX:x,offsetY:j,transformers:q,skipStaticElements:F})}};hg.default=d6});var v6=nt((Eq,h6)=>{"use strict";h6.exports=o=>{o=Object.assign({onlyFirst:!1},o);let l=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(l,o.onlyFirst?void 0:"g")}});var y6=nt((Dq,D3)=>{"use strict";var Zb=v6(),m6=o=>typeof o=="string"?o.replace(Zb(),""):o;D3.exports=m6;D3.exports.default=m6});var E6=nt((wq,_6)=>{"use strict";var g6="[\uD800-\uDBFF][\uDC00-\uDFFF]";_6.exports=o=>o&&o.exact?new RegExp(`^${g6}$`):new RegExp(g6,"g")});var w6=nt((Sq,w3)=>{"use strict";var $b=y6(),eB=E6(),D6=o=>$b(o).replace(eB()," ").length;w3.exports=D6;w3.exports.default=D6});var C6=nt(vg=>{"use strict";var T6=vg&&vg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(vg,"__esModule",{value:!0});var S6=T6(LD()),tB=T6(w6()),S3=class{constructor(l){this.writes=[];let{width:f,height:h}=l;this.width=f,this.height=h}write(l,f,h,E){let{transformers:t}=E;!h||this.writes.push({x:l,y:f,text:h,transformers:t})}get(){let l=[];for(let h=0;hh.trimRight()).join(` +`),height:l.length}}};vg.default=S3});var A6=nt(mg=>{"use strict";var T3=mg&&mg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(mg,"__esModule",{value:!0});var nB=T3(eh()),x6=T3(p6()),R6=T3(C6());mg.default=(o,l)=>{var f;if(o.yogaNode.setWidth(l),o.yogaNode){o.yogaNode.calculateLayout(void 0,void 0,nB.default.DIRECTION_LTR);let h=new R6.default({width:o.yogaNode.getComputedWidth(),height:o.yogaNode.getComputedHeight()});x6.default(o,h,{skipStaticElements:!0});let E;!((f=o.staticNode)===null||f===void 0)&&f.yogaNode&&(E=new R6.default({width:o.staticNode.yogaNode.getComputedWidth(),height:o.staticNode.yogaNode.getComputedHeight()}),x6.default(o.staticNode,E,{skipStaticElements:!1}));let{output:t,height:N}=h.get();return{output:t,outputHeight:N,staticOutput:E?`${E.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var N6=nt((xq,k6)=>{"use strict";var O6=hi("stream"),M6=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],C3={},rB=o=>{let l=new O6.PassThrough,f=new O6.PassThrough;l.write=E=>o("stdout",E),f.write=E=>o("stderr",E);let h=new console.Console(l,f);for(let E of M6)C3[E]=console[E],console[E]=h[E];return()=>{for(let E of M6)console[E]=C3[E];C3={}}};k6.exports=rB});var R3=nt(x3=>{"use strict";Object.defineProperty(x3,"__esModule",{value:!0});x3.default=new WeakMap});var O3=nt(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});var iB=Mi(),L6=iB.createContext({exit:()=>{}});L6.displayName="InternalAppContext";A3.default=L6});var k3=nt(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});var uB=Mi(),F6=uB.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});F6.displayName="InternalStdinContext";M3.default=F6});var L3=nt(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var oB=Mi(),P6=oB.createContext({stdout:void 0,write:()=>{}});P6.displayName="InternalStdoutContext";N3.default=P6});var P3=nt(F3=>{"use strict";Object.defineProperty(F3,"__esModule",{value:!0});var lB=Mi(),I6=lB.createContext({stderr:void 0,write:()=>{}});I6.displayName="InternalStderrContext";F3.default=I6});var f4=nt(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var sB=Mi(),b6=sB.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});b6.displayName="InternalFocusContext";I3.default=b6});var U6=nt((Lq,B6)=>{"use strict";var aB=/[|\\{}()[\]^$+*?.-]/g;B6.exports=o=>{if(typeof o!="string")throw new TypeError("Expected a string");return o.replace(aB,"\\$&")}});var q6=nt((Fq,H6)=>{"use strict";var fB=U6(),z6=[].concat(hi("module").builtinModules,"bootstrap_node","node").map(o=>new RegExp(`(?:\\(${o}\\.js:\\d+:\\d+\\)$|^\\s*at ${o}\\.js:\\d+:\\d+$)`));z6.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var yg=class{constructor(l){l={ignoredPackages:[],...l},"internals"in l||(l.internals=yg.nodeInternals()),"cwd"in l||(l.cwd=process.cwd()),this._cwd=l.cwd.replace(/\\/g,"/"),this._internals=[].concat(l.internals,cB(l.ignoredPackages)),this._wrapCallSite=l.wrapCallSite||!1}static nodeInternals(){return[...z6]}clean(l,f=0){f=" ".repeat(f),Array.isArray(l)||(l=l.split(` +`)),!/^\s*at /.test(l[0])&&/^\s*at /.test(l[1])&&(l=l.slice(1));let h=!1,E=null,t=[];return l.forEach(N=>{if(N=N.replace(/\\/g,"/"),this._internals.some(k=>k.test(N)))return;let F=/^\s*at /.test(N);h?N=N.trimEnd().replace(/^(\s+)at /,"$1"):(N=N.trim(),F&&(N=N.slice(3))),N=N.replace(`${this._cwd}/`,""),N&&(F?(E&&(t.push(E),E=null),t.push(N)):(h=!0,E=N))}),t.map(N=>`${f}${N} +`).join("")}captureString(l,f=this.captureString){typeof l=="function"&&(f=l,l=1/0);let{stackTraceLimit:h}=Error;l&&(Error.stackTraceLimit=l);let E={};Error.captureStackTrace(E,f);let{stack:t}=E;return Error.stackTraceLimit=h,this.clean(t)}capture(l,f=this.capture){typeof l=="function"&&(f=l,l=1/0);let{prepareStackTrace:h,stackTraceLimit:E}=Error;Error.prepareStackTrace=(F,k)=>this._wrapCallSite?k.map(this._wrapCallSite):k,l&&(Error.stackTraceLimit=l);let t={};Error.captureStackTrace(t,f);let{stack:N}=t;return Object.assign(Error,{prepareStackTrace:h,stackTraceLimit:E}),N}at(l=this.at){let[f]=this.capture(1,l);if(!f)return{};let h={line:f.getLineNumber(),column:f.getColumnNumber()};j6(h,f.getFileName(),this._cwd),f.isConstructor()&&(h.constructor=!0),f.isEval()&&(h.evalOrigin=f.getEvalOrigin()),f.isNative()&&(h.native=!0);let E;try{E=f.getTypeName()}catch{}E&&E!=="Object"&&E!=="[object Object]"&&(h.type=E);let t=f.getFunctionName();t&&(h.function=t);let N=f.getMethodName();return N&&t!==N&&(h.method=N),h}parseLine(l){let f=l&&l.match(dB);if(!f)return null;let h=f[1]==="new",E=f[2],t=f[3],N=f[4],F=Number(f[5]),k=Number(f[6]),x=f[7],j=f[8],q=f[9],V=f[10]==="native",re=f[11]===")",y,me={};if(j&&(me.line=Number(j)),q&&(me.column=Number(q)),re&&x){let De=0;for(let ge=x.length-1;ge>0;ge--)if(x.charAt(ge)===")")De++;else if(x.charAt(ge)==="("&&x.charAt(ge-1)===" "&&(De--,De===-1&&x.charAt(ge-1)===" ")){let ae=x.slice(0,ge-1);x=x.slice(ge+1),E+=` (${ae}`;break}}if(E){let De=E.match(pB);De&&(E=De[1],y=De[2])}return j6(me,x,this._cwd),h&&(me.constructor=!0),t&&(me.evalOrigin=t,me.evalLine=F,me.evalColumn=k,me.evalFile=N&&N.replace(/\\/g,"/")),V&&(me.native=!0),E&&(me.function=E),y&&E!==y&&(me.method=y),me}};function j6(o,l,f){l&&(l=l.replace(/\\/g,"/"),l.startsWith(`${f}/`)&&(l=l.slice(f.length+1)),o.file=l)}function cB(o){if(o.length===0)return[];let l=o.map(f=>fB(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${l.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var dB=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),pB=/^(.*?) \[as (.*?)\]$/;H6.exports=yg});var V6=nt((Pq,W6)=>{"use strict";W6.exports=(o,l)=>o.replace(/^\t+/gm,f=>" ".repeat(f.length*(l||2)))});var Y6=nt((Iq,G6)=>{"use strict";var hB=V6(),vB=(o,l)=>{let f=[],h=o-l,E=o+l;for(let t=h;t<=E;t++)f.push(t);return f};G6.exports=(o,l,f)=>{if(typeof o!="string")throw new TypeError("Source code is missing.");if(!l||l<1)throw new TypeError("Line number must start from `1`.");if(o=hB(o).split(/\r?\n/),!(l>o.length))return f={around:3,...f},vB(l,f.around).filter(h=>o[h-1]!==void 0).map(h=>({line:h,value:o[h-1]}))}});var c4=nt(nc=>{"use strict";var mB=nc&&nc.__createBinding||(Object.create?function(o,l,f,h){h===void 0&&(h=f),Object.defineProperty(o,h,{enumerable:!0,get:function(){return l[f]}})}:function(o,l,f,h){h===void 0&&(h=f),o[h]=l[f]}),yB=nc&&nc.__setModuleDefault||(Object.create?function(o,l){Object.defineProperty(o,"default",{enumerable:!0,value:l})}:function(o,l){o.default=l}),gB=nc&&nc.__importStar||function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var f in o)f!=="default"&&Object.hasOwnProperty.call(o,f)&&mB(l,o,f);return yB(l,o),l},_B=nc&&nc.__rest||function(o,l){var f={};for(var h in o)Object.prototype.hasOwnProperty.call(o,h)&&l.indexOf(h)<0&&(f[h]=o[h]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var E=0,h=Object.getOwnPropertySymbols(o);E{var{children:f}=o,h=_B(o,["children"]);let E=Object.assign(Object.assign({},h),{marginLeft:h.marginLeft||h.marginX||h.margin||0,marginRight:h.marginRight||h.marginX||h.margin||0,marginTop:h.marginTop||h.marginY||h.margin||0,marginBottom:h.marginBottom||h.marginY||h.margin||0,paddingLeft:h.paddingLeft||h.paddingX||h.padding||0,paddingRight:h.paddingRight||h.paddingX||h.padding||0,paddingTop:h.paddingTop||h.paddingY||h.padding||0,paddingBottom:h.paddingBottom||h.paddingY||h.padding||0});return K6.default.createElement("ink-box",{ref:l,style:E},f)});b3.displayName="Box";b3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};nc.default=b3});var j3=nt(gg=>{"use strict";var B3=gg&&gg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(gg,"__esModule",{value:!0});var EB=B3(Mi()),rm=B3(s4()),X6=B3(_3()),U3=({color:o,backgroundColor:l,dimColor:f,bold:h,italic:E,underline:t,strikethrough:N,inverse:F,wrap:k,children:x})=>{if(x==null)return null;let j=q=>(f&&(q=rm.default.dim(q)),o&&(q=X6.default(q,o,"foreground")),l&&(q=X6.default(q,l,"background")),h&&(q=rm.default.bold(q)),E&&(q=rm.default.italic(q)),t&&(q=rm.default.underline(q)),N&&(q=rm.default.strikethrough(q)),F&&(q=rm.default.inverse(q)),q);return EB.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:k},internal_transform:j},x)};U3.displayName="Text";U3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};gg.default=U3});var $6=nt(rc=>{"use strict";var DB=rc&&rc.__createBinding||(Object.create?function(o,l,f,h){h===void 0&&(h=f),Object.defineProperty(o,h,{enumerable:!0,get:function(){return l[f]}})}:function(o,l,f,h){h===void 0&&(h=f),o[h]=l[f]}),wB=rc&&rc.__setModuleDefault||(Object.create?function(o,l){Object.defineProperty(o,"default",{enumerable:!0,value:l})}:function(o,l){o.default=l}),SB=rc&&rc.__importStar||function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var f in o)f!=="default"&&Object.hasOwnProperty.call(o,f)&&DB(l,o,f);return wB(l,o),l},_g=rc&&rc.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(rc,"__esModule",{value:!0});var Q6=SB(hi("fs")),Qo=_g(Mi()),J6=_g(q6()),TB=_g(Y6()),Z1=_g(c4()),Hc=_g(j3()),Z6=new J6.default({cwd:process.cwd(),internals:J6.default.nodeInternals()}),CB=({error:o})=>{let l=o.stack?o.stack.split(` +`).slice(1):void 0,f=l?Z6.parseLine(l[0]):void 0,h,E=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&Q6.existsSync(f.file)){let t=Q6.readFileSync(f.file,"utf8");if(h=TB.default(t,f.line),h)for(let{line:N}of h)E=Math.max(E,String(N).length)}return Qo.default.createElement(Z1.default,{flexDirection:"column",padding:1},Qo.default.createElement(Z1.default,null,Qo.default.createElement(Hc.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Qo.default.createElement(Hc.default,null," ",o.message)),f&&Qo.default.createElement(Z1.default,{marginTop:1},Qo.default.createElement(Hc.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&h&&Qo.default.createElement(Z1.default,{marginTop:1,flexDirection:"column"},h.map(({line:t,value:N})=>Qo.default.createElement(Z1.default,{key:t},Qo.default.createElement(Z1.default,{width:E+1},Qo.default.createElement(Hc.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(E," "),":")),Qo.default.createElement(Hc.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+N)))),o.stack&&Qo.default.createElement(Z1.default,{marginTop:1,flexDirection:"column"},o.stack.split(` +`).slice(1).map(t=>{let N=Z6.parseLine(t);return N?Qo.default.createElement(Z1.default,{key:t},Qo.default.createElement(Hc.default,{dimColor:!0},"- "),Qo.default.createElement(Hc.default,{dimColor:!0,bold:!0},N.function),Qo.default.createElement(Hc.default,{dimColor:!0,color:"gray"}," ","(",N.file,":",N.line,":",N.column,")")):Qo.default.createElement(Z1.default,{key:t},Qo.default.createElement(Hc.default,{dimColor:!0},"- "),Qo.default.createElement(Hc.default,{dimColor:!0,bold:!0},t))})))};rc.default=CB});var tx=nt(ic=>{"use strict";var xB=ic&&ic.__createBinding||(Object.create?function(o,l,f,h){h===void 0&&(h=f),Object.defineProperty(o,h,{enumerable:!0,get:function(){return l[f]}})}:function(o,l,f,h){h===void 0&&(h=f),o[h]=l[f]}),RB=ic&&ic.__setModuleDefault||(Object.create?function(o,l){Object.defineProperty(o,"default",{enumerable:!0,value:l})}:function(o,l){o.default=l}),AB=ic&&ic.__importStar||function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var f in o)f!=="default"&&Object.hasOwnProperty.call(o,f)&&xB(l,o,f);return RB(l,o),l},oh=ic&&ic.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(ic,"__esModule",{value:!0});var uh=AB(Mi()),ex=oh(rD()),OB=oh(O3()),MB=oh(k3()),kB=oh(L3()),NB=oh(P3()),LB=oh(f4()),FB=oh($6()),PB=" ",IB="\x1B[Z",bB="\x1B",d4=class extends uh.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=l=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(a.setEncoding("utf8"),o){this.rawModeEnabledCount===0&&(a.addListener("data",this.handleInput),a.resume(),a.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(a.setRawMode(!1),a.removeListener("data",this.handleInput),a.pause())},this.handleInput=o=>{o===""&&this.props.exitOnCtrlC&&this.handleExit(),o===qB&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(o===zB&&this.focusNext(),o===HB&&this.focusPrevious())},this.handleExit=o=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(o)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(o=>{let a=o.focusables[0].id;return{activeFocusId:this.findNextFocusable(o)||a}})},this.focusPrevious=()=>{this.setState(o=>{let a=o.focusables[o.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(o)||a}})},this.addFocusable=(o,{autoFocus:a})=>{this.setState(p=>{let _=p.activeFocusId;return!_&&a&&(_=o),{activeFocusId:_,focusables:[...p.focusables,{id:o,isActive:!0}]}})},this.removeFocusable=o=>{this.setState(a=>({activeFocusId:a.activeFocusId===o?void 0:a.activeFocusId,focusables:a.focusables.filter(p=>p.id!==o)}))},this.activateFocusable=o=>{this.setState(a=>({focusables:a.focusables.map(p=>p.id!==o?p:{id:o,isActive:!0})}))},this.deactivateFocusable=o=>{this.setState(a=>({activeFocusId:a.activeFocusId===o?void 0:a.activeFocusId,focusables:a.focusables.map(p=>p.id!==o?p:{id:o,isActive:!1})}))},this.findNextFocusable=o=>{let a=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=a+1;p{let a=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=a-1;p>=0;p--)if(o.focusables[p].isActive)return o.focusables[p].id}}static getDerivedStateFromError(o){return{error:o}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return uh.default.createElement(PB.default.Provider,{value:{exit:this.handleExit}},uh.default.createElement(IB.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},uh.default.createElement(bB.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},uh.default.createElement(BB.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},uh.default.createElement(UB.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?uh.default.createElement(jB.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){ex.default.hide(this.props.stdout)}componentWillUnmount(){ex.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(o){this.handleExit(o)}};ic.default=M3;M3.displayName="InternalApp"});var ux=tt(uc=>{"use strict";var WB=uc&&uc.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),VB=uc&&uc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),GB=uc&&uc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!=="default"&&Object.hasOwnProperty.call(i,a)&&WB(o,i,a);return VB(o,i),o},oc=uc&&uc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(uc,"__esModule",{value:!0});var YB=oc(Mi()),nx=Z8(),KB=oc(dS()),XB=oc(QE()),QB=oc(_S()),JB=oc(DS()),a4=oc(IC()),ZB=oc(A6()),$B=oc(tD()),eU=oc(N6()),tU=GB(bD()),nU=oc(m3()),rU=oc(tx()),Zv=process.env.CI==="false"?!1:QB.default,rx=()=>{},ix=class{constructor(o){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:a,outputHeight:p,staticOutput:_}=ZB.default(this.rootNode,this.options.stdout.columns||80),t=_&&_!==` -`;if(this.options.debug){t&&(this.fullStaticOutput+=_),this.options.stdout.write(this.fullStaticOutput+a);return}if(Zv){t&&this.options.stdout.write(_),this.lastOutput=a;return}if(t&&(this.fullStaticOutput+=_),p>=this.options.stdout.rows){this.options.stdout.write(XB.default.clearTerminal+this.fullStaticOutput+a),this.lastOutput=a;return}t&&(this.log.clear(),this.options.stdout.write(_),this.log(a)),!t&&a!==this.lastOutput&&this.throttledLog(a),this.lastOutput=a},JB.default(this),this.options=o,this.rootNode=tU.createNode("ink-root"),this.rootNode.onRender=o.debug?this.onRender:nx.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=KB.default.create(o.stdout),this.throttledLog=o.debug?this.log:nx.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=a4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=$B.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&a4.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),o.patchConsole&&this.patchConsole(),Zv||(o.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{o.stdout.off("resize",this.onRender)})}render(o){let a=YB.default.createElement(rU.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},o);a4.default.updateContainer(a,this.container,null,rx)}writeToStdout(o){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(o+this.fullStaticOutput+this.lastOutput);return}if(Zv){this.options.stdout.write(o);return}this.log.clear(),this.options.stdout.write(o),this.log(this.lastOutput)}}writeToStderr(o){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(o),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Zv){this.options.stderr.write(o);return}this.log.clear(),this.options.stderr.write(o),this.log(this.lastOutput)}}unmount(o){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Zv?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,a4.default.updateContainer(null,this.container,null,rx),nU.default.delete(this.options.stdout),o instanceof Error?this.rejectExitPromise(o):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((o,a)=>{this.resolveExitPromise=o,this.rejectExitPromise=a})),this.exitPromise}clear(){!Zv&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=eU.default((o,a)=>{o==="stdout"&&this.writeToStdout(a),o==="stderr"&&(a.startsWith("The above error occurred")||this.writeToStderr(a))}))}};uc.default=ix});var lx=tt(mg=>{"use strict";var ox=mg&&mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(mg,"__esModule",{value:!0});var iU=ox(ux()),f4=ox(m3()),uU=require("stream"),sU=(i,o)=>{let a=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},oU(o)),p=lU(a.stdout,()=>new iU.default(a));return p.render(i),{rerender:p.render,unmount:()=>p.unmount(),waitUntilExit:p.waitUntilExit,cleanup:()=>f4.default.delete(a.stdout),clear:p.clear}};mg.default=sU;var oU=(i={})=>i instanceof uU.Stream?{stdout:i,stdin:process.stdin}:i,lU=(i,o)=>{let a;return f4.default.has(i)?a=f4.default.get(i):(a=o(),f4.default.set(i,a)),a}});var ax=tt($1=>{"use strict";var aU=$1&&$1.__createBinding||(Object.create?function(i,o,a,p){p===void 0&&(p=a),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[a]}})}:function(i,o,a,p){p===void 0&&(p=a),i[p]=o[a]}),fU=$1&&$1.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),cU=$1&&$1.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var a in i)a!=="default"&&Object.hasOwnProperty.call(i,a)&&aU(o,i,a);return fU(o,i),o};Object.defineProperty($1,"__esModule",{value:!0});var yg=cU(Mi()),sx=i=>{let{items:o,children:a,style:p}=i,[_,t]=yg.useState(0),k=yg.useMemo(()=>o.slice(_),[o,_]);yg.useLayoutEffect(()=>{t(o.length)},[o.length]);let L=k.map((C,U)=>a(C,_+U)),O=yg.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},p),[p]);return yg.default.createElement("ink-box",{internal_static:!0,style:O},L)};sx.displayName="Static";$1.default=sx});var cx=tt(gg=>{"use strict";var dU=gg&&gg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gg,"__esModule",{value:!0});var pU=dU(Mi()),fx=({children:i,transform:o})=>i==null?null:pU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:o},i);fx.displayName="Transform";gg.default=fx});var px=tt(_g=>{"use strict";var hU=_g&&_g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(_g,"__esModule",{value:!0});var vU=hU(Mi()),dx=({count:i=1})=>vU.default.createElement("ink-text",null,` -`.repeat(i));dx.displayName="Newline";_g.default=dx});var mx=tt(Eg=>{"use strict";var hx=Eg&&Eg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Eg,"__esModule",{value:!0});var mU=hx(Mi()),yU=hx(s4()),vx=()=>mU.default.createElement(yU.default,{flexGrow:1});vx.displayName="Spacer";Eg.default=vx});var c4=tt(Dg=>{"use strict";var gU=Dg&&Dg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Dg,"__esModule",{value:!0});var _U=Mi(),EU=gU(E3()),DU=()=>_U.useContext(EU.default);Dg.default=DU});var gx=tt(wg=>{"use strict";var wU=wg&&wg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(wg,"__esModule",{value:!0});var yx=Mi(),SU=wU(c4()),TU=(i,o={})=>{let{stdin:a,setRawMode:p,internal_exitOnCtrlC:_}=SU.default();yx.useEffect(()=>{if(o.isActive!==!1)return p(!0),()=>{p(!1)}},[o.isActive,p]),yx.useEffect(()=>{if(o.isActive===!1)return;let t=k=>{let L=String(k),O={upArrow:L==="",downArrow:L==="",leftArrow:L==="",rightArrow:L==="",pageDown:L==="[6~",pageUp:L==="[5~",return:L==="\r",escape:L==="",ctrl:!1,shift:!1,tab:L===" "||L==="",backspace:L==="\b",delete:L==="\x7F"||L==="[3~",meta:!1};L<=""&&!O.return&&(L=String.fromCharCode(L.charCodeAt(0)+"a".charCodeAt(0)-1),O.ctrl=!0),L.startsWith("")&&(L=L.slice(1),O.meta=!0);let C=L>="A"&&L<="Z",U=L>="\u0410"&&L<="\u042F";L.length===1&&(C||U)&&(O.shift=!0),O.tab&&L==="[Z"&&(O.shift=!0),(O.tab||O.backspace||O.delete)&&(L=""),(!(L==="c"&&O.ctrl)||!_)&&i(L,O)};return a==null||a.on("data",t),()=>{a==null||a.off("data",t)}},[o.isActive,a,_,i])};wg.default=TU});var _x=tt(Sg=>{"use strict";var CU=Sg&&Sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Sg,"__esModule",{value:!0});var xU=Mi(),RU=CU(g3()),AU=()=>xU.useContext(RU.default);Sg.default=AU});var Ex=tt(Tg=>{"use strict";var OU=Tg&&Tg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Tg,"__esModule",{value:!0});var MU=Mi(),kU=OU(w3()),NU=()=>MU.useContext(kU.default);Tg.default=NU});var Dx=tt(Cg=>{"use strict";var LU=Cg&&Cg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Cg,"__esModule",{value:!0});var FU=Mi(),PU=LU(T3()),IU=()=>FU.useContext(PU.default);Cg.default=IU});var Sx=tt(xg=>{"use strict";var wx=xg&&xg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(xg,"__esModule",{value:!0});var Rg=Mi(),bU=wx(o4()),BU=wx(c4()),UU=({isActive:i=!0,autoFocus:o=!1}={})=>{let{isRawModeSupported:a,setRawMode:p}=BU.default(),{activeId:_,add:t,remove:k,activate:L,deactivate:O}=Rg.useContext(bU.default),C=Rg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Rg.useEffect(()=>(t(C,{autoFocus:o}),()=>{k(C)}),[C,o]),Rg.useEffect(()=>{i?L(C):O(C)},[i,C]),Rg.useEffect(()=>{if(!(!a||!i))return p(!0),()=>{p(!1)}},[i]),{isFocused:Boolean(C)&&_===C}};xg.default=UU});var Tx=tt(Ag=>{"use strict";var jU=Ag&&Ag.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ag,"__esModule",{value:!0});var zU=Mi(),HU=jU(o4()),qU=()=>{let i=zU.useContext(HU.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};Ag.default=qU});var Cx=tt(k3=>{"use strict";Object.defineProperty(k3,"__esModule",{value:!0});k3.default=i=>{var o,a,p,_;return{width:(a=(o=i.yogaNode)===null||o===void 0?void 0:o.getComputedWidth())!==null&&a!==void 0?a:0,height:(_=(p=i.yogaNode)===null||p===void 0?void 0:p.getComputedHeight())!==null&&_!==void 0?_:0}}});var lc=tt(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var WU=lx();Object.defineProperty(Yl,"render",{enumerable:!0,get:function(){return WU.default}});var VU=s4();Object.defineProperty(Yl,"Box",{enumerable:!0,get:function(){return VU.default}});var GU=O3();Object.defineProperty(Yl,"Text",{enumerable:!0,get:function(){return GU.default}});var YU=ax();Object.defineProperty(Yl,"Static",{enumerable:!0,get:function(){return YU.default}});var KU=cx();Object.defineProperty(Yl,"Transform",{enumerable:!0,get:function(){return KU.default}});var XU=px();Object.defineProperty(Yl,"Newline",{enumerable:!0,get:function(){return XU.default}});var QU=mx();Object.defineProperty(Yl,"Spacer",{enumerable:!0,get:function(){return QU.default}});var JU=gx();Object.defineProperty(Yl,"useInput",{enumerable:!0,get:function(){return JU.default}});var ZU=_x();Object.defineProperty(Yl,"useApp",{enumerable:!0,get:function(){return ZU.default}});var $U=c4();Object.defineProperty(Yl,"useStdin",{enumerable:!0,get:function(){return $U.default}});var ej=Ex();Object.defineProperty(Yl,"useStdout",{enumerable:!0,get:function(){return ej.default}});var tj=Dx();Object.defineProperty(Yl,"useStderr",{enumerable:!0,get:function(){return tj.default}});var nj=Sx();Object.defineProperty(Yl,"useFocus",{enumerable:!0,get:function(){return nj.default}});var rj=Tx();Object.defineProperty(Yl,"useFocusManager",{enumerable:!0,get:function(){return rj.default}});var ij=Cx();Object.defineProperty(Yl,"measureElement",{enumerable:!0,get:function(){return ij.default}})});var Px=tt(Og=>{"use strict";Object.defineProperty(Og,"__esModule",{value:!0});Og.UncontrolledTextInput=void 0;var Nx=Mi(),F3=Mi(),Lx=lc(),sh=i4(),Fx=({value:i,placeholder:o="",focus:a=!0,mask:p,highlightPastedText:_=!1,showCursor:t=!0,onChange:k,onSubmit:L})=>{let[{cursorOffset:O,cursorWidth:C},U]=F3.useState({cursorOffset:(i||"").length,cursorWidth:0});F3.useEffect(()=>{U(he=>{if(!a||!t)return he;let Ee=i||"";return he.cursorOffset>Ee.length-1?{cursorOffset:Ee.length,cursorWidth:0}:he})},[i,a,t]);let H=_?C:0,W=p?p.repeat(i.length):i,ne=W,m=o?sh.grey(o):void 0;if(t&&a){m=o.length>0?sh.inverse(o[0])+sh.grey(o.slice(1)):sh.inverse(" "),ne=W.length>0?"":sh.inverse(" ");let he=0;for(let Ee of W)he>=O-H&&he<=O?ne+=sh.inverse(Ee):ne+=Ee,he++;W.length>0&&O===W.length&&(ne+=sh.inverse(" "))}return Lx.useInput((he,Ee)=>{if(Ee.upArrow||Ee.downArrow||Ee.ctrl&&he==="c"||Ee.tab||Ee.shift&&Ee.tab)return;if(Ee.return){L&&L(i);return}let ve=O,se=i,De=0;Ee.leftArrow?t&&ve--:Ee.rightArrow?t&&ve++:Ee.backspace||Ee.delete?O>0&&(se=i.slice(0,O-1)+i.slice(O,i.length),ve--):(se=i.slice(0,O)+he+i.slice(O,i.length),ve+=he.length,he.length>1&&(De=he.length)),O<0&&(ve=0),O>i.length&&(ve=i.length),U({cursorOffset:ve,cursorWidth:De}),se!==i&&k(se)},{isActive:a}),Nx.createElement(Lx.Text,null,o?W.length>0?ne:m:ne)};Og.default=Fx;Og.UncontrolledTextInput=i=>{let[o,a]=F3.useState("");return Nx.createElement(Fx,Object.assign({},i,{value:o,onChange:a}))}});var bx=tt(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});function Mg(i){let o=[...i.caches],a=o.shift();return a===void 0?Ix():{get(p,_,t={miss:()=>Promise.resolve()}){return a.get(p,_,t).catch(()=>Mg({caches:o}).get(p,_,t))},set(p,_){return a.set(p,_).catch(()=>Mg({caches:o}).set(p,_))},delete(p){return a.delete(p).catch(()=>Mg({caches:o}).delete(p))},clear(){return a.clear().catch(()=>Mg({caches:o}).clear())}}}function Ix(){return{get(i,o,a={miss:()=>Promise.resolve()}){return o().then(_=>Promise.all([_,a.miss(_)])).then(([_])=>_)},set(i,o){return Promise.resolve(o)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}E4.createFallbackableCache=Mg;E4.createNullCache=Ix});var Ux=tt((CW,Bx)=>{Bx.exports=bx()});var jx=tt(P3=>{"use strict";Object.defineProperty(P3,"__esModule",{value:!0});function uj(i={serializable:!0}){let o={};return{get(a,p,_={miss:()=>Promise.resolve()}){let t=JSON.stringify(a);if(t in o)return Promise.resolve(i.serializable?JSON.parse(o[t]):o[t]);let k=p(),L=_&&_.miss||(()=>Promise.resolve());return k.then(O=>L(O)).then(()=>k)},set(a,p){return o[JSON.stringify(a)]=i.serializable?JSON.stringify(p):p,Promise.resolve(p)},delete(a){return delete o[JSON.stringify(a)],Promise.resolve()},clear(){return o={},Promise.resolve()}}}P3.createInMemoryCache=uj});var Hx=tt((RW,zx)=>{zx.exports=jx()});var Wx=tt(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});function oj(i,o,a){let p={"x-algolia-api-key":a,"x-algolia-application-id":o};return{headers(){return i===I3.WithinHeaders?p:{}},queryParameters(){return i===I3.WithinQueryParameters?p:{}}}}function lj(i){let o=0,a=()=>(o++,new Promise(p=>{setTimeout(()=>{p(i(a))},Math.min(100*o,1e3))}));return i(a)}function qx(i,o=(a,p)=>Promise.resolve()){return Object.assign(i,{wait(a){return qx(i.then(p=>Promise.all([o(p,a),p])).then(p=>p[1]))}})}function sj(i){let o=i.length-1;for(o;o>0;o--){let a=Math.floor(Math.random()*(o+1)),p=i[o];i[o]=i[a],i[a]=p}return i}function aj(i,o){return Object.keys(o!==void 0?o:{}).forEach(a=>{i[a]=o[a](i)}),i}function fj(i,...o){let a=0;return i.replace(/%s/g,()=>encodeURIComponent(o[a++]))}var cj="4.2.0",dj=i=>()=>i.transporter.requester.destroy(),I3={WithinQueryParameters:0,WithinHeaders:1};sc.AuthMode=I3;sc.addMethods=aj;sc.createAuth=oj;sc.createRetryablePromise=lj;sc.createWaitablePromise=qx;sc.destroy=dj;sc.encode=fj;sc.shuffle=sj;sc.version=cj});var kg=tt((OW,Vx)=>{Vx.exports=Wx()});var Gx=tt(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});var pj={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};b3.MethodEnum=pj});var Ng=tt((kW,Yx)=>{Yx.exports=Gx()});var s5=tt(V0=>{"use strict";Object.defineProperty(V0,"__esModule",{value:!0});var Kx=Ng();function B3(i,o){let a=i||{},p=a.data||{};return Object.keys(a).forEach(_=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(_)===-1&&(p[_]=a[_])}),{data:Object.entries(p).length>0?p:void 0,timeout:a.timeout||o,headers:a.headers||{},queryParameters:a.queryParameters||{},cacheable:a.cacheable}}var D4={Read:1,Write:2,Any:3},$v={Up:1,Down:2,Timeouted:3},Xx=2*60*1e3;function U3(i,o=$v.Up){return Zr(Ht({},i),{status:o,lastUpdate:Date.now()})}function Qx(i){return i.status===$v.Up||Date.now()-i.lastUpdate>Xx}function Jx(i){return i.status===$v.Timeouted&&Date.now()-i.lastUpdate<=Xx}function j3(i){return{protocol:i.protocol||"https",url:i.url,accept:i.accept||D4.Any}}function hj(i,o){return Promise.all(o.map(a=>i.get(a,()=>Promise.resolve(U3(a))))).then(a=>{let p=a.filter(L=>Qx(L)),_=a.filter(L=>Jx(L)),t=[...p,..._],k=t.length>0?t.map(L=>j3(L)):o;return{getTimeout(L,O){return(_.length===0&&L===0?1:_.length+3+L)*O},statelessHosts:k}})}var vj=({isTimedOut:i,status:o})=>!i&&~~o==0,mj=i=>{let o=i.status;return i.isTimedOut||vj(i)||~~(o/100)!=2&&~~(o/100)!=4},yj=({status:i})=>~~(i/100)==2,gj=(i,o)=>mj(i)?o.onRetry(i):yj(i)?o.onSucess(i):o.onFail(i);function i5(i,o,a,p){let _=[],t=t5(a,p),k=n5(i,p),L=a.method,O=a.method!==Kx.MethodEnum.Get?{}:Ht(Ht({},a.data),p.data),C=Ht(Ht(Ht({"x-algolia-agent":i.userAgent.value},i.queryParameters),O),p.queryParameters),U=0,H=(W,ne)=>{let m=W.pop();if(m===void 0)throw r5(z3(_));let he={data:t,headers:k,method:L,url:e5(m,a.path,C),connectTimeout:ne(U,i.timeouts.connect),responseTimeout:ne(U,p.timeout)},Ee=se=>{let De={request:he,response:se,host:m,triesLeft:W.length};return _.push(De),De},ve={onSucess:se=>Zx(se),onRetry(se){let De=Ee(se);return se.isTimedOut&&U++,Promise.all([i.logger.info("Retryable failure",H3(De)),i.hostsCache.set(m,U3(m,se.isTimedOut?$v.Timeouted:$v.Down))]).then(()=>H(W,ne))},onFail(se){throw Ee(se),$x(se,z3(_))}};return i.requester.send(he).then(se=>gj(se,ve))};return hj(i.hostsCache,o).then(W=>H([...W.statelessHosts].reverse(),W.getTimeout))}function _j(i){let{hostsCache:o,logger:a,requester:p,requestsCache:_,responsesCache:t,timeouts:k,userAgent:L,hosts:O,queryParameters:C,headers:U}=i,H={hostsCache:o,logger:a,requester:p,requestsCache:_,responsesCache:t,timeouts:k,userAgent:L,headers:U,queryParameters:C,hosts:O.map(W=>j3(W)),read(W,ne){let m=B3(ne,H.timeouts.read),he=()=>i5(H,H.hosts.filter(se=>(se.accept&D4.Read)!=0),W,m);if((m.cacheable!==void 0?m.cacheable:W.cacheable)!==!0)return he();let ve={request:W,mappedRequestOptions:m,transporter:{queryParameters:H.queryParameters,headers:H.headers}};return H.responsesCache.get(ve,()=>H.requestsCache.get(ve,()=>H.requestsCache.set(ve,he()).then(se=>Promise.all([H.requestsCache.delete(ve),se]),se=>Promise.all([H.requestsCache.delete(ve),Promise.reject(se)])).then(([se,De])=>De)),{miss:se=>H.responsesCache.set(ve,se)})},write(W,ne){return i5(H,H.hosts.filter(m=>(m.accept&D4.Write)!=0),W,B3(ne,H.timeouts.write))}};return H}function Ej(i){let o={value:`Algolia for JavaScript (${i})`,add(a){let p=`; ${a.segment}${a.version!==void 0?` (${a.version})`:""}`;return o.value.indexOf(p)===-1&&(o.value=`${o.value}${p}`),o}};return o}function Zx(i){try{return JSON.parse(i.content)}catch(o){throw u5(o.message,i)}}function $x({content:i,status:o},a){let p=i;try{p=JSON.parse(i).message}catch(_){}return o5(p,o,a)}function Dj(i,...o){let a=0;return i.replace(/%s/g,()=>encodeURIComponent(o[a++]))}function e5(i,o,a){let p=l5(a),_=`${i.protocol}://${i.url}/${o.charAt(0)==="/"?o.substr(1):o}`;return p.length&&(_+=`?${p}`),_}function l5(i){let o=a=>Object.prototype.toString.call(a)==="[object Object]"||Object.prototype.toString.call(a)==="[object Array]";return Object.keys(i).map(a=>Dj("%s=%s",a,o(i[a])?JSON.stringify(i[a]):i[a])).join("&")}function t5(i,o){if(i.method===Kx.MethodEnum.Get||i.data===void 0&&o.data===void 0)return;let a=Array.isArray(i.data)?i.data:Ht(Ht({},i.data),o.data);return JSON.stringify(a)}function n5(i,o){let a=Ht(Ht({},i.headers),o.headers),p={};return Object.keys(a).forEach(_=>{let t=a[_];p[_.toLowerCase()]=t}),p}function z3(i){return i.map(o=>H3(o))}function H3(i){let o=i.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return Zr(Ht({},i),{request:Zr(Ht({},i.request),{headers:Ht(Ht({},i.request.headers),o)})})}function o5(i,o,a){return{name:"ApiError",message:i,status:o,transporterStackTrace:a}}function u5(i,o){return{name:"DeserializationError",message:i,response:o}}function r5(i){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:i}}V0.CallEnum=D4;V0.HostStatusEnum=$v;V0.createApiError=o5;V0.createDeserializationError=u5;V0.createMappedRequestOptions=B3;V0.createRetryError=r5;V0.createStatefulHost=U3;V0.createStatelessHost=j3;V0.createTransporter=_j;V0.createUserAgent=Ej;V0.deserializeFailure=$x;V0.deserializeSuccess=Zx;V0.isStatefulHostTimeouted=Jx;V0.isStatefulHostUp=Qx;V0.serializeData=t5;V0.serializeHeaders=n5;V0.serializeQueryParameters=l5;V0.serializeUrl=e5;V0.stackFrameWithoutCredentials=H3;V0.stackTraceWithoutCredentials=z3});var Lg=tt((LW,a5)=>{a5.exports=s5()});var f5=tt(g2=>{"use strict";Object.defineProperty(g2,"__esModule",{value:!0});var em=kg(),wj=Lg(),Fg=Ng(),Sj=i=>{let o=i.region||"us",a=em.createAuth(em.AuthMode.WithinHeaders,i.appId,i.apiKey),p=wj.createTransporter(Zr(Ht({hosts:[{url:`analytics.${o}.algolia.com`}]},i),{headers:Ht(Zr(Ht({},a.headers()),{"content-type":"application/json"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)})),_=i.appId;return em.addMethods({appId:_,transporter:p},i.methods)},Tj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Post,path:"2/abtests",data:o},a),Cj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Delete,path:em.encode("2/abtests/%s",o)},a),xj=i=>(o,a)=>i.transporter.read({method:Fg.MethodEnum.Get,path:em.encode("2/abtests/%s",o)},a),Rj=i=>o=>i.transporter.read({method:Fg.MethodEnum.Get,path:"2/abtests"},o),Aj=i=>(o,a)=>i.transporter.write({method:Fg.MethodEnum.Post,path:em.encode("2/abtests/%s/stop",o)},a);g2.addABTest=Tj;g2.createAnalyticsClient=Sj;g2.deleteABTest=Cj;g2.getABTest=xj;g2.getABTests=Rj;g2.stopABTest=Aj});var d5=tt((PW,c5)=>{c5.exports=f5()});var h5=tt(Pg=>{"use strict";Object.defineProperty(Pg,"__esModule",{value:!0});var q3=kg(),Oj=Lg(),p5=Ng(),Mj=i=>{let o=i.region||"us",a=q3.createAuth(q3.AuthMode.WithinHeaders,i.appId,i.apiKey),p=Oj.createTransporter(Zr(Ht({hosts:[{url:`recommendation.${o}.algolia.com`}]},i),{headers:Ht(Zr(Ht({},a.headers()),{"content-type":"application/json"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)}));return q3.addMethods({appId:i.appId,transporter:p},i.methods)},kj=i=>o=>i.transporter.read({method:p5.MethodEnum.Get,path:"1/strategies/personalization"},o),Nj=i=>(o,a)=>i.transporter.write({method:p5.MethodEnum.Post,path:"1/strategies/personalization",data:o},a);Pg.createRecommendationClient=Mj;Pg.getPersonalizationStrategy=kj;Pg.setPersonalizationStrategy=Nj});var m5=tt((bW,v5)=>{v5.exports=h5()});var O5=tt(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});var Ln=kg(),ra=Lg(),Ur=Ng(),Lj=require("crypto");function w4(i){let o=a=>i.request(a).then(p=>{if(i.batch!==void 0&&i.batch(p.hits),!i.shouldStop(p))return p.cursor?o({cursor:p.cursor}):o({page:(a.page||0)+1})});return o({})}var Fj=i=>{let o=i.appId,a=Ln.createAuth(i.authMode!==void 0?i.authMode:Ln.AuthMode.WithinHeaders,o,i.apiKey),p=ra.createTransporter(Zr(Ht({hosts:[{url:`${o}-dsn.algolia.net`,accept:ra.CallEnum.Read},{url:`${o}.algolia.net`,accept:ra.CallEnum.Write}].concat(Ln.shuffle([{url:`${o}-1.algolianet.com`},{url:`${o}-2.algolianet.com`},{url:`${o}-3.algolianet.com`}]))},i),{headers:Ht(Zr(Ht({},a.headers()),{"content-type":"application/x-www-form-urlencoded"}),i.headers),queryParameters:Ht(Ht({},a.queryParameters()),i.queryParameters)})),_={transporter:p,appId:o,addAlgoliaAgent(t,k){p.userAgent.add({segment:t,version:k})},clearCache(){return Promise.all([p.requestsCache.clear(),p.responsesCache.clear()]).then(()=>{})}};return Ln.addMethods(_,i.methods)};function y5(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function g5(){return{name:"ObjectNotFoundError",message:"Object not found."}}function _5(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Pj=i=>(o,a)=>{let L=a||{},{queryParameters:p}=L,_=Dl(L,["queryParameters"]),t=Ht({acl:o},p!==void 0?{queryParameters:p}:{}),k=(O,C)=>Ln.createRetryablePromise(U=>Ig(i)(O.key,C).catch(H=>{if(H.status!==404)throw H;return U()}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:"1/keys",data:t},_),k)},Ij=i=>(o,a,p)=>{let _=ra.createMappedRequestOptions(p);return _.queryParameters["X-Algolia-User-ID"]=o,i.transporter.write({method:Ur.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:a}},_)},bj=i=>(o,a,p)=>i.transporter.write({method:Ur.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:o,cluster:a}},p),S4=i=>(o,a,p)=>{let _=(t,k)=>bg(i)(o,{methods:{waitTask:Co}}).waitTask(t.taskID,k);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/operation",o),data:{operation:"copy",destination:a}},p),_)},Bj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Rules]})),Uj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Settings]})),jj=i=>(o,a,p)=>S4(i)(o,a,Zr(Ht({},p),{scope:[T4.Synonyms]})),zj=i=>(o,a)=>{let p=(_,t)=>Ln.createRetryablePromise(k=>Ig(i)(o,t).then(k).catch(L=>{if(L.status!==404)throw L}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode("1/keys/%s",o)},a),p)},Hj=()=>(i,o)=>{let a=ra.serializeQueryParameters(o),p=Lj.createHmac("sha256",i).update(a).digest("hex");return Buffer.from(p+a).toString("base64")},Ig=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/keys/%s",o)},a),qj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/logs"},o),Wj=()=>i=>{let o=Buffer.from(i,"base64").toString("ascii"),a=/validUntil=(\d+)/,p=o.match(a);if(p===null)throw _5();return parseInt(p[1],10)-Math.round(new Date().getTime()/1e3)},Vj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping/top"},o),Gj=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/clusters/mapping/%s",o)},a),Yj=i=>o=>{let _=o||{},{retrieveMappings:a}=_,p=Dl(_,["retrieveMappings"]);return a===!0&&(p.getClusters=!0),i.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping/pending"},p)},bg=i=>(o,a={})=>{let p={transporter:i.transporter,appId:i.appId,indexName:o};return Ln.addMethods(p,a.methods)},Kj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/keys"},o),Xj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters"},o),Qj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/indexes"},o),Jj=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping"},o),Zj=i=>(o,a,p)=>{let _=(t,k)=>bg(i)(o,{methods:{waitTask:Co}}).waitTask(t.taskID,k);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/operation",o),data:{operation:"move",destination:a}},p),_)},$j=i=>(o,a)=>{let p=(_,t)=>Promise.all(Object.keys(_.taskID).map(k=>bg(i)(k,{methods:{waitTask:Co}}).waitTask(_.taskID[k],t)));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:o}},a),p)},ez=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:o}},a),tz=i=>(o,a)=>{let p=o.map(_=>Zr(Ht({},_),{params:ra.serializeQueryParameters(_.params||{})}));return i.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:p},cacheable:!0},a)},nz=i=>(o,a)=>Promise.all(o.map(p=>{let L=p.params,{facetName:_,facetQuery:t}=L,k=Dl(L,["facetName","facetQuery"]);return bg(i)(p.indexName,{methods:{searchForFacetValues:E5}}).searchForFacetValues(_,t,Ht(Ht({},a),k))})),rz=i=>(o,a)=>{let p=ra.createMappedRequestOptions(a);return p.queryParameters["X-Algolia-User-ID"]=o,i.transporter.write({method:Ur.MethodEnum.Delete,path:"1/clusters/mapping"},p)},iz=i=>(o,a)=>{let p=(_,t)=>Ln.createRetryablePromise(k=>Ig(i)(o,t).catch(L=>{if(L.status!==404)throw L;return k()}));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/keys/%s/restore",o)},a),p)},uz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:o}},a),oz=i=>(o,a)=>{let p=Object.assign({},a),U=a||{},{queryParameters:_}=U,t=Dl(U,["queryParameters"]),k=_?{queryParameters:_}:{},L=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],O=H=>Object.keys(p).filter(W=>L.indexOf(W)!==-1).every(W=>H[W]===p[W]),C=(H,W)=>Ln.createRetryablePromise(ne=>Ig(i)(o,W).then(m=>O(m)?Promise.resolve():ne()));return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Put,path:Ln.encode("1/keys/%s",o),data:k},t),C)},D5=i=>(o,a)=>{let p=(_,t)=>Co(i)(_.taskID,t);return Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/batch",i.indexName),data:{requests:o}},a),p)},lz=i=>o=>w4(Zr(Ht({},o),{shouldStop:a=>a.cursor===void 0,request:a=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/browse",i.indexName),data:a},o)})),sz=i=>o=>{let a=Ht({hitsPerPage:1e3},o);return w4(Zr(Ht({},a),{shouldStop:p=>p.hits.lengthZr(Ht({},_),{hits:_.hits.map(t=>(delete t._highlightResult,t))}))}}))},az=i=>o=>{let a=Ht({hitsPerPage:1e3},o);return w4(Zr(Ht({},a),{shouldStop:p=>p.hits.lengthZr(Ht({},_),{hits:_.hits.map(t=>(delete t._highlightResult,t))}))}}))},C4=i=>(o,a,p)=>{let O=p||{},{batchSize:_}=O,t=Dl(O,["batchSize"]),k={taskIDs:[],objectIDs:[]},L=(C=0)=>{let U=[],H;for(H=C;H({action:a,body:W})),t).then(W=>(k.objectIDs=k.objectIDs.concat(W.objectIDs),k.taskIDs.push(W.taskID),H++,L(H)))};return Ln.createWaitablePromise(L(),(C,U)=>Promise.all(C.taskIDs.map(H=>Co(i)(H,U))))},fz=i=>o=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/clear",i.indexName)},o),(a,p)=>Co(i)(a.taskID,p)),cz=i=>o=>{let t=o||{},{forwardToReplicas:a}=t,p=Dl(t,["forwardToReplicas"]),_=ra.createMappedRequestOptions(p);return a&&(_.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/rules/clear",i.indexName)},_),(k,L)=>Co(i)(k.taskID,L))},dz=i=>o=>{let t=o||{},{forwardToReplicas:a}=t,p=Dl(t,["forwardToReplicas"]),_=ra.createMappedRequestOptions(p);return a&&(_.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/synonyms/clear",i.indexName)},_),(k,L)=>Co(i)(k.taskID,L))},pz=i=>(o,a)=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/deleteByQuery",i.indexName),data:o},a),(p,_)=>Co(i)(p.taskID,_)),hz=i=>o=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode("1/indexes/%s",i.indexName)},o),(a,p)=>Co(i)(a.taskID,p)),vz=i=>(o,a)=>Ln.createWaitablePromise(T5(i)([o],a).then(p=>({taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),T5=i=>(o,a)=>{let p=o.map(_=>({objectID:_}));return C4(i)(p,ah.DeleteObject,a)},mz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,["forwardToReplicas"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode("1/indexes/%s/rules/%s",i.indexName,o)},t),(L,O)=>Co(i)(L.taskID,O))},yz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,["forwardToReplicas"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Delete,path:Ln.encode("1/indexes/%s/synonyms/%s",i.indexName,o)},t),(L,O)=>Co(i)(L.taskID,O))},gz=i=>o=>C5(i)(o).then(()=>!0).catch(a=>{if(a.status!==404)throw a;return!1}),_z=i=>(o,a)=>{let O=a||{},{query:p,paginate:_}=O,t=Dl(O,["query","paginate"]),k=0,L=()=>x5(i)(p||"",Zr(Ht({},t),{page:k})).then(C=>{for(let[U,H]of Object.entries(C.hits))if(o(H))return{object:H,position:parseInt(U,10),page:k};if(k++,_===!1||k>=C.nbPages)throw g5();return L()});return L()},Ez=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/indexes/%s/%s",i.indexName,o)},a),Dz=()=>(i,o)=>{for(let[a,p]of Object.entries(i.hits))if(p.objectID===o)return parseInt(a,10);return-1},wz=i=>(o,a)=>{let k=a||{},{attributesToRetrieve:p}=k,_=Dl(k,["attributesToRetrieve"]),t=o.map(L=>Ht({indexName:i.indexName,objectID:L},p?{attributesToRetrieve:p}:{}));return i.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},_)},Sz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/indexes/%s/rules/%s",i.indexName,o)},a),C5=i=>o=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/indexes/%s/settings",i.indexName),data:{getVersion:2}},o),Tz=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/indexes/%s/synonyms/%s",i.indexName,o)},a),R5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Get,path:Ln.encode("1/indexes/%s/task/%s",i.indexName,o.toString())},a),Cz=i=>(o,a)=>Ln.createWaitablePromise(A5(i)([o],a).then(p=>({objectID:p.objectIDs[0],taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),A5=i=>(o,a)=>{let k=a||{},{createIfNotExists:p}=k,_=Dl(k,["createIfNotExists"]),t=p?ah.PartialUpdateObject:ah.PartialUpdateObjectNoCreate;return C4(i)(o,t,_)},xz=i=>(o,a)=>{let m=a||{},{safe:p,autoGenerateObjectIDIfNotExist:_,batchSize:t}=m,k=Dl(m,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),L=(he,Ee,ve,se)=>Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/operation",he),data:{operation:ve,destination:Ee}},se),(De,pe)=>Co(i)(De.taskID,pe)),O=Math.random().toString(36).substring(7),C=`${i.indexName}_tmp_${O}`,U=W3({appId:i.appId,transporter:i.transporter,indexName:C}),H=[],W=L(i.indexName,C,"copy",Zr(Ht({},k),{scope:["settings","synonyms","rules"]}));H.push(W);let ne=(p?W.wait(k):W).then(()=>{let he=U(o,Zr(Ht({},k),{autoGenerateObjectIDIfNotExist:_,batchSize:t}));return H.push(he),p?he.wait(k):he}).then(()=>{let he=L(C,i.indexName,"move",k);return H.push(he),p?he.wait(k):he}).then(()=>Promise.all(H)).then(([he,Ee,ve])=>({objectIDs:Ee.objectIDs,taskIDs:[he.taskID,...Ee.taskIDs,ve.taskID]}));return Ln.createWaitablePromise(ne,(he,Ee)=>Promise.all(H.map(ve=>ve.wait(Ee))))},Rz=i=>(o,a)=>V3(i)(o,Zr(Ht({},a),{clearExistingRules:!0})),Az=i=>(o,a)=>G3(i)(o,Zr(Ht({},a),{replaceExistingSynonyms:!0})),Oz=i=>(o,a)=>Ln.createWaitablePromise(W3(i)([o],a).then(p=>({objectID:p.objectIDs[0],taskID:p.taskIDs[0]})),(p,_)=>Co(i)(p.taskID,_)),W3=i=>(o,a)=>{let k=a||{},{autoGenerateObjectIDIfNotExist:p}=k,_=Dl(k,["autoGenerateObjectIDIfNotExist"]),t=p?ah.AddObject:ah.UpdateObject;if(t===ah.UpdateObject){for(let L of o)if(L.objectID===void 0)return Ln.createWaitablePromise(Promise.reject(y5()))}return C4(i)(o,t,_)},Mz=i=>(o,a)=>V3(i)([o],a),V3=i=>(o,a)=>{let L=a||{},{forwardToReplicas:p,clearExistingRules:_}=L,t=Dl(L,["forwardToReplicas","clearExistingRules"]),k=ra.createMappedRequestOptions(t);return p&&(k.queryParameters.forwardToReplicas=1),_&&(k.queryParameters.clearExistingRules=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/rules/batch",i.indexName),data:o},k),(O,C)=>Co(i)(O.taskID,C))},kz=i=>(o,a)=>G3(i)([o],a),G3=i=>(o,a)=>{let L=a||{},{forwardToReplicas:p,replaceExistingSynonyms:_}=L,t=Dl(L,["forwardToReplicas","replaceExistingSynonyms"]),k=ra.createMappedRequestOptions(t);return p&&(k.queryParameters.forwardToReplicas=1),_&&(k.queryParameters.replaceExistingSynonyms=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/synonyms/batch",i.indexName),data:o},k),(O,C)=>Co(i)(O.taskID,C))},x5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/query",i.indexName),data:{query:o},cacheable:!0},a),E5=i=>(o,a,p)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/facets/%s/query",i.indexName,o),data:{facetQuery:a},cacheable:!0},p),w5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/rules/search",i.indexName),data:{query:o}},a),S5=i=>(o,a)=>i.transporter.read({method:Ur.MethodEnum.Post,path:Ln.encode("1/indexes/%s/synonyms/search",i.indexName),data:{query:o}},a),Nz=i=>(o,a)=>{let k=a||{},{forwardToReplicas:p}=k,_=Dl(k,["forwardToReplicas"]),t=ra.createMappedRequestOptions(_);return p&&(t.queryParameters.forwardToReplicas=1),Ln.createWaitablePromise(i.transporter.write({method:Ur.MethodEnum.Put,path:Ln.encode("1/indexes/%s/settings",i.indexName),data:o},t),(L,O)=>Co(i)(L.taskID,O))},Co=i=>(o,a)=>Ln.createRetryablePromise(p=>R5(i)(o,a).then(_=>_.status!=="published"?p():void 0)),Lz={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},ah={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},T4={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Fz={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Pz={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};tn.ApiKeyACLEnum=Lz;tn.BatchActionEnum=ah;tn.ScopeEnum=T4;tn.StrategyEnum=Fz;tn.SynonymEnum=Pz;tn.addApiKey=Pj;tn.assignUserID=Ij;tn.assignUserIDs=bj;tn.batch=D5;tn.browseObjects=lz;tn.browseRules=sz;tn.browseSynonyms=az;tn.chunkedBatch=C4;tn.clearObjects=fz;tn.clearRules=cz;tn.clearSynonyms=dz;tn.copyIndex=S4;tn.copyRules=Bj;tn.copySettings=Uj;tn.copySynonyms=jj;tn.createBrowsablePromise=w4;tn.createMissingObjectIDError=y5;tn.createObjectNotFoundError=g5;tn.createSearchClient=Fj;tn.createValidUntilNotFoundError=_5;tn.deleteApiKey=zj;tn.deleteBy=pz;tn.deleteIndex=hz;tn.deleteObject=vz;tn.deleteObjects=T5;tn.deleteRule=mz;tn.deleteSynonym=yz;tn.exists=gz;tn.findObject=_z;tn.generateSecuredApiKey=Hj;tn.getApiKey=Ig;tn.getLogs=qj;tn.getObject=Ez;tn.getObjectPosition=Dz;tn.getObjects=wz;tn.getRule=Sz;tn.getSecuredApiKeyRemainingValidity=Wj;tn.getSettings=C5;tn.getSynonym=Tz;tn.getTask=R5;tn.getTopUserIDs=Vj;tn.getUserID=Gj;tn.hasPendingMappings=Yj;tn.initIndex=bg;tn.listApiKeys=Kj;tn.listClusters=Xj;tn.listIndices=Qj;tn.listUserIDs=Jj;tn.moveIndex=Zj;tn.multipleBatch=$j;tn.multipleGetObjects=ez;tn.multipleQueries=tz;tn.multipleSearchForFacetValues=nz;tn.partialUpdateObject=Cz;tn.partialUpdateObjects=A5;tn.removeUserID=rz;tn.replaceAllObjects=xz;tn.replaceAllRules=Rz;tn.replaceAllSynonyms=Az;tn.restoreApiKey=iz;tn.saveObject=Oz;tn.saveObjects=W3;tn.saveRule=Mz;tn.saveRules=V3;tn.saveSynonym=kz;tn.saveSynonyms=G3;tn.search=x5;tn.searchForFacetValues=E5;tn.searchRules=w5;tn.searchSynonyms=S5;tn.searchUserIDs=uz;tn.setSettings=Nz;tn.updateApiKey=oz;tn.waitTask=Co});var k5=tt((UW,M5)=>{M5.exports=O5()});var N5=tt(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});function Iz(){return{debug(i,o){return Promise.resolve()},info(i,o){return Promise.resolve()},error(i,o){return Promise.resolve()}}}var bz={Debug:1,Info:2,Error:3};x4.LogLevelEnum=bz;x4.createNullLogger=Iz});var F5=tt((zW,L5)=>{L5.exports=N5()});var b5=tt(Y3=>{"use strict";Object.defineProperty(Y3,"__esModule",{value:!0});var P5=require("http"),I5=require("https"),Bz=require("url");function Uz(){let i={keepAlive:!0},o=new P5.Agent(i),a=new I5.Agent(i);return{send(p){return new Promise(_=>{let t=Bz.parse(p.url),k=t.query===null?t.pathname:`${t.pathname}?${t.query}`,L=Ht({agent:t.protocol==="https:"?a:o,hostname:t.hostname,path:k,method:p.method,headers:p.headers},t.port!==void 0?{port:t.port||""}:{}),O=(t.protocol==="https:"?I5:P5).request(L,W=>{let ne="";W.on("data",m=>ne+=m),W.on("end",()=>{clearTimeout(U),clearTimeout(H),_({status:W.statusCode||0,content:ne,isTimedOut:!1})})}),C=(W,ne)=>setTimeout(()=>{O.abort(),_({status:0,content:ne,isTimedOut:!0})},W*1e3),U=C(p.connectTimeout,"Connection timeout"),H;O.on("error",W=>{clearTimeout(U),clearTimeout(H),_({status:0,content:W.message,isTimedOut:!1})}),O.once("response",()=>{clearTimeout(U),H=C(p.responseTimeout,"Socket timeout")}),p.data!==void 0&&O.write(p.data),O.end()})},destroy(){return o.destroy(),a.destroy(),Promise.resolve()}}}Y3.createNodeHttpRequester=Uz});var U5=tt((qW,B5)=>{B5.exports=b5()});var q5=tt((WW,j5)=>{"use strict";var z5=Ux(),jz=Hx(),tm=d5(),K3=kg(),X3=m5(),wn=k5(),zz=F5(),Hz=U5(),qz=Lg();function H5(i,o,a){let p={appId:i,apiKey:o,timeouts:{connect:2,read:5,write:30},requester:Hz.createNodeHttpRequester(),logger:zz.createNullLogger(),responsesCache:z5.createNullCache(),requestsCache:z5.createNullCache(),hostsCache:jz.createInMemoryCache(),userAgent:qz.createUserAgent(K3.version).add({segment:"Node.js",version:process.versions.node})};return wn.createSearchClient(Zr(Ht(Ht({},p),a),{methods:{search:wn.multipleQueries,searchForFacetValues:wn.multipleSearchForFacetValues,multipleBatch:wn.multipleBatch,multipleGetObjects:wn.multipleGetObjects,multipleQueries:wn.multipleQueries,copyIndex:wn.copyIndex,copySettings:wn.copySettings,copyRules:wn.copyRules,copySynonyms:wn.copySynonyms,moveIndex:wn.moveIndex,listIndices:wn.listIndices,getLogs:wn.getLogs,listClusters:wn.listClusters,multipleSearchForFacetValues:wn.multipleSearchForFacetValues,getApiKey:wn.getApiKey,addApiKey:wn.addApiKey,listApiKeys:wn.listApiKeys,updateApiKey:wn.updateApiKey,deleteApiKey:wn.deleteApiKey,restoreApiKey:wn.restoreApiKey,assignUserID:wn.assignUserID,assignUserIDs:wn.assignUserIDs,getUserID:wn.getUserID,searchUserIDs:wn.searchUserIDs,listUserIDs:wn.listUserIDs,getTopUserIDs:wn.getTopUserIDs,removeUserID:wn.removeUserID,hasPendingMappings:wn.hasPendingMappings,generateSecuredApiKey:wn.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:wn.getSecuredApiKeyRemainingValidity,destroy:K3.destroy,initIndex:_=>t=>wn.initIndex(_)(t,{methods:{batch:wn.batch,delete:wn.deleteIndex,getObject:wn.getObject,getObjects:wn.getObjects,saveObject:wn.saveObject,saveObjects:wn.saveObjects,search:wn.search,searchForFacetValues:wn.searchForFacetValues,waitTask:wn.waitTask,setSettings:wn.setSettings,getSettings:wn.getSettings,partialUpdateObject:wn.partialUpdateObject,partialUpdateObjects:wn.partialUpdateObjects,deleteObject:wn.deleteObject,deleteObjects:wn.deleteObjects,deleteBy:wn.deleteBy,clearObjects:wn.clearObjects,browseObjects:wn.browseObjects,getObjectPosition:wn.getObjectPosition,findObject:wn.findObject,exists:wn.exists,saveSynonym:wn.saveSynonym,saveSynonyms:wn.saveSynonyms,getSynonym:wn.getSynonym,searchSynonyms:wn.searchSynonyms,browseSynonyms:wn.browseSynonyms,deleteSynonym:wn.deleteSynonym,clearSynonyms:wn.clearSynonyms,replaceAllObjects:wn.replaceAllObjects,replaceAllSynonyms:wn.replaceAllSynonyms,searchRules:wn.searchRules,getRule:wn.getRule,deleteRule:wn.deleteRule,saveRule:wn.saveRule,saveRules:wn.saveRules,replaceAllRules:wn.replaceAllRules,browseRules:wn.browseRules,clearRules:wn.clearRules}}),initAnalytics:()=>_=>tm.createAnalyticsClient(Zr(Ht(Ht({},p),_),{methods:{addABTest:tm.addABTest,getABTest:tm.getABTest,getABTests:tm.getABTests,stopABTest:tm.stopABTest,deleteABTest:tm.deleteABTest}})),initRecommendation:()=>_=>X3.createRecommendationClient(Zr(Ht(Ht({},p),_),{methods:{getPersonalizationStrategy:X3.getPersonalizationStrategy,setPersonalizationStrategy:X3.setPersonalizationStrategy}}))}}))}H5.version=K3.version;j5.exports=H5});var V5=tt((VW,Q3)=>{var W5=q5();Q3.exports=W5;Q3.exports.default=W5});var Jz={};YF(Jz,{default:()=>$z});var Y5=vu(require("@yarnpkg/cli")),fh=vu(require("@yarnpkg/core"));var xx=vu(lc()),oh=vu(Mi()),d4=(0,oh.memo)(({active:i})=>{let o=(0,oh.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),a=(0,oh.useMemo)(()=>i?"green":"yellow",[i]);return oh.default.createElement(xx.Text,{color:a},o)});var y2=vu(lc()),na=vu(Mi());var Rx=vu(lc()),p4=vu(Mi());function m2({active:i},o,a){let{stdin:p}=(0,Rx.useStdin)(),_=(0,p4.useCallback)((t,k)=>o(t,k),a);(0,p4.useEffect)(()=>{if(!(!i||!p))return p.on("keypress",_),()=>{p.off("keypress",_)}},[i,_,p])}var h4;(function(a){a.BEFORE="before",a.AFTER="after"})(h4||(h4={}));var Ax=function({active:i},o,a){m2({active:i},(p,_)=>{_.name==="tab"&&(_.shift?o(h4.BEFORE):o(h4.AFTER))},a)};var v4=function(i,o,{active:a,minus:p,plus:_,set:t,loop:k=!0}){m2({active:a},(L,O)=>{let C=o.indexOf(i);switch(O.name){case p:{let U=C-1;if(k){t(o[(o.length+U)%o.length]);return}if(U<0)return;t(o[U])}break;case _:{let U=C+1;if(k){t(o[U%o.length]);return}if(U>=o.length)return;t(o[U])}break}},[o,i,_,t,k])};var m4=({active:i=!0,children:o=[],radius:a=10,size:p=1,loop:_=!0,onFocusRequest:t,willReachEnd:k})=>{let L=Ee=>{if(Ee.key===null)throw new Error("Expected all children to have a key");return Ee.key},O=na.default.Children.map(o,Ee=>L(Ee)),C=O[0],[U,H]=(0,na.useState)(C),W=O.indexOf(U);(0,na.useEffect)(()=>{O.includes(U)||H(C)},[o]),(0,na.useEffect)(()=>{k&&W>=O.length-2&&k()},[W]),Ax({active:i&&!!t},Ee=>{t==null||t(Ee)},[t]),v4(U,O,{active:i,minus:"up",plus:"down",set:H,loop:_});let ne=W-a,m=W+a;m>O.length&&(ne-=m-O.length,m=O.length),ne<0&&(m+=-ne,ne=0),m>=O.length&&(m=O.length-1);let he=[];for(let Ee=ne;Ee<=m;++Ee){let ve=O[Ee],se=i&&ve===U;he.push(na.default.createElement(y2.Box,{key:ve,height:p},na.default.createElement(y2.Box,{marginLeft:1,marginRight:1},na.default.createElement(y2.Text,null,se?na.default.createElement(y2.Text,{color:"cyan",bold:!0},">"):" ")),na.default.createElement(y2.Box,null,na.default.cloneElement(o[Ee],{active:se}))))}return na.default.createElement(y2.Box,{flexDirection:"column",width:"100%"},he)};var y4=vu(Mi());var Ox=vu(lc()),ed=vu(Mi()),Mx=vu(require("readline")),N3=ed.default.createContext(null),kx=({children:i})=>{let{stdin:o,setRawMode:a}=(0,Ox.useStdin)();(0,ed.useEffect)(()=>{a&&a(!0),o&&(0,Mx.emitKeypressEvents)(o)},[o,a]);let[p,_]=(0,ed.useState)(new Map),t=(0,ed.useMemo)(()=>({getAll:()=>p,get:k=>p.get(k),set:(k,L)=>_(new Map([...p,[k,L]]))}),[p,_]);return ed.default.createElement(N3.Provider,{value:t,children:i})};function lh(i,o){let a=(0,y4.useContext)(N3);if(a===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof i=="undefined")return a.getAll();let p=(0,y4.useCallback)(t=>{a.set(i,t)},[i,a.set]),_=a.get(i);return typeof _=="undefined"&&(_=o),[_,p]}var g4=vu(lc()),L3=vu(Mi());async function _4(i,o,{stdin:a,stdout:p,stderr:_}={}){let t,k=O=>{let{exit:C}=(0,g4.useApp)();m2({active:!0},(U,H)=>{H.name==="return"&&(t=O,C())},[C,O])},{waitUntilExit:L}=(0,g4.render)(L3.default.createElement(kx,null,L3.default.createElement(i,Zr(Ht({},o),{useSubmit:k}))),{stdin:a,stdout:p,stderr:_});return await L(),t}var K5=vu(require("clipanion")),X5=vu(Px()),or=vu(lc()),En=vu(Mi());var G5=vu(V5()),J3={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Wz=(0,G5.default)(J3.appId,J3.apiKey).initIndex(J3.indexName),Z3=async(i,o=0)=>await Wz.search(i,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:o,hitsPerPage:10});var Bg=["regular","dev","peer"],Ug=class extends Y5.BaseCommand{async execute(){let o=await fh.Configuration.find(this.context.cwd,this.context.plugins),a=()=>En.default.createElement(or.Box,{flexDirection:"row"},En.default.createElement(or.Box,{flexDirection:"column",width:48},En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},""),"/",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),En.default.createElement(or.Box,{flexDirection:"column"},En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),p=()=>En.default.createElement(En.default.Fragment,null,En.default.createElement(or.Box,{width:15},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),En.default.createElement(or.Box,{width:11},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Version")),En.default.createElement(or.Box,{width:10},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),_=()=>En.default.createElement(or.Box,{width:17},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:ne,active:m})=>{let[he,Ee]=lh(ne.name,null);m2({active:m},(De,pe)=>{if(pe.name!=="space")return;if(!he){Ee(Bg[0]);return}let me=Bg.indexOf(he)+1;me===Bg.length?Ee(null):Ee(Bg[me])},[he,Ee]);let ve=fh.structUtils.parseIdent(ne.name),se=fh.structUtils.prettyIdent(o,ve);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:45},En.default.createElement(or.Text,{bold:!0,wrap:"wrap"},se)),En.default.createElement(or.Box,{width:14,marginLeft:1},En.default.createElement(or.Text,{bold:!0,wrap:"truncate"},ne.owner.name)),En.default.createElement(or.Box,{width:10,marginLeft:1},En.default.createElement(or.Text,{italic:!0,wrap:"truncate"},ne.version)),En.default.createElement(or.Box,{width:16,marginLeft:1},En.default.createElement(or.Text,null,ne.humanDownloadsLast30Days)))},k=({name:ne,active:m})=>{let[he]=lh(ne,null),Ee=fh.structUtils.parseIdent(ne);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:47},En.default.createElement(or.Text,{bold:!0}," - ",fh.structUtils.prettyIdent(o,Ee))),Bg.map(ve=>En.default.createElement(or.Box,{key:ve,width:14,marginLeft:1},En.default.createElement(or.Text,null," ",En.default.createElement(d4,{active:he===ve})," ",En.default.createElement(or.Text,{bold:!0},ve)))))},L=()=>En.default.createElement(or.Box,{marginTop:1},En.default.createElement(or.Text,null,"Powered by Algolia.")),C=await _4(({useSubmit:ne})=>{let m=lh();ne(m);let he=Array.from(m.keys()).filter(qe=>m.get(qe)!==null),[Ee,ve]=(0,En.useState)(""),[se,De]=(0,En.useState)(0),[pe,me]=(0,En.useState)([]),ie=qe=>{qe.match(/\t| /)||ve(qe)},Oe=async()=>{De(0);let qe=await Z3(Ee);qe.query===Ee&&me(qe.hits)},je=async()=>{let qe=await Z3(Ee,se+1);qe.query===Ee&&qe.page-1===se&&(De(qe.page),me([...pe,...qe.hits]))};return(0,En.useEffect)(()=>{Ee?Oe():me([])},[Ee]),En.default.createElement(or.Box,{flexDirection:"column"},En.default.createElement(a,null),En.default.createElement(or.Box,{flexDirection:"row",marginTop:1},En.default.createElement(or.Text,{bold:!0},"Search: "),En.default.createElement(or.Box,{width:41},En.default.createElement(X5.default,{value:Ee,onChange:ie,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),En.default.createElement(p,null)),pe.length?En.default.createElement(m4,{radius:2,loop:!1,children:pe.map(qe=>En.default.createElement(t,{key:qe.name,hit:qe,active:!1})),willReachEnd:je}):En.default.createElement(or.Text,{color:"gray"},"Start typing..."),En.default.createElement(or.Box,{flexDirection:"row",marginTop:1},En.default.createElement(or.Box,{width:49},En.default.createElement(or.Text,{bold:!0},"Selected:")),En.default.createElement(_,null)),he.length?he.map(qe=>En.default.createElement(k,{key:qe,name:qe,active:!1})):En.default.createElement(or.Text,{color:"gray"},"No selected packages..."),En.default.createElement(L,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof C=="undefined")return 1;let U=Array.from(C.keys()).filter(ne=>C.get(ne)==="regular"),H=Array.from(C.keys()).filter(ne=>C.get(ne)==="dev"),W=Array.from(C.keys()).filter(ne=>C.get(ne)==="peer");return U.length&&await this.cli.run(["add",...U]),H.length&&await this.cli.run(["add","--dev",...H]),W&&await this.cli.run(["add","--peer",...W]),0}};Ug.paths=[["search"]],Ug.usage=K5.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),l){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=l=>{l===""&&this.props.exitOnCtrlC&&this.handleExit(),l===bB&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(l===PB&&this.focusNext(),l===IB&&this.focusPrevious())},this.handleExit=l=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(l)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(l=>{let f=l.focusables[0].id;return{activeFocusId:this.findNextFocusable(l)||f}})},this.focusPrevious=()=>{this.setState(l=>{let f=l.focusables[l.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(l)||f}})},this.addFocusable=(l,{autoFocus:f})=>{this.setState(h=>{let E=h.activeFocusId;return!E&&f&&(E=l),{activeFocusId:E,focusables:[...h.focusables,{id:l,isActive:!0}]}})},this.removeFocusable=l=>{this.setState(f=>({activeFocusId:f.activeFocusId===l?void 0:f.activeFocusId,focusables:f.focusables.filter(h=>h.id!==l)}))},this.activateFocusable=l=>{this.setState(f=>({focusables:f.focusables.map(h=>h.id!==l?h:{id:l,isActive:!0})}))},this.deactivateFocusable=l=>{this.setState(f=>({activeFocusId:f.activeFocusId===l?void 0:f.activeFocusId,focusables:f.focusables.map(h=>h.id!==l?h:{id:l,isActive:!1})}))},this.findNextFocusable=l=>{let f=l.focusables.findIndex(h=>h.id===l.activeFocusId);for(let h=f+1;h{let f=l.focusables.findIndex(h=>h.id===l.activeFocusId);for(let h=f-1;h>=0;h--)if(l.focusables[h].isActive)return l.focusables[h].id}}static getDerivedStateFromError(l){return{error:l}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return uh.default.createElement(OB.default.Provider,{value:{exit:this.handleExit}},uh.default.createElement(MB.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},uh.default.createElement(kB.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},uh.default.createElement(NB.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},uh.default.createElement(LB.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?uh.default.createElement(FB.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){ex.default.hide(this.props.stdout)}componentWillUnmount(){ex.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(l){this.handleExit(l)}};ic.default=d4;d4.displayName="InternalApp"});var ix=nt(uc=>{"use strict";var BB=uc&&uc.__createBinding||(Object.create?function(o,l,f,h){h===void 0&&(h=f),Object.defineProperty(o,h,{enumerable:!0,get:function(){return l[f]}})}:function(o,l,f,h){h===void 0&&(h=f),o[h]=l[f]}),UB=uc&&uc.__setModuleDefault||(Object.create?function(o,l){Object.defineProperty(o,"default",{enumerable:!0,value:l})}:function(o,l){o.default=l}),jB=uc&&uc.__importStar||function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var f in o)f!=="default"&&Object.hasOwnProperty.call(o,f)&&BB(l,o,f);return UB(l,o),l},oc=uc&&uc.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(uc,"__esModule",{value:!0});var zB=oc(Mi()),nx=sS(),HB=oc(TS()),qB=oc(ZE()),WB=oc(MS()),VB=oc(NS()),p4=oc(UC()),GB=oc(A6()),YB=oc(nD()),KB=oc(N6()),XB=jB(BD()),QB=oc(R3()),JB=oc(tx()),im=process.env.CI==="false"?!1:WB.default,rx=()=>{},z3=class{constructor(l){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:h,staticOutput:E}=GB.default(this.rootNode,this.options.stdout.columns||80),t=E&&E!==` +`;if(this.options.debug){t&&(this.fullStaticOutput+=E),this.options.stdout.write(this.fullStaticOutput+f);return}if(im){t&&this.options.stdout.write(E),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=E),h>=this.options.stdout.rows){this.options.stdout.write(qB.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(E),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},VB.default(this),this.options=l,this.rootNode=XB.createNode("ink-root"),this.rootNode.onRender=l.debug?this.onRender:nx.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=HB.default.create(l.stdout),this.throttledLog=l.debug?this.log:nx.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=p4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=YB.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&p4.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),l.patchConsole&&this.patchConsole(),im||(l.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{l.stdout.off("resize",this.onRender)})}render(l){let f=zB.default.createElement(JB.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},l);p4.default.updateContainer(f,this.container,null,rx)}writeToStdout(l){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(l+this.fullStaticOutput+this.lastOutput);return}if(im){this.options.stdout.write(l);return}this.log.clear(),this.options.stdout.write(l),this.log(this.lastOutput)}}writeToStderr(l){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(l),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(im){this.options.stderr.write(l);return}this.log.clear(),this.options.stderr.write(l),this.log(this.lastOutput)}}unmount(l){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),im?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,p4.default.updateContainer(null,this.container,null,rx),QB.default.delete(this.options.stdout),l instanceof Error?this.rejectExitPromise(l):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((l,f)=>{this.resolveExitPromise=l,this.rejectExitPromise=f})),this.exitPromise}clear(){!im&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=KB.default((l,f)=>{l==="stdout"&&this.writeToStdout(f),l==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};uc.default=z3});var ox=nt(Eg=>{"use strict";var ux=Eg&&Eg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Eg,"__esModule",{value:!0});var ZB=ux(ix()),h4=ux(R3()),$B=hi("stream"),eU=(o,l)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},tU(l)),h=nU(f.stdout,()=>new ZB.default(f));return h.render(o),{rerender:h.render,unmount:()=>h.unmount(),waitUntilExit:h.waitUntilExit,cleanup:()=>h4.default.delete(f.stdout),clear:h.clear}};Eg.default=eU;var tU=(o={})=>o instanceof $B.Stream?{stdout:o,stdin:process.stdin}:o,nU=(o,l)=>{let f;return h4.default.has(o)?f=h4.default.get(o):(f=l(),h4.default.set(o,f)),f}});var sx=nt($1=>{"use strict";var rU=$1&&$1.__createBinding||(Object.create?function(o,l,f,h){h===void 0&&(h=f),Object.defineProperty(o,h,{enumerable:!0,get:function(){return l[f]}})}:function(o,l,f,h){h===void 0&&(h=f),o[h]=l[f]}),iU=$1&&$1.__setModuleDefault||(Object.create?function(o,l){Object.defineProperty(o,"default",{enumerable:!0,value:l})}:function(o,l){o.default=l}),uU=$1&&$1.__importStar||function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var f in o)f!=="default"&&Object.hasOwnProperty.call(o,f)&&rU(l,o,f);return iU(l,o),l};Object.defineProperty($1,"__esModule",{value:!0});var Dg=uU(Mi()),lx=o=>{let{items:l,children:f,style:h}=o,[E,t]=Dg.useState(0),N=Dg.useMemo(()=>l.slice(E),[l,E]);Dg.useLayoutEffect(()=>{t(l.length)},[l.length]);let F=N.map((x,j)=>f(x,E+j)),k=Dg.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},h),[h]);return Dg.default.createElement("ink-box",{internal_static:!0,style:k},F)};lx.displayName="Static";$1.default=lx});var fx=nt(wg=>{"use strict";var oU=wg&&wg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(wg,"__esModule",{value:!0});var lU=oU(Mi()),ax=({children:o,transform:l})=>o==null?null:lU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:l},o);ax.displayName="Transform";wg.default=ax});var dx=nt(Sg=>{"use strict";var sU=Sg&&Sg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Sg,"__esModule",{value:!0});var aU=sU(Mi()),cx=({count:o=1})=>aU.default.createElement("ink-text",null,` +`.repeat(o));cx.displayName="Newline";Sg.default=cx});var vx=nt(Tg=>{"use strict";var px=Tg&&Tg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Tg,"__esModule",{value:!0});var fU=px(Mi()),cU=px(c4()),hx=()=>fU.default.createElement(cU.default,{flexGrow:1});hx.displayName="Spacer";Tg.default=hx});var v4=nt(Cg=>{"use strict";var dU=Cg&&Cg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Cg,"__esModule",{value:!0});var pU=Mi(),hU=dU(k3()),vU=()=>pU.useContext(hU.default);Cg.default=vU});var yx=nt(xg=>{"use strict";var mU=xg&&xg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(xg,"__esModule",{value:!0});var mx=Mi(),yU=mU(v4()),gU=(o,l={})=>{let{stdin:f,setRawMode:h,internal_exitOnCtrlC:E}=yU.default();mx.useEffect(()=>{if(l.isActive!==!1)return h(!0),()=>{h(!1)}},[l.isActive,h]),mx.useEffect(()=>{if(l.isActive===!1)return;let t=N=>{let F=String(N),k={upArrow:F==="\x1B[A",downArrow:F==="\x1B[B",leftArrow:F==="\x1B[D",rightArrow:F==="\x1B[C",pageDown:F==="\x1B[6~",pageUp:F==="\x1B[5~",return:F==="\r",escape:F==="\x1B",ctrl:!1,shift:!1,tab:F===" "||F==="\x1B[Z",backspace:F==="\b",delete:F==="\x7F"||F==="\x1B[3~",meta:!1};F<=""&&!k.return&&(F=String.fromCharCode(F.charCodeAt(0)+"a".charCodeAt(0)-1),k.ctrl=!0),F.startsWith("\x1B")&&(F=F.slice(1),k.meta=!0);let x=F>="A"&&F<="Z",j=F>="\u0410"&&F<="\u042F";F.length===1&&(x||j)&&(k.shift=!0),k.tab&&F==="[Z"&&(k.shift=!0),(k.tab||k.backspace||k.delete)&&(F=""),(!(F==="c"&&k.ctrl)||!E)&&o(F,k)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[l.isActive,f,E,o])};xg.default=gU});var gx=nt(Rg=>{"use strict";var _U=Rg&&Rg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Rg,"__esModule",{value:!0});var EU=Mi(),DU=_U(O3()),wU=()=>EU.useContext(DU.default);Rg.default=wU});var _x=nt(Ag=>{"use strict";var SU=Ag&&Ag.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Ag,"__esModule",{value:!0});var TU=Mi(),CU=SU(L3()),xU=()=>TU.useContext(CU.default);Ag.default=xU});var Ex=nt(Og=>{"use strict";var RU=Og&&Og.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Og,"__esModule",{value:!0});var AU=Mi(),OU=RU(P3()),MU=()=>AU.useContext(OU.default);Og.default=MU});var wx=nt(kg=>{"use strict";var Dx=kg&&kg.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(kg,"__esModule",{value:!0});var Mg=Mi(),kU=Dx(f4()),NU=Dx(v4()),LU=({isActive:o=!0,autoFocus:l=!1}={})=>{let{isRawModeSupported:f,setRawMode:h}=NU.default(),{activeId:E,add:t,remove:N,activate:F,deactivate:k}=Mg.useContext(kU.default),x=Mg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Mg.useEffect(()=>(t(x,{autoFocus:l}),()=>{N(x)}),[x,l]),Mg.useEffect(()=>{o?F(x):k(x)},[o,x]),Mg.useEffect(()=>{if(!(!f||!o))return h(!0),()=>{h(!1)}},[o]),{isFocused:Boolean(x)&&E===x}};kg.default=LU});var Sx=nt(Ng=>{"use strict";var FU=Ng&&Ng.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(Ng,"__esModule",{value:!0});var PU=Mi(),IU=FU(f4()),bU=()=>{let o=PU.useContext(IU.default);return{enableFocus:o.enableFocus,disableFocus:o.disableFocus,focusNext:o.focusNext,focusPrevious:o.focusPrevious}};Ng.default=bU});var Tx=nt(H3=>{"use strict";Object.defineProperty(H3,"__esModule",{value:!0});H3.default=o=>{var l,f,h,E;return{width:(f=(l=o.yogaNode)===null||l===void 0?void 0:l.getComputedWidth())!==null&&f!==void 0?f:0,height:(E=(h=o.yogaNode)===null||h===void 0?void 0:h.getComputedHeight())!==null&&E!==void 0?E:0}}});var lc=nt(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});var BU=ox();Object.defineProperty(Yl,"render",{enumerable:!0,get:function(){return BU.default}});var UU=c4();Object.defineProperty(Yl,"Box",{enumerable:!0,get:function(){return UU.default}});var jU=j3();Object.defineProperty(Yl,"Text",{enumerable:!0,get:function(){return jU.default}});var zU=sx();Object.defineProperty(Yl,"Static",{enumerable:!0,get:function(){return zU.default}});var HU=fx();Object.defineProperty(Yl,"Transform",{enumerable:!0,get:function(){return HU.default}});var qU=dx();Object.defineProperty(Yl,"Newline",{enumerable:!0,get:function(){return qU.default}});var WU=vx();Object.defineProperty(Yl,"Spacer",{enumerable:!0,get:function(){return WU.default}});var VU=yx();Object.defineProperty(Yl,"useInput",{enumerable:!0,get:function(){return VU.default}});var GU=gx();Object.defineProperty(Yl,"useApp",{enumerable:!0,get:function(){return GU.default}});var YU=v4();Object.defineProperty(Yl,"useStdin",{enumerable:!0,get:function(){return YU.default}});var KU=_x();Object.defineProperty(Yl,"useStdout",{enumerable:!0,get:function(){return KU.default}});var XU=Ex();Object.defineProperty(Yl,"useStderr",{enumerable:!0,get:function(){return XU.default}});var QU=wx();Object.defineProperty(Yl,"useFocus",{enumerable:!0,get:function(){return QU.default}});var JU=Sx();Object.defineProperty(Yl,"useFocusManager",{enumerable:!0,get:function(){return JU.default}});var ZU=Tx();Object.defineProperty(Yl,"measureElement",{enumerable:!0,get:function(){return ZU.default}})});var Fx=nt(Lg=>{"use strict";Object.defineProperty(Lg,"__esModule",{value:!0});Lg.UncontrolledTextInput=void 0;var Nx=Mi(),V3=Mi(),kx=lc(),ah=s4(),Lx=({value:o,placeholder:l="",focus:f=!0,mask:h,highlightPastedText:E=!1,showCursor:t=!0,onChange:N,onSubmit:F})=>{let[{cursorOffset:k,cursorWidth:x},j]=V3.useState({cursorOffset:(o||"").length,cursorWidth:0});V3.useEffect(()=>{j(me=>{if(!f||!t)return me;let De=o||"";return me.cursorOffset>De.length-1?{cursorOffset:De.length,cursorWidth:0}:me})},[o,f,t]);let q=E?x:0,V=h?h.repeat(o.length):o,re=V,y=l?ah.grey(l):void 0;if(t&&f){y=l.length>0?ah.inverse(l[0])+ah.grey(l.slice(1)):ah.inverse(" "),re=V.length>0?"":ah.inverse(" ");let me=0;for(let De of V)me>=k-q&&me<=k?re+=ah.inverse(De):re+=De,me++;V.length>0&&k===V.length&&(re+=ah.inverse(" "))}return kx.useInput((me,De)=>{if(De.upArrow||De.downArrow||De.ctrl&&me==="c"||De.tab||De.shift&&De.tab)return;if(De.return){F&&F(o);return}let ge=k,ae=o,we=0;De.leftArrow?t&&ge--:De.rightArrow?t&&ge++:De.backspace||De.delete?k>0&&(ae=o.slice(0,k-1)+o.slice(k,o.length),ge--):(ae=o.slice(0,k)+me+o.slice(k,o.length),ge+=me.length,me.length>1&&(we=me.length)),k<0&&(ge=0),k>o.length&&(ge=o.length),j({cursorOffset:ge,cursorWidth:we}),ae!==o&&N(ae)},{isActive:f}),Nx.createElement(kx.Text,null,l?V.length>0?re:y:re)};Lg.default=Lx;Lg.UncontrolledTextInput=o=>{let[l,f]=V3.useState("");return Nx.createElement(Lx,Object.assign({},o,{value:l,onChange:f}))}});var Ix=nt(S4=>{"use strict";Object.defineProperty(S4,"__esModule",{value:!0});function Fg(o){let l=[...o.caches],f=l.shift();return f===void 0?Px():{get(h,E,t={miss:()=>Promise.resolve()}){return f.get(h,E,t).catch(()=>Fg({caches:l}).get(h,E,t))},set(h,E){return f.set(h,E).catch(()=>Fg({caches:l}).set(h,E))},delete(h){return f.delete(h).catch(()=>Fg({caches:l}).delete(h))},clear(){return f.clear().catch(()=>Fg({caches:l}).clear())}}}function Px(){return{get(o,l,f={miss:()=>Promise.resolve()}){return l().then(E=>Promise.all([E,f.miss(E)])).then(([E])=>E)},set(o,l){return Promise.resolve(l)},delete(o){return Promise.resolve()},clear(){return Promise.resolve()}}}S4.createFallbackableCache=Fg;S4.createNullCache=Px});var Bx=nt((EW,bx)=>{bx.exports=Ix()});var Ux=nt(G3=>{"use strict";Object.defineProperty(G3,"__esModule",{value:!0});function $U(o={serializable:!0}){let l={};return{get(f,h,E={miss:()=>Promise.resolve()}){let t=JSON.stringify(f);if(t in l)return Promise.resolve(o.serializable?JSON.parse(l[t]):l[t]);let N=h(),F=E&&E.miss||(()=>Promise.resolve());return N.then(k=>F(k)).then(()=>N)},set(f,h){return l[JSON.stringify(f)]=o.serializable?JSON.stringify(h):h,Promise.resolve(h)},delete(f){return delete l[JSON.stringify(f)],Promise.resolve()},clear(){return l={},Promise.resolve()}}}G3.createInMemoryCache=$U});var zx=nt((wW,jx)=>{jx.exports=Ux()});var qx=nt(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});function ej(o,l,f){let h={"x-algolia-api-key":f,"x-algolia-application-id":l};return{headers(){return o===Y3.WithinHeaders?h:{}},queryParameters(){return o===Y3.WithinQueryParameters?h:{}}}}function tj(o){let l=0,f=()=>(l++,new Promise(h=>{setTimeout(()=>{h(o(f))},Math.min(100*l,1e3))}));return o(f)}function Hx(o,l=(f,h)=>Promise.resolve()){return Object.assign(o,{wait(f){return Hx(o.then(h=>Promise.all([l(h,f),h])).then(h=>h[1]))}})}function nj(o){let l=o.length-1;for(l;l>0;l--){let f=Math.floor(Math.random()*(l+1)),h=o[l];o[l]=o[f],o[f]=h}return o}function rj(o,l){return Object.keys(l!==void 0?l:{}).forEach(f=>{o[f]=l[f](o)}),o}function ij(o,...l){let f=0;return o.replace(/%s/g,()=>encodeURIComponent(l[f++]))}var uj="4.2.0",oj=o=>()=>o.transporter.requester.destroy(),Y3={WithinQueryParameters:0,WithinHeaders:1};sc.AuthMode=Y3;sc.addMethods=rj;sc.createAuth=ej;sc.createRetryablePromise=tj;sc.createWaitablePromise=Hx;sc.destroy=oj;sc.encode=ij;sc.shuffle=nj;sc.version=uj});var Pg=nt((TW,Wx)=>{Wx.exports=qx()});var Vx=nt(K3=>{"use strict";Object.defineProperty(K3,"__esModule",{value:!0});var lj={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};K3.MethodEnum=lj});var Ig=nt((xW,Gx)=>{Gx.exports=Vx()});var l5=nt(G0=>{"use strict";Object.defineProperty(G0,"__esModule",{value:!0});var Kx=Ig();function X3(o,l){let f=o||{},h=f.data||{};return Object.keys(f).forEach(E=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(E)===-1&&(h[E]=f[E])}),{data:Object.entries(h).length>0?h:void 0,timeout:f.timeout||l,headers:f.headers||{},queryParameters:f.queryParameters||{},cacheable:f.cacheable}}var T4={Read:1,Write:2,Any:3},um={Up:1,Down:2,Timeouted:3},Xx=2*60*1e3;function J3(o,l=um.Up){return{...o,status:l,lastUpdate:Date.now()}}function Qx(o){return o.status===um.Up||Date.now()-o.lastUpdate>Xx}function Jx(o){return o.status===um.Timeouted&&Date.now()-o.lastUpdate<=Xx}function Z3(o){return{protocol:o.protocol||"https",url:o.url,accept:o.accept||T4.Any}}function sj(o,l){return Promise.all(l.map(f=>o.get(f,()=>Promise.resolve(J3(f))))).then(f=>{let h=f.filter(F=>Qx(F)),E=f.filter(F=>Jx(F)),t=[...h,...E],N=t.length>0?t.map(F=>Z3(F)):l;return{getTimeout(F,k){return(E.length===0&&F===0?1:E.length+3+F)*k},statelessHosts:N}})}var aj=({isTimedOut:o,status:l})=>!o&&~~l===0,fj=o=>{let l=o.status;return o.isTimedOut||aj(o)||~~(l/100)!==2&&~~(l/100)!==4},cj=({status:o})=>~~(o/100)===2,dj=(o,l)=>fj(o)?l.onRetry(o):cj(o)?l.onSucess(o):l.onFail(o);function Yx(o,l,f,h){let E=[],t=n5(f,h),N=r5(o,h),F=f.method,k=f.method!==Kx.MethodEnum.Get?{}:{...f.data,...h.data},x={"x-algolia-agent":o.userAgent.value,...o.queryParameters,...k,...h.queryParameters},j=0,q=(V,re)=>{let y=V.pop();if(y===void 0)throw o5(Q3(E));let me={data:t,headers:N,method:F,url:e5(y,f.path,x),connectTimeout:re(j,o.timeouts.connect),responseTimeout:re(j,h.timeout)},De=ae=>{let we={request:me,response:ae,host:y,triesLeft:V.length};return E.push(we),we},ge={onSucess:ae=>Zx(ae),onRetry(ae){let we=De(ae);return ae.isTimedOut&&j++,Promise.all([o.logger.info("Retryable failure",$3(we)),o.hostsCache.set(y,J3(y,ae.isTimedOut?um.Timeouted:um.Down))]).then(()=>q(V,re))},onFail(ae){throw De(ae),$x(ae,Q3(E))}};return o.requester.send(me).then(ae=>dj(ae,ge))};return sj(o.hostsCache,l).then(V=>q([...V.statelessHosts].reverse(),V.getTimeout))}function pj(o){let{hostsCache:l,logger:f,requester:h,requestsCache:E,responsesCache:t,timeouts:N,userAgent:F,hosts:k,queryParameters:x,headers:j}=o,q={hostsCache:l,logger:f,requester:h,requestsCache:E,responsesCache:t,timeouts:N,userAgent:F,headers:j,queryParameters:x,hosts:k.map(V=>Z3(V)),read(V,re){let y=X3(re,q.timeouts.read),me=()=>Yx(q,q.hosts.filter(ae=>(ae.accept&T4.Read)!==0),V,y);if((y.cacheable!==void 0?y.cacheable:V.cacheable)!==!0)return me();let ge={request:V,mappedRequestOptions:y,transporter:{queryParameters:q.queryParameters,headers:q.headers}};return q.responsesCache.get(ge,()=>q.requestsCache.get(ge,()=>q.requestsCache.set(ge,me()).then(ae=>Promise.all([q.requestsCache.delete(ge),ae]),ae=>Promise.all([q.requestsCache.delete(ge),Promise.reject(ae)])).then(([ae,we])=>we)),{miss:ae=>q.responsesCache.set(ge,ae)})},write(V,re){return Yx(q,q.hosts.filter(y=>(y.accept&T4.Write)!==0),V,X3(re,q.timeouts.write))}};return q}function hj(o){let l={value:`Algolia for JavaScript (${o})`,add(f){let h=`; ${f.segment}${f.version!==void 0?` (${f.version})`:""}`;return l.value.indexOf(h)===-1&&(l.value=`${l.value}${h}`),l}};return l}function Zx(o){try{return JSON.parse(o.content)}catch(l){throw u5(l.message,o)}}function $x({content:o,status:l},f){let h=o;try{h=JSON.parse(o).message}catch{}return i5(h,l,f)}function vj(o,...l){let f=0;return o.replace(/%s/g,()=>encodeURIComponent(l[f++]))}function e5(o,l,f){let h=t5(f),E=`${o.protocol}://${o.url}/${l.charAt(0)==="/"?l.substr(1):l}`;return h.length&&(E+=`?${h}`),E}function t5(o){let l=f=>Object.prototype.toString.call(f)==="[object Object]"||Object.prototype.toString.call(f)==="[object Array]";return Object.keys(o).map(f=>vj("%s=%s",f,l(o[f])?JSON.stringify(o[f]):o[f])).join("&")}function n5(o,l){if(o.method===Kx.MethodEnum.Get||o.data===void 0&&l.data===void 0)return;let f=Array.isArray(o.data)?o.data:{...o.data,...l.data};return JSON.stringify(f)}function r5(o,l){let f={...o.headers,...l.headers},h={};return Object.keys(f).forEach(E=>{let t=f[E];h[E.toLowerCase()]=t}),h}function Q3(o){return o.map(l=>$3(l))}function $3(o){let l=o.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...o,request:{...o.request,headers:{...o.request.headers,...l}}}}function i5(o,l,f){return{name:"ApiError",message:o,status:l,transporterStackTrace:f}}function u5(o,l){return{name:"DeserializationError",message:o,response:l}}function o5(o){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:o}}G0.CallEnum=T4;G0.HostStatusEnum=um;G0.createApiError=i5;G0.createDeserializationError=u5;G0.createMappedRequestOptions=X3;G0.createRetryError=o5;G0.createStatefulHost=J3;G0.createStatelessHost=Z3;G0.createTransporter=pj;G0.createUserAgent=hj;G0.deserializeFailure=$x;G0.deserializeSuccess=Zx;G0.isStatefulHostTimeouted=Jx;G0.isStatefulHostUp=Qx;G0.serializeData=n5;G0.serializeHeaders=r5;G0.serializeQueryParameters=t5;G0.serializeUrl=e5;G0.stackFrameWithoutCredentials=$3;G0.stackTraceWithoutCredentials=Q3});var bg=nt((AW,s5)=>{s5.exports=l5()});var a5=nt(y2=>{"use strict";Object.defineProperty(y2,"__esModule",{value:!0});var om=Pg(),mj=bg(),Bg=Ig(),yj=o=>{let l=o.region||"us",f=om.createAuth(om.AuthMode.WithinHeaders,o.appId,o.apiKey),h=mj.createTransporter({hosts:[{url:`analytics.${l}.algolia.com`}],...o,headers:{...f.headers(),"content-type":"application/json",...o.headers},queryParameters:{...f.queryParameters(),...o.queryParameters}}),E=o.appId;return om.addMethods({appId:E,transporter:h},o.methods)},gj=o=>(l,f)=>o.transporter.write({method:Bg.MethodEnum.Post,path:"2/abtests",data:l},f),_j=o=>(l,f)=>o.transporter.write({method:Bg.MethodEnum.Delete,path:om.encode("2/abtests/%s",l)},f),Ej=o=>(l,f)=>o.transporter.read({method:Bg.MethodEnum.Get,path:om.encode("2/abtests/%s",l)},f),Dj=o=>l=>o.transporter.read({method:Bg.MethodEnum.Get,path:"2/abtests"},l),wj=o=>(l,f)=>o.transporter.write({method:Bg.MethodEnum.Post,path:om.encode("2/abtests/%s/stop",l)},f);y2.addABTest=gj;y2.createAnalyticsClient=yj;y2.deleteABTest=_j;y2.getABTest=Ej;y2.getABTests=Dj;y2.stopABTest=wj});var c5=nt((MW,f5)=>{f5.exports=a5()});var p5=nt(Ug=>{"use strict";Object.defineProperty(Ug,"__esModule",{value:!0});var ew=Pg(),Sj=bg(),d5=Ig(),Tj=o=>{let l=o.region||"us",f=ew.createAuth(ew.AuthMode.WithinHeaders,o.appId,o.apiKey),h=Sj.createTransporter({hosts:[{url:`recommendation.${l}.algolia.com`}],...o,headers:{...f.headers(),"content-type":"application/json",...o.headers},queryParameters:{...f.queryParameters(),...o.queryParameters}});return ew.addMethods({appId:o.appId,transporter:h},o.methods)},Cj=o=>l=>o.transporter.read({method:d5.MethodEnum.Get,path:"1/strategies/personalization"},l),xj=o=>(l,f)=>o.transporter.write({method:d5.MethodEnum.Post,path:"1/strategies/personalization",data:l},f);Ug.createRecommendationClient=Tj;Ug.getPersonalizationStrategy=Cj;Ug.setPersonalizationStrategy=xj});var v5=nt((NW,h5)=>{h5.exports=p5()});var A5=nt(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});var Nn=Pg(),ra=bg(),Ur=Ig(),Rj=hi("crypto");function C4(o){let l=f=>o.request(f).then(h=>{if(o.batch!==void 0&&o.batch(h.hits),!o.shouldStop(h))return h.cursor?l({cursor:h.cursor}):l({page:(f.page||0)+1})});return l({})}var Aj=o=>{let l=o.appId,f=Nn.createAuth(o.authMode!==void 0?o.authMode:Nn.AuthMode.WithinHeaders,l,o.apiKey),h=ra.createTransporter({hosts:[{url:`${l}-dsn.algolia.net`,accept:ra.CallEnum.Read},{url:`${l}.algolia.net`,accept:ra.CallEnum.Write}].concat(Nn.shuffle([{url:`${l}-1.algolianet.com`},{url:`${l}-2.algolianet.com`},{url:`${l}-3.algolianet.com`}])),...o,headers:{...f.headers(),"content-type":"application/x-www-form-urlencoded",...o.headers},queryParameters:{...f.queryParameters(),...o.queryParameters}}),E={transporter:h,appId:l,addAlgoliaAgent(t,N){h.userAgent.add({segment:t,version:N})},clearCache(){return Promise.all([h.requestsCache.clear(),h.responsesCache.clear()]).then(()=>{})}};return Nn.addMethods(E,o.methods)};function m5(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function y5(){return{name:"ObjectNotFoundError",message:"Object not found."}}function g5(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Oj=o=>(l,f)=>{let{queryParameters:h,...E}=f||{},t={acl:l,...h!==void 0?{queryParameters:h}:{}},N=(F,k)=>Nn.createRetryablePromise(x=>jg(o)(F.key,k).catch(j=>{if(j.status!==404)throw j;return x()}));return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:"1/keys",data:t},E),N)},Mj=o=>(l,f,h)=>{let E=ra.createMappedRequestOptions(h);return E.queryParameters["X-Algolia-User-ID"]=l,o.transporter.write({method:Ur.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:f}},E)},kj=o=>(l,f,h)=>o.transporter.write({method:Ur.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:l,cluster:f}},h),x4=o=>(l,f,h)=>{let E=(t,N)=>zg(o)(l,{methods:{waitTask:xo}}).waitTask(t.taskID,N);return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/operation",l),data:{operation:"copy",destination:f}},h),E)},Nj=o=>(l,f,h)=>x4(o)(l,f,{...h,scope:[A4.Rules]}),Lj=o=>(l,f,h)=>x4(o)(l,f,{...h,scope:[A4.Settings]}),Fj=o=>(l,f,h)=>x4(o)(l,f,{...h,scope:[A4.Synonyms]}),Pj=o=>(l,f)=>{let h=(E,t)=>Nn.createRetryablePromise(N=>jg(o)(l,t).then(N).catch(F=>{if(F.status!==404)throw F}));return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Delete,path:Nn.encode("1/keys/%s",l)},f),h)},Ij=()=>(o,l)=>{let f=ra.serializeQueryParameters(l),h=Rj.createHmac("sha256",o).update(f).digest("hex");return Buffer.from(h+f).toString("base64")},jg=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/keys/%s",l)},f),bj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/logs"},l),Bj=()=>o=>{let l=Buffer.from(o,"base64").toString("ascii"),f=/validUntil=(\d+)/,h=l.match(f);if(h===null)throw g5();return parseInt(h[1],10)-Math.round(new Date().getTime()/1e3)},Uj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping/top"},l),jj=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/clusters/mapping/%s",l)},f),zj=o=>l=>{let{retrieveMappings:f,...h}=l||{};return f===!0&&(h.getClusters=!0),o.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping/pending"},h)},zg=o=>(l,f={})=>{let h={transporter:o.transporter,appId:o.appId,indexName:l};return Nn.addMethods(h,f.methods)},Hj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/keys"},l),qj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters"},l),Wj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/indexes"},l),Vj=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:"1/clusters/mapping"},l),Gj=o=>(l,f,h)=>{let E=(t,N)=>zg(o)(l,{methods:{waitTask:xo}}).waitTask(t.taskID,N);return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/operation",l),data:{operation:"move",destination:f}},h),E)},Yj=o=>(l,f)=>{let h=(E,t)=>Promise.all(Object.keys(E.taskID).map(N=>zg(o)(N,{methods:{waitTask:xo}}).waitTask(E.taskID[N],t)));return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:l}},f),h)},Kj=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:l}},f),Xj=o=>(l,f)=>{let h=l.map(E=>({...E,params:ra.serializeQueryParameters(E.params||{})}));return o.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:h},cacheable:!0},f)},Qj=o=>(l,f)=>Promise.all(l.map(h=>{let{facetName:E,facetQuery:t,...N}=h.params;return zg(o)(h.indexName,{methods:{searchForFacetValues:C5}}).searchForFacetValues(E,t,{...f,...N})})),Jj=o=>(l,f)=>{let h=ra.createMappedRequestOptions(f);return h.queryParameters["X-Algolia-User-ID"]=l,o.transporter.write({method:Ur.MethodEnum.Delete,path:"1/clusters/mapping"},h)},Zj=o=>(l,f)=>{let h=(E,t)=>Nn.createRetryablePromise(N=>jg(o)(l,t).catch(F=>{if(F.status!==404)throw F;return N()}));return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/keys/%s/restore",l)},f),h)},$j=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:l}},f),ez=o=>(l,f)=>{let h=Object.assign({},f),{queryParameters:E,...t}=f||{},N=E?{queryParameters:E}:{},F=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],k=j=>Object.keys(h).filter(q=>F.indexOf(q)!==-1).every(q=>j[q]===h[q]),x=(j,q)=>Nn.createRetryablePromise(V=>jg(o)(l,q).then(re=>k(re)?Promise.resolve():V()));return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Put,path:Nn.encode("1/keys/%s",l),data:N},t),x)},_5=o=>(l,f)=>{let h=(E,t)=>xo(o)(E.taskID,t);return Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/batch",o.indexName),data:{requests:l}},f),h)},tz=o=>l=>C4({...l,shouldStop:f=>f.cursor===void 0,request:f=>o.transporter.read({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/browse",o.indexName),data:f},l)}),nz=o=>l=>{let f={hitsPerPage:1e3,...l};return C4({...f,shouldStop:h=>h.hits.length({...E,hits:E.hits.map(t=>(delete t._highlightResult,t))}))}})},rz=o=>l=>{let f={hitsPerPage:1e3,...l};return C4({...f,shouldStop:h=>h.hits.length({...E,hits:E.hits.map(t=>(delete t._highlightResult,t))}))}})},R4=o=>(l,f,h)=>{let{batchSize:E,...t}=h||{},N={taskIDs:[],objectIDs:[]},F=(k=0)=>{let x=[],j;for(j=k;j({action:f,body:q})),t).then(q=>(N.objectIDs=N.objectIDs.concat(q.objectIDs),N.taskIDs.push(q.taskID),j++,F(j)))};return Nn.createWaitablePromise(F(),(k,x)=>Promise.all(k.taskIDs.map(j=>xo(o)(j,x))))},iz=o=>l=>Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/clear",o.indexName)},l),(f,h)=>xo(o)(f.taskID,h)),uz=o=>l=>{let{forwardToReplicas:f,...h}=l||{},E=ra.createMappedRequestOptions(h);return f&&(E.queryParameters.forwardToReplicas=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/rules/clear",o.indexName)},E),(t,N)=>xo(o)(t.taskID,N))},oz=o=>l=>{let{forwardToReplicas:f,...h}=l||{},E=ra.createMappedRequestOptions(h);return f&&(E.queryParameters.forwardToReplicas=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/synonyms/clear",o.indexName)},E),(t,N)=>xo(o)(t.taskID,N))},lz=o=>(l,f)=>Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/deleteByQuery",o.indexName),data:l},f),(h,E)=>xo(o)(h.taskID,E)),sz=o=>l=>Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Delete,path:Nn.encode("1/indexes/%s",o.indexName)},l),(f,h)=>xo(o)(f.taskID,h)),az=o=>(l,f)=>Nn.createWaitablePromise(E5(o)([l],f).then(h=>({taskID:h.taskIDs[0]})),(h,E)=>xo(o)(h.taskID,E)),E5=o=>(l,f)=>{let h=l.map(E=>({objectID:E}));return R4(o)(h,fh.DeleteObject,f)},fz=o=>(l,f)=>{let{forwardToReplicas:h,...E}=f||{},t=ra.createMappedRequestOptions(E);return h&&(t.queryParameters.forwardToReplicas=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Delete,path:Nn.encode("1/indexes/%s/rules/%s",o.indexName,l)},t),(N,F)=>xo(o)(N.taskID,F))},cz=o=>(l,f)=>{let{forwardToReplicas:h,...E}=f||{},t=ra.createMappedRequestOptions(E);return h&&(t.queryParameters.forwardToReplicas=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Delete,path:Nn.encode("1/indexes/%s/synonyms/%s",o.indexName,l)},t),(N,F)=>xo(o)(N.taskID,F))},dz=o=>l=>D5(o)(l).then(()=>!0).catch(f=>{if(f.status!==404)throw f;return!1}),pz=o=>(l,f)=>{let{query:h,paginate:E,...t}=f||{},N=0,F=()=>T5(o)(h||"",{...t,page:N}).then(k=>{for(let[x,j]of Object.entries(k.hits))if(l(j))return{object:j,position:parseInt(x,10),page:N};if(N++,E===!1||N>=k.nbPages)throw y5();return F()});return F()},hz=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/indexes/%s/%s",o.indexName,l)},f),vz=()=>(o,l)=>{for(let[f,h]of Object.entries(o.hits))if(h.objectID===l)return parseInt(f,10);return-1},mz=o=>(l,f)=>{let{attributesToRetrieve:h,...E}=f||{},t=l.map(N=>({indexName:o.indexName,objectID:N,...h?{attributesToRetrieve:h}:{}}));return o.transporter.read({method:Ur.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},E)},yz=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/indexes/%s/rules/%s",o.indexName,l)},f),D5=o=>l=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/indexes/%s/settings",o.indexName),data:{getVersion:2}},l),gz=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/indexes/%s/synonyms/%s",o.indexName,l)},f),w5=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Get,path:Nn.encode("1/indexes/%s/task/%s",o.indexName,l.toString())},f),_z=o=>(l,f)=>Nn.createWaitablePromise(S5(o)([l],f).then(h=>({objectID:h.objectIDs[0],taskID:h.taskIDs[0]})),(h,E)=>xo(o)(h.taskID,E)),S5=o=>(l,f)=>{let{createIfNotExists:h,...E}=f||{},t=h?fh.PartialUpdateObject:fh.PartialUpdateObjectNoCreate;return R4(o)(l,t,E)},Ez=o=>(l,f)=>{let{safe:h,autoGenerateObjectIDIfNotExist:E,batchSize:t,...N}=f||{},F=(y,me,De,ge)=>Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/operation",y),data:{operation:De,destination:me}},ge),(ae,we)=>xo(o)(ae.taskID,we)),k=Math.random().toString(36).substring(7),x=`${o.indexName}_tmp_${k}`,j=tw({appId:o.appId,transporter:o.transporter,indexName:x}),q=[],V=F(o.indexName,x,"copy",{...N,scope:["settings","synonyms","rules"]});q.push(V);let re=(h?V.wait(N):V).then(()=>{let y=j(l,{...N,autoGenerateObjectIDIfNotExist:E,batchSize:t});return q.push(y),h?y.wait(N):y}).then(()=>{let y=F(x,o.indexName,"move",N);return q.push(y),h?y.wait(N):y}).then(()=>Promise.all(q)).then(([y,me,De])=>({objectIDs:me.objectIDs,taskIDs:[y.taskID,...me.taskIDs,De.taskID]}));return Nn.createWaitablePromise(re,(y,me)=>Promise.all(q.map(De=>De.wait(me))))},Dz=o=>(l,f)=>nw(o)(l,{...f,clearExistingRules:!0}),wz=o=>(l,f)=>rw(o)(l,{...f,replaceExistingSynonyms:!0}),Sz=o=>(l,f)=>Nn.createWaitablePromise(tw(o)([l],f).then(h=>({objectID:h.objectIDs[0],taskID:h.taskIDs[0]})),(h,E)=>xo(o)(h.taskID,E)),tw=o=>(l,f)=>{let{autoGenerateObjectIDIfNotExist:h,...E}=f||{},t=h?fh.AddObject:fh.UpdateObject;if(t===fh.UpdateObject){for(let N of l)if(N.objectID===void 0)return Nn.createWaitablePromise(Promise.reject(m5()))}return R4(o)(l,t,E)},Tz=o=>(l,f)=>nw(o)([l],f),nw=o=>(l,f)=>{let{forwardToReplicas:h,clearExistingRules:E,...t}=f||{},N=ra.createMappedRequestOptions(t);return h&&(N.queryParameters.forwardToReplicas=1),E&&(N.queryParameters.clearExistingRules=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/rules/batch",o.indexName),data:l},N),(F,k)=>xo(o)(F.taskID,k))},Cz=o=>(l,f)=>rw(o)([l],f),rw=o=>(l,f)=>{let{forwardToReplicas:h,replaceExistingSynonyms:E,...t}=f||{},N=ra.createMappedRequestOptions(t);return h&&(N.queryParameters.forwardToReplicas=1),E&&(N.queryParameters.replaceExistingSynonyms=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/synonyms/batch",o.indexName),data:l},N),(F,k)=>xo(o)(F.taskID,k))},T5=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/query",o.indexName),data:{query:l},cacheable:!0},f),C5=o=>(l,f,h)=>o.transporter.read({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/facets/%s/query",o.indexName,l),data:{facetQuery:f},cacheable:!0},h),x5=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/rules/search",o.indexName),data:{query:l}},f),R5=o=>(l,f)=>o.transporter.read({method:Ur.MethodEnum.Post,path:Nn.encode("1/indexes/%s/synonyms/search",o.indexName),data:{query:l}},f),xz=o=>(l,f)=>{let{forwardToReplicas:h,...E}=f||{},t=ra.createMappedRequestOptions(E);return h&&(t.queryParameters.forwardToReplicas=1),Nn.createWaitablePromise(o.transporter.write({method:Ur.MethodEnum.Put,path:Nn.encode("1/indexes/%s/settings",o.indexName),data:l},t),(N,F)=>xo(o)(N.taskID,F))},xo=o=>(l,f)=>Nn.createRetryablePromise(h=>w5(o)(l,f).then(E=>E.status!=="published"?h():void 0)),Rz={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},fh={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},A4={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},Az={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},Oz={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};tn.ApiKeyACLEnum=Rz;tn.BatchActionEnum=fh;tn.ScopeEnum=A4;tn.StrategyEnum=Az;tn.SynonymEnum=Oz;tn.addApiKey=Oj;tn.assignUserID=Mj;tn.assignUserIDs=kj;tn.batch=_5;tn.browseObjects=tz;tn.browseRules=nz;tn.browseSynonyms=rz;tn.chunkedBatch=R4;tn.clearObjects=iz;tn.clearRules=uz;tn.clearSynonyms=oz;tn.copyIndex=x4;tn.copyRules=Nj;tn.copySettings=Lj;tn.copySynonyms=Fj;tn.createBrowsablePromise=C4;tn.createMissingObjectIDError=m5;tn.createObjectNotFoundError=y5;tn.createSearchClient=Aj;tn.createValidUntilNotFoundError=g5;tn.deleteApiKey=Pj;tn.deleteBy=lz;tn.deleteIndex=sz;tn.deleteObject=az;tn.deleteObjects=E5;tn.deleteRule=fz;tn.deleteSynonym=cz;tn.exists=dz;tn.findObject=pz;tn.generateSecuredApiKey=Ij;tn.getApiKey=jg;tn.getLogs=bj;tn.getObject=hz;tn.getObjectPosition=vz;tn.getObjects=mz;tn.getRule=yz;tn.getSecuredApiKeyRemainingValidity=Bj;tn.getSettings=D5;tn.getSynonym=gz;tn.getTask=w5;tn.getTopUserIDs=Uj;tn.getUserID=jj;tn.hasPendingMappings=zj;tn.initIndex=zg;tn.listApiKeys=Hj;tn.listClusters=qj;tn.listIndices=Wj;tn.listUserIDs=Vj;tn.moveIndex=Gj;tn.multipleBatch=Yj;tn.multipleGetObjects=Kj;tn.multipleQueries=Xj;tn.multipleSearchForFacetValues=Qj;tn.partialUpdateObject=_z;tn.partialUpdateObjects=S5;tn.removeUserID=Jj;tn.replaceAllObjects=Ez;tn.replaceAllRules=Dz;tn.replaceAllSynonyms=wz;tn.restoreApiKey=Zj;tn.saveObject=Sz;tn.saveObjects=tw;tn.saveRule=Tz;tn.saveRules=nw;tn.saveSynonym=Cz;tn.saveSynonyms=rw;tn.search=T5;tn.searchForFacetValues=C5;tn.searchRules=x5;tn.searchSynonyms=R5;tn.searchUserIDs=$j;tn.setSettings=xz;tn.updateApiKey=ez;tn.waitTask=xo});var M5=nt((FW,O5)=>{O5.exports=A5()});var k5=nt(O4=>{"use strict";Object.defineProperty(O4,"__esModule",{value:!0});function Mz(){return{debug(o,l){return Promise.resolve()},info(o,l){return Promise.resolve()},error(o,l){return Promise.resolve()}}}var kz={Debug:1,Info:2,Error:3};O4.LogLevelEnum=kz;O4.createNullLogger=Mz});var L5=nt((IW,N5)=>{N5.exports=k5()});var I5=nt(iw=>{"use strict";Object.defineProperty(iw,"__esModule",{value:!0});var F5=hi("http"),P5=hi("https"),Nz=hi("url");function Lz(){let o={keepAlive:!0},l=new F5.Agent(o),f=new P5.Agent(o);return{send(h){return new Promise(E=>{let t=Nz.parse(h.url),N=t.query===null?t.pathname:`${t.pathname}?${t.query}`,F={agent:t.protocol==="https:"?f:l,hostname:t.hostname,path:N,method:h.method,headers:h.headers,...t.port!==void 0?{port:t.port||""}:{}},k=(t.protocol==="https:"?P5:F5).request(F,V=>{let re="";V.on("data",y=>re+=y),V.on("end",()=>{clearTimeout(j),clearTimeout(q),E({status:V.statusCode||0,content:re,isTimedOut:!1})})}),x=(V,re)=>setTimeout(()=>{k.abort(),E({status:0,content:re,isTimedOut:!0})},V*1e3),j=x(h.connectTimeout,"Connection timeout"),q;k.on("error",V=>{clearTimeout(j),clearTimeout(q),E({status:0,content:V.message,isTimedOut:!1})}),k.once("response",()=>{clearTimeout(j),q=x(h.responseTimeout,"Socket timeout")}),h.data!==void 0&&k.write(h.data),k.end()})},destroy(){return l.destroy(),f.destroy(),Promise.resolve()}}}iw.createNodeHttpRequester=Lz});var B5=nt((BW,b5)=>{b5.exports=I5()});var H5=nt((UW,z5)=>{"use strict";var U5=Bx(),Fz=zx(),lm=c5(),ow=Pg(),uw=v5(),wn=M5(),Pz=L5(),Iz=B5(),bz=bg();function j5(o,l,f){let h={appId:o,apiKey:l,timeouts:{connect:2,read:5,write:30},requester:Iz.createNodeHttpRequester(),logger:Pz.createNullLogger(),responsesCache:U5.createNullCache(),requestsCache:U5.createNullCache(),hostsCache:Fz.createInMemoryCache(),userAgent:bz.createUserAgent(ow.version).add({segment:"Node.js",version:process.versions.node})};return wn.createSearchClient({...h,...f,methods:{search:wn.multipleQueries,searchForFacetValues:wn.multipleSearchForFacetValues,multipleBatch:wn.multipleBatch,multipleGetObjects:wn.multipleGetObjects,multipleQueries:wn.multipleQueries,copyIndex:wn.copyIndex,copySettings:wn.copySettings,copyRules:wn.copyRules,copySynonyms:wn.copySynonyms,moveIndex:wn.moveIndex,listIndices:wn.listIndices,getLogs:wn.getLogs,listClusters:wn.listClusters,multipleSearchForFacetValues:wn.multipleSearchForFacetValues,getApiKey:wn.getApiKey,addApiKey:wn.addApiKey,listApiKeys:wn.listApiKeys,updateApiKey:wn.updateApiKey,deleteApiKey:wn.deleteApiKey,restoreApiKey:wn.restoreApiKey,assignUserID:wn.assignUserID,assignUserIDs:wn.assignUserIDs,getUserID:wn.getUserID,searchUserIDs:wn.searchUserIDs,listUserIDs:wn.listUserIDs,getTopUserIDs:wn.getTopUserIDs,removeUserID:wn.removeUserID,hasPendingMappings:wn.hasPendingMappings,generateSecuredApiKey:wn.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:wn.getSecuredApiKeyRemainingValidity,destroy:ow.destroy,initIndex:E=>t=>wn.initIndex(E)(t,{methods:{batch:wn.batch,delete:wn.deleteIndex,getObject:wn.getObject,getObjects:wn.getObjects,saveObject:wn.saveObject,saveObjects:wn.saveObjects,search:wn.search,searchForFacetValues:wn.searchForFacetValues,waitTask:wn.waitTask,setSettings:wn.setSettings,getSettings:wn.getSettings,partialUpdateObject:wn.partialUpdateObject,partialUpdateObjects:wn.partialUpdateObjects,deleteObject:wn.deleteObject,deleteObjects:wn.deleteObjects,deleteBy:wn.deleteBy,clearObjects:wn.clearObjects,browseObjects:wn.browseObjects,getObjectPosition:wn.getObjectPosition,findObject:wn.findObject,exists:wn.exists,saveSynonym:wn.saveSynonym,saveSynonyms:wn.saveSynonyms,getSynonym:wn.getSynonym,searchSynonyms:wn.searchSynonyms,browseSynonyms:wn.browseSynonyms,deleteSynonym:wn.deleteSynonym,clearSynonyms:wn.clearSynonyms,replaceAllObjects:wn.replaceAllObjects,replaceAllSynonyms:wn.replaceAllSynonyms,searchRules:wn.searchRules,getRule:wn.getRule,deleteRule:wn.deleteRule,saveRule:wn.saveRule,saveRules:wn.saveRules,replaceAllRules:wn.replaceAllRules,browseRules:wn.browseRules,clearRules:wn.clearRules}}),initAnalytics:()=>E=>lm.createAnalyticsClient({...h,...E,methods:{addABTest:lm.addABTest,getABTest:lm.getABTest,getABTests:lm.getABTests,stopABTest:lm.stopABTest,deleteABTest:lm.deleteABTest}}),initRecommendation:()=>E=>uw.createRecommendationClient({...h,...E,methods:{getPersonalizationStrategy:uw.getPersonalizationStrategy,setPersonalizationStrategy:uw.setPersonalizationStrategy}})}})}j5.version=ow.version;z5.exports=j5});var W5=nt((jW,lw)=>{var q5=H5();lw.exports=q5;lw.exports.default=q5});var Yz={};HF(Yz,{default:()=>Gz});var G5=hi("@yarnpkg/cli"),ch=hi("@yarnpkg/core");var Cx=V0(lc()),lh=V0(Mi()),m4=(0,lh.memo)(({active:o})=>{let l=(0,lh.useMemo)(()=>o?"\u25C9":"\u25EF",[o]),f=(0,lh.useMemo)(()=>o?"green":"yellow",[o]);return lh.default.createElement(Cx.Text,{color:f},l)});var m2=V0(lc()),na=V0(Mi());var xx=V0(lc()),y4=V0(Mi());function v2({active:o},l,f){let{stdin:h}=(0,xx.useStdin)(),E=(0,y4.useCallback)((t,N)=>l(t,N),f);(0,y4.useEffect)(()=>{if(!(!o||!h))return h.on("keypress",E),()=>{h.off("keypress",E)}},[o,E,h])}var Rx=function({active:o},l,f){v2({active:o},(h,E)=>{E.name==="tab"&&(E.shift?l("before"):l("after"))},f)};var g4=function(o,l,{active:f,minus:h,plus:E,set:t,loop:N=!0}){v2({active:f},(F,k)=>{let x=l.indexOf(o);switch(k.name){case h:{let j=x-1;if(N){t(l[(l.length+j)%l.length]);return}if(j<0)return;t(l[j])}break;case E:{let j=x+1;if(N){t(l[j%l.length]);return}if(j>=l.length)return;t(l[j])}break}},[l,o,E,t,N])};var _4=({active:o=!0,children:l=[],radius:f=10,size:h=1,loop:E=!0,onFocusRequest:t,willReachEnd:N})=>{let F=De=>{if(De.key===null)throw new Error("Expected all children to have a key");return De.key},k=na.default.Children.map(l,De=>F(De)),x=k[0],[j,q]=(0,na.useState)(x),V=k.indexOf(j);(0,na.useEffect)(()=>{k.includes(j)||q(x)},[l]),(0,na.useEffect)(()=>{N&&V>=k.length-2&&N()},[V]),Rx({active:o&&!!t},De=>{t==null||t(De)},[t]),g4(j,k,{active:o,minus:"up",plus:"down",set:q,loop:E});let re=V-f,y=V+f;y>k.length&&(re-=y-k.length,y=k.length),re<0&&(y+=-re,re=0),y>=k.length&&(y=k.length-1);let me=[];for(let De=re;De<=y;++De){let ge=k[De],ae=o&&ge===j;me.push(na.default.createElement(m2.Box,{key:ge,height:h},na.default.createElement(m2.Box,{marginLeft:1,marginRight:1},na.default.createElement(m2.Text,null,ae?na.default.createElement(m2.Text,{color:"cyan",bold:!0},">"):" ")),na.default.createElement(m2.Box,null,na.default.cloneElement(l[De],{active:ae}))))}return na.default.createElement(m2.Box,{flexDirection:"column",width:"100%"},me)};var E4=V0(Mi());var Ax=V0(lc()),ed=V0(Mi()),Ox=hi("readline"),q3=ed.default.createContext(null),Mx=({children:o})=>{let{stdin:l,setRawMode:f}=(0,Ax.useStdin)();(0,ed.useEffect)(()=>{f&&f(!0),l&&(0,Ox.emitKeypressEvents)(l)},[l,f]);let[h,E]=(0,ed.useState)(new Map),t=(0,ed.useMemo)(()=>({getAll:()=>h,get:N=>h.get(N),set:(N,F)=>E(new Map([...h,[N,F]]))}),[h,E]);return ed.default.createElement(q3.Provider,{value:t,children:o})};function sh(o,l){let f=(0,E4.useContext)(q3);if(f===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof o>"u")return f.getAll();let h=(0,E4.useCallback)(t=>{f.set(o,t)},[o,f.set]),E=f.get(o);return typeof E>"u"&&(E=l),[E,h]}var D4=V0(lc()),W3=V0(Mi());async function w4(o,l,{stdin:f,stdout:h,stderr:E}={}){let t,N=k=>{let{exit:x}=(0,D4.useApp)();v2({active:!0},(j,q)=>{q.name==="return"&&(t=k,x())},[x,k])},{waitUntilExit:F}=(0,D4.render)(W3.default.createElement(Mx,null,W3.default.createElement(o,{...l,useSubmit:N})),{stdin:f,stdout:h,stderr:E});return await F(),t}var Y5=hi("clipanion"),K5=V0(Fx()),or=V0(lc()),En=V0(Mi());var V5=V0(W5()),sw={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},Bz=(0,V5.default)(sw.appId,sw.apiKey).initIndex(sw.indexName),aw=async(o,l=0)=>await Bz.search(o,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:l,hitsPerPage:10});var Hg=["regular","dev","peer"],dh=class extends G5.BaseCommand{async execute(){let l=await ch.Configuration.find(this.context.cwd,this.context.plugins),f=()=>En.default.createElement(or.Box,{flexDirection:"row"},En.default.createElement(or.Box,{flexDirection:"column",width:48},En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},""),"/",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),En.default.createElement(or.Box,null,En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),En.default.createElement(or.Box,{flexDirection:"column"},En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),En.default.createElement(or.Box,{marginLeft:1},En.default.createElement(or.Text,null,"Press ",En.default.createElement(or.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),h=()=>En.default.createElement(En.default.Fragment,null,En.default.createElement(or.Box,{width:15},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),En.default.createElement(or.Box,{width:11},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Version")),En.default.createElement(or.Box,{width:10},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),E=()=>En.default.createElement(or.Box,{width:17},En.default.createElement(or.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:re,active:y})=>{let[me,De]=sh(re.name,null);v2({active:y},(we,he)=>{if(he.name!=="space")return;if(!me){De(Hg[0]);return}let ve=Hg.indexOf(me)+1;ve===Hg.length?De(null):De(Hg[ve])},[me,De]);let ge=ch.structUtils.parseIdent(re.name),ae=ch.structUtils.prettyIdent(l,ge);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:45},En.default.createElement(or.Text,{bold:!0,wrap:"wrap"},ae)),En.default.createElement(or.Box,{width:14,marginLeft:1},En.default.createElement(or.Text,{bold:!0,wrap:"truncate"},re.owner.name)),En.default.createElement(or.Box,{width:10,marginLeft:1},En.default.createElement(or.Text,{italic:!0,wrap:"truncate"},re.version)),En.default.createElement(or.Box,{width:16,marginLeft:1},En.default.createElement(or.Text,null,re.humanDownloadsLast30Days)))},N=({name:re,active:y})=>{let[me]=sh(re,null),De=ch.structUtils.parseIdent(re);return En.default.createElement(or.Box,null,En.default.createElement(or.Box,{width:47},En.default.createElement(or.Text,{bold:!0}," - ",ch.structUtils.prettyIdent(l,De))),Hg.map(ge=>En.default.createElement(or.Box,{key:ge,width:14,marginLeft:1},En.default.createElement(or.Text,null," ",En.default.createElement(m4,{active:me===ge})," ",En.default.createElement(or.Text,{bold:!0},ge)))))},F=()=>En.default.createElement(or.Box,{marginTop:1},En.default.createElement(or.Text,null,"Powered by Algolia.")),x=await w4(({useSubmit:re})=>{let y=sh();re(y);let me=Array.from(y.keys()).filter(We=>y.get(We)!==null),[De,ge]=(0,En.useState)(""),[ae,we]=(0,En.useState)(0),[he,ve]=(0,En.useState)([]),ue=We=>{We.match(/\t| /)||ge(We)},Ae=async()=>{we(0);let We=await aw(De);We.query===De&&ve(We.hits)},ze=async()=>{let We=await aw(De,ae+1);We.query===De&&We.page-1===ae&&(we(We.page),ve([...he,...We.hits]))};return(0,En.useEffect)(()=>{De?Ae():ve([])},[De]),En.default.createElement(or.Box,{flexDirection:"column"},En.default.createElement(f,null),En.default.createElement(or.Box,{flexDirection:"row",marginTop:1},En.default.createElement(or.Text,{bold:!0},"Search: "),En.default.createElement(or.Box,{width:41},En.default.createElement(K5.default,{value:De,onChange:ue,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),En.default.createElement(h,null)),he.length?En.default.createElement(_4,{radius:2,loop:!1,children:he.map(We=>En.default.createElement(t,{key:We.name,hit:We,active:!1})),willReachEnd:ze}):En.default.createElement(or.Text,{color:"gray"},"Start typing..."),En.default.createElement(or.Box,{flexDirection:"row",marginTop:1},En.default.createElement(or.Box,{width:49},En.default.createElement(or.Text,{bold:!0},"Selected:")),En.default.createElement(E,null)),me.length?me.map(We=>En.default.createElement(N,{key:We,name:We,active:!1})):En.default.createElement(or.Text,{color:"gray"},"No selected packages..."),En.default.createElement(F,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof x>"u")return 1;let j=Array.from(x.keys()).filter(re=>x.get(re)==="regular"),q=Array.from(x.keys()).filter(re=>x.get(re)==="dev"),V=Array.from(x.keys()).filter(re=>x.get(re)==="peer");return j.length&&await this.cli.run(["add",...j]),q.length&&await this.cli.run(["add","--dev",...q]),V&&await this.cli.run(["add","--peer",...V]),0}};dh.paths=[["search"]],dh.usage=Y5.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. - `,examples:[["Open the search window","yarn search"]]});var Q5=Ug;var O4=vu(require("@yarnpkg/cli")),xo=vu(require("@yarnpkg/core"));var jg=vu(lc()),_2=vu(Mi());var J5=vu(lc()),Z5=vu(Mi()),R4=({length:i,active:o})=>{if(i===0)return null;let a=i>1?` ${"-".repeat(i-1)}`:" ";return Z5.default.createElement(J5.Text,{dimColor:!o},a)};var $5=function({active:i,skewer:o,options:a,value:p,onChange:_,sizes:t=[]}){let k=a.filter(({label:O})=>!!O).map(({value:O})=>O),L=a.findIndex(O=>O.value===p&&O.label!="");return v4(p,k,{active:i,minus:"left",plus:"right",set:_}),_2.default.createElement(_2.default.Fragment,null,a.map(({label:O},C)=>{let U=C===L,H=t[C]-1||0,W=O.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),ne=Math.max(0,H-W.length-2);return O?_2.default.createElement(jg.Box,{key:O,width:H,marginLeft:1},_2.default.createElement(jg.Text,{wrap:"truncate"},_2.default.createElement(d4,{active:U})," ",O),o?_2.default.createElement(R4,{active:i,length:ne}):null):_2.default.createElement(jg.Box,{key:`spacer-${C}`,width:H,marginLeft:1})}))};var i9=vu(require("@yarnpkg/plugin-essentials")),M4=vu(require("clipanion"));function td(){}td.prototype={diff:function(o,a){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},_=p.callback;typeof p=="function"&&(_=p,p={}),this.options=p;var t=this;function k(he){return _?(setTimeout(function(){_(void 0,he)},0),!0):he}o=this.castInput(o),a=this.castInput(a),o=this.removeEmpty(this.tokenize(o)),a=this.removeEmpty(this.tokenize(a));var L=a.length,O=o.length,C=1,U=L+O;p.maxEditLength&&(U=Math.min(U,p.maxEditLength));var H=[{newPos:-1,components:[]}],W=this.extractCommon(H[0],a,o,0);if(H[0].newPos+1>=L&&W+1>=O)return k([{value:this.join(a),count:a.length}]);function ne(){for(var he=-1*C;he<=C;he+=2){var Ee=void 0,ve=H[he-1],se=H[he+1],De=(se?se.newPos:0)-he;ve&&(H[he-1]=void 0);var pe=ve&&ve.newPos+1=L&&De+1>=O)return k(Vz(t,Ee.components,a,o,t.useLongestToken));H[he]=Ee}C++}if(_)(function he(){setTimeout(function(){if(C>U)return _();ne()||he()},0)})();else for(;C<=U;){var m=ne();if(m)return m}},pushComponent:function(o,a,p){var _=o[o.length-1];_&&_.added===a&&_.removed===p?o[o.length-1]={count:_.count+1,added:a,removed:p}:o.push({count:1,added:a,removed:p})},extractCommon:function(o,a,p,_){for(var t=a.length,k=p.length,L=o.newPos,O=L-_,C=0;L+1ne.length?he:ne}),C.value=i.join(U)}else C.value=i.join(a.slice(L,L+C.count));L+=C.count,C.added||(O+=C.count)}}var W=o[k-1];return k>1&&typeof W.value=="string"&&(W.added||W.removed)&&i.equals("",W.value)&&(o[k-2].value+=W.value,o.pop()),o}function Gz(i){return{newPos:i.newPos,components:i.components.slice(0)}}var aV=new td;function Yz(i,o){if(typeof i=="function")o.callback=i;else if(i)for(var a in i)i.hasOwnProperty(a)&&(o[a]=i[a]);return o}var e9=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,t9=/\S/,$3=new td;$3.equals=function(i,o){return this.options.ignoreCase&&(i=i.toLowerCase(),o=o.toLowerCase()),i===o||this.options.ignoreWhitespace&&!t9.test(i)&&!t9.test(o)};$3.tokenize=function(i){for(var o=i.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),a=0;a=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,l9=(i,o)=>i.length>0?[i.slice(0,o)].concat(l9(i.slice(o),o)):[],Hg=class extends O4.BaseCommand{async execute(){if(!this.context.stdout.isTTY)throw new M4.UsageError("This command can only be run in a TTY environment");let o=await xo.Configuration.find(this.context.cwd,this.context.plugins),{project:a,workspace:p}=await xo.Project.find(o,this.context.cwd),_=await xo.Cache.find(o);if(!p)throw new O4.WorkspaceRequiredError(a.cwd,this.context.cwd);await a.restoreInstallState({restoreResolutions:!1});let t=this.context.stdout.rows-7,k=(se,De)=>{let pe=n9(se,De),me="";for(let ie of pe)ie.added?me+=xo.formatUtils.pretty(o,ie.value,"green"):ie.removed||(me+=ie.value);return me},L=(se,De)=>{if(se===De)return De;let pe=xo.structUtils.parseRange(se),me=xo.structUtils.parseRange(De),ie=pe.selector.match(o9),Oe=me.selector.match(o9);if(!ie||!Oe)return k(se,De);let je=["gray","red","yellow","green","magenta"],qe=null,yt="";for(let gt=1;gt{let me=await i9.suggestUtils.fetchDescriptorFrom(se,pe,{project:a,cache:_,preserveModifier:De,workspace:p});return me!==null?me.range:se.range},C=async se=>{let De=u9.default.valid(se.range)?`^${se.range}`:se.range,[pe,me]=await Promise.all([O(se,se.range,De).catch(()=>null),O(se,se.range,"latest").catch(()=>null)]),ie=[{value:null,label:se.range}];return pe&&pe!==se.range?ie.push({value:pe,label:L(se.range,pe)}):ie.push({value:null,label:""}),me&&me!==pe&&me!==se.range?ie.push({value:me,label:L(se.range,me)}):ie.push({value:null,label:""}),ie},U=()=>Tr.default.createElement(bi.Box,{flexDirection:"row"},Tr.default.createElement(bi.Box,{flexDirection:"column",width:49},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},""),"/",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},""),"/",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),Tr.default.createElement(bi.Box,{flexDirection:"column"},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to install.")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),H=()=>Tr.default.createElement(bi.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},Tr.default.createElement(bi.Box,{width:50},Tr.default.createElement(bi.Text,{bold:!0},Tr.default.createElement(bi.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Current")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Range")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),W=({active:se,descriptor:De,suggestions:pe})=>{let[me,ie]=lh(De.descriptorHash,null),Oe=xo.structUtils.stringifyIdent(De),je=Math.max(0,45-Oe.length);return Tr.default.createElement(Tr.default.Fragment,null,Tr.default.createElement(bi.Box,null,Tr.default.createElement(bi.Box,{width:45},Tr.default.createElement(bi.Text,{bold:!0},xo.structUtils.prettyIdent(o,De)),Tr.default.createElement(R4,{active:se,length:je})),Tr.default.createElement($5,{active:se,options:pe,value:me,skewer:!0,onChange:ie,sizes:[17,17,17]})))},ne=({dependencies:se})=>{let[De,pe]=(0,Tr.useState)(se.map(()=>null)),me=(0,Tr.useRef)(!0),ie=async Oe=>{let je=await C(Oe);return je.filter(qe=>qe.label!=="").length<=1?null:{descriptor:Oe,suggestions:je}};return(0,Tr.useEffect)(()=>()=>{me.current=!1},[]),(0,Tr.useEffect)(()=>{let Oe=Math.trunc(t*1.75),je=se.slice(0,Oe),qe=se.slice(Oe),yt=l9(qe,t),gt=je.map(ie).reduce(async(Xe,ut)=>{await Xe;let We=await ut;We!==null&&(!me.current||pe(Ft=>{let Jt=Ft.findIndex(Q=>Q===null),rt=[...Ft];return rt[Jt]=We,rt}))},Promise.resolve());yt.reduce((Xe,ut)=>Promise.all(ut.map(We=>Promise.resolve().then(()=>ie(We)))).then(async We=>{We=We.filter(Ft=>Ft!==null),await Xe,me.current&&pe(Ft=>{let Jt=Ft.findIndex(rt=>rt===null);return Ft.slice(0,Jt).concat(We).concat(Ft.slice(Jt+We.length))})}),gt).then(()=>{me.current&&pe(Xe=>Xe.filter(ut=>ut!==null))})},[]),De.length?Tr.default.createElement(m4,{radius:t>>1,children:De.map((Oe,je)=>Oe!==null?Tr.default.createElement(W,{key:je,active:!1,descriptor:Oe.descriptor,suggestions:Oe.suggestions}):Tr.default.createElement(bi.Text,{key:je},"Loading..."))}):Tr.default.createElement(bi.Text,null,"No upgrades found")},he=await _4(({useSubmit:se})=>{se(lh());let De=new Map;for(let me of a.workspaces)for(let ie of["dependencies","devDependencies"])for(let Oe of me.manifest[ie].values())a.tryWorkspaceByDescriptor(Oe)===null&&De.set(Oe.descriptorHash,Oe);let pe=xo.miscUtils.sortMap(De.values(),me=>xo.structUtils.stringifyDescriptor(me));return Tr.default.createElement(bi.Box,{flexDirection:"column"},Tr.default.createElement(U,null),Tr.default.createElement(H,null),Tr.default.createElement(ne,{dependencies:pe}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof he=="undefined")return 1;let Ee=!1;for(let se of a.workspaces)for(let De of["dependencies","devDependencies"]){let pe=se.manifest[De];for(let me of pe.values()){let ie=he.get(me.descriptorHash);typeof ie!="undefined"&&ie!==null&&(pe.set(me.identHash,xo.structUtils.makeDescriptor(me,ie)),Ee=!0)}}return Ee?(await xo.StreamReport.start({configuration:o,stdout:this.context.stdout,includeLogs:!this.context.quiet},async se=>{await a.install({cache:_,report:se})})).exitCode():0}};Hg.paths=[["upgrade-interactive"]],Hg.usage=M4.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + `,examples:[["Open the search window","yarn search"]]});var N4=hi("@yarnpkg/cli"),Ro=hi("@yarnpkg/core");var qg=V0(lc()),g2=V0(Mi());var X5=V0(lc()),Q5=V0(Mi()),M4=({length:o,active:l})=>{if(o===0)return null;let f=o>1?` ${"-".repeat(o-1)}`:" ";return Q5.default.createElement(X5.Text,{dimColor:!l},f)};var J5=function({active:o,skewer:l,options:f,value:h,onChange:E,sizes:t=[]}){let N=f.filter(({label:k})=>!!k).map(({value:k})=>k),F=f.findIndex(k=>k.value===h&&k.label!="");return g4(h,N,{active:o,minus:"left",plus:"right",set:E}),g2.default.createElement(g2.default.Fragment,null,f.map(({label:k},x)=>{let j=x===F,q=t[x]-1||0,V=k.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),re=Math.max(0,q-V.length-2);return k?g2.default.createElement(qg.Box,{key:k,width:q,marginLeft:1},g2.default.createElement(qg.Text,{wrap:"truncate"},g2.default.createElement(m4,{active:j})," ",k),l?g2.default.createElement(M4,{active:o,length:re}):null):g2.default.createElement(qg.Box,{key:`spacer-${x}`,width:q,marginLeft:1})}))};var r9=hi("@yarnpkg/plugin-essentials"),L4=hi("clipanion");function td(){}td.prototype={diff:function(l,f){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},E=h.callback;typeof h=="function"&&(E=h,h={}),this.options=h;var t=this;function N(me){return E?(setTimeout(function(){E(void 0,me)},0),!0):me}l=this.castInput(l),f=this.castInput(f),l=this.removeEmpty(this.tokenize(l)),f=this.removeEmpty(this.tokenize(f));var F=f.length,k=l.length,x=1,j=F+k;h.maxEditLength&&(j=Math.min(j,h.maxEditLength));var q=[{newPos:-1,components:[]}],V=this.extractCommon(q[0],f,l,0);if(q[0].newPos+1>=F&&V+1>=k)return N([{value:this.join(f),count:f.length}]);function re(){for(var me=-1*x;me<=x;me+=2){var De=void 0,ge=q[me-1],ae=q[me+1],we=(ae?ae.newPos:0)-me;ge&&(q[me-1]=void 0);var he=ge&&ge.newPos+1=F&&we+1>=k)return N(Uz(t,De.components,f,l,t.useLongestToken));q[me]=De}x++}if(E)(function me(){setTimeout(function(){if(x>j)return E();re()||me()},0)})();else for(;x<=j;){var y=re();if(y)return y}},pushComponent:function(l,f,h){var E=l[l.length-1];E&&E.added===f&&E.removed===h?l[l.length-1]={count:E.count+1,added:f,removed:h}:l.push({count:1,added:f,removed:h})},extractCommon:function(l,f,h,E){for(var t=f.length,N=h.length,F=l.newPos,k=F-E,x=0;F+1re.length?me:re}),x.value=o.join(j)}else x.value=o.join(f.slice(F,F+x.count));F+=x.count,x.added||(k+=x.count)}}var V=l[N-1];return N>1&&typeof V.value=="string"&&(V.added||V.removed)&&o.equals("",V.value)&&(l[N-2].value+=V.value,l.pop()),l}function jz(o){return{newPos:o.newPos,components:o.components.slice(0)}}var rV=new td;function zz(o,l){if(typeof o=="function")l.callback=o;else if(o)for(var f in o)o.hasOwnProperty(f)&&(l[f]=o[f]);return l}var Z5=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,$5=/\S/,dw=new td;dw.equals=function(o,l){return this.options.ignoreCase&&(o=o.toLowerCase(),l=l.toLowerCase()),o===l||this.options.ignoreWhitespace&&!$5.test(o)&&!$5.test(l)};dw.tokenize=function(o){for(var l=o.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),f=0;f"u"?f:N}:h;return typeof o=="string"?o:JSON.stringify(fw(o,null,null,E),E," ")};Wg.equals=function(o,l){return td.prototype.equals.call(Wg,o.replace(/,([\r\n])/g,"$1"),l.replace(/,([\r\n])/g,"$1"))};function fw(o,l,f,h,E){l=l||[],f=f||[],h&&(o=h(E,o));var t;for(t=0;t=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,u9=(o,l)=>o.length>0?[o.slice(0,l)].concat(u9(o.slice(l),l)):[],ph=class extends N4.BaseCommand{async execute(){if(!this.context.stdout.isTTY)throw new L4.UsageError("This command can only be run in a TTY environment");let l=await Ro.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:h}=await Ro.Project.find(l,this.context.cwd),E=await Ro.Cache.find(l);if(!h)throw new N4.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState({restoreResolutions:!1});let t=this.context.stdout.rows-7,N=(ae,we)=>{let he=e9(ae,we),ve="";for(let ue of he)ue.added?ve+=Ro.formatUtils.pretty(l,ue.value,"green"):ue.removed||(ve+=ue.value);return ve},F=(ae,we)=>{if(ae===we)return we;let he=Ro.structUtils.parseRange(ae),ve=Ro.structUtils.parseRange(we),ue=he.selector.match(n9),Ae=ve.selector.match(n9);if(!ue||!Ae)return N(ae,we);let ze=["gray","red","yellow","green","magenta"],We=null,gt="";for(let _t=1;_t{let ve=await r9.suggestUtils.fetchDescriptorFrom(ae,he,{project:f,cache:E,preserveModifier:we,workspace:h});return ve!==null?ve.range:ae.range},x=async ae=>{let we=i9.default.valid(ae.range)?`^${ae.range}`:ae.range,[he,ve]=await Promise.all([k(ae,ae.range,we).catch(()=>null),k(ae,ae.range,"latest").catch(()=>null)]),ue=[{value:null,label:ae.range}];return he&&he!==ae.range?ue.push({value:he,label:F(ae.range,he)}):ue.push({value:null,label:""}),ve&&ve!==he&&ve!==ae.range?ue.push({value:ve,label:F(ae.range,ve)}):ue.push({value:null,label:""}),ue},j=()=>Tr.default.createElement(bi.Box,{flexDirection:"row"},Tr.default.createElement(bi.Box,{flexDirection:"column",width:49},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},""),"/",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},""),"/",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),Tr.default.createElement(bi.Box,{flexDirection:"column"},Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to install.")),Tr.default.createElement(bi.Box,{marginLeft:1},Tr.default.createElement(bi.Text,null,"Press ",Tr.default.createElement(bi.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),q=()=>Tr.default.createElement(bi.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},Tr.default.createElement(bi.Box,{width:50},Tr.default.createElement(bi.Text,{bold:!0},Tr.default.createElement(bi.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Current")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Range")),Tr.default.createElement(bi.Box,{width:17},Tr.default.createElement(bi.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),V=({active:ae,descriptor:we,suggestions:he})=>{let[ve,ue]=sh(we.descriptorHash,null),Ae=Ro.structUtils.stringifyIdent(we),ze=Math.max(0,45-Ae.length);return Tr.default.createElement(Tr.default.Fragment,null,Tr.default.createElement(bi.Box,null,Tr.default.createElement(bi.Box,{width:45},Tr.default.createElement(bi.Text,{bold:!0},Ro.structUtils.prettyIdent(l,we)),Tr.default.createElement(M4,{active:ae,length:ze})),Tr.default.createElement(J5,{active:ae,options:he,value:ve,skewer:!0,onChange:ue,sizes:[17,17,17]})))},re=({dependencies:ae})=>{let[we,he]=(0,Tr.useState)(ae.map(()=>null)),ve=(0,Tr.useRef)(!0),ue=async Ae=>{let ze=await x(Ae);return ze.filter(We=>We.label!=="").length<=1?null:{descriptor:Ae,suggestions:ze}};return(0,Tr.useEffect)(()=>()=>{ve.current=!1},[]),(0,Tr.useEffect)(()=>{let Ae=Math.trunc(t*1.75),ze=ae.slice(0,Ae),We=ae.slice(Ae),gt=u9(We,t),_t=ze.map(ue).reduce(async(Qe,ot)=>{await Qe;let Ve=await ot;Ve!==null&&(!ve.current||he(Pt=>{let Jt=Pt.findIndex(J=>J===null),it=[...Pt];return it[Jt]=Ve,it}))},Promise.resolve());gt.reduce((Qe,ot)=>Promise.all(ot.map(Ve=>Promise.resolve().then(()=>ue(Ve)))).then(async Ve=>{Ve=Ve.filter(Pt=>Pt!==null),await Qe,ve.current&&he(Pt=>{let Jt=Pt.findIndex(it=>it===null);return Pt.slice(0,Jt).concat(Ve).concat(Pt.slice(Jt+Ve.length))})}),_t).then(()=>{ve.current&&he(Qe=>Qe.filter(ot=>ot!==null))})},[]),we.length?Tr.default.createElement(_4,{radius:t>>1,children:we.map((Ae,ze)=>Ae!==null?Tr.default.createElement(V,{key:ze,active:!1,descriptor:Ae.descriptor,suggestions:Ae.suggestions}):Tr.default.createElement(bi.Text,{key:ze},"Loading..."))}):Tr.default.createElement(bi.Text,null,"No upgrades found")},me=await w4(({useSubmit:ae})=>{ae(sh());let we=new Map;for(let ve of f.workspaces)for(let ue of["dependencies","devDependencies"])for(let Ae of ve.manifest[ue].values())f.tryWorkspaceByDescriptor(Ae)===null&&(Ae.range.startsWith("link:")||we.set(Ae.descriptorHash,Ae));let he=Ro.miscUtils.sortMap(we.values(),ve=>Ro.structUtils.stringifyDescriptor(ve));return Tr.default.createElement(bi.Box,{flexDirection:"column"},Tr.default.createElement(j,null),Tr.default.createElement(q,null),Tr.default.createElement(re,{dependencies:he}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof me>"u")return 1;let De=!1;for(let ae of f.workspaces)for(let we of["dependencies","devDependencies"]){let he=ae.manifest[we];for(let ve of he.values()){let ue=me.get(ve.descriptorHash);typeof ue<"u"&&ue!==null&&(he.set(ve.identHash,Ro.structUtils.makeDescriptor(ve,ue)),De=!0)}}return De?(await Ro.StreamReport.start({configuration:l,stdout:this.context.stdout,includeLogs:!this.context.quiet},async ae=>{await f.install({cache:E,report:ae})})).exitCode():0}};ph.paths=[["upgrade-interactive"]],ph.usage=L4.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. - `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var s9=Hg;var Zz={commands:[Q5,s9]},$z=Zz;return Jz;})(); + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var Vz={commands:[dh,ph]},Gz=Vz;return qF(Yz);})(); /* object-assign (c) Sindre Sorhus diff --git a/.yarn/plugins/@yarnpkg/plugin-version.cjs b/.yarn/plugins/@yarnpkg/plugin-version.cjs deleted file mode 100644 index 87de4f440..000000000 --- a/.yarn/plugins/@yarnpkg/plugin-version.cjs +++ /dev/null @@ -1,550 +0,0 @@ -/* eslint-disable */ -//prettier-ignore -module.exports = { -name: "@yarnpkg/plugin-version", -factory: function (require) { -var plugin=(()=>{var ZB=Object.create,zy=Object.defineProperty,$B=Object.defineProperties,eU=Object.getOwnPropertyDescriptor,tU=Object.getOwnPropertyDescriptors,nU=Object.getOwnPropertyNames,uS=Object.getOwnPropertySymbols,rU=Object.getPrototypeOf,oS=Object.prototype.hasOwnProperty,iU=Object.prototype.propertyIsEnumerable;var lS=(i,o,f)=>o in i?zy(i,o,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[o]=f,E0=(i,o)=>{for(var f in o||(o={}))oS.call(o,f)&&lS(i,f,o[f]);if(uS)for(var f of uS(o))iU.call(o,f)&&lS(i,f,o[f]);return i},Gf=(i,o)=>$B(i,tU(o)),uU=i=>zy(i,"__esModule",{value:!0});var ce=(i,o)=>()=>(o||i((o={exports:{}}).exports,o),o.exports),sS=(i,o)=>{for(var f in o)zy(i,f,{get:o[f],enumerable:!0})},oU=(i,o,f)=>{if(o&&typeof o=="object"||typeof o=="function")for(let p of nU(o))!oS.call(i,p)&&p!=="default"&&zy(i,p,{get:()=>o[p],enumerable:!(f=eU(o,p))||f.enumerable});return i},Mi=i=>oU(uU(zy(i!=null?ZB(rU(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var eD=ce((F$,aS)=>{function lU(i,o){for(var f=-1,p=i==null?0:i.length,E=Array(p);++f{function sU(){this.__data__=[],this.size=0}fS.exports=sU});var tD=ce((P$,dS)=>{function aU(i,o){return i===o||i!==i&&o!==o}dS.exports=aU});var qy=ce((I$,pS)=>{var fU=tD();function cU(i,o){for(var f=i.length;f--;)if(fU(i[f][0],o))return f;return-1}pS.exports=cU});var vS=ce((B$,hS)=>{var dU=qy(),pU=Array.prototype,hU=pU.splice;function vU(i){var o=this.__data__,f=dU(o,i);if(f<0)return!1;var p=o.length-1;return f==p?o.pop():hU.call(o,f,1),--this.size,!0}hS.exports=vU});var yS=ce((U$,mS)=>{var mU=qy();function yU(i){var o=this.__data__,f=mU(o,i);return f<0?void 0:o[f][1]}mS.exports=yU});var _S=ce((j$,gS)=>{var gU=qy();function _U(i){return gU(this.__data__,i)>-1}gS.exports=_U});var DS=ce((z$,ES)=>{var EU=qy();function DU(i,o){var f=this.__data__,p=EU(f,i);return p<0?(++this.size,f.push([i,o])):f[p][1]=o,this}ES.exports=DU});var Hy=ce((q$,wS)=>{var wU=cS(),SU=vS(),TU=yS(),CU=_S(),xU=DS();function jv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var AU=Hy();function RU(){this.__data__=new AU,this.size=0}SS.exports=RU});var xS=ce((W$,CS)=>{function OU(i){var o=this.__data__,f=o.delete(i);return this.size=o.size,f}CS.exports=OU});var RS=ce((V$,AS)=>{function kU(i){return this.__data__.get(i)}AS.exports=kU});var kS=ce((G$,OS)=>{function MU(i){return this.__data__.has(i)}OS.exports=MU});var nD=ce((Y$,MS)=>{var NU=typeof global=="object"&&global&&global.Object===Object&&global;MS.exports=NU});var Yf=ce((K$,NS)=>{var LU=nD(),FU=typeof self=="object"&&self&&self.Object===Object&&self,bU=LU||FU||Function("return this")();NS.exports=bU});var zv=ce((X$,LS)=>{var PU=Yf(),IU=PU.Symbol;LS.exports=IU});var BS=ce((Q$,bS)=>{var PS=zv(),IS=Object.prototype,BU=IS.hasOwnProperty,UU=IS.toString,Wy=PS?PS.toStringTag:void 0;function jU(i){var o=BU.call(i,Wy),f=i[Wy];try{i[Wy]=void 0;var p=!0}catch(t){}var E=UU.call(i);return p&&(o?i[Wy]=f:delete i[Wy]),E}bS.exports=jU});var jS=ce((J$,US)=>{var zU=Object.prototype,qU=zU.toString;function HU(i){return qU.call(i)}US.exports=HU});var Qp=ce((Z$,zS)=>{var qS=zv(),WU=BS(),VU=jS(),GU="[object Null]",YU="[object Undefined]",HS=qS?qS.toStringTag:void 0;function KU(i){return i==null?i===void 0?YU:GU:HS&&HS in Object(i)?WU(i):VU(i)}zS.exports=KU});var qv=ce(($$,WS)=>{function XU(i){var o=typeof i;return i!=null&&(o=="object"||o=="function")}WS.exports=XU});var rD=ce((eee,VS)=>{var QU=Qp(),JU=qv(),ZU="[object AsyncFunction]",$U="[object Function]",ej="[object GeneratorFunction]",tj="[object Proxy]";function nj(i){if(!JU(i))return!1;var o=QU(i);return o==$U||o==ej||o==ZU||o==tj}VS.exports=nj});var YS=ce((tee,GS)=>{var rj=Yf(),ij=rj["__core-js_shared__"];GS.exports=ij});var QS=ce((nee,KS)=>{var iD=YS(),XS=function(){var i=/[^.]+$/.exec(iD&&iD.keys&&iD.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function uj(i){return!!XS&&XS in i}KS.exports=uj});var uD=ce((ree,JS)=>{var oj=Function.prototype,lj=oj.toString;function sj(i){if(i!=null){try{return lj.call(i)}catch(o){}try{return i+""}catch(o){}}return""}JS.exports=sj});var $S=ce((iee,ZS)=>{var aj=rD(),fj=QS(),cj=qv(),dj=uD(),pj=/[\\^$.*+?()[\]{}|]/g,hj=/^\[object .+?Constructor\]$/,vj=Function.prototype,mj=Object.prototype,yj=vj.toString,gj=mj.hasOwnProperty,_j=RegExp("^"+yj.call(gj).replace(pj,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ej(i){if(!cj(i)||fj(i))return!1;var o=aj(i)?_j:hj;return o.test(dj(i))}ZS.exports=Ej});var tT=ce((uee,eT)=>{function Dj(i,o){return i==null?void 0:i[o]}eT.exports=Dj});var sd=ce((oee,nT)=>{var wj=$S(),Sj=tT();function Tj(i,o){var f=Sj(i,o);return wj(f)?f:void 0}nT.exports=Tj});var L_=ce((lee,rT)=>{var Cj=sd(),xj=Yf(),Aj=Cj(xj,"Map");rT.exports=Aj});var Vy=ce((see,iT)=>{var Rj=sd(),Oj=Rj(Object,"create");iT.exports=Oj});var lT=ce((aee,uT)=>{var oT=Vy();function kj(){this.__data__=oT?oT(null):{},this.size=0}uT.exports=kj});var aT=ce((fee,sT)=>{function Mj(i){var o=this.has(i)&&delete this.__data__[i];return this.size-=o?1:0,o}sT.exports=Mj});var cT=ce((cee,fT)=>{var Nj=Vy(),Lj="__lodash_hash_undefined__",Fj=Object.prototype,bj=Fj.hasOwnProperty;function Pj(i){var o=this.__data__;if(Nj){var f=o[i];return f===Lj?void 0:f}return bj.call(o,i)?o[i]:void 0}fT.exports=Pj});var pT=ce((dee,dT)=>{var Ij=Vy(),Bj=Object.prototype,Uj=Bj.hasOwnProperty;function jj(i){var o=this.__data__;return Ij?o[i]!==void 0:Uj.call(o,i)}dT.exports=jj});var vT=ce((pee,hT)=>{var zj=Vy(),qj="__lodash_hash_undefined__";function Hj(i,o){var f=this.__data__;return this.size+=this.has(i)?0:1,f[i]=zj&&o===void 0?qj:o,this}hT.exports=Hj});var yT=ce((hee,mT)=>{var Wj=lT(),Vj=aT(),Gj=cT(),Yj=pT(),Kj=vT();function Hv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var _T=yT(),Xj=Hy(),Qj=L_();function Jj(){this.size=0,this.__data__={hash:new _T,map:new(Qj||Xj),string:new _T}}gT.exports=Jj});var wT=ce((mee,DT)=>{function Zj(i){var o=typeof i;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?i!=="__proto__":i===null}DT.exports=Zj});var Gy=ce((yee,ST)=>{var $j=wT();function ez(i,o){var f=i.__data__;return $j(o)?f[typeof o=="string"?"string":"hash"]:f.map}ST.exports=ez});var CT=ce((gee,TT)=>{var tz=Gy();function nz(i){var o=tz(this,i).delete(i);return this.size-=o?1:0,o}TT.exports=nz});var AT=ce((_ee,xT)=>{var rz=Gy();function iz(i){return rz(this,i).get(i)}xT.exports=iz});var OT=ce((Eee,RT)=>{var uz=Gy();function oz(i){return uz(this,i).has(i)}RT.exports=oz});var MT=ce((Dee,kT)=>{var lz=Gy();function sz(i,o){var f=lz(this,i),p=f.size;return f.set(i,o),this.size+=f.size==p?0:1,this}kT.exports=sz});var oD=ce((wee,NT)=>{var az=ET(),fz=CT(),cz=AT(),dz=OT(),pz=MT();function Wv(i){var o=-1,f=i==null?0:i.length;for(this.clear();++o{var hz=Hy(),vz=L_(),mz=oD(),yz=200;function gz(i,o){var f=this.__data__;if(f instanceof hz){var p=f.__data__;if(!vz||p.length{var _z=Hy(),Ez=TS(),Dz=xS(),wz=RS(),Sz=kS(),Tz=FT();function Vv(i){var o=this.__data__=new _z(i);this.size=o.size}Vv.prototype.clear=Ez;Vv.prototype.delete=Dz;Vv.prototype.get=wz;Vv.prototype.has=Sz;Vv.prototype.set=Tz;bT.exports=Vv});var BT=ce((Cee,IT)=>{function Cz(i,o){for(var f=-1,p=i==null?0:i.length;++f{var xz=sd(),Az=function(){try{var i=xz(Object,"defineProperty");return i({},"",{}),i}catch(o){}}();UT.exports=Az});var sD=ce((Aee,jT)=>{var zT=lD();function Rz(i,o,f){o=="__proto__"&&zT?zT(i,o,{configurable:!0,enumerable:!0,value:f,writable:!0}):i[o]=f}jT.exports=Rz});var aD=ce((Ree,qT)=>{var Oz=sD(),kz=tD(),Mz=Object.prototype,Nz=Mz.hasOwnProperty;function Lz(i,o,f){var p=i[o];(!(Nz.call(i,o)&&kz(p,f))||f===void 0&&!(o in i))&&Oz(i,o,f)}qT.exports=Lz});var Gv=ce((Oee,HT)=>{var Fz=aD(),bz=sD();function Pz(i,o,f,p){var E=!f;f||(f={});for(var t=-1,k=o.length;++t{function Iz(i,o){for(var f=-1,p=Array(i);++f{function Bz(i){return i!=null&&typeof i=="object"}GT.exports=Bz});var KT=ce((Nee,YT)=>{var Uz=Qp(),jz=ad(),zz="[object Arguments]";function qz(i){return jz(i)&&Uz(i)==zz}YT.exports=qz});var fD=ce((Lee,XT)=>{var QT=KT(),Hz=ad(),JT=Object.prototype,Wz=JT.hasOwnProperty,Vz=JT.propertyIsEnumerable,Gz=QT(function(){return arguments}())?QT:function(i){return Hz(i)&&Wz.call(i,"callee")&&!Vz.call(i,"callee")};XT.exports=Gz});var fd=ce((Fee,ZT)=>{var Yz=Array.isArray;ZT.exports=Yz});var eC=ce((bee,$T)=>{function Kz(){return!1}$T.exports=Kz});var cD=ce((Yy,Yv)=>{var Xz=Yf(),Qz=eC(),tC=typeof Yy=="object"&&Yy&&!Yy.nodeType&&Yy,nC=tC&&typeof Yv=="object"&&Yv&&!Yv.nodeType&&Yv,Jz=nC&&nC.exports===tC,rC=Jz?Xz.Buffer:void 0,Zz=rC?rC.isBuffer:void 0,$z=Zz||Qz;Yv.exports=$z});var uC=ce((Pee,iC)=>{var eq=9007199254740991,tq=/^(?:0|[1-9]\d*)$/;function nq(i,o){var f=typeof i;return o=o==null?eq:o,!!o&&(f=="number"||f!="symbol"&&tq.test(i))&&i>-1&&i%1==0&&i{var rq=9007199254740991;function iq(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=rq}oC.exports=iq});var sC=ce((Bee,lC)=>{var uq=Qp(),oq=dD(),lq=ad(),sq="[object Arguments]",aq="[object Array]",fq="[object Boolean]",cq="[object Date]",dq="[object Error]",pq="[object Function]",hq="[object Map]",vq="[object Number]",mq="[object Object]",yq="[object RegExp]",gq="[object Set]",_q="[object String]",Eq="[object WeakMap]",Dq="[object ArrayBuffer]",wq="[object DataView]",Sq="[object Float32Array]",Tq="[object Float64Array]",Cq="[object Int8Array]",xq="[object Int16Array]",Aq="[object Int32Array]",Rq="[object Uint8Array]",Oq="[object Uint8ClampedArray]",kq="[object Uint16Array]",Mq="[object Uint32Array]",o0={};o0[Sq]=o0[Tq]=o0[Cq]=o0[xq]=o0[Aq]=o0[Rq]=o0[Oq]=o0[kq]=o0[Mq]=!0;o0[sq]=o0[aq]=o0[Dq]=o0[fq]=o0[wq]=o0[cq]=o0[dq]=o0[pq]=o0[hq]=o0[vq]=o0[mq]=o0[yq]=o0[gq]=o0[_q]=o0[Eq]=!1;function Nq(i){return lq(i)&&oq(i.length)&&!!o0[uq(i)]}lC.exports=Nq});var F_=ce((Uee,aC)=>{function Lq(i){return function(o){return i(o)}}aC.exports=Lq});var b_=ce((Ky,Kv)=>{var Fq=nD(),fC=typeof Ky=="object"&&Ky&&!Ky.nodeType&&Ky,Xy=fC&&typeof Kv=="object"&&Kv&&!Kv.nodeType&&Kv,bq=Xy&&Xy.exports===fC,pD=bq&&Fq.process,Pq=function(){try{var i=Xy&&Xy.require&&Xy.require("util").types;return i||pD&&pD.binding&&pD.binding("util")}catch(o){}}();Kv.exports=Pq});var hC=ce((jee,cC)=>{var Iq=sC(),Bq=F_(),dC=b_(),pC=dC&&dC.isTypedArray,Uq=pC?Bq(pC):Iq;cC.exports=Uq});var hD=ce((zee,vC)=>{var jq=VT(),zq=fD(),qq=fd(),Hq=cD(),Wq=uC(),Vq=hC(),Gq=Object.prototype,Yq=Gq.hasOwnProperty;function Kq(i,o){var f=qq(i),p=!f&&zq(i),E=!f&&!p&&Hq(i),t=!f&&!p&&!E&&Vq(i),k=f||p||E||t,L=k?jq(i.length,String):[],N=L.length;for(var C in i)(o||Yq.call(i,C))&&!(k&&(C=="length"||E&&(C=="offset"||C=="parent")||t&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||Wq(C,N)))&&L.push(C);return L}vC.exports=Kq});var P_=ce((qee,mC)=>{var Xq=Object.prototype;function Qq(i){var o=i&&i.constructor,f=typeof o=="function"&&o.prototype||Xq;return i===f}mC.exports=Qq});var vD=ce((Hee,yC)=>{function Jq(i,o){return function(f){return i(o(f))}}yC.exports=Jq});var _C=ce((Wee,gC)=>{var Zq=vD(),$q=Zq(Object.keys,Object);gC.exports=$q});var DC=ce((Vee,EC)=>{var eH=P_(),tH=_C(),nH=Object.prototype,rH=nH.hasOwnProperty;function iH(i){if(!eH(i))return tH(i);var o=[];for(var f in Object(i))rH.call(i,f)&&f!="constructor"&&o.push(f);return o}EC.exports=iH});var mD=ce((Gee,wC)=>{var uH=rD(),oH=dD();function lH(i){return i!=null&&oH(i.length)&&!uH(i)}wC.exports=lH});var I_=ce((Yee,SC)=>{var sH=hD(),aH=DC(),fH=mD();function cH(i){return fH(i)?sH(i):aH(i)}SC.exports=cH});var CC=ce((Kee,TC)=>{var dH=Gv(),pH=I_();function hH(i,o){return i&&dH(o,pH(o),i)}TC.exports=hH});var AC=ce((Xee,xC)=>{function vH(i){var o=[];if(i!=null)for(var f in Object(i))o.push(f);return o}xC.exports=vH});var OC=ce((Qee,RC)=>{var mH=qv(),yH=P_(),gH=AC(),_H=Object.prototype,EH=_H.hasOwnProperty;function DH(i){if(!mH(i))return gH(i);var o=yH(i),f=[];for(var p in i)p=="constructor"&&(o||!EH.call(i,p))||f.push(p);return f}RC.exports=DH});var B_=ce((Jee,kC)=>{var wH=hD(),SH=OC(),TH=mD();function CH(i){return TH(i)?wH(i,!0):SH(i)}kC.exports=CH});var NC=ce((Zee,MC)=>{var xH=Gv(),AH=B_();function RH(i,o){return i&&xH(o,AH(o),i)}MC.exports=RH});var IC=ce((Qy,Xv)=>{var OH=Yf(),LC=typeof Qy=="object"&&Qy&&!Qy.nodeType&&Qy,FC=LC&&typeof Xv=="object"&&Xv&&!Xv.nodeType&&Xv,kH=FC&&FC.exports===LC,bC=kH?OH.Buffer:void 0,PC=bC?bC.allocUnsafe:void 0;function MH(i,o){if(o)return i.slice();var f=i.length,p=PC?PC(f):new i.constructor(f);return i.copy(p),p}Xv.exports=MH});var UC=ce(($ee,BC)=>{function NH(i,o){var f=-1,p=i.length;for(o||(o=Array(p));++f{function LH(i,o){for(var f=-1,p=i==null?0:i.length,E=0,t=[];++f{function FH(){return[]}qC.exports=FH});var U_=ce((nte,HC)=>{var bH=zC(),PH=yD(),IH=Object.prototype,BH=IH.propertyIsEnumerable,WC=Object.getOwnPropertySymbols,UH=WC?function(i){return i==null?[]:(i=Object(i),bH(WC(i),function(o){return BH.call(i,o)}))}:PH;HC.exports=UH});var GC=ce((rte,VC)=>{var jH=Gv(),zH=U_();function qH(i,o){return jH(i,zH(i),o)}VC.exports=qH});var j_=ce((ite,YC)=>{function HH(i,o){for(var f=-1,p=o.length,E=i.length;++f{var WH=vD(),VH=WH(Object.getPrototypeOf,Object);KC.exports=VH});var gD=ce((ote,XC)=>{var GH=j_(),YH=z_(),KH=U_(),XH=yD(),QH=Object.getOwnPropertySymbols,JH=QH?function(i){for(var o=[];i;)GH(o,KH(i)),i=YH(i);return o}:XH;XC.exports=JH});var JC=ce((lte,QC)=>{var ZH=Gv(),$H=gD();function eW(i,o){return ZH(i,$H(i),o)}QC.exports=eW});var _D=ce((ste,ZC)=>{var tW=j_(),nW=fd();function rW(i,o,f){var p=o(i);return nW(i)?p:tW(p,f(i))}ZC.exports=rW});var e6=ce((ate,$C)=>{var iW=_D(),uW=U_(),oW=I_();function lW(i){return iW(i,oW,uW)}$C.exports=lW});var ED=ce((fte,t6)=>{var sW=_D(),aW=gD(),fW=B_();function cW(i){return sW(i,fW,aW)}t6.exports=cW});var r6=ce((cte,n6)=>{var dW=sd(),pW=Yf(),hW=dW(pW,"DataView");n6.exports=hW});var u6=ce((dte,i6)=>{var vW=sd(),mW=Yf(),yW=vW(mW,"Promise");i6.exports=yW});var l6=ce((pte,o6)=>{var gW=sd(),_W=Yf(),EW=gW(_W,"Set");o6.exports=EW});var a6=ce((hte,s6)=>{var DW=sd(),wW=Yf(),SW=DW(wW,"WeakMap");s6.exports=SW});var q_=ce((vte,f6)=>{var DD=r6(),wD=L_(),SD=u6(),TD=l6(),CD=a6(),c6=Qp(),Qv=uD(),d6="[object Map]",TW="[object Object]",p6="[object Promise]",h6="[object Set]",v6="[object WeakMap]",m6="[object DataView]",CW=Qv(DD),xW=Qv(wD),AW=Qv(SD),RW=Qv(TD),OW=Qv(CD),Jp=c6;(DD&&Jp(new DD(new ArrayBuffer(1)))!=m6||wD&&Jp(new wD)!=d6||SD&&Jp(SD.resolve())!=p6||TD&&Jp(new TD)!=h6||CD&&Jp(new CD)!=v6)&&(Jp=function(i){var o=c6(i),f=o==TW?i.constructor:void 0,p=f?Qv(f):"";if(p)switch(p){case CW:return m6;case xW:return d6;case AW:return p6;case RW:return h6;case OW:return v6}return o});f6.exports=Jp});var g6=ce((mte,y6)=>{var kW=Object.prototype,MW=kW.hasOwnProperty;function NW(i){var o=i.length,f=new i.constructor(o);return o&&typeof i[0]=="string"&&MW.call(i,"index")&&(f.index=i.index,f.input=i.input),f}y6.exports=NW});var E6=ce((yte,_6)=>{var LW=Yf(),FW=LW.Uint8Array;_6.exports=FW});var H_=ce((gte,D6)=>{var w6=E6();function bW(i){var o=new i.constructor(i.byteLength);return new w6(o).set(new w6(i)),o}D6.exports=bW});var T6=ce((_te,S6)=>{var PW=H_();function IW(i,o){var f=o?PW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}S6.exports=IW});var x6=ce((Ete,C6)=>{var BW=/\w*$/;function UW(i){var o=new i.constructor(i.source,BW.exec(i));return o.lastIndex=i.lastIndex,o}C6.exports=UW});var M6=ce((Dte,A6)=>{var R6=zv(),O6=R6?R6.prototype:void 0,k6=O6?O6.valueOf:void 0;function jW(i){return k6?Object(k6.call(i)):{}}A6.exports=jW});var L6=ce((wte,N6)=>{var zW=H_();function qW(i,o){var f=o?zW(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.length)}N6.exports=qW});var b6=ce((Ste,F6)=>{var HW=H_(),WW=T6(),VW=x6(),GW=M6(),YW=L6(),KW="[object Boolean]",XW="[object Date]",QW="[object Map]",JW="[object Number]",ZW="[object RegExp]",$W="[object Set]",eV="[object String]",tV="[object Symbol]",nV="[object ArrayBuffer]",rV="[object DataView]",iV="[object Float32Array]",uV="[object Float64Array]",oV="[object Int8Array]",lV="[object Int16Array]",sV="[object Int32Array]",aV="[object Uint8Array]",fV="[object Uint8ClampedArray]",cV="[object Uint16Array]",dV="[object Uint32Array]";function pV(i,o,f){var p=i.constructor;switch(o){case nV:return HW(i);case KW:case XW:return new p(+i);case rV:return WW(i,f);case iV:case uV:case oV:case lV:case sV:case aV:case fV:case cV:case dV:return YW(i,f);case QW:return new p;case JW:case eV:return new p(i);case ZW:return VW(i);case $W:return new p;case tV:return GW(i)}}F6.exports=pV});var B6=ce((Tte,P6)=>{var hV=qv(),I6=Object.create,vV=function(){function i(){}return function(o){if(!hV(o))return{};if(I6)return I6(o);i.prototype=o;var f=new i;return i.prototype=void 0,f}}();P6.exports=vV});var j6=ce((Cte,U6)=>{var mV=B6(),yV=z_(),gV=P_();function _V(i){return typeof i.constructor=="function"&&!gV(i)?mV(yV(i)):{}}U6.exports=_V});var q6=ce((xte,z6)=>{var EV=q_(),DV=ad(),wV="[object Map]";function SV(i){return DV(i)&&EV(i)==wV}z6.exports=SV});var G6=ce((Ate,H6)=>{var TV=q6(),CV=F_(),W6=b_(),V6=W6&&W6.isMap,xV=V6?CV(V6):TV;H6.exports=xV});var K6=ce((Rte,Y6)=>{var AV=q_(),RV=ad(),OV="[object Set]";function kV(i){return RV(i)&&AV(i)==OV}Y6.exports=kV});var Z6=ce((Ote,X6)=>{var MV=K6(),NV=F_(),Q6=b_(),J6=Q6&&Q6.isSet,LV=J6?NV(J6):MV;X6.exports=LV});var rx=ce((kte,$6)=>{var FV=PT(),bV=BT(),PV=aD(),IV=CC(),BV=NC(),UV=IC(),jV=UC(),zV=GC(),qV=JC(),HV=e6(),WV=ED(),VV=q_(),GV=g6(),YV=b6(),KV=j6(),XV=fd(),QV=cD(),JV=G6(),ZV=qv(),$V=Z6(),eG=I_(),tG=B_(),nG=1,rG=2,iG=4,ex="[object Arguments]",uG="[object Array]",oG="[object Boolean]",lG="[object Date]",sG="[object Error]",tx="[object Function]",aG="[object GeneratorFunction]",fG="[object Map]",cG="[object Number]",nx="[object Object]",dG="[object RegExp]",pG="[object Set]",hG="[object String]",vG="[object Symbol]",mG="[object WeakMap]",yG="[object ArrayBuffer]",gG="[object DataView]",_G="[object Float32Array]",EG="[object Float64Array]",DG="[object Int8Array]",wG="[object Int16Array]",SG="[object Int32Array]",TG="[object Uint8Array]",CG="[object Uint8ClampedArray]",xG="[object Uint16Array]",AG="[object Uint32Array]",Wu={};Wu[ex]=Wu[uG]=Wu[yG]=Wu[gG]=Wu[oG]=Wu[lG]=Wu[_G]=Wu[EG]=Wu[DG]=Wu[wG]=Wu[SG]=Wu[fG]=Wu[cG]=Wu[nx]=Wu[dG]=Wu[pG]=Wu[hG]=Wu[vG]=Wu[TG]=Wu[CG]=Wu[xG]=Wu[AG]=!0;Wu[sG]=Wu[tx]=Wu[mG]=!1;function W_(i,o,f,p,E,t){var k,L=o&nG,N=o&rG,C=o&iG;if(f&&(k=E?f(i,p,E,t):f(i)),k!==void 0)return k;if(!ZV(i))return i;var U=XV(i);if(U){if(k=GV(i),!L)return jV(i,k)}else{var q=VV(i),W=q==tx||q==aG;if(QV(i))return UV(i,L);if(q==nx||q==ex||W&&!E){if(k=N||W?{}:KV(i),!L)return N?qV(i,BV(k,i)):zV(i,IV(k,i))}else{if(!Wu[q])return E?i:{};k=YV(i,q,L)}}t||(t=new FV);var ne=t.get(i);if(ne)return ne;t.set(i,k),$V(i)?i.forEach(function(Se){k.add(W_(Se,o,f,Se,i,t))}):JV(i)&&i.forEach(function(Se,he){k.set(he,W_(Se,o,f,he,i,t))});var m=C?N?WV:HV:N?tG:eG,we=U?void 0:m(i);return bV(we||i,function(Se,he){we&&(he=Se,Se=i[he]),PV(k,he,W_(Se,o,f,he,i,t))}),k}$6.exports=W_});var V_=ce((Mte,ix)=>{var RG=Qp(),OG=ad(),kG="[object Symbol]";function MG(i){return typeof i=="symbol"||OG(i)&&RG(i)==kG}ix.exports=MG});var ox=ce((Nte,ux)=>{var NG=fd(),LG=V_(),FG=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bG=/^\w*$/;function PG(i,o){if(NG(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||LG(i)?!0:bG.test(i)||!FG.test(i)||o!=null&&i in Object(o)}ux.exports=PG});var ax=ce((Lte,lx)=>{var sx=oD(),IG="Expected a function";function xD(i,o){if(typeof i!="function"||o!=null&&typeof o!="function")throw new TypeError(IG);var f=function(){var p=arguments,E=o?o.apply(this,p):p[0],t=f.cache;if(t.has(E))return t.get(E);var k=i.apply(this,p);return f.cache=t.set(E,k)||t,k};return f.cache=new(xD.Cache||sx),f}xD.Cache=sx;lx.exports=xD});var cx=ce((Fte,fx)=>{var BG=ax(),UG=500;function jG(i){var o=BG(i,function(p){return f.size===UG&&f.clear(),p}),f=o.cache;return o}fx.exports=jG});var px=ce((bte,dx)=>{var zG=cx(),qG=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HG=/\\(\\)?/g,WG=zG(function(i){var o=[];return i.charCodeAt(0)===46&&o.push(""),i.replace(qG,function(f,p,E,t){o.push(E?t.replace(HG,"$1"):p||f)}),o});dx.exports=WG});var _x=ce((Pte,hx)=>{var vx=zv(),VG=eD(),GG=fd(),YG=V_(),KG=1/0,mx=vx?vx.prototype:void 0,yx=mx?mx.toString:void 0;function gx(i){if(typeof i=="string")return i;if(GG(i))return VG(i,gx)+"";if(YG(i))return yx?yx.call(i):"";var o=i+"";return o=="0"&&1/i==-KG?"-0":o}hx.exports=gx});var Dx=ce((Ite,Ex)=>{var XG=_x();function QG(i){return i==null?"":XG(i)}Ex.exports=QG});var G_=ce((Bte,wx)=>{var JG=fd(),ZG=ox(),$G=px(),eY=Dx();function tY(i,o){return JG(i)?i:ZG(i,o)?[i]:$G(eY(i))}wx.exports=tY});var Tx=ce((Ute,Sx)=>{function nY(i){var o=i==null?0:i.length;return o?i[o-1]:void 0}Sx.exports=nY});var AD=ce((jte,Cx)=>{var rY=V_(),iY=1/0;function uY(i){if(typeof i=="string"||rY(i))return i;var o=i+"";return o=="0"&&1/i==-iY?"-0":o}Cx.exports=uY});var Ax=ce((zte,xx)=>{var oY=G_(),lY=AD();function sY(i,o){o=oY(o,i);for(var f=0,p=o.length;i!=null&&f{function aY(i,o,f){var p=-1,E=i.length;o<0&&(o=-o>E?0:E+o),f=f>E?E:f,f<0&&(f+=E),E=o>f?0:f-o>>>0,o>>>=0;for(var t=Array(E);++p{var fY=Ax(),cY=Ox();function dY(i,o){return o.length<2?i:fY(i,cY(o,0,-1))}kx.exports=dY});var Lx=ce((Wte,Nx)=>{var pY=G_(),hY=Tx(),vY=Mx(),mY=AD();function yY(i,o){return o=pY(o,i),i=vY(i,o),i==null||delete i[mY(hY(o))]}Nx.exports=yY});var Px=ce((Vte,Fx)=>{var gY=Qp(),_Y=z_(),EY=ad(),DY="[object Object]",wY=Function.prototype,SY=Object.prototype,bx=wY.toString,TY=SY.hasOwnProperty,CY=bx.call(Object);function xY(i){if(!EY(i)||gY(i)!=DY)return!1;var o=_Y(i);if(o===null)return!0;var f=TY.call(o,"constructor")&&o.constructor;return typeof f=="function"&&f instanceof f&&bx.call(f)==CY}Fx.exports=xY});var Bx=ce((Gte,Ix)=>{var AY=Px();function RY(i){return AY(i)?void 0:i}Ix.exports=RY});var qx=ce((Yte,Ux)=>{var jx=zv(),OY=fD(),kY=fd(),zx=jx?jx.isConcatSpreadable:void 0;function MY(i){return kY(i)||OY(i)||!!(zx&&i&&i[zx])}Ux.exports=MY});var Vx=ce((Kte,Hx)=>{var NY=j_(),LY=qx();function Wx(i,o,f,p,E){var t=-1,k=i.length;for(f||(f=LY),E||(E=[]);++t0&&f(L)?o>1?Wx(L,o-1,f,p,E):NY(E,L):p||(E[E.length]=L)}return E}Hx.exports=Wx});var Yx=ce((Xte,Gx)=>{var FY=Vx();function bY(i){var o=i==null?0:i.length;return o?FY(i,1):[]}Gx.exports=bY});var Xx=ce((Qte,Kx)=>{function PY(i,o,f){switch(f.length){case 0:return i.call(o);case 1:return i.call(o,f[0]);case 2:return i.call(o,f[0],f[1]);case 3:return i.call(o,f[0],f[1],f[2])}return i.apply(o,f)}Kx.exports=PY});var Zx=ce((Jte,Qx)=>{var IY=Xx(),Jx=Math.max;function BY(i,o,f){return o=Jx(o===void 0?i.length-1:o,0),function(){for(var p=arguments,E=-1,t=Jx(p.length-o,0),k=Array(t);++E{function UY(i){return function(){return i}}$x.exports=UY});var n5=ce(($te,t5)=>{function jY(i){return i}t5.exports=jY});var u5=ce((ene,r5)=>{var zY=e5(),i5=lD(),qY=n5(),HY=i5?function(i,o){return i5(i,"toString",{configurable:!0,enumerable:!1,value:zY(o),writable:!0})}:qY;r5.exports=HY});var l5=ce((tne,o5)=>{var WY=800,VY=16,GY=Date.now;function YY(i){var o=0,f=0;return function(){var p=GY(),E=VY-(p-f);if(f=p,E>0){if(++o>=WY)return arguments[0]}else o=0;return i.apply(void 0,arguments)}}o5.exports=YY});var a5=ce((nne,s5)=>{var KY=u5(),XY=l5(),QY=XY(KY);s5.exports=QY});var c5=ce((rne,f5)=>{var JY=Yx(),ZY=Zx(),$Y=a5();function eK(i){return $Y(ZY(i,void 0,JY),i+"")}f5.exports=eK});var p5=ce((ine,d5)=>{var tK=eD(),nK=rx(),rK=Lx(),iK=G_(),uK=Gv(),oK=Bx(),lK=c5(),sK=ED(),aK=1,fK=2,cK=4,dK=lK(function(i,o){var f={};if(i==null)return f;var p=!1;o=tK(o,function(t){return t=iK(t,i),p||(p=t.length>1),t}),uK(i,sK(i),f),p&&(f=nK(f,aK|fK|cK,oK));for(var E=o.length;E--;)rK(f,o[E]);return f});d5.exports=dK});var eg=ce((vne,y5)=>{"use strict";var g5=Object.getOwnPropertySymbols,_K=Object.prototype.hasOwnProperty,EK=Object.prototype.propertyIsEnumerable;function DK(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function wK(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var o={},f=0;f<10;f++)o["_"+String.fromCharCode(f)]=f;var p=Object.getOwnPropertyNames(o).map(function(t){return o[t]});if(p.join("")!=="0123456789")return!1;var E={};return"abcdefghijklmnopqrst".split("").forEach(function(t){E[t]=t}),Object.keys(Object.assign({},E)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}y5.exports=wK()?Object.assign:function(i,o){for(var f,p=DK(i),E,t=1;t{"use strict";var LD=eg(),Kf=typeof Symbol=="function"&&Symbol.for,tg=Kf?Symbol.for("react.element"):60103,SK=Kf?Symbol.for("react.portal"):60106,TK=Kf?Symbol.for("react.fragment"):60107,CK=Kf?Symbol.for("react.strict_mode"):60108,xK=Kf?Symbol.for("react.profiler"):60114,AK=Kf?Symbol.for("react.provider"):60109,RK=Kf?Symbol.for("react.context"):60110,OK=Kf?Symbol.for("react.forward_ref"):60112,kK=Kf?Symbol.for("react.suspense"):60113,MK=Kf?Symbol.for("react.memo"):60115,NK=Kf?Symbol.for("react.lazy"):60116,_5=typeof Symbol=="function"&&Symbol.iterator;function ng(i){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fJ_.length&&J_.push(i)}function BD(i,o,f,p){var E=typeof i;(E==="undefined"||E==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(E){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case tg:case SK:t=!0}}if(t)return f(p,i,o===""?"."+UD(i,0):o),1;if(t=0,o=o===""?".":o+":",Array.isArray(i))for(var k=0;k{"use strict";var BK="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";M5.exports=BK});var HD=ce((gne,L5)=>{"use strict";var qD=function(){};process.env.NODE_ENV!=="production"&&(F5=N5(),Z_={},b5=Function.call.bind(Object.prototype.hasOwnProperty),qD=function(i){var o="Warning: "+i;typeof console!="undefined"&&console.error(o);try{throw new Error(o)}catch(f){}});var F5,Z_,b5;function P5(i,o,f,p,E){if(process.env.NODE_ENV!=="production"){for(var t in i)if(b5(i,t)){var k;try{if(typeof i[t]!="function"){var L=Error((p||"React class")+": "+f+" type `"+t+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[t]+"`.");throw L.name="Invariant Violation",L}k=i[t](o,t,p,f,null,F5)}catch(C){k=C}if(k&&!(k instanceof Error)&&qD((p||"React class")+": type specification of "+f+" `"+t+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof k+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),k instanceof Error&&!(k.message in Z_)){Z_[k.message]=!0;var N=E?E():"";qD("Failed "+f+" type: "+k.message+(N!=null?N:""))}}}}P5.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(Z_={})};L5.exports=P5});var I5=ce(pu=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";var i=eg(),o=HD(),f="16.13.1",p=typeof Symbol=="function"&&Symbol.for,E=p?Symbol.for("react.element"):60103,t=p?Symbol.for("react.portal"):60106,k=p?Symbol.for("react.fragment"):60107,L=p?Symbol.for("react.strict_mode"):60108,N=p?Symbol.for("react.profiler"):60114,C=p?Symbol.for("react.provider"):60109,U=p?Symbol.for("react.context"):60110,q=p?Symbol.for("react.concurrent_mode"):60111,W=p?Symbol.for("react.forward_ref"):60112,ne=p?Symbol.for("react.suspense"):60113,m=p?Symbol.for("react.suspense_list"):60120,we=p?Symbol.for("react.memo"):60115,Se=p?Symbol.for("react.lazy"):60116,he=p?Symbol.for("react.block"):60121,ge=p?Symbol.for("react.fundamental"):60117,ze=p?Symbol.for("react.responder"):60118,pe=p?Symbol.for("react.scope"):60119,Oe=typeof Symbol=="function"&&Symbol.iterator,le="@@iterator";function Ue(X){if(X===null||typeof X!="object")return null;var _e=Oe&&X[Oe]||X[le];return typeof _e=="function"?_e:null}var Ge={current:null},rt={suspense:null},wt={current:null},xt=/^(.*)[\\\/]/;function $e(X,_e,Ne){var Me="";if(_e){var dt=_e.fileName,Hn=dt.replace(xt,"");if(/^index\./.test(Hn)){var Dn=dt.match(xt);if(Dn){var or=Dn[1];if(or){var mi=or.replace(xt,"");Hn=mi+"/"+Hn}}}Me=" (at "+Hn+":"+_e.lineNumber+")"}else Ne&&(Me=" (created by "+Ne+")");return` - in `+(X||"Unknown")+Me}var ft=1;function Ke(X){return X._status===ft?X._result:null}function jt(X,_e,Ne){var Me=_e.displayName||_e.name||"";return X.displayName||(Me!==""?Ne+"("+Me+")":Ne)}function $t(X){if(X==null)return null;if(typeof X.tag=="number"&&ct("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof X=="function")return X.displayName||X.name||null;if(typeof X=="string")return X;switch(X){case k:return"Fragment";case t:return"Portal";case N:return"Profiler";case L:return"StrictMode";case ne:return"Suspense";case m:return"SuspenseList"}if(typeof X=="object")switch(X.$$typeof){case U:return"Context.Consumer";case C:return"Context.Provider";case W:return jt(X,X.render,"ForwardRef");case we:return $t(X.type);case he:return $t(X.render);case Se:{var _e=X,Ne=Ke(_e);if(Ne)return $t(Ne);break}}return null}var at={},Q=null;function ae(X){Q=X}at.getCurrentStack=null,at.getStackAddendum=function(){var X="";if(Q){var _e=$t(Q.type),Ne=Q._owner;X+=$e(_e,Q._source,Ne&&$t(Ne.type))}var Me=at.getCurrentStack;return Me&&(X+=Me()||""),X};var Ce={current:!1},ue={ReactCurrentDispatcher:Ge,ReactCurrentBatchConfig:rt,ReactCurrentOwner:wt,IsSomeRendererActing:Ce,assign:i};i(ue,{ReactDebugCurrentFrame:at,ReactComponentTreeHook:{}});function je(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("warn",X,Ne)}}function ct(X){{for(var _e=arguments.length,Ne=new Array(_e>1?_e-1:0),Me=1;Me<_e;Me++)Ne[Me-1]=arguments[Me];At("error",X,Ne)}}function At(X,_e,Ne){{var Me=Ne.length>0&&typeof Ne[Ne.length-1]=="string"&&Ne[Ne.length-1].indexOf(` - in`)===0;if(!Me){var dt=ue.ReactDebugCurrentFrame,Hn=dt.getStackAddendum();Hn!==""&&(_e+="%s",Ne=Ne.concat([Hn]))}var Dn=Ne.map(function(Su){return""+Su});Dn.unshift("Warning: "+_e),Function.prototype.apply.call(console[X],console,Dn);try{var or=0,mi="Warning: "+_e.replace(/%s/g,function(){return Ne[or++]});throw new Error(mi)}catch(Su){}}}var en={};function ln(X,_e){{var Ne=X.constructor,Me=Ne&&(Ne.displayName||Ne.name)||"ReactClass",dt=Me+"."+_e;if(en[dt])return;ct("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",_e,Me),en[dt]=!0}}var An={isMounted:function(X){return!1},enqueueForceUpdate:function(X,_e,Ne){ln(X,"forceUpdate")},enqueueReplaceState:function(X,_e,Ne,Me){ln(X,"replaceState")},enqueueSetState:function(X,_e,Ne,Me){ln(X,"setState")}},nr={};Object.freeze(nr);function un(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}un.prototype.isReactComponent={},un.prototype.setState=function(X,_e){if(!(typeof X=="object"||typeof X=="function"||X==null))throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,_e,"setState")},un.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};{var Wt={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},vr=function(X,_e){Object.defineProperty(un.prototype,X,{get:function(){je("%s(...) is deprecated in plain JavaScript React classes. %s",_e[0],_e[1])}})};for(var w in Wt)Wt.hasOwnProperty(w)&&vr(w,Wt[w])}function Ut(){}Ut.prototype=un.prototype;function Vn(X,_e,Ne){this.props=X,this.context=_e,this.refs=nr,this.updater=Ne||An}var fr=Vn.prototype=new Ut;fr.constructor=Vn,i(fr,un.prototype),fr.isPureReactComponent=!0;function Fr(){var X={current:null};return Object.seal(X),X}var ur=Object.prototype.hasOwnProperty,br={key:!0,ref:!0,__self:!0,__source:!0},Kt,vu,a0;a0={};function So(X){if(ur.call(X,"ref")){var _e=Object.getOwnPropertyDescriptor(X,"ref").get;if(_e&&_e.isReactWarning)return!1}return X.ref!==void 0}function Go(X){if(ur.call(X,"key")){var _e=Object.getOwnPropertyDescriptor(X,"key").get;if(_e&&_e.isReactWarning)return!1}return X.key!==void 0}function Os(X,_e){var Ne=function(){Kt||(Kt=!0,ct("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"key",{get:Ne,configurable:!0})}function Yo(X,_e){var Ne=function(){vu||(vu=!0,ct("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",_e))};Ne.isReactWarning=!0,Object.defineProperty(X,"ref",{get:Ne,configurable:!0})}function Ko(X){if(typeof X.ref=="string"&&wt.current&&X.__self&&wt.current.stateNode!==X.__self){var _e=$t(wt.current.type);a0[_e]||(ct('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',$t(wt.current.type),X.ref),a0[_e]=!0)}}var qt=function(X,_e,Ne,Me,dt,Hn,Dn){var or={$$typeof:E,type:X,key:_e,ref:Ne,props:Dn,_owner:Hn};return or._store={},Object.defineProperty(or._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(or,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Me}),Object.defineProperty(or,"_source",{configurable:!1,enumerable:!1,writable:!1,value:dt}),Object.freeze&&(Object.freeze(or.props),Object.freeze(or)),or};function _i(X,_e,Ne){var Me,dt={},Hn=null,Dn=null,or=null,mi=null;if(_e!=null){So(_e)&&(Dn=_e.ref,Ko(_e)),Go(_e)&&(Hn=""+_e.key),or=_e.__self===void 0?null:_e.__self,mi=_e.__source===void 0?null:_e.__source;for(Me in _e)ur.call(_e,Me)&&!br.hasOwnProperty(Me)&&(dt[Me]=_e[Me])}var Su=arguments.length-2;if(Su===1)dt.children=Ne;else if(Su>1){for(var bu=Array(Su),Pu=0;Pu1){for(var mu=Array(Pu),yi=0;yi is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Provider},set:function(Dn){Ne.Provider=Dn}},_currentValue:{get:function(){return Ne._currentValue},set:function(Dn){Ne._currentValue=Dn}},_currentValue2:{get:function(){return Ne._currentValue2},set:function(Dn){Ne._currentValue2=Dn}},_threadCount:{get:function(){return Ne._threadCount},set:function(Dn){Ne._threadCount=Dn}},Consumer:{get:function(){return Me||(Me=!0,ct("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),Ne.Consumer}}}),Ne.Consumer=Hn}return Ne._currentRenderer=null,Ne._currentRenderer2=null,Ne}function Ht(X){var _e={$$typeof:Se,_ctor:X,_status:-1,_result:null};{var Ne,Me;Object.defineProperties(_e,{defaultProps:{configurable:!0,get:function(){return Ne},set:function(dt){ct("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Ne=dt,Object.defineProperty(_e,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Me},set:function(dt){ct("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Me=dt,Object.defineProperty(_e,"propTypes",{enumerable:!0})}}})}return _e}function Du(X){return X!=null&&X.$$typeof===we?ct("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof X!="function"?ct("forwardRef requires a render function but was given %s.",X===null?"null":typeof X):X.length!==0&&X.length!==2&&ct("forwardRef render functions accept exactly two parameters: props and ref. %s",X.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),X!=null&&(X.defaultProps!=null||X.propTypes!=null)&&ct("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?"),{$$typeof:W,render:X}}function Yi(X){return typeof X=="string"||typeof X=="function"||X===k||X===q||X===N||X===L||X===ne||X===m||typeof X=="object"&&X!==null&&(X.$$typeof===Se||X.$$typeof===we||X.$$typeof===C||X.$$typeof===U||X.$$typeof===W||X.$$typeof===ge||X.$$typeof===ze||X.$$typeof===pe||X.$$typeof===he)}function Y0(X,_e){return Yi(X)||ct("memo: The first argument must be a component. Instead received: %s",X===null?"null":typeof X),{$$typeof:we,type:X,compare:_e===void 0?null:_e}}function Ui(){var X=Ge.current;if(X===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: -1. You might have mismatching versions of React and the renderer (such as React DOM) -2. You might be breaking the Rules of Hooks -3. You might have more than one copy of React in the same app -See https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return X}function Wl(X,_e){var Ne=Ui();if(_e!==void 0&&ct("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",_e,typeof _e=="number"&&Array.isArray(arguments[2])?` - -Did you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:""),X._context!==void 0){var Me=X._context;Me.Consumer===X?ct("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):Me.Provider===X&&ct("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return Ne.useContext(X,_e)}function xo(X){var _e=Ui();return _e.useState(X)}function ni(X,_e,Ne){var Me=Ui();return Me.useReducer(X,_e,Ne)}function oo(X){var _e=Ui();return _e.useRef(X)}function Vl(X,_e){var Ne=Ui();return Ne.useEffect(X,_e)}function Ao(X,_e){var Ne=Ui();return Ne.useLayoutEffect(X,_e)}function Ms(X,_e){var Ne=Ui();return Ne.useCallback(X,_e)}function Xn(X,_e){var Ne=Ui();return Ne.useMemo(X,_e)}function Qo(X,_e,Ne){var Me=Ui();return Me.useImperativeHandle(X,_e,Ne)}function lo(X,_e){{var Ne=Ui();return Ne.useDebugValue(X,_e)}}var b0;b0=!1;function yl(){if(wt.current){var X=$t(wt.current.type);if(X)return` - -Check the render method of \``+X+"`."}return""}function Ro(X){if(X!==void 0){var _e=X.fileName.replace(/^.*[\\\/]/,""),Ne=X.lineNumber;return` - -Check your code at `+_e+":"+Ne+"."}return""}function Et(X){return X!=null?Ro(X.__source):""}var Pt={};function Bn(X){var _e=yl();if(!_e){var Ne=typeof X=="string"?X:X.displayName||X.name;Ne&&(_e=` - -Check the top-level render call using <`+Ne+">.")}return _e}function Ir(X,_e){if(!(!X._store||X._store.validated||X.key!=null)){X._store.validated=!0;var Ne=Bn(_e);if(!Pt[Ne]){Pt[Ne]=!0;var Me="";X&&X._owner&&X._owner!==wt.current&&(Me=" It was passed a child from "+$t(X._owner.type)+"."),ae(X),ct('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',Ne,Me),ae(null)}}}function ji(X,_e){if(typeof X=="object"){if(Array.isArray(X))for(var Ne=0;Ne",dt=" Did you accidentally export a JSX literal instead of a component?"):Dn=typeof X,ct("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Dn,dt)}var or=_i.apply(this,arguments);if(or==null)return or;if(Me)for(var mi=2;mi{"use strict";process.env.NODE_ENV==="production"?WD.exports=k5():WD.exports=I5()});var B5=ce((nm,rg)=>{(function(){var i,o="4.17.21",f=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",E="Expected a function",t="Invalid `variable` option passed into `_.template`",k="__lodash_hash_undefined__",L=500,N="__lodash_placeholder__",C=1,U=2,q=4,W=1,ne=2,m=1,we=2,Se=4,he=8,ge=16,ze=32,pe=64,Oe=128,le=256,Ue=512,Ge=30,rt="...",wt=800,xt=16,$e=1,ft=2,Ke=3,jt=1/0,$t=9007199254740991,at=17976931348623157e292,Q=0/0,ae=4294967295,Ce=ae-1,ue=ae>>>1,je=[["ary",Oe],["bind",m],["bindKey",we],["curry",he],["curryRight",ge],["flip",Ue],["partial",ze],["partialRight",pe],["rearg",le]],ct="[object Arguments]",At="[object Array]",en="[object AsyncFunction]",ln="[object Boolean]",An="[object Date]",nr="[object DOMException]",un="[object Error]",Wt="[object Function]",vr="[object GeneratorFunction]",w="[object Map]",Ut="[object Number]",Vn="[object Null]",fr="[object Object]",Fr="[object Promise]",ur="[object Proxy]",br="[object RegExp]",Kt="[object Set]",vu="[object String]",a0="[object Symbol]",So="[object Undefined]",Go="[object WeakMap]",Os="[object WeakSet]",Yo="[object ArrayBuffer]",Ko="[object DataView]",qt="[object Float32Array]",_i="[object Float64Array]",eu="[object Int8Array]",ai="[object Int16Array]",mr="[object Int32Array]",Xo="[object Uint8Array]",W0="[object Uint8ClampedArray]",Lu="[object Uint16Array]",V0="[object Uint32Array]",Hr=/\b__p \+= '';/g,To=/\b(__p \+=) '' \+/g,Co=/(__e\(.*?\)|\b__t\)) \+\n'';/g,L0=/&(?:amp|lt|gt|quot|#39);/g,tu=/[&<>"']/g,Si=RegExp(L0.source),ks=RegExp(tu.source),Hl=/<%-([\s\S]+?)%>/g,F0=/<%([\s\S]+?)%>/g,f0=/<%=([\s\S]+?)%>/g,Pr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ei=/^\w*$/,G0=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,fi=/[\\^$.*+?()[\]{}|]/g,Zt=RegExp(fi.source),Ln=/^\s+/,Di=/\s/,ci=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ht=/\{\n\/\* \[wrapped with (.+)\] \*/,Du=/,? & /,Yi=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Y0=/[()=,{}\[\]\/\s]/,Ui=/\\(\\)?/g,Wl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,xo=/\w*$/,ni=/^[-+]0x[0-9a-f]+$/i,oo=/^0b[01]+$/i,Vl=/^\[object .+?Constructor\]$/,Ao=/^0o[0-7]+$/i,Ms=/^(?:0|[1-9]\d*)$/,Xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qo=/($^)/,lo=/['\n\r\u2028\u2029\\]/g,b0="\\ud800-\\udfff",yl="\\u0300-\\u036f",Ro="\\ufe20-\\ufe2f",Et="\\u20d0-\\u20ff",Pt=yl+Ro+Et,Bn="\\u2700-\\u27bf",Ir="a-z\\xdf-\\xf6\\xf8-\\xff",ji="\\xac\\xb1\\xd7\\xf7",Wr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",wu="\\u2000-\\u206f",c0=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ti="A-Z\\xc0-\\xd6\\xd8-\\xde",d0="\\ufe0e\\ufe0f",as=ji+Wr+wu+c0,St="['\u2019]",so="["+b0+"]",Jo="["+as+"]",Gl="["+Pt+"]",Fu="\\d+",fs="["+Bn+"]",P0="["+Ir+"]",X="[^"+b0+as+Fu+Bn+Ir+Ti+"]",_e="\\ud83c[\\udffb-\\udfff]",Ne="(?:"+Gl+"|"+_e+")",Me="[^"+b0+"]",dt="(?:\\ud83c[\\udde6-\\uddff]){2}",Hn="[\\ud800-\\udbff][\\udc00-\\udfff]",Dn="["+Ti+"]",or="\\u200d",mi="(?:"+P0+"|"+X+")",Su="(?:"+Dn+"|"+X+")",bu="(?:"+St+"(?:d|ll|m|re|s|t|ve))?",Pu="(?:"+St+"(?:D|LL|M|RE|S|T|VE))?",mu=Ne+"?",yi="["+d0+"]?",Oo="(?:"+or+"(?:"+[Me,dt,Hn].join("|")+")"+yi+mu+")*",Tu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ao="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Iu=yi+mu+Oo,Oa="(?:"+[fs,dt,Hn].join("|")+")"+Iu,p0="(?:"+[Me+Gl+"?",Gl,dt,Hn,so].join("|")+")",Zs=RegExp(St,"g"),K0=RegExp(Gl,"g"),$s=RegExp(_e+"(?="+_e+")|"+p0+Iu,"g"),ka=RegExp([Dn+"?"+P0+"+"+bu+"(?="+[Jo,Dn,"$"].join("|")+")",Su+"+"+Pu+"(?="+[Jo,Dn+mi,"$"].join("|")+")",Dn+"?"+mi+"+"+bu,Dn+"+"+Pu,ao,Tu,Fu,Oa].join("|"),"g"),cs=RegExp("["+or+b0+Pt+d0+"]"),w0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Gn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ic=-1,ri={};ri[qt]=ri[_i]=ri[eu]=ri[ai]=ri[mr]=ri[Xo]=ri[W0]=ri[Lu]=ri[V0]=!0,ri[ct]=ri[At]=ri[Yo]=ri[ln]=ri[Ko]=ri[An]=ri[un]=ri[Wt]=ri[w]=ri[Ut]=ri[fr]=ri[br]=ri[Kt]=ri[vu]=ri[Go]=!1;var Gr={};Gr[ct]=Gr[At]=Gr[Yo]=Gr[Ko]=Gr[ln]=Gr[An]=Gr[qt]=Gr[_i]=Gr[eu]=Gr[ai]=Gr[mr]=Gr[w]=Gr[Ut]=Gr[fr]=Gr[br]=Gr[Kt]=Gr[vu]=Gr[a0]=Gr[Xo]=Gr[W0]=Gr[Lu]=Gr[V0]=!0,Gr[un]=Gr[Wt]=Gr[Go]=!1;var Yl={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},ea={"&":"&","<":"<",">":">",'"':""","'":"'"},lf={"&":"&","<":"<",">":">",""":'"',"'":"'"},Ns={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ma=parseFloat,Ls=parseInt,h0=typeof global=="object"&&global&&global.Object===Object&&global,Fs=typeof self=="object"&&self&&self.Object===Object&&self,Ni=h0||Fs||Function("return this")(),B=typeof nm=="object"&&nm&&!nm.nodeType&&nm,z=B&&typeof rg=="object"&&rg&&!rg.nodeType&&rg,G=z&&z.exports===B,$=G&&h0.process,De=function(){try{var Te=z&&z.require&&z.require("util").types;return Te||$&&$.binding&&$.binding("util")}catch(et){}}(),me=De&&De.isArrayBuffer,xe=De&&De.isDate,Z=De&&De.isMap,ke=De&&De.isRegExp,Xe=De&&De.isSet,ht=De&&De.isTypedArray;function ie(Te,et,Ve){switch(Ve.length){case 0:return Te.call(et);case 1:return Te.call(et,Ve[0]);case 2:return Te.call(et,Ve[0],Ve[1]);case 3:return Te.call(et,Ve[0],Ve[1],Ve[2])}return Te.apply(et,Ve)}function qe(Te,et,Ve,Gt){for(var Yt=-1,sr=Te==null?0:Te.length;++Yt-1}function tn(Te,et,Ve){for(var Gt=-1,Yt=Te==null?0:Te.length;++Gt-1;);return Ve}function gl(Te,et){for(var Ve=Te.length;Ve--&&_t(et,Te[Ve],0)>-1;);return Ve}function af(Te,et){for(var Ve=Te.length,Gt=0;Ve--;)Te[Ve]===et&&++Gt;return Gt}var Mo=Yn(Yl),ds=Yn(ea);function bs(Te){return"\\"+Ns[Te]}function No(Te,et){return Te==null?i:Te[et]}function Lo(Te){return cs.test(Te)}function ps(Te){return w0.test(Te)}function Vu(Te){for(var et,Ve=[];!(et=Te.next()).done;)Ve.push(et.value);return Ve}function yu(Te){var et=-1,Ve=Array(Te.size);return Te.forEach(function(Gt,Yt){Ve[++et]=[Yt,Gt]}),Ve}function pi(Te,et){return function(Ve){return Te(et(Ve))}}function T0(Te,et){for(var Ve=-1,Gt=Te.length,Yt=0,sr=[];++Ve-1}function ia(d,v){var x=this.__data__,b=Ql(x,d);return b<0?(++this.size,x.push([d,v])):x[b][1]=v,this}to.prototype.clear=Na,to.prototype.delete=pf,to.prototype.get=uc,to.prototype.has=ms,to.prototype.set=ia;function B0(d){var v=-1,x=d==null?0:d.length;for(this.clear();++v=v?d:v)),d}function U0(d,v,x,b,H,ee){var de,ye=v&C,be=v&U,gt=v&q;if(x&&(de=H?x(d,b,H,ee):x(d)),de!==i)return de;if(!ku(d))return d;var Dt=Jn(d);if(Dt){if(de=Es(d),!ye)return Ji(d,de)}else{var Rt=Ou(d),rn=Rt==Wt||Rt==vr;if(Gs(d))return fc(d,ye);if(Rt==fr||Rt==ct||rn&&!H){if(de=be||rn?{}:vc(d),!ye)return be?Jl(d,tl(de,d)):t0(d,hf(de,d))}else{if(!Gr[Rt])return H?d:{};de=Dh(d,Rt,ye)}}ee||(ee=new el);var Rn=ee.get(d);if(Rn)return Rn;ee.set(d,de),L2(d)?d.forEach(function(ir){de.add(U0(ir,v,x,ir,d,ee))}):gp(d)&&d.forEach(function(ir,Zr){de.set(Zr,U0(ir,v,x,Zr,d,ee))});var $n=gt?be?rr:$c:be?fn:M0,Nr=Dt?i:$n(d);return tt(Nr||d,function(ir,Zr){Nr&&(Zr=ir,ir=d[Zr]),gs(de,Zr,U0(ir,v,x,Zr,d,ee))}),de}function vf(d){var v=M0(d);return function(x){return jc(x,d,v)}}function jc(d,v,x){var b=x.length;if(d==null)return!b;for(d=wn(d);b--;){var H=x[b],ee=v[H],de=d[H];if(de===i&&!(H in d)||!ee(de))return!1}return!0}function lc(d,v,x){if(typeof d!="function")throw new Kr(E);return Wa(function(){d.apply(i,x)},v)}function Sl(d,v,x,b){var H=-1,ee=on,de=!0,ye=d.length,be=[],gt=v.length;if(!ye)return be;x&&(v=Lt(v,di(x))),b?(ee=tn,de=!1):v.length>=f&&(ee=Zo,de=!1,v=new ho(v));e:for(;++HH?0:H+x),b=b===i||b>H?H:Cr(b),b<0&&(b+=H),b=x>b?0:Ep(b);x0&&x(ye)?v>1?bi(ye,v-1,x,b,H):gn(H,ye):b||(H[H.length]=ye)}return H}var g=dc(),y=dc(!0);function A(d,v){return d&&g(d,v,M0)}function F(d,v){return d&&y(d,v,M0)}function I(d,v){return bt(v,function(x){return Ea(d[x])})}function J(d,v){v=Us(v,d);for(var x=0,b=v.length;d!=null&&xv}function Mt(d,v){return d!=null&&ei.call(d,v)}function Er(d,v){return d!=null&&v in wn(d)}function $u(d,v,x){return d>=Wn(v,x)&&d=120&&Dt.length>=120)?new ho(de&&Dt):i}Dt=d[0];var Rt=-1,rn=ye[0];e:for(;++Rt-1;)ye!==d&&R0.call(ye,be,1),R0.call(d,be,1);return d}function u2(d,v){for(var x=d?v.length:0,b=x-1;x--;){var H=v[x];if(x==b||H!==ee){var ee=H;go(H)?R0.call(d,H,1):Cd(d,H)}}return d}function o2(d,v){return d+vs(y0()*(v-d+1))}function wd(d,v,x,b){for(var H=-1,ee=Xr(Ku((v-d)/(x||1)),0),de=Ve(ee);ee--;)de[b?ee:++H]=d,d+=x;return de}function Hc(d,v){var x="";if(!d||v<1||v>$t)return x;do v%2&&(x+=d),v=vs(v/2),v&&(d+=d);while(v);return x}function Mr(d,v){return r1(Nd(d,v,r0),d+"")}function l2(d){return ba(Ac(d))}function s2(d,v){var x=Ac(d);return yc(x,Zu(v,0,x.length))}function ja(d,v,x,b){if(!ku(d))return d;v=Us(v,d);for(var H=-1,ee=v.length,de=ee-1,ye=d;ye!=null&&++HH?0:H+v),x=x>H?H:x,x<0&&(x+=H),H=v>x?0:x-v>>>0,v>>>=0;for(var ee=Ve(H);++b>>1,de=d[ee];de!==null&&!Nl(de)&&(x?de<=v:de=f){var gt=v?null:mm(d);if(gt)return Q0(gt);de=!1,H=Zo,be=new ho}else be=v?[]:ye;e:for(;++b=b?d:rl(d,v,x)}var Kc=hs||function(d){return Ni.clearTimeout(d)};function fc(d,v){if(v)return d.slice();var x=d.length,b=Fi?Fi(x):new d.constructor(x);return d.copy(b),b}function cc(d){var v=new d.constructor(d.byteLength);return new A0(v).set(new A0(d)),v}function f2(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.byteLength)}function yh(d){var v=new d.constructor(d.source,xo.exec(d));return v.lastIndex=d.lastIndex,v}function gf(d){return Sr?wn(Sr.call(d)):{}}function Xc(d,v){var x=v?cc(d.buffer):d.buffer;return new d.constructor(x,d.byteOffset,d.length)}function gh(d,v){if(d!==v){var x=d!==i,b=d===null,H=d===d,ee=Nl(d),de=v!==i,ye=v===null,be=v===v,gt=Nl(v);if(!ye&&!gt&&!ee&&d>v||ee&&de&&be&&!ye&&!gt||b&&de&&be||!x&&be||!H)return 1;if(!b&&!ee&&!gt&&d=ye)return be;var gt=x[b];return be*(gt=="desc"?-1:1)}}return d.index-v.index}function js(d,v,x,b){for(var H=-1,ee=d.length,de=x.length,ye=-1,be=v.length,gt=Xr(ee-de,0),Dt=Ve(be+gt),Rt=!b;++ye1?x[H-1]:i,de=H>2?x[2]:i;for(ee=d.length>3&&typeof ee=="function"?(H--,ee):i,de&&io(x[0],x[1],de)&&(ee=H<3?i:ee,H=1),v=wn(v);++b-1?H[ee?v[de]:de]:i}}function Jc(d){return ol(function(v){var x=v.length,b=x,H=Ur.prototype.thru;for(d&&v.reverse();b--;){var ee=v[b];if(typeof ee!="function")throw new Kr(E);if(H&&!de&&Bo(ee)=="wrapper")var de=new Ur([],!0)}for(b=de?b:x;++b1&&ui.reverse(),Dt&&beye))return!1;var gt=ee.get(d),Dt=ee.get(v);if(gt&&Dt)return gt==v&&Dt==d;var Rt=-1,rn=!0,Rn=x&ne?new ho:i;for(ee.set(d,v),ee.set(v,d);++Rt1?"& ":"")+v[b],v=v.join(x>2?", ":" "),d.replace(ci,`{ -/* [wrapped with `+v+`] */ -`)}function $l(d){return Jn(d)||sl(d)||!!(co&&d&&d[co])}function go(d,v){var x=typeof d;return v=v==null?$t:v,!!v&&(x=="number"||x!="symbol"&&Ms.test(d))&&d>-1&&d%1==0&&d0){if(++v>=wt)return arguments[0]}else v=0;return d.apply(i,arguments)}}function yc(d,v){var x=-1,b=d.length,H=b-1;for(v=v===i?b:v;++x1?d[v-1]:i;return x=typeof x=="function"?(d.pop(),x):i,E2(d,x)});function Bh(d){var v=Y(d);return v.__chain__=!0,v}function Uh(d,v){return v(d),d}function h1(d,v){return v(d)}var Qd=ol(function(d){var v=d.length,x=v?d[0]:0,b=this.__wrapped__,H=function(ee){return Ia(ee,d)};return v>1||this.__actions__.length||!(b instanceof lt)||!go(x)?this.thru(H):(b=b.slice(x,+x+(v?1:0)),b.__actions__.push({func:h1,args:[H],thisArg:i}),new Ur(b,this.__chain__).thru(function(ee){return v&&!ee.length&&ee.push(i),ee}))});function jh(){return Bh(this)}function Jd(){return new Ur(this.value(),this.__chain__)}function zh(){this.__values__===i&&(this.__values__=lv(this.value()));var d=this.__index__>=this.__values__.length,v=d?i:this.__values__[this.__index__++];return{done:d,value:v}}function Cm(){return this}function xm(d){for(var v,x=this;x instanceof Jr;){var b=Fd(x);b.__index__=0,b.__values__=i,v?H.__wrapped__=b:v=b;var H=b;x=x.__wrapped__}return H.__wrapped__=d,v}function Of(){var d=this.__wrapped__;if(d instanceof lt){var v=d;return this.__actions__.length&&(v=new lt(this)),v=v.reverse(),v.__actions__.push({func:h1,args:[Hd],thisArg:i}),new Ur(v,this.__chain__)}return this.thru(Hd)}function kf(){return mh(this.__wrapped__,this.__actions__)}var D2=za(function(d,v,x){ei.call(d,x)?++d[x]:ju(d,x,1)});function Am(d,v,x){var b=Jn(d)?kt:n2;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}function Zd(d,v){var x=Jn(d)?bt:zc;return x(d,zn(v,3))}var w2=xl(Bd),$d=xl(u1);function qh(d,v){return bi(v1(d,v),1)}function ep(d,v){return bi(v1(d,v),jt)}function Hh(d,v,x){return x=x===i?1:Cr(x),bi(v1(d,v),x)}function Wh(d,v){var x=Jn(d)?tt:_s;return x(d,zn(v,3))}function tp(d,v){var x=Jn(d)?Tt:oa;return x(d,zn(v,3))}var Rm=za(function(d,v,x){ei.call(d,x)?d[x].push(v):ju(d,x,[v])});function Om(d,v,x,b){d=al(d)?d:Ac(d),x=x&&!b?Cr(x):0;var H=d.length;return x<0&&(x=Xr(H+x,0)),_1(d)?x<=H&&d.indexOf(v,x)>-1:!!H&&_t(d,v,x)>-1}var km=Mr(function(d,v,x){var b=-1,H=typeof v=="function",ee=al(d)?Ve(d.length):[];return _s(d,function(de){ee[++b]=H?ie(v,de,x):Tl(de,v,x)}),ee}),Vh=za(function(d,v,x){ju(d,x,v)});function v1(d,v){var x=Jn(d)?Lt:Ed;return x(d,zn(v,3))}function Mm(d,v,x,b){return d==null?[]:(Jn(v)||(v=v==null?[]:[v]),x=b?i:x,Jn(x)||(x=x==null?[]:[x]),vo(d,v,x))}var np=za(function(d,v,x){d[x?0:1].push(v)},function(){return[[],[]]});function rp(d,v,x){var b=Jn(d)?lr:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,_s)}function Nm(d,v,x){var b=Jn(d)?Qn:yr,H=arguments.length<3;return b(d,zn(v,4),x,H,oa)}function Lm(d,v){var x=Jn(d)?bt:zc;return x(d,C2(zn(v,3)))}function Gh(d){var v=Jn(d)?ba:l2;return v(d)}function Fm(d,v,x){(x?io(d,v,x):v===i)?v=1:v=Cr(v);var b=Jn(d)?Pa:s2;return b(d,v)}function bm(d){var v=Jn(d)?ua:nl;return v(d)}function ip(d){if(d==null)return 0;if(al(d))return _1(d)?Ki(d):d.length;var v=Ou(d);return v==w||v==Kt?d.size:Ba(d).length}function up(d,v,x){var b=Jn(d)?_r:hh;return x&&io(d,v,x)&&(v=i),b(d,zn(v,3))}var ya=Mr(function(d,v){if(d==null)return[];var x=v.length;return x>1&&io(d,v[0],v[1])?v=[]:x>2&&io(v[0],v[1],v[2])&&(v=[v[0]]),vo(d,bi(v,1),[])}),m1=ra||function(){return Ni.Date.now()};function op(d,v){if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){if(--d<1)return v.apply(this,arguments)}}function Yh(d,v,x){return v=x?i:v,v=d&&v==null?d.length:v,dn(d,Oe,i,i,i,i,v)}function S2(d,v){var x;if(typeof v!="function")throw new Kr(E);return d=Cr(d),function(){return--d>0&&(x=v.apply(this,arguments)),d<=1&&(v=i),x}}var y1=Mr(function(d,v,x){var b=m;if(x.length){var H=T0(x,dr(y1));b|=ze}return dn(d,b,v,x,H)}),Kh=Mr(function(d,v,x){var b=m|we;if(x.length){var H=T0(x,dr(Kh));b|=ze}return dn(v,b,d,x,H)});function lp(d,v,x){v=x?i:v;var b=dn(d,he,i,i,i,i,i,v);return b.placeholder=lp.placeholder,b}function Xh(d,v,x){v=x?i:v;var b=dn(d,ge,i,i,i,i,i,v);return b.placeholder=Xh.placeholder,b}function sp(d,v,x){var b,H,ee,de,ye,be,gt=0,Dt=!1,Rt=!1,rn=!0;if(typeof d!="function")throw new Kr(E);v=fl(v)||0,ku(x)&&(Dt=!!x.leading,Rt="maxWait"in x,ee=Rt?Xr(fl(x.maxWait)||0,v):ee,rn="trailing"in x?!!x.trailing:rn);function Rn(i0){var Ts=b,wo=H;return b=H=i,gt=i0,de=d.apply(wo,Ts),de}function $n(i0){return gt=i0,ye=Wa(Zr,v),Dt?Rn(i0):de}function Nr(i0){var Ts=i0-be,wo=i0-gt,Rv=v-Ts;return Rt?Wn(Rv,ee-wo):Rv}function ir(i0){var Ts=i0-be,wo=i0-gt;return be===i||Ts>=v||Ts<0||Rt&&wo>=ee}function Zr(){var i0=m1();if(ir(i0))return ui(i0);ye=Wa(Zr,Nr(i0))}function ui(i0){return ye=i,rn&&b?Rn(i0):(b=H=i,de)}function bl(){ye!==i&&Kc(ye),gt=0,b=be=H=ye=i}function Wi(){return ye===i?de:ui(m1())}function uo(){var i0=m1(),Ts=ir(i0);if(b=arguments,H=this,be=i0,Ts){if(ye===i)return $n(be);if(Rt)return Kc(ye),ye=Wa(Zr,v),Rn(be)}return ye===i&&(ye=Wa(Zr,v)),de}return uo.cancel=bl,uo.flush=Wi,uo}var Qh=Mr(function(d,v){return lc(d,1,v)}),Jh=Mr(function(d,v,x){return lc(d,fl(v)||0,x)});function ap(d){return dn(d,Ue)}function T2(d,v){if(typeof d!="function"||v!=null&&typeof v!="function")throw new Kr(E);var x=function(){var b=arguments,H=v?v.apply(this,b):b[0],ee=x.cache;if(ee.has(H))return ee.get(H);var de=d.apply(this,b);return x.cache=ee.set(H,de)||ee,de};return x.cache=new(T2.Cache||B0),x}T2.Cache=B0;function C2(d){if(typeof d!="function")throw new Kr(E);return function(){var v=arguments;switch(v.length){case 0:return!d.call(this);case 1:return!d.call(this,v[0]);case 2:return!d.call(this,v[0],v[1]);case 3:return!d.call(this,v[0],v[1],v[2])}return!d.apply(this,v)}}function z0(d){return S2(2,d)}var x2=Rd(function(d,v){v=v.length==1&&Jn(v[0])?Lt(v[0],di(zn())):Lt(bi(v,1),di(zn()));var x=v.length;return Mr(function(b){for(var H=-1,ee=Wn(b.length,x);++H=v}),sl=e0(function(){return arguments}())?e0:function(d){return zu(d)&&ei.call(d,"callee")&&!I0.call(d,"callee")},Jn=Ve.isArray,Vs=me?di(me):He;function al(d){return d!=null&&M2(d.length)&&!Ea(d)}function n0(d){return zu(d)&&al(d)}function ev(d){return d===!0||d===!1||zu(d)&&mt(d)==ln}var Gs=$0||Ip,hp=xe?di(xe):Be;function jm(d){return zu(d)&&d.nodeType===1&&!Ec(d)}function tv(d){if(d==null)return!0;if(al(d)&&(Jn(d)||typeof d=="string"||typeof d.splice=="function"||Gs(d)||Da(d)||sl(d)))return!d.length;var v=Ou(d);if(v==w||v==Kt)return!d.size;if(xf(d))return!Ba(d).length;for(var x in d)if(ei.call(d,x))return!1;return!0}function vp(d,v){return ut(d,v)}function zm(d,v,x){x=typeof x=="function"?x:i;var b=x?x(d,v):i;return b===i?ut(d,v,i,x):!!b}function mp(d){if(!zu(d))return!1;var v=mt(d);return v==un||v==nr||typeof d.message=="string"&&typeof d.name=="string"&&!Ec(d)}function _c(d){return typeof d=="number"&&Xi(d)}function Ea(d){if(!ku(d))return!1;var v=mt(d);return v==Wt||v==vr||v==en||v==ur}function yp(d){return typeof d=="number"&&d==Cr(d)}function M2(d){return typeof d=="number"&&d>-1&&d%1==0&&d<=$t}function ku(d){var v=typeof d;return d!=null&&(v=="object"||v=="function")}function zu(d){return d!=null&&typeof d=="object"}var gp=Z?di(Z):jn;function _p(d,v){return d===v||ti(d,v,Pn(v))}function nv(d,v,x){return x=typeof x=="function"?x:i,ti(d,v,Pn(v),x)}function qm(d){return rv(d)&&d!=+d}function Hm(d){if(Al(d))throw new Yt(p);return tr(d)}function Wm(d){return d===null}function N2(d){return d==null}function rv(d){return typeof d=="number"||zu(d)&&mt(d)==Ut}function Ec(d){if(!zu(d)||mt(d)!=fr)return!1;var v=$o(d);if(v===null)return!0;var x=ei.call(v,"constructor")&&v.constructor;return typeof x=="function"&&x instanceof x&&Au.call(x)==na}var g1=ke?di(ke):ii;function Vm(d){return yp(d)&&d>=-$t&&d<=$t}var L2=Xe?di(Xe):qi;function _1(d){return typeof d=="string"||!Jn(d)&&zu(d)&&mt(d)==vu}function Nl(d){return typeof d=="symbol"||zu(d)&&mt(d)==a0}var Da=ht?di(ht):jr;function iv(d){return d===i}function Gm(d){return zu(d)&&Ou(d)==Go}function uv(d){return zu(d)&&mt(d)==Os}var ov=p2(r2),Ym=p2(function(d,v){return d<=v});function lv(d){if(!d)return[];if(al(d))return _1(d)?Yr(d):Ji(d);if(Ru&&d[Ru])return Vu(d[Ru]());var v=Ou(d),x=v==w?yu:v==Kt?Q0:Ac;return x(d)}function wa(d){if(!d)return d===0?d:0;if(d=fl(d),d===jt||d===-jt){var v=d<0?-1:1;return v*at}return d===d?d:0}function Cr(d){var v=wa(d),x=v%1;return v===v?x?v-x:v:0}function Ep(d){return d?Zu(Cr(d),0,ae):0}function fl(d){if(typeof d=="number")return d;if(Nl(d))return Q;if(ku(d)){var v=typeof d.valueOf=="function"?d.valueOf():d;d=ku(v)?v+"":v}if(typeof d!="string")return d===0?d:+d;d=xu(d);var x=oo.test(d);return x||Ao.test(d)?Ls(d.slice(2),x?2:8):ni.test(d)?Q:+d}function cu(d){return O0(d,fn(d))}function E1(d){return d?Zu(Cr(d),-$t,$t):d===0?d:0}function ki(d){return d==null?"":il(d)}var Dp=no(function(d,v){if(xf(v)||al(v)){O0(v,M0(v),d);return}for(var x in v)ei.call(v,x)&&gs(d,x,v[x])}),F2=no(function(d,v){O0(v,fn(v),d)}),Do=no(function(d,v,x,b){O0(v,fn(v),d,b)}),Ss=no(function(d,v,x,b){O0(v,M0(v),d,b)}),Mf=ol(Ia);function b2(d,v){var x=Qr(d);return v==null?x:hf(x,v)}var wp=Mr(function(d,v){d=wn(d);var x=-1,b=v.length,H=b>2?v[2]:i;for(H&&io(v[0],v[1],H)&&(b=1);++x1),ee}),O0(d,rr(d),x),b&&(x=U0(x,C|U|q,ym));for(var H=v.length;H--;)Cd(x,v[H]);return x});function T1(d,v){return Ka(d,C2(zn(v)))}var Cp=ol(function(d,v){return d==null?{}:dh(d,v)});function Ka(d,v){if(d==null)return{};var x=Lt(rr(d),function(b){return[b]});return v=zn(v),ph(d,x,function(b,H){return v(b,H[0])})}function Km(d,v,x){v=Us(v,d);var b=-1,H=v.length;for(H||(H=1,d=i);++bv){var b=d;d=v,v=b}if(x||d%1||v%1){var H=y0();return Wn(d+H*(v-d+Ma("1e-"+((H+"").length-1))),v)}return o2(d,v)}var q2=_f(function(d,v,x){return v=v.toLowerCase(),d+(x?Uo(v):v)});function Uo(d){return Rp(ki(d).toLowerCase())}function H2(d){return d=ki(d),d&&d.replace(Xn,Mo).replace(K0,"")}function Qm(d,v,x){d=ki(d),v=il(v);var b=d.length;x=x===i?b:Zu(Cr(x),0,b);var H=x;return x-=v.length,x>=0&&d.slice(x,H)==v}function A1(d){return d=ki(d),d&&ks.test(d)?d.replace(tu,ds):d}function Jm(d){return d=ki(d),d&&Zt.test(d)?d.replace(fi,"\\$&"):d}var Zm=_f(function(d,v,x){return d+(x?"-":"")+v.toLowerCase()}),av=_f(function(d,v,x){return d+(x?" ":"")+v.toLowerCase()}),$m=_h("toLowerCase");function fv(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;if(!v||b>=v)return d;var H=(v-b)/2;return da(vs(H),x)+d+da(Ku(H),x)}function ey(d,v,x){d=ki(d),v=Cr(v);var b=v?Ki(d):0;return v&&b>>0,x?(d=ki(d),d&&(typeof v=="string"||v!=null&&!g1(v))&&(v=il(v),!v&&Lo(d))?aa(Yr(d),0,x):d.split(v,x)):[]}var bf=_f(function(d,v,x){return d+(x?" ":"")+Rp(v)});function dv(d,v,x){return d=ki(d),x=x==null?0:Zu(Cr(x),0,d.length),v=il(v),d.slice(x,x+v.length)==v}function pv(d,v,x){var b=Y.templateSettings;x&&io(d,v,x)&&(v=i),d=ki(d),v=Do({},v,b,Df);var H=Do({},v.imports,b.imports,Df),ee=M0(H),de=ko(H,ee),ye,be,gt=0,Dt=v.interpolate||Qo,Rt="__p += '",rn=fu((v.escape||Qo).source+"|"+Dt.source+"|"+(Dt===f0?Wl:Qo).source+"|"+(v.evaluate||Qo).source+"|$","g"),Rn="//# sourceURL="+(ei.call(v,"sourceURL")?(v.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ic+"]")+` -`;d.replace(rn,function(ir,Zr,ui,bl,Wi,uo){return ui||(ui=bl),Rt+=d.slice(gt,uo).replace(lo,bs),Zr&&(ye=!0,Rt+=`' + -__e(`+Zr+`) + -'`),Wi&&(be=!0,Rt+=`'; -`+Wi+`; -__p += '`),ui&&(Rt+=`' + -((__t = (`+ui+`)) == null ? '' : __t) + -'`),gt=uo+ir.length,ir}),Rt+=`'; -`;var $n=ei.call(v,"variable")&&v.variable;if(!$n)Rt=`with (obj) { -`+Rt+` -} -`;else if(Y0.test($n))throw new Yt(t);Rt=(be?Rt.replace(Hr,""):Rt).replace(To,"$1").replace(Co,"$1;"),Rt="function("+($n||"obj")+`) { -`+($n?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(ye?", __e = _.escape":"")+(be?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+Rt+`return __p -}`;var Nr=_v(function(){return sr(ee,Rn+"return "+Rt).apply(i,de)});if(Nr.source=Rt,mp(Nr))throw Nr;return Nr}function hv(d){return ki(d).toLowerCase()}function W2(d){return ki(d).toUpperCase()}function V2(d,v,x){if(d=ki(d),d&&(x||v===i))return xu(d);if(!d||!(v=il(v)))return d;var b=Yr(d),H=Yr(v),ee=sf(b,H),de=gl(b,H)+1;return aa(b,ee,de).join("")}function Ap(d,v,x){if(d=ki(d),d&&(x||v===i))return d.slice(0,fo(d)+1);if(!d||!(v=il(v)))return d;var b=Yr(d),H=gl(b,Yr(v))+1;return aa(b,0,H).join("")}function vv(d,v,x){if(d=ki(d),d&&(x||v===i))return d.replace(Ln,"");if(!d||!(v=il(v)))return d;var b=Yr(d),H=sf(b,Yr(v));return aa(b,H).join("")}function G2(d,v){var x=Ge,b=rt;if(ku(v)){var H="separator"in v?v.separator:H;x="length"in v?Cr(v.length):x,b="omission"in v?il(v.omission):b}d=ki(d);var ee=d.length;if(Lo(d)){var de=Yr(d);ee=de.length}if(x>=ee)return d;var ye=x-Ki(b);if(ye<1)return b;var be=de?aa(de,0,ye).join(""):d.slice(0,ye);if(H===i)return be+b;if(de&&(ye+=be.length-ye),g1(H)){if(d.slice(ye).search(H)){var gt,Dt=be;for(H.global||(H=fu(H.source,ki(xo.exec(H))+"g")),H.lastIndex=0;gt=H.exec(Dt);)var Rt=gt.index;be=be.slice(0,Rt===i?ye:Rt)}}else if(d.indexOf(il(H),ye)!=ye){var rn=be.lastIndexOf(H);rn>-1&&(be=be.slice(0,rn))}return be+b}function mv(d){return d=ki(d),d&&Si.test(d)?d.replace(L0,Oi):d}var yv=_f(function(d,v,x){return d+(x?" ":"")+v.toUpperCase()}),Rp=_h("toUpperCase");function gv(d,v,x){return d=ki(d),v=x?i:v,v===i?ps(d)?cf(d):v0(d):d.match(v)||[]}var _v=Mr(function(d,v){try{return ie(d,i,v)}catch(x){return mp(x)?x:new Yt(x)}}),uy=ol(function(d,v){return tt(v,function(x){x=Rl(x),ju(d,x,y1(d[x],d))}),d});function Ev(d){var v=d==null?0:d.length,x=zn();return d=v?Lt(d,function(b){if(typeof b[1]!="function")throw new Kr(E);return[x(b[0]),b[1]]}):[],Mr(function(b){for(var H=-1;++H$t)return[];var x=ae,b=Wn(d,ae);v=zn(v),d-=ae;for(var H=S0(b,v);++x0||v<0)?new lt(x):(d<0?x=x.takeRight(-d):d&&(x=x.drop(d)),v!==i&&(v=Cr(v),x=v<0?x.dropRight(-v):x.take(v-d)),x)},lt.prototype.takeRightWhile=function(d){return this.reverse().takeWhile(d).reverse()},lt.prototype.toArray=function(){return this.take(ae)},A(lt.prototype,function(d,v){var x=/^(?:filter|find|map|reject)|While$/.test(v),b=/^(?:head|last)$/.test(v),H=Y[b?"take"+(v=="last"?"Right":""):v],ee=b||/^find/.test(v);!H||(Y.prototype[v]=function(){var de=this.__wrapped__,ye=b?[1]:arguments,be=de instanceof lt,gt=ye[0],Dt=be||Jn(de),Rt=function(Zr){var ui=H.apply(Y,gn([Zr],ye));return b&&rn?ui[0]:ui};Dt&&x&&typeof gt=="function"&>.length!=1&&(be=Dt=!1);var rn=this.__chain__,Rn=!!this.__actions__.length,$n=ee&&!rn,Nr=be&&!Rn;if(!ee&&Dt){de=Nr?de:new lt(this);var ir=d.apply(de,ye);return ir.__actions__.push({func:h1,args:[Rt],thisArg:i}),new Ur(ir,rn)}return $n&&Nr?d.apply(this,ye):(ir=this.thru(Rt),$n?b?ir.value()[0]:ir.value():ir)})}),tt(["pop","push","shift","sort","splice","unshift"],function(d){var v=Vr[d],x=/^(?:push|sort|unshift)$/.test(d)?"tap":"thru",b=/^(?:pop|shift)$/.test(d);Y.prototype[d]=function(){var H=arguments;if(b&&!this.__chain__){var ee=this.value();return v.apply(Jn(ee)?ee:[],H)}return this[x](function(de){return v.apply(Jn(de)?de:[],H)})}}),A(lt.prototype,function(d,v){var x=Y[v];if(x){var b=x.name+"";ei.call(xn,b)||(xn[b]=[]),xn[b].push({name:v,func:x})}}),xn[ca(i,we).name]=[{name:"wrapper",func:i}],lt.prototype.clone=hi,lt.prototype.reverse=Qi,lt.prototype.value=g0,Y.prototype.at=Qd,Y.prototype.chain=jh,Y.prototype.commit=Jd,Y.prototype.next=zh,Y.prototype.plant=xm,Y.prototype.reverse=Of,Y.prototype.toJSON=Y.prototype.valueOf=Y.prototype.value=kf,Y.prototype.first=Y.prototype.head,Ru&&(Y.prototype[Ru]=Cm),Y},Z0=J0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ni._=Z0,define(function(){return Z0})):z?((z.exports=Z0)._=Z0,B._=Z0):Ni._=Z0}).call(nm)});var GD=ce((Dne,VD)=>{"use strict";var Ai=VD.exports;VD.exports.default=Ai;var hu="[",ig="]",rm="\x07",$_=";",U5=process.env.TERM_PROGRAM==="Apple_Terminal";Ai.cursorTo=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof o!="number"?hu+(i+1)+"G":hu+(o+1)+";"+(i+1)+"H"};Ai.cursorMove=(i,o)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=hu+-i+"D":i>0&&(f+=hu+i+"C"),o<0?f+=hu+-o+"A":o>0&&(f+=hu+o+"B"),f};Ai.cursorUp=(i=1)=>hu+i+"A";Ai.cursorDown=(i=1)=>hu+i+"B";Ai.cursorForward=(i=1)=>hu+i+"C";Ai.cursorBackward=(i=1)=>hu+i+"D";Ai.cursorLeft=hu+"G";Ai.cursorSavePosition=U5?"7":hu+"s";Ai.cursorRestorePosition=U5?"8":hu+"u";Ai.cursorGetPosition=hu+"6n";Ai.cursorNextLine=hu+"E";Ai.cursorPrevLine=hu+"F";Ai.cursorHide=hu+"?25l";Ai.cursorShow=hu+"?25h";Ai.eraseLines=i=>{let o="";for(let f=0;f[ig,"8",$_,$_,o,rm,i,ig,"8",$_,$_,rm].join("");Ai.image=(i,o={})=>{let f=`${ig}1337;File=inline=1`;return o.width&&(f+=`;width=${o.width}`),o.height&&(f+=`;height=${o.height}`),o.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+rm};Ai.iTerm={setCwd:(i=process.cwd())=>`${ig}50;CurrentDir=${i}${rm}`,annotation:(i,o={})=>{let f=`${ig}1337;`,p=typeof o.x!="undefined",E=typeof o.y!="undefined";if((p||E)&&!(p&&E&&typeof o.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=o.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",o.length>0?f+=(p?[i,o.length,o.x,o.y]:[o.length,i]).join("|"):f+=i,f+rm}}});var z5=ce((wne,YD)=>{"use strict";var j5=(i,o)=>{for(let f of Reflect.ownKeys(o))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(o,f));return i};YD.exports=j5;YD.exports.default=j5});var H5=ce((Sne,e4)=>{"use strict";var UK=z5(),t4=new WeakMap,q5=(i,o={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,p=0,E=i.displayName||i.name||"",t=function(...k){if(t4.set(t,++p),p===1)f=i.apply(this,k),i=null;else if(o.throw===!0)throw new Error(`Function \`${E}\` can only be called once`);return f};return UK(t,i),t4.set(t,p),t};e4.exports=q5;e4.exports.default=q5;e4.exports.callCount=i=>{if(!t4.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return t4.get(i)}});var W5=ce((Tne,n4)=>{n4.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&n4.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&n4.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var JD=ce((Cne,ug)=>{var jK=require("assert"),og=W5(),zK=/^win/i.test(process.platform),r4=require("events");typeof r4!="function"&&(r4=r4.EventEmitter);var zl;process.__signal_exit_emitter__?zl=process.__signal_exit_emitter__:(zl=process.__signal_exit_emitter__=new r4,zl.count=0,zl.emitted={});zl.infinite||(zl.setMaxListeners(Infinity),zl.infinite=!0);ug.exports=function(i,o){jK.equal(typeof i,"function","a callback must be provided for exit handler"),lg===!1&&V5();var f="exit";o&&o.alwaysLast&&(f="afterexit");var p=function(){zl.removeListener(f,i),zl.listeners("exit").length===0&&zl.listeners("afterexit").length===0&&KD()};return zl.on(f,i),p};ug.exports.unload=KD;function KD(){!lg||(lg=!1,og.forEach(function(i){try{process.removeListener(i,XD[i])}catch(o){}}),process.emit=QD,process.reallyExit=G5,zl.count-=1)}function im(i,o,f){zl.emitted[i]||(zl.emitted[i]=!0,zl.emit(i,o,f))}var XD={};og.forEach(function(i){XD[i]=function(){var f=process.listeners(i);f.length===zl.count&&(KD(),im("exit",null,i),im("afterexit",null,i),zK&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});ug.exports.signals=function(){return og};ug.exports.load=V5;var lg=!1;function V5(){lg||(lg=!0,zl.count+=1,og=og.filter(function(i){try{return process.on(i,XD[i]),!0}catch(o){return!1}}),process.emit=HK,process.reallyExit=qK)}var G5=process.reallyExit;function qK(i){process.exitCode=i||0,im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),G5.call(process,process.exitCode)}var QD=process.emit;function HK(i,o){if(i==="exit"){o!==void 0&&(process.exitCode=o);var f=QD.apply(this,arguments);return im("exit",process.exitCode,null),im("afterexit",process.exitCode,null),f}else return QD.apply(this,arguments)}});var K5=ce((xne,Y5)=>{"use strict";var WK=H5(),VK=JD();Y5.exports=WK(()=>{VK(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var ZD=ce(um=>{"use strict";var GK=K5(),i4=!1;um.show=(i=process.stderr)=>{!i.isTTY||(i4=!1,i.write("[?25h"))};um.hide=(i=process.stderr)=>{!i.isTTY||(GK(),i4=!0,i.write("[?25l"))};um.toggle=(i,o)=>{i!==void 0&&(i4=i),i4?um.show(o):um.hide(o)}});var Z5=ce(sg=>{"use strict";var X5=sg&&sg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(sg,"__esModule",{value:!0});var Q5=X5(GD()),J5=X5(ZD()),YK=(i,{showCursor:o=!1}={})=>{let f=0,p="",E=!1,t=k=>{!o&&!E&&(J5.default.hide(),E=!0);let L=k+` -`;L!==p&&(p=L,i.write(Q5.default.eraseLines(f)+L),f=L.split(` -`).length)};return t.clear=()=>{i.write(Q5.default.eraseLines(f)),p="",f=0},t.done=()=>{p="",f=0,o||(J5.default.show(),E=!1)},t};sg.default={create:YK}});var e9=ce((One,$5)=>{$5.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var r9=ce(Ra=>{"use strict";var t9=e9(),bc=process.env;Object.defineProperty(Ra,"_vendors",{value:t9.map(function(i){return i.constant})});Ra.name=null;Ra.isPR=null;t9.forEach(function(i){var o=Array.isArray(i.env)?i.env:[i.env],f=o.every(function(p){return n9(p)});if(Ra[i.constant]=f,f)switch(Ra.name=i.name,typeof i.pr){case"string":Ra.isPR=!!bc[i.pr];break;case"object":"env"in i.pr?Ra.isPR=i.pr.env in bc&&bc[i.pr.env]!==i.pr.ne:"any"in i.pr?Ra.isPR=i.pr.any.some(function(p){return!!bc[p]}):Ra.isPR=n9(i.pr);break;default:Ra.isPR=null}});Ra.isCI=!!(bc.CI||bc.CONTINUOUS_INTEGRATION||bc.BUILD_NUMBER||bc.RUN_ID||Ra.name);function n9(i){return typeof i=="string"?!!bc[i]:Object.keys(i).every(function(o){return bc[o]===i[o]})}});var u9=ce((Mne,i9)=>{"use strict";i9.exports=r9().isCI});var l9=ce((Nne,o9)=>{"use strict";var KK=i=>{let o=new Set;do for(let f of Reflect.ownKeys(i))o.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return o};o9.exports=(i,{include:o,exclude:f}={})=>{let p=E=>{let t=k=>typeof k=="string"?E===k:k.test(E);return o?o.some(t):f?!f.some(t):!0};for(let[E,t]of KK(i.constructor.prototype)){if(t==="constructor"||!p(t))continue;let k=Reflect.getOwnPropertyDescriptor(E,t);k&&typeof k.value=="function"&&(i[t]=i[t].bind(i))}return i}});var h9=ce($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});var om,ag,u4,o4,$D;typeof window=="undefined"||typeof MessageChannel!="function"?(lm=null,ew=null,tw=function(){if(lm!==null)try{var i=$i.unstable_now();lm(!0,i),lm=null}catch(o){throw setTimeout(tw,0),o}},s9=Date.now(),$i.unstable_now=function(){return Date.now()-s9},om=function(i){lm!==null?setTimeout(om,0,i):(lm=i,setTimeout(tw,0))},ag=function(i,o){ew=setTimeout(i,o)},u4=function(){clearTimeout(ew)},o4=function(){return!1},$D=$i.unstable_forceFrameRate=function(){}):(l4=window.performance,nw=window.Date,a9=window.setTimeout,f9=window.clearTimeout,typeof console!="undefined"&&(c9=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof c9!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof l4=="object"&&typeof l4.now=="function"?$i.unstable_now=function(){return l4.now()}:(d9=nw.now(),$i.unstable_now=function(){return nw.now()-d9}),fg=!1,cg=null,s4=-1,rw=5,iw=0,o4=function(){return $i.unstable_now()>=iw},$D=function(){},$i.unstable_forceFrameRate=function(i){0>i||125f4(k,f))N!==void 0&&0>f4(N,k)?(i[p]=N,i[L]=f,p=L):(i[p]=k,i[t]=f,p=t);else if(N!==void 0&&0>f4(N,f))i[p]=N,i[L]=f,p=L;else break e}}return o}return null}function f4(i,o){var f=i.sortIndex-o.sortIndex;return f!==0?f:i.id-o.id}var Xf=[],dd=[],XK=1,Rs=null,ls=3,d4=!1,$p=!1,dg=!1;function p4(i){for(var o=uf(dd);o!==null;){if(o.callback===null)c4(dd);else if(o.startTime<=i)c4(dd),o.sortIndex=o.expirationTime,ow(Xf,o);else break;o=uf(dd)}}function lw(i){if(dg=!1,p4(i),!$p)if(uf(Xf)!==null)$p=!0,om(sw);else{var o=uf(dd);o!==null&&ag(lw,o.startTime-i)}}function sw(i,o){$p=!1,dg&&(dg=!1,u4()),d4=!0;var f=ls;try{for(p4(o),Rs=uf(Xf);Rs!==null&&(!(Rs.expirationTime>o)||i&&!o4());){var p=Rs.callback;if(p!==null){Rs.callback=null,ls=Rs.priorityLevel;var E=p(Rs.expirationTime<=o);o=$i.unstable_now(),typeof E=="function"?Rs.callback=E:Rs===uf(Xf)&&c4(Xf),p4(o)}else c4(Xf);Rs=uf(Xf)}if(Rs!==null)var t=!0;else{var k=uf(dd);k!==null&&ag(lw,k.startTime-o),t=!1}return t}finally{Rs=null,ls=f,d4=!1}}function p9(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var QK=$D;$i.unstable_ImmediatePriority=1;$i.unstable_UserBlockingPriority=2;$i.unstable_NormalPriority=3;$i.unstable_IdlePriority=5;$i.unstable_LowPriority=4;$i.unstable_runWithPriority=function(i,o){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=ls;ls=i;try{return o()}finally{ls=f}};$i.unstable_next=function(i){switch(ls){case 1:case 2:case 3:var o=3;break;default:o=ls}var f=ls;ls=o;try{return i()}finally{ls=f}};$i.unstable_scheduleCallback=function(i,o,f){var p=$i.unstable_now();if(typeof f=="object"&&f!==null){var E=f.delay;E=typeof E=="number"&&0p?(i.sortIndex=E,ow(dd,i),uf(Xf)===null&&i===uf(dd)&&(dg?u4():dg=!0,ag(lw,E-p))):(i.sortIndex=f,ow(Xf,i),$p||d4||($p=!0,om(sw))),i};$i.unstable_cancelCallback=function(i){i.callback=null};$i.unstable_wrapCallback=function(i){var o=ls;return function(){var f=ls;ls=o;try{return i.apply(this,arguments)}finally{ls=f}}};$i.unstable_getCurrentPriorityLevel=function(){return ls};$i.unstable_shouldYield=function(){var i=$i.unstable_now();p4(i);var o=uf(Xf);return o!==Rs&&Rs!==null&&o!==null&&o.callback!==null&&o.startTime<=i&&o.expirationTime{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var i=!1,o=!1,f=!0,p,E,t,k,L;if(typeof window=="undefined"||typeof MessageChannel!="function"){var N=null,C=null,U=function(){if(N!==null)try{var Et=Ri.unstable_now(),Pt=!0;N(Pt,Et),N=null}catch(Bn){throw setTimeout(U,0),Bn}},q=Date.now();Ri.unstable_now=function(){return Date.now()-q},p=function(Et){N!==null?setTimeout(p,0,Et):(N=Et,setTimeout(U,0))},E=function(Et,Pt){C=setTimeout(Et,Pt)},t=function(){clearTimeout(C)},k=function(){return!1},L=Ri.unstable_forceFrameRate=function(){}}else{var W=window.performance,ne=window.Date,m=window.setTimeout,we=window.clearTimeout;if(typeof console!="undefined"){var Se=window.requestAnimationFrame,he=window.cancelAnimationFrame;typeof Se!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof he!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if(typeof W=="object"&&typeof W.now=="function")Ri.unstable_now=function(){return W.now()};else{var ge=ne.now();Ri.unstable_now=function(){return ne.now()-ge}}var ze=!1,pe=null,Oe=-1,le=5,Ue=0,Ge=300,rt=!1;if(o&&navigator!==void 0&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0){var wt=navigator.scheduling;k=function(){var Et=Ri.unstable_now();return Et>=Ue?rt||wt.isInputPending()?!0:Et>=Ge:!1},L=function(){rt=!0}}else k=function(){return Ri.unstable_now()>=Ue},L=function(){};Ri.unstable_forceFrameRate=function(Et){if(Et<0||Et>125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported");return}Et>0?le=Math.floor(1e3/Et):le=5};var xt=function(){if(pe!==null){var Et=Ri.unstable_now();Ue=Et+le;var Pt=!0;try{var Bn=pe(Pt,Et);Bn?ft.postMessage(null):(ze=!1,pe=null)}catch(Ir){throw ft.postMessage(null),Ir}}else ze=!1;rt=!1},$e=new MessageChannel,ft=$e.port2;$e.port1.onmessage=xt,p=function(Et){pe=Et,ze||(ze=!0,ft.postMessage(null))},E=function(Et,Pt){Oe=m(function(){Et(Ri.unstable_now())},Pt)},t=function(){we(Oe),Oe=-1}}function Ke(Et,Pt){var Bn=Et.length;Et.push(Pt),at(Et,Pt,Bn)}function jt(Et){var Pt=Et[0];return Pt===void 0?null:Pt}function $t(Et){var Pt=Et[0];if(Pt!==void 0){var Bn=Et.pop();return Bn!==Pt&&(Et[0]=Bn,Q(Et,Bn,0)),Pt}else return null}function at(Et,Pt,Bn){for(var Ir=Bn;;){var ji=Math.floor((Ir-1)/2),Wr=Et[ji];if(Wr!==void 0&&ae(Wr,Pt)>0)Et[ji]=Pt,Et[Ir]=Wr,Ir=ji;else return}}function Q(Et,Pt,Bn){for(var Ir=Bn,ji=Et.length;Irur){if(ur*=2,ur>Fr){console.error("Scheduler Profiling: Event log exceeded maximum size. Don't forget to call `stopLoggingProfilingEvents()`."),mr();return}var Bn=new Int32Array(ur*4);Bn.set(Kt),br=Bn.buffer,Kt=Bn}Kt.set(Et,Pt)}}function ai(){ur=fr,br=new ArrayBuffer(ur*4),Kt=new Int32Array(br),vu=0}function mr(){var Et=br;return ur=0,br=null,Kt=null,vu=0,Et}function Xo(Et,Pt){f&&(Wt[Vn]++,Kt!==null&&eu([a0,Pt*1e3,Et.id,Et.priorityLevel]))}function W0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([So,Pt*1e3,Et.id]))}function Lu(Et,Pt){f&&(Wt[Vn]--,Kt!==null&&eu([Os,Pt*1e3,Et.id]))}function V0(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Vn]--,Kt!==null&&eu([Go,Pt*1e3,Et.id]))}function Hr(Et,Pt){f&&(ln++,Wt[vr]=Et.priorityLevel,Wt[w]=Et.id,Wt[Ut]=ln,Kt!==null&&eu([Yo,Pt*1e3,Et.id,ln]))}function To(Et,Pt){f&&(Wt[vr]=Ce,Wt[w]=0,Wt[Ut]=0,Kt!==null&&eu([Ko,Pt*1e3,Et.id,ln]))}function Co(Et){f&&(An++,Kt!==null&&eu([qt,Et*1e3,An]))}function L0(Et){f&&Kt!==null&&eu([_i,Et*1e3,An])}var tu=1073741823,Si=-1,ks=250,Hl=5e3,F0=1e4,f0=tu,Pr=[],Ei=[],G0=1,fi=!1,Zt=null,Ln=ct,Di=!1,ci=!1,Ht=!1;function Du(Et){for(var Pt=jt(Ei);Pt!==null;){if(Pt.callback===null)$t(Ei);else if(Pt.startTime<=Et)$t(Ei),Pt.sortIndex=Pt.expirationTime,Ke(Pr,Pt),f&&(Xo(Pt,Et),Pt.isQueued=!0);else return;Pt=jt(Ei)}}function Yi(Et){if(Ht=!1,Du(Et),!ci)if(jt(Pr)!==null)ci=!0,p(Y0);else{var Pt=jt(Ei);Pt!==null&&E(Yi,Pt.startTime-Et)}}function Y0(Et,Pt){f&&L0(Pt),ci=!1,Ht&&(Ht=!1,t()),Di=!0;var Bn=Ln;try{if(f)try{return Ui(Et,Pt)}catch(Wr){if(Zt!==null){var Ir=Ri.unstable_now();V0(Zt,Ir),Zt.isQueued=!1}throw Wr}else return Ui(Et,Pt)}finally{if(Zt=null,Ln=Bn,Di=!1,f){var ji=Ri.unstable_now();Co(ji)}}}function Ui(Et,Pt){var Bn=Pt;for(Du(Bn),Zt=jt(Pr);Zt!==null&&!(i&&fi)&&!(Zt.expirationTime>Bn&&(!Et||k()));){var Ir=Zt.callback;if(Ir!==null){Zt.callback=null,Ln=Zt.priorityLevel;var ji=Zt.expirationTime<=Bn;Hr(Zt,Bn);var Wr=Ir(ji);Bn=Ri.unstable_now(),typeof Wr=="function"?(Zt.callback=Wr,To(Zt,Bn)):(f&&(W0(Zt,Bn),Zt.isQueued=!1),Zt===jt(Pr)&&$t(Pr)),Du(Bn)}else $t(Pr);Zt=jt(Pr)}if(Zt!==null)return!0;var wu=jt(Ei);return wu!==null&&E(Yi,wu.startTime-Bn),!1}function Wl(Et,Pt){switch(Et){case ue:case je:case ct:case At:case en:break;default:Et=ct}var Bn=Ln;Ln=Et;try{return Pt()}finally{Ln=Bn}}function xo(Et){var Pt;switch(Ln){case ue:case je:case ct:Pt=ct;break;default:Pt=Ln;break}var Bn=Ln;Ln=Pt;try{return Et()}finally{Ln=Bn}}function ni(Et){var Pt=Ln;return function(){var Bn=Ln;Ln=Pt;try{return Et.apply(this,arguments)}finally{Ln=Bn}}}function oo(Et){switch(Et){case ue:return Si;case je:return ks;case en:return f0;case At:return F0;case ct:default:return Hl}}function Vl(Et,Pt,Bn){var Ir=Ri.unstable_now(),ji,Wr;if(typeof Bn=="object"&&Bn!==null){var wu=Bn.delay;typeof wu=="number"&&wu>0?ji=Ir+wu:ji=Ir,Wr=typeof Bn.timeout=="number"?Bn.timeout:oo(Et)}else Wr=oo(Et),ji=Ir;var c0=ji+Wr,Ti={id:G0++,callback:Pt,priorityLevel:Et,startTime:ji,expirationTime:c0,sortIndex:-1};return f&&(Ti.isQueued=!1),ji>Ir?(Ti.sortIndex=ji,Ke(Ei,Ti),jt(Pr)===null&&Ti===jt(Ei)&&(Ht?t():Ht=!0,E(Yi,ji-Ir))):(Ti.sortIndex=c0,Ke(Pr,Ti),f&&(Xo(Ti,Ir),Ti.isQueued=!0),!ci&&!Di&&(ci=!0,p(Y0))),Ti}function Ao(){fi=!0}function Ms(){fi=!1,!ci&&!Di&&(ci=!0,p(Y0))}function Xn(){return jt(Pr)}function Qo(Et){if(f&&Et.isQueued){var Pt=Ri.unstable_now();Lu(Et,Pt),Et.isQueued=!1}Et.callback=null}function lo(){return Ln}function b0(){var Et=Ri.unstable_now();Du(Et);var Pt=jt(Pr);return Pt!==Zt&&Zt!==null&&Pt!==null&&Pt.callback!==null&&Pt.startTime<=Et&&Pt.expirationTime{"use strict";process.env.NODE_ENV==="production"?aw.exports=h9():aw.exports=v9()});var m9=ce((Pne,pg)=>{pg.exports=function i(o){"use strict";var f=eg(),p=su(),E=h4();function t(g){for(var y="https://reactjs.org/docs/error-decoder.html?invariant="+g,A=1;AG0||(g.current=Ei[G0],Ei[G0]=null,G0--)}function Zt(g,y){G0++,Ei[G0]=g.current,g.current=y}var Ln={},Di={current:Ln},ci={current:!1},Ht=Ln;function Du(g,y){var A=g.type.contextTypes;if(!A)return Ln;var F=g.stateNode;if(F&&F.__reactInternalMemoizedUnmaskedChildContext===y)return F.__reactInternalMemoizedMaskedChildContext;var I={},J;for(J in A)I[J]=y[J];return F&&(g=g.stateNode,g.__reactInternalMemoizedUnmaskedChildContext=y,g.__reactInternalMemoizedMaskedChildContext=I),I}function Yi(g){return g=g.childContextTypes,g!=null}function Y0(g){fi(ci,g),fi(Di,g)}function Ui(g){fi(ci,g),fi(Di,g)}function Wl(g,y,A){if(Di.current!==Ln)throw Error(t(168));Zt(Di,y,g),Zt(ci,A,g)}function xo(g,y,A){var F=g.stateNode;if(g=y.childContextTypes,typeof F.getChildContext!="function")return A;F=F.getChildContext();for(var I in F)if(!(I in g))throw Error(t(108,Ge(y)||"Unknown",I));return f({},A,{},F)}function ni(g){var y=g.stateNode;return y=y&&y.__reactInternalMemoizedMergedChildContext||Ln,Ht=Di.current,Zt(Di,y,g),Zt(ci,ci.current,g),!0}function oo(g,y,A){var F=g.stateNode;if(!F)throw Error(t(169));A?(y=xo(g,y,Ht),F.__reactInternalMemoizedMergedChildContext=y,fi(ci,g),fi(Di,g),Zt(Di,y,g)):fi(ci,g),Zt(ci,A,g)}var Vl=E.unstable_runWithPriority,Ao=E.unstable_scheduleCallback,Ms=E.unstable_cancelCallback,Xn=E.unstable_shouldYield,Qo=E.unstable_requestPaint,lo=E.unstable_now,b0=E.unstable_getCurrentPriorityLevel,yl=E.unstable_ImmediatePriority,Ro=E.unstable_UserBlockingPriority,Et=E.unstable_NormalPriority,Pt=E.unstable_LowPriority,Bn=E.unstable_IdlePriority,Ir={},ji=Qo!==void 0?Qo:function(){},Wr=null,wu=null,c0=!1,Ti=lo(),d0=1e4>Ti?lo:function(){return lo()-Ti};function as(){switch(b0()){case yl:return 99;case Ro:return 98;case Et:return 97;case Pt:return 96;case Bn:return 95;default:throw Error(t(332))}}function St(g){switch(g){case 99:return yl;case 98:return Ro;case 97:return Et;case 96:return Pt;case 95:return Bn;default:throw Error(t(332))}}function so(g,y){return g=St(g),Vl(g,y)}function Jo(g,y,A){return g=St(g),Ao(g,y,A)}function Gl(g){return Wr===null?(Wr=[g],wu=Ao(yl,fs)):Wr.push(g),Ir}function Fu(){if(wu!==null){var g=wu;wu=null,Ms(g)}fs()}function fs(){if(!c0&&Wr!==null){c0=!0;var g=0;try{var y=Wr;so(99,function(){for(;g=y&&(fo=!0),g.firstContext=null)}function Tu(g,y){if(Su!==g&&y!==!1&&y!==0)if((typeof y!="number"||y===1073741823)&&(Su=g,y=1073741823),y={context:g,observedBits:y,next:null},mi===null){if(or===null)throw Error(t(308));mi=y,or.dependencies={expirationTime:0,firstContext:y,responders:null}}else mi=mi.next=y;return un?g._currentValue:g._currentValue2}var ao=!1;function Iu(g){return{baseState:g,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Oa(g){return{baseState:g.baseState,firstUpdate:g.firstUpdate,lastUpdate:g.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function p0(g,y){return{expirationTime:g,suspenseConfig:y,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Zs(g,y){g.lastUpdate===null?g.firstUpdate=g.lastUpdate=y:(g.lastUpdate.next=y,g.lastUpdate=y)}function K0(g,y){var A=g.alternate;if(A===null){var F=g.updateQueue,I=null;F===null&&(F=g.updateQueue=Iu(g.memoizedState))}else F=g.updateQueue,I=A.updateQueue,F===null?I===null?(F=g.updateQueue=Iu(g.memoizedState),I=A.updateQueue=Iu(A.memoizedState)):F=g.updateQueue=Oa(I):I===null&&(I=A.updateQueue=Oa(F));I===null||F===I?Zs(F,y):F.lastUpdate===null||I.lastUpdate===null?(Zs(F,y),Zs(I,y)):(Zs(F,y),I.lastUpdate=y)}function $s(g,y){var A=g.updateQueue;A=A===null?g.updateQueue=Iu(g.memoizedState):ka(g,A),A.lastCapturedUpdate===null?A.firstCapturedUpdate=A.lastCapturedUpdate=y:(A.lastCapturedUpdate.next=y,A.lastCapturedUpdate=y)}function ka(g,y){var A=g.alternate;return A!==null&&y===A.updateQueue&&(y=g.updateQueue=Oa(y)),y}function cs(g,y,A,F,I,J){switch(A.tag){case 1:return g=A.payload,typeof g=="function"?g.call(J,F,I):g;case 3:g.effectTag=g.effectTag&-4097|64;case 0:if(g=A.payload,I=typeof g=="function"?g.call(J,F,I):g,I==null)break;return f({},F,I);case 2:ao=!0}return F}function w0(g,y,A,F,I){ao=!1,y=ka(g,y);for(var J=y.baseState,fe=null,mt=0,Ct=y.firstUpdate,Mt=J;Ct!==null;){var Er=Ct.expirationTime;Erii?(qi=tr,tr=null):qi=tr.sibling;var jr=iu(He,tr,ut[ii],Jt);if(jr===null){tr===null&&(tr=qi);break}g&&tr&&jr.alternate===null&&y(He,tr),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr,tr=qi}if(ii===ut.length)return A(He,tr),jn;if(tr===null){for(;iiii?(qi=tr,tr=null):qi=tr.sibling;var gu=iu(He,tr,jr.value,Jt);if(gu===null){tr===null&&(tr=qi);break}g&&tr&&gu.alternate===null&&y(He,tr),Be=J(gu,Be,ii),ti===null?jn=gu:ti.sibling=gu,ti=gu,tr=qi}if(jr.done)return A(He,tr),jn;if(tr===null){for(;!jr.done;ii++,jr=ut.next())jr=$u(He,jr.value,Jt),jr!==null&&(Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return jn}for(tr=F(He,tr);!jr.done;ii++,jr=ut.next())jr=j0(tr,He,ii,jr.value,Jt),jr!==null&&(g&&jr.alternate!==null&&tr.delete(jr.key===null?ii:jr.key),Be=J(jr,Be,ii),ti===null?jn=jr:ti.sibling=jr,ti=jr);return g&&tr.forEach(function(Ba){return y(He,Ba)}),jn}return function(He,Be,ut,Jt){var jn=typeof ut=="object"&&ut!==null&&ut.type===U&&ut.key===null;jn&&(ut=ut.props.children);var ti=typeof ut=="object"&&ut!==null;if(ti)switch(ut.$$typeof){case N:e:{for(ti=ut.key,jn=Be;jn!==null;){if(jn.key===ti)if(jn.tag===7?ut.type===U:jn.elementType===ut.type){A(He,jn.sibling),Be=I(jn,ut.type===U?ut.props.children:ut.props,Jt),Be.ref=Fs(He,jn,ut),Be.return=He,He=Be;break e}else{A(He,jn);break}else y(He,jn);jn=jn.sibling}ut.type===U?(Be=Zu(ut.props.children,He.mode,Jt,ut.key),Be.return=He,He=Be):(Jt=Ia(ut.type,ut.key,ut.props,null,He.mode,Jt),Jt.ref=Fs(He,Be,ut),Jt.return=He,He=Jt)}return fe(He);case C:e:{for(jn=ut.key;Be!==null;){if(Be.key===jn)if(Be.tag===4&&Be.stateNode.containerInfo===ut.containerInfo&&Be.stateNode.implementation===ut.implementation){A(He,Be.sibling),Be=I(Be,ut.children||[],Jt),Be.return=He,He=Be;break e}else{A(He,Be);break}else y(He,Be);Be=Be.sibling}Be=vf(ut,He.mode,Jt),Be.return=He,He=Be}return fe(He)}if(typeof ut=="string"||typeof ut=="number")return ut=""+ut,Be!==null&&Be.tag===6?(A(He,Be.sibling),Be=I(Be,ut,Jt),Be.return=He,He=Be):(A(He,Be),Be=U0(ut,He.mode,Jt),Be.return=He,He=Be),fe(He);if(h0(ut))return Tl(He,Be,ut,Jt);if(le(ut))return e0(He,Be,ut,Jt);if(ti&&Ni(He,ut),typeof ut=="undefined"&&!jn)switch(He.tag){case 1:case 0:throw He=He.type,Error(t(152,He.displayName||He.name||"Component"))}return A(He,Be)}}var z=B(!0),G=B(!1),$={},De={current:$},me={current:$},xe={current:$};function Z(g){if(g===$)throw Error(t(174));return g}function ke(g,y){Zt(xe,y,g),Zt(me,g,g),Zt(De,$,g),y=jt(y),fi(De,g),Zt(De,y,g)}function Xe(g){fi(De,g),fi(me,g),fi(xe,g)}function ht(g){var y=Z(xe.current),A=Z(De.current);y=$t(A,g.type,y),A!==y&&(Zt(me,g,g),Zt(De,y,g))}function ie(g){me.current===g&&(fi(De,g),fi(me,g))}var qe={current:0};function tt(g){for(var y=g;y!==null;){if(y.tag===13){var A=y.memoizedState;if(A!==null&&(A=A.dehydrated,A===null||Hr(A)||To(A)))return y}else if(y.tag===19&&y.memoizedProps.revealOrder!==void 0){if((y.effectTag&64)!=0)return y}else if(y.child!==null){y.child.return=y,y=y.child;continue}if(y===g)break;for(;y.sibling===null;){if(y.return===null||y.return===g)return null;y=y.return}y.sibling.return=y.return,y=y.sibling}return null}function Tt(g,y){return{responder:g,props:y}}var kt=k.ReactCurrentDispatcher,bt=k.ReactCurrentBatchConfig,on=0,tn=null,Lt=null,gn=null,lr=null,Qn=null,_r=null,Cn=0,Ar=null,v0=0,Rr=!1,nt=null,_t=0;function Ze(){throw Error(t(321))}function Ft(g,y){if(y===null)return!1;for(var A=0;ACn&&(Cn=Er,La(Cn))):(oc(Er,Ct.suspenseConfig),J=Ct.eagerReducer===g?Ct.eagerState:g(J,Ct.action)),fe=Ct,Ct=Ct.next}while(Ct!==null&&Ct!==F);Mt||(mt=fe,I=J),Ne(J,y.memoizedState)||(fo=!0),y.memoizedState=J,y.baseUpdate=mt,y.baseState=I,A.lastRenderedState=J}return[y.memoizedState,A.dispatch]}function S0(g){var y=Yn();return typeof g=="function"&&(g=g()),y.memoizedState=y.baseState=g,g=y.queue={last:null,dispatch:null,lastRenderedReducer:nu,lastRenderedState:g},g=g.dispatch=bs.bind(null,tn,g),[y.memoizedState,g]}function X0(g){return Cu(nu,g)}function xu(g,y,A,F){return g={tag:g,create:y,destroy:A,deps:F,next:null},Ar===null?(Ar={lastEffect:null},Ar.lastEffect=g.next=g):(y=Ar.lastEffect,y===null?Ar.lastEffect=g.next=g:(A=y.next,y.next=g,g.next=A,Ar.lastEffect=g)),g}function di(g,y,A,F){var I=Yn();v0|=g,I.memoizedState=xu(y,A,void 0,F===void 0?null:F)}function ko(g,y,A,F){var I=yr();F=F===void 0?null:F;var J=void 0;if(Lt!==null){var fe=Lt.memoizedState;if(J=fe.destroy,F!==null&&Ft(F,fe.deps)){xu(0,A,J,F);return}}v0|=g,I.memoizedState=xu(y,A,J,F)}function Zo(g,y){return di(516,192,g,y)}function sf(g,y){return ko(516,192,g,y)}function gl(g,y){if(typeof y=="function")return g=g(),y(g),function(){y(null)};if(y!=null)return g=g(),y.current=g,function(){y.current=null}}function af(){}function Mo(g,y){return Yn().memoizedState=[g,y===void 0?null:y],g}function ds(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(A.memoizedState=[g,y],g)}function bs(g,y,A){if(!(25>_t))throw Error(t(301));var F=g.alternate;if(g===tn||F!==null&&F===tn)if(Rr=!0,g={expirationTime:on,suspenseConfig:null,action:A,eagerReducer:null,eagerState:null,next:null},nt===null&&(nt=new Map),A=nt.get(y),A===void 0)nt.set(y,g);else{for(y=A;y.next!==null;)y=y.next;y.next=g}else{var I=g0(),J=ri.suspense;I=bn(I,g,J),J={expirationTime:I,suspenseConfig:J,action:A,eagerReducer:null,eagerState:null,next:null};var fe=y.last;if(fe===null)J.next=J;else{var mt=fe.next;mt!==null&&(J.next=mt),fe.next=J}if(y.last=J,g.expirationTime===0&&(F===null||F.expirationTime===0)&&(F=y.lastRenderedReducer,F!==null))try{var Ct=y.lastRenderedState,Mt=F(Ct,A);if(J.eagerReducer=F,J.eagerState=Mt,Ne(Mt,Ct))return}catch(Er){}finally{}Qu(g,I)}}var No={readContext:Tu,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useLayoutEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useResponder:Ze,useDeferredValue:Ze,useTransition:Ze},Lo={readContext:Tu,useCallback:Mo,useContext:Tu,useEffect:Zo,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,di(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return di(4,36,g,y)},useMemo:function(g,y){var A=Yn();return y=y===void 0?null:y,g=g(),A.memoizedState=[g,y],g},useReducer:function(g,y,A){var F=Yn();return y=A!==void 0?A(y):y,F.memoizedState=F.baseState=y,g=F.queue={last:null,dispatch:null,lastRenderedReducer:g,lastRenderedState:y},g=g.dispatch=bs.bind(null,tn,g),[F.memoizedState,g]},useRef:function(g){var y=Yn();return g={current:g},y.memoizedState=g},useState:S0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=S0(g),F=A[0],I=A[1];return Zo(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=S0(!1),A=y[0],F=y[1];return[Mo(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},ps={readContext:Tu,useCallback:ds,useContext:Tu,useEffect:sf,useImperativeHandle:function(g,y,A){return A=A!=null?A.concat([g]):null,ko(4,36,gl.bind(null,y,g),A)},useLayoutEffect:function(g,y){return ko(4,36,g,y)},useMemo:function(g,y){var A=yr();y=y===void 0?null:y;var F=A.memoizedState;return F!==null&&y!==null&&Ft(y,F[1])?F[0]:(g=g(),A.memoizedState=[g,y],g)},useReducer:Cu,useRef:function(){return yr().memoizedState},useState:X0,useDebugValue:af,useResponder:Tt,useDeferredValue:function(g,y){var A=X0(g),F=A[0],I=A[1];return sf(function(){E.unstable_next(function(){var J=bt.suspense;bt.suspense=y===void 0?null:y;try{I(g)}finally{bt.suspense=J}})},[g,y]),F},useTransition:function(g){var y=X0(!1),A=y[0],F=y[1];return[ds(function(I){F(!0),E.unstable_next(function(){var J=bt.suspense;bt.suspense=g===void 0?null:g;try{F(!1),I()}finally{bt.suspense=J}})},[g,A]),A]}},Vu=null,yu=null,pi=!1;function T0(g,y){var A=Io(5,null,null,0);A.elementType="DELETED",A.type="DELETED",A.stateNode=y,A.return=g,A.effectTag=8,g.lastEffect!==null?(g.lastEffect.nextEffect=A,g.lastEffect=A):g.firstEffect=g.lastEffect=A}function Q0(g,y){switch(g.tag){case 5:return y=Lu(y,g.type,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 6:return y=V0(y,g.pendingProps),y!==null?(g.stateNode=y,!0):!1;case 13:return!1;default:return!1}}function Fo(g){if(pi){var y=yu;if(y){var A=y;if(!Q0(g,y)){if(y=Co(A),!y||!Q0(g,y)){g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g;return}T0(Vu,A)}Vu=g,yu=L0(y)}else g.effectTag=g.effectTag&-1025|2,pi=!1,Vu=g}}function ta(g){for(g=g.return;g!==null&&g.tag!==5&&g.tag!==3&&g.tag!==13;)g=g.return;Vu=g}function Kl(g){if(!w||g!==Vu)return!1;if(!pi)return ta(g),pi=!0,!1;var y=g.type;if(g.tag!==5||y!=="head"&&y!=="body"&&!ct(y,g.memoizedProps))for(y=yu;y;)T0(g,y),y=Co(y);if(ta(g),g.tag===13){if(!w)throw Error(t(316));if(g=g.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(t(317));yu=ks(g)}else yu=Vu?Co(g.stateNode):null;return!0}function Ki(){w&&(yu=Vu=null,pi=!1)}var Yr=k.ReactCurrentOwner,fo=!1;function Oi(g,y,A,F){y.child=g===null?G(y,null,A,F):z(y,g.child,A,F)}function gi(g,y,A,F,I){A=A.render;var J=y.ref;return Oo(y,I),F=nn(g,y,A,F,J,I),g!==null&&!fo?(y.updateQueue=g.updateQueue,y.effectTag&=-517,g.expirationTime<=I&&(g.expirationTime=0),fu(g,y,I)):(y.effectTag|=1,Oi(g,y,F,I),y.child)}function ff(g,y,A,F,I,J){if(g===null){var fe=A.type;return typeof fe=="function"&&!hf(fe)&&fe.defaultProps===void 0&&A.compare===null&&A.defaultProps===void 0?(y.tag=15,y.type=fe,cf(g,y,fe,F,I,J)):(g=Ia(A.type,null,F,null,y.mode,J),g.ref=y.ref,g.return=y,y.child=g)}return fe=g.child,Iy)&&Ur.set(g,y)))}}function eo(g,y){g.expirationTimeg?y:g)}function Ju(g){if(g.lastExpiredTime!==0)g.callbackExpirationTime=1073741823,g.callbackPriority=99,g.callbackNode=Gl(to.bind(null,g));else{var y=po(g),A=g.callbackNode;if(y===0)A!==null&&(g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90);else{var F=g0();if(y===1073741823?F=99:y===1||y===2?F=95:(F=10*(1073741821-y)-10*(1073741821-F),F=0>=F?99:250>=F?98:5250>=F?97:95),A!==null){var I=g.callbackPriority;if(g.callbackExpirationTime===y&&I>=F)return;A!==Ir&&Ms(A)}g.callbackExpirationTime=y,g.callbackPriority=F,y=y===1073741823?Gl(to.bind(null,g)):Jo(F,bo.bind(null,g),{timeout:10*(1073741821-y)-d0()}),g.callbackNode=y}}}function bo(g,y){if(Qi=0,y)return y=g0(),oa(g,y),Ju(g),null;var A=po(g);if(A!==0){if(y=g.callbackNode,(kn&(Xi|ru))!==wr)throw Error(t(327));if(Bs(),g===se&&A===Le||ms(g,A),re!==null){var F=kn;kn|=Xi;var I=B0(g);do try{$1();break}catch(mt){ia(g,mt)}while(1);if(bu(),kn=F,Ku.current=I,Ae===Xr)throw y=ot,ms(g,A),Sl(g,A),Ju(g),y;if(re===null)switch(I=g.finishedWork=g.current.alternate,g.finishedExpirationTime=A,F=Ae,se=null,F){case Ci:case Xr:throw Error(t(345));case Wn:oa(g,2=A){g.lastPingedTime=A,ms(g,A);break}}if(J=po(g),J!==0&&J!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}g.timeoutHandle=ln(Dl.bind(null,g),I);break}Dl(g);break;case m0:if(Sl(g,A),F=g.lastSuspendedTime,A===F&&(g.nextKnownPendingLevel=Uc(I)),yn&&(I=g.lastPingedTime,I===0||I>=A)){g.lastPingedTime=A,ms(g,A);break}if(I=po(g),I!==0&&I!==A)break;if(F!==0&&F!==A){g.lastPingedTime=F;break}if(Xt!==1073741823?F=10*(1073741821-Xt)-d0():vt===1073741823?F=0:(F=10*(1073741821-vt)-5e3,I=d0(),A=10*(1073741821-A)-I,F=I-F,0>F&&(F=0),F=(120>F?120:480>F?480:1080>F?1080:1920>F?1920:3e3>F?3e3:4320>F?4320:1960*df(F/1960))-F,A=F?F=0:(I=fe.busyDelayMs|0,J=d0()-(10*(1073741821-J)-(fe.timeoutMs|0||5e3)),F=J<=I?0:I+F-J),10 component higher in the tree to provide a loading indicator or placeholder to display.`+Pr(I))}Ae!==y0&&(Ae=Wn),J=_l(J,I),Ct=F;do{switch(Ct.tag){case 3:fe=J,Ct.effectTag|=4096,Ct.expirationTime=y;var Be=hs(Ct,fe,y);$s(Ct,Be);break e;case 1:fe=J;var ut=Ct.type,Jt=Ct.stateNode;if((Ct.effectTag&64)==0&&(typeof ut.getDerivedStateFromError=="function"||Jt!==null&&typeof Jt.componentDidCatch=="function"&&(cr===null||!cr.has(Jt)))){Ct.effectTag|=4096,Ct.expirationTime=y;var jn=ra(Ct,fe,y);$s(Ct,jn);break e}}Ct=Ct.return}while(Ct!==null)}re=ho(re)}catch(ti){y=ti;continue}break}while(1)}function B0(){var g=Ku.current;return Ku.current=No,g===null?No:g}function oc(g,y){g_n&&(_n=g)}function gd(){for(;re!==null;)re=e2(re)}function $1(){for(;re!==null&&!Xn();)re=e2(re)}function e2(g){var y=Pa(g.alternate,g,Le);return g.memoizedProps=g.pendingProps,y===null&&(y=ho(g)),vs.current=null,y}function ho(g){re=g;do{var y=re.alternate;if(g=re.return,(re.effectTag&2048)==0){e:{var A=y;y=re;var F=Le,I=y.pendingProps;switch(y.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:Yi(y.type)&&Y0(y);break;case 3:Xe(y),Ui(y),I=y.stateNode,I.pendingContext&&(I.context=I.pendingContext,I.pendingContext=null),(A===null||A.child===null)&&Kl(y)&&Gu(y),Vr(y);break;case 5:ie(y);var J=Z(xe.current);if(F=y.type,A!==null&&y.stateNode!=null)Bu(A,y,F,I,J),A.ref!==y.ref&&(y.effectTag|=128);else if(I){if(A=Z(De.current),Kl(y)){if(I=y,!w)throw Error(t(175));A=tu(I.stateNode,I.type,I.memoizedProps,J,A,I),I.updateQueue=A,A=A!==null,A&&Gu(y)}else{var fe=ae(F,I,J,A,y);Kr(fe,y,!1,!1),y.stateNode=fe,ue(fe,F,I,J,A)&&Gu(y)}y.ref!==null&&(y.effectTag|=128)}else if(y.stateNode===null)throw Error(t(166));break;case 6:if(A&&y.stateNode!=null)Sn(A,y,A.memoizedProps,I);else{if(typeof I!="string"&&y.stateNode===null)throw Error(t(166));if(A=Z(xe.current),J=Z(De.current),Kl(y)){if(A=y,!w)throw Error(t(176));(A=Si(A.stateNode,A.memoizedProps,A))&&Gu(y)}else y.stateNode=en(I,A,J,y)}break;case 11:break;case 13:if(fi(qe,y),I=y.memoizedState,(y.effectTag&64)!=0){y.expirationTime=F;break e}I=I!==null,J=!1,A===null?y.memoizedProps.fallback!==void 0&&Kl(y):(F=A.memoizedState,J=F!==null,I||F===null||(F=A.child.sibling,F!==null&&(fe=y.firstEffect,fe!==null?(y.firstEffect=F,F.nextEffect=fe):(y.firstEffect=y.lastEffect=F,F.nextEffect=null),F.effectTag=8))),I&&!J&&(y.mode&2)!=0&&(A===null&&y.memoizedProps.unstable_avoidThisFallback!==!0||(qe.current&1)!=0?Ae===Ci&&(Ae=Xu):((Ae===Ci||Ae===Xu)&&(Ae=m0),_n!==0&&se!==null&&(Sl(se,Le),_s(se,_n)))),vr&&I&&(y.effectTag|=4),Wt&&(I||J)&&(y.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Xe(y),Vr(y);break;case 10:mu(y);break;case 9:break;case 14:break;case 17:Yi(y.type)&&Y0(y);break;case 19:if(fi(qe,y),I=y.memoizedState,I===null)break;if(J=(y.effectTag&64)!=0,fe=I.rendering,fe===null){if(J)Au(I,!1);else if(Ae!==Ci||A!==null&&(A.effectTag&64)!=0)for(A=y.child;A!==null;){if(fe=tt(A),fe!==null){for(y.effectTag|=64,Au(I,!1),A=fe.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),I.lastEffect===null&&(y.firstEffect=null),y.lastEffect=I.lastEffect,A=F,I=y.child;I!==null;)J=I,F=A,J.effectTag&=2,J.nextEffect=null,J.firstEffect=null,J.lastEffect=null,fe=J.alternate,fe===null?(J.childExpirationTime=0,J.expirationTime=F,J.child=null,J.memoizedProps=null,J.memoizedState=null,J.updateQueue=null,J.dependencies=null):(J.childExpirationTime=fe.childExpirationTime,J.expirationTime=fe.expirationTime,J.child=fe.child,J.memoizedProps=fe.memoizedProps,J.memoizedState=fe.memoizedState,J.updateQueue=fe.updateQueue,F=fe.dependencies,J.dependencies=F===null?null:{expirationTime:F.expirationTime,firstContext:F.firstContext,responders:F.responders}),I=I.sibling;Zt(qe,qe.current&1|2,y),y=y.child;break e}A=A.sibling}}else{if(!J)if(A=tt(fe),A!==null){if(y.effectTag|=64,J=!0,A=A.updateQueue,A!==null&&(y.updateQueue=A,y.effectTag|=4),Au(I,!0),I.tail===null&&I.tailMode==="hidden"&&!fe.alternate){y=y.lastEffect=I.lastEffect,y!==null&&(y.nextEffect=null);break}}else d0()>I.tailExpiration&&1I&&(I=F),fe>I&&(I=fe),J=J.sibling;A.childExpirationTime=I}if(y!==null)return y;g!==null&&(g.effectTag&2048)==0&&(g.firstEffect===null&&(g.firstEffect=re.firstEffect),re.lastEffect!==null&&(g.lastEffect!==null&&(g.lastEffect.nextEffect=re.firstEffect),g.lastEffect=re.lastEffect),1g?y:g}function Dl(g){var y=as();return so(99,el.bind(null,g,y)),null}function el(g,y){do Bs();while(Qr!==null);if((kn&(Xi|ru))!==wr)throw Error(t(327));var A=g.finishedWork,F=g.finishedExpirationTime;if(A===null)return null;if(g.finishedWork=null,g.finishedExpirationTime=0,A===g.current)throw Error(t(177));g.callbackNode=null,g.callbackExpirationTime=0,g.callbackPriority=90,g.nextKnownPendingLevel=0;var I=Uc(A);if(g.firstPendingTime=I,F<=g.lastSuspendedTime?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:F<=g.firstSuspendedTime&&(g.firstSuspendedTime=F-1),F<=g.lastPingedTime&&(g.lastPingedTime=0),F<=g.lastExpiredTime&&(g.lastExpiredTime=0),g===se&&(re=se=null,Le=0),1=A?Yt(g,y,A):(Zt(qe,qe.current&1,y),y=fu(g,y,A),y!==null?y.sibling:null);Zt(qe,qe.current&1,y);break;case 19:if(F=y.childExpirationTime>=A,(g.effectTag&64)!=0){if(F)return wn(g,y,A);y.effectTag|=64}if(I=y.memoizedState,I!==null&&(I.rendering=null,I.tail=null),Zt(qe,qe.current,y),!F)return null}return fu(g,y,A)}fo=!1}}else fo=!1;switch(y.expirationTime=0,y.tag){case 2:if(F=y.type,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,I=Du(y,Di.current),Oo(y,A),I=nn(null,y,F,g,I,A),y.effectTag|=1,typeof I=="object"&&I!==null&&typeof I.render=="function"&&I.$$typeof===void 0){if(y.tag=1,sn(),Yi(F)){var J=!0;ni(y)}else J=!1;y.memoizedState=I.state!==null&&I.state!==void 0?I.state:null;var fe=F.getDerivedStateFromProps;typeof fe=="function"&&Yl(y,F,fe,g),I.updater=ea,y.stateNode=I,I._reactInternalFiber=y,Ls(y,F,g,A),y=et(null,y,F,!0,J,A)}else y.tag=0,Oi(null,y,I,A),y=y.child;return y;case 16:if(I=y.elementType,g!==null&&(g.alternate=null,y.alternate=null,y.effectTag|=2),g=y.pendingProps,Ue(I),I._status!==1)throw I._result;switch(I=I._result,y.type=I,J=y.tag=tl(I),g=Hn(I,g),J){case 0:y=Z0(null,y,I,g,A);break;case 1:y=Te(null,y,I,g,A);break;case 11:y=gi(null,y,I,g,A);break;case 14:y=ff(null,y,I,Hn(I.type,g),F,A);break;default:throw Error(t(306,I,""))}return y;case 0:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Z0(g,y,F,I,A);case 1:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),Te(g,y,F,I,A);case 3:if(Ve(y),F=y.updateQueue,F===null)throw Error(t(282));if(I=y.memoizedState,I=I!==null?I.element:null,w0(y,F,y.pendingProps,null,A),F=y.memoizedState.element,F===I)Ki(),y=fu(g,y,A);else{if((I=y.stateNode.hydrate)&&(w?(yu=L0(y.stateNode.containerInfo),Vu=y,I=pi=!0):I=!1),I)for(A=G(y,null,F,A),y.child=A;A;)A.effectTag=A.effectTag&-3|1024,A=A.sibling;else Oi(g,y,F,A),Ki();y=y.child}return y;case 5:return ht(y),g===null&&Fo(y),F=y.type,I=y.pendingProps,J=g!==null?g.memoizedProps:null,fe=I.children,ct(F,I)?fe=null:J!==null&&ct(F,J)&&(y.effectTag|=16),J0(g,y),y.mode&4&&A!==1&&At(F,I)?(y.expirationTime=y.childExpirationTime=1,y=null):(Oi(g,y,fe,A),y=y.child),y;case 6:return g===null&&Fo(y),null;case 13:return Yt(g,y,A);case 4:return ke(y,y.stateNode.containerInfo),F=y.pendingProps,g===null?y.child=z(y,null,F,A):Oi(g,y,F,A),y.child;case 11:return F=y.type,I=y.pendingProps,I=y.elementType===F?I:Hn(F,I),gi(g,y,F,I,A);case 7:return Oi(g,y,y.pendingProps,A),y.child;case 8:return Oi(g,y,y.pendingProps.children,A),y.child;case 12:return Oi(g,y,y.pendingProps.children,A),y.child;case 10:e:{if(F=y.type._context,I=y.pendingProps,fe=y.memoizedProps,J=I.value,Pu(y,J),fe!==null){var mt=fe.value;if(J=Ne(mt,J)?0:(typeof F._calculateChangedBits=="function"?F._calculateChangedBits(mt,J):1073741823)|0,J===0){if(fe.children===I.children&&!ci.current){y=fu(g,y,A);break e}}else for(mt=y.child,mt!==null&&(mt.return=y);mt!==null;){var Ct=mt.dependencies;if(Ct!==null){fe=mt.child;for(var Mt=Ct.firstContext;Mt!==null;){if(Mt.context===F&&(Mt.observedBits&J)!=0){mt.tag===1&&(Mt=p0(A,null),Mt.tag=2,K0(mt,Mt)),mt.expirationTime=y&&g<=y}function Sl(g,y){var A=g.firstSuspendedTime,F=g.lastSuspendedTime;Ay||A===0)&&(g.lastSuspendedTime=y),y<=g.lastPingedTime&&(g.lastPingedTime=0),y<=g.lastExpiredTime&&(g.lastExpiredTime=0)}function _s(g,y){y>g.firstPendingTime&&(g.firstPendingTime=y);var A=g.firstSuspendedTime;A!==0&&(y>=A?g.firstSuspendedTime=g.lastSuspendedTime=g.nextKnownPendingLevel=0:y>=g.lastSuspendedTime&&(g.lastSuspendedTime=y+1),y>g.nextKnownPendingLevel&&(g.nextKnownPendingLevel=y))}function oa(g,y){var A=g.lastExpiredTime;(A===0||A>y)&&(g.lastExpiredTime=y)}function n2(g){var y=g._reactInternalFiber;if(y===void 0)throw typeof g.render=="function"?Error(t(188)):Error(t(268,Object.keys(g)));return g=$e(y),g===null?null:g.stateNode}function la(g,y){g=g.memoizedState,g!==null&&g.dehydrated!==null&&g.retryTime{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});var JK=0;Qf.__interactionsRef=null;Qf.__subscriberRef=null;Qf.unstable_clear=function(i){return i()};Qf.unstable_getCurrent=function(){return null};Qf.unstable_getThreadID=function(){return++JK};Qf.unstable_trace=function(i,o,f){return f()};Qf.unstable_wrap=function(i){return i};Qf.unstable_subscribe=function(){};Qf.unstable_unsubscribe=function(){}});var g9=ce(au=>{"use strict";process.env.NODE_ENV!=="production"&&function(){"use strict";Object.defineProperty(au,"__esModule",{value:!0});var i=!0,o=0,f=0,p=0;au.__interactionsRef=null,au.__subscriberRef=null,i&&(au.__interactionsRef={current:new Set},au.__subscriberRef={current:null});function E(ge){if(!i)return ge();var ze=au.__interactionsRef.current;au.__interactionsRef.current=new Set;try{return ge()}finally{au.__interactionsRef.current=ze}}function t(){return i?au.__interactionsRef.current:null}function k(){return++p}function L(ge,ze,pe){var Oe=arguments.length>3&&arguments[3]!==void 0?arguments[3]:o;if(!i)return pe();var le={__count:1,id:f++,name:ge,timestamp:ze},Ue=au.__interactionsRef.current,Ge=new Set(Ue);Ge.add(le),au.__interactionsRef.current=Ge;var rt=au.__subscriberRef.current,wt;try{rt!==null&&rt.onInteractionTraced(le)}finally{try{rt!==null&&rt.onWorkStarted(Ge,Oe)}finally{try{wt=pe()}finally{au.__interactionsRef.current=Ue;try{rt!==null&&rt.onWorkStopped(Ge,Oe)}finally{le.__count--,rt!==null&&le.__count===0&&rt.onInteractionScheduledWorkCompleted(le)}}}}return wt}function N(ge){var ze=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o;if(!i)return ge;var pe=au.__interactionsRef.current,Oe=au.__subscriberRef.current;Oe!==null&&Oe.onWorkScheduled(pe,ze),pe.forEach(function(Ge){Ge.__count++});var le=!1;function Ue(){var Ge=au.__interactionsRef.current;au.__interactionsRef.current=pe,Oe=au.__subscriberRef.current;try{var rt;try{Oe!==null&&Oe.onWorkStarted(pe,ze)}finally{try{rt=ge.apply(void 0,arguments)}finally{au.__interactionsRef.current=Ge,Oe!==null&&Oe.onWorkStopped(pe,ze)}}return rt}finally{le||(le=!0,pe.forEach(function(wt){wt.__count--,Oe!==null&&wt.__count===0&&Oe.onInteractionScheduledWorkCompleted(wt)}))}}return Ue.cancel=function(){Oe=au.__subscriberRef.current;try{Oe!==null&&Oe.onWorkCanceled(pe,ze)}finally{pe.forEach(function(rt){rt.__count--,Oe&&rt.__count===0&&Oe.onInteractionScheduledWorkCompleted(rt)})}},Ue}var C=null;i&&(C=new Set);function U(ge){i&&(C.add(ge),C.size===1&&(au.__subscriberRef.current={onInteractionScheduledWorkCompleted:ne,onInteractionTraced:W,onWorkCanceled:he,onWorkScheduled:m,onWorkStarted:we,onWorkStopped:Se}))}function q(ge){i&&(C.delete(ge),C.size===0&&(au.__subscriberRef.current=null))}function W(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionTraced(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function ne(ge){var ze=!1,pe=null;if(C.forEach(function(Oe){try{Oe.onInteractionScheduledWorkCompleted(ge)}catch(le){ze||(ze=!0,pe=le)}}),ze)throw pe}function m(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkScheduled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function we(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStarted(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function Se(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkStopped(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}function he(ge,ze){var pe=!1,Oe=null;if(C.forEach(function(le){try{le.onWorkCanceled(ge,ze)}catch(Ue){pe||(pe=!0,Oe=Ue)}}),pe)throw Oe}au.unstable_clear=E,au.unstable_getCurrent=t,au.unstable_getThreadID=k,au.unstable_trace=L,au.unstable_wrap=N,au.unstable_subscribe=U,au.unstable_unsubscribe=q}()});var _9=ce((Une,fw)=>{"use strict";process.env.NODE_ENV==="production"?fw.exports=y9():fw.exports=g9()});var E9=ce((jne,hg)=>{"use strict";process.env.NODE_ENV!=="production"&&(hg.exports=function i(o){"use strict";var f=eg(),p=su(),E=HD(),t=h4(),k=_9(),L=0,N=1,C=2,U=3,q=4,W=5,ne=6,m=7,we=8,Se=9,he=10,ge=11,ze=12,pe=13,Oe=14,le=15,Ue=16,Ge=17,rt=18,wt=19,xt=20,$e=21,ft=function(){};ft=function(a,c){for(var _=arguments.length,T=new Array(_>2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];if(c===void 0)throw new Error("`warningWithoutStack(condition, format, ...args)` requires a warning message argument");if(T.length>8)throw new Error("warningWithoutStack() currently supports at most 8 arguments.");if(!a){if(typeof console!="undefined"){var j=T.map(function(oe){return""+oe});j.unshift("Warning: "+c),Function.prototype.apply.call(console.error,console,j)}try{var V=0,te="Warning: "+c.replace(/%s/g,function(){return T[V++]});throw new Error(te)}catch(oe){}}};var Ke=ft;function jt(a){return a._reactInternalFiber}function $t(a,c){a._reactInternalFiber=c}var at=p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;at.hasOwnProperty("ReactCurrentDispatcher")||(at.ReactCurrentDispatcher={current:null}),at.hasOwnProperty("ReactCurrentBatchConfig")||(at.ReactCurrentBatchConfig={suspense:null});var Q=typeof Symbol=="function"&&Symbol.for,ae=Q?Symbol.for("react.element"):60103,Ce=Q?Symbol.for("react.portal"):60106,ue=Q?Symbol.for("react.fragment"):60107,je=Q?Symbol.for("react.strict_mode"):60108,ct=Q?Symbol.for("react.profiler"):60114,At=Q?Symbol.for("react.provider"):60109,en=Q?Symbol.for("react.context"):60110,ln=Q?Symbol.for("react.concurrent_mode"):60111,An=Q?Symbol.for("react.forward_ref"):60112,nr=Q?Symbol.for("react.suspense"):60113,un=Q?Symbol.for("react.suspense_list"):60120,Wt=Q?Symbol.for("react.memo"):60115,vr=Q?Symbol.for("react.lazy"):60116,w=Q?Symbol.for("react.fundamental"):60117,Ut=Q?Symbol.for("react.responder"):60118,Vn=Q?Symbol.for("react.scope"):60119,fr=typeof Symbol=="function"&&Symbol.iterator,Fr="@@iterator";function ur(a){if(a===null||typeof a!="object")return null;var c=fr&&a[fr]||a[Fr];return typeof c=="function"?c:null}var br=Ke;br=function(a,c){if(!a){for(var _=at.ReactDebugCurrentFrame,T=_.getStackAddendum(),R=arguments.length,j=new Array(R>2?R-2:0),V=2;V import('./MyComponent'))`,T),a._status=So,a._result=R}},function(T){a._status===a0&&(a._status=Go,a._result=T)})}}function Ko(a,c,_){var T=c.displayName||c.name||"";return a.displayName||(T!==""?_+"("+T+")":_)}function qt(a){if(a==null)return null;if(typeof a.tag=="number"&&Ke(!1,"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case ue:return"Fragment";case Ce:return"Portal";case ct:return"Profiler";case je:return"StrictMode";case nr:return"Suspense";case un:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case en:return"Context.Consumer";case At:return"Context.Provider";case An:return Ko(a,a.render,"ForwardRef");case Wt:return qt(a.type);case vr:{var c=a,_=Os(c);if(_)return qt(_);break}}return null}var _i=0,eu=1,ai=2,mr=4,Xo=6,W0=8,Lu=16,V0=32,Hr=64,To=128,Co=256,L0=512,tu=1024,Si=1028,ks=932,Hl=2047,F0=2048,f0=4096,Pr=!0,Ei=!0,G0=!0,fi=!0,Zt=!0,Ln=!0,Di=!1,ci=!1,Ht=!1,Du=!1,Yi=!1,Y0=!0,Ui=!1,Wl=!1,xo=!1,ni=!1,oo=!1,Vl=at.ReactCurrentOwner;function Ao(a){var c=a,_=a;if(a.alternate)for(;c.return;)c=c.return;else{var T=c;do c=T,(c.effectTag&(ai|tu))!==_i&&(_=c.return),T=c.return;while(T)}return c.tag===U?_:null}function Ms(a){return Ao(a)===a}function Xn(a){{var c=Vl.current;if(c!==null&&c.tag===N){var _=c,T=_.stateNode;T._warnedAboutRefsInRender||Ke(!1,"%s is accessing isMounted inside its render() function. render() should be a pure function of props and state. It should never access something that requires stale data from the previous render, such as refs. Move this logic to componentDidMount and componentDidUpdate instead.",qt(_.type)||"A component"),T._warnedAboutRefsInRender=!0}}var R=jt(a);return R?Ao(R)===R:!1}function Qo(a){if(Ao(a)!==a)throw Error("Unable to find node on an unmounted component.")}function lo(a){var c=a.alternate;if(!c){var _=Ao(a);if(_===null)throw Error("Unable to find node on an unmounted component.");return _!==a?null:a}for(var T=a,R=c;;){var j=T.return;if(j===null)break;var V=j.alternate;if(V===null){var te=j.return;if(te!==null){T=R=te;continue}break}if(j.child===V.child){for(var oe=j.child;oe;){if(oe===T)return Qo(j),a;if(oe===R)return Qo(j),c;oe=oe.sibling}throw Error("Unable to find node on an unmounted component.")}if(T.return!==R.return)T=j,R=V;else{for(var Ie=!1,Ye=j.child;Ye;){if(Ye===T){Ie=!0,T=j,R=V;break}if(Ye===R){Ie=!0,R=j,T=V;break}Ye=Ye.sibling}if(!Ie){for(Ye=V.child;Ye;){if(Ye===T){Ie=!0,T=V,R=j;break}if(Ye===R){Ie=!0,R=V,T=j;break}Ye=Ye.sibling}if(!Ie)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(T.alternate!==R)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(T.tag!==U)throw Error("Unable to find node on an unmounted component.");return T.stateNode.current===T?a:c}function b0(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne)return _;if(_.child){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}function yl(a){var c=lo(a);if(!c)return null;for(var _=c;;){if(_.tag===W||_.tag===ne||Ht&&_.tag===xt)return _;if(_.child&&_.tag!==q){_.child.return=_,_=_.child;continue}if(_===c)return null;for(;!_.sibling;){if(!_.return||_.return===c)return null;_=_.return}_.sibling.return=_.return,_=_.sibling}return null}var Ro=o.getPublicInstance,Et=o.getRootHostContext,Pt=o.getChildHostContext,Bn=o.prepareForCommit,Ir=o.resetAfterCommit,ji=o.createInstance,Wr=o.appendInitialChild,wu=o.finalizeInitialChildren,c0=o.prepareUpdate,Ti=o.shouldSetTextContent,d0=o.shouldDeprioritizeSubtree,as=o.createTextInstance,St=o.setTimeout,so=o.clearTimeout,Jo=o.noTimeout,Gl=o.now,Fu=o.isPrimaryRenderer,fs=o.warnsIfNotActing,P0=o.supportsMutation,X=o.supportsPersistence,_e=o.supportsHydration,Ne=o.mountResponderInstance,Me=o.unmountResponderInstance,dt=o.getFundamentalComponentInstance,Hn=o.mountFundamentalComponent,Dn=o.shouldUpdateFundamentalComponent,or=o.getInstanceFromNode,mi=o.appendChild,Su=o.appendChildToContainer,bu=o.commitTextUpdate,Pu=o.commitMount,mu=o.commitUpdate,yi=o.insertBefore,Oo=o.insertInContainerBefore,Tu=o.removeChild,ao=o.removeChildFromContainer,Iu=o.resetTextContent,Oa=o.hideInstance,p0=o.hideTextInstance,Zs=o.unhideInstance,K0=o.unhideTextInstance,$s=o.updateFundamentalComponent,ka=o.unmountFundamentalComponent,cs=o.cloneInstance,w0=o.createContainerChildSet,Gn=o.appendChildToContainerChildSet,ic=o.finalizeContainerChildren,ri=o.replaceContainerChildren,Gr=o.cloneHiddenInstance,Yl=o.cloneHiddenTextInstance,ea=o.cloneInstance,lf=o.canHydrateInstance,Ns=o.canHydrateTextInstance,Ma=o.canHydrateSuspenseInstance,Ls=o.isSuspenseInstancePending,h0=o.isSuspenseInstanceFallback,Fs=o.registerSuspenseInstanceRetry,Ni=o.getNextHydratableSibling,B=o.getFirstHydratableChild,z=o.hydrateInstance,G=o.hydrateTextInstance,$=o.hydrateSuspenseInstance,De=o.getNextHydratableInstanceAfterSuspenseInstance,me=o.commitHydratedContainer,xe=o.commitHydratedSuspenseInstance,Z=o.clearSuspenseBoundary,ke=o.clearSuspenseBoundaryFromContainer,Xe=o.didNotMatchHydratedContainerTextInstance,ht=o.didNotMatchHydratedTextInstance,ie=o.didNotHydrateContainerInstance,qe=o.didNotHydrateInstance,tt=o.didNotFindHydratableContainerInstance,Tt=o.didNotFindHydratableContainerTextInstance,kt=o.didNotFindHydratableContainerSuspenseInstance,bt=o.didNotFindHydratableInstance,on=o.didNotFindHydratableTextInstance,tn=o.didNotFindHydratableSuspenseInstance,Lt=/^(.*)[\\\/]/,gn=function(a,c,_){var T="";if(c){var R=c.fileName,j=R.replace(Lt,"");if(/^index\./.test(j)){var V=R.match(Lt);if(V){var te=V[1];if(te){var oe=te.replace(Lt,"");j=oe+"/"+j}}}T=" (at "+j+":"+c.lineNumber+")"}else _&&(T=" (created by "+_+")");return` - in `+(a||"Unknown")+T},lr=at.ReactDebugCurrentFrame;function Qn(a){switch(a.tag){case U:case q:case ne:case m:case he:case Se:return"";default:var c=a._debugOwner,_=a._debugSource,T=qt(a.type),R=null;return c&&(R=qt(c.type)),gn(T,_,R)}}function _r(a){var c="",_=a;do c+=Qn(_),_=_.return;while(_);return c}var Cn=null,Ar=null;function v0(){{if(Cn===null)return null;var a=Cn._debugOwner;if(a!==null&&typeof a!="undefined")return qt(a.type)}return null}function Rr(){return Cn===null?"":_r(Cn)}function nt(){lr.getCurrentStack=null,Cn=null,Ar=null}function _t(a){lr.getCurrentStack=Rr,Cn=a,Ar=null}function Ze(a){Ar=a}var Ft="\u269B",nn="\u26D4",sn=typeof performance!="undefined"&&typeof performance.mark=="function"&&typeof performance.clearMarks=="function"&&typeof performance.measure=="function"&&typeof performance.clearMeasures=="function",Yn=null,yr=null,nu=null,Cu=!1,S0=!1,X0=!1,xu=0,di=0,ko=new Set,Zo=function(a){return Ft+" "+a},sf=function(a,c){var _=c?nn+" ":Ft+" ",T=c?" Warning: "+c:"";return""+_+a+T},gl=function(a){performance.mark(Zo(a))},af=function(a){performance.clearMarks(Zo(a))},Mo=function(a,c,_){var T=Zo(c),R=sf(a,_);try{performance.measure(R,T)}catch(j){}performance.clearMarks(T),performance.clearMeasures(R)},ds=function(a,c){return a+" (#"+c+")"},bs=function(a,c,_){return _===null?a+" ["+(c?"update":"mount")+"]":a+"."+_},No=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c);if(Cu&&ko.has(j))return!1;ko.add(j);var V=ds(j,T);return gl(V),!0},Lo=function(a,c){var _=qt(a.type)||"Unknown",T=a._debugID,R=a.alternate!==null,j=bs(_,R,c),V=ds(j,T);af(V)},ps=function(a,c,_){var T=qt(a.type)||"Unknown",R=a._debugID,j=a.alternate!==null,V=bs(T,j,c),te=ds(V,R);Mo(V,te,_)},Vu=function(a){switch(a.tag){case U:case W:case ne:case q:case m:case he:case Se:case we:return!0;default:return!1}},yu=function(){yr!==null&&nu!==null&&Lo(nu,yr),nu=null,yr=null,X0=!1},pi=function(){for(var a=Yn;a;)a._debugIsCurrentlyTiming&&ps(a,null,null),a=a.return},T0=function(a){a.return!==null&&T0(a.return),a._debugIsCurrentlyTiming&&No(a,null)},Q0=function(){Yn!==null&&T0(Yn)};function Fo(){Pr&&di++}function ta(){Pr&&(Cu&&(S0=!0),yr!==null&&yr!=="componentWillMount"&&yr!=="componentWillReceiveProps"&&(X0=!0))}function Kl(a){if(Pr){if(!sn||Vu(a)||(Yn=a,!No(a,null)))return;a._debugIsCurrentlyTiming=!0}}function Ki(a){if(Pr){if(!sn||Vu(a))return;a._debugIsCurrentlyTiming=!1,Lo(a,null)}}function Yr(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1,ps(a,null,null)}}function fo(a){if(Pr){if(!sn||Vu(a)||(Yn=a.return,!a._debugIsCurrentlyTiming))return;a._debugIsCurrentlyTiming=!1;var c=a.tag===pe?"Rendering was suspended":"An error was thrown inside this error boundary";ps(a,null,c)}}function Oi(a,c){if(Pr){if(!sn||(yu(),!No(a,c)))return;nu=a,yr=c}}function gi(){if(Pr){if(!sn)return;if(yr!==null&&nu!==null){var a=X0?"Scheduled a cascading update":null;ps(nu,yr,a)}yr=null,nu=null}}function ff(a){if(Pr){if(Yn=a,!sn)return;xu=0,gl("(React Tree Reconciliation)"),Q0()}}function cf(a,c){if(Pr){if(!sn)return;var _=null;if(a!==null)if(a.tag===U)_="A top-level update interrupted the previous render";else{var T=qt(a.type)||"Unknown";_="An update to "+T+" interrupted the previous render"}else xu>1&&(_="There were cascading updates");xu=0;var R=c?"(React Tree Reconciliation: Completed Root)":"(React Tree Reconciliation: Yielded)";pi(),Mo(R,"(React Tree Reconciliation)",_)}}function J0(){if(Pr){if(!sn)return;Cu=!0,S0=!1,ko.clear(),gl("(Committing Changes)")}}function Z0(){if(Pr){if(!sn)return;var a=null;S0?a="Lifecycle hook scheduled a cascading update":xu>0&&(a="Caused by a cascading update in earlier commit"),S0=!1,xu++,Cu=!1,ko.clear(),Mo("(Committing Changes)","(Committing Changes)",a)}}function Te(){if(Pr){if(!sn)return;di=0,gl("(Committing Snapshot Effects)")}}function et(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Snapshot Effects: "+a+" Total)","(Committing Snapshot Effects)",null)}}function Ve(){if(Pr){if(!sn)return;di=0,gl("(Committing Host Effects)")}}function Gt(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Committing Host Effects: "+a+" Total)","(Committing Host Effects)",null)}}function Yt(){if(Pr){if(!sn)return;di=0,gl("(Calling Lifecycle Methods)")}}function sr(){if(Pr){if(!sn)return;var a=di;di=0,Mo("(Calling Lifecycle Methods: "+a+" Total)","(Calling Lifecycle Methods)",null)}}var Br=[],wn;wn=[];var fu=-1;function Gu(a){return{current:a}}function Kr(a,c){if(fu<0){Ke(!1,"Unexpected pop.");return}c!==wn[fu]&&Ke(!1,"Unexpected Fiber popped."),a.current=Br[fu],Br[fu]=null,wn[fu]=null,fu--}function Vr(a,c,_){fu++,Br[fu]=a.current,wn[fu]=_,a.current=c}var Bu;Bu={};var Sn={};Object.freeze(Sn);var C0=Gu(Sn),Au=Gu(!1),ei=Sn;function _l(a,c,_){return ni?Sn:_&&zi(c)?ei:C0.current}function Ps(a,c,_){if(!ni){var T=a.stateNode;T.__reactInternalMemoizedUnmaskedChildContext=c,T.__reactInternalMemoizedMaskedChildContext=_}}function Uu(a,c){if(ni)return Sn;var _=a.type,T=_.contextTypes;if(!T)return Sn;var R=a.stateNode;if(R&&R.__reactInternalMemoizedUnmaskedChildContext===c)return R.__reactInternalMemoizedMaskedChildContext;var j={};for(var V in T)j[V]=c[V];{var te=qt(_)||"Unknown";E(T,j,"context",te,Rr)}return R&&Ps(a,c,j),j}function na(){return ni?!1:Au.current}function zi(a){if(ni)return!1;var c=a.childContextTypes;return c!=null}function Is(a){ni||(Kr(Au,a),Kr(C0,a))}function x0(a){ni||(Kr(Au,a),Kr(C0,a))}function Li(a,c,_){if(!ni){if(C0.current!==Sn)throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");Vr(C0,c,a),Vr(Au,_,a)}}function A0(a,c,_){if(ni)return _;var T=a.stateNode,R=c.childContextTypes;if(typeof T.getChildContext!="function"){{var j=qt(c)||"Unknown";Bu[j]||(Bu[j]=!0,Ke(!1,"%s.childContextTypes is specified but there is no getChildContext() method on the instance. You can either define getChildContext() on %s or remove childContextTypes from it.",j,j))}return _}var V;Ze("getChildContext"),Oi(a,"getChildContext"),V=T.getChildContext(),gi(),Ze(null);for(var te in V)if(!(te in R))throw Error((qt(c)||"Unknown")+'.getChildContext(): key "'+te+'" is not defined in childContextTypes.');{var oe=qt(c)||"Unknown";E(R,V,"child context",oe,Rr)}return f({},_,{},V)}function Fi(a){if(ni)return!1;var c=a.stateNode,_=c&&c.__reactInternalMemoizedMergedChildContext||Sn;return ei=C0.current,Vr(C0,_,a),Vr(Au,Au.current,a),!0}function $o(a,c,_){if(!ni){var T=a.stateNode;if(!T)throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");if(_){var R=A0(a,c,ei);T.__reactInternalMemoizedMergedChildContext=R,Kr(Au,a),Kr(C0,a),Vr(C0,R,a),Vr(Au,_,a)}else Kr(Au,a),Vr(Au,_,a)}}function El(a){if(ni)return Sn;if(!(Ms(a)&&a.tag===N))throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");var c=a;do{switch(c.tag){case U:return c.stateNode.context;case N:{var _=c.type;if(zi(_))return c.stateNode.__reactInternalMemoizedMergedChildContext;break}}c=c.return}while(c!==null);throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.")}var I0=1,R0=2,co=t.unstable_runWithPriority,Ru=t.unstable_scheduleCallback,Yu=t.unstable_cancelCallback,Xl=t.unstable_shouldYield,hs=t.unstable_requestPaint,ra=t.unstable_now,df=t.unstable_getCurrentPriorityLevel,Ku=t.unstable_ImmediatePriority,vs=t.unstable_UserBlockingPriority,wr=t.unstable_NormalPriority,$0=t.unstable_LowPriority,Xi=t.unstable_IdlePriority;if(Ln&&!(k.__interactionsRef!=null&&k.__interactionsRef.current!=null))throw Error("It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling");var ru={},Ci=99,Xr=98,Wn=97,Xu=96,m0=95,y0=90,kn=Xl,se=hs!==void 0?hs:function(){},re=null,Le=null,Ae=!1,ot=ra(),vt=ot<1e4?ra:function(){return ra()-ot};function Xt(){switch(df()){case Ku:return Ci;case vs:return Xr;case wr:return Wn;case $0:return Xu;case Xi:return m0;default:throw Error("Unknown priority level.")}}function xn(a){switch(a){case Ci:return Ku;case Xr:return vs;case Wn:return wr;case Xu:return $0;case m0:return Xi;default:throw Error("Unknown priority level.")}}function _n(a,c){var _=xn(a);return co(_,c)}function yn(a,c,_){var T=xn(a);return Ru(T,c,_)}function En(a){return re===null?(re=[a],Le=Ru(Ku,xi)):re.push(a),ru}function er(a){a!==ru&&Yu(a)}function It(){if(Le!==null){var a=Le;Le=null,Yu(a)}xi()}function xi(){if(!Ae&&re!==null){Ae=!0;var a=0;try{var c=!0,_=re;_n(Ci,function(){for(;a<_.length;a++){var T=_[a];do T=T(c);while(T!==null)}}),re=null}catch(T){throw re!==null&&(re=re.slice(a+1)),Ru(Ku,It),T}finally{Ae=!1}}}var Sr=0,cr=1,Y=2,Qr=4,Jr=8,Ur=1073741823,lt=0,hi=1,Qi=2,g0=3,bn=Ur,Qu=bn-1,eo=10,po=Qu-1;function Ju(a){return po-(a/eo|0)}function bo(a){return(po-a)*eo}function to(a,c){return((a/c|0)+1)*c}function Na(a,c,_){return po-to(po-a+c/eo,_/eo)}var pf=5e3,uc=250;function ms(a){return Na(a,pf,uc)}function ia(a,c){return Na(a,c,uc)}var B0=500,oc=100;function La(a){return Na(a,B0,oc)}function gd(a){return g0++}function $1(a,c){if(c===bn)return Ci;if(c===hi||c===Qi)return m0;var _=bo(c)-bo(a);return _<=0?Ci:_<=B0+oc?Xr:_<=pf+uc?Wn:m0}function e2(a,c){return a===c&&(a!==0||1/a==1/c)||a!==a&&c!==c}var ho=typeof Object.is=="function"?Object.is:e2,Uc=Object.prototype.hasOwnProperty;function Dl(a,c){if(ho(a,c))return!0;if(typeof a!="object"||a===null||typeof c!="object"||c===null)return!1;var _=Object.keys(a),T=Object.keys(c);if(_.length!==T.length)return!1;for(var R=0;R<_.length;R++)if(!Uc.call(c,_[R])||!ho(a[_[R]],c[_[R]]))return!1;return!0}var el=function(){};{var _d=function(a){for(var c=arguments.length,_=new Array(c>1?c-1:0),T=1;T2?_-2:0),R=2;R<_;R++)T[R-2]=arguments[R];_d.apply(void 0,[c].concat(T))}}}var Bs=el,wl={recordUnsafeLifecycleWarnings:function(a,c){},flushPendingUnsafeLifecycleWarnings:function(){},recordLegacyContextWarning:function(a,c){},flushLegacyContextWarning:function(){},discardPendingWarnings:function(){}};{var t2=function(a){for(var c=null,_=a;_!==null;)_.mode&cr&&(c=_),_=_.return;return c},Po=function(a){var c=[];return a.forEach(function(_){c.push(_)}),c.sort().join(", ")},Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Ql=new Set;wl.recordUnsafeLifecycleWarnings=function(a,c){Ql.has(a.type)||(typeof c.componentWillMount=="function"&&c.componentWillMount.__suppressDeprecationWarning!==!0&&Fa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillMount=="function"&&ba.push(a),typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps.__suppressDeprecationWarning!==!0&&Pa.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillReceiveProps=="function"&&ua.push(a),typeof c.componentWillUpdate=="function"&&c.componentWillUpdate.__suppressDeprecationWarning!==!0&&ys.push(a),a.mode&cr&&typeof c.UNSAFE_componentWillUpdate=="function"&&gs.push(a))},wl.flushPendingUnsafeLifecycleWarnings=function(){var a=new Set;Fa.length>0&&(Fa.forEach(function(Nt){a.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Fa=[]);var c=new Set;ba.length>0&&(ba.forEach(function(Nt){c.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ba=[]);var _=new Set;Pa.length>0&&(Pa.forEach(function(Nt){_.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),Pa=[]);var T=new Set;ua.length>0&&(ua.forEach(function(Nt){T.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ua=[]);var R=new Set;ys.length>0&&(ys.forEach(function(Nt){R.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),ys=[]);var j=new Set;if(gs.length>0&&(gs.forEach(function(Nt){j.add(qt(Nt.type)||"Component"),Ql.add(Nt.type)}),gs=[]),c.size>0){var V=Po(c);Ke(!1,`Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move code with side effects to componentDidMount, and set initial state in the constructor. - -Please update the following components: %s`,V)}if(T.size>0){var te=Po(T);Ke(!1,`Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state - -Please update the following components: %s`,te)}if(j.size>0){var oe=Po(j);Ke(!1,`Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. - -Please update the following components: %s`,oe)}if(a.size>0){var Ie=Po(a);Bs(!1,`componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move code with side effects to componentDidMount, and set initial state in the constructor. -* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,Ie)}if(_.size>0){var Ye=Po(_);Bs(!1,`componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state -* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,Ye)}if(R.size>0){var pt=Po(R);Bs(!1,`componentWillUpdate has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details. - -* Move data fetching code or side effects to componentDidUpdate. -* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run \`npx react-codemod rename-unsafe-lifecycles\` in your project source folder. - -Please update the following components: %s`,pt)}};var Io=new Map,hf=new Set;wl.recordLegacyContextWarning=function(a,c){var _=t2(a);if(_===null){Ke(!1,"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.");return}if(!hf.has(a.type)){var T=Io.get(_);(a.type.contextTypes!=null||a.type.childContextTypes!=null||c!==null&&typeof c.getChildContext=="function")&&(T===void 0&&(T=[],Io.set(_,T)),T.push(a))}},wl.flushLegacyContextWarning=function(){Io.forEach(function(a,c){var _=new Set;a.forEach(function(j){_.add(qt(j.type)||"Component"),hf.add(j.type)});var T=Po(_),R=_r(c);Ke(!1,`Legacy context API has been detected within a strict-mode tree. - -The old API will be supported in all 16.x releases, but applications using it should migrate to the new version. - -Please update the following components: %s - -Learn more about this warning here: https://fb.me/react-legacy-context%s`,T,R)})},wl.discardPendingWarnings=function(){Fa=[],ba=[],Pa=[],ua=[],ys=[],gs=[],Io=new Map}}var tl=null,ju=null,Ia=function(a){tl=a};function Zu(a){{if(tl===null)return a;var c=tl(a);return c===void 0?a:c.current}}function U0(a){return Zu(a)}function vf(a){{if(tl===null)return a;var c=tl(a);if(c===void 0){if(a!=null&&typeof a.render=="function"){var _=Zu(a.render);if(a.render!==_){var T={$$typeof:An,render:_};return a.displayName!==void 0&&(T.displayName=a.displayName),T}}return a}return c.current}}function jc(a,c){{if(tl===null)return!1;var _=a.elementType,T=c.type,R=!1,j=typeof T=="object"&&T!==null?T.$$typeof:null;switch(a.tag){case N:{typeof T=="function"&&(R=!0);break}case L:{(typeof T=="function"||j===vr)&&(R=!0);break}case ge:{(j===An||j===vr)&&(R=!0);break}case Oe:case le:{(j===Wt||j===vr)&&(R=!0);break}default:return!1}if(R){var V=tl(_);if(V!==void 0&&V===tl(T))return!0}return!1}}function lc(a){{if(tl===null||typeof WeakSet!="function")return;ju===null&&(ju=new WeakSet),ju.add(a)}}var Sl=function(a,c){{if(tl===null)return;var _=c.staleFamilies,T=c.updatedFamilies;Xa(),xp(function(){oa(a.current,T,_)})}},_s=function(a,c){{if(a.context!==Sn)return;Xa(),fv(function(){l_(c,a,null,null)})}};function oa(a,c,_){{var T=a.alternate,R=a.child,j=a.sibling,V=a.tag,te=a.type,oe=null;switch(V){case L:case le:case N:oe=te;break;case ge:oe=te.render;break;default:break}if(tl===null)throw new Error("Expected resolveFamily to be set during hot reload.");var Ie=!1,Ye=!1;if(oe!==null){var pt=tl(oe);pt!==void 0&&(_.has(pt)?Ye=!0:c.has(pt)&&(V===N?Ye=!0:Ie=!0))}ju!==null&&(ju.has(a)||T!==null&&ju.has(T))&&(Ye=!0),Ye&&(a._debugNeedsRemount=!0),(Ye||Ie)&&dl(a,bn),R!==null&&!Ye&&oa(R,c,_),j!==null&&oa(j,c,_)}}var n2=function(a,c){{var _=new Set,T=new Set(c.map(function(R){return R.current}));return la(a.current,T,_),_}};function la(a,c,_){{var T=a.child,R=a.sibling,j=a.tag,V=a.type,te=null;switch(j){case L:case le:case N:te=V;break;case ge:te=V.render;break;default:break}var oe=!1;te!==null&&c.has(te)&&(oe=!0),oe?sc(a,_):T!==null&&la(T,c,_),R!==null&&la(R,c,_)}}function sc(a,c){{var _=zc(a,c);if(_)return;for(var T=a;;){switch(T.tag){case W:c.add(T.stateNode);return;case q:c.add(T.stateNode.containerInfo);return;case U:c.add(T.stateNode.containerInfo);return}if(T.return===null)throw new Error("Expected to reach root first.");T=T.return}}}function zc(a,c){for(var _=a,T=!1;;){if(_.tag===W)T=!0,c.add(_.stateNode);else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return T;for(;_.sibling===null;){if(_.return===null||_.return===a)return T;_=_.return}_.sibling.return=_.return,_=_.sibling}return!1}function bi(a,c){if(a&&a.defaultProps){var _=f({},c),T=a.defaultProps;for(var R in T)_[R]===void 0&&(_[R]=T[R]);return _}return c}function g(a){if(Yo(a),a._status!==So)throw a._result;return a._result}var y=Gu(null),A;A={};var F=null,I=null,J=null,fe=!1;function mt(){F=null,I=null,J=null,fe=!1}function Ct(){fe=!0}function Mt(){fe=!1}function Er(a,c){var _=a.type._context;Fu?(Vr(y,_._currentValue,a),_._currentValue=c,_._currentRenderer===void 0||_._currentRenderer===null||_._currentRenderer===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer=A):(Vr(y,_._currentValue2,a),_._currentValue2=c,_._currentRenderer2===void 0||_._currentRenderer2===null||_._currentRenderer2===A||Ke(!1,"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported."),_._currentRenderer2=A)}function $u(a){var c=y.current;Kr(y,a);var _=a.type._context;Fu?_._currentValue=c:_._currentValue2=c}function iu(a,c,_){if(ho(_,c))return 0;var T=typeof a._calculateChangedBits=="function"?a._calculateChangedBits(_,c):Ur;return(T&Ur)!==T&&Kt(!1,"calculateChangedBits: Expected the return value to be a 31-bit integer. Instead received: %s",T),T|0}function j0(a,c){for(var _=a;_!==null;){var T=_.alternate;if(_.childExpirationTime=c&&up(),_.firstContext=null)}}function He(a,c){if(fe&&Kt(!1,"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."),J!==a){if(!(c===!1||c===0)){var _;typeof c!="number"||c===Ur?(J=a,_=Ur):_=c;var T={context:a,observedBits:_,next:null};if(I===null){if(F===null)throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");I=T,F.dependencies={expirationTime:lt,firstContext:T,responders:null}}else I=I.next=T}}return Fu?a._currentValue:a._currentValue2}var Be=0,ut=1,Jt=2,jn=3,ti=!1,tr,ii;tr=!1,ii=null;function qi(a){var c={baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function jr(a){var c={baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null};return c}function gu(a,c){var _={expirationTime:a,suspenseConfig:c,tag:Be,payload:null,callback:null,next:null,nextEffect:null};return _.priority=Xt(),_}function Ba(a,c){a.lastUpdate===null?a.firstUpdate=a.lastUpdate=c:(a.lastUpdate.next=c,a.lastUpdate=c)}function Ua(a,c){var _=a.alternate,T,R;_===null?(T=a.updateQueue,R=null,T===null&&(T=a.updateQueue=qi(a.memoizedState))):(T=a.updateQueue,R=_.updateQueue,T===null?R===null?(T=a.updateQueue=qi(a.memoizedState),R=_.updateQueue=qi(_.memoizedState)):T=a.updateQueue=jr(R):R===null&&(R=_.updateQueue=jr(T))),R===null||T===R?Ba(T,c):T.lastUpdate===null||R.lastUpdate===null?(Ba(T,c),Ba(R,c)):(Ba(T,c),R.lastUpdate=c),a.tag===N&&(ii===T||R!==null&&ii===R)&&!tr&&(Ke(!1,"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback."),tr=!0)}function r2(a,c){var _=a.updateQueue;_===null?_=a.updateQueue=qi(a.memoizedState):_=Ed(a,_),_.lastCapturedUpdate===null?_.firstCapturedUpdate=_.lastCapturedUpdate=c:(_.lastCapturedUpdate.next=c,_.lastCapturedUpdate=c)}function Ed(a,c){var _=a.alternate;return _!==null&&c===_.updateQueue&&(c=a.updateQueue=jr(c)),c}function Dd(a,c,_,T,R,j){switch(_.tag){case ut:{var V=_.payload;if(typeof V=="function"){Ct(),Ei&&a.mode&cr&&V.call(j,T,R);var te=V.call(j,T,R);return Mt(),te}return V}case jn:a.effectTag=a.effectTag&~f0|Hr;case Be:{var oe=_.payload,Ie;return typeof oe=="function"?(Ct(),Ei&&a.mode&cr&&oe.call(j,T,R),Ie=oe.call(j,T,R),Mt()):Ie=oe,Ie==null?T:f({},T,Ie)}case Jt:return ti=!0,T}return T}function mf(a,c,_,T,R){ti=!1,c=Ed(a,c),ii=c;for(var j=c.baseState,V=null,te=lt,oe=c.firstUpdate,Ie=j;oe!==null;){var Ye=oe.expirationTime;if(Ye from render. Or maybe you meant to call this function rather than return it."))}function yh(a){function c(it,Ot){if(!!a){var Je=it.lastEffect;Je!==null?(Je.nextEffect=Ot,it.lastEffect=Ot):it.firstEffect=it.lastEffect=Ot,Ot.nextEffect=null,Ot.effectTag=W0}}function _(it,Ot){if(!a)return null;for(var Je=Ot;Je!==null;)c(it,Je),Je=Je.sibling;return null}function T(it,Ot){for(var Je=new Map,Bt=Ot;Bt!==null;)Bt.key!==null?Je.set(Bt.key,Bt):Je.set(Bt.index,Bt),Bt=Bt.sibling;return Je}function R(it,Ot,Je){var Bt=wo(it,Ot,Je);return Bt.index=0,Bt.sibling=null,Bt}function j(it,Ot,Je){if(it.index=Je,!a)return Ot;var Bt=it.alternate;if(Bt!==null){var Mn=Bt.index;return Mnqr?(_u=ar,ar=null):_u=ar.sibling;var _0=Nt(it,ar,Je[qr],Bt);if(_0===null){ar===null&&(ar=_u);break}a&&ar&&_0.alternate===null&&c(it,ar),ou=j(_0,ou,qr),qu===null?oi=_0:qu.sibling=_0,qu=_0,ar=_u}if(qr===Je.length)return _(it,ar),oi;if(ar===null){for(;qrH0?(Cs=_u,_u=null):Cs=_u.sibling;var pl=Nt(it,_u,Hu.value,Bt);if(pl===null){_u===null&&(_u=Cs);break}a&&_u&&pl.alternate===null&&c(it,_u),_0=j(pl,_0,H0),qr===null?ou=pl:qr.sibling=pl,qr=pl,_u=Cs}if(Hu.done)return _(it,_u),ou;if(_u===null){for(;!Hu.done;H0++,Hu=ar.next()){var Ja=pt(it,Hu.value,Bt);Ja!==null&&(_0=j(Ja,_0,H0),qr===null?ou=Ja:qr.sibling=Ja,qr=Ja)}return ou}for(var jo=T(it,_u);!Hu.done;H0++,Hu=ar.next()){var xs=Vt(jo,it,H0,Hu.value,Bt);xs!==null&&(a&&xs.alternate!==null&&jo.delete(xs.key===null?H0:xs.key),_0=j(xs,_0,H0),qr===null?ou=xs:qr.sibling=xs,qr=xs)}return a&&jo.forEach(function(X2){return c(it,X2)}),ou}function $r(it,Ot,Je,Bt){if(Ot!==null&&Ot.tag===ne){_(it,Ot.sibling);var Mn=R(Ot,Je,Bt);return Mn.return=it,Mn}_(it,Ot);var pn=Cy(Je,it.mode,Bt);return pn.return=it,pn}function wi(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===m?Je.type===ue:pn.elementType===Je.type||jc(pn,Je)){_(it,pn.sibling);var Pi=R(pn,Je.type===ue?Je.props.children:Je.props,Bt);return Pi.ref=fc(it,pn,Je),Pi.return=it,Pi._debugSource=Je._source,Pi._debugOwner=Je._owner,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}if(Je.type===ue){var oi=Qa(Je.props.children,it.mode,Bt,Je.key);return oi.return=it,oi}else{var qu=Ty(Je,it.mode,Bt);return qu.ref=fc(it,Ot,Je),qu.return=it,qu}}function N0(it,Ot,Je,Bt){for(var Mn=Je.key,pn=Ot;pn!==null;){if(pn.key===Mn)if(pn.tag===q&&pn.stateNode.containerInfo===Je.containerInfo&&pn.stateNode.implementation===Je.implementation){_(it,pn.sibling);var Pi=R(pn,Je.children||[],Bt);return Pi.return=it,Pi}else{_(it,pn);break}else c(it,pn);pn=pn.sibling}var oi=xy(Je,it.mode,Bt);return oi.return=it,oi}function Vi(it,Ot,Je,Bt){var Mn=typeof Je=="object"&&Je!==null&&Je.type===ue&&Je.key===null;Mn&&(Je=Je.props.children);var pn=typeof Je=="object"&&Je!==null;if(pn)switch(Je.$$typeof){case ae:return V(wi(it,Ot,Je,Bt));case Ce:return V(N0(it,Ot,Je,Bt))}if(typeof Je=="string"||typeof Je=="number")return V($r(it,Ot,""+Je,Bt));if(Kc(Je))return vn(it,Ot,Je,Bt);if(ur(Je))return xr(it,Ot,Je,Bt);if(pn&&cc(it,Je),typeof Je=="function"&&f2(),typeof Je=="undefined"&&!Mn)switch(it.tag){case N:{var Pi=it.stateNode;if(Pi.render._isMockFunction)break}case L:{var oi=it.type;throw Error((oi.displayName||oi.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.")}}return _(it,Ot)}return Vi}var gf=yh(!0),Xc=yh(!1);function gh(a,c){if(!(a===null||c.child===a.child))throw Error("Resuming work not yet implemented.");if(c.child!==null){var _=c.child,T=wo(_,_.pendingProps,_.expirationTime);for(c.child=T,T.return=c;_.sibling!==null;)_=_.sibling,T=T.sibling=wo(_,_.pendingProps,_.expirationTime),T.return=c;T.sibling=null}}function vm(a,c){for(var _=a.child;_!==null;)Rv(_,c),_=_.sibling}var js={},fa=Gu(js),Ji=Gu(js),O0=Gu(js);function t0(a){if(a===js)throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");return a}function Jl(){var a=t0(O0.current);return a}function za(a,c){Vr(O0,c,a),Vr(Ji,a,a),Vr(fa,js,a);var _=Et(c);Kr(fa,a),Vr(fa,_,a)}function no(a){Kr(fa,a),Kr(Ji,a),Kr(O0,a)}function ul(){var a=t0(fa.current);return a}function dc(a){var c=t0(O0.current),_=t0(fa.current),T=Pt(_,a.type,c);_!==T&&(Vr(Ji,a,a),Vr(fa,T,a))}function Od(a){Ji.current===a&&(Kr(fa,a),Kr(Ji,a))}var _h=0,_f=1,Ef=1,Qc=2,xl=Gu(_h);function Jc(a,c){return(a&c)!=0}function ca(a){return a&_f}function c2(a,c){return a&_f|c}function d2(a,c){return a|c}function Or(a,c){Vr(xl,c,a)}function da(a){Kr(xl,a)}function kd(a,c){var _=a.memoizedState;if(_!==null)return _.dehydrated!==null;var T=a.memoizedProps;return T.fallback===void 0?!1:T.unstable_avoidThisFallback!==!0?!0:!c}function Zc(a){for(var c=a;c!==null;){if(c.tag===pe){var _=c.memoizedState;if(_!==null){var T=_.dehydrated;if(T===null||Ls(T)||h0(T))return c}}else if(c.tag===wt&&c.memoizedProps.revealOrder!==void 0){var R=(c.effectTag&Hr)!==_i;if(R)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===a)return null;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var p2={},vi=Array.isArray;function Md(a,c,_,T){return{fiber:T,props:c,responder:a,rootEventTypes:null,state:_}}function mm(a,c,_,T,R){var j=p2,V=a.getInitialState;V!==null&&(j=V(c));var te=Md(a,c,j,_);if(!R)for(var oe=_;oe!==null;){var Ie=oe.tag;if(Ie===W){R=oe.stateNode;break}else if(Ie===U){R=oe.stateNode.containerInfo;break}oe=oe.return}Ne(a,te,c,j,R),T.set(a,te)}function h2(a,c,_,T,R){var j,V;if(a&&(j=a.responder,V=a.props),!(j&&j.$$typeof===Ut))throw Error("An invalid value was used as an event listener. Expect one or many event listeners created via React.unstable_useResponder().");var te=V;if(_.has(j)){Kt(!1,'Duplicate event responder "%s" found in event listeners. Event listeners passed to elements cannot use the same event responder more than once.',j.displayName);return}_.add(j);var oe=T.get(j);oe===void 0?mm(j,te,c,T,R):(oe.props=te,oe.fiber=c)}function dn(a,c,_){var T=new Set,R=c.dependencies;if(a!=null){R===null&&(R=c.dependencies={expirationTime:lt,firstContext:null,responders:new Map});var j=R.responders;if(j===null&&(j=new Map),vi(a))for(var V=0,te=a.length;V0){var j=R.dispatch;if(Es!==null){var V=Es.get(R);if(V!==void 0){Es.delete(R);var te=T.memoizedState,oe=V;do{var Ie=oe.action;te=a(te,Ie),oe=oe.next}while(oe!==null);return ho(te,T.memoizedState)||up(),T.memoizedState=te,T.baseUpdate===R.last&&(T.baseState=te),R.lastRenderedState=te,[te,j]}}return[T.memoizedState,j]}var Ye=R.last,pt=T.baseUpdate,Nt=T.baseState,Vt;if(pt!==null?(Ye!==null&&(Ye.next=null),Vt=pt.next):Vt=Ye!==null?Ye.next:null,Vt!==null){var zt=Nt,vn=null,xr=null,$r=pt,wi=Vt,N0=!1;do{var Vi=wi.expirationTime;if(ViOu&&(Ou=Vi,G2(Ou));else if(vv(Vi,wi.suspenseConfig),wi.eagerReducer===a)zt=wi.eagerState;else{var it=wi.action;zt=a(zt,it)}$r=wi,wi=wi.next}while(wi!==null&&wi!==Vt);N0||(xr=$r,vn=zt),ho(zt,T.memoizedState)||up(),T.memoizedState=zt,T.baseUpdate=xr,T.baseState=vn,R.lastRenderedState=zt}var Ot=R.dispatch;return[T.memoizedState,Ot]}function Rf(a){var c=mc();typeof a=="function"&&(a=a()),c.memoizedState=c.baseState=a;var _=c.queue={last:null,dispatch:null,lastRenderedReducer:Nd,lastRenderedState:a},T=_.dispatch=u1.bind(null,ll,_);return[c.memoizedState,T]}function n1(a){return t1(Nd,a)}function Wa(a,c,_,T){var R={tag:a,create:c,destroy:_,deps:T,next:null};if(Zl===null)Zl=Ha(),Zl.lastEffect=R.next=R;else{var j=Zl.lastEffect;if(j===null)Zl.lastEffect=R.next=R;else{var V=j.next;j.next=R,R.next=V,Zl.lastEffect=R}}return R}function r1(a){var c=mc(),_={current:a};return Object.seal(_),c.memoizedState=_,_}function Ld(a){var c=e1();return c.memoizedState}function g2(a,c,_,T){var R=mc(),j=T===void 0?null:T;Tf|=a,R.memoizedState=Wa(c,_,void 0,j)}function yc(a,c,_,T){var R=e1(),j=T===void 0?null:T,V=void 0;if(Pn!==null){var te=Pn.memoizedState;if(V=te.destroy,j!==null){var oe=te.deps;if(xf(j,oe)){Wa(wf,_,V,j);return}}}Tf|=a,R.memoizedState=Wa(c,_,V,j)}function i1(a,c){return typeof jest!="undefined"&&Av(ll),g2(mr|L0,rr|$c,a,c)}function Rl(a,c){return typeof jest!="undefined"&&Av(ll),yc(mr|L0,rr|$c,a,c)}function pa(a,c){return g2(mr,Sf|ol,a,c)}function wh(a,c){return yc(mr,Sf|ol,a,c)}function Fd(a,c){if(typeof c=="function"){var _=c,T=a();return _(T),function(){_(null)}}else if(c!=null){var R=c;R.hasOwnProperty("current")||Kt(!1,"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.","an object with keys {"+Object.keys(R).join(", ")+"}");var j=a();return R.current=j,function(){R.current=null}}}function bd(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return g2(mr,Sf|ol,Fd.bind(null,c,a),T)}function Sh(a,c,_){typeof c!="function"&&Kt(!1,"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.",c!==null?typeof c:"null");var T=_!=null?_.concat([a]):null;return yc(mr,Sf|ol,Fd.bind(null,c,a),T)}function _2(a,c){}var Th=_2;function Ol(a,c){var _=mc(),T=c===void 0?null:c;return _.memoizedState=[a,T],a}function es(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}return _.memoizedState=[a,T],a}function Ds(a,c){var _=mc(),T=c===void 0?null:c,R=a();return _.memoizedState=[R,T],R}function zs(a,c){var _=e1(),T=c===void 0?null:c,R=_.memoizedState;if(R!==null&&T!==null){var j=R[1];if(xf(T,j))return R[0]}var V=a();return _.memoizedState=[V,T],V}function Pd(a,c){var _=Rf(a),T=_[0],R=_[1];return i1(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Ch(a,c){var _=n1(a),T=_[0],R=_[1];return Rl(function(){t.unstable_next(function(){var j=Bo.suspense;Bo.suspense=c===void 0?null:c;try{R(a)}finally{Bo.suspense=j}})},[a,c]),T}function Id(a){var c=Rf(!1),_=c[0],T=c[1],R=Ol(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function Bd(a){var c=n1(!1),_=c[0],T=c[1],R=es(function(j){T(!0),t.unstable_next(function(){var V=Bo.suspense;Bo.suspense=a===void 0?null:a;try{T(!1),j()}finally{Bo.suspense=V}})},[a,_]);return[R,_]}function u1(a,c,_){if(!(vc=0){var _=l1()-s1;a.actualDuration+=_,c&&(a.selfBaseDuration=_),s1=-1}}var Ml=null,Ga=null,ha=!1;function qd(){ha&&Kt(!1,"We should not be hydrating here. This is a bug in React. Please file a bug.")}function Hd(a){if(!_e)return!1;var c=a.stateNode.containerInfo;return Ga=B(c),Ml=a,ha=!0,!0}function Em(a,c){return _e?(Ga=Ni(c),Gd(a),ha=!0,!0):!1}function Wd(a,c){switch(a.tag){case U:ie(a.stateNode.containerInfo,c);break;case W:qe(a.type,a.memoizedProps,a.stateNode,c);break}var _=eE();_.stateNode=c,_.return=a,_.effectTag=W0,a.lastEffect!==null?(a.lastEffect.nextEffect=_,a.lastEffect=_):a.firstEffect=a.lastEffect=_}function Mh(a,c){switch(c.effectTag=c.effectTag&~tu|ai,a.tag){case U:{var _=a.stateNode.containerInfo;switch(c.tag){case W:var T=c.type,R=c.pendingProps;tt(_,T,R);break;case ne:var j=c.pendingProps;Tt(_,j);break;case pe:kt(_);break}break}case W:{var V=a.type,te=a.memoizedProps,oe=a.stateNode;switch(c.tag){case W:var Ie=c.type,Ye=c.pendingProps;bt(V,te,oe,Ie,Ye);break;case ne:var pt=c.pendingProps;on(V,te,oe,pt);break;case pe:tn(V,te,oe);break}break}default:return}}function Nh(a,c){switch(a.tag){case W:{var _=a.type,T=a.pendingProps,R=lf(c,_,T);return R!==null?(a.stateNode=R,!0):!1}case ne:{var j=a.pendingProps,V=Ns(c,j);return V!==null?(a.stateNode=V,!0):!1}case pe:{if(Di){var te=Ma(c);if(te!==null){var oe={dehydrated:te,retryTime:hi};a.memoizedState=oe;var Ie=tE(te);return Ie.return=a,a.child=Ie,!0}}return!1}default:return!1}}function Vd(a){if(!!ha){var c=Ga;if(!c){Mh(Ml,a),ha=!1,Ml=a;return}var _=c;if(!Nh(a,c)){if(c=Ni(_),!c||!Nh(a,c)){Mh(Ml,a),ha=!1,Ml=a;return}Wd(Ml,_)}Ml=a,Ga=B(c)}}function Dm(a,c,_){if(!_e)throw Error("Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var T=a.stateNode,R=z(T,a.type,a.memoizedProps,c,_,a);return a.updateQueue=R,R!==null}function wm(a){if(!_e)throw Error("Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.stateNode,_=a.memoizedProps,T=G(c,_,a);if(T){var R=Ml;if(R!==null)switch(R.tag){case U:{var j=R.stateNode.containerInfo;Xe(j,c,_);break}case W:{var V=R.type,te=R.memoizedProps,oe=R.stateNode;ht(V,te,oe,c,_);break}}}return T}function Lh(a){if(!_e)throw Error("Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");$(_,a)}function Sm(a){if(!_e)throw Error("Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.");var c=a.memoizedState,_=c!==null?c.dehydrated:null;if(!_)throw Error("Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.");return De(_)}function Gd(a){for(var c=a.return;c!==null&&c.tag!==W&&c.tag!==U&&c.tag!==pe;)c=c.return;Ml=c}function f1(a){if(!_e||a!==Ml)return!1;if(!ha)return Gd(a),ha=!0,!1;var c=a.type;if(a.tag!==W||c!=="head"&&c!=="body"&&!Ti(c,a.memoizedProps))for(var _=Ga;_;)Wd(a,_),_=Ni(_);return Gd(a),a.tag===pe?Ga=Sm(a):Ga=Ml?Ni(a.stateNode):null,!0}function c1(){!_e||(Ml=null,Ga=null,ha=!1)}var d1=at.ReactCurrentOwner,va=!1,Yd,qs,Hs,Ws,Kd,ma,p1,E2,gc,Xd;Yd={},qs={},Hs={},Ws={},Kd={},ma=!1,p1=!1,E2={},gc={},Xd={};function _o(a,c,_,T){a===null?c.child=Xc(c,null,_,T):c.child=gf(c,a.child,_,T)}function Fh(a,c,_,T){c.child=gf(c,a.child,null,T),c.child=gf(c,null,_,T)}function bh(a,c,_,T,R){if(c.type!==c.elementType){var j=_.propTypes;j&&E(j,T,"prop",qt(_),Rr)}var V=_.render,te=c.ref,oe;return e0(c,R),d1.current=c,Ze("render"),oe=Af(a,c,V,T,te,R),Ei&&c.mode&cr&&c.memoizedState!==null&&(oe=Af(a,c,V,T,te,R)),Ze(null),a!==null&&!va?(v2(a,c,R),ya(a,c,R)):(c.effectTag|=eu,_o(a,c,oe,R),c.child)}function Ph(a,c,_,T,R,j){if(a===null){var V=_.type;if(i0(V)&&_.compare===null&&_.defaultProps===void 0){var te=V;return te=Zu(V),c.tag=le,c.type=te,Zd(c,V),Ih(a,c,te,T,R,j)}{var oe=V.propTypes;oe&&E(oe,T,"prop",qt(V),Rr)}var Ie=Sy(_.type,null,T,null,c.mode,j);return Ie.ref=c.ref,Ie.return=c,c.child=Ie,Ie}{var Ye=_.type,pt=Ye.propTypes;pt&&E(pt,T,"prop",qt(Ye),Rr)}var Nt=a.child;if(R component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.",oe,oe),Yd[oe]=!0)}c.mode&cr&&wl.recordLegacyContextWarning(c,null),d1.current=c,te=Af(null,c,_,R,j,T)}if(c.effectTag|=eu,typeof te=="object"&&te!==null&&typeof te.render=="function"&&te.$$typeof===void 0){{var Ie=qt(_)||"Unknown";qs[Ie]||(Ke(!1,"The <%s /> component appears to be a function component that returns a class instance. Change %s to a class that extends React.Component instead. If you can't use a class try assigning the prototype on the function as a workaround. `%s.prototype = React.Component.prototype`. Don't use an arrow function since it cannot be called with `new` by React.",Ie,Ie,Ie),qs[Ie]=!0)}c.tag=N,m2();var Ye=!1;zi(_)?(Ye=!0,Fi(c)):Ye=!1,c.memoizedState=te.state!==null&&te.state!==void 0?te.state:null;var pt=_.getDerivedStateFromProps;return typeof pt=="function"&&yf(c,_,pt,R),il(c,te),ac(c,_,R,T),Jd(null,c,_,!0,Ye,T)}else return c.tag=L,ni&&_.contextTypes&&Ke(!1,"%s uses the legacy contextTypes API which is no longer supported. Use React.createContext() with React.useContext() instead.",qt(_)||"Unknown"),Ei&&c.mode&cr&&c.memoizedState!==null&&(te=Af(null,c,_,R,j,T)),_o(null,c,te,T),Zd(c,_),c.child}function Zd(a,c){if(c&&c.childContextTypes&&Ke(!1,"%s(...): childContextTypes cannot be defined on a function component.",c.displayName||c.name||"Component"),a.ref!==null){var _="",T=v0();T&&(_+=` - -Check the render method of \``+T+"`.");var R=T||a._debugID||"",j=a._debugSource;j&&(R=j.fileName+":"+j.lineNumber),Kd[R]||(Kd[R]=!0,Kt(!1,"Function components cannot be given refs. Attempts to access this ref will fail. Did you mean to use React.forwardRef()?%s",_))}if(Wl&&c.defaultProps!==void 0){var V=qt(c)||"Unknown";Xd[V]||(Ke(!1,"%s: Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.",V),Xd[V]=!0)}if(typeof c.getDerivedStateFromProps=="function"){var te=qt(c)||"Unknown";Ws[te]||(Ke(!1,"%s: Function components do not support getDerivedStateFromProps.",te),Ws[te]=!0)}if(typeof c.contextType=="object"&&c.contextType!==null){var oe=qt(c)||"Unknown";Hs[oe]||(Ke(!1,"%s: Function components do not support contextType.",oe),Hs[oe]=!0)}}var w2={dehydrated:null,retryTime:lt};function $d(a,c,_){return Jc(a,Qc)&&(c===null||c.memoizedState!==null)}function qh(a,c,_){var T=c.mode,R=c.pendingProps;a_(c)&&(c.effectTag|=Hr);var j=xl.current,V=!1,te=(c.effectTag&Hr)!==_i;if(te||$d(j,a,c)?(V=!0,c.effectTag&=~Hr):(a===null||a.memoizedState!==null)&&R.fallback!==void 0&&R.unstable_avoidThisFallback!==!0&&(j=d2(j,Ef)),j=ca(j),Or(c,j),"maxDuration"in R&&(p1||(p1=!0,Kt(!1,"maxDuration has been removed from React. Remove the maxDuration prop."))),a===null){if(R.fallback!==void 0&&(Vd(c),Di)){var oe=c.memoizedState;if(oe!==null){var Ie=oe.dehydrated;if(Ie!==null)return Hh(c,Ie,_)}}if(V){var Ye=R.fallback,pt=Qa(null,T,lt,null);if(pt.return=c,(c.mode&Y)===Sr){var Nt=c.memoizedState,Vt=Nt!==null?c.child.child:c.child;pt.child=Vt;for(var zt=Vt;zt!==null;)zt.return=pt,zt=zt.sibling}var vn=Qa(Ye,T,_,null);return vn.return=c,pt.sibling=vn,c.memoizedState=w2,c.child=pt,vn}else{var xr=R.children;return c.memoizedState=null,c.child=Xc(c,null,xr,_)}}else{var $r=a.memoizedState;if($r!==null){if(Di){var wi=$r.dehydrated;if(wi!==null)if(te){if(c.memoizedState!==null)return c.child=a.child,c.effectTag|=Hr,null;var N0=R.fallback,Vi=Qa(null,T,lt,null);if(Vi.return=c,Vi.child=null,(c.mode&Y)===Sr)for(var it=Vi.child=c.child;it!==null;)it.return=Vi,it=it.sibling;else gf(c,a.child,null,_);if(Zt&&c.mode&Jr){for(var Ot=0,Je=Vi.child;Je!==null;)Ot+=Je.treeBaseDuration,Je=Je.sibling;Vi.treeBaseDuration=Ot}var Bt=Qa(N0,T,_,null);return Bt.return=c,Vi.sibling=Bt,Bt.effectTag|=ai,Vi.childExpirationTime=lt,c.memoizedState=w2,c.child=Vi,Bt}else return Wh(a,c,wi,$r,_)}var Mn=a.child,pn=Mn.sibling;if(V){var Pi=R.fallback,oi=wo(Mn,Mn.pendingProps,lt);if(oi.return=c,(c.mode&Y)===Sr){var qu=c.memoizedState,ar=qu!==null?c.child.child:c.child;if(ar!==Mn.child){oi.child=ar;for(var ou=ar;ou!==null;)ou.return=oi,ou=ou.sibling}}if(Zt&&c.mode&Jr){for(var qr=0,_u=oi.child;_u!==null;)qr+=_u.treeBaseDuration,_u=_u.sibling;oi.treeBaseDuration=qr}var _0=wo(pn,Pi,pn.expirationTime);return _0.return=c,oi.sibling=_0,oi.childExpirationTime=lt,c.memoizedState=w2,c.child=oi,_0}else{var H0=R.children,Cs=Mn.child,Hu=gf(c,Cs,H0,_);return c.memoizedState=null,c.child=Hu}}else{var pl=a.child;if(V){var Ja=R.fallback,jo=Qa(null,T,lt,null);if(jo.return=c,jo.child=pl,pl!==null&&(pl.return=jo),(c.mode&Y)===Sr){var xs=c.memoizedState,X2=xs!==null?c.child.child:c.child;jo.child=X2;for(var Uf=X2;Uf!==null;)Uf.return=jo,Uf=Uf.sibling}if(Zt&&c.mode&Jr){for(var Rc=0,Pl=jo.child;Pl!==null;)Rc+=Pl.treeBaseDuration,Pl=Pl.sibling;jo.treeBaseDuration=Rc}var zo=Qa(Ja,T,_,null);return zo.return=c,jo.sibling=zo,zo.effectTag|=ai,jo.childExpirationTime=lt,c.memoizedState=w2,c.child=jo,zo}else{c.memoizedState=null;var O1=R.children;return c.child=gf(c,pl,O1,_)}}}}function ep(a,c,_){c.memoizedState=null;var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function Hh(a,c,_){if((a.mode&Y)===Sr)Kt(!1,"Cannot hydrate Suspense in legacy mode. Switch from ReactDOM.hydrate(element, container) to ReactDOM.createBlockingRoot(container, { hydrate: true }).render(element) or remove the Suspense components from the server rendered components."),a.expirationTime=bn;else if(h0(c)){var T=Fl(),R=ms(T);Ln&&x(R),a.expirationTime=R}else a.expirationTime=hi,Ln&&x(hi);return null}function Wh(a,c,_,T,R){if(qd(),(c.mode&Y)===Sr||h0(_))return ep(a,c,R);var j=a.childExpirationTime>=R;if(va||j){if(R. Use lowercase "%s" instead.',a,a.toLowerCase());break}case"forward":case"backward":{Kt(!1,'"%s" is not a valid value for revealOrder on . React uses the -s suffix in the spelling. Use "%ss" instead.',a,a.toLowerCase());break}default:Kt(!1,'"%s" is not a supported revealOrder on . Did you mean "together", "forwards" or "backwards"?',a);break}else Kt(!1,'%s is not a supported value for revealOrder on . Did you mean "together", "forwards" or "backwards"?',a)}function Vh(a,c){a!==void 0&&!gc[a]&&(a!=="collapsed"&&a!=="hidden"?(gc[a]=!0,Kt(!1,'"%s" is not a supported value for tail on . Did you mean "collapsed" or "hidden"?',a)):c!=="forwards"&&c!=="backwards"&&(gc[a]=!0,Kt(!1,' is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?',a)))}function v1(a,c){{var _=Array.isArray(a),T=!_&&typeof ur(a)=="function";if(_||T){var R=_?"array":"iterable";return Kt(!1,"A nested %s was passed to row #%s in . Wrap it in an additional SuspenseList to configure its revealOrder: ... {%s} ... ",R,c,R),!1}}return!0}function Mm(a,c){if((c==="forwards"||c==="backwards")&&a!==void 0&&a!==null&&a!==!1)if(Array.isArray(a)){for(var _=0;_. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',c)}}function np(a,c,_,T,R,j){var V=a.memoizedState;V===null?a.memoizedState={isBackwards:c,rendering:null,last:T,tail:_,tailExpiration:0,tailMode:R,lastEffect:j}:(V.isBackwards=c,V.rendering=null,V.last=T,V.tail=_,V.tailExpiration=0,V.tailMode=R,V.lastEffect=j)}function rp(a,c,_){var T=c.pendingProps,R=T.revealOrder,j=T.tail,V=T.children;km(R),Vh(j,R),Mm(V,R),_o(a,c,V,_);var te=xl.current,oe=Jc(te,Qc);if(oe)te=c2(te,Qc),c.effectTag|=Hr;else{var Ie=a!==null&&(a.effectTag&Hr)!==_i;Ie&&Rm(c,c.child,_),te=ca(te)}if(Or(c,te),(c.mode&Y)===Sr)c.memoizedState=null;else switch(R){case"forwards":{var Ye=Om(c.child),pt;Ye===null?(pt=c.child,c.child=null):(pt=Ye.sibling,Ye.sibling=null),np(c,!1,pt,Ye,j,c.lastEffect);break}case"backwards":{var Nt=null,Vt=c.child;for(c.child=null;Vt!==null;){var zt=Vt.alternate;if(zt!==null&&Zc(zt)===null){c.child=Vt;break}var vn=Vt.sibling;Vt.sibling=Nt,Nt=Vt,Vt=vn}np(c,!0,Nt,null,j,c.lastEffect);break}case"together":{np(c,!1,null,null,void 0,c.lastEffect);break}default:c.memoizedState=null}return c.child}function Nm(a,c,_){za(c,c.stateNode.containerInfo);var T=c.pendingProps;return a===null?c.child=gf(c,null,T,_):_o(a,c,T,_),c.child}function Lm(a,c,_){var T=c.type,R=T._context,j=c.pendingProps,V=c.memoizedProps,te=j.value;{var oe=c.type.propTypes;oe&&E(oe,j,"prop","Context.Provider",Rr)}if(Er(c,te),V!==null){var Ie=V.value,Ye=iu(R,te,Ie);if(Ye===0){if(V.children===j.children&&!na())return ya(a,c,_)}else Tl(c,R,Ye,_)}var pt=j.children;return _o(a,c,pt,_),c.child}var Gh=!1;function Fm(a,c,_){var T=c.type;T._context===void 0?T!==T.Consumer&&(Gh||(Gh=!0,Kt(!1,"Rendering directly is not supported and will be removed in a future major release. Did you mean to render instead?"))):T=T._context;var R=c.pendingProps,j=R.children;typeof j!="function"&&Ke(!1,"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it."),e0(c,_);var V=He(T,R.unstable_observedBits),te;return d1.current=c,Ze("render"),te=j(V),Ze(null),c.effectTag|=eu,_o(a,c,te,_),c.child}function bm(a,c,_){var T=c.type.impl;if(T.reconcileChildren===!1)return null;var R=c.pendingProps,j=R.children;return _o(a,c,j,_),c.child}function ip(a,c,_){var T=c.pendingProps,R=T.children;return _o(a,c,R,_),c.child}function up(){va=!0}function ya(a,c,_){Ki(c),a!==null&&(c.dependencies=a.dependencies),Zt&&kh(c);var T=c.expirationTime;T!==lt&&G2(T);var R=c.childExpirationTime;return R<_?null:(gh(a,c),c.child)}function m1(a,c,_){{var T=c.return;if(T===null)throw new Error("Cannot swap the root fiber.");if(a.alternate=null,c.alternate=null,_.index=c.index,_.sibling=c.sibling,_.return=c.return,_.ref=c.ref,c===T.child)T.child=_;else{var R=T.child;if(R===null)throw new Error("Expected parent to have a child.");for(;R.sibling!==c;)if(R=R.sibling,R===null)throw new Error("Expected to find the previous sibling.");R.sibling=_}var j=T.lastEffect;return j!==null?(j.nextEffect=a,T.lastEffect=a):T.firstEffect=T.lastEffect=a,a.nextEffect=null,a.effectTag=W0,_.effectTag|=ai,_}}function op(a,c,_){var T=c.expirationTime;if(c._debugNeedsRemount&&a!==null)return m1(a,c,Sy(c.type,c.key,c.pendingProps,c._debugOwner||null,c.mode,c.expirationTime));if(a!==null){var R=a.memoizedProps,j=c.pendingProps;if(R!==j||na()||c.type!==a.type)va=!0;else if(T<_){switch(va=!1,c.tag){case U:zh(c),c1();break;case W:if(dc(c),c.mode&Qr&&_!==hi&&d0(c.type,j))return Ln&&x(hi),c.expirationTime=c.childExpirationTime=hi,null;break;case N:{var V=c.type;zi(V)&&Fi(c);break}case q:za(c,c.stateNode.containerInfo);break;case he:{var te=c.memoizedProps.value;Er(c,te);break}case ze:if(Zt){var oe=c.childExpirationTime>=_;oe&&(c.effectTag|=mr)}break;case pe:{var Ie=c.memoizedState;if(Ie!==null){if(Di&&Ie.dehydrated!==null){Or(c,ca(xl.current)),c.effectTag|=Hr;break}var Ye=c.child,pt=Ye.childExpirationTime;if(pt!==lt&&pt>=_)return qh(a,c,_);Or(c,ca(xl.current));var Nt=ya(a,c,_);return Nt!==null?Nt.sibling:null}else Or(c,ca(xl.current));break}case wt:{var Vt=(a.effectTag&Hr)!==_i,zt=c.childExpirationTime>=_;if(Vt){if(zt)return rp(a,c,_);c.effectTag|=Hr}var vn=c.memoizedState;if(vn!==null&&(vn.rendering=null,vn.tail=null),Or(c,xl.current),zt)break;return null}}return ya(a,c,_)}else va=!1}else va=!1;switch(c.expirationTime=lt,c.tag){case C:return Am(a,c,c.type,_);case Ue:{var xr=c.elementType;return kf(a,c,xr,T,_)}case L:{var $r=c.type,wi=c.pendingProps,N0=c.elementType===$r?wi:bi($r,wi);return Qd(a,c,$r,N0,_)}case N:{var Vi=c.type,it=c.pendingProps,Ot=c.elementType===Vi?it:bi(Vi,it);return jh(a,c,Vi,Ot,_)}case U:return Cm(a,c,_);case W:return xm(a,c,_);case ne:return Of(a,c);case pe:return qh(a,c,_);case q:return Nm(a,c,_);case ge:{var Je=c.type,Bt=c.pendingProps,Mn=c.elementType===Je?Bt:bi(Je,Bt);return bh(a,c,Je,Mn,_)}case m:return Tm(a,c,_);case we:return Bh(a,c,_);case ze:return Uh(a,c,_);case he:return Lm(a,c,_);case Se:return Fm(a,c,_);case Oe:{var pn=c.type,Pi=c.pendingProps,oi=bi(pn,Pi);if(c.type!==c.elementType){var qu=pn.propTypes;qu&&E(qu,oi,"prop",qt(pn),Rr)}return oi=bi(pn.type,oi),Ph(a,c,pn,oi,T,_)}case le:return Ih(a,c,c.type,c.pendingProps,T,_);case Ge:{var ar=c.type,ou=c.pendingProps,qr=c.elementType===ar?ou:bi(ar,ou);return D2(a,c,ar,qr,_)}case wt:return rp(a,c,_);case xt:{if(Ht)return bm(a,c,_);break}case $e:{if(Du)return ip(a,c,_);break}}throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}function Yh(a,c,_,T){return{currentFiber:a,impl:_,instance:null,prevProps:null,props:c,state:T}}function S2(a){return a.tag===pe&&a.memoizedState!==null}function y1(a){return a.child.sibling.child}var Kh={};function lp(a,c,_){if(Du){if(a.tag===W){var T=a.type,R=a.memoizedProps,j=a.stateNode,V=Ro(j);V!==null&&c(T,R||Kh,V)===!0&&_.push(V)}var te=a.child;S2(a)&&(te=y1(a)),te!==null&&sp(te,c,_)}}function Xh(a,c){if(Du){if(a.tag===W){var _=a.type,T=a.memoizedProps,R=a.stateNode,j=Ro(R);if(j!==null&&c(_,T,j)===!0)return j}var V=a.child;if(S2(a)&&(V=y1(a)),V!==null)return Qh(V,c)}return null}function sp(a,c,_){for(var T=a;T!==null;)lp(T,c,_),T=T.sibling}function Qh(a,c){for(var _=a;_!==null;){var T=Xh(_,c);if(T!==null)return T;_=_.sibling}return null}function Jh(a,c,_){if(T2(a,c))_.push(a.stateNode.methods);else{var T=a.child;S2(a)&&(T=y1(a)),T!==null&&ap(T,c,_)}}function ap(a,c,_){for(var T=a;T!==null;)Jh(T,c,_),T=T.sibling}function T2(a,c){return a.tag===$e&&a.type===c&&a.stateNode!==null}function C2(a,c){return{getChildren:function(){var _=c.fiber,T=_.child,R=[];return T!==null&&ap(T,a,R),R.length===0?null:R},getChildrenFromRoot:function(){for(var _=c.fiber,T=_;T!==null;){var R=T.return;if(R===null||(T=R,T.tag===$e&&T.type===a))break}var j=[];return ap(T.child,a,j),j.length===0?null:j},getParent:function(){for(var _=c.fiber.return;_!==null;){if(_.tag===$e&&_.type===a)return _.stateNode.methods;_=_.return}return null},getProps:function(){var _=c.fiber;return _.memoizedProps},queryAllNodes:function(_){var T=c.fiber,R=T.child,j=[];return R!==null&&sp(R,_,j),j.length===0?null:j},queryFirstNode:function(_){var T=c.fiber,R=T.child;return R!==null?Qh(R,_):null},containsNode:function(_){for(var T=or(_);T!==null;){if(T.tag===$e&&T.type===a&&T.stateNode===c)return!0;T=T.return}return!1}}}function z0(a){a.effectTag|=mr}function x2(a){a.effectTag|=To}var ga,Ya,A2,R2;if(P0)ga=function(a,c,_,T){for(var R=c.child;R!==null;){if(R.tag===W||R.tag===ne)Wr(a,R.stateNode);else if(Ht&&R.tag===xt)Wr(a,R.stateNode.instance);else if(R.tag!==q){if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}},Ya=function(a){},A2=function(a,c,_,T,R){var j=a.memoizedProps;if(j!==T){var V=c.stateNode,te=ul(),oe=c0(V,_,j,T,R,te);c.updateQueue=oe,oe&&z0(c)}},R2=function(a,c,_,T){_!==T&&z0(c)};else if(X){ga=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Wr(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Wr(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Wr(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,ga(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};var fp=function(a,c,_,T){for(var R=c.child;R!==null;){e:if(R.tag===W){var j=R.stateNode;if(_&&T){var V=R.memoizedProps,te=R.type;j=Gr(j,te,V,R)}Gn(a,j)}else if(R.tag===ne){var oe=R.stateNode;if(_&&T){var Ie=R.memoizedProps;oe=Yl(oe,Ie,R)}Gn(a,oe)}else if(Ht&&R.tag===xt){var Ye=R.stateNode.instance;if(_&&T){var pt=R.memoizedProps,Nt=R.type;Ye=Gr(Ye,Nt,pt,R)}Gn(a,Ye)}else if(R.tag!==q){if(R.tag===pe){if((R.effectTag&mr)!==_i){var Vt=R.memoizedState!==null;if(Vt){var zt=R.child;if(zt!==null){zt.child!==null&&(zt.child.return=zt,fp(a,zt,!0,Vt));var vn=zt.sibling;if(vn!==null){vn.return=R,R=vn;continue}}}}if(R.child!==null){R.child.return=R,R=R.child;continue}}else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R=R,R===c)return;for(;R.sibling===null;){if(R.return===null||R.return===c)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};Ya=function(a){var c=a.stateNode,_=a.firstEffect===null;if(!_){var T=c.containerInfo,R=w0(T);fp(R,a,!1,!1),c.pendingChildren=R,z0(a),ic(T,R)}},A2=function(a,c,_,T,R){var j=a.stateNode,V=a.memoizedProps,te=c.firstEffect===null;if(te&&V===T){c.stateNode=j;return}var oe=c.stateNode,Ie=ul(),Ye=null;if(V!==T&&(Ye=c0(oe,_,V,T,R,Ie)),te&&Ye===null){c.stateNode=j;return}var pt=cs(j,Ye,_,V,T,c,te,oe);wu(pt,_,T,R,Ie)&&z0(c),c.stateNode=pt,te?z0(c):ga(pt,c,!1,!1)},R2=function(a,c,_,T){if(_!==T){var R=Jl(),j=ul();c.stateNode=as(T,R,j,c),z0(c)}}}else Ya=function(a){},A2=function(a,c,_,T,R){},R2=function(a,c,_,T){};function O2(a,c){switch(a.tailMode){case"hidden":{for(var _=a.tail,T=null;_!==null;)_.alternate!==null&&(T=_),_=_.sibling;T===null?a.tail=null:T.sibling=null;break}case"collapsed":{for(var R=a.tail,j=null;R!==null;)R.alternate!==null&&(j=R),R=R.sibling;j===null?!c&&a.tail!==null?a.tail.sibling=null:a.tail=null:j.sibling=null;break}}}function Zh(a,c,_){var T=c.pendingProps;switch(c.tag){case C:break;case Ue:break;case le:case L:break;case N:{var R=c.type;zi(R)&&Is(c);break}case U:{no(c),x0(c);var j=c.stateNode;if(j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),a===null||a.child===null){var V=f1(c);V&&z0(c)}Ya(c);break}case W:{Od(c);var te=Jl(),oe=c.type;if(a!==null&&c.stateNode!=null){if(A2(a,c,oe,T,te),ci){var Ie=a.memoizedProps.listeners,Ye=T.listeners;Ie!==Ye&&z0(c)}a.ref!==c.ref&&x2(c)}else{if(!T){if(c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");break}var pt=ul(),Nt=f1(c);if(Nt){if(Dm(c,te,pt)&&z0(c),ci){var Vt=T.listeners;Vt!=null&&dn(Vt,c,te)}}else{var zt=ji(oe,T,te,pt,c);if(ga(zt,c,!1,!1),c.stateNode=zt,ci){var vn=T.listeners;vn!=null&&dn(vn,c,te)}wu(zt,oe,T,te,pt)&&z0(c)}c.ref!==null&&x2(c)}break}case ne:{var xr=T;if(a&&c.stateNode!=null){var $r=a.memoizedProps;R2(a,c,$r,xr)}else{if(typeof xr!="string"&&c.stateNode===null)throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");var wi=Jl(),N0=ul(),Vi=f1(c);Vi?wm(c)&&z0(c):c.stateNode=as(xr,wi,N0,c)}break}case ge:break;case pe:{da(c);var it=c.memoizedState;if(Di&&it!==null&&it.dehydrated!==null)if(a===null){var Ot=f1(c);if(!Ot)throw Error("A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.");return Lh(c),Ln&&x(hi),null}else return c1(),(c.effectTag&Hr)===_i&&(c.memoizedState=null),c.effectTag|=mr,null;if((c.effectTag&Hr)!==_i)return c.expirationTime=_,c;var Je=it!==null,Bt=!1;if(a===null)c.memoizedProps.fallback!==void 0&&f1(c);else{var Mn=a.memoizedState;if(Bt=Mn!==null,!Je&&Mn!==null){var pn=a.child.sibling;if(pn!==null){var Pi=c.firstEffect;Pi!==null?(c.firstEffect=pn,pn.nextEffect=Pi):(c.firstEffect=c.lastEffect=pn,pn.nextEffect=null),pn.effectTag=W0}}}if(Je&&!Bt&&(c.mode&Y)!==Sr){var oi=a===null&&c.memoizedProps.unstable_avoidThisFallback!==!0;oi||Jc(xl.current,Ef)?mv():yv()}X&&Je&&(c.effectTag|=mr),P0&&(Je||Bt)&&(c.effectTag|=mr),Ui&&c.updateQueue!==null&&c.memoizedProps.suspenseCallback!=null&&(c.effectTag|=mr);break}case m:break;case we:break;case ze:break;case q:no(c),Ya(c);break;case he:$u(c);break;case Se:break;case Oe:break;case Ge:{var qu=c.type;zi(qu)&&Is(c);break}case wt:{da(c);var ar=c.memoizedState;if(ar===null)break;var ou=(c.effectTag&Hr)!==_i,qr=ar.rendering;if(qr===null)if(ou)O2(ar,!1);else{var _u=gv()&&(a===null||(a.effectTag&Hr)===_i);if(!_u)for(var _0=c.child;_0!==null;){var H0=Zc(_0);if(H0!==null){ou=!0,c.effectTag|=Hr,O2(ar,!1);var Cs=H0.updateQueue;return Cs!==null&&(c.updateQueue=Cs,c.effectTag|=mr),ar.lastEffect===null&&(c.firstEffect=null),c.lastEffect=ar.lastEffect,vm(c,_),Or(c,c2(xl.current,Qc)),c.child}_0=_0.sibling}}else{if(!ou){var Hu=Zc(qr);if(Hu!==null){c.effectTag|=Hr,ou=!0;var pl=Hu.updateQueue;if(pl!==null&&(c.updateQueue=pl,c.effectTag|=mr),O2(ar,!0),ar.tail===null&&ar.tailMode==="hidden"&&!qr.alternate){var Ja=c.lastEffect=ar.lastEffect;return Ja!==null&&(Ja.nextEffect=null),null}}else if(vt()>ar.tailExpiration&&_>hi){c.effectTag|=Hr,ou=!0,O2(ar,!1);var jo=_-1;c.expirationTime=c.childExpirationTime=jo,Ln&&x(jo)}}if(ar.isBackwards)qr.sibling=c.child,c.child=qr;else{var xs=ar.last;xs!==null?xs.sibling=qr:c.child=qr,ar.last=qr}}if(ar.tail!==null){if(ar.tailExpiration===0){var X2=500;ar.tailExpiration=vt()+X2}var Uf=ar.tail;ar.rendering=Uf,ar.tail=Uf.sibling,ar.lastEffect=c.lastEffect,Uf.sibling=null;var Rc=xl.current;return ou?Rc=c2(Rc,Qc):Rc=ca(Rc),Or(c,Rc),Uf}break}case xt:{if(Ht){var Pl=c.type.impl,zo=c.stateNode;if(zo===null){var O1=Pl.getInitialState,m_;O1!==void 0&&(m_=O1(T)),zo=c.stateNode=Yh(c,T,Pl,m_||{});var y_=dt(zo);if(zo.instance=y_,Pl.reconcileChildren===!1)return null;ga(y_,c,!1,!1),Hn(zo)}else{var yE=zo.props;if(zo.prevProps=yE,zo.props=T,zo.currentFiber=c,X){var g_=ea(zo);zo.instance=g_,ga(g_,c,!1,!1)}var gE=Dn(zo);gE&&z0(c)}}break}case $e:{if(Du)if(a===null){var _E=c.type,Ly={fiber:c,methods:null};if(c.stateNode=Ly,Ly.methods=C2(_E,Ly),ci){var __=T.listeners;if(__!=null){var EE=Jl();dn(__,c,EE)}}c.ref!==null&&(x2(c),z0(c))}else{if(ci){var DE=a.memoizedProps.listeners,wE=T.listeners;(DE!==wE||c.ref!==null)&&z0(c)}else c.ref!==null&&z0(c);a.ref!==c.ref&&x2(c)}break}default:throw Error("Unknown unit of work tag ("+c.tag+"). This error is likely caused by a bug in React. Please file an issue.")}return null}function Pm(a,c){switch(a.tag){case N:{var _=a.type;zi(_)&&Is(a);var T=a.effectTag;return T&f0?(a.effectTag=T&~f0|Hr,a):null}case U:{no(a),x0(a);var R=a.effectTag;if((R&Hr)!==_i)throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");return a.effectTag=R&~f0|Hr,a}case W:return Od(a),null;case pe:{if(da(a),Di){var j=a.memoizedState;if(j!==null&&j.dehydrated!==null){if(a.alternate===null)throw Error("Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.");c1()}}var V=a.effectTag;return V&f0?(a.effectTag=V&~f0|Hr,a):null}case wt:return da(a),null;case q:return no(a),null;case he:return $u(a),null;default:return null}}function $h(a){switch(a.tag){case N:{var c=a.type.childContextTypes;c!=null&&Is(a);break}case U:{no(a),x0(a);break}case W:{Od(a);break}case q:no(a);break;case pe:da(a);break;case wt:da(a);break;case he:$u(a);break;default:break}}function cp(a,c){return{value:a,source:c,stack:_r(c)}}var dp=function(a,c,_,T,R,j,V,te,oe){var Ie=Array.prototype.slice.call(arguments,3);try{c.apply(_,Ie)}catch(Ye){this.onError(Ye)}};if(typeof window!="undefined"&&typeof window.dispatchEvent=="function"&&typeof document!="undefined"&&typeof document.createEvent=="function"){var pp=document.createElement("react"),Im=function(a,c,_,T,R,j,V,te,oe){if(typeof document=="undefined")throw Error("The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.");var Ie=document.createEvent("Event"),Ye=!0,pt=window.event,Nt=Object.getOwnPropertyDescriptor(window,"event"),Vt=Array.prototype.slice.call(arguments,3);function zt(){pp.removeEventListener(N0,zt,!1),typeof window.event!="undefined"&&window.hasOwnProperty("event")&&(window.event=pt),c.apply(_,Vt),Ye=!1}var vn,xr=!1,$r=!1;function wi(Vi){if(vn=Vi.error,xr=!0,vn===null&&Vi.colno===0&&Vi.lineno===0&&($r=!0),Vi.defaultPrevented&&vn!=null&&typeof vn=="object")try{vn._suppressLogging=!0}catch(it){}}var N0="react-"+(a||"invokeguardedcallback");window.addEventListener("error",wi),pp.addEventListener(N0,zt,!1),Ie.initEvent(N0,!1,!1),pp.dispatchEvent(Ie),Nt&&Object.defineProperty(window,"event",Nt),Ye&&(xr?$r&&(vn=new Error("A cross-origin error was thrown. React doesn't have access to the actual error object in development. See https://fb.me/react-crossorigin-error for more information.")):vn=new Error(`An error was thrown inside one of your components, but React doesn't know what it was. This is likely due to browser flakiness. React does its best to preserve the "Pause on exceptions" behavior of the DevTools, which requires some DEV-mode only tricks. It's possible that these don't work in your browser. Try triggering the error in production mode, or switching to a modern browser. If you suspect that this is actually an issue with React, please file an issue.`),this.onError(vn)),window.removeEventListener("error",wi)};dp=Im}var Bm=dp,Eo=!1,k2=null,Um={onError:function(a){Eo=!0,k2=a}};function sl(a,c,_,T,R,j,V,te,oe){Eo=!1,k2=null,Bm.apply(Um,arguments)}function Jn(){return Eo}function Vs(){if(Eo){var a=k2;return Eo=!1,k2=null,a}else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.")}function al(a){return!0}function n0(a){var c=al(a);if(c!==!1){var _=a.error;{var T=a.componentName,R=a.componentStack,j=a.errorBoundaryName,V=a.errorBoundaryFound,te=a.willRetry;if(_!=null&&_._suppressLogging){if(V&&te)return;console.error(_)}var oe=T?"The above error occurred in the <"+T+"> component:":"The above error occurred in one of your React components:",Ie;V&&j?te?Ie="React will try to recreate this component tree from scratch "+("using the error boundary you provided, "+j+"."):Ie="This error was initially handled by the error boundary "+j+`. -Recreating the tree from scratch failed so React will unmount the tree.`:Ie=`Consider adding an error boundary to your tree to customize error handling behavior. -Visit https://fb.me/react-error-boundaries to learn more about error boundaries.`;var Ye=""+oe+R+` - -`+(""+Ie);console.error(Ye)}}}var ev=null;ev=new Set;var Gs=typeof WeakSet=="function"?WeakSet:Set;function hp(a,c){var _=c.source,T=c.stack;T===null&&_!==null&&(T=_r(_));var R={componentName:_!==null?qt(_.type):null,componentStack:T!==null?T:"",error:c.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1};a!==null&&a.tag===N&&(R.errorBoundary=a.stateNode,R.errorBoundaryName=qt(a.type),R.errorBoundaryFound=!0,R.willRetry=!0);try{n0(R)}catch(j){setTimeout(function(){throw j})}}var jm=function(a,c){Oi(a,"componentWillUnmount"),c.props=a.memoizedProps,c.state=a.memoizedState,c.componentWillUnmount(),gi()};function tv(a,c){if(sl(null,jm,null,a,c),Jn()){var _=Vs();Pf(a,_)}}function vp(a){var c=a.ref;if(c!==null)if(typeof c=="function"){if(sl(null,c,null,null),Jn()){var _=Vs();Pf(a,_)}}else c.current=null}function zm(a,c){if(sl(null,c,null),Jn()){var _=Vs();Pf(a,_)}}function mp(a,c){switch(c.tag){case L:case ge:case le:{_c(ym,wf,c);return}case N:{if(c.effectTag&Co&&a!==null){var _=a.memoizedProps,T=a.memoizedState;Oi(c,"getSnapshotBeforeUpdate");var R=c.stateNode;c.type===c.elementType&&!ma&&(R.props!==c.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"),R.state!==c.memoizedState&&Kt(!1,"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(c.type)||"instance"));var j=R.getSnapshotBeforeUpdate(c.elementType===c.type?_:bi(c.type,_),T);{var V=ev;j===void 0&&!V.has(c.type)&&(V.add(c.type),Ke(!1,"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.",qt(c.type)))}R.__reactInternalSnapshotBeforeUpdate=j,gi()}return}case U:case W:case ne:case q:case Ge:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function _c(a,c,_){var T=_.updateQueue,R=T!==null?T.lastEffect:null;if(R!==null){var j=R.next,V=j;do{if((V.tag&a)!==wf){var te=V.destroy;V.destroy=void 0,te!==void 0&&te()}if((V.tag&c)!==wf){var oe=V.create;V.destroy=oe();{var Ie=V.destroy;if(Ie!==void 0&&typeof Ie!="function"){var Ye=void 0;Ie===null?Ye=" You returned null. If your effect does not require clean up, return undefined (or nothing).":typeof Ie.then=="function"?Ye=` - -It looks like you wrote useEffect(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately: - -useEffect(() => { - async function fetchData() { - // You can await here - const response = await MyAPI.getData(someId); - // ... - } - fetchData(); -}, [someId]); // Or [] if effect doesn't need props or state - -Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching`:Ye=" You returned: "+Ie,Ke(!1,"An effect function must not return anything besides a function, which is used for clean-up.%s%s",Ye,_r(_))}}}V=V.next}while(V!==j)}}function Ea(a){if((a.effectTag&L0)!==_i)switch(a.tag){case L:case ge:case le:{_c(rr,wf,a),_c(wf,$c,a);break}default:break}}function yp(a,c,_,T){switch(_.tag){case L:case ge:case le:{_c(gm,ol,_);break}case N:{var R=_.stateNode;if(_.effectTag&mr)if(c===null)Oi(_,"componentDidMount"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidMount(),gi();else{var j=_.elementType===_.type?c.memoizedProps:bi(_.type,c.memoizedProps),V=c.memoizedState;Oi(_,"componentDidUpdate"),_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),R.componentDidUpdate(j,V,R.__reactInternalSnapshotBeforeUpdate),gi()}var te=_.updateQueue;te!==null&&(_.type===_.elementType&&!ma&&(R.props!==_.memoizedProps&&Kt(!1,"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance"),R.state!==_.memoizedState&&Kt(!1,"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.",qt(_.type)||"instance")),vo(_,te,R,T));return}case U:{var oe=_.updateQueue;if(oe!==null){var Ie=null;if(_.child!==null)switch(_.child.tag){case W:Ie=Ro(_.child.stateNode);break;case N:Ie=_.child.stateNode;break}vo(_,oe,Ie,T)}return}case W:{var Ye=_.stateNode;if(c===null&&_.effectTag&mr){var pt=_.type,Nt=_.memoizedProps;Pu(Ye,pt,Nt,_)}return}case ne:return;case q:return;case ze:{if(Zt){var Vt=_.memoizedProps.onRender;typeof Vt=="function"&&(Ln?Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl(),a.memoizedInteractions):Vt(_.memoizedProps.id,c===null?"mount":"update",_.actualDuration,_.treeBaseDuration,_.actualStartTime,kl()))}return}case pe:{Nl(a,_);return}case wt:case Ge:case xt:case $e:return;default:throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.")}}function M2(a,c){if(P0)for(var _=a;;){if(_.tag===W){var T=_.stateNode;c?Oa(T):Zs(_.stateNode,_.memoizedProps)}else if(_.tag===ne){var R=_.stateNode;c?p0(R):K0(R,_.memoizedProps)}else if(_.tag===pe&&_.memoizedState!==null&&_.memoizedState.dehydrated===null){var j=_.child.sibling;j.return=_,_=j;continue}else if(_.child!==null){_.child.return=_,_=_.child;continue}if(_===a)return;for(;_.sibling===null;){if(_.return===null||_.return===a)return;_=_.return}_.sibling.return=_.return,_=_.sibling}}function ku(a){var c=a.ref;if(c!==null){var _=a.stateNode,T;switch(a.tag){case W:T=Ro(_);break;default:T=_}Du&&a.tag===$e&&(T=_.methods),typeof c=="function"?c(T):(c.hasOwnProperty("current")||Ke(!1,"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().%s",qt(a.type),_r(a)),c.current=T)}}function zu(a){var c=a.ref;c!==null&&(typeof c=="function"?c(null):c.current=null)}function gp(a,c,_){switch(Rn(c),c.tag){case L:case ge:case Oe:case le:{var T=c.updateQueue;if(T!==null){var R=T.lastEffect;if(R!==null){var j=R.next,V=_>Wn?Wn:_;_n(V,function(){var $r=j;do{var wi=$r.destroy;wi!==void 0&&zm(c,wi),$r=$r.next}while($r!==j)})}}break}case N:{vp(c);var te=c.stateNode;typeof te.componentWillUnmount=="function"&&tv(c,te);return}case W:{if(ci){var oe=c.dependencies;if(oe!==null){var Ie=oe.responders;if(Ie!==null){for(var Ye=Array.from(Ie.values()),pt=0,Nt=Ye.length;pt component higher in the tree to provide a loading indicator or placeholder to display.`+_r(_))}Rp(),T=cp(T,_);var Nt=c;do{switch(Nt.tag){case U:{var Vt=T;Nt.effectTag|=f0,Nt.expirationTime=R;var zt=uv(Nt,Vt,R);r2(Nt,zt);return}case N:var vn=T,xr=Nt.type,$r=Nt.stateNode;if((Nt.effectTag&Hr)===_i&&(typeof xr.getDerivedStateFromError=="function"||$r!==null&&typeof $r.componentDidCatch=="function"&&!Lp($r))){Nt.effectTag|=f0,Nt.expirationTime=R;var wi=ov(Nt,vn,R);r2(Nt,wi);return}break;default:break}Nt=Nt.return}while(Nt!==null)}var wa=Math.ceil,Cr=at.ReactCurrentDispatcher,Ep=at.ReactCurrentOwner,fl=at.IsSomeRendererActing,cu=0,E1=1,ki=2,Dp=4,F2=8,Do=16,Ss=32,Mf=0,b2=1,wp=2,D1=3,w1=4,Sp=5,Zn=cu,cl=null,qn=null,q0=lt,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Tp=0,M0=500,fn=null,B2=!1,U2=null,Sc=null,Tc=!1,Cc=null,T1=y0,Cp=lt,Ka=null,Km=50,xc=0,j2=null,sv=50,C1=0,Nf=null,Lf=null,x1=lt;function Fl(){return(Zn&(Do|Ss))!==cu?Ju(vt()):(x1!==lt||(x1=Ju(vt())),x1)}function Ac(){return Ju(vt())}function Ff(a,c,_){var T=c.mode;if((T&Y)===Sr)return bn;var R=Xt();if((T&Qr)===Sr)return R===Ci?bn:Qu;if((Zn&Do)!==cu)return q0;var j;if(_!==null)j=ia(a,_.timeoutMs|0||pf);else switch(R){case Ci:j=bn;break;case Xr:j=La(a);break;case Wn:case Xu:j=ms(a);break;case m0:j=Qi;break;default:throw Error("Expected a valid priority level")}return cl!==null&&j===q0&&(j-=1),j}function Xm(a,c){hy(),gy(a);var _=z2(a,c);if(_===null){my(a);return}Up(a,c),ta();var T=Xt();if(c===bn?(Zn&F2)!==cu&&(Zn&(Do|Ss))===cu?(H(_,c),A1(_)):(Uo(_),H(_,c),Zn===cu&&It()):(Uo(_),H(_,c)),(Zn&Dp)!==cu&&(T===Xr||T===Ci))if(Ka===null)Ka=new Map([[_,c]]);else{var R=Ka.get(_);(R===void 0||R>c)&&Ka.set(_,c)}}var dl=Xm;function z2(a,c){a.expirationTimeR?T:R}function Uo(a){var c=a.lastExpiredTime;if(c!==lt){a.callbackExpirationTime=bn,a.callbackPriority=Ci,a.callbackNode=En(A1.bind(null,a));return}var _=q2(a),T=a.callbackNode;if(_===lt){T!==null&&(a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0);return}var R=Fl(),j=$1(R,_);if(T!==null){var V=a.callbackPriority,te=a.callbackExpirationTime;if(te===_&&V>=j)return;er(T)}a.callbackExpirationTime=_,a.callbackPriority=j;var oe;_===bn?oe=En(A1.bind(null,a)):oo?oe=yn(j,H2.bind(null,a)):oe=yn(j,H2.bind(null,a),{timeout:bo(_)-vt()}),a.callbackNode=oe}function H2(a,c){if(x1=lt,c){var _=Fl();return qp(a,_),Uo(a),null}var T=q2(a);if(T!==lt){var R=a.callbackNode;if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||T!==q0)&&(bf(a,T),ee(a,T)),qn!==null){var j=Zn;Zn|=Do;var V=pv(a),te=W2(a);ff(qn);do try{oy();break}catch(Ye){dv(a,Ye)}while(!0);if(mt(),Zn=j,hv(V),Ln&&V2(te),k0===b2){var oe=P2;throw Bp(),bf(a,T),Bf(a,T),Uo(a),oe}if(qn!==null)Bp();else{Tv();var Ie=a.finishedWork=a.current.alternate;a.finishedExpirationTime=T,Qm(a,Ie,k0,T)}if(Uo(a),a.callbackNode===R)return H2.bind(null,a)}}return null}function Qm(a,c,_,T){switch(cl=null,_){case Mf:case b2:throw Error("Root did not complete. This is a bug in React.");case wp:{qp(a,T>Qi?Qi:T);break}case D1:{Bf(a,T);var R=a.lastSuspendedTime;T===R&&(a.nextKnownPendingLevel=Op(c)),d();var j=Ll===bn;if(j&&!(Y0&&If.current)){var V=Tp+M0-vt();if(V>10){if(I2){var te=a.lastPingedTime;if(te===lt||te>=T){a.lastPingedTime=T,bf(a,T);break}}var oe=q2(a);if(oe!==lt&&oe!==T)break;if(R!==lt&&R!==T){a.lastPingedTime=R;break}a.timeoutHandle=St(r0.bind(null,a),V);break}}r0(a);break}case w1:{Bf(a,T);var Ie=a.lastSuspendedTime;if(T===Ie&&(a.nextKnownPendingLevel=Op(c)),d(),!(Y0&&If.current)){if(I2){var Ye=a.lastPingedTime;if(Ye===lt||Ye>=T){a.lastPingedTime=T,bf(a,T);break}}var pt=q2(a);if(pt!==lt&&pt!==T)break;if(Ie!==lt&&Ie!==T){a.lastPingedTime=Ie;break}var Nt;if(S1!==bn)Nt=bo(S1)-vt();else if(Ll===bn)Nt=0;else{var Vt=_v(Ll),zt=vt(),vn=bo(T)-zt,xr=zt-Vt;xr<0&&(xr=0),Nt=Pp(xr)-xr,vn10){a.timeoutHandle=St(r0.bind(null,a),Nt);break}}r0(a);break}case Sp:{if(!(Y0&&If.current)&&Ll!==bn&&Dc!==null){var $r=Ip(Ll,T,Dc);if($r>10){Bf(a,T),a.timeoutHandle=St(r0.bind(null,a),$r);break}}r0(a);break}default:throw Error("Unknown root exit status.")}}function A1(a){var c=a.lastExpiredTime,_=c!==lt?c:bn;if(a.finishedExpirationTime===_)r0(a);else{if((Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");if(Xa(),(a!==cl||_!==q0)&&(bf(a,_),ee(a,_)),qn!==null){var T=Zn;Zn|=Do;var R=pv(a),j=W2(a);ff(qn);do try{Ev();break}catch(te){dv(a,te)}while(!0);if(mt(),Zn=T,hv(R),Ln&&V2(j),k0===b2){var V=P2;throw Bp(),bf(a,_),Bf(a,_),Uo(a),V}if(qn!==null)throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");Tv(),a.finishedWork=a.current.alternate,a.finishedExpirationTime=_,Jm(a,k0,_),Uo(a)}}return null}function Jm(a,c,_){cl=null,(c===D1||c===w1)&&d(),r0(a)}function Zm(a,c){qp(a,c),Uo(a),(Zn&(Do|Ss))===cu&&It()}function av(){if((Zn&(E1|Do|Ss))!==cu){(Zn&Do)!==cu&&Kt(!1,"unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.");return}ey(),Xa()}function $m(a){return _n(Wn,a)}function fv(a,c,_,T){return _n(Ci,a.bind(null,c,_,T))}function ey(){if(Ka!==null){var a=Ka;Ka=null,a.forEach(function(c,_){qp(_,c),Uo(_)}),It()}}function ty(a,c){var _=Zn;Zn|=E1;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function ny(a,c){var _=Zn;Zn|=ki;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function cv(a,c,_,T){var R=Zn;Zn|=Dp;try{return _n(Xr,a.bind(null,c,_,T))}finally{Zn=R,Zn===cu&&It()}}function ry(a,c){var _=Zn;Zn&=~E1,Zn|=F2;try{return a(c)}finally{Zn=_,Zn===cu&&It()}}function xp(a,c){if((Zn&(Do|Ss))!==cu)throw Error("flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.");var _=Zn;Zn|=E1;try{return _n(Ci,a.bind(null,c))}finally{Zn=_,It()}}function iy(a){var c=Zn;Zn|=E1;try{_n(Ci,a)}finally{Zn=c,Zn===cu&&It()}}function bf(a,c){a.finishedWork=null,a.finishedExpirationTime=lt;var _=a.timeoutHandle;if(_!==Jo&&(a.timeoutHandle=Jo,so(_)),qn!==null)for(var T=qn.return;T!==null;)$h(T),T=T.return;cl=a,qn=wo(a.current,null,c),q0=c,k0=Mf,P2=null,Ll=bn,S1=bn,Dc=null,wc=lt,I2=!1,Ln&&(Lf=null),wl.discardPendingWarnings(),Ys=null}function dv(a,c){do{try{if(mt(),m2(),nt(),qn===null||qn.return===null)return k0=b2,P2=c,null;Zt&&qn.mode&Jr&&a1(qn,!0),lv(a,qn.return,qn,c,q0),qn=Dv(qn)}catch(_){c=_;continue}return}while(!0)}function pv(a){var c=Cr.current;return Cr.current=o1,c===null?o1:c}function hv(a){Cr.current=a}function W2(a){if(Ln){var c=k.__interactionsRef.current;return k.__interactionsRef.current=a.memoizedInteractions,c}return null}function V2(a){Ln&&(k.__interactionsRef.current=a)}function Ap(){Tp=vt()}function vv(a,c){aQi&&(Ll=a),c!==null&&aQi&&(S1=a,Dc=c)}function G2(a){a>wc&&(wc=a)}function mv(){k0===Mf&&(k0=D1)}function yv(){(k0===Mf||k0===D1)&&(k0=w1),wc!==lt&&cl!==null&&(Bf(cl,q0),o_(cl,wc))}function Rp(){k0!==Sp&&(k0=wp)}function gv(){return k0===Mf}function _v(a){var c=bo(a);return c-pf}function uy(a,c){var _=bo(a);return _-(c.timeoutMs|0||pf)}function Ev(){for(;qn!==null;)qn=Y2(qn)}function oy(){for(;qn!==null&&!kn();)qn=Y2(qn)}function Y2(a){var c=a.alternate;Kl(a),_t(a);var _;return Zt&&(a.mode&Jr)!==Sr?(zd(a),_=R1(c,a,q0),a1(a,!0)):_=R1(c,a,q0),nt(),a.memoizedProps=a.pendingProps,_===null&&(_=Dv(a)),Ep.current=null,_}function Dv(a){qn=a;do{var c=qn.alternate,_=qn.return;if((qn.effectTag&F0)===_i){_t(qn);var T=void 0;if(!Zt||(qn.mode&Jr)===Sr?T=Zh(c,qn,q0):(zd(qn),T=Zh(c,qn,q0),a1(qn,!1)),Yr(qn),nt(),ly(qn),T!==null)return T;if(_!==null&&(_.effectTag&F0)===_i){_.firstEffect===null&&(_.firstEffect=qn.firstEffect),qn.lastEffect!==null&&(_.lastEffect!==null&&(_.lastEffect.nextEffect=qn.firstEffect),_.lastEffect=qn.lastEffect);var R=qn.effectTag;R>eu&&(_.lastEffect!==null?_.lastEffect.nextEffect=qn:_.firstEffect=qn,_.lastEffect=qn)}}else{var j=Pm(qn,q0);if(Zt&&(qn.mode&Jr)!==Sr){a1(qn,!1);for(var V=qn.actualDuration,te=qn.child;te!==null;)V+=te.actualDuration,te=te.sibling;qn.actualDuration=V}if(j!==null)return fo(qn),j.effectTag&=Hl,j;Yr(qn),_!==null&&(_.firstEffect=_.lastEffect=null,_.effectTag|=F0)}var oe=qn.sibling;if(oe!==null)return oe;qn=_}while(qn!==null);return k0===Mf&&(k0=Sp),null}function Op(a){var c=a.expirationTime,_=a.childExpirationTime;return c>_?c:_}function ly(a){if(!(q0!==hi&&a.childExpirationTime===hi)){var c=lt;if(Zt&&(a.mode&Jr)!==Sr){for(var _=a.actualDuration,T=a.selfBaseDuration,R=a.alternate===null||a.child!==a.alternate.child,j=a.child;j!==null;){var V=j.expirationTime,te=j.childExpirationTime;V>c&&(c=V),te>c&&(c=te),R&&(_+=j.actualDuration),T+=j.treeBaseDuration,j=j.sibling}a.actualDuration=_,a.treeBaseDuration=T}else for(var oe=a.child;oe!==null;){var Ie=oe.expirationTime,Ye=oe.childExpirationTime;Ie>c&&(c=Ie),Ye>c&&(c=Ye),oe=oe.sibling}a.childExpirationTime=c}}function r0(a){var c=Xt();return _n(Ci,kp.bind(null,a,c)),null}function kp(a,c){do Xa();while(Cc!==null);if(vy(),(Zn&(Do|Ss))!==cu)throw Error("Should not already be working.");var _=a.finishedWork,T=a.finishedExpirationTime;if(_===null)return null;if(a.finishedWork=null,a.finishedExpirationTime=lt,_===a.current)throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");a.callbackNode=null,a.callbackExpirationTime=lt,a.callbackPriority=y0,a.nextKnownPendingLevel=lt,J0();var R=Op(_);iE(a,T,R),a===cl&&(cl=null,qn=null,q0=lt);var j;if(_.effectTag>eu?_.lastEffect!==null?(_.lastEffect.nextEffect=_,j=_.firstEffect):j=_:j=_.firstEffect,j!==null){var V=Zn;Zn|=Ss;var te=W2(a);Ep.current=null,Te(),Bn(a.containerInfo),fn=j;do if(sl(null,sy,null),Jn()){if(fn===null)throw Error("Should be working on an effect.");var oe=Vs();Pf(fn,oe),fn=fn.nextEffect}while(fn!==null);et(),Zt&&Oh(),Ve(),fn=j;do if(sl(null,ay,null,a,c),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ie=Vs();Pf(fn,Ie),fn=fn.nextEffect}while(fn!==null);Gt(),Ir(a.containerInfo),a.current=_,Yt(),fn=j;do if(sl(null,Mp,null,a,T),Jn()){if(fn===null)throw Error("Should be working on an effect.");var Ye=Vs();Pf(fn,Ye),fn=fn.nextEffect}while(fn!==null);sr(),fn=null,se(),Ln&&V2(te),Zn=V}else a.current=_,Te(),et(),Zt&&Oh(),Ve(),Gt(),Yt(),sr();Z0();var pt=Tc;if(Tc)Tc=!1,Cc=a,Cp=T,T1=c;else for(fn=j;fn!==null;){var Nt=fn.nextEffect;fn.nextEffect=null,fn=Nt}var Vt=a.firstPendingTime;if(Vt!==lt){if(Ln){if(Lf!==null){var zt=Lf;Lf=null;for(var vn=0;vnWn?Wn:T1;return T1=y0,_n(a,Np)}}function Np(){if(Cc===null)return!1;var a=Cc,c=Cp;if(Cc=null,Cp=lt,(Zn&(Do|Ss))!==cu)throw Error("Cannot flush passive effects while already rendering.");var _=Zn;Zn|=Ss;for(var T=W2(a),R=a.current.firstEffect;R!==null;){{if(_t(R),sl(null,Ea,null,R),Jn()){if(R===null)throw Error("Should be working on an effect.");var j=Vs();Pf(R,j)}nt()}var V=R.nextEffect;R.nextEffect=null,R=V}return Ln&&(V2(T),de(a,c)),Zn=_,It(),C1=Cc===null?0:C1+1,!0}function Lp(a){return Sc!==null&&Sc.has(a)}function Fp(a){Sc===null?Sc=new Set([a]):Sc.add(a)}function fy(a){B2||(B2=!0,U2=a)}var cy=fy;function wv(a,c,_){var T=cp(_,c),R=uv(a,T,bn);Ua(a,R);var j=z2(a,bn);j!==null&&(Uo(j),H(j,bn))}function Pf(a,c){if(a.tag===U){wv(a,a,c);return}for(var _=a.return;_!==null;){if(_.tag===U){wv(_,a,c);return}else if(_.tag===N){var T=_.type,R=_.stateNode;if(typeof T.getDerivedStateFromError=="function"||typeof R.componentDidCatch=="function"&&!Lp(R)){var j=cp(c,a),V=ov(_,j,bn);Ua(_,V);var te=z2(_,bn);te!==null&&(Uo(te),H(te,bn));return}}_=_.return}}function bp(a,c,_){var T=a.pingCache;if(T!==null&&T.delete(c),cl===a&&q0===_){k0===w1||k0===D1&&Ll===bn&&vt()-TpKm)throw xc=0,j2=null,Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");C1>sv&&(C1=0,Kt(!1,"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render."))}function vy(){wl.flushLegacyContextWarning(),fi&&wl.flushPendingUnsafeLifecycleWarnings()}function Tv(){var a=!0;cf(Nf,a),Nf=null}function Bp(){var a=!1;cf(Nf,a),Nf=null}function Up(a,c){Pr&&cl!==null&&c>q0&&(Nf=a)}var K2=null;function my(a){{var c=a.tag;if(c!==U&&c!==N&&c!==L&&c!==ge&&c!==Oe&&c!==le)return;var _=qt(a.type)||"ReactComponent";if(K2!==null){if(K2.has(_))return;K2.add(_)}else K2=new Set([_]);Ke(!1,"Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s",c===N?"the componentWillUnmount method":"a useEffect cleanup function",_r(a))}}var R1;if(G0){var yy=null;R1=function(a,c,_){var T=i_(yy,c);try{return op(a,c,_)}catch(j){if(j!==null&&typeof j=="object"&&typeof j.then=="function")throw j;if(mt(),m2(),$h(c),i_(c,T),Zt&&c.mode&Jr&&zd(c),sl(null,op,null,a,c,_),Jn()){var R=Vs();throw R}else throw j}}}else R1=op;var Cv=!1,xv=!1;function gy(a){if(a.tag===N)switch(Ar){case"getChildContext":if(xv)return;Ke(!1,"setState(...): Cannot call setState() inside getChildContext()"),xv=!0;break;case"render":if(Cv)return;Ke(!1,"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."),Cv=!0;break}}var If={current:!1};function jp(a){fs===!0&&fl.current===!0&&If.current!==!0&&Ke(!1,`It looks like you're using the wrong act() around your test interactions. -Be sure to use the matching version of act() corresponding to your renderer: - -// for react-dom: -import {act} from 'react-dom/test-utils'; -// ... -act(() => ...); - -// for react-test-renderer: -import TestRenderer from 'react-test-renderer'; -const {act} = TestRenderer; -// ... -act(() => ...);%s`,_r(a))}function Av(a){fs===!0&&(a.mode&cr)!==Sr&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s ran an effect, but was not wrapped in act(...). - -When testing, code that causes React state updates should be wrapped into act(...): - -act(() => { - /* fire events that update state */ -}); -/* assert on the output */ - -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}function _y(a){fs===!0&&Zn===cu&&fl.current===!1&&If.current===!1&&Ke(!1,`An update to %s inside a test was not wrapped in act(...). - -When testing, code that causes React state updates should be wrapped into act(...): - -act(() => { - /* fire events that update state */ -}); -/* assert on the output */ - -This ensures that you're testing the behavior the user would see in the browser. Learn more at https://fb.me/react-wrap-tests-with-act%s`,qt(a.type),_r(a))}var Ey=_y,zp=!1;function Dy(a){zp===!1&&t.unstable_flushAllWithoutAsserting===void 0&&(a.mode&Y||a.mode&Qr?(zp=!0,Ke(!1,`In Concurrent or Sync modes, the "scheduler" module needs to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: -jest.mock('scheduler', () => require('scheduler/unstable_mock')); - -For more info, visit https://fb.me/react-mock-scheduler`)):Yi===!0&&(zp=!0,Ke(!1,`Starting from React v17, the "scheduler" module will need to be mocked to guarantee consistent behaviour across tests and browsers. For example, with jest: -jest.mock('scheduler', () => require('scheduler/unstable_mock')); - -For more info, visit https://fb.me/react-mock-scheduler`)))}var Ys=null;function wy(a){{var c=Xt();if((a.mode&Qr)!==_i&&(c===Xr||c===Ci))for(var _=a;_!==null;){var T=_.alternate;if(T!==null)switch(_.tag){case N:var R=T.updateQueue;if(R!==null)for(var j=R.firstUpdate;j!==null;){var V=j.priority;if(V===Xr||V===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}j=j.next}break;case L:case ge:case le:if(_.memoizedState!==null&&_.memoizedState.baseUpdate!==null)for(var te=_.memoizedState.baseUpdate;te!==null;){var oe=te.priority;if(oe===Xr||oe===Ci){Ys===null?Ys=new Set([qt(_.type)]):Ys.add(qt(_.type));break}if(te.next===_.memoizedState.baseUpdate)break;te=te.next}break;default:break}_=_.return}}}function d(){if(Ys!==null){var a=[];Ys.forEach(function(c){return a.push(c)}),Ys=null,a.length>0&&Ke(!1,`%s triggered a user-blocking update that suspended. - -The fix is to split the update into multiple parts: a user-blocking update to provide immediate feedback, and another update that triggers the bulk of the changes. - -Refer to the documentation for useTransition to learn how to implement this pattern.`,a.sort().join(", "))}}function v(a,c){return c*1e3+a.interactionThreadID}function x(a){!Ln||(Lf===null?Lf=[a]:Lf.push(a))}function b(a,c,_){if(!!Ln&&_.size>0){var T=a.pendingInteractionMap,R=T.get(c);R!=null?_.forEach(function(te){R.has(te)||te.__count++,R.add(te)}):(T.set(c,new Set(_)),_.forEach(function(te){te.__count++}));var j=k.__subscriberRef.current;if(j!==null){var V=v(a,c);j.onWorkScheduled(_,V)}}}function H(a,c){!Ln||b(a,c,k.__interactionsRef.current)}function ee(a,c){if(!!Ln){var _=new Set;if(a.pendingInteractionMap.forEach(function(j,V){V>=c&&j.forEach(function(te){return _.add(te)})}),a.memoizedInteractions=_,_.size>0){var T=k.__subscriberRef.current;if(T!==null){var R=v(a,c);try{T.onWorkStarted(_,R)}catch(j){yn(Ci,function(){throw j})}}}}}function de(a,c){if(!!Ln){var _=a.firstPendingTime,T;try{if(T=k.__subscriberRef.current,T!==null&&a.memoizedInteractions.size>0){var R=v(a,c);T.onWorkStopped(a.memoizedInteractions,R)}}catch(V){yn(Ci,function(){throw V})}finally{var j=a.pendingInteractionMap;j.forEach(function(V,te){te>_&&(j.delete(te),V.forEach(function(oe){if(oe.__count--,T!==null&&oe.__count===0)try{T.onInteractionScheduledWorkCompleted(oe)}catch(Ie){yn(Ci,function(){throw Ie})}}))})}}}var ye=null,be=null,gt=!1,Dt=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined";function Rt(a){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")return!1;var c=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(c.isDisabled)return!0;if(!c.supportsFiber)return Ke(!1,"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://fb.me/react-devtools"),!0;try{var _=c.inject(a);ye=function(T,R){try{var j=(T.current.effectTag&Hr)===Hr;if(Zt){var V=Ac(),te=$1(V,R);c.onCommitFiberRoot(_,T,te,j)}else c.onCommitFiberRoot(_,T,void 0,j)}catch(oe){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",oe))}},be=function(T){try{c.onCommitFiberUnmount(_,T)}catch(R){gt||(gt=!0,Ke(!1,"React DevTools encountered an error: %s",R))}}}catch(T){Ke(!1,"React DevTools encountered an error: %s.",T)}return!0}function rn(a,c){typeof ye=="function"&&ye(a,c)}function Rn(a){typeof be=="function"&&be(a)}var $n;{$n=!1;try{var Nr=Object.preventExtensions({}),ir=new Map([[Nr,null]]),Zr=new Set([Nr]);ir.set(0,0),Zr.add(0)}catch(a){$n=!0}}var ui=1;function bl(a,c,_,T){this.tag=a,this.key=_,this.elementType=null,this.type=null,this.stateNode=null,this.return=null,this.child=null,this.sibling=null,this.index=0,this.ref=null,this.pendingProps=c,this.memoizedProps=null,this.updateQueue=null,this.memoizedState=null,this.dependencies=null,this.mode=T,this.effectTag=_i,this.nextEffect=null,this.firstEffect=null,this.lastEffect=null,this.expirationTime=lt,this.childExpirationTime=lt,this.alternate=null,Zt&&(this.actualDuration=Number.NaN,this.actualStartTime=Number.NaN,this.selfBaseDuration=Number.NaN,this.treeBaseDuration=Number.NaN,this.actualDuration=0,this.actualStartTime=-1,this.selfBaseDuration=0,this.treeBaseDuration=0),Pr&&(this._debugID=ui++,this._debugIsCurrentlyTiming=!1),this._debugSource=null,this._debugOwner=null,this._debugNeedsRemount=!1,this._debugHookTypes=null,!$n&&typeof Object.preventExtensions=="function"&&Object.preventExtensions(this)}var Wi=function(a,c,_,T){return new bl(a,c,_,T)};function uo(a){var c=a.prototype;return!!(c&&c.isReactComponent)}function i0(a){return typeof a=="function"&&!uo(a)&&a.defaultProps===void 0}function Ts(a){if(typeof a=="function")return uo(a)?N:L;if(a!=null){var c=a.$$typeof;if(c===An)return ge;if(c===Wt)return Oe}return C}function wo(a,c,_){var T=a.alternate;T===null?(T=Wi(a.tag,c,a.key,a.mode),T.elementType=a.elementType,T.type=a.type,T.stateNode=a.stateNode,T._debugID=a._debugID,T._debugSource=a._debugSource,T._debugOwner=a._debugOwner,T._debugHookTypes=a._debugHookTypes,T.alternate=a,a.alternate=T):(T.pendingProps=c,T.effectTag=_i,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null,Zt&&(T.actualDuration=0,T.actualStartTime=-1)),T.childExpirationTime=a.childExpirationTime,T.expirationTime=a.expirationTime,T.child=a.child,T.memoizedProps=a.memoizedProps,T.memoizedState=a.memoizedState,T.updateQueue=a.updateQueue;var R=a.dependencies;switch(T.dependencies=R===null?null:{expirationTime:R.expirationTime,firstContext:R.firstContext,responders:R.responders},T.sibling=a.sibling,T.index=a.index,T.ref=a.ref,Zt&&(T.selfBaseDuration=a.selfBaseDuration,T.treeBaseDuration=a.treeBaseDuration),T._debugNeedsRemount=a._debugNeedsRemount,T.tag){case C:case L:case le:T.type=Zu(a.type);break;case N:T.type=U0(a.type);break;case ge:T.type=vf(a.type);break;default:break}return T}function Rv(a,c){a.effectTag&=ai,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null;var _=a.alternate;if(_===null)a.childExpirationTime=lt,a.expirationTime=c,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,Zt&&(a.selfBaseDuration=0,a.treeBaseDuration=0);else{a.childExpirationTime=_.childExpirationTime,a.expirationTime=_.expirationTime,a.child=_.child,a.memoizedProps=_.memoizedProps,a.memoizedState=_.memoizedState,a.updateQueue=_.updateQueue;var T=_.dependencies;a.dependencies=T===null?null:{expirationTime:T.expirationTime,firstContext:T.firstContext,responders:T.responders},Zt&&(a.selfBaseDuration=_.selfBaseDuration,a.treeBaseDuration=_.treeBaseDuration)}return a}function X4(a){var c;return a===R0?c=Qr|Y|cr:a===I0?c=Y|cr:c=Sr,Zt&&Dt&&(c|=Jr),Wi(U,null,null,c)}function Sy(a,c,_,T,R,j){var V,te=C,oe=a;if(typeof a=="function")uo(a)?(te=N,oe=U0(oe)):oe=Zu(oe);else if(typeof a=="string")te=W;else{e:switch(a){case ue:return Qa(_.children,R,j,c);case ln:te=we,R|=Qr|Y|cr;break;case je:te=we,R|=cr;break;case ct:return J4(_,R,j,c);case nr:return Z4(_,R,j,c);case un:return $4(_,R,j,c);default:{if(typeof a=="object"&&a!==null)switch(a.$$typeof){case At:te=he;break e;case en:te=Se;break e;case An:te=ge,oe=vf(oe);break e;case Wt:te=Oe;break e;case vr:te=Ue,oe=null;break e;case w:if(Ht)return r_(a,_,R,j,c);break;case Vn:if(Du)return Q4(a,_,R,j,c)}var Ie="";{(a===void 0||typeof a=="object"&&a!==null&&Object.keys(a).length===0)&&(Ie+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Ye=T?qt(T.type):null;Ye&&(Ie+=` - -Check the render method of \``+Ye+"`.")}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(a==null?a:typeof a)+"."+Ie)}}}return V=Wi(te,_,c,R),V.elementType=a,V.type=oe,V.expirationTime=j,V}function Ty(a,c,_){var T=null;T=a._owner;var R=a.type,j=a.key,V=a.props,te=Sy(R,j,V,T,c,_);return te._debugSource=a._source,te._debugOwner=a._owner,te}function Qa(a,c,_,T){var R=Wi(m,a,T,c);return R.expirationTime=_,R}function r_(a,c,_,T,R){var j=Wi(xt,c,R,_);return j.elementType=a,j.type=a,j.expirationTime=T,j}function Q4(a,c,_,T,R){var j=Wi($e,c,R,_);return j.type=a,j.elementType=a,j.expirationTime=T,j}function J4(a,c,_,T){(typeof a.id!="string"||typeof a.onRender!="function")&&Ke(!1,'Profiler must specify an "id" string and "onRender" function as props');var R=Wi(ze,a,T,c|Jr);return R.elementType=ct,R.type=ct,R.expirationTime=_,R}function Z4(a,c,_,T){var R=Wi(pe,a,T,c);return R.type=nr,R.elementType=nr,R.expirationTime=_,R}function $4(a,c,_,T){var R=Wi(wt,a,T,c);return R.type=un,R.elementType=un,R.expirationTime=_,R}function Cy(a,c,_){var T=Wi(ne,a,null,c);return T.expirationTime=_,T}function eE(){var a=Wi(W,null,null,Sr);return a.elementType="DELETED",a.type="DELETED",a}function tE(a){var c=Wi(rt,null,null,Sr);return c.stateNode=a,c}function xy(a,c,_){var T=a.children!==null?a.children:[],R=Wi(q,T,a.key,c);return R.expirationTime=_,R.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},R}function i_(a,c){return a===null&&(a=Wi(C,null,null,Sr)),a.tag=c.tag,a.key=c.key,a.elementType=c.elementType,a.type=c.type,a.stateNode=c.stateNode,a.return=c.return,a.child=c.child,a.sibling=c.sibling,a.index=c.index,a.ref=c.ref,a.pendingProps=c.pendingProps,a.memoizedProps=c.memoizedProps,a.updateQueue=c.updateQueue,a.memoizedState=c.memoizedState,a.dependencies=c.dependencies,a.mode=c.mode,a.effectTag=c.effectTag,a.nextEffect=c.nextEffect,a.firstEffect=c.firstEffect,a.lastEffect=c.lastEffect,a.expirationTime=c.expirationTime,a.childExpirationTime=c.childExpirationTime,a.alternate=c.alternate,Zt&&(a.actualDuration=c.actualDuration,a.actualStartTime=c.actualStartTime,a.selfBaseDuration=c.selfBaseDuration,a.treeBaseDuration=c.treeBaseDuration),a._debugID=c._debugID,a._debugSource=c._debugSource,a._debugOwner=c._debugOwner,a._debugIsCurrentlyTiming=c._debugIsCurrentlyTiming,a._debugNeedsRemount=c._debugNeedsRemount,a._debugHookTypes=c._debugHookTypes,a}function nE(a,c,_){this.tag=c,this.current=null,this.containerInfo=a,this.pendingChildren=null,this.pingCache=null,this.finishedExpirationTime=lt,this.finishedWork=null,this.timeoutHandle=Jo,this.context=null,this.pendingContext=null,this.hydrate=_,this.callbackNode=null,this.callbackPriority=y0,this.firstPendingTime=lt,this.firstSuspendedTime=lt,this.lastSuspendedTime=lt,this.nextKnownPendingLevel=lt,this.lastPingedTime=lt,this.lastExpiredTime=lt,Ln&&(this.interactionThreadID=k.unstable_getThreadID(),this.memoizedInteractions=new Set,this.pendingInteractionMap=new Map),Ui&&(this.hydrationCallbacks=null)}function rE(a,c,_,T){var R=new nE(a,c,_);Ui&&(R.hydrationCallbacks=T);var j=X4(c);return R.current=j,j.stateNode=R,R}function u_(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;return _!==lt&&_>=c&&T<=c}function Bf(a,c){var _=a.firstSuspendedTime,T=a.lastSuspendedTime;_c||_===lt)&&(a.lastSuspendedTime=c),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function o_(a,c){var _=a.firstPendingTime;c>_&&(a.firstPendingTime=c);var T=a.firstSuspendedTime;T!==lt&&(c>=T?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c>=a.lastSuspendedTime&&(a.lastSuspendedTime=c+1),c>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=c))}function iE(a,c,_){a.firstPendingTime=_,c<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=lt:c<=a.firstSuspendedTime&&(a.firstSuspendedTime=c-1),c<=a.lastPingedTime&&(a.lastPingedTime=lt),c<=a.lastExpiredTime&&(a.lastExpiredTime=lt)}function qp(a,c){var _=a.lastExpiredTime;(_===lt||_>c)&&(a.lastExpiredTime=c)}var uE={debugTool:null},Ov=uE,Ay,Ry;Ay=!1,Ry={};function oE(a){if(!a)return Sn;var c=jt(a),_=El(c);if(c.tag===N){var T=c.type;if(zi(T))return A0(c,T,_)}return _}function Oy(a){var c=jt(a);if(c===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var _=b0(c);return _===null?null:_.stateNode}function lE(a,c){{var _=jt(a);if(_===void 0)throw typeof a.render=="function"?Error("Unable to find node on an unmounted component."):Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(a));var T=b0(_);if(T===null)return null;if(T.mode&cr){var R=qt(_.type)||"Component";Ry[R]||(Ry[R]=!0,_.mode&cr?Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which is inside StrictMode. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)):Ke(!1,"%s is deprecated in StrictMode. %s was passed an instance of %s which renders StrictMode children. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://fb.me/react-strict-mode-find-node%s",c,c,R,_r(T)))}return T.stateNode}return Oy(a)}function sE(a,c,_,T){return rE(a,c,_,T)}function l_(a,c,_,T){var R=c.current,j=Fl();typeof jest!="undefined"&&(Dy(R),jp(R));var V=mo(),te=Ff(j,R,V);Ov.debugTool&&(R.alternate===null?Ov.debugTool.onMountContainer(c):a===null?Ov.debugTool.onUnmountContainer(c):Ov.debugTool.onUpdateContainer(c));var oe=oE(_);c.context===null?c.context=oe:c.pendingContext=oe,Ar==="render"&&Cn!==null&&!Ay&&(Ay=!0,Ke(!1,`Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate. - -Check the render method of %s.`,qt(Cn.type)||"Unknown"));var Ie=gu(te,V);return Ie.payload={element:a},T=T===void 0?null:T,T!==null&&(typeof T!="function"&&Ke(!1,"render(...): Expected the last optional `callback` argument to be a function. Instead received: %s.",T),Ie.callback=T),Ua(R,Ie),dl(R,te),te}function aE(a){var c=a.current;if(!c.child)return null;switch(c.child.tag){case W:return Ro(c.child.stateNode);default:return c.child.stateNode}}function fE(a){switch(a.tag){case U:var c=a.stateNode;c.hydrate&&Zm(c,c.firstPendingTime);break;case pe:xp(function(){return dl(a,bn)});var _=La(Fl());kv(a,_);break}}function s_(a,c){var _=a.memoizedState;_!==null&&_.dehydrated!==null&&_.retryTime=c.length)return T;var R=c[_],j=Array.isArray(a)?a.slice():f({},a);return j[R]=Ny(a[R],c,_+1,T),j},h_=function(a,c,_){return Ny(a,c,0,_)};f_=function(a,c,_,T){for(var R=a.memoizedState;R!==null&&c>0;)R=R.next,c--;if(R!==null){var j=h_(R.memoizedState,_,T);R.memoizedState=j,R.baseState=j,a.memoizedProps=f({},a.memoizedProps),dl(a,bn)}},c_=function(a,c,_){a.pendingProps=h_(a.memoizedProps,c,_),a.alternate&&(a.alternate.pendingProps=a.pendingProps),dl(a,bn)},d_=function(a){dl(a,bn)},p_=function(a){My=a}}function hE(a){var c=a.findFiberByHostInstance,_=at.ReactCurrentDispatcher;return Rt(f({},a,{overrideHookState:f_,overrideProps:c_,setSuspenseHandler:p_,scheduleUpdate:d_,currentDispatcherRef:_,findHostInstanceByFiber:function(T){var R=b0(T);return R===null?null:R.stateNode},findFiberByHostInstance:function(T){return c?c(T):null},findHostInstancesForRefresh:n2,scheduleRefresh:Sl,scheduleRoot:_s,setRefreshHandler:Ia,getCurrentFiber:function(){return Cn}}))}var v_=Object.freeze({createContainer:sE,updateContainer:l_,batchedEventUpdates:ny,batchedUpdates:ty,unbatchedUpdates:ry,deferredUpdates:$m,syncUpdates:fv,discreteUpdates:cv,flushDiscreteUpdates:av,flushControlled:iy,flushSync:xp,flushPassiveEffects:Xa,IsThisRendererActing:If,getPublicRootInstance:aE,attemptSynchronousHydration:fE,attemptUserBlockingHydration:cE,attemptContinuousHydration:ky,attemptHydrationAtCurrentPriority:dE,findHostInstance:Oy,findHostInstanceWithWarning:lE,findHostInstanceWithNoPortals:pE,shouldSuspend:a_,injectIntoDevTools:hE}),vE=v_.default||v_;hg.exports=vE;var mE=hg.exports;return hg.exports=i,mE})});var D9=ce((zne,cw)=>{"use strict";process.env.NODE_ENV==="production"?cw.exports=m9():cw.exports=E9()});var S9=ce((qne,w9)=>{"use strict";var ZK={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};w9.exports=ZK});var A9=ce((Hne,T9)=>{"use strict";var $K=Object.assign||function(i){for(var o=1;o"}}]),i}(),C9=function(){v4(i,null,[{key:"fromJS",value:function(f){var p=f.width,E=f.height;return new i(p,E)}}]);function i(o,f){pw(this,i),this.width=o,this.height=f}return v4(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),x9=function(){function i(o,f){pw(this,i),this.unit=o,this.value=f}return v4(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case Jf.UNIT_POINT:return String(this.value);case Jf.UNIT_PERCENT:return this.value+"%";case Jf.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();T9.exports=function(i,o){function f(k,L,N){var C=k[L];k[L]=function(){for(var U=arguments.length,q=Array(U),W=0;W1?q-1:0),ne=1;ne1&&arguments[1]!==void 0?arguments[1]:NaN,N=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:Jf.DIRECTION_LTR;return k.call(this,L,N,C)}),$K({Config:o.Config,Node:o.Node,Layout:i("Layout",eX),Size:i("Size",C9),Value:i("Value",x9),getInstanceCount:function(){return o.getInstanceCount.apply(o,arguments)}},Jf)}});var R9=ce((exports,module)=>{(function(i,o){typeof define=="function"&&define.amd?define([],function(){return o}):typeof module=="object"&&module.exports?module.exports=o:(i.nbind=i.nbind||{}).init=o})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,o){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){o(f);return}o(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(o,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),o=nodePath.normalize(o);var p=nodeFS.readFileSync(o);return f?p:p.toString()},Module.readBinary=function(o){var f=Module.read(o,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(o){globalEval(read(o))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(o){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(o));var f=read(o,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,o){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(o){var f=new XMLHttpRequest;return f.open("GET",o,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(o,f,p){var E=new XMLHttpRequest;E.open("GET",o,!0),E.responseType="arraybuffer",E.onload=function(){E.status==200||E.status==0&&E.response?f(E.response):p()},E.onerror=p,E.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(o){console.log(o)}),Module.printErr||(Module.printErr=function(o){console.warn(o)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(o){globalEval(Module.read(o))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,o){throw o}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var o=parseInt(i.substr(1));return assert(o%8==0),o/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,o){return o==="double"||o==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,o,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(o||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(o,8)},dynCall:function(i,o,f){return f&&f.length?Module["dynCall_"+i].apply(null,[o].concat(f)):Module["dynCall_"+i].call(null,o)},functionPointers:[],addFunction:function(i){for(var o=0;o>2],f=(o+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var p=enlargeMemory();if(!p)return HEAP32[DYNAMICTOP_PTR>>2]=o,0}return o},alignMemory:function(i,o){var f=i=Math.ceil(i/(o||16))*(o||16);return f},makeBigInt:function(i,o,f){var p=f?+(i>>>0)+ +(o>>>0)*4294967296:+(i>>>0)+ +(o|0)*4294967296;return p},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,o){i||abort("Assertion failed: "+o)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var o=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,o),o},stringToC:function(i){var o=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;o=Runtime.stackAlloc(f),stringToUTF8(i,o,f)}return o}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(o,f,p,E,t){var k=getCFunc(o),L=[],N=0;if(E)for(var C=0;C>0]=o;break;case"i8":HEAP8[i>>0]=o;break;case"i16":HEAP16[i>>1]=o;break;case"i32":HEAP32[i>>2]=o;break;case"i64":tempI64=[o>>>0,(tempDouble=o,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=o;break;case"double":HEAPF64[i>>3]=o;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,o,f){switch(o=o||"i8",o.charAt(o.length-1)==="*"&&(o="i32"),o){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+o)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,o,f,p){var E,t;typeof i=="number"?(E=!0,t=i):(E=!1,t=i.length);var k=typeof o=="string"?o:null,L;if(f==ALLOC_NONE?L=p:L=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,k?1:o.length)),E){var p=L,N;for(assert((L&3)==0),N=L+(t&~3);p>2]=0;for(N=L+t;p>0]=0;return L}if(k==="i8")return i.subarray||i.slice?HEAPU8.set(i,L):HEAPU8.set(new Uint8Array(i),L),L;for(var C=0,U,q,W;C>0],f|=p,!(p==0&&!o||(E++,o&&E==o)););o||(o=E);var t="";if(f<128){for(var k=1024,L;o>0;)L=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(o,k))),t=t?t+L:L,i+=k,o-=k;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var o="";;){var f=HEAP8[i++>>0];if(!f)return o;o+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,o){return writeAsciiToMemory(i,o,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,o){for(var f=o;i[f];)++f;if(f-o>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(o,f));for(var p,E,t,k,L,N,C="";;){if(p=i[o++],!p)return C;if(!(p&128)){C+=String.fromCharCode(p);continue}if(E=i[o++]&63,(p&224)==192){C+=String.fromCharCode((p&31)<<6|E);continue}if(t=i[o++]&63,(p&240)==224?p=(p&15)<<12|E<<6|t:(k=i[o++]&63,(p&248)==240?p=(p&7)<<18|E<<12|t<<6|k:(L=i[o++]&63,(p&252)==248?p=(p&3)<<24|E<<18|t<<12|k<<6|L:(N=i[o++]&63,p=(p&1)<<30|E<<24|t<<18|k<<12|L<<6|N))),p<65536)C+=String.fromCharCode(p);else{var U=p-65536;C+=String.fromCharCode(55296|U>>10,56320|U&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,o,f,p){if(!(p>0))return 0;for(var E=f,t=f+p-1,k=0;k=55296&&L<=57343&&(L=65536+((L&1023)<<10)|i.charCodeAt(++k)&1023),L<=127){if(f>=t)break;o[f++]=L}else if(L<=2047){if(f+1>=t)break;o[f++]=192|L>>6,o[f++]=128|L&63}else if(L<=65535){if(f+2>=t)break;o[f++]=224|L>>12,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=2097151){if(f+3>=t)break;o[f++]=240|L>>18,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else if(L<=67108863){if(f+4>=t)break;o[f++]=248|L>>24,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}else{if(f+5>=t)break;o[f++]=252|L>>30,o[f++]=128|L>>24&63,o[f++]=128|L>>18&63,o[f++]=128|L>>12&63,o[f++]=128|L>>6&63,o[f++]=128|L&63}}return o[f]=0,f-E}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,o,f){return stringToUTF8Array(i,HEAPU8,o,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var o=0,f=0;f=55296&&p<=57343&&(p=65536+((p&1023)<<10)|i.charCodeAt(++f)&1023),p<=127?++o:p<=2047?o+=2:p<=65535?o+=3:p<=2097151?o+=4:p<=67108863?o+=5:o+=6}return o}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var o=Module.___cxa_demangle||Module.__cxa_demangle;if(o){try{var f=i.substr(1),p=lengthBytesUTF8(f)+1,E=_malloc(p);stringToUTF8(f,E,p);var t=_malloc(4),k=o(E,0,0,t);if(getValue(t,"i32")===0&&k)return Pointer_stringify(k)}catch(L){}finally{E&&_free(E),t&&_free(t),k&&_free(k)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var o=/__Z[\w\d_]+/g;return i.replace(o,function(f){var p=demangle(f);return f===p?f:f+" ["+p+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(o){i=o}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` -`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var o=i.shift();if(typeof o=="function"){o();continue}var f=o.func;typeof f=="number"?o.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,o.arg):f(o.arg===void 0?null:o.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,o,f){var p=f>0?f:lengthBytesUTF8(i)+1,E=new Array(p),t=stringToUTF8Array(i,E,0,E.length);return o&&(E.length=t),E}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var o=[],f=0;f255&&(p&=255),o.push(String.fromCharCode(p))}return o.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,o,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var p,E;f&&(E=o+lengthBytesUTF8(i),p=HEAP8[E]),stringToUTF8(i,o,Infinity),f&&(HEAP8[E]=p)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,o){HEAP8.set(i,o)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,o,f){for(var p=0;p>0]=i.charCodeAt(p);f||(HEAP8[o>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(o,f){var p=o>>>16,E=o&65535,t=f>>>16,k=f&65535;return E*k+(p*k+E*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var o=0;o<32;o++)if(i&1<<31-o)return o;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var o=dependenciesFulfilled;dependenciesFulfilled=null,o()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,o,f,p,E,t,k,L){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,o,f,p,E,t,k,L){return ASM_CONSTS[i](o,f,p,E,t,k,L)}function _emscripten_asm_const_iiiii(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiidddddd(i,o,f,p,E,t,k,L,N){return ASM_CONSTS[i](o,f,p,E,t,k,L,N)}function _emscripten_asm_const_iiididi(i,o,f,p,E,t,k){return ASM_CONSTS[i](o,f,p,E,t,k)}function _emscripten_asm_const_iiii(i,o,f,p){return ASM_CONSTS[i](o,f,p)}function _emscripten_asm_const_iiiid(i,o,f,p,E){return ASM_CONSTS[i](o,f,p,E)}function _emscripten_asm_const_iiiiii(i,o,f,p,E,t){return ASM_CONSTS[i](o,f,p,E,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,o){__ATEXIT__.unshift({func:i,arg:o})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,o,f,p){var E=arguments.length,t=E<3?o:p===null?p=Object.getOwnPropertyDescriptor(o,f):p,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,o,f,p);else for(var L=i.length-1;L>=0;L--)(k=i[L])&&(t=(E<3?k(t):E>3?k(o,f,t):k(o,f))||t);return E>3&&t&&Object.defineProperty(o,f,t),t}function _defineHidden(i){return function(o,f){Object.defineProperty(o,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var o=_llvm_stacksave,f=o.LLVM_SAVEDSTACKS[i];o.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,o,f,p){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=o/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=p/4,HEAP32[o/4]=16909060,HEAP8[o]==1&&(_nbind.bigEndian=!0),HEAP32[o/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var E=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});E.proto=Module,_nbind.BindClass.list.push(E);var t}function _emscripten_set_main_loop_timing(i,o){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=o,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var k=Math.max(0,Browser.mainLoop.tickStartTime+o-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,k)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(k){k.source===window&&k.data===p&&(k.stopPropagation(),f.shift()())};var E=t,f=[],p="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(L){f.push(L),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(L),window.postMessage({target:p})):window.postMessage(p,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,o,f,p,E){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=p;var t;typeof p!="undefined"?t=function(){Module.dynCall_vi(i,p)}:t=function(){Module.dynCall_v(i)};var k=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var N=Date.now(),C=Browser.mainLoop.queue.shift();if(C.func(C.arg),Browser.mainLoop.remainingBlockers){var U=Browser.mainLoop.remainingBlockers,q=U%1==0?U-1:Math.floor(U);C.counted?Browser.mainLoop.remainingBlockers=q:(q=q+.5,Browser.mainLoop.remainingBlockers=(8*U+q)/9)}if(console.log('main loop blocker "'+C.name+'" took '+(Date.now()-N)+" ms"),Browser.mainLoop.updateStatus(),k1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(k0?_emscripten_set_main_loop_timing(0,1e3/o):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,o=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,o),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",o=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;o?o=6;){var rt=le>>Ue-6&63;Ue-=6,Oe+=ze[rt]}return Ue==2?(Oe+=ze[(le&3)<<4],Oe+=pe+pe):Ue==4&&(Oe+=ze[(le&15)<<2],Oe+=pe),Oe}m.src="data:audio/x-"+k.substr(-3)+";base64,"+he(t),U(m)},m.src=ne,Browser.safeSetTimeout(function(){U(m)},1e4)}else return q()},Module.preloadPlugins.push(o);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var p=Module.canvas;p&&(p.requestPointerLock=p.requestPointerLock||p.mozRequestPointerLock||p.webkitRequestPointerLock||p.msRequestPointerLock||function(){},p.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},p.exitPointerLock=p.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&p.addEventListener("click",function(E){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),E.preventDefault())},!1))},createContext:function(i,o,f,p){if(o&&Module.ctx&&i==Module.canvas)return Module.ctx;var E,t;if(o){var k={antialias:!1,alpha:!1};if(p)for(var L in p)k[L]=p[L];t=GL.createContext(i,k),t&&(E=GL.getContext(t).GLctx)}else E=i.getContext("2d");return E?(f&&(o||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=E,o&&GL.makeContextCurrent(t),Module.useWebGL=o,Browser.moduleContextCreatedCallbacks.forEach(function(N){N()}),Browser.init()),E):null},destroyContext:function(i,o,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,o,f){Browser.lockPointer=i,Browser.resizeCanvas=o,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var p=Module.canvas;function E(){Browser.isFullscreen=!1;var k=p.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===k?(p.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},p.exitFullscreen=p.exitFullscreen.bind(document),Browser.lockPointer&&p.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(k.parentNode.insertBefore(p,k),k.parentNode.removeChild(k),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(p)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",E,!1),document.addEventListener("mozfullscreenchange",E,!1),document.addEventListener("webkitfullscreenchange",E,!1),document.addEventListener("MSFullscreenChange",E,!1));var t=document.createElement("div");p.parentNode.insertBefore(t,p),t.appendChild(p),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,o,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(p,E,t){return Browser.requestFullscreen(p,E,t)},Browser.requestFullscreen(i,o,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var o=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=o+1e3/60;else for(;o+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-o,0);setTimeout(i,f)},requestAnimationFrame:function(o){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(o):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(o))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(o){o()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,o){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},o)},safeSetInterval:function(i,o){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},o)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var o=0;switch(i.type){case"DOMMouseScroll":o=i.detail;break;case"mousewheel":o=i.wheelDelta;break;case"wheel":o=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return o},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var o=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,p=Module.canvas.height,E=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var k=i.touch;if(k===void 0)return;var L=k.pageX-(E+o.left),N=k.pageY-(t+o.top);L=L*(f/o.width),N=N*(p/o.height);var C={x:L,y:N};if(i.type==="touchstart")Browser.lastTouches[k.identifier]=C,Browser.touches[k.identifier]=C;else if(i.type==="touchend"||i.type==="touchmove"){var U=Browser.touches[k.identifier];U||(U=C),Browser.lastTouches[k.identifier]=U,Browser.touches[k.identifier]=C}return}var q=i.pageX-(E+o.left),W=i.pageY-(t+o.top);q=q*(f/o.width),W=W*(p/o.height),Browser.mouseMovementX=q-Browser.mouseX,Browser.mouseMovementY=W-Browser.mouseY,Browser.mouseX=q,Browser.mouseY=W}},asyncLoad:function(i,o,f,p){var E=p?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),o(new Uint8Array(t)),E&&removeRunDependency(E)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),E&&addRunDependency(E)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(o){o(i.width,i.height)})},setCanvasSize:function(i,o,f){var p=Module.canvas;Browser.updateCanvasDimensions(p,i,o),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,o,f){o&&f?(i.widthNative=o,i.heightNative=f):(o=i.widthNative,f=i.heightNative);var p=o,E=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(p/E>2];return o},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),o=SYSCALLS.get();return i>=0?assert(o===0):assert(o===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(p){return(typeof FS=="undefined"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall54(i,o){SYSCALLS.varargs=o;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var o=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(N,C,U,q,W,ne){if(C==1){var m=q&896;(m==128||m==256||m==384)&&(N="X const")}var we;return ne?we=U.replace("X",N).replace("Y",W):we=N.replace("X",U).replace("Y",W),we.replace(/([*&]) (?=[*&])/g,"$1")}function p(N,C,U,q,W){throw new Error(N+" type "+U.replace("X",C+"?")+(q?" with flag "+q:"")+" in "+W)}function E(N,C,U,q,W,ne,m,we){ne===void 0&&(ne="X"),we===void 0&&(we=1);var Se=U(N);if(Se)return Se;var he=q(N),ge=he.placeholderFlag,ze=o[ge];m&&ze&&(ne=f(m[2],m[0],ne,ze[0],"?",!0));var pe;ge==0&&(pe="Unbound"),ge>=10&&(pe="Corrupt"),we>20&&(pe="Deeply nested"),pe&&p(pe,N,ne,ge,W||"?");var Oe=he.paramList[0],le=E(Oe,C,U,q,W,ne,ze,we+1),Ue,Ge={flags:ze[0],id:N,name:"",paramList:[le]},rt=[],wt="?";switch(he.placeholderFlag){case 1:Ue=le.spec;break;case 2:if((le.flags&15360)==1024&&le.spec.ptrSize==1){Ge.flags=7168;break}case 3:case 6:case 5:Ue=le.spec,(le.flags&15360)!=2048;break;case 8:wt=""+he.paramList[1],Ge.paramList.push(he.paramList[1]);break;case 9:for(var xt=0,$e=he.paramList[1];xt<$e.length;xt++){var ft=$e[xt],Ke=E(ft,C,U,q,W,ne,ze,we+1);rt.push(Ke.name),Ge.paramList.push(Ke)}wt=rt.join(", ");break;default:break}if(Ge.name=f(ze[2],ze[0],le.name,le.flags,wt),Ue){for(var jt=0,$t=Object.keys(Ue);jt<$t.length;jt++){var at=$t[jt];Ge[at]=Ge[at]||Ue[at]}Ge.flags|=Ue.flags}return t(C,Ge)}function t(N,C){var U=C.flags,q=U&896,W=U&15360;return!C.name&&W==1024&&(C.ptrSize==1?C.name=(U&16?"":(U&8?"un":"")+"signed ")+"char":C.name=(U&8?"u":"")+(U&32?"float":"int")+(C.ptrSize*8+"_t")),C.ptrSize==8&&!(U&32)&&(W=64),W==2048&&(q==512||q==640?W=4096:q&&(W=3072)),N(W,C)}var k=function(){function N(C){this.id=C.id,this.name=C.name,this.flags=C.flags,this.spec=C}return N.prototype.toString=function(){return this.name},N}(),L={Type:k,getComplexType:E,makeType:t,structureList:o};return i.output=L,i.output||L}function __nbind_register_type(i,o){var f=_nbind.readAsciiString(o),p={flags:10240,id:i,name:f};_nbind.makeType(_nbind.constructType,p)}function __nbind_register_callback_signature(i,o){var f=_nbind.readTypeIdList(i,o),p=_nbind.callbackSignatureList.length;return _nbind.callbackSignatureList[p]=_nbind.makeJSCaller(f),p}function __extends(i,o){for(var f in o)o.hasOwnProperty(f)&&(i[f]=o[f]);function p(){this.constructor=i}p.prototype=o.prototype,i.prototype=new p}function __nbind_register_class(i,o,f,p,E,t,k){var L=_nbind.readAsciiString(k),N=_nbind.readPolicyList(o),C=HEAPU32.subarray(i/4,i/4+2),U={flags:2048|(N.Value?2:0),id:C[0],name:L},q=_nbind.makeType(_nbind.constructType,U);q.ptrType=_nbind.getComplexType(C[1],_nbind.constructType,_nbind.getType,_nbind.queryType),q.destroy=_nbind.makeMethodCaller(q.ptrType,{boundID:U.id,flags:0,name:"destroy",num:0,ptr:t,title:q.name+".free",typeList:["void","uint32_t","uint32_t"]}),E&&(q.superIdList=Array.prototype.slice.call(HEAPU32.subarray(f/4,f/4+E)),q.upcastList=Array.prototype.slice.call(HEAPU32.subarray(p/4,p/4+E))),Module[q.name]=q.makeBound(N),_nbind.BindClass.list.push(q)}function _removeAccessorPrefix(i){var o=/^[Gg]et_?([A-Z]?([A-Z]?))/;return i.replace(o,function(f,p,E){return E?p:p.toLowerCase()})}function __nbind_register_function(i,o,f,p,E,t,k,L,N,C){var U=_nbind.getType(i),q=_nbind.readPolicyList(o),W=_nbind.readTypeIdList(f,p),ne;if(k==5)ne=[{direct:E,name:"__nbindConstructor",ptr:0,title:U.name+" constructor",typeList:["uint32_t"].concat(W.slice(1))},{direct:t,name:"__nbindValueConstructor",ptr:0,title:U.name+" value constructor",typeList:["void","uint32_t"].concat(W.slice(1))}];else{var m=_nbind.readAsciiString(L),we=(U.name&&U.name+".")+m;(k==3||k==4)&&(m=_removeAccessorPrefix(m)),ne=[{boundID:i,direct:t,name:m,ptr:E,title:we,typeList:W}]}for(var Se=0,he=ne;Se>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.getStreamFromFD(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=SYSCALLS.get(),k=SYSCALLS.get(),L=E;return FS.llseek(f,L,k),HEAP32[t>>2]=f.position,f.getdents&&L===0&&k===0&&(f.getdents=null),0}catch(N){return(typeof FS=="undefined"||!(N instanceof FS.ErrnoError))&&abort(N),-N.errno}}function ___syscall146(i,o){SYSCALLS.varargs=o;try{var f=SYSCALLS.get(),p=SYSCALLS.get(),E=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(U,q){var W=___syscall146.buffers[U];assert(W),q===0||q===10?((U===1?Module.print:Module.printErr)(UTF8ArrayToString(W,0)),W.length=0):W.push(q)});for(var k=0;k>2],N=HEAP32[p+(k*8+4)>>2],C=0;Ci.pageSize/2||o>i.pageSize-f){var p=_nbind.typeNameTbl.NBind.proto;return p.lalloc(o)}else return HEAPU32[i.usedPtr]=f+o,i.rootPtr+f},i.lreset=function(o,f){var p=HEAPU32[i.pagePtr];if(p){var E=_nbind.typeNameTbl.NBind.proto;E.lreset(o,f)}else HEAPU32[i.usedPtr]=o},i}();_nbind.Pool=Pool;function constructType(i,o){var f=i==10240?_nbind.makeTypeNameTbl[o.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],p=new f(o);return typeIdTbl[o.id]=p,_nbind.typeNameTbl[o.name]=p,p}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var o=HEAPU8[i],f=_nbind.structureList[o][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var p=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return o==9&&(p=[p[0],p.slice(1)]),{paramList:p,placeholderFlag:o}}_nbind.queryType=queryType;function getTypes(i,o){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,o):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,o){return Array.prototype.slice.call(HEAPU32,i/4,i/4+o)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var o=i;HEAPU8[o++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,o-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var o={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;o[readAsciiString(f)]=!0,i+=4}return o}_nbind.readPolicyList=readPolicyList;function getDynCall(i,o){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},p=i.map(function(t){return f[t.name]||"i"}).join(""),E=Module["dynCall_"+p];if(!E)throw new Error("dynCall_"+p+" not found for "+o+"("+i.map(function(t){return t.name}).join(", ")+")");return E}_nbind.getDynCall=getDynCall;function addMethod(i,o,f,p){var E=i[o];i.hasOwnProperty(o)&&E?((E.arity||E.arity===0)&&(E=_nbind.makeOverloader(E,E.arity),i[o]=E),E.addMethod(f,p)):(f.arity=p,i[o]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return o.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},o.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},o}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(o,i);function o(f){var p=i.call(this,f)||this,E=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return p.heap=E[f.ptrSize*8],p.ptrSize=f.ptrSize,p}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="number")return E;throw new Error("Type mismatch")}},o}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,o){if(i==null){if(o&&o.Nullable)return 0;throw new Error("Type mismatch")}if(o&&o.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,p=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,p,f),p}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return o.prototype.makeWireWrite=function(f,p){return function(E){return pushCString(E,p)}},o}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(o,i);function o(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(p){return!!p},f}return o.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},o.prototype.makeWireRead=function(f){return"!!("+f+")"},o.prototype.makeWireWrite=function(f,p){return p&&p.Strict&&function(E){if(typeof E=="boolean")return E;throw new Error("Type mismatch")}||f},o}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,o){var f=function(p){__extends(E,p);function E(t,k,L,N){var C=p.call(this)||this;if(!(C instanceof E))return new(Function.prototype.bind.apply(E,Array.prototype.concat.apply([null],arguments)));var U=k,q=L,W=N;if(t!==_nbind.ptrMarker){var ne=C.__nbindConstructor.apply(C,arguments);U=4096|512,W=HEAPU32[ne/4],q=HEAPU32[ne/4+1]}var m={configurable:!0,enumerable:!1,value:null,writable:!1},we={__nbindFlags:U,__nbindPtr:q};W&&(we.__nbindShared=W,_nbind.mark(C));for(var Se=0,he=Object.keys(we);Se>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(o)return _nbind.popShared(i,o);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?k=Buffer.from(t):k=new Buffer(t),k.copy(p)}else getBuffer(p).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,o=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,o,f,p,E,t){try{Module.dynCall_viiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_vif(i,o,f){try{Module.dynCall_vif(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_vid(i,o,f){try{Module.dynCall_vid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_fiff(i,o,f,p){try{return Module.dynCall_fiff(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_vi(i,o){try{Module.dynCall_vi(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,o,f){try{Module.dynCall_vii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_ii(i,o){try{return Module.dynCall_ii(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,o,f,p,E){try{Module.dynCall_viddi(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,o,f,p){try{Module.dynCall_vidd(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_iiii(i,o,f,p){try{return Module.dynCall_iiii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_diii(i,o,f,p){try{return Module.dynCall_diii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_di(i,o){try{return Module.dynCall_di(i,o)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,o,f){try{return Module.dynCall_iid(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_iii(i,o,f){try{return Module.dynCall_iii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiddi(i,o,f,p,E,t){try{Module.dynCall_viiddi(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiiiii(i,o,f,p,E,t,k){try{Module.dynCall_viiiiii(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_dii(i,o,f){try{return Module.dynCall_dii(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iiiiii(i,o,f,p,E,t){try{return Module.dynCall_iiiiii(i,o,f,p,E,t)}catch(k){if(typeof k!="number"&&k!=="longjmp")throw k;Module.setThrew(1,0)}}function invoke_viiid(i,o,f,p,E){try{Module.dynCall_viiid(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,o,f,p,E,t,k){try{Module.dynCall_viififi(i,o,f,p,E,t,k)}catch(L){if(typeof L!="number"&&L!=="longjmp")throw L;Module.setThrew(1,0)}}function invoke_viii(i,o,f,p){try{Module.dynCall_viii(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viid(i,o,f,p){try{Module.dynCall_viid(i,o,f,p)}catch(E){if(typeof E!="number"&&E!=="longjmp")throw E;Module.setThrew(1,0)}}function invoke_idd(i,o,f){try{return Module.dynCall_idd(i,o,f)}catch(p){if(typeof p!="number"&&p!=="longjmp")throw p;Module.setThrew(1,0)}}function invoke_viiii(i,o,f,p,E){try{Module.dynCall_viiii(i,o,f,p,E)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,o,f){var p=new i.Int8Array(f),E=new i.Int16Array(f),t=new i.Int32Array(f),k=new i.Uint8Array(f),L=new i.Uint16Array(f),N=new i.Uint32Array(f),C=new i.Float32Array(f),U=new i.Float64Array(f),q=o.DYNAMICTOP_PTR|0,W=o.tempDoublePtr|0,ne=o.ABORT|0,m=o.STACKTOP|0,we=o.STACK_MAX|0,Se=o.cttz_i8|0,he=o.___dso_handle|0,ge=0,ze=0,pe=0,Oe=0,le=i.NaN,Ue=i.Infinity,Ge=0,rt=0,wt=0,xt=0,$e=0,ft=0,Ke=i.Math.floor,jt=i.Math.abs,$t=i.Math.sqrt,at=i.Math.pow,Q=i.Math.cos,ae=i.Math.sin,Ce=i.Math.tan,ue=i.Math.acos,je=i.Math.asin,ct=i.Math.atan,At=i.Math.atan2,en=i.Math.exp,ln=i.Math.log,An=i.Math.ceil,nr=i.Math.imul,un=i.Math.min,Wt=i.Math.max,vr=i.Math.clz32,w=i.Math.fround,Ut=o.abort,Vn=o.assert,fr=o.enlargeMemory,Fr=o.getTotalMemory,ur=o.abortOnCannotGrowMemory,br=o.invoke_viiiii,Kt=o.invoke_vif,vu=o.invoke_vid,a0=o.invoke_fiff,So=o.invoke_vi,Go=o.invoke_vii,Os=o.invoke_ii,Yo=o.invoke_viddi,Ko=o.invoke_vidd,qt=o.invoke_iiii,_i=o.invoke_diii,eu=o.invoke_di,ai=o.invoke_iid,mr=o.invoke_iii,Xo=o.invoke_viiddi,W0=o.invoke_viiiiii,Lu=o.invoke_dii,V0=o.invoke_i,Hr=o.invoke_iiiiii,To=o.invoke_viiid,Co=o.invoke_viififi,L0=o.invoke_viii,tu=o.invoke_v,Si=o.invoke_viid,ks=o.invoke_idd,Hl=o.invoke_viiii,F0=o._emscripten_asm_const_iiiii,f0=o._emscripten_asm_const_iiidddddd,Pr=o._emscripten_asm_const_iiiid,Ei=o.__nbind_reference_external,G0=o._emscripten_asm_const_iiiiiiii,fi=o._removeAccessorPrefix,Zt=o._typeModule,Ln=o.__nbind_register_pool,Di=o.__decorate,ci=o._llvm_stackrestore,Ht=o.___cxa_atexit,Du=o.__extends,Yi=o.__nbind_get_value_object,Y0=o.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,Ui=o._emscripten_set_main_loop_timing,Wl=o.__nbind_register_primitive,xo=o.__nbind_register_type,ni=o._emscripten_memcpy_big,oo=o.__nbind_register_function,Vl=o.___setErrNo,Ao=o.__nbind_register_class,Ms=o.__nbind_finish,Xn=o._abort,Qo=o._nbind_value,lo=o._llvm_stacksave,b0=o.___syscall54,yl=o._defineHidden,Ro=o._emscripten_set_main_loop,Et=o._emscripten_get_now,Pt=o.__nbind_register_callback_signature,Bn=o._emscripten_asm_const_iiiiii,Ir=o.__nbind_free_external,ji=o._emscripten_asm_const_iiii,Wr=o._emscripten_asm_const_iiididi,wu=o.___syscall6,c0=o._atexit,Ti=o.___syscall140,d0=o.___syscall146,as=w(0);let St=w(0);function so(e){e=e|0;var n=0;return n=m,m=m+e|0,m=m+15&-16,n|0}function Jo(){return m|0}function Gl(e){e=e|0,m=e}function Fu(e,n){e=e|0,n=n|0,m=e,we=n}function fs(e,n){e=e|0,n=n|0,ge||(ge=e,ze=n)}function P0(e){e=e|0,ft=e}function X(){return ft|0}function _e(){var e=0,n=0;pr(8104,8,400)|0,pr(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));p[9088]=0,p[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Ht(17,8104,he|0)|0}function Ne(e){e=e|0,ic(e+948|0)}function Me(e){return e=w(e),((cr(e)|0)&2147483647)>>>0>2139095040|0}function dt(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function Hn(e){e=e|0;var n=0;return n=C_(1e3)|0,Dn(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,pr(n|0,8104,1e3)|0,p[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function Dn(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,_l(e,5,3197,u)),m=l}function or(){return Hn(956)|0}function mi(e){e=e|0;var n=0;return n=cn(1e3)|0,Su(n,e),Dn(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function Su(e,n){e=e|0,n=n|0;var r=0;pr(e|0,n|0,948)|0,na(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function bu(e){e=e|0;var n=0,r=0,u=0,l=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Pu(r+948|0,e)|0,t[n>>2]=0),r=mu(e)|0,r|0){n=0;do t[(yi(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,u=t[r>>2]|0,l=e+952|0,n=t[l>>2]|0,(n|0)!=(u|0)&&(t[l>>2]=n+(~((n+-4-u|0)>>>2)<<2)),Oo(r),x_(e),t[2276]=(t[2276]|0)+-1}function Pu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0;u=t[e>>2]|0,D=e+4|0,r=t[D>>2]|0,s=r;e:do if((u|0)==(r|0))l=u,h=4;else for(e=u;;){if((t[e>>2]|0)==(n|0)){l=e,h=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(h|0)==4&&((l|0)!=(r|0)?(u=l+4|0,e=s-u|0,n=e>>2,n&&(Iy(l|0,u|0,e|0)|0,r=t[D>>2]|0),e=l+(n<<2)|0,(r|0)==(e|0)||(t[D>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function mu(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function yi(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function Oo(e){e=e|0;var n=0,r=0,u=0,l=0;u=m,m=m+32|0,n=u,l=t[e>>2]|0,r=(t[e+4>>2]|0)-l|0,((t[e+8>>2]|0)-l|0)>>>0>r>>>0&&(l=r>>2,Y(n,l,l,e+8|0),Qr(e,n),Jr(n)),m=u}function Tu(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;M=mu(e)|0;do if(M|0){if((t[(yi(e,0)|0)+944>>2]|0)==(e|0)){if(!(Pu(e+948|0,n)|0))break;pr(n+400|0,8504,540)|0,t[n+944>>2]=0,Gn(e);break}h=t[(t[e+976>>2]|0)+12>>2]|0,D=e+948|0,S=(h|0)==0,r=0,s=0;do u=t[(t[D>>2]|0)+(s<<2)>>2]|0,(u|0)==(n|0)?Gn(e):(l=mi(u)|0,t[(t[D>>2]|0)+(r<<2)>>2]=l,t[l+944>>2]=e,S||$E[h&15](u,l,e,r),r=r+1|0),s=s+1|0;while((s|0)!=(M|0));if(r>>>0>>0){S=e+948|0,D=e+952|0,h=r,r=t[D>>2]|0;do s=(t[S>>2]|0)+(h<<2)|0,u=s+4|0,l=r-u|0,n=l>>2,n&&(Iy(s|0,u|0,l|0)|0,r=t[D>>2]|0),l=r,u=s+(n<<2)|0,(l|0)!=(u|0)&&(r=l+(~((l+-4-u|0)>>>2)<<2)|0,t[D>>2]=r),h=h+1|0;while((h|0)!=(M|0))}}while(0)}function ao(e){e=e|0;var n=0,r=0,u=0,l=0;Iu(e,(mu(e)|0)==0,2491),Iu(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,u=e+952|0,l=t[u>>2]|0,(l|0)!=(r|0)&&(t[u>>2]=l+(~((l+-4-r|0)>>>2)<<2)),Oo(n),n=e+976|0,r=t[n>>2]|0,pr(e|0,8104,1e3)|0,p[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function Iu(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;l=m,m=m+16|0,u=l,n||(t[u>>2]=r,sr(e,5,3197,u)),m=l}function Oa(){return t[2276]|0}function p0(){var e=0;return e=C_(20)|0,Zs((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Zs(e,n){e=e|0,n=n|0;var r=0,u=0;u=m,m=m+16|0,r=u,e||(t[r>>2]=n,sr(0,5,3197,r)),m=u}function K0(e){e=e|0,x_(e),t[2277]=(t[2277]|0)+-1}function $s(e,n){e=e|0,n=n|0;var r=0;n?(Iu(e,(mu(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function ka(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+8|0,l=u+4|0,h=u,t[l>>2]=n,Iu(e,(t[n+944>>2]|0)==0,2709),Iu(e,(t[e+964>>2]|0)==0,2763),cs(e),n=e+948|0,t[h>>2]=(t[n>>2]|0)+(r<<2),t[s>>2]=t[h>>2],w0(n,s,l)|0,t[(t[l>>2]|0)+944>>2]=e,Gn(e),m=u}function cs(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;if(r=mu(e)|0,r|0?(t[(yi(e,0)|0)+944>>2]|0)!=(e|0):0){u=t[(t[e+976>>2]|0)+12>>2]|0,l=e+948|0,s=(u|0)==0,n=0;do h=t[(t[l>>2]|0)+(n<<2)>>2]|0,D=mi(h)|0,t[(t[l>>2]|0)+(n<<2)>>2]=D,t[D+944>>2]=e,s||$E[u&15](h,D,e,n),n=n+1|0;while((n|0)!=(r|0))}}function w0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0;Qe=m,m=m+64|0,P=Qe+52|0,D=Qe+48|0,K=Qe+28|0,Pe=Qe+24|0,Ee=Qe+20|0,ve=Qe,u=t[e>>2]|0,s=u,n=u+((t[n>>2]|0)-s>>2<<2)|0,u=e+4|0,l=t[u>>2]|0,h=e+8|0;do if(l>>>0<(t[h>>2]|0)>>>0){if((n|0)==(l|0)){t[n>>2]=t[r>>2],t[u>>2]=(t[u>>2]|0)+4;break}Ur(e,n,l,n+4|0),n>>>0<=r>>>0&&(r=(t[u>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{u=(l-s>>2)+1|0,l=x0(e)|0,l>>>0>>0&&li(e),O=t[e>>2]|0,M=(t[h>>2]|0)-O|0,s=M>>1,Y(ve,M>>2>>>0>>1>>>0?s>>>0>>0?u:s:l,n-O>>2,e+8|0),O=ve+8|0,u=t[O>>2]|0,s=ve+12|0,M=t[s>>2]|0,h=M,S=u;do if((u|0)==(M|0)){if(M=ve+4|0,u=t[M>>2]|0,We=t[ve>>2]|0,l=We,u>>>0<=We>>>0){u=h-l>>1,u=(u|0)==0?1:u,Y(K,u,u>>>2,t[ve+16>>2]|0),t[Pe>>2]=t[M>>2],t[Ee>>2]=t[O>>2],t[D>>2]=t[Pe>>2],t[P>>2]=t[Ee>>2],hi(K,D,P),u=t[ve>>2]|0,t[ve>>2]=t[K>>2],t[K>>2]=u,u=K+4|0,We=t[M>>2]|0,t[M>>2]=t[u>>2],t[u>>2]=We,u=K+8|0,We=t[O>>2]|0,t[O>>2]=t[u>>2],t[u>>2]=We,u=K+12|0,We=t[s>>2]|0,t[s>>2]=t[u>>2],t[u>>2]=We,Jr(K),u=t[O>>2]|0;break}s=u,h=((s-l>>2)+1|0)/-2|0,D=u+(h<<2)|0,l=S-s|0,s=l>>2,s&&(Iy(D|0,u|0,l|0)|0,u=t[M>>2]|0),We=D+(s<<2)|0,t[O>>2]=We,t[M>>2]=u+(h<<2),u=We}while(0);t[u>>2]=t[r>>2],t[O>>2]=(t[O>>2]|0)+4,n=lt(e,ve,n)|0,Jr(ve)}while(0);return m=Qe,n|0}function Gn(e){e=e|0;var n=0;do{if(n=e+984|0,p[n>>0]|0)break;p[n>>0]=1,C[e+504>>2]=w(le),e=t[e+944>>2]|0}while((e|0)!=0)}function ic(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function ri(e){return e=e|0,t[e+944>>2]|0}function Gr(e){e=e|0,Iu(e,(t[e+964>>2]|0)!=0,2832),Gn(e)}function Yl(e){return e=e|0,(p[e+984>>0]|0)!=0|0}function ea(e,n){e=e|0,n=n|0,MI(e,n,400)|0&&(pr(e|0,n|0,400)|0,Gn(e))}function lf(e){e=e|0;var n=St;return n=w(C[e+44>>2]),e=Me(n)|0,w(e?w(0):n)}function Ns(e){e=e|0;var n=St;return n=w(C[e+48>>2]),Me(n)|0&&(n=p[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Ma(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Ls(e){return e=e|0,t[e+980>>2]|0}function h0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Fs(e){return e=e|0,t[e+4>>2]|0}function Ni(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function B(e){return e=e|0,t[e+8>>2]|0}function z(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function G(e){return e=e|0,t[e+12>>2]|0}function $(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function De(e){return e=e|0,t[e+16>>2]|0}function me(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function xe(e){return e=e|0,t[e+20>>2]|0}function Z(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ke(e){return e=e|0,t[e+24>>2]|0}function Xe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function ht(e){return e=e|0,t[e+28>>2]|0}function ie(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function qe(e){return e=e|0,t[e+32>>2]|0}function tt(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,Gn(e))}function Tt(e){return e=e|0,t[e+36>>2]|0}function kt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function bt(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function on(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function tn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+52|0,l=e+56|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lt(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+52|0,r=e+56|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function gn(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+52|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function lr(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Qn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _r(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+132+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Cn(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ar(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function v0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+60+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Rr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(C[e+60+(n<<3)>>2]=w(le),t[r>>2]=3,Gn(e))}function nt(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function _t(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=s?0:2,l=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function Ze(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=n+204+(r<<3)|0,n=t[u+4>>2]|0,r=e,t[r>>2]=t[u>>2],t[r+4>>2]=n}function Ft(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0,s=0;s=Me(r)|0,u=(s^1)&1,l=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(s|w(C[l>>2])==r?(t[n>>2]|0)==(u|0):0)||(C[l>>2]=r,t[n>>2]=u,Gn(e))}function nn(e,n){return e=e|0,n=n|0,w(C[e+276+(n<<3)>>2])}function sn(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+348|0,l=e+352|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Yn(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+348|0,r=e+352|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function yr(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(C[e+348>>2]=w(le),t[n>>2]=3,Gn(e))}function nu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+348|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Cu(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+356|0,l=e+360|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function S0(e,n){e=e|0,n=w(n);var r=0,u=0;u=e+356|0,r=e+360|0,(w(C[u>>2])==n?(t[r>>2]|0)==2:0)||(C[u>>2]=n,u=Me(n)|0,t[r>>2]=u?3:2,Gn(e))}function X0(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(C[e+356>>2]=w(le),t[n>>2]=3,Gn(e))}function xu(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+356|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function di(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ko(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+364|0,l=e+368|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Zo(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+364|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function sf(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function gl(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+372|0,l=e+376|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function af(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+372|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Mo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ds(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+380|0,l=e+384|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function bs(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+380|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function No(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=(s^1)&1,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function Lo(e,n){e=e|0,n=w(n);var r=0,u=0,l=0,s=0;s=Me(n)|0,r=s?0:2,u=e+388|0,l=e+392|0,(s|w(C[u>>2])==n?(t[l>>2]|0)==(r|0):0)||(C[u>>2]=n,t[l>>2]=r,Gn(e))}function ps(e,n){e=e|0,n=n|0;var r=0,u=0;u=n+388|0,r=t[u+4>>2]|0,n=e,t[n>>2]=t[u>>2],t[n+4>>2]=r}function Vu(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(C[r>>2])!=n&&(C[r>>2]=n,Gn(e))}function yu(e){return e=e|0,w(C[e+396>>2])}function pi(e){return e=e|0,w(C[e+400>>2])}function T0(e){return e=e|0,w(C[e+404>>2])}function Q0(e){return e=e|0,w(C[e+408>>2])}function Fo(e){return e=e|0,w(C[e+412>>2])}function ta(e){return e=e|0,w(C[e+416>>2])}function Kl(e){return e=e|0,w(C[e+420>>2])}function Ki(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+424+(n<<2)>>2])}function Yr(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+448+(n<<2)>>2])}function fo(e,n){switch(e=e|0,n=n|0,Iu(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(C[e+472+(n<<2)>>2])}function Oi(e,n){e=e|0,n=n|0;var r=0,u=St;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(u=w(C[e>>2]),e=w(jt(w(u-w(C[n>>2]))))>2]=0,t[u+4>>2]=0,t[u+8>>2]=0,Y0(u|0,e|0,n|0,0),sr(e,3,(p[u+11>>0]|0)<0?t[u>>2]|0:u,r),eB(u),m=r}function J0(e,n,r,u){e=w(e),n=w(n),r=r|0,u=u|0;var l=St;e=w(e*n),l=w(YE(e,w(1)));do if(gi(l,w(0))|0)e=w(e-l);else{if(e=w(e-l),gi(l,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}u||(l>w(.5)?l=w(1):(u=gi(l,w(.5))|0,l=w(u?1:0)),e=w(e+l))}while(0);return w(e/n)}function Z0(e,n,r,u,l,s,h,D,S,M,O,P,K){e=e|0,n=w(n),r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,D=w(D),S=w(S),M=w(M),O=w(O),P=w(P),K=K|0;var Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St;return S>2]),Ee!=w(0)):0)?(Qe=w(J0(n,Ee,0,0)),We=w(J0(u,Ee,0,0)),ve=w(J0(s,Ee,0,0)),Ee=w(J0(D,Ee,0,0))):(ve=s,Qe=n,Ee=D,We=u),(l|0)==(e|0)?Pe=gi(ve,Qe)|0:Pe=0,(h|0)==(r|0)?K=gi(Ee,We)|0:K=0,((Pe?0:(st=w(n-O),!(Te(e,st,S)|0)))?!(et(e,st,l,S)|0):0)?Pe=Ve(e,st,l,s,S)|0:Pe=1,((K?0:(Re=w(u-P),!(Te(r,Re,M)|0)))?!(et(r,Re,h,M)|0):0)?K=Ve(r,Re,h,D,M)|0:K=1,K=Pe&K),K|0}function Te(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=gi(n,r)|0:e=0,e|0}function et(e,n,r,u){return e=e|0,n=w(n),r=r|0,u=w(u),(e|0)==2&(r|0)==0?n>=u?e=1:e=gi(n,u)|0:e=0,e|0}function Ve(e,n,r,u,l){return e=e|0,n=w(n),r=r|0,u=w(u),l=w(l),(e|0)==2&(r|0)==2&u>n?l<=n?e=1:e=gi(n,l)|0:e=0,e|0}function Gt(e,n,r,u,l,s,h,D,S,M,O){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0,O=O|0;var P=0,K=0,Pe=0,Ee=0,ve=St,Qe=St,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=St,ts=St,ns=St,rs=0,Xs=0;On=m,m=m+160|0,mn=On+152|0,Nn=On+120|0,Lr=On+104|0,Re=On+72|0,Ee=On+56|0,Qt=On+8|0,st=On,Fe=(t[2279]|0)+1|0,t[2279]=Fe,hr=e+984|0,((p[hr>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?We=4:(t[e+516>>2]|0)==(u|0)?kr=0:We=4,(We|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,C[e+932>>2]=w(-1),C[e+936>>2]=w(-1),kr=1);e:do if(t[e+964>>2]|0)if(ve=w(Yt(e,2,h)),Qe=w(Yt(e,0,h)),P=e+916|0,ns=w(C[P>>2]),ts=w(C[e+920>>2]),Zi=w(C[e+932>>2]),Z0(l,n,s,r,t[e+924>>2]|0,ns,t[e+928>>2]|0,ts,Zi,w(C[e+936>>2]),ve,Qe,O)|0)We=22;else if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,Zi=w(C[P>>2]),ts=w(C[e+524+(K*24|0)+4>>2]),ns=w(C[e+524+(K*24|0)+16>>2]),Z0(l,n,s,r,t[e+524+(K*24|0)+8>>2]|0,Zi,t[e+524+(K*24|0)+12>>2]|0,ts,ns,w(C[e+524+(K*24|0)+20>>2]),ve,Qe,O)|0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}else{if(S){if(P=e+916|0,!(gi(w(C[P>>2]),n)|0)){We=21;break}if(!(gi(w(C[e+920>>2]),r)|0)){We=21;break}if((t[e+924>>2]|0)!=(l|0)){We=21;break}P=(t[e+928>>2]|0)==(s|0)?P:0,We=22;break}if(Pe=t[e+520>>2]|0,!Pe)We=21;else for(K=0;;){if(P=e+524+(K*24|0)|0,((gi(w(C[P>>2]),n)|0?gi(w(C[e+524+(K*24|0)+4>>2]),r)|0:0)?(t[e+524+(K*24|0)+8>>2]|0)==(l|0):0)?(t[e+524+(K*24|0)+12>>2]|0)==(s|0):0){We=22;break e}if(K=K+1|0,K>>>0>=Pe>>>0){We=21;break}}}while(0);do if((We|0)==21)p[11697]|0?(P=0,We=28):(P=0,We=31);else if((We|0)==22){if(K=(p[11697]|0)!=0,!((P|0)!=0&(kr^1)))if(K){We=28;break}else{We=31;break}Ee=P+16|0,t[e+908>>2]=t[Ee>>2],Pe=P+20|0,t[e+912>>2]=t[Pe>>2],(p[11698]|0)==0|K^1||(t[st>>2]=Br(Fe)|0,t[st+4>>2]=Fe,sr(e,4,2972,st),K=t[e+972>>2]|0,K|0&&M1[K&127](e),l=wn(l,S)|0,s=wn(s,S)|0,Xs=+w(C[Ee>>2]),rs=+w(C[Pe>>2]),t[Qt>>2]=l,t[Qt+4>>2]=s,U[Qt+8>>3]=+n,U[Qt+16>>3]=+r,U[Qt+24>>3]=Xs,U[Qt+32>>3]=rs,t[Qt+40>>2]=M,sr(e,4,2989,Qt))}while(0);return(We|0)==28&&(K=Br(Fe)|0,t[Ee>>2]=K,t[Ee+4>>2]=Fe,t[Ee+8>>2]=kr?3047:11699,sr(e,4,3038,Ee),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,We=wn(s,S)|0,t[Re>>2]=Qt,t[Re+4>>2]=We,U[Re+8>>3]=+n,U[Re+16>>3]=+r,t[Re+24>>2]=M,sr(e,4,3049,Re),We=31),(We|0)==31&&(fu(e,n,r,u,l,s,h,D,S,O),p[11697]|0&&(K=t[2279]|0,Qt=Br(K)|0,t[Lr>>2]=Qt,t[Lr+4>>2]=K,t[Lr+8>>2]=kr?3047:11699,sr(e,4,3083,Lr),K=t[e+972>>2]|0,K|0&&M1[K&127](e),Qt=wn(l,S)|0,Lr=wn(s,S)|0,rs=+w(C[e+908>>2]),Xs=+w(C[e+912>>2]),t[Nn>>2]=Qt,t[Nn+4>>2]=Lr,U[Nn+8>>3]=rs,U[Nn+16>>3]=Xs,t[Nn+24>>2]=M,sr(e,4,3092,Nn)),t[e+516>>2]=u,P||(K=e+520|0,P=t[K>>2]|0,(P|0)==16&&(p[11697]|0&&sr(e,4,3124,mn),t[K>>2]=0,P=0),S?P=e+916|0:(t[K>>2]=P+1,P=e+524+(P*24|0)|0),C[P>>2]=n,C[P+4>>2]=r,t[P+8>>2]=l,t[P+12>>2]=s,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),S&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],p[e+985>>0]=1,p[hr>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],m=On,kr|(P|0)==0|0}function Yt(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Li(e,n,r)),w(u+w(A0(e,n,r)))}function sr(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=m,m=m+16|0,l=s,t[l>>2]=u,e?u=t[e+976>>2]|0:u=0,Ps(u,e,n,r,l),m=s}function Br(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function wn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+32|0,r=l+12|0,u=l,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[u>>2]=t[257],t[u+4>>2]=t[258],t[u+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?u:r)+(e<<2)>>2]|0,m=l,e|0}function fu(e,n,r,u,l,s,h,D,S,M){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=s|0,h=w(h),D=w(D),S=S|0,M=M|0;var O=0,P=0,K=0,Pe=0,Ee=St,ve=St,Qe=St,We=St,st=St,Re=St,Fe=St,Qt=0,Lr=0,Nn=0,mn=St,hr=St,kr=0,On=St,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=St,ld=St,Mc=St,Nc=St,qf=St,Il=0,Aa=0,As=0,ef=0,L1=0,F1=St,Lc=St,b1=St,P1=St,Bl=St,vl=St,tf=0,lu=St,I1=St,is=St,Hf=St,us=St,Wf=St,B1=0,U1=0,Vf=St,Ul=St,nf=0,j1=0,z1=0,q1=0,gr=St,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0,hn=St,H1=0,u0=0;rf=m,m=m+16|0,Il=rf+12|0,Aa=rf+8|0,As=rf+4|0,ef=rf,Iu(e,(l|0)==0|(Me(n)|0)^1,3326),Iu(e,(s|0)==0|(Me(r)|0)^1,3406),ml=El(e,u)|0,t[e+496>>2]=ml,Tr=I0(2,ml)|0,Fn=I0(0,ml)|0,C[e+440>>2]=w(Li(e,Tr,h)),C[e+444>>2]=w(A0(e,Tr,h)),C[e+428>>2]=w(Li(e,Fn,h)),C[e+436>>2]=w(A0(e,Fn,h)),C[e+464>>2]=w(R0(e,Tr)),C[e+468>>2]=w(co(e,Tr)),C[e+452>>2]=w(R0(e,Fn)),C[e+460>>2]=w(co(e,Fn)),C[e+488>>2]=w(Ru(e,Tr,h)),C[e+492>>2]=w(Yu(e,Tr,h)),C[e+476>>2]=w(Ru(e,Fn,h)),C[e+484>>2]=w(Yu(e,Fn,h));do if(t[e+964>>2]|0)Xl(e,n,r,l,s,h,D);else{if(os=e+948|0,jl=(t[e+952>>2]|0)-(t[os>>2]|0)>>2,!jl){hs(e,n,r,l,s,h,D);break}if(S?0:ra(e,n,r,l,s,h,D)|0)break;cs(e),$a=e+508|0,p[$a>>0]=0,Tr=I0(t[e+4>>2]|0,ml)|0,Fn=df(Tr,ml)|0,Mu=Fi(Tr)|0,ud=t[e+8>>2]|0,j1=e+28|0,zf=(t[j1>>2]|0)!=0,us=Mu?h:D,Vf=Mu?D:h,od=w(Ku(e,Tr,h)),ld=w(vs(e,Tr,h)),Ee=w(Ku(e,Fn,h)),Wf=w(wr(e,Tr,h)),Ul=w(wr(e,Fn,h)),Nn=Mu?l:s,nf=Mu?s:l,gr=Mu?Wf:Ul,st=Mu?Ul:Wf,Hf=w(Yt(e,2,h)),We=w(Yt(e,0,h)),ve=w(w(Sn(e+364|0,h))-gr),Qe=w(w(Sn(e+380|0,h))-gr),Re=w(w(Sn(e+372|0,D))-st),Fe=w(w(Sn(e+388|0,D))-st),Mc=Mu?ve:Re,Nc=Mu?Qe:Fe,Hf=w(n-Hf),n=w(Hf-gr),Me(n)|0?gr=n:gr=w(Eu(w(Yp(n,Qe)),ve)),I1=w(r-We),n=w(I1-st),Me(n)|0?is=n:is=w(Eu(w(Yp(n,Fe)),Re)),ve=Mu?gr:is,lu=Mu?is:gr;e:do if((Nn|0)==1)for(u=0,P=0;;){if(O=yi(e,P)|0,!u)(w(Xi(O))>w(0)?w(ru(O))>w(0):0)?u=O:u=0;else if($0(O)|0){Pe=0;break e}if(P=P+1|0,P>>>0>=jl>>>0){Pe=u;break}}else Pe=0;while(0);Qt=Pe+500|0,Lr=Pe+504|0,u=0,O=0,n=w(0),K=0;do{if(P=t[(t[os>>2]|0)+(K<<2)>>2]|0,(t[P+36>>2]|0)==1)Ci(P),p[P+985>>0]=1,p[P+984>>0]=0;else{Vr(P),S&&C0(P,El(P,ml)|0,ve,lu,gr);do if((t[P+24>>2]|0)!=1)if((P|0)==(Pe|0)){t[Qt>>2]=t[2278],C[Lr>>2]=w(0);break}else{Xr(e,P,gr,l,is,gr,is,s,ml,M);break}else O|0&&(t[O+960>>2]=P),t[P+960>>2]=0,O=P,u=(u|0)==0?P:u;while(0);vl=w(C[P+504>>2]),n=w(n+w(vl+w(Yt(P,Tr,gr))))}K=K+1|0}while((K|0)!=(jl|0));for(ns=n>ve,tf=zf&((Nn|0)==2&ns)?1:Nn,Zi=(nf|0)==1,Xs=Zi&(S^1),$2=(tf|0)==1,ed=(tf|0)==2,Za=976+(Tr<<2)|0,td=(nf|2|0)==2,id=Zi&(zf^1),Oc=1040+(Fn<<2)|0,kc=1040+(Tr<<2)|0,nd=976+(Fn<<2)|0,rd=(nf|0)!=1,ns=zf&((Nn|0)!=0&ns),ts=e+976|0,Zi=Zi^1,n=ve,kr=0,rs=0,vl=w(0),qf=w(0);;){e:do if(kr>>>0>>0)for(Lr=t[os>>2]|0,K=0,Fe=w(0),Re=w(0),Qe=w(0),ve=w(0),P=0,O=0,Pe=kr;;){if(Qt=t[Lr+(Pe<<2)>>2]|0,(t[Qt+36>>2]|0)!=1?(t[Qt+940>>2]=rs,(t[Qt+24>>2]|0)!=1):0){if(We=w(Yt(Qt,Tr,gr)),si=t[Za>>2]|0,r=w(Sn(Qt+380+(si<<3)|0,us)),st=w(C[Qt+504>>2]),r=w(Yp(r,st)),r=w(Eu(w(Sn(Qt+364+(si<<3)|0,us)),r)),zf&(K|0)!=0&w(We+w(Re+r))>n){s=K,We=Fe,Nn=Pe;break e}We=w(We+r),r=w(Re+We),We=w(Fe+We),$0(Qt)|0&&(Qe=w(Qe+w(Xi(Qt))),ve=w(ve-w(st*w(ru(Qt))))),O|0&&(t[O+960>>2]=Qt),t[Qt+960>>2]=0,K=K+1|0,O=Qt,P=(P|0)==0?Qt:P}else We=Fe,r=Re;if(Pe=Pe+1|0,Pe>>>0>>0)Fe=We,Re=r;else{s=K,Nn=Pe;break}}else s=0,We=w(0),Qe=w(0),ve=w(0),P=0,Nn=kr;while(0);si=Qe>w(0)&Qew(0)&veNc&((Me(Nc)|0)^1))n=Nc,si=51;else if(p[(t[ts>>2]|0)+3>>0]|0)si=51;else{if(mn!=w(0)?w(Xi(e))!=w(0):0){si=53;break}n=We,si=53}while(0);if((si|0)==51&&(si=0,Me(n)|0?si=53:(hr=w(n-We),On=n)),(si|0)==53&&(si=0,We>2]|0,Pe=hrw(0),Re=w(hr/mn),Qe=w(0),We=w(0),n=w(0),O=P;do r=w(Sn(O+380+(K<<3)|0,us)),ve=w(Sn(O+364+(K<<3)|0,us)),ve=w(Yp(r,w(Eu(ve,w(C[O+504>>2]))))),Pe?(r=w(ve*w(ru(O))),(r!=w(-0)?(hn=w(ve-w(st*r)),F1=w(Wn(O,Tr,hn,On,gr)),hn!=F1):0)&&(Qe=w(Qe-w(F1-ve)),n=w(n+r))):((Qt?(Lc=w(Xi(O)),Lc!=w(0)):0)?(hn=w(ve+w(Re*Lc)),b1=w(Wn(O,Tr,hn,On,gr)),hn!=b1):0)&&(Qe=w(Qe-w(b1-ve)),We=w(We-Lc)),O=t[O+960>>2]|0;while((O|0)!=0);if(n=w(Fe+n),ve=w(hr+Qe),L1)n=w(0);else{st=w(mn+We),Pe=t[Za>>2]|0,Qt=vew(0),st=w(ve/st),n=w(0);do{hn=w(Sn(P+380+(Pe<<3)|0,us)),Qe=w(Sn(P+364+(Pe<<3)|0,us)),Qe=w(Yp(hn,w(Eu(Qe,w(C[P+504>>2]))))),Qt?(hn=w(Qe*w(ru(P))),ve=w(-hn),hn!=w(-0)?(hn=w(Re*ve),ve=w(Wn(P,Tr,w(Qe+(Lr?ve:hn)),On,gr))):ve=Qe):(K?(P1=w(Xi(P)),P1!=w(0)):0)?ve=w(Wn(P,Tr,w(Qe+w(st*P1)),On,gr)):ve=Qe,n=w(n-w(ve-Qe)),We=w(Yt(P,Tr,gr)),r=w(Yt(P,Fn,gr)),ve=w(ve+We),C[Aa>>2]=ve,t[ef>>2]=1,Qe=w(C[P+396>>2]);e:do if(Me(Qe)|0){O=Me(lu)|0;do if(!O){if(ns|(Bu(P,Fn,lu)|0|Zi)||(Xu(e,P)|0)!=4||(t[(m0(P,Fn)|0)+4>>2]|0)==3||(t[(y0(P,Fn)|0)+4>>2]|0)==3)break;C[Il>>2]=lu,t[As>>2]=1;break e}while(0);if(Bu(P,Fn,lu)|0){O=t[P+992+(t[nd>>2]<<2)>>2]|0,hn=w(r+w(Sn(O,lu))),C[Il>>2]=hn,O=rd&(t[O+4>>2]|0)==2,t[As>>2]=((Me(hn)|0|O)^1)&1;break}else{C[Il>>2]=lu,t[As>>2]=O?0:2;break}}else hn=w(ve-We),mn=w(hn/Qe),hn=w(Qe*hn),t[As>>2]=1,C[Il>>2]=w(r+(Mu?mn:hn));while(0);kn(P,Tr,On,gr,ef,Aa),kn(P,Fn,lu,gr,As,Il);do if(Bu(P,Fn,lu)|0?0:(Xu(e,P)|0)==4){if((t[(m0(P,Fn)|0)+4>>2]|0)==3){O=0;break}O=(t[(y0(P,Fn)|0)+4>>2]|0)!=3}else O=0;while(0);hn=w(C[Aa>>2]),mn=w(C[Il>>2]),H1=t[ef>>2]|0,u0=t[As>>2]|0,Gt(P,Mu?hn:mn,Mu?mn:hn,ml,Mu?H1:u0,Mu?u0:H1,gr,is,S&(O^1),3488,M)|0,p[$a>>0]=p[$a>>0]|p[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(hr+n),u0=n>0]=u0|k[$a>>0],ed&n>w(0)?(O=t[Za>>2]|0,((t[e+364+(O<<3)+4>>2]|0)!=0?(Bl=w(Sn(e+364+(O<<3)|0,us)),Bl>=w(0)):0)?ve=w(Eu(w(0),w(Bl-w(On-n)))):ve=w(0)):ve=n,Qt=kr>>>0>>0,Qt){Pe=t[os>>2]|0,K=kr,O=0;do P=t[Pe+(K<<2)>>2]|0,t[P+24>>2]|0||(O=((t[(m0(P,Tr)|0)+4>>2]|0)==3&1)+O|0,O=O+((t[(y0(P,Tr)|0)+4>>2]|0)==3&1)|0),K=K+1|0;while((K|0)!=(Nn|0));O?(We=w(0),r=w(0)):si=101}else si=101;e:do if((si|0)==101)switch(si=0,ud|0){case 1:{O=0,We=w(ve*w(.5)),r=w(0);break e}case 2:{O=0,We=ve,r=w(0);break e}case 3:{if(s>>>0<=1){O=0,We=w(0),r=w(0);break e}r=w((s+-1|0)>>>0),O=0,We=w(0),r=w(w(Eu(ve,w(0)))/r);break e}case 5:{r=w(ve/w((s+1|0)>>>0)),O=0,We=r;break e}case 4:{r=w(ve/w(s>>>0)),O=0,We=w(r*w(.5));break e}default:{O=0,We=w(0),r=w(0);break e}}while(0);if(n=w(od+We),Qt){Qe=w(ve/w(O|0)),K=t[os>>2]|0,P=kr,ve=w(0);do{O=t[K+(P<<2)>>2]|0;e:do if((t[O+36>>2]|0)!=1){switch(t[O+24>>2]|0){case 1:{if(se(O,Tr)|0){if(!S)break e;hn=w(re(O,Tr,On)),hn=w(hn+w(R0(e,Tr))),hn=w(hn+w(Li(O,Tr,gr))),C[O+400+(t[kc>>2]<<2)>>2]=hn;break e}break}case 0:if(u0=(t[(m0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,S&&(u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(n+w(C[u0>>2]))),u0=(t[(y0(O,Tr)|0)+4>>2]|0)==3,hn=w(Qe+n),n=u0?hn:n,Xs){hn=w(r+w(Yt(O,Tr,gr))),ve=lu,n=w(n+w(hn+w(C[O+504>>2])));break e}else{n=w(n+w(r+w(Le(O,Tr,gr)))),ve=w(Eu(ve,w(Le(O,Fn,gr))));break e}default:}S&&(hn=w(We+w(R0(e,Tr))),u0=O+400+(t[kc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2])))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}else ve=w(0);if(r=w(ld+n),td?We=w(w(Wn(e,Fn,w(Ul+ve),Vf,h))-Ul):We=lu,Qe=w(w(Wn(e,Fn,w(Ul+(id?lu:ve)),Vf,h))-Ul),Qt&S){P=kr;do{K=t[(t[os>>2]|0)+(P<<2)>>2]|0;do if((t[K+36>>2]|0)!=1){if((t[K+24>>2]|0)==1){if(se(K,Fn)|0){if(hn=w(re(K,Fn,lu)),hn=w(hn+w(R0(e,Fn))),hn=w(hn+w(Li(K,Fn,gr))),O=t[Oc>>2]|0,C[K+400+(O<<2)>>2]=hn,!(Me(hn)|0))break}else O=t[Oc>>2]|0;hn=w(R0(e,Fn)),C[K+400+(O<<2)>>2]=w(hn+w(Li(K,Fn,gr)));break}O=Xu(e,K)|0;do if((O|0)==4){if((t[(m0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if((t[(y0(K,Fn)|0)+4>>2]|0)==3){si=139;break}if(Bu(K,Fn,lu)|0){n=Ee;break}H1=t[K+908+(t[Za>>2]<<2)>>2]|0,t[Il>>2]=H1,n=w(C[K+396>>2]),u0=Me(n)|0,ve=(t[W>>2]=H1,w(C[W>>2])),u0?n=Qe:(hr=w(Yt(K,Fn,gr)),hn=w(ve/n),n=w(n*ve),n=w(hr+(Mu?hn:n))),C[Aa>>2]=n,C[Il>>2]=w(w(Yt(K,Tr,gr))+ve),t[As>>2]=1,t[ef>>2]=1,kn(K,Tr,On,gr,As,Il),kn(K,Fn,lu,gr,ef,Aa),n=w(C[Il>>2]),hr=w(C[Aa>>2]),hn=Mu?n:hr,n=Mu?hr:n,u0=((Me(hn)|0)^1)&1,Gt(K,hn,n,ml,u0,((Me(n)|0)^1)&1,gr,is,1,3493,M)|0,n=Ee}else si=139;while(0);e:do if((si|0)==139){si=0,n=w(We-w(Le(K,Fn,gr)));do if((t[(m0(K,Fn)|0)+4>>2]|0)==3){if((t[(y0(K,Fn)|0)+4>>2]|0)!=3)break;n=w(Ee+w(Eu(w(0),w(n*w(.5)))));break e}while(0);if((t[(y0(K,Fn)|0)+4>>2]|0)==3){n=Ee;break}if((t[(m0(K,Fn)|0)+4>>2]|0)==3){n=w(Ee+w(Eu(w(0),n)));break}switch(O|0){case 1:{n=Ee;break e}case 2:{n=w(Ee+w(n*w(.5)));break e}default:{n=w(Ee+n);break e}}}while(0);hn=w(vl+n),u0=K+400+(t[Oc>>2]<<2)|0,C[u0>>2]=w(hn+w(C[u0>>2]))}while(0);P=P+1|0}while((P|0)!=(Nn|0))}if(vl=w(vl+Qe),qf=w(Eu(qf,r)),s=rs+1|0,Nn>>>0>=jl>>>0)break;n=On,kr=Nn,rs=s}do if(S){if(O=s>>>0>1,O?0:!(Ae(e)|0))break;if(!(Me(lu)|0)){n=w(lu-vl);e:do switch(t[e+12>>2]|0){case 3:{Ee=w(Ee+n),Re=w(0);break}case 2:{Ee=w(Ee+w(n*w(.5))),Re=w(0);break}case 4:{lu>vl?Re=w(n/w(s>>>0)):Re=w(0);break}case 7:if(lu>vl){Ee=w(Ee+w(n/w(s<<1>>>0))),Re=w(n/w(s>>>0)),Re=O?Re:w(0);break e}else{Ee=w(Ee+w(n*w(.5))),Re=w(0);break e}case 6:{Re=w(n/w(rs>>>0)),Re=lu>vl&O?Re:w(0);break}default:Re=w(0)}while(0);if(s|0)for(Qt=1040+(Fn<<2)|0,Lr=976+(Fn<<2)|0,Pe=0,P=0;;){e:do if(P>>>0>>0)for(ve=w(0),Qe=w(0),n=w(0),K=P;;){O=t[(t[os>>2]|0)+(K<<2)>>2]|0;do if((t[O+36>>2]|0)!=1?(t[O+24>>2]|0)==0:0){if((t[O+940>>2]|0)!=(Pe|0))break e;if(ot(O,Fn)|0&&(hn=w(C[O+908+(t[Lr>>2]<<2)>>2]),n=w(Eu(n,w(hn+w(Yt(O,Fn,gr)))))),(Xu(e,O)|0)!=5)break;Bl=w(vt(O)),Bl=w(Bl+w(Li(O,0,gr))),hn=w(C[O+912>>2]),hn=w(w(hn+w(Yt(O,0,gr)))-Bl),Bl=w(Eu(Qe,Bl)),hn=w(Eu(ve,hn)),ve=hn,Qe=Bl,n=w(Eu(n,w(Bl+hn)))}while(0);if(O=K+1|0,O>>>0>>0)K=O;else{K=O;break}}else Qe=w(0),n=w(0),K=P;while(0);if(st=w(Re+n),r=Ee,Ee=w(Ee+st),P>>>0>>0){We=w(r+Qe),O=P;do{P=t[(t[os>>2]|0)+(O<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(Xu(e,P)|0){case 1:{hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 3:{hn=w(w(Ee-w(A0(P,Fn,gr)))-w(C[P+908+(t[Lr>>2]<<2)>>2])),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 2:{hn=w(r+w(w(st-w(C[P+908+(t[Lr>>2]<<2)>>2]))*w(.5))),C[P+400+(t[Qt>>2]<<2)>>2]=hn;break e}case 4:{if(hn=w(r+w(Li(P,Fn,gr))),C[P+400+(t[Qt>>2]<<2)>>2]=hn,Bu(P,Fn,lu)|0||(Mu?(ve=w(C[P+908>>2]),n=w(ve+w(Yt(P,Tr,gr))),Qe=st):(Qe=w(C[P+912>>2]),Qe=w(Qe+w(Yt(P,Fn,gr))),n=st,ve=w(C[P+908>>2])),gi(n,ve)|0?gi(Qe,w(C[P+912>>2]))|0:0))break e;Gt(P,n,Qe,ml,1,1,gr,is,1,3501,M)|0;break e}case 5:{C[P+404>>2]=w(w(We-w(vt(P)))+w(re(P,0,lu)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(K|0))}if(Pe=Pe+1|0,(Pe|0)==(s|0))break;P=K}}}while(0);if(C[e+908>>2]=w(Wn(e,2,Hf,h,h)),C[e+912>>2]=w(Wn(e,0,I1,D,h)),((tf|0)!=0?(B1=t[e+32>>2]|0,U1=(tf|0)==2,!(U1&(B1|0)!=2)):0)?U1&(B1|0)==2&&(n=w(Wf+On),n=w(Eu(w(Yp(n,w(Xt(e,Tr,qf,us)))),Wf)),si=198):(n=w(Wn(e,Tr,qf,us,h)),si=198),(si|0)==198&&(C[e+908+(t[976+(Tr<<2)>>2]<<2)>>2]=n),((nf|0)!=0?(z1=t[e+32>>2]|0,q1=(nf|0)==2,!(q1&(z1|0)!=2)):0)?q1&(z1|0)==2&&(n=w(Ul+lu),n=w(Eu(w(Yp(n,w(Xt(e,Fn,w(Ul+vl),Vf)))),Ul)),si=204):(n=w(Wn(e,Fn,w(Ul+vl),Vf,h)),si=204),(si|0)==204&&(C[e+908+(t[976+(Fn<<2)>>2]<<2)>>2]=n),S){if((t[j1>>2]|0)==2){P=976+(Fn<<2)|0,K=1040+(Fn<<2)|0,O=0;do Pe=yi(e,O)|0,t[Pe+24>>2]|0||(H1=t[P>>2]|0,hn=w(C[e+908+(H1<<2)>>2]),u0=Pe+400+(t[K>>2]<<2)|0,hn=w(hn-w(C[u0>>2])),C[u0>>2]=w(hn-w(C[Pe+908+(H1<<2)>>2]))),O=O+1|0;while((O|0)!=(jl|0))}if(u|0){O=Mu?tf:l;do xn(e,u,gr,O,is,ml,M),u=t[u+960>>2]|0;while((u|0)!=0)}if(O=(Tr|2|0)==3,P=(Fn|2|0)==3,O|P){u=0;do K=t[(t[os>>2]|0)+(u<<2)>>2]|0,(t[K+36>>2]|0)!=1&&(O&&_n(e,K,Tr),P&&_n(e,K,Fn)),u=u+1|0;while((u|0)!=(jl|0))}}}while(0);m=rf}function Gu(e,n){e=e|0,n=w(n);var r=0;Dn(e,n>=w(0),3147),r=n==w(0),C[e+4>>2]=r?w(0):n}function Kr(e,n,r,u){e=e|0,n=w(n),r=w(r),u=u|0;var l=St,s=St,h=0,D=0,S=0;t[2278]=(t[2278]|0)+1,Vr(e),Bu(e,2,n)|0?(l=w(Sn(t[e+992>>2]|0,n)),S=1,l=w(l+w(Yt(e,2,n)))):(l=w(Sn(e+380|0,n)),l>=w(0)?S=2:(S=((Me(n)|0)^1)&1,l=n)),Bu(e,0,r)|0?(s=w(Sn(t[e+996>>2]|0,r)),D=1,s=w(s+w(Yt(e,0,n)))):(s=w(Sn(e+388|0,r)),s>=w(0)?D=2:(D=((Me(r)|0)^1)&1,s=r)),h=e+976|0,(Gt(e,l,s,u,S,D,n,r,1,3189,t[h>>2]|0)|0?(C0(e,t[e+496>>2]|0,n,r,n),Au(e,w(C[(t[h>>2]|0)+4>>2]),w(0),w(0)),p[11696]|0):0)&&ff(e,7)}function Vr(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;D=m,m=m+32|0,h=D+24|0,s=D+16|0,u=D+8|0,l=D,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(S=n,M=t[S+4>>2]|0,O=u,t[O>>2]=t[S>>2],t[O+4>>2]=M,O=e+364+(r<<3)|0,M=t[O+4>>2]|0,S=l,t[S>>2]=t[O>>2],t[S+4>>2]=M,t[s>>2]=t[u>>2],t[s+4>>2]=t[u+4>>2],t[h>>2]=t[l>>2],t[h+4>>2]=t[l+4>>2],Oi(s,h)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);m=D}function Bu(e,n,r){e=e|0,n=n|0,r=w(r);var u=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(C[e>>2])>2])>2]|0){case 2:{n=w(w(w(C[e>>2])*n)/w(100));break}case 1:{n=w(C[e>>2]);break}default:n=w(le)}return w(n)}function C0(e,n,r,u,l){e=e|0,n=n|0,r=w(r),u=w(u),l=w(l);var s=0,h=St;n=t[e+944>>2]|0?n:1,s=I0(t[e+4>>2]|0,n)|0,n=df(s,n)|0,r=w(Sr(e,s,r)),u=w(Sr(e,n,u)),h=w(r+w(Li(e,s,l))),C[e+400+(t[1040+(s<<2)>>2]<<2)>>2]=h,r=w(r+w(A0(e,s,l))),C[e+400+(t[1e3+(s<<2)>>2]<<2)>>2]=r,r=w(u+w(Li(e,n,l))),C[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,l=w(u+w(A0(e,n,l))),C[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=l}function Au(e,n,r,u){e=e|0,n=w(n),r=w(r),u=w(u);var l=0,s=0,h=St,D=St,S=0,M=0,O=St,P=0,K=St,Pe=St,Ee=St,ve=St;if(n!=w(0)&&(l=e+400|0,ve=w(C[l>>2]),s=e+404|0,Ee=w(C[s>>2]),P=e+416|0,Pe=w(C[P>>2]),M=e+420|0,h=w(C[M>>2]),K=w(ve+r),O=w(Ee+u),u=w(K+Pe),D=w(O+h),S=(t[e+988>>2]|0)==1,C[l>>2]=w(J0(ve,n,0,S)),C[s>>2]=w(J0(Ee,n,0,S)),r=w(YE(w(Pe*n),w(1))),gi(r,w(0))|0?s=0:s=(gi(r,w(1))|0)^1,r=w(YE(w(h*n),w(1))),gi(r,w(0))|0?l=0:l=(gi(r,w(1))|0)^1,ve=w(J0(u,n,S&s,S&(s^1))),C[P>>2]=w(ve-w(J0(K,n,0,S))),ve=w(J0(D,n,S&l,S&(l^1))),C[M>>2]=w(ve-w(J0(O,n,0,S))),s=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,s|0)){l=0;do Au(yi(e,l)|0,n,K,O),l=l+1|0;while((l|0)!=(s|0))}}function ei(e,n,r,u,l){switch(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,r|0){case 5:case 0:{e=F8(t[489]|0,u,l)|0;break}default:e=QI(u,l)|0}return e|0}function _l(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;l=m,m=m+16|0,s=l,t[s>>2]=u,Ps(e,0,n,r,s),m=l}function Ps(e,n,r,u,l){if(e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,e=e|0?e:956,tS[t[e+8>>2]&1](e,n,r,u,l)|0,(r|0)==5)Xn();else return}function Uu(e,n,r){e=e|0,n=n|0,r=r|0,p[e+n>>0]=r&1}function na(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(zi(e,u),Is(e,t[n>>2]|0,t[r>>2]|0,u))}function zi(e,n){e=e|0,n=n|0;var r=0;if((x0(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function Is(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function x0(e){return e=e|0,1073741823}function Li(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=dt(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w($o(e,r))}function A0(e,n,r){return e=e|0,n=n|0,r=w(r),(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=dt(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w($o(e,r))}function Fi(e){return e=e|0,(e|1|0)==3|0}function $o(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Sn(e,n)),w(n)}function El(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function I0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function R0(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(C[e+308>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function co(e,n){e=e|0,n=n|0;var r=St;return((Fi(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(C[e+316>>2]),r>=w(0)):0)||(r=w(Eu(w(C[(dt(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function Ru(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+240>>2]|0)!=0:0)?(u=w(Sn(e+236|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Yu(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return((Fi(n)|0?(t[e+248>>2]|0)!=0:0)?(u=w(Sn(e+244|0,r)),u>=w(0)):0)||(u=w(Eu(w(Sn(dt(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(u)}function Xl(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St,P=St,K=St,Pe=0,Ee=0,ve=0;ve=m,m=m+16|0,Pe=ve,Ee=e+964|0,Iu(e,(t[Ee>>2]|0)!=0,3519),D=w(wr(e,2,n)),S=w(wr(e,0,n)),M=w(Yt(e,2,n)),O=w(Yt(e,0,n)),Me(n)|0?P=n:P=w(Eu(w(0),w(w(n-M)-D))),Me(r)|0?K=r:K=w(Eu(w(0),w(w(r-O)-S))),(u|0)==1&(l|0)==1?(C[e+908>>2]=w(Wn(e,2,w(n-M),s,s)),n=w(Wn(e,0,w(r-O),h,s))):(nS[t[Ee>>2]&1](Pe,e,P,u,K,l),P=w(D+w(C[Pe>>2])),K=w(n-M),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?P:K,s,s)),K=w(S+w(C[Pe+4>>2])),n=w(r-O),n=w(Wn(e,0,(l|2|0)==2?K:n,h,s))),C[e+912>>2]=n,m=ve}function hs(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=St,S=St,M=St,O=St;M=w(wr(e,2,s)),D=w(wr(e,0,s)),O=w(Yt(e,2,s)),S=w(Yt(e,0,s)),n=w(n-O),C[e+908>>2]=w(Wn(e,2,(u|2|0)==2?M:n,s,s)),r=w(r-S),C[e+912>>2]=w(Wn(e,0,(l|2|0)==2?D:r,h,s))}function ra(e,n,r,u,l,s,h){e=e|0,n=w(n),r=w(r),u=u|0,l=l|0,s=w(s),h=w(h);var D=0,S=St,M=St;return D=(u|0)==2,((n<=w(0)&D?0:!(r<=w(0)&(l|0)==2))?!((u|0)==1&(l|0)==1):0)?e=0:(S=w(Yt(e,0,s)),M=w(Yt(e,2,s)),D=n>2]=w(Wn(e,2,D?w(0):n,s,s)),n=w(r-S),D=r>2]=w(Wn(e,0,D?w(0):n,h,s)),e=1),e|0}function df(e,n){return e=e|0,n=n|0,yn(e)|0?e=I0(2,n)|0:e=0,e|0}function Ku(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Ru(e,n,r)),w(r+w(R0(e,n)))}function vs(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(Yu(e,n,r)),w(r+w(co(e,n)))}function wr(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(Ku(e,n,r)),w(u+w(vs(e,n,r)))}function $0(e){return e=e|0,t[e+24>>2]|0?e=0:w(Xi(e))!=w(0)?e=1:e=w(ru(e))!=w(0),e|0}function Xi(e){e=e|0;var n=St;if(t[e+944>>2]|0){if(n=w(C[e+44>>2]),Me(n)|0)return n=w(C[e+40>>2]),e=n>w(0)&((Me(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function ru(e){e=e|0;var n=St,r=0,u=St;do if(t[e+944>>2]|0){if(n=w(C[e+48>>2]),Me(n)|0){if(r=p[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(u=w(C[e+40>>2]),u>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function Ci(e){e=e|0;var n=0,r=0;if(Iv(e+400|0,0,540)|0,p[e+985>>0]=1,cs(e),r=mu(e)|0,r|0){n=e+948|0,e=0;do Ci(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function Xr(e,n,r,u,l,s,h,D,S,M){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=w(s),h=w(h),D=D|0,S=S|0,M=M|0;var O=0,P=St,K=0,Pe=0,Ee=St,ve=St,Qe=0,We=St,st=0,Re=St,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0;Zi=m,m=m+16|0,Lr=Zi+12|0,Nn=Zi+8|0,mn=Zi+4|0,hr=Zi,On=I0(t[e+4>>2]|0,S)|0,Fe=Fi(On)|0,P=w(Sn(En(n)|0,Fe?s:h)),Qt=Bu(n,2,s)|0,kr=Bu(n,0,h)|0;do if(Me(P)|0?0:!(Me(Fe?r:l)|0)){if(O=n+504|0,!(Me(w(C[O>>2]))|0)&&(!(er(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;C[O>>2]=w(Eu(P,w(wr(n,On,s))))}else K=7;while(0);do if((K|0)==7){if(st=Fe^1,!(st|Qt^1)){h=w(Sn(t[n+992>>2]|0,s)),C[n+504>>2]=w(Eu(h,w(wr(n,2,s))));break}if(!(Fe|kr^1)){h=w(Sn(t[n+996>>2]|0,h)),C[n+504>>2]=w(Eu(h,w(wr(n,0,s))));break}C[Lr>>2]=w(le),C[Nn>>2]=w(le),t[mn>>2]=0,t[hr>>2]=0,We=w(Yt(n,2,s)),Re=w(Yt(n,0,s)),Qt?(Ee=w(We+w(Sn(t[n+992>>2]|0,s))),C[Lr>>2]=Ee,t[mn>>2]=1,Pe=1):(Pe=0,Ee=w(le)),kr?(P=w(Re+w(Sn(t[n+996>>2]|0,h))),C[Nn>>2]=P,t[hr>>2]=1,O=1):(O=0,P=w(le)),K=t[e+32>>2]|0,Fe&(K|0)==2?K=2:(Me(Ee)|0?!(Me(r)|0):0)&&(C[Lr>>2]=r,t[mn>>2]=2,Pe=2,Ee=r),(((K|0)==2&st?0:Me(P)|0)?!(Me(l)|0):0)&&(C[Nn>>2]=l,t[hr>>2]=2,O=2,P=l),ve=w(C[n+396>>2]),Qe=Me(ve)|0;do if(Qe)K=Pe;else{if((Pe|0)==1&st){C[Nn>>2]=w(w(Ee-We)/ve),t[hr>>2]=1,O=1,K=1;break}Fe&(O|0)==1?(C[Lr>>2]=w(ve*w(P-Re)),t[mn>>2]=1,O=1,K=1):K=Pe}while(0);ts=Me(r)|0,Pe=(Xu(e,n)|0)!=4,(Fe|Qt|((u|0)!=1|ts)|(Pe|(K|0)==1)?0:(C[Lr>>2]=r,t[mn>>2]=1,!Qe))&&(C[Nn>>2]=w(w(r-We)/ve),t[hr>>2]=1,O=1),(kr|st|((D|0)!=1|(Me(l)|0))|(Pe|(O|0)==1)?0:(C[Nn>>2]=l,t[hr>>2]=1,!Qe))&&(C[Lr>>2]=w(ve*w(l-Re)),t[mn>>2]=1),kn(n,2,s,s,mn,Lr),kn(n,0,h,s,hr,Nn),r=w(C[Lr>>2]),l=w(C[Nn>>2]),Gt(n,r,l,S,t[mn>>2]|0,t[hr>>2]|0,s,h,0,3565,M)|0,h=w(C[n+908+(t[976+(On<<2)>>2]<<2)>>2]),C[n+504>>2]=w(Eu(h,w(wr(n,On,s))))}while(0);t[n+500>>2]=t[2278],m=Zi}function Wn(e,n,r,u,l){return e=e|0,n=n|0,r=w(r),u=w(u),l=w(l),u=w(Xt(e,n,r,u)),w(Eu(u,w(wr(e,n,l))))}function Xu(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?yn(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function m0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function y0(e,n){return e=e|0,n=n|0,(Fi(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function kn(e,n,r,u,l,s){switch(e=e|0,n=n|0,r=w(r),u=w(u),l=l|0,s=s|0,r=w(Sn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(Yt(e,n,u))),t[l>>2]|0){case 2:case 1:{l=Me(r)|0,u=w(C[s>>2]),C[s>>2]=l|u>2]=2,C[s>>2]=r);break}default:}}function se(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function re(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,4,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1040+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Le(e,n,r){e=e|0,n=n|0,r=w(r);var u=St;return u=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),u=w(u+w(Li(e,n,r))),w(u+w(A0(e,n,r)))}function Ae(e){e=e|0;var n=0,r=0,u=0;e:do if(yn(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=mu(e)|0,!r)n=0;else for(n=0;;){if(u=yi(e,n)|0,(t[u+24>>2]|0)==0?(t[u+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function ot(e,n){e=e|0,n=n|0;var r=St;return r=w(C[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((Me(r)|0)^1)|0}function vt(e){e=e|0;var n=St,r=0,u=0,l=0,s=0,h=0,D=0,S=St;if(r=t[e+968>>2]|0,r)S=w(C[e+908>>2]),n=w(C[e+912>>2]),n=w(J8[r&0](e,S,n)),Iu(e,(Me(n)|0)^1,3573);else{s=mu(e)|0;do if(s|0){for(r=0,l=0;;){if(u=yi(e,l)|0,t[u+940>>2]|0){h=8;break}if((t[u+24>>2]|0)!=1)if(D=(Xu(e,u)|0)==5,D){r=u;break}else r=(r|0)==0?u:r;if(l=l+1|0,l>>>0>=s>>>0){h=8;break}}if((h|0)==8&&!r)break;return n=w(vt(r)),w(n+w(C[r+404>>2]))}while(0);n=w(C[e+912>>2])}return w(n)}function Xt(e,n,r,u){e=e|0,n=n|0,r=w(r),u=w(u);var l=St,s=0;return yn(n)|0?(n=1,s=3):Fi(n)|0?(n=0,s=3):(u=w(le),l=w(le)),(s|0)==3&&(l=w(Sn(e+364+(n<<3)|0,u)),u=w(Sn(e+380+(n<<3)|0,u))),s=u=w(0)&((Me(u)|0)^1)),r=s?u:r,s=l>=w(0)&((Me(l)|0)^1)&r>2]|0,s)|0,Ee=df(Qe,s)|0,ve=Fi(Qe)|0,P=w(Yt(n,2,r)),K=w(Yt(n,0,r)),Bu(n,2,r)|0?D=w(P+w(Sn(t[n+992>>2]|0,r))):(se(n,2)|0?It(n,2)|0:0)?(D=w(C[e+908>>2]),S=w(R0(e,2)),S=w(D-w(S+w(co(e,2)))),D=w(re(n,2,r)),D=w(Wn(n,2,w(S-w(D+w(xi(n,2,r)))),r,r))):D=w(le),Bu(n,0,l)|0?S=w(K+w(Sn(t[n+996>>2]|0,l))):(se(n,0)|0?It(n,0)|0:0)?(S=w(C[e+912>>2]),st=w(R0(e,0)),st=w(S-w(st+w(co(e,0)))),S=w(re(n,0,l)),S=w(Wn(n,0,w(st-w(S+w(xi(n,0,l)))),l,r))):S=w(le),M=Me(D)|0,O=Me(S)|0;do if(M^O?(Pe=w(C[n+396>>2]),!(Me(Pe)|0)):0)if(M){D=w(P+w(w(S-K)*Pe));break}else{st=w(K+w(w(D-P)/Pe)),S=O?st:S;break}while(0);O=Me(D)|0,M=Me(S)|0,O|M&&(Re=(O^1)&1,u=r>w(0)&((u|0)!=0&O),D=ve?D:u?r:D,Gt(n,D,S,s,ve?Re:u?2:Re,O&(M^1)&1,D,S,0,3623,h)|0,D=w(C[n+908>>2]),D=w(D+w(Yt(n,2,r))),S=w(C[n+912>>2]),S=w(S+w(Yt(n,0,r)))),Gt(n,D,S,s,1,1,D,S,1,3635,h)|0,(It(n,Qe)|0?!(se(n,Qe)|0):0)?(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Qe))),st=w(st-w(A0(n,Qe,r))),st=w(st-w(xi(n,Qe,ve?r:l))),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st):We=21;do if((We|0)==21){if(se(n,Qe)|0?0:(t[e+8>>2]|0)==1){Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st;break}(se(n,Qe)|0?0:(t[e+8>>2]|0)==2)&&(Re=t[976+(Qe<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Qe<<2)>>2]<<2)>>2]=st)}while(0);(It(n,Ee)|0?!(se(n,Ee)|0):0)?(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),st=w(st-w(co(e,Ee))),st=w(st-w(A0(n,Ee,r))),st=w(st-w(xi(n,Ee,ve?l:r))),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st):We=30;do if((We|0)==30?!(se(n,Ee)|0):0){if((Xu(e,n)|0)==2){Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(w(st-w(C[n+908+(Re<<2)>>2]))*w(.5)),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st;break}Re=(Xu(e,n)|0)==3,Re^(t[e+28>>2]|0)==2&&(Re=t[976+(Ee<<2)>>2]|0,st=w(C[e+908+(Re<<2)>>2]),st=w(st-w(C[n+908+(Re<<2)>>2])),C[n+400+(t[1040+(Ee<<2)>>2]<<2)>>2]=st)}while(0)}function _n(e,n,r){e=e|0,n=n|0,r=r|0;var u=St,l=0;l=t[976+(r<<2)>>2]|0,u=w(C[n+908+(l<<2)>>2]),u=w(w(C[e+908+(l<<2)>>2])-u),u=w(u-w(C[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),C[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=u}function yn(e){return e=e|0,(e|1|0)==1|0}function En(e){e=e|0;var n=St;switch(t[e+56>>2]|0){case 0:case 3:{n=w(C[e+40>>2]),n>w(0)&((Me(n)|0)^1)?e=p[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function er(e,n){return e=e|0,n=n|0,(p[e+n>>0]|0)!=0|0}function It(e,n){return e=e|0,n=n|0,e=e+132|0,(Fi(n)|0?(t[(dt(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(dt(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function xi(e,n,r){e=e|0,n=n|0,r=w(r);var u=0,l=0;return e=e+132|0,(Fi(n)|0?(u=dt(e,5,948)|0,(t[u+4>>2]|0)!=0):0)?l=4:(u=dt(e,t[1e3+(n<<2)>>2]|0,948)|0,t[u+4>>2]|0?l=4:r=w(0)),(l|0)==4&&(r=w(Sn(u,r))),w(r)}function Sr(e,n,r){return e=e|0,n=n|0,r=w(r),se(e,n)|0?r=w(re(e,n,r)):r=w(-w(xi(e,n,r))),w(r)}function cr(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function Y(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function Qr(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Jr(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function Ur(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;if(h=e+4|0,D=t[h>>2]|0,l=D-u|0,s=l>>2,e=n+(s<<2)|0,e>>>0>>0){u=D;do t[u>>2]=t[e>>2],e=e+4|0,u=(t[h>>2]|0)+4|0,t[h>>2]=u;while(e>>>0>>0)}s|0&&Iy(D+(0-s<<2)|0,n|0,l|0)|0}function lt(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return D=n+4|0,S=t[D>>2]|0,l=t[e>>2]|0,h=r,s=h-l|0,u=S+(0-(s>>2)<<2)|0,t[D>>2]=u,(s|0)>0&&pr(u|0,l|0,s|0)|0,l=e+4|0,s=n+8|0,u=(t[l>>2]|0)-h|0,(u|0)>0&&(pr(t[s>>2]|0,r|0,u|0)|0,t[s>>2]=(t[s>>2]|0)+(u>>>2<<2)),h=t[e>>2]|0,t[e>>2]=t[D>>2],t[D>>2]=h,h=t[l>>2]|0,t[l>>2]=t[s>>2],t[s>>2]=h,h=e+8|0,r=n+12|0,e=t[h>>2]|0,t[h>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[D>>2],S|0}function hi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(h=t[n>>2]|0,s=t[r>>2]|0,(h|0)!=(s|0)){l=e+8|0,r=((s+-4-h|0)>>>2)+1|0,e=h,u=t[l>>2]|0;do t[u>>2]=t[e>>2],u=(t[l>>2]|0)+4|0,t[l>>2]=u,e=e+4|0;while((e|0)!=(s|0));t[n>>2]=h+(r<<2)}}function Qi(){_e()}function g0(){var e=0;return e=cn(4)|0,bn(e),e|0}function bn(e){e=e|0,t[e>>2]=p0()|0}function Qu(e){e=e|0,e|0&&(eo(e),yt(e))}function eo(e){e=e|0,K0(t[e>>2]|0)}function po(e,n,r){e=e|0,n=n|0,r=r|0,Uu(t[e>>2]|0,n,r)}function Ju(e,n){e=e|0,n=w(n),Gu(t[e>>2]|0,n)}function bo(e,n){return e=e|0,n=n|0,er(t[e>>2]|0,n)|0}function to(){var e=0;return e=cn(8)|0,Na(e,0),e|0}function Na(e,n){e=e|0,n=n|0,n?n=Hn(t[n>>2]|0)|0:n=or()|0,t[e>>2]=n,t[e+4>>2]=0,Ma(n,e)}function pf(e){e=e|0;var n=0;return n=cn(8)|0,Na(n,e),n|0}function uc(e){e=e|0,e|0&&(ms(e),yt(e))}function ms(e){e=e|0;var n=0;bu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(ia(e),yt(e))}function ia(e){e=e|0,B0(e)}function B0(e){e=e|0,e=t[e>>2]|0,e|0&&Ir(e|0)}function oc(e){return e=e|0,Ls(e)|0}function La(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),ao(t[e>>2]|0)}function gd(e,n){e=e|0,n=n|0,ea(t[e>>2]|0,t[n>>2]|0)}function $1(e,n){e=e|0,n=n|0,Z(t[e>>2]|0,n)}function e2(e,n,r){e=e|0,n=n|0,r=+r,lr(t[e>>2]|0,n,w(r))}function ho(e,n,r){e=e|0,n=n|0,r=+r,Qn(t[e>>2]|0,n,w(r))}function Uc(e,n){e=e|0,n=n|0,z(t[e>>2]|0,n)}function Dl(e,n){e=e|0,n=n|0,$(t[e>>2]|0,n)}function el(e,n){e=e|0,n=n|0,me(t[e>>2]|0,n)}function _d(e,n){e=e|0,n=n|0,h0(t[e>>2]|0,n)}function Bs(e,n){e=e|0,n=n|0,Xe(t[e>>2]|0,n)}function wl(e,n){e=e|0,n=n|0,Ni(t[e>>2]|0,n)}function t2(e,n,r){e=e|0,n=n|0,r=+r,Cn(t[e>>2]|0,n,w(r))}function Po(e,n,r){e=e|0,n=n|0,r=+r,Ar(t[e>>2]|0,n,w(r))}function Fa(e,n){e=e|0,n=n|0,Rr(t[e>>2]|0,n)}function ba(e,n){e=e|0,n=n|0,ie(t[e>>2]|0,n)}function Pa(e,n){e=e|0,n=n|0,tt(t[e>>2]|0,n)}function ua(e,n){e=e|0,n=+n,kt(t[e>>2]|0,w(n))}function ys(e,n){e=e|0,n=+n,tn(t[e>>2]|0,w(n))}function gs(e,n){e=e|0,n=+n,Lt(t[e>>2]|0,w(n))}function Ql(e,n){e=e|0,n=+n,bt(t[e>>2]|0,w(n))}function Io(e,n){e=e|0,n=+n,on(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,sn(t[e>>2]|0,w(n))}function tl(e,n){e=e|0,n=+n,Yn(t[e>>2]|0,w(n))}function ju(e){e=e|0,yr(t[e>>2]|0)}function Ia(e,n){e=e|0,n=+n,Cu(t[e>>2]|0,w(n))}function Zu(e,n){e=e|0,n=+n,S0(t[e>>2]|0,w(n))}function U0(e){e=e|0,X0(t[e>>2]|0)}function vf(e,n){e=e|0,n=+n,di(t[e>>2]|0,w(n))}function jc(e,n){e=e|0,n=+n,ko(t[e>>2]|0,w(n))}function lc(e,n){e=e|0,n=+n,sf(t[e>>2]|0,w(n))}function Sl(e,n){e=e|0,n=+n,gl(t[e>>2]|0,w(n))}function _s(e,n){e=e|0,n=+n,Mo(t[e>>2]|0,w(n))}function oa(e,n){e=e|0,n=+n,ds(t[e>>2]|0,w(n))}function n2(e,n){e=e|0,n=+n,No(t[e>>2]|0,w(n))}function la(e,n){e=e|0,n=+n,Lo(t[e>>2]|0,w(n))}function sc(e,n){e=e|0,n=+n,Vu(t[e>>2]|0,w(n))}function zc(e,n,r){e=e|0,n=n|0,r=+r,Ft(t[e>>2]|0,n,w(r))}function bi(e,n,r){e=e|0,n=n|0,r=+r,nt(t[e>>2]|0,n,w(r))}function g(e,n,r){e=e|0,n=n|0,r=+r,_t(t[e>>2]|0,n,w(r))}function y(e){return e=e|0,ke(t[e>>2]|0)|0}function A(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,_r(l,t[n>>2]|0,r),F(e,l),m=u}function F(e,n){e=e|0,n=n|0,I(e,t[n+4>>2]|0,+w(C[n>>2]))}function I(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,U[e+8>>3]=r}function J(e){return e=e|0,G(t[e>>2]|0)|0}function fe(e){return e=e|0,De(t[e>>2]|0)|0}function mt(e){return e=e|0,xe(t[e>>2]|0)|0}function Ct(e){return e=e|0,Fs(t[e>>2]|0)|0}function Mt(e){return e=e|0,ht(t[e>>2]|0)|0}function Er(e){return e=e|0,B(t[e>>2]|0)|0}function $u(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,v0(l,t[n>>2]|0,r),F(e,l),m=u}function iu(e){return e=e|0,qe(t[e>>2]|0)|0}function j0(e){return e=e|0,Tt(t[e>>2]|0)|0}function Tl(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,gn(u,t[n>>2]|0),F(e,u),m=r}function e0(e){return e=e|0,+ +w(lf(t[e>>2]|0))}function He(e){return e=e|0,+ +w(Ns(t[e>>2]|0))}function Be(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,nu(u,t[n>>2]|0),F(e,u),m=r}function ut(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,xu(u,t[n>>2]|0),F(e,u),m=r}function Jt(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Zo(u,t[n>>2]|0),F(e,u),m=r}function jn(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,af(u,t[n>>2]|0),F(e,u),m=r}function ti(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,bs(u,t[n>>2]|0),F(e,u),m=r}function tr(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,ps(u,t[n>>2]|0),F(e,u),m=r}function ii(e){return e=e|0,+ +w(yu(t[e>>2]|0))}function qi(e,n){return e=e|0,n=n|0,+ +w(nn(t[e>>2]|0,n))}function jr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ze(l,t[n>>2]|0,r),F(e,l),m=u}function gu(e,n,r){e=e|0,n=n|0,r=r|0,ka(t[e>>2]|0,t[n>>2]|0,r)}function Ba(e,n){e=e|0,n=n|0,Tu(t[e>>2]|0,t[n>>2]|0)}function Ua(e){return e=e|0,mu(t[e>>2]|0)|0}function r2(e){return e=e|0,e=ri(t[e>>2]|0)|0,e?e=oc(e)|0:e=0,e|0}function Ed(e,n){return e=e|0,n=n|0,e=yi(t[e>>2]|0,n)|0,e?e=oc(e)|0:e=0,e|0}function Dd(e,n){e=e|0,n=n|0;var r=0,u=0;u=cn(4)|0,mf(u,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=u,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,1)}function mf(e,n){e=e|0,n=n|0,rl(e,n)}function i2(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,ch(D,Ls(n)|0,+r,u,+l,s),C[e>>2]=w(+U[D>>3]),C[e+4>>2]=w(+U[D+8>>3]),m=h}function ch(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0,D=0,S=0,M=0,O=0;h=m,m=m+32|0,O=h+8|0,M=h+20|0,S=h,D=h+16|0,U[O>>3]=r,t[M>>2]=u,U[S>>3]=l,t[D>>2]=s,qc(e,t[n+4>>2]|0,O,M,S,D),m=h}function qc(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0;h=m,m=m+16|0,D=h,Ta(D),n=vo(n)|0,dh(e,n,+U[r>>3],t[u>>2]|0,+U[l>>3],t[s>>2]|0),Ca(D),m=h}function vo(e){return e=e|0,t[e>>2]|0}function dh(e,n,r,u,l,s){e=e|0,n=n|0,r=+r,u=u|0,l=+l,s=s|0;var h=0;h=mo(ph()|0)|0,r=+Cl(r),u=u2(u)|0,l=+Cl(l),o2(e,Wr(0,h|0,n|0,+r,u|0,+l,u2(s)|0)|0)}function ph(){var e=0;return p[7608]|0||(Wc(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function mo(e){return e=e|0,t[e+8>>2]|0}function Cl(e){return e=+e,+ +ja(e)}function u2(e){return e=e|0,s2(e)|0}function o2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=n,u&1?(wd(r,0),Yi(u|0,r|0)|0,Hc(e,r),Mr(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),m=l}function wd(e,n){e=e|0,n=n|0,l2(e,n),t[e+8>>2]=0,p[e+24>>0]=0}function Hc(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Mr(e){e=e|0,p[e+24>>0]=0}function l2(e,n){e=e|0,n=n|0,t[e>>2]=n}function s2(e){return e=e|0,e|0}function ja(e){return e=+e,+e}function Wc(e){e=e|0,nl(e,Sd()|0,4)}function Sd(){return 1064}function nl(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=Pt(n|0,r+1|0)|0}function rl(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,Ei(n|0)}function hh(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(ia(n),yt(n)),$s(t[e>>2]|0,0)}function yf(e){e=e|0,Gr(t[e>>2]|0)}function Vc(e){return e=e|0,Yl(t[e>>2]|0)|0}function Td(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Kr(t[e>>2]|0,w(n),w(r),u)}function vh(e){return e=e|0,+ +w(pi(t[e>>2]|0))}function il(e){return e=e|0,+ +w(Q0(t[e>>2]|0))}function sa(e){return e=e|0,+ +w(T0(t[e>>2]|0))}function Cd(e){return e=e|0,+ +w(Fo(t[e>>2]|0))}function xd(e){return e=e|0,+ +w(ta(t[e>>2]|0))}function ac(e){return e=e|0,+ +w(Kl(t[e>>2]|0))}function mh(e,n){e=e|0,n=n|0,U[e>>3]=+w(pi(t[n>>2]|0)),U[e+8>>3]=+w(Q0(t[n>>2]|0)),U[e+16>>3]=+w(T0(t[n>>2]|0)),U[e+24>>3]=+w(Fo(t[n>>2]|0)),U[e+32>>3]=+w(ta(t[n>>2]|0)),U[e+40>>3]=+w(Kl(t[n>>2]|0))}function Ad(e,n){return e=e|0,n=n|0,+ +w(Ki(t[e>>2]|0,n))}function a2(e,n){return e=e|0,n=n|0,+ +w(Yr(t[e>>2]|0,n))}function Gc(e,n){return e=e|0,n=n|0,+ +w(fo(t[e>>2]|0,n))}function Yc(){return Oa()|0}function Us(){Rd(),aa(),Kc(),fc(),cc(),f2()}function Rd(){bN(11713,4938,1)}function aa(){eN(10448)}function Kc(){bM(10408)}function fc(){iM(10324)}function cc(){yE(10096)}function f2(){yh(9132)}function yh(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0,ts=0,ns=0,rs=0,Xs=0,$2=0,ed=0,Za=0,td=0,Oc=0,kc=0,nd=0,rd=0,id=0,si=0,$a=0,ud=0,zf=0,od=0,ld=0,Mc=0,Nc=0,qf=0,Il=0,Aa=0,As=0,ef=0,L1=0,F1=0,Lc=0,b1=0,P1=0,Bl=0,vl=0,tf=0,lu=0,I1=0,is=0,Hf=0,us=0,Wf=0,B1=0,U1=0,Vf=0,Ul=0,nf=0,j1=0,z1=0,q1=0,gr=0,Mu=0,ml=0,os=0,jl=0,Tr=0,Fn=0,rf=0;n=m,m=m+672|0,r=n+656|0,rf=n+648|0,Fn=n+640|0,Tr=n+632|0,jl=n+624|0,os=n+616|0,ml=n+608|0,Mu=n+600|0,gr=n+592|0,q1=n+584|0,z1=n+576|0,j1=n+568|0,nf=n+560|0,Ul=n+552|0,Vf=n+544|0,U1=n+536|0,B1=n+528|0,Wf=n+520|0,us=n+512|0,Hf=n+504|0,is=n+496|0,I1=n+488|0,lu=n+480|0,tf=n+472|0,vl=n+464|0,Bl=n+456|0,P1=n+448|0,b1=n+440|0,Lc=n+432|0,F1=n+424|0,L1=n+416|0,ef=n+408|0,As=n+400|0,Aa=n+392|0,Il=n+384|0,qf=n+376|0,Nc=n+368|0,Mc=n+360|0,ld=n+352|0,od=n+344|0,zf=n+336|0,ud=n+328|0,$a=n+320|0,si=n+312|0,id=n+304|0,rd=n+296|0,nd=n+288|0,kc=n+280|0,Oc=n+272|0,td=n+264|0,Za=n+256|0,ed=n+248|0,$2=n+240|0,Xs=n+232|0,rs=n+224|0,ns=n+216|0,ts=n+208|0,Zi=n+200|0,On=n+192|0,kr=n+184|0,hr=n+176|0,mn=n+168|0,Nn=n+160|0,Lr=n+152|0,Qt=n+144|0,Fe=n+136|0,Re=n+128|0,st=n+120|0,We=n+112|0,Qe=n+104|0,ve=n+96|0,Ee=n+88|0,Pe=n+80|0,K=n+72|0,P=n+64|0,O=n+56|0,M=n+48|0,S=n+40|0,D=n+32|0,h=n+24|0,s=n+16|0,l=n+8|0,u=n,gf(e,3646),Xc(e,3651,2)|0,gh(e,3665,2)|0,vm(e,3682,18)|0,t[rf>>2]=19,t[rf+4>>2]=0,t[r>>2]=t[rf>>2],t[r+4>>2]=t[rf+4>>2],js(e,3690,r)|0,t[Fn>>2]=1,t[Fn+4>>2]=0,t[r>>2]=t[Fn>>2],t[r+4>>2]=t[Fn+4>>2],fa(e,3696,r)|0,t[Tr>>2]=2,t[Tr+4>>2]=0,t[r>>2]=t[Tr>>2],t[r+4>>2]=t[Tr+4>>2],Ji(e,3706,r)|0,t[jl>>2]=1,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],O0(e,3722,r)|0,t[os>>2]=2,t[os+4>>2]=0,t[r>>2]=t[os>>2],t[r+4>>2]=t[os+4>>2],O0(e,3734,r)|0,t[ml>>2]=3,t[ml+4>>2]=0,t[r>>2]=t[ml>>2],t[r+4>>2]=t[ml+4>>2],Ji(e,3753,r)|0,t[Mu>>2]=4,t[Mu+4>>2]=0,t[r>>2]=t[Mu>>2],t[r+4>>2]=t[Mu+4>>2],Ji(e,3769,r)|0,t[gr>>2]=5,t[gr+4>>2]=0,t[r>>2]=t[gr>>2],t[r+4>>2]=t[gr+4>>2],Ji(e,3783,r)|0,t[q1>>2]=6,t[q1+4>>2]=0,t[r>>2]=t[q1>>2],t[r+4>>2]=t[q1+4>>2],Ji(e,3796,r)|0,t[z1>>2]=7,t[z1+4>>2]=0,t[r>>2]=t[z1>>2],t[r+4>>2]=t[z1+4>>2],Ji(e,3813,r)|0,t[j1>>2]=8,t[j1+4>>2]=0,t[r>>2]=t[j1>>2],t[r+4>>2]=t[j1+4>>2],Ji(e,3825,r)|0,t[nf>>2]=3,t[nf+4>>2]=0,t[r>>2]=t[nf>>2],t[r+4>>2]=t[nf+4>>2],O0(e,3843,r)|0,t[Ul>>2]=4,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],O0(e,3853,r)|0,t[Vf>>2]=9,t[Vf+4>>2]=0,t[r>>2]=t[Vf>>2],t[r+4>>2]=t[Vf+4>>2],Ji(e,3870,r)|0,t[U1>>2]=10,t[U1+4>>2]=0,t[r>>2]=t[U1>>2],t[r+4>>2]=t[U1+4>>2],Ji(e,3884,r)|0,t[B1>>2]=11,t[B1+4>>2]=0,t[r>>2]=t[B1>>2],t[r+4>>2]=t[B1+4>>2],Ji(e,3896,r)|0,t[Wf>>2]=1,t[Wf+4>>2]=0,t[r>>2]=t[Wf>>2],t[r+4>>2]=t[Wf+4>>2],t0(e,3907,r)|0,t[us>>2]=2,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],t0(e,3915,r)|0,t[Hf>>2]=3,t[Hf+4>>2]=0,t[r>>2]=t[Hf>>2],t[r+4>>2]=t[Hf+4>>2],t0(e,3928,r)|0,t[is>>2]=4,t[is+4>>2]=0,t[r>>2]=t[is>>2],t[r+4>>2]=t[is+4>>2],t0(e,3948,r)|0,t[I1>>2]=5,t[I1+4>>2]=0,t[r>>2]=t[I1>>2],t[r+4>>2]=t[I1+4>>2],t0(e,3960,r)|0,t[lu>>2]=6,t[lu+4>>2]=0,t[r>>2]=t[lu>>2],t[r+4>>2]=t[lu+4>>2],t0(e,3974,r)|0,t[tf>>2]=7,t[tf+4>>2]=0,t[r>>2]=t[tf>>2],t[r+4>>2]=t[tf+4>>2],t0(e,3983,r)|0,t[vl>>2]=20,t[vl+4>>2]=0,t[r>>2]=t[vl>>2],t[r+4>>2]=t[vl+4>>2],js(e,3999,r)|0,t[Bl>>2]=8,t[Bl+4>>2]=0,t[r>>2]=t[Bl>>2],t[r+4>>2]=t[Bl+4>>2],t0(e,4012,r)|0,t[P1>>2]=9,t[P1+4>>2]=0,t[r>>2]=t[P1>>2],t[r+4>>2]=t[P1+4>>2],t0(e,4022,r)|0,t[b1>>2]=21,t[b1+4>>2]=0,t[r>>2]=t[b1>>2],t[r+4>>2]=t[b1+4>>2],js(e,4039,r)|0,t[Lc>>2]=10,t[Lc+4>>2]=0,t[r>>2]=t[Lc>>2],t[r+4>>2]=t[Lc+4>>2],t0(e,4053,r)|0,t[F1>>2]=11,t[F1+4>>2]=0,t[r>>2]=t[F1>>2],t[r+4>>2]=t[F1+4>>2],t0(e,4065,r)|0,t[L1>>2]=12,t[L1+4>>2]=0,t[r>>2]=t[L1>>2],t[r+4>>2]=t[L1+4>>2],t0(e,4084,r)|0,t[ef>>2]=13,t[ef+4>>2]=0,t[r>>2]=t[ef>>2],t[r+4>>2]=t[ef+4>>2],t0(e,4097,r)|0,t[As>>2]=14,t[As+4>>2]=0,t[r>>2]=t[As>>2],t[r+4>>2]=t[As+4>>2],t0(e,4117,r)|0,t[Aa>>2]=15,t[Aa+4>>2]=0,t[r>>2]=t[Aa>>2],t[r+4>>2]=t[Aa+4>>2],t0(e,4129,r)|0,t[Il>>2]=16,t[Il+4>>2]=0,t[r>>2]=t[Il>>2],t[r+4>>2]=t[Il+4>>2],t0(e,4148,r)|0,t[qf>>2]=17,t[qf+4>>2]=0,t[r>>2]=t[qf>>2],t[r+4>>2]=t[qf+4>>2],t0(e,4161,r)|0,t[Nc>>2]=18,t[Nc+4>>2]=0,t[r>>2]=t[Nc>>2],t[r+4>>2]=t[Nc+4>>2],t0(e,4181,r)|0,t[Mc>>2]=5,t[Mc+4>>2]=0,t[r>>2]=t[Mc>>2],t[r+4>>2]=t[Mc+4>>2],O0(e,4196,r)|0,t[ld>>2]=6,t[ld+4>>2]=0,t[r>>2]=t[ld>>2],t[r+4>>2]=t[ld+4>>2],O0(e,4206,r)|0,t[od>>2]=7,t[od+4>>2]=0,t[r>>2]=t[od>>2],t[r+4>>2]=t[od+4>>2],O0(e,4217,r)|0,t[zf>>2]=3,t[zf+4>>2]=0,t[r>>2]=t[zf>>2],t[r+4>>2]=t[zf+4>>2],Jl(e,4235,r)|0,t[ud>>2]=1,t[ud+4>>2]=0,t[r>>2]=t[ud>>2],t[r+4>>2]=t[ud+4>>2],za(e,4251,r)|0,t[$a>>2]=4,t[$a+4>>2]=0,t[r>>2]=t[$a>>2],t[r+4>>2]=t[$a+4>>2],Jl(e,4263,r)|0,t[si>>2]=5,t[si+4>>2]=0,t[r>>2]=t[si>>2],t[r+4>>2]=t[si+4>>2],Jl(e,4279,r)|0,t[id>>2]=6,t[id+4>>2]=0,t[r>>2]=t[id>>2],t[r+4>>2]=t[id+4>>2],Jl(e,4293,r)|0,t[rd>>2]=7,t[rd+4>>2]=0,t[r>>2]=t[rd>>2],t[r+4>>2]=t[rd+4>>2],Jl(e,4306,r)|0,t[nd>>2]=8,t[nd+4>>2]=0,t[r>>2]=t[nd>>2],t[r+4>>2]=t[nd+4>>2],Jl(e,4323,r)|0,t[kc>>2]=9,t[kc+4>>2]=0,t[r>>2]=t[kc>>2],t[r+4>>2]=t[kc+4>>2],Jl(e,4335,r)|0,t[Oc>>2]=2,t[Oc+4>>2]=0,t[r>>2]=t[Oc>>2],t[r+4>>2]=t[Oc+4>>2],za(e,4353,r)|0,t[td>>2]=12,t[td+4>>2]=0,t[r>>2]=t[td>>2],t[r+4>>2]=t[td+4>>2],no(e,4363,r)|0,t[Za>>2]=1,t[Za+4>>2]=0,t[r>>2]=t[Za>>2],t[r+4>>2]=t[Za+4>>2],ul(e,4376,r)|0,t[ed>>2]=2,t[ed+4>>2]=0,t[r>>2]=t[ed>>2],t[r+4>>2]=t[ed+4>>2],ul(e,4388,r)|0,t[$2>>2]=13,t[$2+4>>2]=0,t[r>>2]=t[$2>>2],t[r+4>>2]=t[$2+4>>2],no(e,4402,r)|0,t[Xs>>2]=14,t[Xs+4>>2]=0,t[r>>2]=t[Xs>>2],t[r+4>>2]=t[Xs+4>>2],no(e,4411,r)|0,t[rs>>2]=15,t[rs+4>>2]=0,t[r>>2]=t[rs>>2],t[r+4>>2]=t[rs+4>>2],no(e,4421,r)|0,t[ns>>2]=16,t[ns+4>>2]=0,t[r>>2]=t[ns>>2],t[r+4>>2]=t[ns+4>>2],no(e,4433,r)|0,t[ts>>2]=17,t[ts+4>>2]=0,t[r>>2]=t[ts>>2],t[r+4>>2]=t[ts+4>>2],no(e,4446,r)|0,t[Zi>>2]=18,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],no(e,4458,r)|0,t[On>>2]=3,t[On+4>>2]=0,t[r>>2]=t[On>>2],t[r+4>>2]=t[On+4>>2],ul(e,4471,r)|0,t[kr>>2]=1,t[kr+4>>2]=0,t[r>>2]=t[kr>>2],t[r+4>>2]=t[kr+4>>2],dc(e,4486,r)|0,t[hr>>2]=10,t[hr+4>>2]=0,t[r>>2]=t[hr>>2],t[r+4>>2]=t[hr+4>>2],Jl(e,4496,r)|0,t[mn>>2]=11,t[mn+4>>2]=0,t[r>>2]=t[mn>>2],t[r+4>>2]=t[mn+4>>2],Jl(e,4508,r)|0,t[Nn>>2]=3,t[Nn+4>>2]=0,t[r>>2]=t[Nn>>2],t[r+4>>2]=t[Nn+4>>2],za(e,4519,r)|0,t[Lr>>2]=4,t[Lr+4>>2]=0,t[r>>2]=t[Lr>>2],t[r+4>>2]=t[Lr+4>>2],Od(e,4530,r)|0,t[Qt>>2]=19,t[Qt+4>>2]=0,t[r>>2]=t[Qt>>2],t[r+4>>2]=t[Qt+4>>2],_h(e,4542,r)|0,t[Fe>>2]=12,t[Fe+4>>2]=0,t[r>>2]=t[Fe>>2],t[r+4>>2]=t[Fe+4>>2],_f(e,4554,r)|0,t[Re>>2]=13,t[Re+4>>2]=0,t[r>>2]=t[Re>>2],t[r+4>>2]=t[Re+4>>2],Ef(e,4568,r)|0,t[st>>2]=2,t[st+4>>2]=0,t[r>>2]=t[st>>2],t[r+4>>2]=t[st+4>>2],Qc(e,4578,r)|0,t[We>>2]=20,t[We+4>>2]=0,t[r>>2]=t[We>>2],t[r+4>>2]=t[We+4>>2],xl(e,4587,r)|0,t[Qe>>2]=22,t[Qe+4>>2]=0,t[r>>2]=t[Qe>>2],t[r+4>>2]=t[Qe+4>>2],js(e,4602,r)|0,t[ve>>2]=23,t[ve+4>>2]=0,t[r>>2]=t[ve>>2],t[r+4>>2]=t[ve+4>>2],js(e,4619,r)|0,t[Ee>>2]=14,t[Ee+4>>2]=0,t[r>>2]=t[Ee>>2],t[r+4>>2]=t[Ee+4>>2],Jc(e,4629,r)|0,t[Pe>>2]=1,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],ca(e,4637,r)|0,t[K>>2]=4,t[K+4>>2]=0,t[r>>2]=t[K>>2],t[r+4>>2]=t[K+4>>2],ul(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],ul(e,4669,r)|0,t[O>>2]=6,t[O+4>>2]=0,t[r>>2]=t[O>>2],t[r+4>>2]=t[O+4>>2],ul(e,4686,r)|0,t[M>>2]=7,t[M+4>>2]=0,t[r>>2]=t[M>>2],t[r+4>>2]=t[M+4>>2],ul(e,4701,r)|0,t[S>>2]=8,t[S+4>>2]=0,t[r>>2]=t[S>>2],t[r+4>>2]=t[S+4>>2],ul(e,4719,r)|0,t[D>>2]=9,t[D+4>>2]=0,t[r>>2]=t[D>>2],t[r+4>>2]=t[D+4>>2],ul(e,4736,r)|0,t[h>>2]=21,t[h+4>>2]=0,t[r>>2]=t[h>>2],t[r+4>>2]=t[h+4>>2],c2(e,4754,r)|0,t[s>>2]=2,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],dc(e,4772,r)|0,t[l>>2]=3,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],dc(e,4790,r)|0,t[u>>2]=4,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],dc(e,4808,r)|0,m=n}function gf(e,n){e=e|0,n=n|0;var r=0;r=Ja()|0,t[e>>2]=r,jo(r,n),Q2(t[e>>2]|0)}function Xc(e,n,r){return e=e|0,n=n|0,r=r|0,Ot(e,Or(n)|0,r,0),e|0}function gh(e,n,r){return e=e|0,n=n|0,r=r|0,c(e,Or(n)|0,r,0),e|0}function vm(e,n,r){return e=e|0,n=n|0,r=r|0,cE(e,Or(n)|0,r,0),e|0}function js(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],rE(e,n,l),m=u,e|0}function fa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bl(e,n,l),m=u,e|0}function Ji(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d(e,n,l),m=u,e|0}function O0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Tv(e,n,l),m=u,e|0}function t0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sy(e,n,l),m=u,e|0}function Jl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],W2(e,n,l),m=u,e|0}function za(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],H2(e,n,l),m=u,e|0}function no(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],k0(e,n,l),m=u,e|0}function ul(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ep(e,n,l),m=u,e|0}function dc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Hm(e,n,l),m=u,e|0}function Od(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],n0(e,n,l),m=u,e|0}function _h(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],x2(e,n,l),m=u,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Fm(e,n,l),m=u,e|0}function Ef(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Zd(e,n,l),m=u,e|0}function Qc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],p1(e,n,l),m=u,e|0}function xl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Ga(e,n,l),m=u,e|0}function Jc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Id(e,n,l),m=u,e|0}function ca(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Nd(e,n,l),m=u,e|0}function c2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],d2(e,n,l),m=u,e|0}function d2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],da(e,r,l,1),m=u}function Or(e){return e=e|0,e|0}function da(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=kd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Zc(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,p2(s,u)|0,u),m=l}function kd(){var e=0,n=0;if(p[7616]|0||(ol(9136),Ht(24,9136,he|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(rr(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));ol(9136)}return 9136}function Zc(e){return e=e|0,0}function p2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=kd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Df(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(wf(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function vi(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;h=m,m=m+32|0,K=h+24|0,P=h+20|0,S=h+16|0,O=h+12|0,M=h+8|0,D=h+4|0,Pe=h,t[P>>2]=n,t[S>>2]=r,t[O>>2]=u,t[M>>2]=l,t[D>>2]=s,s=e+28|0,t[Pe>>2]=t[s>>2],t[K>>2]=t[Pe>>2],Md(e+24|0,K,P,O,M,S,D)|0,t[s>>2]=t[t[s>>2]>>2],m=h}function Md(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,e=mm(n)|0,n=cn(24)|0,h2(n+4|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0,t[h>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function mm(e){return e=e|0,t[e>>2]|0}function h2(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function dn(e,n){return e=e|0,n=n|0,n|e|0}function Df(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ym(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sf(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Df(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Eh(e,D),gm(D),m=M;return}}function ym(e){return e=e|0,357913941}function Sf(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Eh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function gm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function ol(e){e=e|0,Bo(e)}function $c(e){e=e|0,Un(e+24|0)}function rr(e){return e=e|0,t[e>>2]|0}function Un(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bo(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dr(){return 9228}function zn(){return 1140}function ll(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=yo(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=pc(n,u)|0,m=r,n|0}function Pn(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=u,t[e+12>>2]=l,t[e+16>>2]=s}function yo(e){return e=e|0,(t[(kd()|0)+24>>2]|0)+(e*12|0)|0}function pc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+48|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=ro(u)|0,m=l,u|0}function ro(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(qa()|0)|0,u?(Zl(n,u),Tf(r,n),hc(e,r),e=Es(n)|0):e=vc(e)|0,m=l,e|0}function qa(){var e=0;return p[7632]|0||(xf(9184),Ht(25,9184,he|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function Ou(e){return e=e|0,t[e+36>>2]|0}function Zl(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function Tf(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function hc(e,n){e=e|0,n=n|0,io(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function Es(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function vc(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;S=m,m=m+16|0,r=S+4|0,u=S,l=Sa(8)|0,s=l,h=cn(48)|0,D=h,n=D+48|0;do t[D>>2]=t[e>>2],D=D+4|0,e=e+4|0;while((D|0)<(n|0));return n=s+4|0,t[n>>2]=h,D=cn(8)|0,h=t[n>>2]|0,t[u>>2]=0,t[r>>2]=t[u>>2],Dh(D,h,r),t[l>>2]=D,m=S,s|0}function Dh(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function an(e){e=e|0,Pv(e),yt(e)}function $l(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function go(e){e=e|0,yt(e)}function io(e,n,r,u,l,s,h){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,s=Hi(t[e>>2]|0,n,r,u,l,s,h)|0,h=e+4|0,t[(t[h>>2]|0)+8>>2]=s,t[(t[h>>2]|0)+8>>2]|0}function Hi(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0;var D=0,S=0;return D=m,m=m+16|0,S=D,Ta(S),e=vo(e)|0,h=zr(e,+U[n>>3],+U[r>>3],+U[u>>3],+U[l>>3],+U[s>>3],+U[h>>3])|0,Ca(S),m=D,h|0}function zr(e,n,r,u,l,s,h){e=e|0,n=+n,r=+r,u=+u,l=+l,s=+s,h=+h;var D=0;return D=mo(Cf()|0)|0,n=+Cl(n),r=+Cl(r),u=+Cl(u),l=+Cl(l),s=+Cl(s),f0(0,D|0,e|0,+n,+r,+u,+l,+s,+ +Cl(h))|0}function Cf(){var e=0;return p[7624]|0||(_m(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function _m(e){e=e|0,nl(e,Al()|0,6)}function Al(){return 1112}function xf(e){e=e|0,Ha(e)}function Af(e){e=e|0,v2(e+24|0),m2(e+16|0)}function v2(e){e=e|0,e1(e)}function m2(e){e=e|0,mc(e)}function mc(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function e1(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function Ha(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,p[e+40>>0]=0,p[e+41>>0]=0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],y2(e,r,l,0),m=u}function y2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=t1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Rf(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,n1(s,u)|0,u),m=l}function t1(){var e=0,n=0;if(p[7640]|0||(Rl(9232),Ht(26,9232,he|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(rr(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rl(9232)}return 9232}function Rf(e){return e=e|0,0}function n1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=t1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wa(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r1(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wa(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function r1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ld(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,g2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wa(s,u,r),t[S>>2]=(t[S>>2]|0)+12,yc(e,D),i1(D),m=M;return}}function Ld(e){return e=e|0,357913941}function g2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function yc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function i1(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rl(e){e=e|0,Fd(e)}function pa(e){e=e|0,wh(e+24|0)}function wh(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Fd(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,bd()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bd(){return 1144}function Sh(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,h=s+8|0,D=s,S=_2(e)|0,e=t[S+4>>2]|0,t[D>>2]=t[S>>2],t[D+4>>2]=e,t[h>>2]=t[D>>2],t[h+4>>2]=t[D+4>>2],Th(n,h,r,u,l),m=s}function _2(e){return e=e|0,(t[(t1()|0)+24>>2]|0)+(e*12|0)|0}function Th(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0;var s=0,h=0,D=0,S=0,M=0;M=m,m=m+16|0,h=M+2|0,D=M+1|0,S=M,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),Ol(h,r),r=+es(h,r),Ol(D,u),u=+es(D,u),Ds(S,l),S=zs(S,l)|0,Z8[s&1](e,r,u,S),m=M}function Ol(e,n){e=e|0,n=+n}function es(e,n){return e=e|0,n=+n,+ +Ch(n)}function Ds(e,n){e=e|0,n=n|0}function zs(e,n){return e=e|0,n=n|0,Pd(n)|0}function Pd(e){return e=e|0,e|0}function Ch(e){return e=+e,+e}function Id(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bd(e,r,l,1),m=u}function Bd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=u1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,xh(s,u)|0,u),m=l}function u1(){var e=0,n=0;if(p[7648]|0||(l1(9268),Ht(27,9268,he|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(rr(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));l1(9268)}return 9268}function o1(e){return e=e|0,0}function xh(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=u1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Ud(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Ud(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ws(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Va(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Ud(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ah(e,D),uu(D),m=M;return}}function ws(e){return e=e|0,357913941}function Va(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ah(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uu(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function l1(e){e=e|0,kl(e)}function Rh(e){e=e|0,s1(e+24|0)}function s1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kl(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Oh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Oh(){return 1160}function zd(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=kh(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=a1(n,u)|0,m=r,n|0}function kh(e){return e=e|0,(t[(u1()|0)+24>>2]|0)+(e*12|0)|0}function a1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Ml(Xp[r&31](e)|0)|0}function Ml(e){return e=e|0,e&1|0}function Ga(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ha(e,r,l,0),m=u}function ha(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=qd()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Hd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Em(s,u)|0,u),m=l}function qd(){var e=0,n=0;if(p[7656]|0||(Lh(9304),Ht(28,9304,he|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(rr(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Lh(9304)}return 9304}function Hd(e){return e=e|0,0}function Em(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=qd()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Wd(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Mh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Nh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Vd(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Wd(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Dm(e,D),wm(D),m=M;return}}function Nh(e){return e=e|0,357913941}function Vd(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Dm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function wm(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Lh(e){e=e|0,f1(e)}function Sm(e){e=e|0,Gd(e+24|0)}function Gd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function f1(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,c1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c1(){return 1164}function d1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=va(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Yd(n,l,r),m=u}function va(e){return e=e|0,(t[(qd()|0)+24>>2]|0)+(e*12|0)|0}function Yd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),qs(l,r),r=Hs(l,r)|0,N1[u&31](e,r),Ws(l),m=s}function qs(e,n){e=e|0,n=n|0,Kd(e,n)}function Hs(e,n){return e=e|0,n=n|0,e|0}function Ws(e){e=e|0,ia(e)}function Kd(e,n){e=e|0,n=n|0,ma(e,n)}function ma(e,n){e=e|0,n=n|0,t[e>>2]=n}function p1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],E2(e,r,l,0),m=u}function E2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=gc()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xd(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,_o(s,u)|0,u),m=l}function gc(){var e=0,n=0;if(p[7664]|0||(Uh(9340),Ht(29,9340,he|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(rr(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uh(9340)}return 9340}function Xd(e){return e=e|0,0}function _o(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=gc()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Fh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(bh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Fh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function bh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ph(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ih(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Fh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Tm(e,D),Bh(D),m=M;return}}function Ph(e){return e=e|0,357913941}function Ih(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Tm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Bh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Uh(e){e=e|0,jh(e)}function h1(e){e=e|0,Qd(e+24|0)}function Qd(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function jh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,4,n,Jd()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jd(){return 1180}function zh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=Cm(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=xm(n,l,r)|0,m=u,r|0}function Cm(e){return e=e|0,(t[(gc()|0)+24>>2]|0)+(e*12|0)|0}function xm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Of(l,r),l=kf(l,r)|0,l=D2(ZE[u&15](e,l)|0)|0,m=s,l|0}function Of(e,n){e=e|0,n=n|0}function kf(e,n){return e=e|0,n=n|0,Am(n)|0}function D2(e){return e=e|0,e|0}function Am(e){return e=e|0,e|0}function Zd(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],w2(e,r,l,0),m=u}function w2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=$d()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=qh(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ep(s,u)|0,u),m=l}function $d(){var e=0,n=0;if(p[7672]|0||(Vh(9376),Ht(30,9376,he|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(rr(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Vh(9376)}return 9376}function qh(e){return e=e|0,0}function ep(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=$d()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Hh(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Wh(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Hh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Wh(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Rm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Hh(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Om(e,D),km(D),m=M;return}}function tp(e){return e=e|0,357913941}function Rm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Om(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function km(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Vh(e){e=e|0,np(e)}function v1(e){e=e|0,Mm(e+24|0)}function Mm(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function np(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rp(){return 1196}function Nm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Lm(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Gh(n,u)|0,m=r,n|0}function Lm(e){return e=e|0,(t[($d()|0)+24>>2]|0)+(e*12|0)|0}function Gh(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),D2(Xp[r&31](e)|0)|0}function Fm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bm(e,r,l,1),m=u}function bm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=ip()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=up(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ya(s,u)|0,u),m=l}function ip(){var e=0,n=0;if(p[7680]|0||(lp(9412),Ht(31,9412,he|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(rr(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));lp(9412)}return 9412}function up(e){return e=e|0,0}function ya(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=ip()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],m1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(op(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function op(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Yh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,S2(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],m1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,y1(e,D),Kh(D),m=M;return}}function Yh(e){return e=e|0,357913941}function S2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function y1(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Kh(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function lp(e){e=e|0,Qh(e)}function Xh(e){e=e|0,sp(e+24|0)}function sp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Qh(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Jh(){return 1200}function ap(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=T2(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=C2(n,u)|0,m=r,n|0}function T2(e){return e=e|0,(t[(ip()|0)+24>>2]|0)+(e*12|0)|0}function C2(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),z0(Xp[r&31](e)|0)|0}function z0(e){return e=e|0,e|0}function x2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ga(e,r,l,0),m=u}function ga(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ya()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=A2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,R2(s,u)|0,u),m=l}function Ya(){var e=0,n=0;if(p[7688]|0||(dp(9448),Ht(32,9448,he|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(rr(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));dp(9448)}return 9448}function A2(e){return e=e|0,0}function R2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ya()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],fp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(O2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function O2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Zh(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Pm(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],fp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,$h(e,D),cp(D),m=M;return}}function Zh(e){return e=e|0,357913941}function Pm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function $h(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function cp(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function dp(e){e=e|0,Bm(e)}function pp(e){e=e|0,Im(e+24|0)}function Im(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Bm(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Eo(){return 1204}function k2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Um(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],sl(n,l,r),m=u}function Um(e){return e=e|0,(t[(Ya()|0)+24>>2]|0)+(e*12|0)|0}function sl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Jn(l,r),l=Vs(l,r)|0,N1[u&31](e,l),m=s}function Jn(e,n){e=e|0,n=n|0}function Vs(e,n){return e=e|0,n=n|0,al(n)|0}function al(e){return e=e|0,e|0}function n0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ev(e,r,l,0),m=u}function ev(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Gs()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=hp(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,jm(s,u)|0,u),m=l}function Gs(){var e=0,n=0;if(p[7696]|0||(yp(9484),Ht(33,9484,he|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(rr(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yp(9484)}return 9484}function hp(e){return e=e|0,0}function jm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Gs()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],tv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(vp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function vp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=zm(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,mp(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],tv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_c(e,D),Ea(D),m=M;return}}function zm(e){return e=e|0,357913941}function mp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _c(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ea(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function yp(e){e=e|0,zu(e)}function M2(e){e=e|0,ku(e+24|0)}function ku(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function zu(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,gp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gp(){return 1212}function _p(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=nv(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],qm(n,s,r,u),m=l}function nv(e){return e=e|0,(t[(Gs()|0)+24>>2]|0)+(e*12|0)|0}function qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Jn(s,r),s=Vs(s,r)|0,Of(h,u),h=kf(h,u)|0,jy[l&15](e,s,h),m=D}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wm(e,r,l,1),m=u}function Wm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=N2()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=rv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ec(s,u)|0,u),m=l}function N2(){var e=0,n=0;if(p[7704]|0||(iv(9520),Ht(34,9520,he|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(rr(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));iv(9520)}return 9520}function rv(e){return e=e|0,0}function Ec(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=N2()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],g1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Vm(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function g1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Vm(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=L2(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,_1(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],g1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Nl(e,D),Da(D),m=M;return}}function L2(e){return e=e|0,357913941}function _1(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Nl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Da(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function iv(e){e=e|0,ov(e)}function Gm(e){e=e|0,uv(e+24|0)}function uv(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ov(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,Ym()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ym(){return 1224}function lv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;return l=m,m=m+16|0,s=l+8|0,h=l,D=wa(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],u=+Cr(n,s,r),m=l,+u}function wa(e){return e=e|0,(t[(N2()|0)+24>>2]|0)+(e*12|0)|0}function Cr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,h=+ja(+eS[u&7](e,l)),m=s,+h}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],fl(e,r,l,1),m=u}function fl(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=cu()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=E1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,ki(s,u)|0,u),m=l}function cu(){var e=0,n=0;if(p[7712]|0||(wp(9556),Ht(35,9556,he|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(rr(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));wp(9556)}return 9556}function E1(e){return e=e|0,0}function ki(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=cu()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Dp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(F2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Dp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function F2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Do(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ss(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Dp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Mf(e,D),b2(D),m=M;return}}function Do(e){return e=e|0,357913941}function Ss(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Mf(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function b2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function wp(e){e=e|0,Sp(e)}function D1(e){e=e|0,w1(e+24|0)}function w1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Sp(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,Zn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Zn(){return 1232}function cl(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=qn(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=+q0(n,l),m=u,+r}function qn(e){return e=e|0,(t[(cu()|0)+24>>2]|0)+(e*12|0)|0}function q0(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +ja(+$8[r&15](e))}function k0(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],P2(e,r,l,1),m=u}function P2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ll()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=S1(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Dc(s,u)|0,u),m=l}function Ll(){var e=0,n=0;if(p[7720]|0||(U2(9592),Ht(36,9592,he|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(rr(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U2(9592)}return 9592}function S1(e){return e=e|0,0}function Dc(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ll()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wc(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(I2(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wc(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function I2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Tp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,M0(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wc(s,u,r),t[S>>2]=(t[S>>2]|0)+12,fn(e,D),B2(D),m=M;return}}function Tp(e){return e=e|0,357913941}function M0(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function fn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function B2(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function U2(e){e=e|0,Cc(e)}function Sc(e){e=e|0,Tc(e+24|0)}function Tc(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Cc(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,T1()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function T1(){return 1276}function Cp(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=Ka(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=Km(n,u)|0,m=r,n|0}function Ka(e){return e=e|0,(t[(Ll()|0)+24>>2]|0)+(e*12|0)|0}function Km(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;return l=m,m=m+16|0,u=l,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),N1[r&31](u,e),u=xc(u)|0,m=l,u|0}function xc(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(j2()|0)|0,u?(Zl(n,u),Tf(r,n),sv(e,r),e=Es(n)|0):e=C1(e)|0,m=l,e|0}function j2(){var e=0;return p[7736]|0||(Uo(9640),Ht(25,9640,he|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function sv(e,n){e=e|0,n=n|0,Ac(n,e,e+8|0)|0}function C1(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(16)|0,t[D>>2]=t[e>>2],t[D+4>>2]=t[e+4>>2],t[D+8>>2]=t[e+8>>2],t[D+12>>2]=t[e+12>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(e,s,l),t[u>>2]=e,m=r,n|0}function Nf(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function Lf(e){e=e|0,Pv(e),yt(e)}function x1(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function Fl(e){e=e|0,yt(e)}function Ac(e,n,r){return e=e|0,n=n|0,r=r|0,n=Ff(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function Ff(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return u=m,m=m+16|0,l=u,Ta(l),e=vo(e)|0,r=Xm(e,t[n>>2]|0,+U[r>>3])|0,Ca(l),m=u,r|0}function Xm(e,n,r){e=e|0,n=n|0,r=+r;var u=0;return u=mo(dl()|0)|0,n=u2(n)|0,Pr(0,u|0,e|0,n|0,+ +Cl(r))|0}function dl(){var e=0;return p[7728]|0||(z2(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function z2(e){e=e|0,nl(e,q2()|0,2)}function q2(){return 1264}function Uo(e){e=e|0,Ha(e)}function H2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Qm(e,r,l,1),m=u}function Qm(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=A1()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Jm(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Zm(s,u)|0,u),m=l}function A1(){var e=0,n=0;if(p[7744]|0||(cv(9684),Ht(37,9684,he|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(rr(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cv(9684)}return 9684}function Jm(e){return e=e|0,0}function Zm(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=A1()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],av(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):($m(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function av(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function $m(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ey(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],av(s,u,r),t[S>>2]=(t[S>>2]|0)+12,ty(e,D),ny(D),m=M;return}}function fv(e){return e=e|0,357913941}function ey(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ny(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function cv(e){e=e|0,iy(e)}function ry(e){e=e|0,xp(e+24|0)}function xp(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function iy(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,5,n,bf()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bf(){return 1280}function dv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=pv(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=hv(n,l,r)|0,m=u,r|0}function pv(e){return e=e|0,(t[(A1()|0)+24>>2]|0)+(e*12|0)|0}function hv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return h=m,m=m+32|0,l=h,s=h+16|0,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(s,r),s=zs(s,r)|0,jy[u&15](l,e,s),s=xc(l)|0,m=h,s|0}function W2(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],V2(e,r,l,1),m=u}function V2(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Ap()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=vv(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,G2(s,u)|0,u),m=l}function Ap(){var e=0,n=0;if(p[7752]|0||(Ev(9720),Ht(38,9720,he|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(rr(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ev(9720)}return 9720}function vv(e){return e=e|0,0}function G2(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Ap()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],mv(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function mv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Rp(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,gv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],mv(s,u,r),t[S>>2]=(t[S>>2]|0)+12,_v(e,D),uy(D),m=M;return}}function Rp(e){return e=e|0,357913941}function gv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function _v(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function uy(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Ev(e){e=e|0,Dv(e)}function oy(e){e=e|0,Y2(e+24|0)}function Y2(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Dv(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Op()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Op(){return 1288}function ly(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;return r=m,m=m+16|0,u=r+8|0,l=r,s=r0(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],n=kp(n,u)|0,m=r,n|0}function r0(e){return e=e|0,(t[(Ap()|0)+24>>2]|0)+(e*12|0)|0}function kp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),s2(Xp[r&31](e)|0)|0}function sy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ay(e,r,l,0),m=u}function ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Mp()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=Xa(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Np(s,u)|0,u),m=l}function Mp(){var e=0,n=0;if(p[7760]|0||(bp(9756),Ht(39,9756,he|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(rr(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));bp(9756)}return 9756}function Xa(e){return e=e|0,0}function Np(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Mp()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],Lp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Fp(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Fp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=fy(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,cy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],Lp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,wv(e,D),Pf(D),m=M;return}}function fy(e){return e=e|0,357913941}function cy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function wv(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Pf(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function bp(e){e=e|0,py(e)}function Sv(e){e=e|0,dy(e+24|0)}function dy(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function py(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,Pp()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pp(){return 1292}function Ip(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=hy(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],vy(n,l,r),m=u}function hy(e){return e=e|0,(t[(Mp()|0)+24>>2]|0)+(e*12|0)|0}function vy(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ol(l,r),r=+es(l,r),Q8[u&31](e,r),m=s}function Tv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Bp(e,r,l,0),m=u}function Bp(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Up()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=K2(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,my(s,u)|0,u),m=l}function Up(){var e=0,n=0;if(p[7768]|0||(jp(9792),Ht(40,9792,he|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(rr(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));jp(9792)}return 9792}function K2(e){return e=e|0,0}function my(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Up()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],R1(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(yy(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function R1(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function yy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Cv(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,xv(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],R1(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gy(e,D),If(D),m=M;return}}function Cv(e){return e=e|0,357913941}function xv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gy(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function If(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function jp(e){e=e|0,Ey(e)}function Av(e){e=e|0,_y(e+24|0)}function _y(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Ey(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,1,n,zp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zp(){return 1300}function Dy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=Ys(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],wy(n,s,r,u),m=l}function Ys(e){return e=e|0,(t[(Up()|0)+24>>2]|0)+(e*12|0)|0}function wy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,Ol(h,u),u=+es(h,u),iS[l&15](e,s,u),m=D}function d(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],v(e,r,l,0),m=u}function v(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=x()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=b(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,H(s,u)|0,u),m=l}function x(){var e=0,n=0;if(p[7776]|0||(Rt(9828),Ht(41,9828,he|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(rr(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rt(9828)}return 9828}function b(e){return e=e|0,0}function H(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=x()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],ee(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(de(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function ee(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function de(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=ye(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,be(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],ee(s,u,r),t[S>>2]=(t[S>>2]|0)+12,gt(e,D),Dt(D),m=M;return}}function ye(e){return e=e|0,357913941}function be(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function gt(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Dt(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Rt(e){e=e|0,$n(e)}function rn(e){e=e|0,Rn(e+24|0)}function Rn(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function $n(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,7,n,Nr()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Nr(){return 1312}function ir(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=Zr(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ui(n,l,r),m=u}function Zr(e){return e=e|0,(t[(x()|0)+24>>2]|0)+(e*12|0)|0}function ui(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,N1[u&31](e,l),m=s}function bl(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],Wi(e,r,l,0),m=u}function Wi(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=uo()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=i0(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,Ts(s,u)|0,u),m=l}function uo(){var e=0,n=0;if(p[7784]|0||(r_(9864),Ht(42,9864,he|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(rr(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r_(9864)}return 9864}function i0(e){return e=e|0,0}function Ts(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=uo()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],wo(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Rv(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function wo(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function Rv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=X4(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Sy(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],wo(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ty(e,D),Qa(D),m=M;return}}function X4(e){return e=e|0,357913941}function Sy(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ty(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Qa(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function r_(e){e=e|0,Z4(e)}function Q4(e){e=e|0,J4(e+24|0)}function J4(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function Z4(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,8,n,$4()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $4(){return 1320}function Cy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=eE(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tE(n,l,r),m=u}function eE(e){return e=e|0,(t[(uo()|0)+24>>2]|0)+(e*12|0)|0}function tE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),xy(l,r),l=i_(l,r)|0,N1[u&31](e,l),m=s}function xy(e,n){e=e|0,n=n|0}function i_(e,n){return e=e|0,n=n|0,nE(n)|0}function nE(e){return e=e|0,e|0}function rE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],u_(e,r,l,0),m=u}function u_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=Bf()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=o_(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,iE(s,u)|0,u),m=l}function Bf(){var e=0,n=0;if(p[7792]|0||(Oy(9900),Ht(43,9900,he|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(rr(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Oy(9900)}return 9900}function o_(e){return e=e|0,0}function iE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=Bf()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],qp(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(uE(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function qp(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function uE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=Ov(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,Ay(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],qp(s,u,r),t[S>>2]=(t[S>>2]|0)+12,Ry(e,D),oE(D),m=M;return}}function Ov(e){return e=e|0,357913941}function Ay(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function Ry(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function oE(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function Oy(e){e=e|0,l_(e)}function lE(e){e=e|0,sE(e+24|0)}function sE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function l_(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,22,n,aE()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aE(){return 1344}function fE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0;r=m,m=m+16|0,u=r+8|0,l=r,s=s_(e)|0,e=t[s+4>>2]|0,t[l>>2]=t[s>>2],t[l+4>>2]=e,t[u>>2]=t[l>>2],t[u+4>>2]=t[l+4>>2],kv(n,u),m=r}function s_(e){return e=e|0,(t[(Bf()|0)+24>>2]|0)+(e*12|0)|0}function kv(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),M1[r&127](e)}function cE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=ky()|0,e=dE(r)|0,vi(s,n,l,e,pE(r,u)|0,u)}function ky(){var e=0,n=0;if(p[7800]|0||(Ny(9936),Ht(44,9936,he|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(rr(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ny(9936)}return 9936}function dE(e){return e=e|0,e|0}function pE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=ky()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(My(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(a_(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function My(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function a_(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=f_(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,c_(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,My(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,d_(e,l),p_(l),m=D;return}}function f_(e){return e=e|0,536870911}function c_(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function d_(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function p_(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function Ny(e){e=e|0,v_(e)}function h_(e){e=e|0,hE(e+24|0)}function hE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function v_(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,23,n,Eo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vE(e,n){e=e|0,n=n|0,a(t[(mE(e)|0)>>2]|0,n)}function mE(e){return e=e|0,(t[(ky()|0)+24>>2]|0)+(e<<3)|0}function a(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,Jn(u,n),n=Vs(u,n)|0,M1[e&127](n),m=r}function c(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=_()|0,e=T(r)|0,vi(s,n,l,e,R(r,u)|0,u)}function _(){var e=0,n=0;if(p[7808]|0||(pt(9972),Ht(45,9972,he|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(rr(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));pt(9972)}return 9972}function T(e){return e=e|0,e|0}function R(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=_()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(V(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function V(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=te(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,oe(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ie(e,l),Ye(l),m=D;return}}function te(e){return e=e|0,536870911}function oe(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ie(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ye(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function pt(e){e=e|0,zt(e)}function Nt(e){e=e|0,Vt(e+24|0)}function Vt(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zt(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,9,n,vn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function vn(){return 1348}function xr(e,n){return e=e|0,n=n|0,wi(t[($r(e)|0)>>2]|0,n)|0}function $r(e){return e=e|0,(t[(_()|0)+24>>2]|0)+(e<<3)|0}function wi(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,n=D2(Xp[e&31](n)|0)|0,m=r,n|0}function N0(e,n){e=e|0,n=n|0}function Vi(e,n){return e=e|0,n=n|0,it(n)|0}function it(e){return e=e|0,e|0}function Ot(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=Je()|0,e=Bt(r)|0,vi(s,n,l,e,Mn(r,u)|0,u)}function Je(){var e=0,n=0;if(p[7816]|0||(qr(10008),Ht(46,10008,he|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(rr(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));qr(10008)}return 10008}function Bt(e){return e=e|0,e|0}function Mn(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=Je()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(pn(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Pi(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function pn(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Pi(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=oi(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qu(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,pn(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,ar(e,l),ou(l),m=D;return}}function oi(e){return e=e|0,536870911}function qu(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function ar(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function ou(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function qr(e){e=e|0,H0(e)}function _u(e){e=e|0,_0(e+24|0)}function _0(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function H0(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,15,n,rp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Cs(e){return e=e|0,pl(t[(Hu(e)|0)>>2]|0)|0}function Hu(e){return e=e|0,(t[(Je()|0)+24>>2]|0)+(e<<3)|0}function pl(e){return e=e|0,D2(N_[e&7]()|0)|0}function Ja(){var e=0;return p[7832]|0||(y_(10052),Ht(25,10052,he|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function jo(e,n){e=e|0,n=n|0,t[e>>2]=xs()|0,t[e+4>>2]=X2()|0,t[e+12>>2]=n,t[e+8>>2]=Uf()|0,t[e+32>>2]=2}function xs(){return 11709}function X2(){return 1188}function Uf(){return O1()|0}function Rc(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(zo(r),yt(r)):n|0&&(ms(n),yt(n))}function Pl(e,n){return e=e|0,n=n|0,n&e|0}function zo(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function O1(){var e=0;return p[7824]|0||(t[2511]=m_()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function m_(){return 0}function y_(e){e=e|0,Ha(e)}function yE(e){e=e|0;var n=0,r=0,u=0,l=0,s=0;n=m,m=m+32|0,r=n+24|0,s=n+16|0,l=n+8|0,u=n,g_(e,4827),gE(e,4834,3)|0,_E(e,3682,47)|0,t[s>>2]=9,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Ly(e,4841,r)|0,t[l>>2]=1,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],__(e,4871,r)|0,t[u>>2]=10,t[u+4>>2]=0,t[r>>2]=t[u>>2],t[r+4>>2]=t[u+4>>2],EE(e,4891,r)|0,m=n}function g_(e,n){e=e|0,n=n|0;var r=0;r=Qk()|0,t[e>>2]=r,Jk(r,n),Q2(t[e>>2]|0)}function gE(e,n,r){return e=e|0,n=n|0,r=r|0,Fk(e,Or(n)|0,r,0),e|0}function _E(e,n,r){return e=e|0,n=n|0,r=r|0,_k(e,Or(n)|0,r,0),e|0}function Ly(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],ek(e,n,l),m=u,e|0}function __(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],bO(e,n,l),m=u,e|0}function EE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=t[r+4>>2]|0,t[s>>2]=t[r>>2],t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],DE(e,n,l),m=u,e|0}function DE(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],wE(e,r,l,1),m=u}function wE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=SE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=DO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,wO(s,u)|0,u),m=l}function SE(){var e=0,n=0;if(p[7840]|0||(L3(10100),Ht(48,10100,he|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(rr(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L3(10100)}return 10100}function DO(e){return e=e|0,0}function wO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=SE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],N3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(SO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function N3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=TO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,CO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],N3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,xO(e,D),AO(D),m=M;return}}function TO(e){return e=e|0,357913941}function CO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function xO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function L3(e){e=e|0,kO(e)}function RO(e){e=e|0,OO(e+24|0)}function OO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function kO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,6,n,MO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MO(){return 1364}function NO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;return u=m,m=m+16|0,l=u+8|0,s=u,h=LO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],r=FO(n,l,r)|0,m=u,r|0}function LO(e){return e=e|0,(t[(SE()|0)+24>>2]|0)+(e*12|0)|0}function FO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),Ds(l,r),l=zs(l,r)|0,l=Ml(ZE[u&15](e,l)|0)|0,m=s,l|0}function bO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],PO(e,r,l,0),m=u}function PO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=TE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=IO(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,BO(s,u)|0,u),m=l}function TE(){var e=0,n=0;if(p[7848]|0||(b3(10136),Ht(49,10136,he|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(rr(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));b3(10136)}return 10136}function IO(e){return e=e|0,0}function BO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=TE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],F3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(UO(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function F3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function UO(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=jO(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,zO(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],F3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,qO(e,D),HO(D),m=M;return}}function jO(e){return e=e|0,357913941}function zO(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function qO(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function HO(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function b3(e){e=e|0,GO(e)}function WO(e){e=e|0,VO(e+24|0)}function VO(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function GO(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,9,n,YO()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function YO(){return 1372}function KO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,l=u+8|0,s=u,h=XO(e)|0,e=t[h+4>>2]|0,t[s>>2]=t[h>>2],t[s+4>>2]=e,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],QO(n,l,r),m=u}function XO(e){return e=e|0,(t[(TE()|0)+24>>2]|0)+(e*12|0)|0}function QO(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=St;s=m,m=m+16|0,l=s,u=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(u=t[(t[e>>2]|0)+u>>2]|0),JO(l,r),h=w(ZO(l,r)),X8[u&1](e,h),m=s}function JO(e,n){e=e|0,n=+n}function ZO(e,n){return e=e|0,n=+n,w($O(n))}function $O(e){return e=+e,w(e)}function ek(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,l=u+8|0,s=u,D=t[r>>2]|0,h=t[r+4>>2]|0,r=Or(n)|0,t[s>>2]=D,t[s+4>>2]=h,t[l>>2]=t[s>>2],t[l+4>>2]=t[s+4>>2],tk(e,r,l,0),m=u}function tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0,S=0,M=0,O=0;l=m,m=m+32|0,s=l+16|0,O=l+8|0,D=l,M=t[r>>2]|0,S=t[r+4>>2]|0,h=t[e>>2]|0,e=CE()|0,t[O>>2]=M,t[O+4>>2]=S,t[s>>2]=t[O>>2],t[s+4>>2]=t[O+4>>2],r=nk(s)|0,t[D>>2]=M,t[D+4>>2]=S,t[s>>2]=t[D>>2],t[s+4>>2]=t[D+4>>2],vi(h,n,e,r,rk(s,u)|0,u),m=l}function CE(){var e=0,n=0;if(p[7856]|0||(I3(10172),Ht(50,10172,he|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(rr(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I3(10172)}return 10172}function nk(e){return e=e|0,0}function rk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0;return O=m,m=m+32|0,l=O+24|0,h=O+16|0,D=O,S=O+8|0,s=t[e>>2]|0,u=t[e+4>>2]|0,t[D>>2]=s,t[D+4>>2]=u,P=CE()|0,M=P+24|0,e=dn(n,4)|0,t[S>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[h>>2]=s,t[h+4>>2]=u,t[l>>2]=t[h>>2],t[l+4>>2]=t[h+4>>2],P3(r,l,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ik(M,D,S),e=t[n>>2]|0),m=O,((e-(t[M>>2]|0)|0)/12|0)+-1|0}function P3(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=u,t[e+8>>2]=r}function ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;if(M=m,m=m+48|0,u=M+32|0,h=M+24|0,D=M,S=e+4|0,l=(((t[S>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,s=uk(e)|0,s>>>0>>0)li(e);else{O=t[e>>2]|0,K=((t[e+8>>2]|0)-O|0)/12|0,P=K<<1,ok(D,K>>>0>>1>>>0?P>>>0>>0?l:P:s,((t[S>>2]|0)-O|0)/12|0,e+8|0),S=D+8|0,s=t[S>>2]|0,l=t[n+4>>2]|0,r=t[r>>2]|0,t[h>>2]=t[n>>2],t[h+4>>2]=l,t[u>>2]=t[h>>2],t[u+4>>2]=t[h+4>>2],P3(s,u,r),t[S>>2]=(t[S>>2]|0)+12,lk(e,D),sk(D),m=M;return}}function uk(e){return e=e|0,357913941}function ok(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>357913941)Xn();else{l=cn(n*12|0)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r*12|0)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n*12|0)}function lk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(((l|0)/-12|0)*12|0)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function sk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~(((u+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&yt(e)}function I3(e){e=e|0,ck(e)}function ak(e){e=e|0,fk(e+24|0)}function fk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-u|0)>>>0)/12|0)*12|0)),yt(r))}function ck(e){e=e|0;var n=0;n=dr()|0,Pn(e,2,3,n,dk()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dk(){return 1380}function pk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+8|0,h=l,D=hk(e)|0,e=t[D+4>>2]|0,t[h>>2]=t[D>>2],t[h+4>>2]=e,t[s>>2]=t[h>>2],t[s+4>>2]=t[h+4>>2],vk(n,s,r,u),m=l}function hk(e){return e=e|0,(t[(CE()|0)+24>>2]|0)+(e*12|0)|0}function vk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;D=m,m=m+16|0,s=D+1|0,h=D,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),Ds(s,r),s=zs(s,r)|0,mk(h,u),h=yk(h,u)|0,jy[l&15](e,s,h),m=D}function mk(e,n){e=e|0,n=n|0}function yk(e,n){return e=e|0,n=n|0,gk(n)|0}function gk(e){return e=e|0,(e|0)!=0|0}function _k(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=xE()|0,e=Ek(r)|0,vi(s,n,l,e,Dk(r,u)|0,u)}function xE(){var e=0,n=0;if(p[7864]|0||(U3(10208),Ht(51,10208,he|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(rr(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));U3(10208)}return 10208}function Ek(e){return e=e|0,e|0}function Dk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=xE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(B3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(wk(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function B3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function wk(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Sk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Tk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,B3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Ck(e,l),xk(l),m=D;return}}function Sk(e){return e=e|0,536870911}function Tk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Ck(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function xk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function U3(e){e=e|0,Ok(e)}function Ak(e){e=e|0,Rk(e+24|0)}function Rk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Ok(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,24,n,kk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function kk(){return 1392}function Mk(e,n){e=e|0,n=n|0,Lk(t[(Nk(e)|0)>>2]|0,n)}function Nk(e){return e=e|0,(t[(xE()|0)+24>>2]|0)+(e<<3)|0}function Lk(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,N0(u,n),n=Vi(u,n)|0,M1[e&127](n),m=r}function Fk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=AE()|0,e=bk(r)|0,vi(s,n,l,e,Pk(r,u)|0,u)}function AE(){var e=0,n=0;if(p[7872]|0||(z3(10244),Ht(52,10244,he|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(rr(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));z3(10244)}return 10244}function bk(e){return e=e|0,e|0}function Pk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=AE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(j3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Ik(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function j3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Ik(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=Bk(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Uk(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,j3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,jk(e,l),zk(l),m=D;return}}function Bk(e){return e=e|0,536870911}function Uk(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function jk(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function zk(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function z3(e){e=e|0,Wk(e)}function qk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Wk(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,16,n,Vk()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Vk(){return 1400}function Gk(e){return e=e|0,Kk(t[(Yk(e)|0)>>2]|0)|0}function Yk(e){return e=e|0,(t[(AE()|0)+24>>2]|0)+(e<<3)|0}function Kk(e){return e=e|0,Xk(N_[e&7]()|0)|0}function Xk(e){return e=e|0,e|0}function Qk(){var e=0;return p[7880]|0||(rM(10280),Ht(25,10280,he|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Jk(e,n){e=e|0,n=n|0,t[e>>2]=Zk()|0,t[e+4>>2]=$k()|0,t[e+12>>2]=n,t[e+8>>2]=eM()|0,t[e+32>>2]=4}function Zk(){return 11711}function $k(){return 1356}function eM(){return O1()|0}function tM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(nM(r),yt(r)):n|0&&(eo(n),yt(n))}function nM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function rM(e){e=e|0,Ha(e)}function iM(e){e=e|0,uM(e,4920),oM(e)|0,lM(e)|0}function uM(e,n){e=e|0,n=n|0;var r=0;r=j2()|0,t[e>>2]=r,RM(r,n),Q2(t[e>>2]|0)}function oM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,gM()|0),e|0}function lM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,sM()|0),e|0}function sM(){var e=0;return p[7888]|0||(q3(10328),Ht(53,10328,he|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),rr(10328)|0||q3(10328),10328}function Hp(e,n){e=e|0,n=n|0,vi(e,0,n,0,0,0)}function q3(e){e=e|0,cM(e),Wp(e,10)}function aM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function cM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,vM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function dM(e,n,r){e=e|0,n=n|0,r=+r,pM(e,n,r)}function Wp(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function pM(e,n,r){e=e|0,n=n|0,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+16|0,s=u+8|0,D=u+13|0,l=u,h=u+12|0,Ds(D,n),t[s>>2]=zs(D,n)|0,Ol(h,r),U[l>>3]=+es(h,r),hM(e,s,l),m=u}function hM(e,n,r){e=e|0,n=n|0,r=r|0,I(e+8|0,t[n>>2]|0,+U[r>>3]),p[e+24>>0]=1}function vM(){return 1404}function mM(e,n){return e=e|0,n=+n,yM(e,n)|0}function yM(e,n){e=e|0,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,s=u+4|0,h=u+8|0,D=u,l=Sa(8)|0,r=l,S=cn(16)|0,Ds(s,e),e=zs(s,e)|0,Ol(h,n),I(S,e,+es(h,n)),h=r+4|0,t[h>>2]=S,e=cn(8)|0,h=t[h>>2]|0,t[D>>2]=0,t[s>>2]=t[D>>2],Nf(e,h,s),t[l>>2]=e,m=u,r|0}function gM(){var e=0;return p[7896]|0||(H3(10364),Ht(54,10364,he|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),rr(10364)|0||H3(10364),10364}function H3(e){e=e|0,DM(e),Wp(e,55)}function _M(e){e=e|0,EM(e+24|0)}function EM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function DM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,4,n,CM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wM(e){e=e|0,SM(e)}function SM(e){e=e|0,TM(e)}function TM(e){e=e|0,W3(e+8|0),p[e+24>>0]=1}function W3(e){e=e|0,t[e>>2]=0,U[e+8>>3]=0}function CM(){return 1424}function xM(){return AM()|0}function AM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,W3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],Nf(u,s,l),t[r>>2]=u,m=n,e|0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=OM()|0,t[e+4>>2]=kM()|0,t[e+12>>2]=n,t[e+8>>2]=MM()|0,t[e+32>>2]=5}function OM(){return 11710}function kM(){return 1416}function MM(){return E_()|0}function NM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LM(r),yt(r)):n|0&&yt(n)}function LM(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function E_(){var e=0;return p[7904]|0||(t[2600]=FM()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function FM(){return t[357]|0}function bM(e){e=e|0,PM(e,4926),IM(e)|0}function PM(e,n){e=e|0,n=n|0;var r=0;r=qa()|0,t[e>>2]=r,KM(r,n),Q2(t[e>>2]|0)}function IM(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BM()|0),e|0}function BM(){var e=0;return p[7912]|0||(V3(10412),Ht(56,10412,he|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),rr(10412)|0||V3(10412),10412}function V3(e){e=e|0,zM(e),Wp(e,57)}function UM(e){e=e|0,jM(e+24|0)}function jM(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zM(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,5,n,VM()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qM(e){e=e|0,HM(e)}function HM(e){e=e|0,WM(e)}function WM(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));p[e+56>>0]=1}function VM(){return 1432}function GM(){return YM()|0}function YM(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0;h=m,m=m+16|0,e=h+4|0,n=h,r=Sa(8)|0,u=r,l=cn(48)|0,s=l,D=s+48|0;do t[s>>2]=0,s=s+4|0;while((s|0)<(D|0));return s=u+4|0,t[s>>2]=l,D=cn(8)|0,s=t[s>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Dh(D,s,e),t[r>>2]=D,m=h,u|0}function KM(e,n){e=e|0,n=n|0,t[e>>2]=XM()|0,t[e+4>>2]=QM()|0,t[e+12>>2]=n,t[e+8>>2]=JM()|0,t[e+32>>2]=6}function XM(){return 11704}function QM(){return 1436}function JM(){return E_()|0}function ZM(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&($M(r),yt(r)):n|0&&yt(n)}function $M(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function eN(e){e=e|0,tN(e,4933),nN(e)|0,rN(e)|0}function tN(e,n){e=e|0,n=n|0;var r=0;r=AN()|0,t[e>>2]=r,RN(r,n),Q2(t[e>>2]|0)}function nN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,yN()|0),e|0}function rN(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,iN()|0),e|0}function iN(){var e=0;return p[7920]|0||(G3(10452),Ht(58,10452,he|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),rr(10452)|0||G3(10452),10452}function G3(e){e=e|0,lN(e),Wp(e,1)}function uN(e){e=e|0,oN(e+24|0)}function oN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function lN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,1,n,cN()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function sN(e,n,r){e=e|0,n=+n,r=+r,aN(e,n,r)}function aN(e,n,r){e=e|0,n=+n,r=+r;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,s=u+8|0,D=u+17|0,l=u,h=u+16|0,Ol(D,n),U[s>>3]=+es(D,n),Ol(h,r),U[l>>3]=+es(h,r),fN(e,s,l),m=u}function fN(e,n,r){e=e|0,n=n|0,r=r|0,Y3(e+8|0,+U[n>>3],+U[r>>3]),p[e+24>>0]=1}function Y3(e,n,r){e=e|0,n=+n,r=+r,U[e>>3]=n,U[e+8>>3]=r}function cN(){return 1472}function dN(e,n){return e=+e,n=+n,pN(e,n)|0}function pN(e,n){e=+e,n=+n;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+16|0,h=u+4|0,D=u+8|0,S=u,l=Sa(8)|0,r=l,s=cn(16)|0,Ol(h,e),e=+es(h,e),Ol(D,n),Y3(s,e,+es(D,n)),D=r+4|0,t[D>>2]=s,s=cn(8)|0,D=t[D>>2]|0,t[S>>2]=0,t[h>>2]=t[S>>2],K3(s,D,h),t[l>>2]=s,m=u,r|0}function K3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function hN(e){e=e|0,Pv(e),yt(e)}function vN(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function mN(e){e=e|0,yt(e)}function yN(){var e=0;return p[7928]|0||(X3(10488),Ht(59,10488,he|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),rr(10488)|0||X3(10488),10488}function X3(e){e=e|0,EN(e),Wp(e,60)}function gN(e){e=e|0,_N(e+24|0)}function _N(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function EN(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,6,n,TN()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DN(e){e=e|0,wN(e)}function wN(e){e=e|0,SN(e)}function SN(e){e=e|0,Q3(e+8|0),p[e+24>>0]=1}function Q3(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function TN(){return 1492}function CN(){return xN()|0}function xN(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,u=cn(16)|0,Q3(u),s=e+4|0,t[s>>2]=u,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],K3(u,s,l),t[r>>2]=u,m=n,e|0}function AN(){var e=0;return p[7936]|0||(FN(10524),Ht(25,10524,he|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function RN(e,n){e=e|0,n=n|0,t[e>>2]=ON()|0,t[e+4>>2]=kN()|0,t[e+12>>2]=n,t[e+8>>2]=MN()|0,t[e+32>>2]=7}function ON(){return 11700}function kN(){return 1484}function MN(){return E_()|0}function NN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(LN(r),yt(r)):n|0&&yt(n)}function LN(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function FN(e){e=e|0,Ha(e)}function bN(e,n,r){e=e|0,n=n|0,r=r|0,e=Or(n)|0,n=PN(r)|0,r=IN(r,0)|0,pL(e,n,r,RE()|0,0)}function PN(e){return e=e|0,e|0}function IN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=RE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(Z3(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WN(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function RE(){var e=0,n=0;if(p[7944]|0||(J3(10568),Ht(61,10568,he|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(rr(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));J3(10568)}return 10568}function J3(e){e=e|0,jN(e)}function BN(e){e=e|0,UN(e+24|0)}function UN(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jN(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,17,n,Jh()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zN(e){return e=e|0,HN(t[(qN(e)|0)>>2]|0)|0}function qN(e){return e=e|0,(t[(RE()|0)+24>>2]|0)+(e<<3)|0}function HN(e){return e=e|0,z0(N_[e&7]()|0)|0}function Z3(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WN(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=VN(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,GN(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,Z3(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,YN(e,l),KN(l),m=D;return}}function VN(e){return e=e|0,536870911}function GN(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function YN(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function KN(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function XN(){QN()}function QN(){JN(10604)}function JN(e){e=e|0,ZN(e,4955)}function ZN(e,n){e=e|0,n=n|0;var r=0;r=$N()|0,t[e>>2]=r,eL(r,n),Q2(t[e>>2]|0)}function $N(){var e=0;return p[7952]|0||(aL(10612),Ht(25,10612,he|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function eL(e,n){e=e|0,n=n|0,t[e>>2]=iL()|0,t[e+4>>2]=uL()|0,t[e+12>>2]=n,t[e+8>>2]=oL()|0,t[e+32>>2]=8}function Q2(e){e=e|0;var n=0,r=0;n=m,m=m+16|0,r=n,Mv()|0,t[r>>2]=e,tL(10608,r),m=n}function Mv(){return p[11714]|0||(t[2652]=0,Ht(62,10608,he|0)|0,p[11714]=1),10608}function tL(e,n){e=e|0,n=n|0;var r=0;r=cn(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function nL(e){e=e|0,rL(e)}function rL(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,yt(r);while((n|0)!=0);t[e>>2]=0}function iL(){return 11715}function uL(){return 1496}function oL(){return O1()|0}function lL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(sL(r),yt(r)):n|0&&yt(n)}function sL(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function aL(e){e=e|0,Ha(e)}function fL(e,n){e=e|0,n=n|0;var r=0,u=0;Mv()|0,r=t[2652]|0;e:do if(r|0){for(;u=t[r+4>>2]|0,!(u|0?(L8(OE(u)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;cL(u,n)}while(0)}function OE(e){return e=e|0,t[e+12>>2]|0}function cL(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(ia(r),yt(r)),r=cn(4)|0,mf(r,n),t[e>>2]=r}function kE(){return p[11716]|0||(t[2664]=0,Ht(63,10656,he|0)|0,p[11716]=1),10656}function $3(){var e=0;return p[11717]|0?e=t[2665]|0:(dL(),t[2665]=1504,p[11717]=1,e=1504),e|0}function dL(){p[11740]|0||(p[11718]=dn(dn(8,0)|0,0)|0,p[11719]=dn(dn(0,0)|0,0)|0,p[11720]=dn(dn(0,16)|0,0)|0,p[11721]=dn(dn(8,0)|0,0)|0,p[11722]=dn(dn(0,0)|0,0)|0,p[11723]=dn(dn(8,0)|0,0)|0,p[11724]=dn(dn(0,0)|0,0)|0,p[11725]=dn(dn(8,0)|0,0)|0,p[11726]=dn(dn(0,0)|0,0)|0,p[11727]=dn(dn(8,0)|0,0)|0,p[11728]=dn(dn(0,0)|0,0)|0,p[11729]=dn(dn(0,0)|0,32)|0,p[11730]=dn(dn(0,0)|0,32)|0,p[11740]=1)}function e8(){return 1572}function pL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0;s=m,m=m+32|0,O=s+16|0,M=s+12|0,S=s+8|0,D=s+4|0,h=s,t[O>>2]=e,t[M>>2]=n,t[S>>2]=r,t[D>>2]=u,t[h>>2]=l,kE()|0,hL(10656,O,M,S,D,h),m=s}function hL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0;h=cn(24)|0,h2(h+4|0,t[n>>2]|0,t[r>>2]|0,t[u>>2]|0,t[l>>2]|0,t[s>>2]|0),t[h>>2]=t[e>>2],t[e>>2]=h}function t8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0;if(st=m,m=m+32|0,Ee=st+20|0,ve=st+8|0,Qe=st+4|0,We=st,n=t[n>>2]|0,n|0){Pe=Ee+4|0,S=Ee+8|0,M=ve+4|0,O=ve+8|0,P=ve+8|0,K=Ee+8|0;do{if(h=n+4|0,D=ME(h)|0,D|0){if(l=Fy(D)|0,t[Ee>>2]=0,t[Pe>>2]=0,t[S>>2]=0,u=(by(D)|0)+1|0,vL(Ee,u),u|0)for(;u=u+-1|0,jf(ve,t[l>>2]|0),s=t[Pe>>2]|0,s>>>0<(t[K>>2]|0)>>>0?(t[s>>2]=t[ve>>2],t[Pe>>2]=(t[Pe>>2]|0)+4):NE(Ee,ve),u;)l=l+4|0;u=Py(D)|0,t[ve>>2]=0,t[M>>2]=0,t[O>>2]=0;e:do if(t[u>>2]|0)for(l=0,s=0;;){if((l|0)==(s|0)?mL(ve,u):(t[l>>2]=t[u>>2],t[M>>2]=(t[M>>2]|0)+4),u=u+4|0,!(t[u>>2]|0))break e;l=t[M>>2]|0,s=t[P>>2]|0}while(0);t[Qe>>2]=D_(h)|0,t[We>>2]=rr(D)|0,yL(r,e,Qe,We,Ee,ve),LE(ve),k1(Ee)}n=t[n>>2]|0}while((n|0)!=0)}m=st}function ME(e){return e=e|0,t[e+12>>2]|0}function Fy(e){return e=e|0,t[e+12>>2]|0}function by(e){return e=e|0,t[e+16>>2]|0}function vL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+32|0,r=l,u=t[e>>2]|0,(t[e+8>>2]|0)-u>>2>>>0>>0&&(a8(r,n,(t[e+4>>2]|0)-u>>2,e+8|0),f8(e,r),c8(r)),m=l}function NE(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=s8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,a8(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,f8(e,r),c8(r),m=h;return}}function Py(e){return e=e|0,t[e+8>>2]|0}function mL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;if(h=m,m=m+32|0,r=h,u=e+4|0,l=((t[u>>2]|0)-(t[e>>2]|0)>>2)+1|0,s=l8(e)|0,s>>>0>>0)li(e);else{D=t[e>>2]|0,M=(t[e+8>>2]|0)-D|0,S=M>>1,PL(r,M>>2>>>0>>1>>>0?S>>>0>>0?l:S:s,(t[u>>2]|0)-D>>2,e+8|0),s=r+8|0,t[t[s>>2]>>2]=t[n>>2],t[s>>2]=(t[s>>2]|0)+4,IL(e,r),BL(r),m=h;return}}function D_(e){return e=e|0,t[e>>2]|0}function yL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,gL(e,n,r,u,l,s)}function LE(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function k1(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-u|0)>>>2)<<2)),yt(r))}function gL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+48|0,O=h+40|0,D=h+32|0,P=h+24|0,S=h+12|0,M=h,Ta(D),e=vo(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,u=t[u>>2]|0,FE(S,l),_L(M,s),t[O>>2]=t[P>>2],EL(e,O,r,u,S,M),LE(M),k1(S),Ca(D),m=h}function FE(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(FL(e,u),bL(e,t[n>>2]|0,t[r>>2]|0,u))}function _L(e,n){e=e|0,n=n|0;var r=0,u=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,u=(t[r>>2]|0)-(t[n>>2]|0)>>2,u|0&&(NL(e,u),LL(e,t[n>>2]|0,t[r>>2]|0,u))}function EL(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,O=h+28|0,P=h+24|0,D=h+12|0,S=h,M=mo(DL()|0)|0,t[P>>2]=t[n>>2],t[O>>2]=t[P>>2],n=Vp(O)|0,r=n8(r)|0,u=bE(u)|0,t[D>>2]=t[l>>2],O=l+4|0,t[D+4>>2]=t[O>>2],P=l+8|0,t[D+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[l>>2]=0,l=PE(D)|0,t[S>>2]=t[s>>2],O=s+4|0,t[S+4>>2]=t[O>>2],P=s+8|0,t[S+8>>2]=t[P>>2],t[P>>2]=0,t[O>>2]=0,t[s>>2]=0,G0(0,M|0,e|0,n|0,r|0,u|0,l|0,wL(S)|0)|0,LE(S),k1(D),m=h}function DL(){var e=0;return p[7968]|0||(kL(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function Vp(e){return e=e|0,i8(e)|0}function n8(e){return e=e|0,r8(e)|0}function bE(e){return e=e|0,z0(e)|0}function PE(e){return e=e|0,TL(e)|0}function wL(e){return e=e|0,SL(e)|0}function SL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=r8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function r8(e){return e=e|0,e|0}function TL(e){e=e|0;var n=0,r=0,u=0;if(u=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=u>>2,u=Sa(u+4|0)|0,t[u>>2]=r,r|0){n=0;do t[u+4+(n<<2)>>2]=i8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return u|0}function i8(e){e=e|0;var n=0,r=0,u=0,l=0;return l=m,m=m+32|0,n=l+12|0,r=l,u=Ou(u8()|0)|0,u?(Zl(n,u),Tf(r,n),lI(e,r),e=Es(n)|0):e=CL(e)|0,m=l,e|0}function u8(){var e=0;return p[7960]|0||(OL(10664),Ht(25,10664,he|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function CL(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,t[D>>2]=t[e>>2],s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function o8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function xL(e){e=e|0,Pv(e),yt(e)}function AL(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function RL(e){e=e|0,yt(e)}function OL(e){e=e|0,Ha(e)}function kL(e){e=e|0,nl(e,ML()|0,5)}function ML(){return 1676}function NL(e,n){e=e|0,n=n|0;var r=0;if((l8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function LL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function l8(e){return e=e|0,1073741823}function FL(e,n){e=e|0,n=n|0;var r=0;if((s8(e)|0)>>>0>>0&&li(e),n>>>0>1073741823)Xn();else{r=cn(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function bL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,u=e+4|0,e=r-n|0,(e|0)>0&&(pr(t[u>>2]|0,n|0,e|0)|0,t[u>>2]=(t[u>>2]|0)+(e>>>2<<2))}function s8(e){return e=e|0,1073741823}function PL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function IL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function BL(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function a8(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>1073741823)Xn();else{l=cn(n<<2)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<2)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<2)}function f8(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>2)<<2)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function c8(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&yt(e)}function UL(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(ve=m,m=m+32|0,O=ve+20|0,P=ve+12|0,M=ve+16|0,K=ve+4|0,Pe=ve,Ee=ve+8|0,D=$3()|0,s=t[D>>2]|0,h=t[s>>2]|0,h|0)for(S=t[D+8>>2]|0,D=t[D+4>>2]|0;jf(O,h),jL(e,O,D,S),s=s+4|0,h=t[s>>2]|0,h;)S=S+1|0,D=D+1|0;if(s=e8()|0,h=t[s>>2]|0,h|0)do jf(O,h),t[P>>2]=t[s+4>>2],zL(n,O,P),s=s+8|0,h=t[s>>2]|0;while((h|0)!=0);if(s=t[(Mv()|0)>>2]|0,s|0)do n=t[s+4>>2]|0,jf(O,t[(Nv(n)|0)>>2]|0),t[P>>2]=OE(n)|0,qL(r,O,P),s=t[s>>2]|0;while((s|0)!=0);if(jf(M,0),s=kE()|0,t[O>>2]=t[M>>2],t8(O,s,l),s=t[(Mv()|0)>>2]|0,s|0){e=O+4|0,n=O+8|0,r=O+8|0;do{if(S=t[s+4>>2]|0,jf(P,t[(Nv(S)|0)>>2]|0),HL(K,d8(S)|0),h=t[K>>2]|0,h|0){t[O>>2]=0,t[e>>2]=0,t[n>>2]=0;do jf(Pe,t[(Nv(t[h+4>>2]|0)|0)>>2]|0),D=t[e>>2]|0,D>>>0<(t[r>>2]|0)>>>0?(t[D>>2]=t[Pe>>2],t[e>>2]=(t[e>>2]|0)+4):NE(O,Pe),h=t[h>>2]|0;while((h|0)!=0);WL(u,P,O),k1(O)}t[Ee>>2]=t[P>>2],M=p8(S)|0,t[O>>2]=t[Ee>>2],t8(O,M,l),m2(K),s=t[s>>2]|0}while((s|0)!=0)}m=ve}function jL(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,rF(e,n,r,u)}function zL(e,n,r){e=e|0,n=n|0,r=r|0,nF(e,n,r)}function Nv(e){return e=e|0,e|0}function qL(e,n,r){e=e|0,n=n|0,r=r|0,ZL(e,n,r)}function d8(e){return e=e|0,e+16|0}function HL(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(s=m,m=m+16|0,l=s+8|0,r=s,t[e>>2]=0,u=t[n>>2]|0,t[l>>2]=u,t[r>>2]=e,r=JL(r)|0,u|0){if(u=cn(12)|0,h=(h8(l)|0)+4|0,e=t[h+4>>2]|0,n=u+4|0,t[n>>2]=t[h>>2],t[n+4>>2]=e,n=t[t[l>>2]>>2]|0,t[l>>2]=n,!n)e=u;else for(n=u;e=cn(12)|0,S=(h8(l)|0)+4|0,D=t[S+4>>2]|0,h=e+4|0,t[h>>2]=t[S>>2],t[h+4>>2]=D,t[n>>2]=e,h=t[t[l>>2]>>2]|0,t[l>>2]=h,h;)n=e;t[e>>2]=t[r>>2],t[r>>2]=u}m=s}function WL(e,n,r){e=e|0,n=n|0,r=r|0,VL(e,n,r)}function p8(e){return e=e|0,e+24|0}function VL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+24|0,l=u+16|0,D=u+12|0,s=u,Ta(l),e=vo(e)|0,t[D>>2]=t[n>>2],FE(s,r),t[h>>2]=t[D>>2],YL(e,h,s),k1(s),Ca(l),m=u}function YL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=m,m=m+32|0,h=u+16|0,D=u+12|0,l=u,s=mo(KL()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,t[l>>2]=t[r>>2],h=r+4|0,t[l+4>>2]=t[h>>2],D=r+8|0,t[l+8>>2]=t[D>>2],t[D>>2]=0,t[h>>2]=0,t[r>>2]=0,F0(0,s|0,e|0,n|0,PE(l)|0)|0,k1(l),m=u}function KL(){var e=0;return p[7976]|0||(XL(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function XL(e){e=e|0,nl(e,QL()|0,2)}function QL(){return 1732}function JL(e){return e=e|0,t[e>>2]|0}function h8(e){return e=e|0,t[e>>2]|0}function ZL(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function v8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+16|0,s=u+4|0,h=u,l=mo($L()|0)|0,t[h>>2]=t[n>>2],t[s>>2]=t[h>>2],n=Vp(s)|0,F0(0,l|0,e|0,n|0,n8(r)|0)|0,m=u}function $L(){var e=0;return p[7984]|0||(eF(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function eF(e){e=e|0,nl(e,tF()|0,2)}function tF(){return 1744}function nF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;u=m,m=m+32|0,s=u+16|0,l=u+8|0,h=u,Ta(l),e=vo(e)|0,t[h>>2]=t[n>>2],r=t[r>>2]|0,t[s>>2]=t[h>>2],v8(e,s,r),Ca(l),m=u}function rF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),e=vo(e)|0,t[D>>2]=t[n>>2],r=p[r>>0]|0,u=p[u>>0]|0,t[h>>2]=t[D>>2],iF(e,h,r,u),Ca(s),m=l}function iF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,h=l+4|0,D=l,s=mo(uF()|0)|0,t[D>>2]=t[n>>2],t[h>>2]=t[D>>2],n=Vp(h)|0,r=Lv(r)|0,Bn(0,s|0,e|0,n|0,r|0,Lv(u)|0)|0,m=l}function uF(){var e=0;return p[7992]|0||(lF(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function Lv(e){return e=e|0,oF(e)|0}function oF(e){return e=e|0,e&255|0}function lF(e){e=e|0,nl(e,sF()|0,3)}function sF(){return 1756}function aF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;switch(K=m,m=m+32|0,D=K+8|0,S=K+4|0,M=K+20|0,O=K,ma(e,0),u=oI(n)|0,t[D>>2]=0,P=D+4|0,t[P>>2]=0,t[D+8>>2]=0,u<<24>>24){case 0:{p[M>>0]=0,fF(S,r,M),w_(e,S)|0,B0(S);break}case 8:{P=qE(n)|0,p[M>>0]=8,jf(O,t[P+4>>2]|0),cF(S,r,M,O,P+8|0),w_(e,S)|0,B0(S);break}case 9:{if(s=qE(n)|0,n=t[s+4>>2]|0,n|0)for(h=D+8|0,l=s+12|0;n=n+-1|0,jf(S,t[l>>2]|0),u=t[P>>2]|0,u>>>0<(t[h>>2]|0)>>>0?(t[u>>2]=t[S>>2],t[P>>2]=(t[P>>2]|0)+4):NE(D,S),n;)l=l+4|0;p[M>>0]=9,jf(O,t[s+8>>2]|0),dF(S,r,M,O,D),w_(e,S)|0,B0(S);break}default:P=qE(n)|0,p[M>>0]=u,jf(O,t[P+4>>2]|0),pF(S,r,M,O),w_(e,S)|0,B0(S)}k1(D),m=K}function fF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;u=m,m=m+16|0,l=u,Ta(l),n=vo(n)|0,xF(e,n,p[r>>0]|0),Ca(l),m=u}function w_(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&Ir(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function cF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+32|0,D=s+16|0,h=s+8|0,S=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[S>>2]=t[u>>2],l=t[l>>2]|0,t[D>>2]=t[S>>2],wF(e,n,r,D,l),Ca(h),m=s}function dF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+24|0,h=s+16|0,M=s+12|0,D=s,Ta(h),n=vo(n)|0,r=p[r>>0]|0,t[M>>2]=t[u>>2],FE(D,l),t[S>>2]=t[M>>2],gF(e,n,r,S,D),k1(D),Ca(h),m=s}function pF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+32|0,h=l+16|0,s=l+8|0,D=l,Ta(s),n=vo(n)|0,r=p[r>>0]|0,t[D>>2]=t[u>>2],t[h>>2]=t[D>>2],hF(e,n,r,h),Ca(s),m=l}function hF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0,h=0,D=0;l=m,m=m+16|0,s=l+4|0,D=l,h=mo(vF()|0)|0,r=Lv(r)|0,t[D>>2]=t[u>>2],t[s>>2]=t[D>>2],S_(e,F0(0,h|0,n|0,r|0,Vp(s)|0)|0),m=l}function vF(){var e=0;return p[8e3]|0||(mF(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function S_(e,n){e=e|0,n=n|0,ma(e,n)}function mF(e){e=e|0,nl(e,yF()|0,2)}function yF(){return 1772}function gF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0;s=m,m=m+32|0,S=s+16|0,M=s+12|0,h=s,D=mo(_F()|0)|0,r=Lv(r)|0,t[M>>2]=t[u>>2],t[S>>2]=t[M>>2],u=Vp(S)|0,t[h>>2]=t[l>>2],S=l+4|0,t[h+4>>2]=t[S>>2],M=l+8|0,t[h+8>>2]=t[M>>2],t[M>>2]=0,t[S>>2]=0,t[l>>2]=0,S_(e,Bn(0,D|0,n|0,r|0,u|0,PE(h)|0)|0),k1(h),m=s}function _F(){var e=0;return p[8008]|0||(EF(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function EF(e){e=e|0,nl(e,DF()|0,3)}function DF(){return 1784}function wF(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0;s=m,m=m+16|0,D=s+4|0,S=s,h=mo(SF()|0)|0,r=Lv(r)|0,t[S>>2]=t[u>>2],t[D>>2]=t[S>>2],u=Vp(D)|0,S_(e,Bn(0,h|0,n|0,r|0,u|0,bE(l)|0)|0),m=s}function SF(){var e=0;return p[8016]|0||(TF(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function TF(e){e=e|0,nl(e,CF()|0,3)}function CF(){return 1800}function xF(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;u=mo(AF()|0)|0,S_(e,ji(0,u|0,n|0,Lv(r)|0)|0)}function AF(){var e=0;return p[8024]|0||(RF(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function RF(e){e=e|0,nl(e,OF()|0,1)}function OF(){return 1816}function kF(){MF(),NF(),LF()}function MF(){t[2702]=H8(65536)|0}function NF(){$F(10856)}function LF(){FF(10816)}function FF(e){e=e|0,bF(e,5044),PF(e)|0}function bF(e,n){e=e|0,n=n|0;var r=0;r=u8()|0,t[e>>2]=r,YF(r,n),Q2(t[e>>2]|0)}function PF(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,IF()|0),e|0}function IF(){var e=0;return p[8032]|0||(m8(10820),Ht(64,10820,he|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),rr(10820)|0||m8(10820),10820}function m8(e){e=e|0,jF(e),Wp(e,25)}function BF(e){e=e|0,UF(e+24|0)}function UF(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function jF(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,18,n,WF()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zF(e,n){e=e|0,n=n|0,qF(e,n)}function qF(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;r=m,m=m+16|0,u=r,l=r+4|0,Of(l,n),t[u>>2]=kf(l,n)|0,HF(e,u),m=r}function HF(e,n){e=e|0,n=n|0,y8(e+4|0,t[n>>2]|0),p[e+8>>0]=1}function y8(e,n){e=e|0,n=n|0,t[e>>2]=n}function WF(){return 1824}function VF(e){return e=e|0,GF(e)|0}function GF(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0;return r=m,m=m+16|0,l=r+4|0,h=r,u=Sa(8)|0,n=u,D=cn(4)|0,Of(l,e),y8(D,kf(l,e)|0),s=n+4|0,t[s>>2]=D,e=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],o8(e,s,l),t[u>>2]=e,m=r,n|0}function Sa(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=H8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function YF(e,n){e=e|0,n=n|0,t[e>>2]=KF()|0,t[e+4>>2]=XF()|0,t[e+12>>2]=n,t[e+8>>2]=QF()|0,t[e+32>>2]=9}function KF(){return 11744}function XF(){return 1832}function QF(){return E_()|0}function JF(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(ZF(r),yt(r)):n|0&&yt(n)}function ZF(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function $F(e){e=e|0,eb(e,5052),tb(e)|0,nb(e,5058,26)|0,rb(e,5069,1)|0,ib(e,5077,10)|0,ub(e,5087,19)|0,ob(e,5094,27)|0}function eb(e,n){e=e|0,n=n|0;var r=0;r=ZP()|0,t[e>>2]=r,$P(r,n),Q2(t[e>>2]|0)}function tb(e){e=e|0;var n=0;return n=t[e>>2]|0,Hp(n,BP()|0),e|0}function nb(e,n,r){return e=e|0,n=n|0,r=r|0,EP(e,Or(n)|0,r,0),e|0}function rb(e,n,r){return e=e|0,n=n|0,r=r|0,uP(e,Or(n)|0,r,0),e|0}function ib(e,n,r){return e=e|0,n=n|0,r=r|0,Ib(e,Or(n)|0,r,0),e|0}function ub(e,n,r){return e=e|0,n=n|0,r=r|0,wb(e,Or(n)|0,r,0),e|0}function g8(e,n){e=e|0,n=n|0;var r=0,u=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(u=t[r>>2]|0,t[2703]=u,!r)r=u;else break}yt(r)}t[2701]=e}function ob(e,n,r){return e=e|0,n=n|0,r=r|0,lb(e,Or(n)|0,r,0),e|0}function lb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=IE()|0,e=sb(r)|0,vi(s,n,l,e,ab(r,u)|0,u)}function IE(){var e=0,n=0;if(p[8040]|0||(E8(10860),Ht(65,10860,he|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(rr(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));E8(10860)}return 10860}function sb(e){return e=e|0,e|0}function ab(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=IE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(_8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function _8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=cb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,db(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,_8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,pb(e,l),hb(l),m=D;return}}function cb(e){return e=e|0,536870911}function db(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function pb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function hb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function E8(e){e=e|0,yb(e)}function vb(e){e=e|0,mb(e+24|0)}function mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,gb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gb(){return 1840}function _b(e,n,r){e=e|0,n=n|0,r=r|0,Db(t[(Eb(e)|0)>>2]|0,n,r)}function Eb(e){return e=e|0,(t[(IE()|0)+24>>2]|0)+(e<<3)|0}function Db(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+1|0,l=u,Of(s,n),n=kf(s,n)|0,Of(l,r),r=kf(l,r)|0,N1[e&31](n,r),m=u}function wb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=BE()|0,e=Sb(r)|0,vi(s,n,l,e,Tb(r,u)|0,u)}function BE(){var e=0,n=0;if(p[8048]|0||(w8(10896),Ht(66,10896,he|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(rr(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));w8(10896)}return 10896}function Sb(e){return e=e|0,e|0}function Tb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=BE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(D8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Cb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function D8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Cb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=xb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,Ab(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,D8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Rb(e,l),Ob(l),m=D;return}}function xb(e){return e=e|0,536870911}function Ab(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Rb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Ob(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function w8(e){e=e|0,Nb(e)}function kb(e){e=e|0,Mb(e+24|0)}function Mb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Nb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,11,n,Lb()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Lb(){return 1852}function Fb(e,n){return e=e|0,n=n|0,Pb(t[(bb(e)|0)>>2]|0,n)|0}function bb(e){return e=e|0,(t[(BE()|0)+24>>2]|0)+(e<<3)|0}function Pb(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Of(u,n),n=kf(u,n)|0,n=z0(Xp[e&31](n)|0)|0,m=r,n|0}function Ib(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=UE()|0,e=Bb(r)|0,vi(s,n,l,e,Ub(r,u)|0,u)}function UE(){var e=0,n=0;if(p[8056]|0||(T8(10932),Ht(67,10932,he|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(rr(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));T8(10932)}return 10932}function Bb(e){return e=e|0,e|0}function Ub(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=UE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(S8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(jb(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function S8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=zb(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,qb(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,S8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,Hb(e,l),Wb(l),m=D;return}}function zb(e){return e=e|0,536870911}function qb(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function Hb(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function Wb(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function T8(e){e=e|0,Yb(e)}function Vb(e){e=e|0,Gb(e+24|0)}function Gb(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function Yb(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,7,n,Kb()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Kb(){return 1860}function Xb(e,n,r){return e=e|0,n=n|0,r=r|0,Jb(t[(Qb(e)|0)>>2]|0,n,r)|0}function Qb(e){return e=e|0,(t[(UE()|0)+24>>2]|0)+(e<<3)|0}function Jb(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0;return u=m,m=m+32|0,h=u+12|0,s=u+8|0,D=u,S=u+16|0,l=u+4|0,Zb(S,n),$b(D,S,n),qs(l,r),r=Hs(l,r)|0,t[h>>2]=t[D>>2],jy[e&15](s,h,r),r=eP(s)|0,B0(s),Ws(l),m=u,r|0}function Zb(e,n){e=e|0,n=n|0}function $b(e,n,r){e=e|0,n=n|0,r=r|0,tP(e,r)}function eP(e){return e=e|0,vo(e)|0}function tP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0;l=m,m=m+16|0,r=l,u=n,u&1?(nP(r,0),Yi(u|0,r|0)|0,rP(e,r),iP(r)):t[e>>2]=t[n>>2],m=l}function nP(e,n){e=e|0,n=n|0,l2(e,n),t[e+4>>2]=0,p[e+8>>0]=0}function rP(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function iP(e){e=e|0,p[e+8>>0]=0}function uP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=jE()|0,e=oP(r)|0,vi(s,n,l,e,lP(r,u)|0,u)}function jE(){var e=0,n=0;if(p[8064]|0||(x8(10968),Ht(68,10968,he|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(rr(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10968)}return 10968}function oP(e){return e=e|0,e|0}function lP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=jE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(C8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(sP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function C8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function sP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=aP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,fP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,C8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,cP(e,l),dP(l),m=D;return}}function aP(e){return e=e|0,536870911}function fP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function cP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function dP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function x8(e){e=e|0,vP(e)}function pP(e){e=e|0,hP(e+24|0)}function hP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function vP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,1,n,mP()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mP(){return 1872}function yP(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,_P(t[(gP(e)|0)>>2]|0,n,r,u,l,s)}function gP(e){return e=e|0,(t[(jE()|0)+24>>2]|0)+(e<<3)|0}function _P(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0;h=m,m=m+32|0,D=h+16|0,S=h+12|0,M=h+8|0,O=h+4|0,P=h,qs(D,n),n=Hs(D,n)|0,qs(S,r),r=Hs(S,r)|0,qs(M,u),u=Hs(M,u)|0,qs(O,l),l=Hs(O,l)|0,qs(P,s),s=Hs(P,s)|0,K8[e&1](n,r,u,l,s),Ws(P),Ws(O),Ws(M),Ws(S),Ws(D),m=h}function EP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;s=t[e>>2]|0,l=zE()|0,e=DP(r)|0,vi(s,n,l,e,wP(r,u)|0,u)}function zE(){var e=0,n=0;if(p[8072]|0||(R8(11004),Ht(69,11004,he|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(rr(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));R8(11004)}return 11004}function DP(e){return e=e|0,e|0}function wP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0,D=0,S=0;return D=m,m=m+16|0,l=D,s=D+4|0,t[l>>2]=e,S=zE()|0,h=S+24|0,n=dn(n,4)|0,t[s>>2]=n,r=S+28|0,u=t[r>>2]|0,u>>>0<(t[S+32>>2]|0)>>>0?(A8(u,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SP(h,l,s),n=t[r>>2]|0),m=D,(n-(t[h>>2]|0)>>3)+-1|0}function A8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0;if(D=m,m=m+32|0,l=D,s=e+4|0,h=((t[s>>2]|0)-(t[e>>2]|0)>>3)+1|0,u=TP(e)|0,u>>>0>>0)li(e);else{S=t[e>>2]|0,O=(t[e+8>>2]|0)-S|0,M=O>>2,CP(l,O>>3>>>0>>1>>>0?M>>>0>>0?h:M:u,(t[s>>2]|0)-S>>3,e+8|0),h=l+8|0,A8(t[h>>2]|0,t[n>>2]|0,t[r>>2]|0),t[h>>2]=(t[h>>2]|0)+8,xP(e,l),AP(l),m=D;return}}function TP(e){return e=e|0,536870911}function CP(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0;t[e+12>>2]=0,t[e+16>>2]=u;do if(n)if(n>>>0>536870911)Xn();else{l=cn(n<<3)|0;break}else l=0;while(0);t[e>>2]=l,u=l+(r<<3)|0,t[e+8>>2]=u,t[e+4>>2]=u,t[e+12>>2]=l+(n<<3)}function xP(e,n){e=e|0,n=n|0;var r=0,u=0,l=0,s=0,h=0;u=t[e>>2]|0,h=e+4|0,s=n+4|0,l=(t[h>>2]|0)-u|0,r=(t[s>>2]|0)+(0-(l>>3)<<3)|0,t[s>>2]=r,(l|0)>0?(pr(r|0,u|0,l|0)|0,u=s,r=t[s>>2]|0):u=s,s=t[e>>2]|0,t[e>>2]=r,t[u>>2]=s,s=n+8|0,l=t[h>>2]|0,t[h>>2]=t[s>>2],t[s>>2]=l,s=e+8|0,h=n+12|0,e=t[s>>2]|0,t[s>>2]=t[h>>2],t[h>>2]=e,t[n>>2]=t[u>>2]}function AP(e){e=e|0;var n=0,r=0,u=0;n=t[e+4>>2]|0,r=e+8|0,u=t[r>>2]|0,(u|0)!=(n|0)&&(t[r>>2]=u+(~((u+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&yt(e)}function R8(e){e=e|0,kP(e)}function RP(e){e=e|0,OP(e+24|0)}function OP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function kP(e){e=e|0;var n=0;n=dr()|0,Pn(e,1,12,n,MP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function MP(){return 1896}function NP(e,n,r){e=e|0,n=n|0,r=r|0,FP(t[(LP(e)|0)>>2]|0,n,r)}function LP(e){return e=e|0,(t[(zE()|0)+24>>2]|0)+(e<<3)|0}function FP(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;u=m,m=m+16|0,s=u+4|0,l=u,bP(s,n),n=PP(s,n)|0,qs(l,r),r=Hs(l,r)|0,N1[e&31](n,r),Ws(l),m=u}function bP(e,n){e=e|0,n=n|0}function PP(e,n){return e=e|0,n=n|0,IP(n)|0}function IP(e){return e=e|0,e|0}function BP(){var e=0;return p[8080]|0||(O8(11040),Ht(70,11040,he|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),rr(11040)|0||O8(11040),11040}function O8(e){e=e|0,zP(e),Wp(e,71)}function UP(e){e=e|0,jP(e+24|0)}function jP(e){e=e|0;var n=0,r=0,u=0;r=t[e>>2]|0,u=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-u|0)>>>3)<<3)),yt(r))}function zP(e){e=e|0;var n=0;n=dr()|0,Pn(e,5,7,n,VP()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qP(e){e=e|0,HP(e)}function HP(e){e=e|0,WP(e)}function WP(e){e=e|0,p[e+8>>0]=1}function VP(){return 1936}function GP(){return YP()|0}function YP(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0;return n=m,m=m+16|0,l=n+4|0,h=n,r=Sa(8)|0,e=r,s=e+4|0,t[s>>2]=cn(1)|0,u=cn(8)|0,s=t[s>>2]|0,t[h>>2]=0,t[l>>2]=t[h>>2],KP(u,s,l),t[r>>2]=u,m=n,e|0}function KP(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=cn(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function XP(e){e=e|0,Pv(e),yt(e)}function QP(e){e=e|0,e=t[e+12>>2]|0,e|0&&yt(e)}function JP(e){e=e|0,yt(e)}function ZP(){var e=0;return p[8088]|0||(uI(11076),Ht(25,11076,he|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function $P(e,n){e=e|0,n=n|0,t[e>>2]=eI()|0,t[e+4>>2]=tI()|0,t[e+12>>2]=n,t[e+8>>2]=nI()|0,t[e+32>>2]=10}function eI(){return 11745}function tI(){return 1940}function nI(){return O1()|0}function rI(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,(Pl(u,896)|0)==512?r|0&&(iI(r),yt(r)):n|0&&yt(n)}function iI(e){e=e|0,e=t[e+4>>2]|0,e|0&&J2(e)}function uI(e){e=e|0,Ha(e)}function jf(e,n){e=e|0,n=n|0,t[e>>2]=n}function qE(e){return e=e|0,t[e>>2]|0}function oI(e){return e=e|0,p[t[e>>2]>>0]|0}function lI(e,n){e=e|0,n=n|0;var r=0,u=0;r=m,m=m+16|0,u=r,t[u>>2]=t[e>>2],sI(n,u)|0,m=r}function sI(e,n){e=e|0,n=n|0;var r=0;return r=aI(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function aI(e,n){e=e|0,n=n|0;var r=0,u=0;return r=m,m=m+16|0,u=r,Ta(u),e=vo(e)|0,n=fI(e,t[n>>2]|0)|0,Ca(u),m=r,n|0}function Ta(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function fI(e,n){e=e|0,n=n|0;var r=0;return r=mo(cI()|0)|0,ji(0,r|0,e|0,bE(n)|0)|0}function Ca(e){e=e|0,g8(t[e>>2]|0,t[e+4>>2]|0)}function cI(){var e=0;return p[8096]|0||(dI(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function dI(e){e=e|0,nl(e,pI()|0,1)}function pI(){return 1948}function hI(){vI()}function vI(){var e=0,n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;if(Ee=m,m=m+16|0,O=Ee+4|0,P=Ee,Ln(65536,10804,t[2702]|0,10812),r=$3()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(u=t[r+8>>2]|0,r=t[r+4>>2]|0;Wl(e|0,k[r>>0]|0|0,p[u>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)u=u+1|0,r=r+1|0;if(e=e8()|0,n=t[e>>2]|0,n|0)do xo(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);xo(mI()|0,5167),M=Mv()|0,e=t[M>>2]|0;e:do if(e|0){do yI(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[M>>2]|0,e|0){S=M;do{for(;l=e,e=t[e>>2]|0,l=t[l+4>>2]|0,!!(gI(l)|0);)if(t[P>>2]=S,t[O>>2]=t[P>>2],_I(M,O)|0,!e)break e;if(EI(l),S=t[S>>2]|0,n=k8(l)|0,s=lo()|0,h=m,m=m+((1*(n<<2)|0)+15&-16)|0,D=m,m=m+((1*(n<<2)|0)+15&-16)|0,n=t[(d8(l)|0)>>2]|0,n|0)for(r=h,u=D;t[r>>2]=t[(Nv(t[n+4>>2]|0)|0)>>2],t[u>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,u=u+4|0;ve=Nv(l)|0,n=DI(l)|0,r=k8(l)|0,u=wI(l)|0,Ao(ve|0,n|0,h|0,D|0,r|0,u|0,OE(l)|0),ci(s|0)}while((e|0)!=0)}}while(0);if(e=t[(kE()|0)>>2]|0,e|0)do ve=e+4|0,M=ME(ve)|0,l=Py(M)|0,s=Fy(M)|0,h=(by(M)|0)+1|0,D=T_(M)|0,S=M8(ve)|0,M=rr(M)|0,O=D_(ve)|0,P=HE(ve)|0,oo(0,l|0,s|0,h|0,D|0,S|0,M|0,O|0,P|0,WE(ve)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(Mv()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(K=t[(Nv(n)|0)>>2]|0,Pe=t[(p8(n)|0)>>2]|0,Pe|0):0){r=Pe;do{n=r+4|0,u=ME(n)|0;n:do if(u|0)switch(rr(u)|0){case 0:break t;case 4:case 3:case 2:{D=Py(u)|0,S=Fy(u)|0,M=(by(u)|0)+1|0,O=T_(u)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,D|0,S|0,M|0,O|0,0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 1:{h=Py(u)|0,D=Fy(u)|0,S=(by(u)|0)+1|0,M=T_(u)|0,O=M8(n)|0,P=rr(u)|0,ve=D_(n)|0,oo(K|0,h|0,D|0,S|0,M|0,O|0,P|0,ve|0,HE(n)|0,WE(n)|0);break n}case 5:{M=Py(u)|0,O=Fy(u)|0,P=(by(u)|0)+1|0,ve=T_(u)|0,oo(K|0,M|0,O|0,P|0,ve|0,SI(u)|0,rr(u)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}Xn()}while(0);Ms(),m=Ee}function mI(){return 11703}function yI(e){e=e|0,p[e+40>>0]=0}function gI(e){return e=e|0,(p[e+40>>0]|0)!=0|0}function _I(e,n){return e=e|0,n=n|0,n=TI(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],yt(e),t[n>>2]|0}function EI(e){e=e|0,p[e+40>>0]=1}function k8(e){return e=e|0,t[e+20>>2]|0}function DI(e){return e=e|0,t[e+8>>2]|0}function wI(e){return e=e|0,t[e+32>>2]|0}function T_(e){return e=e|0,t[e+4>>2]|0}function M8(e){return e=e|0,t[e+4>>2]|0}function HE(e){return e=e|0,t[e+8>>2]|0}function WE(e){return e=e|0,t[e+16>>2]|0}function SI(e){return e=e|0,t[e+20>>2]|0}function TI(e){return e=e|0,t[e>>2]|0}function C_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0;Qt=m,m=m+16|0,K=Qt;do if(e>>>0<245){if(M=e>>>0<11?16:e+11&-8,e=M>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,u=t[r>>2]|0,l=u+8|0,s=t[l>>2]|0,(e|0)==(s|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=s),Fe=n<<3,t[u+4>>2]=Fe|3,Fe=u+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1,Fe=l,m=Qt,Fe|0;if(O=t[2785]|0,M>>>0>O>>>0){if(r|0)return n=2<>>12&16,n=n>>>h,r=n>>>5&8,n=n>>>r,l=n>>>2&4,n=n>>>l,e=n>>>1&2,n=n>>>e,u=n>>>1&1,u=(r|h|l|e|u)+(n>>>u)|0,n=11172+(u<<1<<2)|0,e=n+8|0,l=t[e>>2]|0,h=l+8|0,r=t[h>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),s=(u<<3)-M|0,t[l+4>>2]=M|3,u=l+M|0,t[u+4>>2]=s|1,t[u+s>>2]=s,O|0&&(l=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r),t[2785]=s,t[2788]=u,Fe=h,m=Qt,Fe|0;if(D=t[2784]|0,D){if(r=(D&0-D)+-1|0,h=r>>>12&16,r=r>>>h,s=r>>>5&8,r=r>>>s,S=r>>>2&4,r=r>>>S,u=r>>>1&2,r=r>>>u,e=r>>>1&1,e=t[11436+((s|h|S|u|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-M|0,u=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!u)S=e,s=r;else{do h=(t[u+4>>2]&-8)-M|0,S=h>>>0>>0,r=S?h:r,e=S?u:e,u=t[u+16+(((t[u+16>>2]|0)==0&1)<<2)>>2]|0;while((u|0)!=0);S=e,s=r}if(h=S+M|0,S>>>0>>0){l=t[S+24>>2]|0,n=t[S+12>>2]|0;do if((n|0)==(S|0)){if(e=S+20|0,n=t[e>>2]|0,!n&&(e=S+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0,r=n}else r=t[S+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(l|0){if(n=t[S+28>>2]|0,e=11436+(n<<2)|0,(S|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=D&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,n=t[S+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[S+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return s>>>0<16?(Fe=s+M|0,t[S+4>>2]=Fe|3,Fe=S+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1):(t[S+4>>2]=M|3,t[h+4>>2]=s|1,t[h+s>>2]=s,O|0&&(u=t[2788]|0,n=O>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=u,t[n+12>>2]=u,t[u+8>>2]=n,t[u+12>>2]=r),t[2785]=s,t[2788]=h),Fe=S+8|0,m=Qt,Fe|0}else P=M}else P=M}else P=M}else if(e>>>0<=4294967231)if(e=e+11|0,M=e&-8,S=t[2784]|0,S){u=0-M|0,e=e>>>8,e?M>>>0>16777215?D=31:(P=(e+1048320|0)>>>16&8,Re=e<>>16&4,Re=Re<>>16&2,D=14-(O|P|D)+(Re<>>15)|0,D=M>>>(D+7|0)&1|D<<1):D=0,r=t[11436+(D<<2)>>2]|0;e:do if(!r)r=0,e=0,Re=57;else for(e=0,h=M<<((D|0)==31?0:25-(D>>>1)|0),s=0;;){if(l=(t[r+4>>2]&-8)-M|0,l>>>0>>0)if(l)e=r,u=l;else{e=r,u=0,l=r,Re=61;break e}if(l=t[r+20>>2]|0,r=t[r+16+(h>>>31<<2)>>2]|0,s=(l|0)==0|(l|0)==(r|0)?s:l,l=(r|0)==0,l){r=s,Re=57;break}else h=h<<((l^1)&1)}while(0);if((Re|0)==57){if((r|0)==0&(e|0)==0){if(e=2<>>12&16,P=P>>>h,s=P>>>5&8,P=P>>>s,D=P>>>2&4,P=P>>>D,O=P>>>1&2,P=P>>>O,r=P>>>1&1,e=0,r=t[11436+((s|h|D|O|r)+(P>>>r)<<2)>>2]|0}r?(l=r,Re=61):(D=e,h=u)}if((Re|0)==61)for(;;)if(Re=0,r=(t[l+4>>2]&-8)-M|0,P=r>>>0>>0,r=P?r:u,e=P?l:e,l=t[l+16+(((t[l+16>>2]|0)==0&1)<<2)>>2]|0,l)u=r,Re=61;else{D=e,h=r;break}if((D|0)!=0?h>>>0<((t[2785]|0)-M|0)>>>0:0){if(s=D+M|0,D>>>0>=s>>>0)return Fe=0,m=Qt,Fe|0;l=t[D+24>>2]|0,n=t[D+12>>2]|0;do if((n|0)==(D|0)){if(e=D+20|0,n=t[e>>2]|0,!n&&(e=D+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,u=t[r>>2]|0,u|0){n=u,e=r;continue}if(r=n+16|0,u=t[r>>2]|0,u)n=u,e=r;else break}t[e>>2]=0}else Fe=t[D+8>>2]|0,t[Fe+12>>2]=n,t[n+8>>2]=Fe;while(0);do if(l){if(e=t[D+28>>2]|0,r=11436+(e<<2)|0,(D|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){u=S&~(1<>2]|0)!=(D|0)&1)<<2)>>2]=n,!n){u=S;break}t[n+24>>2]=l,e=t[D+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[D+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),u=S}else u=S;while(0);do if(h>>>0>=16){if(t[D+4>>2]=M|3,t[s+4>>2]=h|1,t[s+h>>2]=h,n=h>>>3,h>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r;break}if(n=h>>>8,n?h>>>0>16777215?n=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=h>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[s+28>>2]=n,e=s+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}for(e=h<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(h|0)){Re=97;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=96;break}}if((Re|0)==96){t[u>>2]=s,t[s+24>>2]=r,t[s+12>>2]=s,t[s+8>>2]=s;break}else if((Re|0)==97){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=s,t[Re>>2]=s,t[s+8>>2]=Fe,t[s+12>>2]=r,t[s+24>>2]=0;break}}else Fe=h+M|0,t[D+4>>2]=Fe|3,Fe=D+Fe+4|0,t[Fe>>2]=t[Fe>>2]|1;while(0);return Fe=D+8|0,m=Qt,Fe|0}else P=M}else P=M;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(Fe=e+P|0,t[2788]=Fe,t[2785]=n,t[Fe+4>>2]=n|1,t[Fe+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,Fe=e+r+4|0,t[Fe>>2]=t[Fe>>2]|1),Fe=e+8|0,m=Qt,Fe|0;if(h=t[2786]|0,h>>>0>P>>>0)return st=h-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=K&-16^1431655768,t[K>>2]=e,t[2901]=e,e=4096),D=P+48|0,S=P+47|0,s=e+S|0,l=0-e|0,M=s&l,M>>>0<=P>>>0||(e=t[2893]|0,e|0?(O=t[2891]|0,K=O+M|0,K>>>0<=O>>>0|K>>>0>e>>>0):0))return Fe=0,m=Qt,Fe|0;e:do if(t[2894]&4)n=0,Re=133;else{r=t[2789]|0;t:do if(r){for(u=11580;e=t[u>>2]|0,!(e>>>0<=r>>>0?(ve=u+4|0,(e+(t[ve>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[u+8>>2]|0,e)u=e;else{Re=118;break t}if(n=s-h&l,n>>>0<2147483647)if(e=Z2(n|0)|0,(e|0)==((t[u>>2]|0)+(t[ve>>2]|0)|0)){if((e|0)!=(-1|0)){h=n,s=e,Re=135;break e}}else u=e,Re=126;else n=0}else Re=118;while(0);do if((Re|0)==118)if(r=Z2(0)|0,(r|0)!=(-1|0)?(n=r,Pe=t[2902]|0,Ee=Pe+-1|0,n=((Ee&n|0)==0?0:(Ee+n&0-Pe)-n|0)+M|0,Pe=t[2891]|0,Ee=n+Pe|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ve=t[2893]|0,ve|0?Ee>>>0<=Pe>>>0|Ee>>>0>ve>>>0:0){n=0;break}if(e=Z2(n|0)|0,(e|0)==(r|0)){h=n,s=r,Re=135;break e}else u=e,Re=126}else n=0;while(0);do if((Re|0)==126){if(r=0-n|0,!(D>>>0>n>>>0&(n>>>0<2147483647&(u|0)!=(-1|0))))if((u|0)==(-1|0)){n=0;break}else{h=n,s=u,Re=135;break e}if(e=t[2903]|0,e=S-n+e&0-e,e>>>0>=2147483647){h=n,s=u,Re=135;break e}if((Z2(e|0)|0)==(-1|0)){Z2(r|0)|0,n=0;break}else{h=e+n|0,s=u,Re=135;break e}}while(0);t[2894]=t[2894]|4,Re=133}while(0);if((((Re|0)==133?M>>>0<2147483647:0)?(st=Z2(M|0)|0,ve=Z2(0)|0,Qe=ve-st|0,We=Qe>>>0>(P+40|0)>>>0,!((st|0)==(-1|0)|We^1|st>>>0>>0&((st|0)!=(-1|0)&(ve|0)!=(-1|0))^1)):0)&&(h=We?Qe:n,s=st,Re=135),(Re|0)==135){n=(t[2891]|0)+h|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),S=t[2789]|0;do if(S){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,u=t[r>>2]|0,(s|0)==(e+u|0)){Re=145;break}if(l=t[n+8>>2]|0,l)n=l;else break}if(((Re|0)==145?(t[n+12>>2]&8|0)==0:0)?S>>>0>>0&S>>>0>=e>>>0:0){t[r>>2]=u+h,Fe=S+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=S+Fe|0,Fe=(t[2786]|0)+(h-Fe)|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905];break}for(s>>>0<(t[2787]|0)>>>0&&(t[2787]=s),r=s+h|0,n=11580;;){if((t[n>>2]|0)==(r|0)){Re=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((Re|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=s,O=n+4|0,t[O>>2]=(t[O>>2]|0)+h,O=s+8|0,O=s+((O&7|0)==0?0:0-O&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,M=O+P|0,D=n-O-P|0,t[O+4>>2]=P|3;do if((n|0)!=(S|0)){if((n|0)==(t[2788]|0)){Fe=(t[2785]|0)+D|0,t[2785]=Fe,t[2788]=M,t[M+4>>2]=Fe|1,t[M+Fe>>2]=Fe;break}if(e=t[n+4>>2]|0,(e&3|0)==1){h=e&-8,u=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{s=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(u=n+16|0,r=u+4|0,e=t[r>>2]|0,!e)if(e=t[u>>2]|0,e)r=u;else{e=0;break}for(;;){if(u=e+20|0,l=t[u>>2]|0,l|0){e=l,r=u;continue}if(u=e+16|0,l=t[u>>2]|0,l)e=l,r=u;else break}t[r>>2]=0}else Fe=t[n+8>>2]|0,t[Fe+12>>2]=e,t[e+8>>2]=Fe;while(0);if(!s)break;r=t[n+28>>2]|0,u=11436+(r<<2)|0;do if((n|0)!=(t[u>>2]|0)){if(t[s+16+(((t[s+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[u>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=s,r=n+16|0,u=t[r>>2]|0,u|0&&(t[e+16>>2]=u,t[u+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+h|0,l=h+D|0}else l=D;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[M+4>>2]=l|1,t[M+l>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=M,t[n+12>>2]=M,t[M+8>>2]=n,t[M+12>>2]=r;break}n=l>>>8;do if(!n)n=0;else{if(l>>>0>16777215){n=31;break}Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,n=14-(st|Re|n)+(Fe<>>15)|0,n=l>>>(n+7|0)&1|n<<1}while(0);if(u=11436+(n<<2)|0,t[M+28>>2]=n,e=M+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=M,t[M+24>>2]=u,t[M+12>>2]=M,t[M+8>>2]=M;break}for(e=l<<((n|0)==31?0:25-(n>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){Re=194;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=193;break}}if((Re|0)==193){t[u>>2]=M,t[M+24>>2]=r,t[M+12>>2]=M,t[M+8>>2]=M;break}else if((Re|0)==194){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=M,t[Re>>2]=M,t[M+8>>2]=Fe,t[M+12>>2]=r,t[M+24>>2]=0;break}}else Fe=(t[2786]|0)+D|0,t[2786]=Fe,t[2789]=M,t[M+4>>2]=Fe|1;while(0);return Fe=O+8|0,m=Qt,Fe|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=S>>>0?(Fe=e+(t[n+4>>2]|0)|0,Fe>>>0>S>>>0):0);)n=t[n+8>>2]|0;l=Fe+-47|0,e=l+8|0,e=l+((e&7|0)==0?0:0-e&7)|0,l=S+16|0,e=e>>>0>>0?S:e,n=e+8|0,r=s+8|0,r=(r&7|0)==0?0:0-r&7,Re=s+r|0,r=h+-40-r|0,t[2789]=Re,t[2786]=r,t[Re+4>>2]=r|1,t[Re+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=s,t[2896]=h,t[2898]=0,t[2897]=n,n=e+24|0;do Re=n,n=n+4|0,t[n>>2]=7;while((Re+8|0)>>>0>>0);if((e|0)!=(S|0)){if(s=e-S|0,t[r>>2]=t[r>>2]&-2,t[S+4>>2]=s|1,t[e>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=S,t[n+12>>2]=S,t[S+8>>2]=n,t[S+12>>2]=r;break}if(n=s>>>8,n?s>>>0>16777215?r=31:(Re=(n+1048320|0)>>>16&8,Fe=n<>>16&4,Fe=Fe<>>16&2,r=14-(st|Re|r)+(Fe<>>15)|0,r=s>>>(r+7|0)&1|r<<1):r=0,u=11436+(r<<2)|0,t[S+28>>2]=r,t[S+20>>2]=0,t[l>>2]=0,n=t[2784]|0,e=1<>2]=S,t[S+24>>2]=u,t[S+12>>2]=S,t[S+8>>2]=S;break}for(e=s<<((r|0)==31?0:25-(r>>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){Re=216;break}if(u=r+16+(e>>>31<<2)|0,n=t[u>>2]|0,n)e=e<<1,r=n;else{Re=215;break}}if((Re|0)==215){t[u>>2]=S,t[S+24>>2]=r,t[S+12>>2]=S,t[S+8>>2]=S;break}else if((Re|0)==216){Re=r+8|0,Fe=t[Re>>2]|0,t[Fe+12>>2]=S,t[Re>>2]=S,t[S+8>>2]=Fe,t[S+12>>2]=r,t[S+24>>2]=0;break}}}else{Fe=t[2787]|0,(Fe|0)==0|s>>>0>>0&&(t[2787]=s),t[2895]=s,t[2896]=h,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do Fe=11172+(n<<1<<2)|0,t[Fe+12>>2]=Fe,t[Fe+8>>2]=Fe,n=n+1|0;while((n|0)!=32);Fe=s+8|0,Fe=(Fe&7|0)==0?0:0-Fe&7,Re=s+Fe|0,Fe=h+-40-Fe|0,t[2789]=Re,t[2786]=Fe,t[Re+4>>2]=Fe|1,t[Re+Fe+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return st=n-P|0,t[2786]=st,Fe=t[2789]|0,Re=Fe+P|0,t[2789]=Re,t[Re+4>>2]=st|1,t[Fe+4>>2]=P|3,Fe=Fe+8|0,m=Qt,Fe|0}return t[(Fv()|0)>>2]=12,Fe=0,m=Qt,Fe|0}function x_(e){e=e|0;var n=0,r=0,u=0,l=0,s=0,h=0,D=0,S=0;if(!!e){r=e+-8|0,l=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,S=r+n|0;do if(e&1)D=r,h=r;else{if(u=t[r>>2]|0,!(e&3)||(h=r+(0-u)|0,s=u+n|0,h>>>0>>0))return;if((h|0)==(t[2788]|0)){if(e=S+4|0,n=t[e>>2]|0,(n&3|0)!=3){D=h,n=s;break}t[2785]=s,t[e>>2]=n&-2,t[h+4>>2]=s|1,t[h+s>>2]=s;return}if(r=u>>>3,u>>>0<256)if(e=t[h+8>>2]|0,n=t[h+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,D=h,n=s;break}l=t[h+24>>2]|0,e=t[h+12>>2]|0;do if((e|0)==(h|0)){if(r=h+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0}else D=t[h+8>>2]|0,t[D+12>>2]=e,t[e+8>>2]=D;while(0);if(l){if(n=t[h+28>>2]|0,r=11436+(n<<2)|0,(h|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=e,!e){D=h,n=s;break}t[e+24>>2]=l,n=h+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,D=h,n=s):(D=h,n=s)}else D=h,n=s}while(0);if(!(h>>>0>=S>>>0)&&(e=S+4|0,u=t[e>>2]|0,!!(u&1))){if(u&2)t[e>>2]=u&-2,t[D+4>>2]=n|1,t[h+n>>2]=n,l=n;else{if(e=t[2788]|0,(S|0)==(t[2789]|0)){if(S=(t[2786]|0)+n|0,t[2786]=S,t[2789]=D,t[D+4>>2]=S|1,(D|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((S|0)==(e|0)){S=(t[2785]|0)+n|0,t[2785]=S,t[2788]=h,t[D+4>>2]=S|1,t[h+S>>2]=S;return}l=(u&-8)+n|0,r=u>>>3;do if(u>>>0<256)if(n=t[S+8>>2]|0,e=t[S+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{s=t[S+24>>2]|0,e=t[S+12>>2]|0;do if((e|0)==(S|0)){if(r=S+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,u=t[r>>2]|0,u|0){e=u,n=r;continue}if(r=e+16|0,u=t[r>>2]|0,u)e=u,n=r;else break}t[n>>2]=0,r=e}else r=t[S+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(s|0){if(e=t[S+28>>2]|0,n=11436+(e<<2)|0,(S|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(S|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,e=S+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[D+4>>2]=l|1,t[h+l>>2]=l,(D|0)==(t[2788]|0)){t[2785]=l;return}}if(e=l>>>3,l>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=D,t[e+12>>2]=D,t[D+8>>2]=e,t[D+12>>2]=r;return}e=l>>>8,e?l>>>0>16777215?e=31:(h=(e+1048320|0)>>>16&8,S=e<>>16&4,S=S<>>16&2,e=14-(s|h|e)+(S<>>15)|0,e=l>>>(e+7|0)&1|e<<1):e=0,u=11436+(e<<2)|0,t[D+28>>2]=e,t[D+20>>2]=0,t[D+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[u>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){e=73;break}if(u=r+16+(n>>>31<<2)|0,e=t[u>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[u>>2]=D,t[D+24>>2]=r,t[D+12>>2]=D,t[D+8>>2]=D;break}else if((e|0)==73){h=r+8|0,S=t[h>>2]|0,t[S+12>>2]=D,t[h>>2]=D,t[D+8>>2]=S,t[D+12>>2]=r,t[D+24>>2]=0;break}}else t[2784]=n|r,t[u>>2]=D,t[D+24>>2]=u,t[D+12>>2]=D,t[D+8>>2]=D;while(0);if(S=(t[2791]|0)+-1|0,t[2791]=S,!S)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function CI(){return 11628}function xI(e){e=e|0;var n=0,r=0;return n=m,m=m+16|0,r=n,t[r>>2]=OI(t[e+60>>2]|0)|0,e=A_(wu(6,r|0)|0)|0,m=n,e|0}function N8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0;P=m,m=m+48|0,M=P+16|0,s=P,l=P+32|0,D=e+28|0,u=t[D>>2]|0,t[l>>2]=u,S=e+20|0,u=(t[S>>2]|0)-u|0,t[l+4>>2]=u,t[l+8>>2]=n,t[l+12>>2]=r,u=u+r|0,h=e+60|0,t[s>>2]=t[h>>2],t[s+4>>2]=l,t[s+8>>2]=2,s=A_(d0(146,s|0)|0)|0;e:do if((u|0)!=(s|0)){for(n=2;!((s|0)<0);)if(u=u-s|0,Pe=t[l+4>>2]|0,K=s>>>0>Pe>>>0,l=K?l+8|0:l,n=(K<<31>>31)+n|0,Pe=s-(K?Pe:0)|0,t[l>>2]=(t[l>>2]|0)+Pe,K=l+4|0,t[K>>2]=(t[K>>2]|0)-Pe,t[M>>2]=t[h>>2],t[M+4>>2]=l,t[M+8>>2]=n,s=A_(d0(146,M|0)|0)|0,(u|0)==(s|0)){O=3;break e}t[e+16>>2]=0,t[D>>2]=0,t[S>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[l+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Pe=t[e+44>>2]|0,t[e+16>>2]=Pe+(t[e+48>>2]|0),t[D>>2]=Pe,t[S>>2]=Pe),m=P,r|0}function AI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;return l=m,m=m+32|0,s=l,u=l+20|0,t[s>>2]=t[e+60>>2],t[s+4>>2]=0,t[s+8>>2]=n,t[s+12>>2]=u,t[s+16>>2]=r,(A_(Ti(140,s|0)|0)|0)<0?(t[u>>2]=-1,e=-1):e=t[u>>2]|0,m=l,e|0}function A_(e){return e=e|0,e>>>0>4294963200&&(t[(Fv()|0)>>2]=0-e,e=-1),e|0}function Fv(){return(RI()|0)+64|0}function RI(){return VE()|0}function VE(){return 2084}function OI(e){return e=e|0,e|0}function kI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;return l=m,m=m+32|0,u=l,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[u>>2]=t[e+60>>2],t[u+4>>2]=21523,t[u+8>>2]=l+16,b0(54,u|0)|0):0)&&(p[e+75>>0]=-1),u=N8(e,n,r)|0,m=l,u|0}function L8(e,n){e=e|0,n=n|0;var r=0,u=0;if(r=p[e>>0]|0,u=p[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=u<<24>>24)e=u;else{do e=e+1|0,n=n+1|0,r=p[e>>0]|0,u=p[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=u<<24>>24));e=u}return(r&255)-(e&255)|0}function MI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0;e:do if(!r)e=0;else{for(;u=p[e>>0]|0,l=p[n>>0]|0,u<<24>>24==l<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(u&255)-(l&255)|0}while(0);return e|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0;ve=m,m=m+224|0,O=ve+120|0,P=ve+80|0,Pe=ve,Ee=ve+136|0,u=P,l=u+40|0;do t[u>>2]=0,u=u+4|0;while((u|0)<(l|0));return t[O>>2]=t[r>>2],(GE(0,n,O,Pe,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?K=NI(e)|0:K=0,r=t[e>>2]|0,M=r&32,(p[e+74>>0]|0)<1&&(t[e>>2]=r&-33),u=e+48|0,t[u>>2]|0?r=GE(e,n,O,Pe,P)|0:(l=e+44|0,s=t[l>>2]|0,t[l>>2]=Ee,h=e+28|0,t[h>>2]=Ee,D=e+20|0,t[D>>2]=Ee,t[u>>2]=80,S=e+16|0,t[S>>2]=Ee+80,r=GE(e,n,O,Pe,P)|0,s&&(M_[t[e+36>>2]&7](e,0,0)|0,r=(t[D>>2]|0)==0?-1:r,t[l>>2]=s,t[u>>2]=0,t[S>>2]=0,t[h>>2]=0,t[D>>2]=0)),u=t[e>>2]|0,t[e>>2]=u|M,K|0&&LI(e),r=(u&32|0)==0?r:-1),m=ve,r|0}function GE(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0;On=m,m=m+64|0,Nn=On+16|0,mn=On,Qt=On+24|0,hr=On+8|0,kr=On+20|0,t[Nn>>2]=n,st=(e|0)!=0,Re=Qt+40|0,Fe=Re,Qt=Qt+39|0,Lr=hr+4|0,h=0,s=0,O=0;e:for(;;){do if((s|0)>-1)if((h|0)>(2147483647-s|0)){t[(Fv()|0)>>2]=75,s=-1;break}else{s=h+s|0;break}while(0);if(h=p[n>>0]|0,h<<24>>24)D=n;else{We=87;break}t:for(;;){switch(h<<24>>24){case 37:{h=D,We=9;break t}case 0:{h=D;break t}default:}Qe=D+1|0,t[Nn>>2]=Qe,h=p[Qe>>0]|0,D=Qe}t:do if((We|0)==9)for(;;){if(We=0,(p[D+1>>0]|0)!=37)break t;if(h=h+1|0,D=D+2|0,t[Nn>>2]=D,(p[D>>0]|0)==37)We=9;else break}while(0);if(h=h-n|0,st&&qo(e,n,h),h|0){n=D;continue}S=D+1|0,h=(p[S>>0]|0)+-48|0,h>>>0<10?(Qe=(p[D+2>>0]|0)==36,ve=Qe?h:-1,O=Qe?1:O,S=Qe?D+3|0:S):ve=-1,t[Nn>>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0;t:do if(D>>>0<32)for(M=0,P=h;;){if(h=1<>2]=S,h=p[S>>0]|0,D=(h<<24>>24)+-32|0,D>>>0>=32)break;P=h}else M=0;while(0);if(h<<24>>24==42){if(D=S+1|0,h=(p[D>>0]|0)+-48|0,h>>>0<10?(p[S+2>>0]|0)==36:0)t[l+(h<<2)>>2]=10,h=t[u+((p[D>>0]|0)+-48<<3)>>2]|0,O=1,S=S+3|0;else{if(O|0){s=-1;break}st?(O=(t[r>>2]|0)+(4-1)&~(4-1),h=t[O>>2]|0,t[r>>2]=O+4,O=0,S=D):(h=0,O=0,S=D)}t[Nn>>2]=S,Qe=(h|0)<0,h=Qe?0-h|0:h,M=Qe?M|8192:M}else{if(h=b8(Nn)|0,(h|0)<0){s=-1;break}S=t[Nn>>2]|0}do if((p[S>>0]|0)==46){if((p[S+1>>0]|0)!=42){t[Nn>>2]=S+1,D=b8(Nn)|0,S=t[Nn>>2]|0;break}if(P=S+2|0,D=(p[P>>0]|0)+-48|0,D>>>0<10?(p[S+3>>0]|0)==36:0){t[l+(D<<2)>>2]=10,D=t[u+((p[P>>0]|0)+-48<<3)>>2]|0,S=S+4|0,t[Nn>>2]=S;break}if(O|0){s=-1;break e}st?(Qe=(t[r>>2]|0)+(4-1)&~(4-1),D=t[Qe>>2]|0,t[r>>2]=Qe+4):D=0,t[Nn>>2]=P,S=P}else D=-1;while(0);for(Ee=0;;){if(((p[S>>0]|0)+-65|0)>>>0>57){s=-1;break e}if(Qe=S+1|0,t[Nn>>2]=Qe,P=p[(p[S>>0]|0)+-65+(5178+(Ee*58|0))>>0]|0,K=P&255,(K+-1|0)>>>0<8)Ee=K,S=Qe;else break}if(!(P<<24>>24)){s=-1;break}Pe=(ve|0)>-1;do if(P<<24>>24==19)if(Pe){s=-1;break e}else We=49;else{if(Pe){t[l+(ve<<2)>>2]=K,Pe=u+(ve<<3)|0,ve=t[Pe+4>>2]|0,We=mn,t[We>>2]=t[Pe>>2],t[We+4>>2]=ve,We=49;break}if(!st){s=0;break e}P8(mn,K,r)}while(0);if((We|0)==49?(We=0,!st):0){h=0,n=Qe;continue}S=p[S>>0]|0,S=(Ee|0)!=0&(S&15|0)==3?S&-33:S,Pe=M&-65537,ve=(M&8192|0)==0?M:Pe;t:do switch(S|0){case 110:switch((Ee&255)<<24>>24){case 0:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 1:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 2:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}case 3:{E[t[mn>>2]>>1]=s,h=0,n=Qe;continue e}case 4:{p[t[mn>>2]>>0]=s,h=0,n=Qe;continue e}case 6:{t[t[mn>>2]>>2]=s,h=0,n=Qe;continue e}case 7:{h=t[mn>>2]|0,t[h>>2]=s,t[h+4>>2]=((s|0)<0)<<31>>31,h=0,n=Qe;continue e}default:{h=0,n=Qe;continue e}}case 112:{S=120,D=D>>>0>8?D:8,n=ve|8,We=61;break}case 88:case 120:{n=ve,We=61;break}case 111:{S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,K=bI(n,S,Re)|0,Pe=Fe-K|0,M=0,P=5642,D=(ve&8|0)==0|(D|0)>(Pe|0)?D:Pe+1|0,Pe=ve,We=67;break}case 105:case 100:if(S=mn,n=t[S>>2]|0,S=t[S+4>>2]|0,(S|0)<0){n=R_(0,0,n|0,S|0)|0,S=ft,M=mn,t[M>>2]=n,t[M+4>>2]=S,M=1,P=5642,We=66;break t}else{M=(ve&2049|0)!=0&1,P=(ve&2048|0)==0?(ve&1|0)==0?5642:5644:5643,We=66;break t}case 117:{S=mn,M=0,P=5642,n=t[S>>2]|0,S=t[S+4>>2]|0,We=66;break}case 99:{p[Qt>>0]=t[mn>>2],n=Qt,M=0,P=5642,K=Re,S=1,D=Pe;break}case 109:{S=PI(t[(Fv()|0)>>2]|0)|0,We=71;break}case 115:{S=t[mn>>2]|0,S=S|0?S:5652,We=71;break}case 67:{t[hr>>2]=t[mn>>2],t[Lr>>2]=0,t[mn>>2]=hr,K=-1,S=hr,We=75;break}case 83:{n=t[mn>>2]|0,D?(K=D,S=n,We=75):(hl(e,32,h,0,ve),n=0,We=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{h=BI(e,+U[mn>>3],h,D,ve,S)|0,n=Qe;continue e}default:M=0,P=5642,K=Re,S=D,D=ve}while(0);t:do if((We|0)==61)ve=mn,Ee=t[ve>>2]|0,ve=t[ve+4>>2]|0,K=FI(Ee,ve,Re,S&32)|0,P=(n&8|0)==0|(Ee|0)==0&(ve|0)==0,M=P?0:2,P=P?5642:5642+(S>>4)|0,Pe=n,n=Ee,S=ve,We=67;else if((We|0)==66)K=bv(n,S,Re)|0,Pe=ve,We=67;else if((We|0)==71)We=0,ve=II(S,0,D)|0,Ee=(ve|0)==0,n=S,M=0,P=5642,K=Ee?S+D|0:ve,S=Ee?D:ve-S|0,D=Pe;else if((We|0)==75){for(We=0,P=S,n=0,D=0;M=t[P>>2]|0,!(!M||(D=I8(kr,M)|0,(D|0)<0|D>>>0>(K-n|0)>>>0));)if(n=D+n|0,K>>>0>n>>>0)P=P+4|0;else break;if((D|0)<0){s=-1;break e}if(hl(e,32,h,n,ve),!n)n=0,We=84;else for(M=0;;){if(D=t[S>>2]|0,!D){We=84;break t}if(D=I8(kr,D)|0,M=D+M|0,(M|0)>(n|0)){We=84;break t}if(qo(e,kr,D),M>>>0>=n>>>0){We=84;break}else S=S+4|0}}while(0);if((We|0)==67)We=0,S=(n|0)!=0|(S|0)!=0,ve=(D|0)!=0|S,S=((S^1)&1)+(Fe-K)|0,n=ve?K:Re,K=Re,S=ve?(D|0)>(S|0)?D:S:D,D=(D|0)>-1?Pe&-65537:Pe;else if((We|0)==84){We=0,hl(e,32,h,n,ve^8192),h=(h|0)>(n|0)?h:n,n=Qe;continue}Ee=K-n|0,Pe=(S|0)<(Ee|0)?Ee:S,ve=Pe+M|0,h=(h|0)<(ve|0)?ve:h,hl(e,32,h,ve,D),qo(e,P,M),hl(e,48,h,ve,D^65536),hl(e,48,Pe,Ee,0),qo(e,n,Ee),hl(e,32,h,ve,D^8192),n=Qe}e:do if((We|0)==87&&!e)if(!O)s=0;else{for(s=1;n=t[l+(s<<2)>>2]|0,!!n;)if(P8(u+(s<<3)|0,n,r),s=s+1|0,(s|0)>=10){s=1;break e}for(;;){if(t[l+(s<<2)>>2]|0){s=-1;break e}if(s=s+1|0,(s|0)>=10){s=1;break}}}while(0);return m=On,s|0}function NI(e){return e=e|0,0}function LI(e){e=e|0}function qo(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||YI(n,r,e)|0}function b8(e){e=e|0;var n=0,r=0,u=0;if(r=t[e>>2]|0,u=(p[r>>0]|0)+-48|0,u>>>0<10){n=0;do n=u+(n*10|0)|0,r=r+1|0,t[e>>2]=r,u=(p[r>>0]|0)+-48|0;while(u>>>0<10)}else n=0;return n|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,t[e>>2]=n;break e}case 10:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{u=(t[r>>2]|0)+(4-1)&~(4-1),n=t[u>>2]|0,t[r>>2]=u+4,u=e,t[u>>2]=n,t[u+4>>2]=0;break e}case 12:{u=(t[r>>2]|0)+(8-1)&~(8-1),n=u,l=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=u+8,u=e,t[u>>2]=l,t[u+4>>2]=n;break e}case 13:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&65535)<<16>>16,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 14:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&65535,t[l+4>>2]=0;break e}case 15:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,u=(u&255)<<24>>24,l=e,t[l>>2]=u,t[l+4>>2]=((u|0)<0)<<31>>31;break e}case 16:{l=(t[r>>2]|0)+(4-1)&~(4-1),u=t[l>>2]|0,t[r>>2]=l+4,l=e,t[l>>2]=u&255,t[l+4>>2]=0;break e}case 17:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}case 18:{l=(t[r>>2]|0)+(8-1)&~(8-1),s=+U[l>>3],t[r>>2]=l+8,U[e>>3]=s;break e}default:break e}while(0);while(0)}function FI(e,n,r,u){if(e=e|0,n=n|0,r=r|0,u=u|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=k[5694+(e&15)>>0]|0|u,e=O_(e|0,n|0,4)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bI(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,p[r>>0]=e&7|48,e=O_(e|0,n|0,3)|0,n=ft;while(!((e|0)==0&(n|0)==0));return r|0}function bv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;u=QE(e|0,n|0,10,0)|0,r=r+-1|0,p[r>>0]=u&255|48,u=e,e=XE(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&u>>>0>4294967295;)n=ft;n=e}else n=e;if(n)for(;r=r+-1|0,p[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function PI(e){return e=e|0,HI(e,t[(qI()|0)+188>>2]|0)|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;s=n&255,u=(r|0)!=0;e:do if(u&(e&3|0)!=0)for(l=n&255;;){if((p[e>>0]|0)==l<<24>>24){h=6;break e}if(e=e+1|0,r=r+-1|0,u=(r|0)!=0,!(u&(e&3|0)!=0)){h=5;break}}else h=5;while(0);(h|0)==5&&(u?h=6:r=0);e:do if((h|0)==6&&(l=n&255,(p[e>>0]|0)!=l<<24>>24)){u=nr(s,16843009)|0;t:do if(r>>>0>3){for(;s=t[e>>2]^u,!((s&-2139062144^-2139062144)&s+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){h=11;break t}}else h=11;while(0);if((h|0)==11&&!r){r=0;break}for(;;){if((p[e>>0]|0)==l<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function hl(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0;if(h=m,m=m+256|0,s=h,(r|0)>(u|0)&(l&73728|0)==0){if(l=r-u|0,Iv(s|0,n|0,(l>>>0<256?l:256)|0)|0,l>>>0>255){n=r-u|0;do qo(e,s,256),l=l+-256|0;while(l>>>0>255);l=n&255}qo(e,s,l)}m=h}function I8(e,n){return e=e|0,n=n|0,e?e=jI(e,n,0)|0:e=0,e|0}function BI(e,n,r,u,l,s){e=e|0,n=+n,r=r|0,u=u|0,l=l|0,s=s|0;var h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0,ve=0,Qe=0,We=0,st=0,Re=0,Fe=0,Qt=0,Lr=0,Nn=0,mn=0,hr=0,kr=0,On=0,Zi=0;Zi=m,m=m+560|0,S=Zi+8|0,Qe=Zi,On=Zi+524|0,kr=On,M=Zi+512|0,t[Qe>>2]=0,hr=M+12|0,B8(n)|0,(ft|0)<0?(n=-n,Nn=1,Lr=5659):(Nn=(l&2049|0)!=0&1,Lr=(l&2048|0)==0?(l&1|0)==0?5660:5665:5662),B8(n)|0,mn=ft&2146435072;do if(mn>>>0<2146435072|(mn|0)==2146435072&0<0){if(Pe=+UI(n,Qe)*2,h=Pe!=0,h&&(t[Qe>>2]=(t[Qe>>2]|0)+-1),st=s|32,(st|0)==97){Ee=s&32,K=(Ee|0)==0?Lr:Lr+9|0,P=Nn|2,h=12-u|0;do if(u>>>0>11|(h|0)==0)n=Pe;else{n=8;do h=h+-1|0,n=n*16;while((h|0)!=0);if((p[K>>0]|0)==45){n=-(n+(-Pe-n));break}else{n=Pe+n-n;break}}while(0);D=t[Qe>>2]|0,h=(D|0)<0?0-D|0:D,h=bv(h,((h|0)<0)<<31>>31,hr)|0,(h|0)==(hr|0)&&(h=M+11|0,p[h>>0]=48),p[h+-1>>0]=(D>>31&2)+43,O=h+-2|0,p[O>>0]=s+15,M=(u|0)<1,S=(l&8|0)==0,h=On;do mn=~~n,D=h+1|0,p[h>>0]=k[5694+mn>>0]|Ee,n=(n-+(mn|0))*16,((D-kr|0)==1?!(S&(M&n==0)):0)?(p[D>>0]=46,h=h+2|0):h=D;while(n!=0);mn=h-kr|0,kr=hr-O|0,hr=(u|0)!=0&(mn+-2|0)<(u|0)?u+2|0:mn,h=kr+P+hr|0,hl(e,32,r,h,l),qo(e,K,P),hl(e,48,r,h,l^65536),qo(e,On,mn),hl(e,48,hr-mn|0,0,0),qo(e,O,kr),hl(e,32,r,h,l^8192);break}D=(u|0)<0?6:u,h?(h=(t[Qe>>2]|0)+-28|0,t[Qe>>2]=h,n=Pe*268435456):(n=Pe,h=t[Qe>>2]|0),mn=(h|0)<0?S:S+288|0,S=mn;do Fe=~~n>>>0,t[S>>2]=Fe,S=S+4|0,n=(n-+(Fe>>>0))*1e9;while(n!=0);if((h|0)>0)for(M=mn,P=S;;){if(O=(h|0)<29?h:29,h=P+-4|0,h>>>0>=M>>>0){S=0;do Re=W8(t[h>>2]|0,0,O|0)|0,Re=KE(Re|0,ft|0,S|0,0)|0,Fe=ft,We=QE(Re|0,Fe|0,1e9,0)|0,t[h>>2]=We,S=XE(Re|0,Fe|0,1e9,0)|0,h=h+-4|0;while(h>>>0>=M>>>0);S&&(M=M+-4|0,t[M>>2]=S)}for(S=P;!(S>>>0<=M>>>0);)if(h=S+-4|0,!(t[h>>2]|0))S=h;else break;if(h=(t[Qe>>2]|0)-O|0,t[Qe>>2]=h,(h|0)>0)P=S;else break}else M=mn;if((h|0)<0){u=((D+25|0)/9|0)+1|0,ve=(st|0)==102;do{if(Ee=0-h|0,Ee=(Ee|0)<9?Ee:9,M>>>0>>0){O=(1<>>Ee,K=0,h=M;do Fe=t[h>>2]|0,t[h>>2]=(Fe>>>Ee)+K,K=nr(Fe&O,P)|0,h=h+4|0;while(h>>>0>>0);h=(t[M>>2]|0)==0?M+4|0:M,K?(t[S>>2]=K,M=h,h=S+4|0):(M=h,h=S)}else M=(t[M>>2]|0)==0?M+4|0:M,h=S;S=ve?mn:M,S=(h-S>>2|0)>(u|0)?S+(u<<2)|0:h,h=(t[Qe>>2]|0)+Ee|0,t[Qe>>2]=h}while((h|0)<0);h=M,u=S}else h=M,u=S;if(Fe=mn,h>>>0>>0){if(S=(Fe-h>>2)*9|0,O=t[h>>2]|0,O>>>0>=10){M=10;do M=M*10|0,S=S+1|0;while(O>>>0>=M>>>0)}}else S=0;if(ve=(st|0)==103,We=(D|0)!=0,M=D-((st|0)!=102?S:0)+((We&ve)<<31>>31)|0,(M|0)<(((u-Fe>>2)*9|0)+-9|0)){if(M=M+9216|0,Ee=mn+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(P=t[Ee>>2]|0,K=(P>>>0)%(O>>>0)|0,M=(Ee+4|0)==(u|0),M&(K|0)==0)M=Ee;else if(Pe=(((P>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,Re=(O|0)/2|0,n=K>>>0>>0?.5:M&(K|0)==(Re|0)?1:1.5,Nn&&(Re=(p[Lr>>0]|0)==45,n=Re?-n:n,Pe=Re?-Pe:Pe),M=P-K|0,t[Ee>>2]=M,Pe+n!=Pe){if(Re=M+O|0,t[Ee>>2]=Re,Re>>>0>999999999)for(S=Ee;M=S+-4|0,t[S>>2]=0,M>>>0>>0&&(h=h+-4|0,t[h>>2]=0),Re=(t[M>>2]|0)+1|0,t[M>>2]=Re,Re>>>0>999999999;)S=M;else M=Ee;if(S=(Fe-h>>2)*9|0,P=t[h>>2]|0,P>>>0>=10){O=10;do O=O*10|0,S=S+1|0;while(P>>>0>=O>>>0)}}else M=Ee;M=M+4|0,M=u>>>0>M>>>0?M:u,Re=h}else M=u,Re=h;for(st=M;;){if(st>>>0<=Re>>>0){Qe=0;break}if(h=st+-4|0,!(t[h>>2]|0))st=h;else{Qe=1;break}}u=0-S|0;do if(ve)if(h=((We^1)&1)+D|0,(h|0)>(S|0)&(S|0)>-5?(O=s+-1|0,D=h+-1-S|0):(O=s+-2|0,D=h+-1|0),h=l&8,h)Ee=h;else{if(Qe?(Qt=t[st+-4>>2]|0,(Qt|0)!=0):0)if((Qt>>>0)%10|0)M=0;else{M=0,h=10;do h=h*10|0,M=M+1|0;while(!((Qt>>>0)%(h>>>0)|0|0))}else M=9;if(h=((st-Fe>>2)*9|0)+-9|0,(O|32|0)==102){Ee=h-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}else{Ee=h+S-M|0,Ee=(Ee|0)>0?Ee:0,D=(D|0)<(Ee|0)?D:Ee,Ee=0;break}}else O=s,Ee=l&8;while(0);if(ve=D|Ee,P=(ve|0)!=0&1,K=(O|32|0)==102,K)We=0,h=(S|0)>0?S:0;else{if(h=(S|0)<0?u:S,h=bv(h,((h|0)<0)<<31>>31,hr)|0,M=hr,(M-h|0)<2)do h=h+-1|0,p[h>>0]=48;while((M-h|0)<2);p[h+-1>>0]=(S>>31&2)+43,h=h+-2|0,p[h>>0]=O,We=h,h=M-h|0}if(h=Nn+1+D+P+h|0,hl(e,32,r,h,l),qo(e,Lr,Nn),hl(e,48,r,h,l^65536),K){O=Re>>>0>mn>>>0?mn:Re,Ee=On+9|0,P=Ee,K=On+8|0,M=O;do{if(S=bv(t[M>>2]|0,0,Ee)|0,(M|0)==(O|0))(S|0)==(Ee|0)&&(p[K>>0]=48,S=K);else if(S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}qo(e,S,P-S|0),M=M+4|0}while(M>>>0<=mn>>>0);if(ve|0&&qo(e,5710,1),M>>>0>>0&(D|0)>0)for(;;){if(S=bv(t[M>>2]|0,0,Ee)|0,S>>>0>On>>>0){Iv(On|0,48,S-kr|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}if(qo(e,S,(D|0)<9?D:9),M=M+4|0,S=D+-9|0,M>>>0>>0&(D|0)>9)D=S;else{D=S;break}}hl(e,48,D+9|0,9,0)}else{if(ve=Qe?st:Re+4|0,(D|0)>-1){Qe=On+9|0,Ee=(Ee|0)==0,u=Qe,P=0-kr|0,K=On+8|0,O=Re;do{S=bv(t[O>>2]|0,0,Qe)|0,(S|0)==(Qe|0)&&(p[K>>0]=48,S=K);do if((O|0)==(Re|0)){if(M=S+1|0,qo(e,S,1),Ee&(D|0)<1){S=M;break}qo(e,5710,1),S=M}else{if(S>>>0<=On>>>0)break;Iv(On|0,48,S+P|0)|0;do S=S+-1|0;while(S>>>0>On>>>0)}while(0);kr=u-S|0,qo(e,S,(D|0)>(kr|0)?kr:D),D=D-kr|0,O=O+4|0}while(O>>>0>>0&(D|0)>-1)}hl(e,48,D+18|0,18,0),qo(e,We,hr-We|0)}hl(e,32,r,h,l^8192)}else On=(s&32|0)!=0,h=Nn+3|0,hl(e,32,r,h,l&-65537),qo(e,Lr,Nn),qo(e,n!=n|!1?On?5686:5690:On?5678:5682,3),hl(e,32,r,h,l^8192);while(0);return m=Zi,((h|0)<(r|0)?r:h)|0}function B8(e){e=+e;var n=0;return U[W>>3]=e,n=t[W>>2]|0,ft=t[W+4>>2]|0,n|0}function UI(e,n){return e=+e,n=n|0,+ +U8(e,n)}function U8(e,n){e=+e,n=n|0;var r=0,u=0,l=0;switch(U[W>>3]=e,r=t[W>>2]|0,u=t[W+4>>2]|0,l=O_(r|0,u|0,52)|0,l&2047){case 0:{e!=0?(e=+U8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(l&2047)+-1022,t[W>>2]=r,t[W+4>>2]=u&-2146435073|1071644672,e=+U[W>>3]}return+e}function jI(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){p[e>>0]=n,e=1;break}if(!(t[t[(zI()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){p[e>>0]=n,e=1;break}else{t[(Fv()|0)>>2]=84,e=-1;break}if(n>>>0<2048){p[e>>0]=n>>>6|192,p[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){p[e>>0]=n>>>12|224,p[e+1>>0]=n>>>6&63|128,p[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){p[e>>0]=n>>>18|240,p[e+1>>0]=n>>>12&63|128,p[e+2>>0]=n>>>6&63|128,p[e+3>>0]=n&63|128,e=4;break}else{t[(Fv()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function zI(){return VE()|0}function qI(){return VE()|0}function HI(e,n){e=e|0,n=n|0;var r=0,u=0;for(u=0;;){if((k[5712+u>>0]|0)==(e|0)){e=2;break}if(r=u+1|0,(r|0)==87){r=5800,u=87,e=5;break}else u=r}if((e|0)==2&&(u?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((p[e>>0]|0)!=0);if(u=u+-1|0,u)e=5;else break}return WI(r,t[n+20>>2]|0)|0}function WI(e,n){return e=e|0,n=n|0,VI(e,n)|0}function VI(e,n){return e=e|0,n=n|0,n?n=GI(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function GI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0;K=(t[e>>2]|0)+1794895138|0,s=Gp(t[e+8>>2]|0,K)|0,u=Gp(t[e+12>>2]|0,K)|0,l=Gp(t[e+16>>2]|0,K)|0;e:do if((s>>>0>>2>>>0?(P=n-(s<<2)|0,u>>>0

>>0&l>>>0

>>0):0)?((l|u)&3|0)==0:0){for(P=u>>>2,O=l>>>2,M=0;;){if(D=s>>>1,S=M+D|0,h=S<<1,l=h+P|0,u=Gp(t[e+(l<<2)>>2]|0,K)|0,l=Gp(t[e+(l+1<<2)>>2]|0,K)|0,!(l>>>0>>0&u>>>0<(n-l|0)>>>0)){u=0;break e}if(p[e+(l+u)>>0]|0){u=0;break e}if(u=L8(r,e+l|0)|0,!u)break;if(u=(u|0)<0,(s|0)==1){u=0;break e}else M=u?M:S,s=u?D:s-D|0}u=h+O|0,l=Gp(t[e+(u<<2)>>2]|0,K)|0,u=Gp(t[e+(u+1<<2)>>2]|0,K)|0,u>>>0>>0&l>>>0<(n-u|0)>>>0?u=(p[e+(u+l)>>0]|0)==0?e+u|0:0:u=0}else u=0;while(0);return u|0}function Gp(e,n){e=e|0,n=n|0;var r=0;return r=Y8(e|0)|0,((n|0)==0?e:r)|0}function YI(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0,D=0;u=r+16|0,l=t[u>>2]|0,l?s=5:KI(r)|0?u=0:(l=t[u>>2]|0,s=5);e:do if((s|0)==5){if(D=r+20|0,h=t[D>>2]|0,u=h,(l-h|0)>>>0>>0){u=M_[t[r+36>>2]&7](r,e,n)|0;break}t:do if((p[r+75>>0]|0)>-1){for(h=n;;){if(!h){s=0,l=e;break t}if(l=h+-1|0,(p[e+l>>0]|0)==10)break;h=l}if(u=M_[t[r+36>>2]&7](r,e,h)|0,u>>>0>>0)break e;s=h,l=e+h|0,n=n-h|0,u=t[D>>2]|0}else s=0,l=e;while(0);pr(u|0,l|0,n|0)|0,t[D>>2]=(t[D>>2]|0)+n,u=s+n|0}while(0);return u|0}function KI(e){e=e|0;var n=0,r=0;return n=e+74|0,r=p[n>>0]|0,p[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Eu(e,n){e=w(e),n=w(n);var r=0,u=0;r=j8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=j8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[W>>2]|0|0}function Yp(e,n){e=w(e),n=w(n);var r=0,u=0;r=z8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(u=z8(n)|0,(u&2147483647)>>>0<=2139095040)if((u^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[W>>2]|0|0}function YE(e,n){e=w(e),n=w(n);var r=0,u=0,l=0,s=0,h=0,D=0,S=0,M=0;s=(C[W>>2]=e,t[W>>2]|0),D=(C[W>>2]=n,t[W>>2]|0),r=s>>>23&255,h=D>>>23&255,S=s&-2147483648,l=D<<1;e:do if((l|0)!=0?!((r|0)==255|((XI(n)|0)&2147483647)>>>0>2139095040):0){if(u=s<<1,u>>>0<=l>>>0)return n=w(e*w(0)),w((u|0)==(l|0)?n:e);if(r)u=s&8388607|8388608;else{if(r=s<<9,(r|0)>-1){u=r,r=0;do r=r+-1|0,u=u<<1;while((u|0)>-1)}else r=0;u=s<<1-r}if(h)D=D&8388607|8388608;else{if(s=D<<9,(s|0)>-1){l=0;do l=l+-1|0,s=s<<1;while((s|0)>-1)}else l=0;h=l,D=D<<1-l}l=u-D|0,s=(l|0)>-1;t:do if((r|0)>(h|0)){for(;;){if(s)if(l)u=l;else break;if(u=u<<1,r=r+-1|0,l=u-D|0,s=(l|0)>-1,(r|0)<=(h|0))break t}n=w(e*w(0));break e}while(0);if(s)if(l)u=l;else{n=w(e*w(0));break}if(u>>>0<8388608)do u=u<<1,r=r+-1|0;while(u>>>0<8388608);(r|0)>0?r=u+-8388608|r<<23:r=u>>>(1-r|0),n=(t[W>>2]=r|S,w(C[W>>2]))}else M=3;while(0);return(M|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function XI(e){return e=w(e),C[W>>2]=e,t[W>>2]|0|0}function QI(e,n){return e=e|0,n=n|0,F8(t[582]|0,e,n)|0}function li(e){e=e|0,Xn()}function Pv(e){e=e|0}function JI(e,n){return e=e|0,n=n|0,0}function ZI(e){return e=e|0,(q8(e+4|0)|0)==-1?(M1[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function q8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function J2(e){e=e|0,ZI(e)|0&&$I(e)}function $I(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?(q8(n)|0)!=-1:0)||M1[t[(t[e>>2]|0)+16>>2]&127](e)}function cn(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=C_(n)|0,!(e|0);){if(e=tB()|0,!e){e=0;break}rS[e&0]()}return e|0}function H8(e){return e=e|0,cn(e)|0}function yt(e){e=e|0,x_(e)}function eB(e){e=e|0,(p[e+11>>0]|0)<0&&yt(t[e>>2]|0)}function tB(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function nB(){}function R_(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,u=n-u-(r>>>0>e>>>0|0)>>>0,ft=u,e-r>>>0|0|0}function KE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,r=e+r>>>0,ft=n+u+(r>>>0>>0|0)>>>0,r|0|0}function Iv(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0,h=0;if(s=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)p[e>>0]=n,e=e+1|0;for(u=s&-4|0,l=u-64|0,h=n|n<<8|n<<16|n<<24;(e|0)<=(l|0);)t[e>>2]=h,t[e+4>>2]=h,t[e+8>>2]=h,t[e+12>>2]=h,t[e+16>>2]=h,t[e+20>>2]=h,t[e+24>>2]=h,t[e+28>>2]=h,t[e+32>>2]=h,t[e+36>>2]=h,t[e+40>>2]=h,t[e+44>>2]=h,t[e+48>>2]=h,t[e+52>>2]=h,t[e+56>>2]=h,t[e+60>>2]=h,e=e+64|0;for(;(e|0)<(u|0);)t[e>>2]=h,e=e+4|0}for(;(e|0)<(s|0);)p[e>>0]=n,e=e+1|0;return s-r|0}function W8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(ft=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function pr(e,n,r){e=e|0,n=n|0,r=r|0;var u=0,l=0,s=0;if((r|0)>=8192)return ni(e|0,n|0,r|0)|0;if(s=e|0,l=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return s|0;p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=l&-4|0,u=r-64|0;(e|0)<=(u|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=l-4|0;(e|0)<(r|0);)p[e>>0]=p[n>>0]|0,p[e+1>>0]=p[n+1>>0]|0,p[e+2>>0]=p[n+2>>0]|0,p[e+3>>0]=p[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(l|0);)p[e>>0]=p[n>>0]|0,e=e+1|0,n=n+1|0;return s|0}function V8(e){e=e|0;var n=0;return n=p[Se+(e&255)>>0]|0,(n|0)<8?n|0:(n=p[Se+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=p[Se+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(p[Se+(e>>>24)>>0]|0)+24|0))}function G8(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0;var s=0,h=0,D=0,S=0,M=0,O=0,P=0,K=0,Pe=0,Ee=0;if(O=e,S=n,M=S,h=r,K=u,D=K,!M)return s=(l|0)!=0,D?s?(t[l>>2]=e|0,t[l+4>>2]=n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0):(s&&(t[l>>2]=(O>>>0)%(h>>>0),t[l+4>>2]=0),K=0,l=(O>>>0)/(h>>>0)>>>0,ft=K,l|0);s=(D|0)==0;do if(h){if(!s){if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=31){P=s+1|0,D=31-s|0,n=s-31>>31,h=P,e=O>>>(P>>>0)&n|M<>>(P>>>0)&n,s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,K=0,l=0,ft=K,l|0):(K=0,l=0,ft=K,l|0)}if(s=h-1|0,s&h|0){D=(vr(h|0)|0)+33-(vr(M|0)|0)|0,Ee=64-D|0,P=32-D|0,S=P>>31,Pe=D-32|0,n=Pe>>31,h=D,e=P-1>>31&M>>>(Pe>>>0)|(M<>>(D>>>0))&n,n=n&M>>>(D>>>0),s=O<>>(Pe>>>0))&S|O<>31;break}return l|0&&(t[l>>2]=s&O,t[l+4>>2]=0),(h|0)==1?(Pe=S|n&0,Ee=e|0|0,ft=Pe,Ee|0):(Ee=V8(h|0)|0,Pe=M>>>(Ee>>>0)|0,Ee=M<<32-Ee|O>>>(Ee>>>0)|0,ft=Pe,Ee|0)}else{if(s)return l|0&&(t[l>>2]=(M>>>0)%(h>>>0),t[l+4>>2]=0),Pe=0,Ee=(M>>>0)/(h>>>0)>>>0,ft=Pe,Ee|0;if(!O)return l|0&&(t[l>>2]=0,t[l+4>>2]=(M>>>0)%(D>>>0)),Pe=0,Ee=(M>>>0)/(D>>>0)>>>0,ft=Pe,Ee|0;if(s=D-1|0,!(s&D))return l|0&&(t[l>>2]=e|0,t[l+4>>2]=s&M|n&0),Pe=0,Ee=M>>>((V8(D|0)|0)>>>0),ft=Pe,Ee|0;if(s=(vr(D|0)|0)-(vr(M|0)|0)|0,s>>>0<=30){n=s+1|0,D=31-s|0,h=n,e=M<>>(n>>>0),n=M>>>(n>>>0),s=0,D=O<>2]=e|0,t[l+4>>2]=S|n&0,Pe=0,Ee=0,ft=Pe,Ee|0):(Pe=0,Ee=0,ft=Pe,Ee|0)}while(0);if(!h)M=D,S=0,D=0;else{P=r|0|0,O=K|u&0,M=KE(P|0,O|0,-1,-1)|0,r=ft,S=D,D=0;do u=S,S=s>>>31|S<<1,s=D|s<<1,u=e<<1|u>>>31|0,K=e>>>31|n<<1|0,R_(M|0,r|0,u|0,K|0)|0,Ee=ft,Pe=Ee>>31|((Ee|0)<0?-1:0)<<1,D=Pe&1,e=R_(u|0,K|0,Pe&P|0,(((Ee|0)<0?-1:0)>>31|((Ee|0)<0?-1:0)<<1)&O|0)|0,n=ft,h=h-1|0;while((h|0)!=0);M=S,S=0}return h=0,l|0&&(t[l>>2]=e,t[l+4>>2]=n),Pe=(s|0)>>>31|(M|h)<<1|(h<<1|s>>>31)&0|S,Ee=(s<<1|0>>>31)&-2|D,ft=Pe,Ee|0}function XE(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,G8(e,n,r,u,0)|0}function Z2(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[q>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(ur()|0,Vl(12),-1):(t[q>>2]=e,((e|0)>(Fr()|0)?(fr()|0)==0:0)?(t[q>>2]=n,Vl(12),-1):n|0)}function Iy(e,n,r){e=e|0,n=n|0,r=r|0;var u=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(u=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,p[e>>0]=p[n>>0]|0;e=u}else pr(e,n,r)|0;return e|0}function QE(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0;var l=0,s=0;return s=m,m=m+16|0,l=s|0,G8(e,n,r,u,l)|0,m=s,ft=t[l+4>>2]|0,t[l>>2]|0|0}function Y8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function rB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,K8[e&1](n|0,r|0,u|0,l|0,s|0)}function iB(e,n,r){e=e|0,n=n|0,r=w(r),X8[e&1](n|0,w(r))}function uB(e,n,r){e=e|0,n=n|0,r=+r,Q8[e&31](n|0,+r)}function oB(e,n,r,u){return e=e|0,n=n|0,r=w(r),u=w(u),w(J8[e&0](n|0,w(r),w(u)))}function lB(e,n){e=e|0,n=n|0,M1[e&127](n|0)}function sB(e,n,r){e=e|0,n=n|0,r=r|0,N1[e&31](n|0,r|0)}function aB(e,n){return e=e|0,n=n|0,Xp[e&31](n|0)|0}function fB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Z8[e&1](n|0,+r,+u,l|0)}function cB(e,n,r,u){e=e|0,n=n|0,r=+r,u=+u,VB[e&1](n|0,+r,+u)}function dB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,M_[e&7](n|0,r|0,u|0)|0}function pB(e,n,r,u){return e=e|0,n=n|0,r=r|0,u=u|0,+GB[e&1](n|0,r|0,u|0)}function hB(e,n){return e=e|0,n=n|0,+$8[e&15](n|0)}function vB(e,n,r){return e=e|0,n=n|0,r=+r,YB[e&1](n|0,+r)|0}function mB(e,n,r){return e=e|0,n=n|0,r=r|0,ZE[e&15](n|0,r|0)|0}function yB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=+u,l=+l,s=s|0,KB[e&1](n|0,r|0,+u,+l,s|0)}function gB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,h=h|0,XB[e&1](n|0,r|0,u|0,l|0,s|0,h|0)}function _B(e,n,r){return e=e|0,n=n|0,r=r|0,+eS[e&7](n|0,r|0)}function EB(e){return e=e|0,N_[e&7]()|0}function DB(e,n,r,u,l,s){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,tS[e&1](n|0,r|0,u|0,l|0,s|0)|0}function wB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=+l,QB[e&1](n|0,r|0,u|0,+l)}function SB(e,n,r,u,l,s,h){e=e|0,n=n|0,r=r|0,u=w(u),l=l|0,s=w(s),h=h|0,nS[e&1](n|0,r|0,w(u),l|0,w(s),h|0)}function TB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,jy[e&15](n|0,r|0,u|0)}function CB(e){e=e|0,rS[e&0]()}function xB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,iS[e&15](n|0,r|0,+u)}function AB(e,n,r){return e=e|0,n=+n,r=+r,JB[e&1](+n,+r)|0}function RB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,$E[e&15](n|0,r|0,u|0,l|0)}function OB(e,n,r,u,l){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(0)}function kB(e,n){e=e|0,n=w(n),Ut(1)}function Ks(e,n){e=e|0,n=+n,Ut(2)}function MB(e,n,r){return e=e|0,n=w(n),r=w(r),Ut(3),St}function Kn(e){e=e|0,Ut(4)}function By(e,n){e=e|0,n=n|0,Ut(5)}function xa(e){return e=e|0,Ut(6),0}function NB(e,n,r,u){e=e|0,n=+n,r=+r,u=u|0,Ut(7)}function LB(e,n,r){e=e|0,n=+n,r=+r,Ut(8)}function FB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(9),0}function bB(e,n,r){return e=e|0,n=n|0,r=r|0,Ut(10),0}function Kp(e){return e=e|0,Ut(11),0}function PB(e,n){return e=e|0,n=+n,Ut(12),0}function Uy(e,n){return e=e|0,n=n|0,Ut(13),0}function IB(e,n,r,u,l){e=e|0,n=n|0,r=+r,u=+u,l=l|0,Ut(14)}function BB(e,n,r,u,l,s){e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,s=s|0,Ut(15)}function JE(e,n){return e=e|0,n=n|0,Ut(16),0}function UB(){return Ut(17),0}function jB(e,n,r,u,l){return e=e|0,n=n|0,r=r|0,u=u|0,l=l|0,Ut(18),0}function zB(e,n,r,u){e=e|0,n=n|0,r=r|0,u=+u,Ut(19)}function qB(e,n,r,u,l,s){e=e|0,n=n|0,r=w(r),u=u|0,l=w(l),s=s|0,Ut(20)}function k_(e,n,r){e=e|0,n=n|0,r=r|0,Ut(21)}function HB(){Ut(22)}function Bv(e,n,r){e=e|0,n=n|0,r=+r,Ut(23)}function WB(e,n){return e=+e,n=+n,Ut(24),0}function Uv(e,n,r,u){e=e|0,n=n|0,r=r|0,u=u|0,Ut(25)}var K8=[OB,UL],X8=[kB,Ju],Q8=[Ks,ua,ys,gs,Ql,Io,hf,tl,Ia,Zu,vf,jc,lc,Sl,_s,oa,n2,la,sc,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks,Ks],J8=[MB],M1=[Kn,Pv,an,$l,go,Lf,x1,Fl,hN,vN,mN,xL,AL,RL,XP,QP,JP,Ne,uc,La,ju,U0,hh,yf,$c,Af,pa,Rh,Sm,h1,v1,Xh,pp,M2,Gm,D1,Sc,ry,oy,Sv,Av,rn,Q4,lE,h_,Nt,_u,Qu,RO,WO,ak,Ak,qk,aM,_M,wM,UM,qM,uN,gN,DN,BN,nL,v2,BF,vb,kb,Vb,pP,RP,UP,qP,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn,Kn],N1=[By,gd,$1,Uc,Dl,el,_d,Bs,wl,Fa,ba,Pa,Tl,Be,ut,Jt,jn,ti,tr,Ba,Dd,mh,fE,vE,Mk,zF,fL,g8,By,By,By,By],Xp=[xa,xI,pf,y,J,fe,mt,Ct,Mt,Er,iu,j0,Ua,r2,Vc,Cs,Gk,zN,VF,Sa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa,xa],Z8=[NB,Td],VB=[LB,sN],M_=[FB,N8,AI,kI,zh,dv,NO,Xb],GB=[bB,lv],$8=[Kp,e0,He,ii,vh,il,sa,Cd,xd,ac,Kp,Kp,Kp,Kp,Kp,Kp],YB=[PB,mM],ZE=[Uy,JI,Ed,ll,zd,Nm,ap,Cp,ly,xr,bo,Fb,Uy,Uy,Uy,Uy],KB=[IB,Sh],XB=[BB,yP],eS=[JE,qi,Ad,a2,Gc,cl,JE,JE],N_=[UB,Yc,to,g0,xM,GM,CN,GP],tS=[jB,ei],QB=[zB,Dy],nS=[qB,i2],jy=[k_,A,$u,jr,gu,d1,k2,ir,Cy,po,aF,_b,NP,k_,k_,k_],rS=[HB],iS=[Bv,e2,ho,t2,Po,zc,bi,g,Ip,KO,dM,Bv,Bv,Bv,Bv,Bv],JB=[WB,dN],$E=[Uv,_p,Rc,pk,tM,NM,ZM,NN,lL,JF,rI,Uv,Uv,Uv,Uv,Uv];return{_llvm_bswap_i32:Y8,dynCall_idd:AB,dynCall_i:EB,_i64Subtract:R_,___udivdi3:XE,dynCall_vif:iB,setThrew:fs,dynCall_viii:TB,_bitshift64Lshr:O_,_bitshift64Shl:W8,dynCall_vi:lB,dynCall_viiddi:yB,dynCall_diii:pB,dynCall_iii:mB,_memset:Iv,_sbrk:Z2,_memcpy:pr,__GLOBAL__sub_I_Yoga_cpp:Qi,dynCall_vii:sB,___uremdi3:QE,dynCall_vid:uB,stackAlloc:so,_nbind_init:hI,getTempRet0:X,dynCall_di:hB,dynCall_iid:vB,setTempRet0:P0,_i64Add:KE,dynCall_fiff:oB,dynCall_iiii:dB,_emscripten_get_global_libc:CI,dynCall_viid:xB,dynCall_viiid:wB,dynCall_viififi:SB,dynCall_ii:aB,__GLOBAL__sub_I_Binding_cc:kF,dynCall_viiii:RB,dynCall_iiiiii:DB,stackSave:Jo,dynCall_viiiii:rB,__GLOBAL__sub_I_nbind_cc:Us,dynCall_vidd:cB,_free:x_,runPostSets:nB,dynCall_viiiiii:gB,establishStackSpace:Fu,_memmove:Iy,stackRestore:Gl,_malloc:C_,__GLOBAL__sub_I_common_cc:XN,dynCall_viddi:fB,dynCall_dii:_B,dynCall_v:CB}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(o){o=o||[],ensureInitRuntime();var f=o.length+1;function p(){for(var N=0;N<4-1;N++)E.push(0)}var E=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];p();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function o(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),o()},1)):o()}Module.run=Module.run=run;function exit(i,o){o&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var o=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+o;throw abortDecorators&&abortDecorators.forEach(function(p){f=p(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var eh=ce((Wne,O9)=>{"use strict";var tX=A9(),nX=R9(),hw=!1,vw=null;nX({},function(i,o){if(!hw){if(hw=!0,i)throw i;vw=o}});if(!hw)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");O9.exports=tX(vw.bind,vw.lib)});var M9=ce((Vne,k9)=>{"use strict";k9.exports=({onlyFirst:i=!1}={})=>{let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i?void 0:"g")}});var mw=ce((Gne,N9)=>{"use strict";var rX=M9();N9.exports=i=>typeof i=="string"?i.replace(rX(),""):i});var gw=ce((Yne,yw)=>{"use strict";var L9=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);yw.exports=L9;yw.exports.default=L9});var b9=ce((Kne,F9)=>{"use strict";F9.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var m4=ce((Xne,_w)=>{"use strict";var iX=mw(),uX=gw(),oX=b9(),P9=i=>{if(i=i.replace(oX()," "),typeof i!="string"||i.length===0)return 0;i=iX(i);let o=0;for(let f=0;f=127&&p<=159||p>=768&&p<=879||(p>65535&&f++,o+=uX(p)?2:1)}return o};_w.exports=P9;_w.exports.default=P9});var Dw=ce((Qne,Ew)=>{"use strict";var lX=m4(),I9=i=>{let o=0;for(let f of i.split(` -`))o=Math.max(o,lX(f));return o};Ew.exports=I9;Ew.exports.default=I9});var B9=ce(vg=>{"use strict";var sX=vg&&vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vg,"__esModule",{value:!0});var aX=sX(Dw()),ww={};vg.default=i=>{if(i.length===0)return{width:0,height:0};if(ww[i])return ww[i];let o=aX.default(i),f=i.split(` -`).length;return ww[i]={width:o,height:f},{width:o,height:f}}});var U9=ce(mg=>{"use strict";var fX=mg&&mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(mg,"__esModule",{value:!0});var Ii=fX(eh()),cX=(i,o)=>{"position"in o&&i.setPositionType(o.position==="absolute"?Ii.default.POSITION_TYPE_ABSOLUTE:Ii.default.POSITION_TYPE_RELATIVE)},dX=(i,o)=>{"marginLeft"in o&&i.setMargin(Ii.default.EDGE_START,o.marginLeft||0),"marginRight"in o&&i.setMargin(Ii.default.EDGE_END,o.marginRight||0),"marginTop"in o&&i.setMargin(Ii.default.EDGE_TOP,o.marginTop||0),"marginBottom"in o&&i.setMargin(Ii.default.EDGE_BOTTOM,o.marginBottom||0)},pX=(i,o)=>{"paddingLeft"in o&&i.setPadding(Ii.default.EDGE_LEFT,o.paddingLeft||0),"paddingRight"in o&&i.setPadding(Ii.default.EDGE_RIGHT,o.paddingRight||0),"paddingTop"in o&&i.setPadding(Ii.default.EDGE_TOP,o.paddingTop||0),"paddingBottom"in o&&i.setPadding(Ii.default.EDGE_BOTTOM,o.paddingBottom||0)},hX=(i,o)=>{var f;"flexGrow"in o&&i.setFlexGrow((f=o.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in o&&i.setFlexShrink(typeof o.flexShrink=="number"?o.flexShrink:1),"flexDirection"in o&&(o.flexDirection==="row"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW),o.flexDirection==="row-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_ROW_REVERSE),o.flexDirection==="column"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN),o.flexDirection==="column-reverse"&&i.setFlexDirection(Ii.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in o&&(typeof o.flexBasis=="number"?i.setFlexBasis(o.flexBasis):typeof o.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(o.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in o&&((o.alignItems==="stretch"||!o.alignItems)&&i.setAlignItems(Ii.default.ALIGN_STRETCH),o.alignItems==="flex-start"&&i.setAlignItems(Ii.default.ALIGN_FLEX_START),o.alignItems==="center"&&i.setAlignItems(Ii.default.ALIGN_CENTER),o.alignItems==="flex-end"&&i.setAlignItems(Ii.default.ALIGN_FLEX_END)),"alignSelf"in o&&((o.alignSelf==="auto"||!o.alignSelf)&&i.setAlignSelf(Ii.default.ALIGN_AUTO),o.alignSelf==="flex-start"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_START),o.alignSelf==="center"&&i.setAlignSelf(Ii.default.ALIGN_CENTER),o.alignSelf==="flex-end"&&i.setAlignSelf(Ii.default.ALIGN_FLEX_END)),"justifyContent"in o&&((o.justifyContent==="flex-start"||!o.justifyContent)&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_START),o.justifyContent==="center"&&i.setJustifyContent(Ii.default.JUSTIFY_CENTER),o.justifyContent==="flex-end"&&i.setJustifyContent(Ii.default.JUSTIFY_FLEX_END),o.justifyContent==="space-between"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_BETWEEN),o.justifyContent==="space-around"&&i.setJustifyContent(Ii.default.JUSTIFY_SPACE_AROUND))},vX=(i,o)=>{var f,p;"width"in o&&(typeof o.width=="number"?i.setWidth(o.width):typeof o.width=="string"?i.setWidthPercent(Number.parseInt(o.width,10)):i.setWidthAuto()),"height"in o&&(typeof o.height=="number"?i.setHeight(o.height):typeof o.height=="string"?i.setHeightPercent(Number.parseInt(o.height,10)):i.setHeightAuto()),"minWidth"in o&&(typeof o.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(o.minWidth,10)):i.setMinWidth((f=o.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in o&&(typeof o.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(o.minHeight,10)):i.setMinHeight((p=o.minHeight)!==null&&p!==void 0?p:0))},mX=(i,o)=>{"display"in o&&i.setDisplay(o.display==="flex"?Ii.default.DISPLAY_FLEX:Ii.default.DISPLAY_NONE)},yX=(i,o)=>{if("borderStyle"in o){let f=typeof o.borderStyle=="string"?1:0;i.setBorder(Ii.default.EDGE_TOP,f),i.setBorder(Ii.default.EDGE_BOTTOM,f),i.setBorder(Ii.default.EDGE_LEFT,f),i.setBorder(Ii.default.EDGE_RIGHT,f)}};mg.default=(i,o={})=>{cX(i,o),dX(i,o),pX(i,o),hX(i,o),vX(i,o),mX(i,o),yX(i,o)}});var z9=ce(($ne,j9)=>{"use strict";j9.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Sw=ce((ere,q9)=>{var yg=z9(),H9={};for(let i of Object.keys(yg))H9[yg[i]]=i;var In={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};q9.exports=In;for(let i of Object.keys(In)){if(!("channels"in In[i]))throw new Error("missing channels property: "+i);if(!("labels"in In[i]))throw new Error("missing channel labels property: "+i);if(In[i].labels.length!==In[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:o,labels:f}=In[i];delete In[i].channels,delete In[i].labels,Object.defineProperty(In[i],"channels",{value:o}),Object.defineProperty(In[i],"labels",{value:f})}In.rgb.hsl=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(o,f,p),t=Math.max(o,f,p),k=t-E,L,N;t===E?L=0:o===t?L=(f-p)/k:f===t?L=2+(p-o)/k:p===t&&(L=4+(o-f)/k),L=Math.min(L*60,360),L<0&&(L+=360);let C=(E+t)/2;return t===E?N=0:C<=.5?N=k/(t+E):N=k/(2-t-E),[L,N*100,C*100]};In.rgb.hsv=function(i){let o,f,p,E,t,k=i[0]/255,L=i[1]/255,N=i[2]/255,C=Math.max(k,L,N),U=C-Math.min(k,L,N),q=function(W){return(C-W)/6/U+1/2};return U===0?(E=0,t=0):(t=U/C,o=q(k),f=q(L),p=q(N),k===C?E=p-f:L===C?E=1/3+o-p:N===C&&(E=2/3+f-o),E<0?E+=1:E>1&&(E-=1)),[E*360,t*100,C*100]};In.rgb.hwb=function(i){let o=i[0],f=i[1],p=i[2],E=In.rgb.hsl(i)[0],t=1/255*Math.min(o,Math.min(f,p));return p=1-1/255*Math.max(o,Math.max(f,p)),[E,t*100,p*100]};In.rgb.cmyk=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.min(1-o,1-f,1-p),t=(1-o-E)/(1-E)||0,k=(1-f-E)/(1-E)||0,L=(1-p-E)/(1-E)||0;return[t*100,k*100,L*100,E*100]};function gX(i,o){return(i[0]-o[0])**2+(i[1]-o[1])**2+(i[2]-o[2])**2}In.rgb.keyword=function(i){let o=H9[i];if(o)return o;let f=Infinity,p;for(let E of Object.keys(yg)){let t=yg[E],k=gX(i,t);k.04045?((o+.055)/1.055)**2.4:o/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,p=p>.04045?((p+.055)/1.055)**2.4:p/12.92;let E=o*.4124+f*.3576+p*.1805,t=o*.2126+f*.7152+p*.0722,k=o*.0193+f*.1192+p*.9505;return[E*100,t*100,k*100]};In.rgb.lab=function(i){let o=In.rgb.xyz(i),f=o[0],p=o[1],E=o[2];f/=95.047,p/=100,E/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116,E=E>.008856?E**(1/3):7.787*E+16/116;let t=116*p-16,k=500*(f-p),L=200*(p-E);return[t,k,L]};In.hsl.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E,t,k;if(f===0)return k=p*255,[k,k,k];p<.5?E=p*(1+f):E=p+f-p*f;let L=2*p-E,N=[0,0,0];for(let C=0;C<3;C++)t=o+1/3*-(C-1),t<0&&t++,t>1&&t--,6*t<1?k=L+(E-L)*6*t:2*t<1?k=E:3*t<2?k=L+(E-L)*(2/3-t)*6:k=L,N[C]=k*255;return N};In.hsl.hsv=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=f,t=Math.max(p,.01);p*=2,f*=p<=1?p:2-p,E*=t<=1?t:2-t;let k=(p+f)/2,L=p===0?2*E/(t+E):2*f/(p+f);return[o,L*100,k*100]};In.hsv.rgb=function(i){let o=i[0]/60,f=i[1]/100,p=i[2]/100,E=Math.floor(o)%6,t=o-Math.floor(o),k=255*p*(1-f),L=255*p*(1-f*t),N=255*p*(1-f*(1-t));switch(p*=255,E){case 0:return[p,N,k];case 1:return[L,p,k];case 2:return[k,p,N];case 3:return[k,L,p];case 4:return[N,k,p];case 5:return[p,k,L]}};In.hsv.hsl=function(i){let o=i[0],f=i[1]/100,p=i[2]/100,E=Math.max(p,.01),t,k;k=(2-f)*p;let L=(2-f)*E;return t=f*E,t/=L<=1?L:2-L,t=t||0,k/=2,[o,t*100,k*100]};In.hwb.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100,E=f+p,t;E>1&&(f/=E,p/=E);let k=Math.floor(6*o),L=1-p;t=6*o-k,(k&1)!=0&&(t=1-t);let N=f+t*(L-f),C,U,q;switch(k){default:case 6:case 0:C=L,U=N,q=f;break;case 1:C=N,U=L,q=f;break;case 2:C=f,U=L,q=N;break;case 3:C=f,U=N,q=L;break;case 4:C=N,U=f,q=L;break;case 5:C=L,U=f,q=N;break}return[C*255,U*255,q*255]};In.cmyk.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E=i[3]/100,t=1-Math.min(1,o*(1-E)+E),k=1-Math.min(1,f*(1-E)+E),L=1-Math.min(1,p*(1-E)+E);return[t*255,k*255,L*255]};In.xyz.rgb=function(i){let o=i[0]/100,f=i[1]/100,p=i[2]/100,E,t,k;return E=o*3.2406+f*-1.5372+p*-.4986,t=o*-.9689+f*1.8758+p*.0415,k=o*.0557+f*-.204+p*1.057,E=E>.0031308?1.055*E**(1/2.4)-.055:E*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,k=k>.0031308?1.055*k**(1/2.4)-.055:k*12.92,E=Math.min(Math.max(0,E),1),t=Math.min(Math.max(0,t),1),k=Math.min(Math.max(0,k),1),[E*255,t*255,k*255]};In.xyz.lab=function(i){let o=i[0],f=i[1],p=i[2];o/=95.047,f/=100,p/=108.883,o=o>.008856?o**(1/3):7.787*o+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,p=p>.008856?p**(1/3):7.787*p+16/116;let E=116*f-16,t=500*(o-f),k=200*(f-p);return[E,t,k]};In.lab.xyz=function(i){let o=i[0],f=i[1],p=i[2],E,t,k;t=(o+16)/116,E=f/500+t,k=t-p/200;let L=t**3,N=E**3,C=k**3;return t=L>.008856?L:(t-16/116)/7.787,E=N>.008856?N:(E-16/116)/7.787,k=C>.008856?C:(k-16/116)/7.787,E*=95.047,t*=100,k*=108.883,[E,t,k]};In.lab.lch=function(i){let o=i[0],f=i[1],p=i[2],E;E=Math.atan2(p,f)*360/2/Math.PI,E<0&&(E+=360);let k=Math.sqrt(f*f+p*p);return[o,k,E]};In.lch.lab=function(i){let o=i[0],f=i[1],E=i[2]/360*2*Math.PI,t=f*Math.cos(E),k=f*Math.sin(E);return[o,t,k]};In.rgb.ansi16=function(i,o=null){let[f,p,E]=i,t=o===null?In.rgb.hsv(i)[2]:o;if(t=Math.round(t/50),t===0)return 30;let k=30+(Math.round(E/255)<<2|Math.round(p/255)<<1|Math.round(f/255));return t===2&&(k+=60),k};In.hsv.ansi16=function(i){return In.rgb.ansi16(In.hsv.rgb(i),i[2])};In.rgb.ansi256=function(i){let o=i[0],f=i[1],p=i[2];return o===f&&f===p?o<8?16:o>248?231:Math.round((o-8)/247*24)+232:16+36*Math.round(o/255*5)+6*Math.round(f/255*5)+Math.round(p/255*5)};In.ansi16.rgb=function(i){let o=i%10;if(o===0||o===7)return i>50&&(o+=3.5),o=o/10.5*255,[o,o,o];let f=(~~(i>50)+1)*.5,p=(o&1)*f*255,E=(o>>1&1)*f*255,t=(o>>2&1)*f*255;return[p,E,t]};In.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let o,f=Math.floor(i/36)/5*255,p=Math.floor((o=i%36)/6)/5*255,E=o%6/5*255;return[f,p,E]};In.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};In.hex.rgb=function(i){let o=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!o)return[0,0,0];let f=o[0];o[0].length===3&&(f=f.split("").map(L=>L+L).join(""));let p=parseInt(f,16),E=p>>16&255,t=p>>8&255,k=p&255;return[E,t,k]};In.rgb.hcg=function(i){let o=i[0]/255,f=i[1]/255,p=i[2]/255,E=Math.max(Math.max(o,f),p),t=Math.min(Math.min(o,f),p),k=E-t,L,N;return k<1?L=t/(1-k):L=0,k<=0?N=0:E===o?N=(f-p)/k%6:E===f?N=2+(p-o)/k:N=4+(o-f)/k,N/=6,N%=1,[N*360,k*100,L*100]};In.hsl.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=f<.5?2*o*f:2*o*(1-f),E=0;return p<1&&(E=(f-.5*p)/(1-p)),[i[0],p*100,E*100]};In.hsv.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=o*f,E=0;return p<1&&(E=(f-p)/(1-p)),[i[0],p*100,E*100]};In.hcg.rgb=function(i){let o=i[0]/360,f=i[1]/100,p=i[2]/100;if(f===0)return[p*255,p*255,p*255];let E=[0,0,0],t=o%1*6,k=t%1,L=1-k,N=0;switch(Math.floor(t)){case 0:E[0]=1,E[1]=k,E[2]=0;break;case 1:E[0]=L,E[1]=1,E[2]=0;break;case 2:E[0]=0,E[1]=1,E[2]=k;break;case 3:E[0]=0,E[1]=L,E[2]=1;break;case 4:E[0]=k,E[1]=0,E[2]=1;break;default:E[0]=1,E[1]=0,E[2]=L}return N=(1-f)*p,[(f*E[0]+N)*255,(f*E[1]+N)*255,(f*E[2]+N)*255]};In.hcg.hsv=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o),E=0;return p>0&&(E=o/p),[i[0],E*100,p*100]};In.hcg.hsl=function(i){let o=i[1]/100,p=i[2]/100*(1-o)+.5*o,E=0;return p>0&&p<.5?E=o/(2*p):p>=.5&&p<1&&(E=o/(2*(1-p))),[i[0],E*100,p*100]};In.hcg.hwb=function(i){let o=i[1]/100,f=i[2]/100,p=o+f*(1-o);return[i[0],(p-o)*100,(1-p)*100]};In.hwb.hcg=function(i){let o=i[1]/100,f=i[2]/100,p=1-f,E=p-o,t=0;return E<1&&(t=(p-E)/(1-E)),[i[0],E*100,t*100]};In.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};In.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};In.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};In.gray.hsl=function(i){return[0,0,i[0]]};In.gray.hsv=In.gray.hsl;In.gray.hwb=function(i){return[0,100,i[0]]};In.gray.cmyk=function(i){return[0,0,0,i[0]]};In.gray.lab=function(i){return[i[0],0,0]};In.gray.hex=function(i){let o=Math.round(i[0]/100*255)&255,p=((o<<16)+(o<<8)+o).toString(16).toUpperCase();return"000000".substring(p.length)+p};In.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var V9=ce((tre,W9)=>{var y4=Sw();function _X(){let i={},o=Object.keys(y4);for(let f=o.length,p=0;p{var Tw=Sw(),SX=V9(),sm={},TX=Object.keys(Tw);function CX(i){let o=function(...f){let p=f[0];return p==null?p:(p.length>1&&(f=p),i(f))};return"conversion"in i&&(o.conversion=i.conversion),o}function xX(i){let o=function(...f){let p=f[0];if(p==null)return p;p.length>1&&(f=p);let E=i(f);if(typeof E=="object")for(let t=E.length,k=0;k{sm[i]={},Object.defineProperty(sm[i],"channels",{value:Tw[i].channels}),Object.defineProperty(sm[i],"labels",{value:Tw[i].labels});let o=SX(i);Object.keys(o).forEach(p=>{let E=o[p];sm[i][p]=xX(E),sm[i][p].raw=CX(E)})});G9.exports=sm});var _4=ce((rre,K9)=>{"use strict";var X9=(i,o)=>(...f)=>`[${i(...f)+o}m`,Q9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};5;${p}m`},J9=(i,o)=>(...f)=>{let p=i(...f);return`[${38+o};2;${p[0]};${p[1]};${p[2]}m`},g4=i=>i,Z9=(i,o,f)=>[i,o,f],am=(i,o,f)=>{Object.defineProperty(i,o,{get:()=>{let p=f();return Object.defineProperty(i,o,{value:p,enumerable:!0,configurable:!0}),p},enumerable:!0,configurable:!0})},Cw,fm=(i,o,f,p)=>{Cw===void 0&&(Cw=Y9());let E=p?10:0,t={};for(let[k,L]of Object.entries(Cw)){let N=k==="ansi16"?"ansi":k;k===o?t[N]=i(f,E):typeof L=="object"&&(t[N]=i(L[o],E))}return t};function AX(){let i=new Map,o={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};o.color.gray=o.color.blackBright,o.bgColor.bgGray=o.bgColor.bgBlackBright,o.color.grey=o.color.blackBright,o.bgColor.bgGrey=o.bgColor.bgBlackBright;for(let[f,p]of Object.entries(o)){for(let[E,t]of Object.entries(p))o[E]={open:`[${t[0]}m`,close:`[${t[1]}m`},p[E]=o[E],i.set(t[0],t[1]);Object.defineProperty(o,f,{value:p,enumerable:!1})}return Object.defineProperty(o,"codes",{value:i,enumerable:!1}),o.color.close="",o.bgColor.close="",am(o.color,"ansi",()=>fm(X9,"ansi16",g4,!1)),am(o.color,"ansi256",()=>fm(Q9,"ansi256",g4,!1)),am(o.color,"ansi16m",()=>fm(J9,"rgb",Z9,!1)),am(o.bgColor,"ansi",()=>fm(X9,"ansi16",g4,!0)),am(o.bgColor,"ansi256",()=>fm(Q9,"ansi256",g4,!0)),am(o.bgColor,"ansi16m",()=>fm(J9,"rgb",Z9,!0)),o}Object.defineProperty(K9,"exports",{enumerable:!0,get:AX})});var tA=ce((ire,$9)=>{"use strict";var gg=m4(),RX=mw(),OX=_4(),xw=new Set(["","\x9B"]),kX=39,eA=i=>`${xw.values().next().value}[${i}m`,MX=i=>i.split(" ").map(o=>gg(o)),Aw=(i,o,f)=>{let p=[...o],E=!1,t=gg(RX(i[i.length-1]));for(let[k,L]of p.entries()){let N=gg(L);if(t+N<=f?i[i.length-1]+=L:(i.push(L),t=0),xw.has(L))E=!0;else if(E&&L==="m"){E=!1;continue}E||(t+=N,t===f&&k0&&i.length>1&&(i[i.length-2]+=i.pop())},NX=i=>{let o=i.split(" "),f=o.length;for(;f>0&&!(gg(o[f-1])>0);)f--;return f===o.length?i:o.slice(0,f).join(" ")+o.slice(f).join("")},LX=(i,o,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let p="",E="",t,k=MX(i),L=[""];for(let[N,C]of i.split(" ").entries()){f.trim!==!1&&(L[L.length-1]=L[L.length-1].trimLeft());let U=gg(L[L.length-1]);if(N!==0&&(U>=o&&(f.wordWrap===!1||f.trim===!1)&&(L.push(""),U=0),(U>0||f.trim===!1)&&(L[L.length-1]+=" ",U++)),f.hard&&k[N]>o){let q=o-U,W=1+Math.floor((k[N]-q-1)/o);Math.floor((k[N]-1)/o)o&&U>0&&k[N]>0){if(f.wordWrap===!1&&Uo&&f.wordWrap===!1){Aw(L,C,o);continue}L[L.length-1]+=C}f.trim!==!1&&(L=L.map(NX)),p=L.join(` -`);for(let[N,C]of[...p].entries()){if(E+=C,xw.has(C)){let q=parseFloat(/\d[^m]*/.exec(p.slice(N,N+4)));t=q===kX?null:q}let U=OX.codes.get(Number(t));t&&U&&(p[N+1]===` -`?E+=eA(U):C===` -`&&(E+=eA(t)))}return E};$9.exports=(i,o,f)=>String(i).normalize().replace(/\r\n/g,` -`).split(` -`).map(p=>LX(p,o,f)).join(` -`)});var iA=ce((ure,nA)=>{"use strict";var rA="[\uD800-\uDBFF][\uDC00-\uDFFF]",FX=i=>i&&i.exact?new RegExp(`^${rA}$`):new RegExp(rA,"g");nA.exports=FX});var Rw=ce((ore,uA)=>{"use strict";var bX=gw(),PX=iA(),oA=_4(),lA=["","\x9B"],E4=i=>`${lA[0]}[${i}m`,sA=(i,o,f)=>{let p=[];i=[...i];for(let E of i){let t=E;E.match(";")&&(E=E.split(";")[0][0]+"0");let k=oA.codes.get(parseInt(E,10));if(k){let L=i.indexOf(k.toString());L>=0?i.splice(L,1):p.push(E4(o?k:t))}else if(o){p.push(E4(0));break}else p.push(E4(t))}if(o&&(p=p.filter((E,t)=>p.indexOf(E)===t),f!==void 0)){let E=E4(oA.codes.get(parseInt(f,10)));p=p.reduce((t,k)=>k===E?[k,...t]:[...t,k],[])}return p.join("")};uA.exports=(i,o,f)=>{let p=[...i.normalize()],E=[];f=typeof f=="number"?f:p.length;let t=!1,k,L=0,N="";for(let[C,U]of p.entries()){let q=!1;if(lA.includes(U)){let W=/\d[^m]*/.exec(i.slice(C,C+18));k=W&&W.length>0?W[0]:void 0,Lo&&L<=f)N+=U;else if(L===o&&!t&&k!==void 0)N=sA(E);else if(L>=f){N+=sA(E,!0,k);break}}return N}});var fA=ce((lre,aA)=>{"use strict";var pd=Rw(),IX=m4();function D4(i,o,f){if(i.charAt(o)===" ")return o;for(let p=1;p<=3;p++)if(f){if(i.charAt(o+p)===" ")return o+p}else if(i.charAt(o-p)===" ")return o-p;return o}aA.exports=(i,o,f)=>{f=E0({position:"end",preferTruncationOnSpace:!1},f);let{position:p,space:E,preferTruncationOnSpace:t}=f,k="\u2026",L=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof o!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof o}`);if(o<1)return"";if(o===1)return k;let N=IX(i);if(N<=o)return i;if(p==="start"){if(t){let C=D4(i,N-o+1,!0);return k+pd(i,C,N).trim()}return E===!0&&(k+=" ",L=2),k+pd(i,N-o+L,N)}if(p==="middle"){E===!0&&(k=" "+k+" ",L=3);let C=Math.floor(o/2);if(t){let U=D4(i,C),q=D4(i,N-(o-C)+1,!0);return pd(i,0,U)+k+pd(i,q,N).trim()}return pd(i,0,C)+k+pd(i,N-(o-C)+L,N)}if(p==="end"){if(t){let C=D4(i,o-1);return pd(i,0,C)+k}return E===!0&&(k=" "+k,L=2),pd(i,0,o-L)+k}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${p}`)}});var kw=ce(_g=>{"use strict";var cA=_g&&_g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(_g,"__esModule",{value:!0});var BX=cA(tA()),UX=cA(fA()),Ow={};_g.default=(i,o,f)=>{let p=i+String(o)+String(f);if(Ow[p])return Ow[p];let E=i;if(f==="wrap"&&(E=BX.default(i,o,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),E=UX.default(i,o,{position:t})}return Ow[p]=E,E}});var Nw=ce(Mw=>{"use strict";Object.defineProperty(Mw,"__esModule",{value:!0});var dA=i=>{let o="";if(i.childNodes.length>0)for(let f of i.childNodes){let p="";f.nodeName==="#text"?p=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(p=dA(f)),p.length>0&&typeof f.internal_transform=="function"&&(p=f.internal_transform(p))),o+=p}return o};Mw.default=dA});var Lw=ce(l0=>{"use strict";var Eg=l0&&l0.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(l0,"__esModule",{value:!0});l0.setTextNodeValue=l0.createTextNode=l0.setStyle=l0.setAttribute=l0.removeChildNode=l0.insertBeforeNode=l0.appendChildNode=l0.createNode=l0.TEXT_NAME=void 0;var jX=Eg(eh()),pA=Eg(B9()),zX=Eg(U9()),qX=Eg(kw()),HX=Eg(Nw());l0.TEXT_NAME="#text";l0.createNode=i=>{var o;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:jX.default.Node.create()};return i==="ink-text"&&((o=f.yogaNode)===null||o===void 0||o.setMeasureFunc(WX.bind(null,f))),f};l0.appendChildNode=(i,o)=>{var f;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i,i.childNodes.push(o),o.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.insertBeforeNode=(i,o,f)=>{var p,E;o.parentNode&&l0.removeChildNode(o.parentNode,o),o.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,o),o.yogaNode&&((p=i.yogaNode)===null||p===void 0||p.insertChild(o.yogaNode,t));return}i.childNodes.push(o),o.yogaNode&&((E=i.yogaNode)===null||E===void 0||E.insertChild(o.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.removeChildNode=(i,o)=>{var f,p;o.yogaNode&&((p=(f=o.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||p===void 0||p.removeChild(o.yogaNode)),o.parentNode=null;let E=i.childNodes.indexOf(o);E>=0&&i.childNodes.splice(E,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&w4(i)};l0.setAttribute=(i,o,f)=>{i.attributes[o]=f};l0.setStyle=(i,o)=>{i.style=o,i.yogaNode&&zX.default(i.yogaNode,o)};l0.createTextNode=i=>{let o={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return l0.setTextNodeValue(o,i),o};var WX=function(i,o){var f,p;let E=i.nodeName==="#text"?i.nodeValue:HX.default(i),t=pA.default(E);if(t.width<=o||t.width>=1&&o>0&&o<1)return t;let k=(p=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&p!==void 0?p:"wrap",L=qX.default(E,o,k);return pA.default(L)},hA=i=>{var o;if(!(!i||!i.parentNode))return(o=i.yogaNode)!==null&&o!==void 0?o:hA(i.parentNode)},w4=i=>{let o=hA(i);o==null||o.markDirty()};l0.setTextNodeValue=(i,o)=>{typeof o!="string"&&(o=String(o)),i.nodeValue=o,w4(i)}});var th=ce((cre,vA)=>{"use strict";vA.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Dg=ce((dre,Fw)=>{"use strict";var{EMPTY_BUFFER:VX}=th();function mA(i,o){if(i.length===0)return VX;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(o),p=0;for(let E=0;E{"use strict";var DA=Symbol("kDone"),bw=Symbol("kRun"),wA=class{constructor(o){this[DA]=()=>{this.pending--,this[bw]()},this.concurrency=o||Infinity,this.jobs=[],this.pending=0}add(o){this.jobs.push(o),this[bw]()}[bw](){if(this.pending!==this.concurrency&&this.jobs.length){let o=this.jobs.shift();this.pending++,o(this[DA])}}};EA.exports=wA});var Tg=ce((hre,TA)=>{"use strict";var wg=require("zlib"),CA=Dg(),GX=SA(),{kStatusCode:xA,NOOP:YX}=th(),KX=Buffer.from([0,0,255,255]),T4=Symbol("permessage-deflate"),G1=Symbol("total-length"),Sg=Symbol("callback"),hd=Symbol("buffers"),Pw=Symbol("error"),C4,AA=class{constructor(o,f,p){if(this._maxPayload=p|0,this._options=o||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!C4){let E=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;C4=new GX(E)}}static get extensionName(){return"permessage-deflate"}offer(){let o={};return this._options.serverNoContextTakeover&&(o.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(o.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(o.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?o.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(o.client_max_window_bits=!0),o}accept(o){return o=this.normalizeParams(o),this.params=this._isServer?this.acceptAsServer(o):this.acceptAsClient(o),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let o=this._deflate[Sg];this._deflate.close(),this._deflate=null,o&&o(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(o){let f=this._options,p=o.find(E=>!(f.serverNoContextTakeover===!1&&E.server_no_context_takeover||E.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>E.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!E.client_max_window_bits));if(!p)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(p.server_no_context_takeover=!0),f.clientNoContextTakeover&&(p.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(p.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?p.client_max_window_bits=f.clientMaxWindowBits:(p.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete p.client_max_window_bits,p}acceptAsClient(o){let f=o[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(o){return o.forEach(f=>{Object.keys(f).forEach(p=>{let E=f[p];if(E.length>1)throw new Error(`Parameter "${p}" must have only a single value`);if(E=E[0],p==="client_max_window_bits"){if(E!==!0){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else if(p==="server_max_window_bits"){let t=+E;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${p}": ${E}`);E=t}else if(p==="client_no_context_takeover"||p==="server_no_context_takeover"){if(E!==!0)throw new TypeError(`Invalid value for parameter "${p}": ${E}`)}else throw new Error(`Unknown parameter "${p}"`);f[p]=E})}),o}decompress(o,f,p){C4.add(E=>{this._decompress(o,f,(t,k)=>{E(),p(t,k)})})}compress(o,f,p){C4.add(E=>{this._compress(o,f,(t,k)=>{E(),p(t,k)})})}_decompress(o,f,p){let E=this._isServer?"client":"server";if(!this._inflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=wg.createInflateRaw(Gf(E0({},this._options.zlibInflateOptions),{windowBits:k})),this._inflate[T4]=this,this._inflate[G1]=0,this._inflate[hd]=[],this._inflate.on("error",QX),this._inflate.on("data",RA)}this._inflate[Sg]=p,this._inflate.write(o),f&&this._inflate.write(KX),this._inflate.flush(()=>{let t=this._inflate[Pw];if(t){this._inflate.close(),this._inflate=null,p(t);return}let k=CA.concat(this._inflate[hd],this._inflate[G1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[G1]=0,this._inflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._inflate.reset()),p(null,k)})}_compress(o,f,p){let E=this._isServer?"server":"client";if(!this._deflate){let t=`${E}_max_window_bits`,k=typeof this.params[t]!="number"?wg.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=wg.createDeflateRaw(Gf(E0({},this._options.zlibDeflateOptions),{windowBits:k})),this._deflate[G1]=0,this._deflate[hd]=[],this._deflate.on("error",YX),this._deflate.on("data",XX)}this._deflate[Sg]=p,this._deflate.write(o),this._deflate.flush(wg.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=CA.concat(this._deflate[hd],this._deflate[G1]);f&&(t=t.slice(0,t.length-4)),this._deflate[Sg]=null,this._deflate[G1]=0,this._deflate[hd]=[],f&&this.params[`${E}_no_context_takeover`]&&this._deflate.reset(),p(null,t)})}};TA.exports=AA;function XX(i){this[hd].push(i),this[G1]+=i.length}function RA(i){if(this[G1]+=i.length,this[T4]._maxPayload<1||this[G1]<=this[T4]._maxPayload){this[hd].push(i);return}this[Pw]=new RangeError("Max payload size exceeded"),this[Pw][xA]=1009,this.removeListener("data",RA),this.reset()}function QX(i){this[T4]._inflate=null,i[xA]=1007,this[Sg](i)}});var Bw=ce((vre,Iw)=>{"use strict";function OA(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function kA(i){let o=i.length,f=0;for(;f=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=o||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),Iw.exports={isValidStatusCode:OA,isValidUTF8(o){return o.length<150?kA(o):i(o)}}}catch(i){Iw.exports={isValidStatusCode:OA,isValidUTF8:kA}}});var zw=ce((mre,MA)=>{"use strict";var{Writable:JX}=require("stream"),NA=Tg(),{BINARY_TYPES:ZX,EMPTY_BUFFER:$X,kStatusCode:eQ,kWebSocket:tQ}=th(),{concat:Uw,toArrayBuffer:nQ,unmask:rQ}=Dg(),{isValidStatusCode:iQ,isValidUTF8:LA}=Bw(),Cg=0,FA=1,bA=2,PA=3,jw=4,uQ=5,IA=class extends JX{constructor(o,f,p,E){super();this._binaryType=o||ZX[0],this[tQ]=void 0,this._extensions=f||{},this._isServer=!!p,this._maxPayload=E|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=Cg,this._loop=!1}_write(o,f,p){if(this._opcode===8&&this._state==Cg)return p();this._bufferedBytes+=o.length,this._buffers.push(o),this.startLoop(p)}consume(o){if(this._bufferedBytes-=o,o===this._buffers[0].length)return this._buffers.shift();if(o=p.length?f.set(this._buffers.shift(),E):(f.set(new Uint8Array(p.buffer,p.byteOffset,o),E),this._buffers[0]=p.slice(o)),o-=p.length}while(o>0);return f}startLoop(o){let f;this._loop=!0;do switch(this._state){case Cg:f=this.getInfo();break;case FA:f=this.getPayloadLength16();break;case bA:f=this.getPayloadLength64();break;case PA:this.getMask();break;case jw:f=this.getData(o);break;default:this._loop=!1;return}while(this._loop);o(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let o=this.consume(2);if((o[0]&48)!=0)return this._loop=!1,Ho(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(o[0]&64)==64;if(f&&!this._extensions[NA.extensionName])return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(o[0]&128)==128,this._opcode=o[0]&15,this._payloadLength=o[1]&127,this._opcode===0){if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,Ho(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Ho(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,Ho(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,Ho(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,Ho(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(o[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Ho(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,Ho(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=FA;else if(this._payloadLength===127)this._state=bA;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let o=this.consume(8),f=o.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,Ho(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+o.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Ho(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=PA:this._state=jw}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=jw}getData(o){let f=$X;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=uQ,this.decompress(f,o);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(o,f){this._extensions[NA.extensionName].decompress(o,this._fin,(E,t)=>{if(E)return f(E);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(Ho(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let k=this.dataMessage();if(k)return f(k);this.startLoop(f)})}dataMessage(){if(this._fin){let o=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let p;this._binaryType==="nodebuffer"?p=Uw(f,o):this._binaryType==="arraybuffer"?p=nQ(Uw(f,o)):p=f,this.emit("message",p)}else{let p=Uw(f,o);if(!LA(p))return this._loop=!1,Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",p.toString())}}this._state=Cg}controlMessage(o){if(this._opcode===8)if(this._loop=!1,o.length===0)this.emit("conclude",1005,""),this.end();else{if(o.length===1)return Ho(RangeError,"invalid payload length 1",!0,1002);{let f=o.readUInt16BE(0);if(!iQ(f))return Ho(RangeError,`invalid status code ${f}`,!0,1002);let p=o.slice(2);if(!LA(p))return Ho(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,p.toString()),this.end()}}else this._opcode===9?this.emit("ping",o):this.emit("pong",o);this._state=Cg}};MA.exports=IA;function Ho(i,o,f,p){let E=new i(f?`Invalid WebSocket frame: ${o}`:o);return Error.captureStackTrace(E,Ho),E[eQ]=p,E}});var qw=ce((yre,BA)=>{"use strict";var{randomFillSync:oQ}=require("crypto"),UA=Tg(),{EMPTY_BUFFER:lQ}=th(),{isValidStatusCode:sQ}=Bw(),{mask:jA,toBuffer:Y1}=Dg(),nh=Buffer.alloc(4),K1=class{constructor(o,f){this._extensions=f||{},this._socket=o,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(o,f){let p=f.mask&&f.readOnly,E=f.mask?6:2,t=o.length;o.length>=65536?(E+=8,t=127):o.length>125&&(E+=2,t=126);let k=Buffer.allocUnsafe(p?o.length+E:E);return k[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(k[0]|=64),k[1]=t,t===126?k.writeUInt16BE(o.length,2):t===127&&(k.writeUInt32BE(0,2),k.writeUInt32BE(o.length,6)),f.mask?(oQ(nh,0,4),k[1]|=128,k[E-4]=nh[0],k[E-3]=nh[1],k[E-2]=nh[2],k[E-1]=nh[3],p?(jA(o,nh,k,E,o.length),[k]):(jA(o,nh,o,0,o.length),[k,o])):[k,o]}close(o,f,p,E){let t;if(o===void 0)t=lQ;else{if(typeof o!="number"||!sQ(o))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(o,0);else{let k=Buffer.byteLength(f);if(k>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+k),t.writeUInt16BE(o,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,p,E]):this.doClose(t,p,E)}doClose(o,f,p){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),p)}ping(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,E,f,Y1.readOnly,p]):this.doPing(E,f,Y1.readOnly,p)}doPing(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:p}),E)}pong(o,f,p){let E=Y1(o);if(E.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,E,f,Y1.readOnly,p]):this.doPong(E,f,Y1.readOnly,p)}doPong(o,f,p,E){this.sendFrame(K1.frame(o,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:p}),E)}send(o,f,p){let E=Y1(o),t=this._extensions[UA.extensionName],k=f.binary?2:1,L=f.compress;if(this._firstFragment?(this._firstFragment=!1,L&&t&&(L=E.length>=t._threshold),this._compress=L):(L=!1,k=0),f.fin&&(this._firstFragment=!0),t){let N={fin:f.fin,rsv1:L,opcode:k,mask:f.mask,readOnly:Y1.readOnly};this._deflating?this.enqueue([this.dispatch,E,this._compress,N,p]):this.dispatch(E,this._compress,N,p)}else this.sendFrame(K1.frame(E,{fin:f.fin,rsv1:!1,opcode:k,mask:f.mask,readOnly:Y1.readOnly}),p)}dispatch(o,f,p,E){if(!f){this.sendFrame(K1.frame(o,p),E);return}let t=this._extensions[UA.extensionName];this._bufferedBytes+=o.length,this._deflating=!0,t.compress(o,p.fin,(k,L)=>{if(this._socket.destroyed){let N=new Error("The socket was closed while data was being compressed");typeof E=="function"&&E(N);for(let C=0;C{"use strict";var xg=class{constructor(o,f){this.target=f,this.type=o}},qA=class extends xg{constructor(o,f){super("message",f);this.data=o}},HA=class extends xg{constructor(o,f,p){super("close",p);this.wasClean=p._closeFrameReceived&&p._closeFrameSent,this.reason=f,this.code=o}},WA=class extends xg{constructor(o){super("open",o)}},VA=class extends xg{constructor(o,f){super("error",f);this.message=o.message,this.error=o}},aQ={addEventListener(i,o,f){if(typeof o!="function")return;function p(N){o.call(this,new qA(N,this))}function E(N,C){o.call(this,new HA(N,C,this))}function t(N){o.call(this,new VA(N,this))}function k(){o.call(this,new WA(this))}let L=f&&f.once?"once":"on";i==="message"?(p._listener=o,this[L](i,p)):i==="close"?(E._listener=o,this[L](i,E)):i==="error"?(t._listener=o,this[L](i,t)):i==="open"?(k._listener=o,this[L](i,k)):this[L](i,o)},removeEventListener(i,o){let f=this.listeners(i);for(let p=0;p{"use strict";var Ag=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Pc(i,o,f){i[o]===void 0?i[o]=[f]:i[o].push(f)}function fQ(i){let o=Object.create(null);if(i===void 0||i==="")return o;let f=Object.create(null),p=!1,E=!1,t=!1,k,L,N=-1,C=-1,U=0;for(;U{let f=i[o];return Array.isArray(f)||(f=[f]),f.map(p=>[o].concat(Object.keys(p).map(E=>{let t=p[E];return Array.isArray(t)||(t=[t]),t.map(k=>k===!0?E:`${E}=${k}`).join("; ")})).join("; ")).join(", ")}).join(", ")}YA.exports={format:cQ,parse:fQ}});var Kw=ce((Ere,KA)=>{"use strict";var dQ=require("events"),pQ=require("https"),hQ=require("http"),XA=require("net"),vQ=require("tls"),{randomBytes:mQ,createHash:yQ}=require("crypto"),{URL:Ww}=require("url"),vd=Tg(),gQ=zw(),_Q=qw(),{BINARY_TYPES:QA,EMPTY_BUFFER:Vw,GUID:EQ,kStatusCode:DQ,kWebSocket:Qs,NOOP:JA}=th(),{addEventListener:wQ,removeEventListener:SQ}=GA(),{format:TQ,parse:CQ}=Hw(),{toBuffer:xQ}=Dg(),ZA=["CONNECTING","OPEN","CLOSING","CLOSED"],Gw=[8,13],AQ=30*1e3,Bi=class extends dQ{constructor(o,f,p){super();this._binaryType=QA[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=Bi.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,o!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(p=f,f=void 0),$A(this,o,f,p)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(o){!QA.includes(o)||(this._binaryType=o,this._receiver&&(this._receiver._binaryType=o))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(o,f,p){let E=new gQ(this.binaryType,this._extensions,this._isServer,p);this._sender=new _Q(o,this._extensions),this._receiver=E,this._socket=o,E[Qs]=this,o[Qs]=this,E.on("conclude",RQ),E.on("drain",OQ),E.on("error",kQ),E.on("message",MQ),E.on("ping",NQ),E.on("pong",LQ),o.setTimeout(0),o.setNoDelay(),f.length>0&&o.unshift(f),o.on("close",eR),o.on("data",x4),o.on("end",tR),o.on("error",nR),this._readyState=Bi.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[vd.extensionName]&&this._extensions[vd.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=Bi.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(o,f){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let p="WebSocket was closed before the connection was established";return X1(this,this._req,p)}if(this.readyState===Bi.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=Bi.CLOSING,this._sender.close(o,f,!this._isServer,p=>{p||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),AQ)}}ping(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.ping(o||Vw,f,p)}pong(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof o=="function"?(p=o,o=f=void 0):typeof f=="function"&&(p=f,f=void 0),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}f===void 0&&(f=!this._isServer),this._sender.pong(o||Vw,f,p)}send(o,f,p){if(this.readyState===Bi.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(p=f,f={}),typeof o=="number"&&(o=o.toString()),this.readyState!==Bi.OPEN){Yw(this,o,p);return}let E=E0({binary:typeof o!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[vd.extensionName]||(E.compress=!1),this._sender.send(o||Vw,E,p)}terminate(){if(this.readyState!==Bi.CLOSED){if(this.readyState===Bi.CONNECTING){let o="WebSocket was closed before the connection was established";return X1(this,this._req,o)}this._socket&&(this._readyState=Bi.CLOSING,this._socket.destroy())}}};ZA.forEach((i,o)=>{let f={enumerable:!0,value:o};Object.defineProperty(Bi.prototype,i,f),Object.defineProperty(Bi,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(Bi.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(Bi.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let o=this.listeners(i);for(let f=0;f{X1(i,W,"Opening handshake has timed out")}),W.on("error",ne=>{W===null||W.aborted||(W=i._req=null,i._readyState=Bi.CLOSING,i.emit("error",ne),i.emitClose())}),W.on("response",ne=>{let m=ne.headers.location,we=ne.statusCode;if(m&&E.followRedirects&&we>=300&&we<400){if(++i._redirects>E.maxRedirects){X1(i,W,"Maximum redirects exceeded");return}W.abort();let Se=new Ww(m,o);$A(i,Se,f,p)}else i.emit("unexpected-response",W,ne)||X1(i,W,`Unexpected server response: ${ne.statusCode}`)}),W.on("upgrade",(ne,m,we)=>{if(i.emit("upgrade",ne),i.readyState!==Bi.CONNECTING)return;W=i._req=null;let Se=yQ("sha1").update(C+EQ).digest("base64");if(ne.headers["sec-websocket-accept"]!==Se){X1(i,m,"Invalid Sec-WebSocket-Accept header");return}let he=ne.headers["sec-websocket-protocol"],ge=(f||"").split(/, */),ze;if(!f&&he?ze="Server sent a subprotocol but none was requested":f&&!he?ze="Server sent no subprotocol":he&&!ge.includes(he)&&(ze="Server sent an invalid subprotocol"),ze){X1(i,m,ze);return}if(he&&(i._protocol=he),q)try{let pe=CQ(ne.headers["sec-websocket-extensions"]);pe[vd.extensionName]&&(q.accept(pe[vd.extensionName]),i._extensions[vd.extensionName]=q)}catch(pe){X1(i,m,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(m,we,E.maxPayload)})}function FQ(i){return i.path=i.socketPath,XA.connect(i)}function bQ(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=XA.isIP(i.host)?"":i.host),vQ.connect(i)}function X1(i,o,f){i._readyState=Bi.CLOSING;let p=new Error(f);Error.captureStackTrace(p,X1),o.setHeader?(o.abort(),o.socket&&!o.socket.destroyed&&o.socket.destroy(),o.once("abort",i.emitClose.bind(i)),i.emit("error",p)):(o.destroy(p),o.once("error",i.emit.bind(i,"error")),o.once("close",i.emitClose.bind(i)))}function Yw(i,o,f){if(o){let p=xQ(o).length;i._socket?i._sender._bufferedBytes+=p:i._bufferedAmount+=p}if(f){let p=new Error(`WebSocket is not open: readyState ${i.readyState} (${ZA[i.readyState]})`);f(p)}}function RQ(i,o){let f=this[Qs];f._socket.removeListener("data",x4),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=o,f._closeCode=i,i===1005?f.close():f.close(i,o)}function OQ(){this[Qs]._socket.resume()}function kQ(i){let o=this[Qs];o._socket.removeListener("data",x4),o._readyState=Bi.CLOSING,o._closeCode=i[DQ],o.emit("error",i),o._socket.destroy()}function rR(){this[Qs].emitClose()}function MQ(i){this[Qs].emit("message",i)}function NQ(i){let o=this[Qs];o.pong(i,!o._isServer,JA),o.emit("ping",i)}function LQ(i){this[Qs].emit("pong",i)}function eR(){let i=this[Qs];this.removeListener("close",eR),this.removeListener("end",tR),i._readyState=Bi.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",x4),this[Qs]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",rR),i._receiver.on("finish",rR))}function x4(i){this[Qs]._receiver.write(i)||this.pause()}function tR(){let i=this[Qs];i._readyState=Bi.CLOSING,i._receiver.end(),this.end()}function nR(){let i=this[Qs];this.removeListener("error",nR),this.on("error",JA),i&&(i._readyState=Bi.CLOSING,this.destroy())}});var lR=ce((Dre,iR)=>{"use strict";var{Duplex:PQ}=require("stream");function uR(i){i.emit("close")}function IQ(){!this.destroyed&&this._writableState.finished&&this.destroy()}function oR(i){this.removeListener("error",oR),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function BQ(i,o){let f=!0;function p(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",p));let E=new PQ(Gf(E0({},o),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(k){E.push(k)||(f=!1,i._socket.pause())}),i.once("error",function(k){E.destroyed||E.destroy(k)}),i.once("close",function(){E.destroyed||E.push(null)}),E._destroy=function(t,k){if(i.readyState===i.CLOSED){k(t),process.nextTick(uR,E);return}let L=!1;i.once("error",function(C){L=!0,k(C)}),i.once("close",function(){L||k(t),process.nextTick(uR,E)}),i.terminate()},E._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){E._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),E._readableState.endEmitted&&E.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},E._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},E._write=function(t,k,L){if(i.readyState===i.CONNECTING){i.once("open",function(){E._write(t,k,L)});return}i.send(t,L)},E.on("end",IQ),E.on("error",oR),E}iR.exports=BQ});var fR=ce((wre,sR)=>{"use strict";var UQ=require("events"),{createHash:jQ}=require("crypto"),{createServer:zQ,STATUS_CODES:Xw}=require("http"),rh=Tg(),qQ=Kw(),{format:HQ,parse:WQ}=Hw(),{GUID:VQ,kWebSocket:GQ}=th(),YQ=/^[+/0-9A-Za-z]{22}==$/,aR=class extends UQ{constructor(o,f){super();if(o=E0({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},o),o.port==null&&!o.server&&!o.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(o.port!=null?(this._server=zQ((p,E)=>{let t=Xw[426];E.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),E.end(t)}),this._server.listen(o.port,o.host,o.backlog,f)):o.server&&(this._server=o.server),this._server){let p=this.emit.bind(this,"connection");this._removeListeners=KQ(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(E,t,k)=>{this.handleUpgrade(E,t,k,p)}})}o.perMessageDeflate===!0&&(o.perMessageDeflate={}),o.clientTracking&&(this.clients=new Set),this.options=o}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(o){if(o&&this.once("close",o),this.clients)for(let p of this.clients)p.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(XQ,this)}shouldHandle(o){if(this.options.path){let f=o.url.indexOf("?");if((f!==-1?o.url.slice(0,f):o.url)!==this.options.path)return!1}return!0}handleUpgrade(o,f,p,E){f.on("error",Qw);let t=o.headers["sec-websocket-key"]!==void 0?o.headers["sec-websocket-key"].trim():!1,k=+o.headers["sec-websocket-version"],L={};if(o.method!=="GET"||o.headers.upgrade.toLowerCase()!=="websocket"||!t||!YQ.test(t)||k!==8&&k!==13||!this.shouldHandle(o))return A4(f,400);if(this.options.perMessageDeflate){let N=new rh(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let C=WQ(o.headers["sec-websocket-extensions"]);C[rh.extensionName]&&(N.accept(C[rh.extensionName]),L[rh.extensionName]=N)}catch(C){return A4(f,400)}}if(this.options.verifyClient){let N={origin:o.headers[`${k===8?"sec-websocket-origin":"origin"}`],secure:!!(o.socket.authorized||o.socket.encrypted),req:o};if(this.options.verifyClient.length===2){this.options.verifyClient(N,(C,U,q,W)=>{if(!C)return A4(f,U||401,q,W);this.completeUpgrade(t,L,o,f,p,E)});return}if(!this.options.verifyClient(N))return A4(f,401)}this.completeUpgrade(t,L,o,f,p,E)}completeUpgrade(o,f,p,E,t,k){if(!E.readable||!E.writable)return E.destroy();if(E[GQ])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let L=jQ("sha1").update(o+VQ).digest("base64"),N=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${L}`],C=new qQ(null),U=p.headers["sec-websocket-protocol"];if(U&&(U=U.split(",").map(QQ),this.options.handleProtocols?U=this.options.handleProtocols(U,p):U=U[0],U&&(N.push(`Sec-WebSocket-Protocol: ${U}`),C._protocol=U)),f[rh.extensionName]){let q=f[rh.extensionName].params,W=HQ({[rh.extensionName]:[q]});N.push(`Sec-WebSocket-Extensions: ${W}`),C._extensions=f}this.emit("headers",N,p),E.write(N.concat(`\r -`).join(`\r -`)),E.removeListener("error",Qw),C.setSocket(E,t,this.options.maxPayload),this.clients&&(this.clients.add(C),C.on("close",()=>this.clients.delete(C))),k(C,p)}};sR.exports=aR;function KQ(i,o){for(let f of Object.keys(o))i.on(f,o[f]);return function(){for(let p of Object.keys(o))i.removeListener(p,o[p])}}function XQ(i){i.emit("close")}function Qw(){this.destroy()}function A4(i,o,f,p){i.writable&&(f=f||Xw[o],p=E0({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},p),i.write(`HTTP/1.1 ${o} ${Xw[o]}\r -`+Object.keys(p).map(E=>`${E}: ${p[E]}`).join(`\r -`)+`\r -\r -`+f)),i.removeListener("error",Qw),i.destroy()}function QQ(i){return i.trim()}});var dR=ce((Sre,cR)=>{"use strict";var Rg=Kw();Rg.createWebSocketStream=lR();Rg.Server=fR();Rg.Receiver=zw();Rg.Sender=qw();cR.exports=Rg});var pR=ce(R4=>{"use strict";var JQ=R4&&R4.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R4,"__esModule",{value:!0});var ZQ=JQ(dR()),Og=global;Og.WebSocket||(Og.WebSocket=ZQ.default);Og.window||(Og.window=global);Og.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var hR=ce((O4,Jw)=>{(function(i,o){typeof O4=="object"&&typeof Jw=="object"?Jw.exports=o():typeof define=="function"&&define.amd?define([],o):typeof O4=="object"?O4.ReactDevToolsBackend=o():i.ReactDevToolsBackend=o()})(window,function(){return function(i){var o={};function f(p){if(o[p])return o[p].exports;var E=o[p]={i:p,l:!1,exports:{}};return i[p].call(E.exports,E,E.exports,f),E.l=!0,E.exports}return f.m=i,f.c=o,f.d=function(p,E,t){f.o(p,E)||Object.defineProperty(p,E,{enumerable:!0,get:t})},f.r=function(p){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(p,"__esModule",{value:!0})},f.t=function(p,E){if(1&E&&(p=f(p)),8&E||4&E&&typeof p=="object"&&p&&p.__esModule)return p;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:p}),2&E&&typeof p!="string")for(var k in p)f.d(t,k,function(L){return p[L]}.bind(null,k));return t},f.n=function(p){var E=p&&p.__esModule?function(){return p.default}:function(){return p};return f.d(E,"a",E),E},f.o=function(p,E){return Object.prototype.hasOwnProperty.call(p,E)},f.p="",f(f.s=20)}([function(i,o,f){"use strict";i.exports=f(12)},function(i,o,f){"use strict";var p=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function k(L){if(L==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(L)}i.exports=function(){try{if(!Object.assign)return!1;var L=new String("abc");if(L[5]="de",Object.getOwnPropertyNames(L)[0]==="5")return!1;for(var N={},C=0;C<10;C++)N["_"+String.fromCharCode(C)]=C;if(Object.getOwnPropertyNames(N).map(function(q){return N[q]}).join("")!=="0123456789")return!1;var U={};return"abcdefghijklmnopqrst".split("").forEach(function(q){U[q]=q}),Object.keys(Object.assign({},U)).join("")==="abcdefghijklmnopqrst"}catch(q){return!1}}()?Object.assign:function(L,N){for(var C,U,q=k(L),W=1;W=le||en<0||$t&&At-Ke>=wt}function ue(){var At=Se();if(Ce(At))return je(At);$e=setTimeout(ue,function(en){var ln=le-(en-ft);return $t?we(ln,wt-(en-Ke)):ln}(At))}function je(At){return $e=void 0,at&&Ge?Q(At):(Ge=rt=void 0,xt)}function ct(){var At=Se(),en=Ce(At);if(Ge=arguments,rt=this,ft=At,en){if($e===void 0)return ae(ft);if($t)return $e=setTimeout(ue,le),Q(ft)}return $e===void 0&&($e=setTimeout(ue,le)),xt}return le=pe(le)||0,ge(Ue)&&(jt=!!Ue.leading,wt=($t="maxWait"in Ue)?m(pe(Ue.maxWait)||0,le):wt,at="trailing"in Ue?!!Ue.trailing:at),ct.cancel=function(){$e!==void 0&&clearTimeout($e),Ke=0,Ge=ft=rt=$e=void 0},ct.flush=function(){return $e===void 0?xt:je(Se())},ct}function ge(Oe){var le=E(Oe);return!!Oe&&(le=="object"||le=="function")}function ze(Oe){return E(Oe)=="symbol"||function(le){return!!le&&E(le)=="object"}(Oe)&&ne.call(Oe)=="[object Symbol]"}function pe(Oe){if(typeof Oe=="number")return Oe;if(ze(Oe))return NaN;if(ge(Oe)){var le=typeof Oe.valueOf=="function"?Oe.valueOf():Oe;Oe=ge(le)?le+"":le}if(typeof Oe!="string")return Oe===0?Oe:+Oe;Oe=Oe.replace(t,"");var Ue=L.test(Oe);return Ue||N.test(Oe)?C(Oe.slice(2),Ue?2:8):k.test(Oe)?NaN:+Oe}i.exports=function(Oe,le,Ue){var Ge=!0,rt=!0;if(typeof Oe!="function")throw new TypeError("Expected a function");return ge(Ue)&&(Ge="leading"in Ue?!!Ue.leading:Ge,rt="trailing"in Ue?!!Ue.trailing:rt),he(Oe,le,{leading:Ge,maxWait:le,trailing:rt})}}).call(this,f(4))},function(i,o,f){(function(p){function E(Q){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ae){return typeof ae}:function(ae){return ae&&typeof Symbol=="function"&&ae.constructor===Symbol&&ae!==Symbol.prototype?"symbol":typeof ae})(Q)}var t;o=i.exports=m,t=(p===void 0?"undefined":E(p))==="object"&&p.env&&p.env.NODE_DEBUG&&/\bsemver\b/i.test(p.env.NODE_DEBUG)?function(){var Q=Array.prototype.slice.call(arguments,0);Q.unshift("SEMVER"),console.log.apply(console,Q)}:function(){},o.SEMVER_SPEC_VERSION="2.0.0";var k=Number.MAX_SAFE_INTEGER||9007199254740991,L=o.re=[],N=o.src=[],C=o.tokens={},U=0;function q(Q){C[Q]=U++}q("NUMERICIDENTIFIER"),N[C.NUMERICIDENTIFIER]="0|[1-9]\\d*",q("NUMERICIDENTIFIERLOOSE"),N[C.NUMERICIDENTIFIERLOOSE]="[0-9]+",q("NONNUMERICIDENTIFIER"),N[C.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",q("MAINVERSION"),N[C.MAINVERSION]="("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")\\.("+N[C.NUMERICIDENTIFIER]+")",q("MAINVERSIONLOOSE"),N[C.MAINVERSIONLOOSE]="("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")\\.("+N[C.NUMERICIDENTIFIERLOOSE]+")",q("PRERELEASEIDENTIFIER"),N[C.PRERELEASEIDENTIFIER]="(?:"+N[C.NUMERICIDENTIFIER]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASEIDENTIFIERLOOSE"),N[C.PRERELEASEIDENTIFIERLOOSE]="(?:"+N[C.NUMERICIDENTIFIERLOOSE]+"|"+N[C.NONNUMERICIDENTIFIER]+")",q("PRERELEASE"),N[C.PRERELEASE]="(?:-("+N[C.PRERELEASEIDENTIFIER]+"(?:\\."+N[C.PRERELEASEIDENTIFIER]+")*))",q("PRERELEASELOOSE"),N[C.PRERELEASELOOSE]="(?:-?("+N[C.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+N[C.PRERELEASEIDENTIFIERLOOSE]+")*))",q("BUILDIDENTIFIER"),N[C.BUILDIDENTIFIER]="[0-9A-Za-z-]+",q("BUILD"),N[C.BUILD]="(?:\\+("+N[C.BUILDIDENTIFIER]+"(?:\\."+N[C.BUILDIDENTIFIER]+")*))",q("FULL"),q("FULLPLAIN"),N[C.FULLPLAIN]="v?"+N[C.MAINVERSION]+N[C.PRERELEASE]+"?"+N[C.BUILD]+"?",N[C.FULL]="^"+N[C.FULLPLAIN]+"$",q("LOOSEPLAIN"),N[C.LOOSEPLAIN]="[v=\\s]*"+N[C.MAINVERSIONLOOSE]+N[C.PRERELEASELOOSE]+"?"+N[C.BUILD]+"?",q("LOOSE"),N[C.LOOSE]="^"+N[C.LOOSEPLAIN]+"$",q("GTLT"),N[C.GTLT]="((?:<|>)?=?)",q("XRANGEIDENTIFIERLOOSE"),N[C.XRANGEIDENTIFIERLOOSE]=N[C.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",q("XRANGEIDENTIFIER"),N[C.XRANGEIDENTIFIER]=N[C.NUMERICIDENTIFIER]+"|x|X|\\*",q("XRANGEPLAIN"),N[C.XRANGEPLAIN]="[v=\\s]*("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:\\.("+N[C.XRANGEIDENTIFIER]+")(?:"+N[C.PRERELEASE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGEPLAINLOOSE"),N[C.XRANGEPLAINLOOSE]="[v=\\s]*("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+N[C.XRANGEIDENTIFIERLOOSE]+")(?:"+N[C.PRERELEASELOOSE]+")?"+N[C.BUILD]+"?)?)?",q("XRANGE"),N[C.XRANGE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAIN]+"$",q("XRANGELOOSE"),N[C.XRANGELOOSE]="^"+N[C.GTLT]+"\\s*"+N[C.XRANGEPLAINLOOSE]+"$",q("COERCE"),N[C.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",q("COERCERTL"),L[C.COERCERTL]=new RegExp(N[C.COERCE],"g"),q("LONETILDE"),N[C.LONETILDE]="(?:~>?)",q("TILDETRIM"),N[C.TILDETRIM]="(\\s*)"+N[C.LONETILDE]+"\\s+",L[C.TILDETRIM]=new RegExp(N[C.TILDETRIM],"g"),q("TILDE"),N[C.TILDE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAIN]+"$",q("TILDELOOSE"),N[C.TILDELOOSE]="^"+N[C.LONETILDE]+N[C.XRANGEPLAINLOOSE]+"$",q("LONECARET"),N[C.LONECARET]="(?:\\^)",q("CARETTRIM"),N[C.CARETTRIM]="(\\s*)"+N[C.LONECARET]+"\\s+",L[C.CARETTRIM]=new RegExp(N[C.CARETTRIM],"g"),q("CARET"),N[C.CARET]="^"+N[C.LONECARET]+N[C.XRANGEPLAIN]+"$",q("CARETLOOSE"),N[C.CARETLOOSE]="^"+N[C.LONECARET]+N[C.XRANGEPLAINLOOSE]+"$",q("COMPARATORLOOSE"),N[C.COMPARATORLOOSE]="^"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+")$|^$",q("COMPARATOR"),N[C.COMPARATOR]="^"+N[C.GTLT]+"\\s*("+N[C.FULLPLAIN]+")$|^$",q("COMPARATORTRIM"),N[C.COMPARATORTRIM]="(\\s*)"+N[C.GTLT]+"\\s*("+N[C.LOOSEPLAIN]+"|"+N[C.XRANGEPLAIN]+")",L[C.COMPARATORTRIM]=new RegExp(N[C.COMPARATORTRIM],"g"),q("HYPHENRANGE"),N[C.HYPHENRANGE]="^\\s*("+N[C.XRANGEPLAIN]+")\\s+-\\s+("+N[C.XRANGEPLAIN]+")\\s*$",q("HYPHENRANGELOOSE"),N[C.HYPHENRANGELOOSE]="^\\s*("+N[C.XRANGEPLAINLOOSE]+")\\s+-\\s+("+N[C.XRANGEPLAINLOOSE]+")\\s*$",q("STAR"),N[C.STAR]="(<|>)?=?\\s*\\*";for(var W=0;W256||!(ae.loose?L[C.LOOSE]:L[C.FULL]).test(Q))return null;try{return new m(Q,ae)}catch(Ce){return null}}function m(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof m){if(Q.loose===ae.loose)return Q;Q=Q.version}else if(typeof Q!="string")throw new TypeError("Invalid Version: "+Q);if(Q.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof m))return new m(Q,ae);t("SemVer",Q,ae),this.options=ae,this.loose=!!ae.loose;var Ce=Q.trim().match(ae.loose?L[C.LOOSE]:L[C.FULL]);if(!Ce)throw new TypeError("Invalid Version: "+Q);if(this.raw=Q,this.major=+Ce[1],this.minor=+Ce[2],this.patch=+Ce[3],this.major>k||this.major<0)throw new TypeError("Invalid major version");if(this.minor>k||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>k||this.patch<0)throw new TypeError("Invalid patch version");Ce[4]?this.prerelease=Ce[4].split(".").map(function(ue){if(/^[0-9]+$/.test(ue)){var je=+ue;if(je>=0&&je=0;)typeof this.prerelease[Ce]=="number"&&(this.prerelease[Ce]++,Ce=-2);Ce===-1&&this.prerelease.push(0)}ae&&(this.prerelease[0]===ae?isNaN(this.prerelease[1])&&(this.prerelease=[ae,0]):this.prerelease=[ae,0]);break;default:throw new Error("invalid increment argument: "+Q)}return this.format(),this.raw=this.version,this},o.inc=function(Q,ae,Ce,ue){typeof Ce=="string"&&(ue=Ce,Ce=void 0);try{return new m(Q,Ce).inc(ae,ue).version}catch(je){return null}},o.diff=function(Q,ae){if(pe(Q,ae))return null;var Ce=ne(Q),ue=ne(ae),je="";if(Ce.prerelease.length||ue.prerelease.length){je="pre";var ct="prerelease"}for(var At in Ce)if((At==="major"||At==="minor"||At==="patch")&&Ce[At]!==ue[At])return je+At;return ct},o.compareIdentifiers=Se;var we=/^[0-9]+$/;function Se(Q,ae){var Ce=we.test(Q),ue=we.test(ae);return Ce&&ue&&(Q=+Q,ae=+ae),Q===ae?0:Ce&&!ue?-1:ue&&!Ce?1:Q0}function ze(Q,ae,Ce){return he(Q,ae,Ce)<0}function pe(Q,ae,Ce){return he(Q,ae,Ce)===0}function Oe(Q,ae,Ce){return he(Q,ae,Ce)!==0}function le(Q,ae,Ce){return he(Q,ae,Ce)>=0}function Ue(Q,ae,Ce){return he(Q,ae,Ce)<=0}function Ge(Q,ae,Ce,ue){switch(ae){case"===":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q===Ce;case"!==":return E(Q)==="object"&&(Q=Q.version),E(Ce)==="object"&&(Ce=Ce.version),Q!==Ce;case"":case"=":case"==":return pe(Q,Ce,ue);case"!=":return Oe(Q,Ce,ue);case">":return ge(Q,Ce,ue);case">=":return le(Q,Ce,ue);case"<":return ze(Q,Ce,ue);case"<=":return Ue(Q,Ce,ue);default:throw new TypeError("Invalid operator: "+ae)}}function rt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof rt){if(Q.loose===!!ae.loose)return Q;Q=Q.value}if(!(this instanceof rt))return new rt(Q,ae);t("comparator",Q,ae),this.options=ae,this.loose=!!ae.loose,this.parse(Q),this.semver===wt?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}o.rcompareIdentifiers=function(Q,ae){return Se(ae,Q)},o.major=function(Q,ae){return new m(Q,ae).major},o.minor=function(Q,ae){return new m(Q,ae).minor},o.patch=function(Q,ae){return new m(Q,ae).patch},o.compare=he,o.compareLoose=function(Q,ae){return he(Q,ae,!0)},o.compareBuild=function(Q,ae,Ce){var ue=new m(Q,Ce),je=new m(ae,Ce);return ue.compare(je)||ue.compareBuild(je)},o.rcompare=function(Q,ae,Ce){return he(ae,Q,Ce)},o.sort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(Ce,ue,ae)})},o.rsort=function(Q,ae){return Q.sort(function(Ce,ue){return o.compareBuild(ue,Ce,ae)})},o.gt=ge,o.lt=ze,o.eq=pe,o.neq=Oe,o.gte=le,o.lte=Ue,o.cmp=Ge,o.Comparator=rt;var wt={};function xt(Q,ae){if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),Q instanceof xt)return Q.loose===!!ae.loose&&Q.includePrerelease===!!ae.includePrerelease?Q:new xt(Q.raw,ae);if(Q instanceof rt)return new xt(Q.value,ae);if(!(this instanceof xt))return new xt(Q,ae);if(this.options=ae,this.loose=!!ae.loose,this.includePrerelease=!!ae.includePrerelease,this.raw=Q,this.set=Q.split(/\s*\|\|\s*/).map(function(Ce){return this.parseRange(Ce.trim())},this).filter(function(Ce){return Ce.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+Q);this.format()}function $e(Q,ae){for(var Ce=!0,ue=Q.slice(),je=ue.pop();Ce&&ue.length;)Ce=ue.every(function(ct){return je.intersects(ct,ae)}),je=ue.pop();return Ce}function ft(Q){return!Q||Q.toLowerCase()==="x"||Q==="*"}function Ke(Q,ae,Ce,ue,je,ct,At,en,ln,An,nr,un,Wt){return((ae=ft(Ce)?"":ft(ue)?">="+Ce+".0.0":ft(je)?">="+Ce+"."+ue+".0":">="+ae)+" "+(en=ft(ln)?"":ft(An)?"<"+(+ln+1)+".0.0":ft(nr)?"<"+ln+"."+(+An+1)+".0":un?"<="+ln+"."+An+"."+nr+"-"+un:"<="+en)).trim()}function jt(Q,ae,Ce){for(var ue=0;ue0){var je=Q[ue].semver;if(je.major===ae.major&&je.minor===ae.minor&&je.patch===ae.patch)return!0}return!1}return!0}function $t(Q,ae,Ce){try{ae=new xt(ae,Ce)}catch(ue){return!1}return ae.test(Q)}function at(Q,ae,Ce,ue){var je,ct,At,en,ln;switch(Q=new m(Q,ue),ae=new xt(ae,ue),Ce){case">":je=ge,ct=Ue,At=ze,en=">",ln=">=";break;case"<":je=ze,ct=le,At=ge,en="<",ln="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if($t(Q,ae,ue))return!1;for(var An=0;An=0.0.0")),un=un||vr,Wt=Wt||vr,je(vr.semver,un.semver,ue)?un=vr:At(vr.semver,Wt.semver,ue)&&(Wt=vr)}),un.operator===en||un.operator===ln||(!Wt.operator||Wt.operator===en)&&ct(Q,Wt.semver)||Wt.operator===ln&&At(Q,Wt.semver))return!1}return!0}rt.prototype.parse=function(Q){var ae=this.options.loose?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],Ce=Q.match(ae);if(!Ce)throw new TypeError("Invalid comparator: "+Q);this.operator=Ce[1]!==void 0?Ce[1]:"",this.operator==="="&&(this.operator=""),Ce[2]?this.semver=new m(Ce[2],this.options.loose):this.semver=wt},rt.prototype.toString=function(){return this.value},rt.prototype.test=function(Q){if(t("Comparator.test",Q,this.options.loose),this.semver===wt||Q===wt)return!0;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(ae){return!1}return Ge(Q,this.operator,this.semver,this.options)},rt.prototype.intersects=function(Q,ae){if(!(Q instanceof rt))throw new TypeError("a Comparator is required");var Ce;if(ae&&E(ae)==="object"||(ae={loose:!!ae,includePrerelease:!1}),this.operator==="")return this.value===""||(Ce=new xt(Q.value,ae),$t(this.value,Ce,ae));if(Q.operator==="")return Q.value===""||(Ce=new xt(this.value,ae),$t(Q.semver,Ce,ae));var ue=!(this.operator!==">="&&this.operator!==">"||Q.operator!==">="&&Q.operator!==">"),je=!(this.operator!=="<="&&this.operator!=="<"||Q.operator!=="<="&&Q.operator!=="<"),ct=this.semver.version===Q.semver.version,At=!(this.operator!==">="&&this.operator!=="<="||Q.operator!==">="&&Q.operator!=="<="),en=Ge(this.semver,"<",Q.semver,ae)&&(this.operator===">="||this.operator===">")&&(Q.operator==="<="||Q.operator==="<"),ln=Ge(this.semver,">",Q.semver,ae)&&(this.operator==="<="||this.operator==="<")&&(Q.operator===">="||Q.operator===">");return ue||je||ct&&At||en||ln},o.Range=xt,xt.prototype.format=function(){return this.range=this.set.map(function(Q){return Q.join(" ").trim()}).join("||").trim(),this.range},xt.prototype.toString=function(){return this.range},xt.prototype.parseRange=function(Q){var ae=this.options.loose;Q=Q.trim();var Ce=ae?L[C.HYPHENRANGELOOSE]:L[C.HYPHENRANGE];Q=Q.replace(Ce,Ke),t("hyphen replace",Q),Q=Q.replace(L[C.COMPARATORTRIM],"$1$2$3"),t("comparator trim",Q,L[C.COMPARATORTRIM]),Q=(Q=(Q=Q.replace(L[C.TILDETRIM],"$1~")).replace(L[C.CARETTRIM],"$1^")).split(/\s+/).join(" ");var ue=ae?L[C.COMPARATORLOOSE]:L[C.COMPARATOR],je=Q.split(" ").map(function(ct){return function(At,en){return t("comp",At,en),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){t("caret",un,Wt);var vr=Wt.loose?L[C.CARETLOOSE]:L[C.CARET];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("caret",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=Ut==="0"?">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+".0 <"+(+Ut+1)+".0.0":Fr?(t("replaceCaret pr",Fr),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+(+Ut+1)+".0.0"):(t("no pr"),ur=Ut==="0"?Vn==="0"?">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+Vn+"."+(+fr+1):">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0":">="+Ut+"."+Vn+"."+fr+" <"+(+Ut+1)+".0.0"),t("caret return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("caret",At),At=function(ln,An){return ln.trim().split(/\s+/).map(function(nr){return function(un,Wt){var vr=Wt.loose?L[C.TILDELOOSE]:L[C.TILDE];return un.replace(vr,function(w,Ut,Vn,fr,Fr){var ur;return t("tilde",un,w,Ut,Vn,fr,Fr),ft(Ut)?ur="":ft(Vn)?ur=">="+Ut+".0.0 <"+(+Ut+1)+".0.0":ft(fr)?ur=">="+Ut+"."+Vn+".0 <"+Ut+"."+(+Vn+1)+".0":Fr?(t("replaceTilde pr",Fr),ur=">="+Ut+"."+Vn+"."+fr+"-"+Fr+" <"+Ut+"."+(+Vn+1)+".0"):ur=">="+Ut+"."+Vn+"."+fr+" <"+Ut+"."+(+Vn+1)+".0",t("tilde return",ur),ur})}(nr,An)}).join(" ")}(At,en),t("tildes",At),At=function(ln,An){return t("replaceXRanges",ln,An),ln.split(/\s+/).map(function(nr){return function(un,Wt){un=un.trim();var vr=Wt.loose?L[C.XRANGELOOSE]:L[C.XRANGE];return un.replace(vr,function(w,Ut,Vn,fr,Fr,ur){t("xRange",un,w,Ut,Vn,fr,Fr,ur);var br=ft(Vn),Kt=br||ft(fr),vu=Kt||ft(Fr),a0=vu;return Ut==="="&&a0&&(Ut=""),ur=Wt.includePrerelease?"-0":"",br?w=Ut===">"||Ut==="<"?"<0.0.0-0":"*":Ut&&a0?(Kt&&(fr=0),Fr=0,Ut===">"?(Ut=">=",Kt?(Vn=+Vn+1,fr=0,Fr=0):(fr=+fr+1,Fr=0)):Ut==="<="&&(Ut="<",Kt?Vn=+Vn+1:fr=+fr+1),w=Ut+Vn+"."+fr+"."+Fr+ur):Kt?w=">="+Vn+".0.0"+ur+" <"+(+Vn+1)+".0.0"+ur:vu&&(w=">="+Vn+"."+fr+".0"+ur+" <"+Vn+"."+(+fr+1)+".0"+ur),t("xRange return",w),w})}(nr,An)}).join(" ")}(At,en),t("xrange",At),At=function(ln,An){return t("replaceStars",ln,An),ln.trim().replace(L[C.STAR],"")}(At,en),t("stars",At),At}(ct,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(je=je.filter(function(ct){return!!ct.match(ue)})),je=je.map(function(ct){return new rt(ct,this.options)},this)},xt.prototype.intersects=function(Q,ae){if(!(Q instanceof xt))throw new TypeError("a Range is required");return this.set.some(function(Ce){return $e(Ce,ae)&&Q.set.some(function(ue){return $e(ue,ae)&&Ce.every(function(je){return ue.every(function(ct){return je.intersects(ct,ae)})})})})},o.toComparators=function(Q,ae){return new xt(Q,ae).set.map(function(Ce){return Ce.map(function(ue){return ue.value}).join(" ").trim().split(" ")})},xt.prototype.test=function(Q){if(!Q)return!1;if(typeof Q=="string")try{Q=new m(Q,this.options)}catch(Ce){return!1}for(var ae=0;ae":ct.prerelease.length===0?ct.patch++:ct.prerelease.push(0),ct.raw=ct.format();case"":case">=":Ce&&!ge(Ce,ct)||(Ce=ct);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+je.operator)}});return Ce&&Q.test(Ce)?Ce:null},o.validRange=function(Q,ae){try{return new xt(Q,ae).range||"*"}catch(Ce){return null}},o.ltr=function(Q,ae,Ce){return at(Q,ae,"<",Ce)},o.gtr=function(Q,ae,Ce){return at(Q,ae,">",Ce)},o.outside=at,o.prerelease=function(Q,ae){var Ce=ne(Q,ae);return Ce&&Ce.prerelease.length?Ce.prerelease:null},o.intersects=function(Q,ae,Ce){return Q=new xt(Q,Ce),ae=new xt(ae,Ce),Q.intersects(ae)},o.coerce=function(Q,ae){if(Q instanceof m)return Q;if(typeof Q=="number"&&(Q=String(Q)),typeof Q!="string")return null;var Ce=null;if((ae=ae||{}).rtl){for(var ue;(ue=L[C.COERCERTL].exec(Q))&&(!Ce||Ce.index+Ce[0].length!==Q.length);)Ce&&ue.index+ue[0].length===Ce.index+Ce[0].length||(Ce=ue),L[C.COERCERTL].lastIndex=ue.index+ue[1].length+ue[2].length;L[C.COERCERTL].lastIndex=-1}else Ce=Q.match(L[C.COERCE]);return Ce===null?null:ne(Ce[2]+"."+(Ce[3]||"0")+"."+(Ce[4]||"0"),ae)}}).call(this,f(5))},function(i,o){function f(E){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(E)}var p;p=function(){return this}();try{p=p||new Function("return this")()}catch(E){(typeof window=="undefined"?"undefined":f(window))==="object"&&(p=window)}i.exports=p},function(i,o){var f,p,E=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function k(){throw new Error("clearTimeout has not been defined")}function L(Se){if(f===setTimeout)return setTimeout(Se,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(Se,0);try{return f(Se,0)}catch(he){try{return f.call(null,Se,0)}catch(ge){return f.call(this,Se,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(Se){f=t}try{p=typeof clearTimeout=="function"?clearTimeout:k}catch(Se){p=k}})();var N,C=[],U=!1,q=-1;function W(){U&&N&&(U=!1,N.length?C=N.concat(C):q=-1,C.length&&ne())}function ne(){if(!U){var Se=L(W);U=!0;for(var he=C.length;he;){for(N=C,C=[];++q1)for(var ge=1;gethis[k])return Oe(this,this[m].get($e)),!1;var at=this[m].get($e).value;return this[q]&&(this[W]||this[q]($e,at.value)),at.now=jt,at.maxAge=Ke,at.value=ft,this[L]+=$t-at.length,at.length=$t,this.get($e),pe(this),!0}var Q=new le($e,ft,$t,jt,Ke);return Q.length>this[k]?(this[q]&&this[q]($e,ft),!1):(this[L]+=Q.length,this[ne].unshift(Q),this[m].set($e,this[ne].head),pe(this),!0)}},{key:"has",value:function($e){if(!this[m].has($e))return!1;var ft=this[m].get($e).value;return!ze(this,ft)}},{key:"get",value:function($e){return ge(this,$e,!0)}},{key:"peek",value:function($e){return ge(this,$e,!1)}},{key:"pop",value:function(){var $e=this[ne].tail;return $e?(Oe(this,$e),$e.value):null}},{key:"del",value:function($e){Oe(this,this[m].get($e))}},{key:"load",value:function($e){this.reset();for(var ft=Date.now(),Ke=$e.length-1;Ke>=0;Ke--){var jt=$e[Ke],$t=jt.e||0;if($t===0)this.set(jt.k,jt.v);else{var at=$t-ft;at>0&&this.set(jt.k,jt.v,at)}}}},{key:"prune",value:function(){var $e=this;this[m].forEach(function(ft,Ke){return ge($e,Ke,!1)})}},{key:"max",set:function($e){if(typeof $e!="number"||$e<0)throw new TypeError("max must be a non-negative number");this[k]=$e||1/0,pe(this)},get:function(){return this[k]}},{key:"allowStale",set:function($e){this[C]=!!$e},get:function(){return this[C]}},{key:"maxAge",set:function($e){if(typeof $e!="number")throw new TypeError("maxAge must be a non-negative number");this[U]=$e,pe(this)},get:function(){return this[U]}},{key:"lengthCalculator",set:function($e){var ft=this;typeof $e!="function"&&($e=Se),$e!==this[N]&&(this[N]=$e,this[L]=0,this[ne].forEach(function(Ke){Ke.length=ft[N](Ke.value,Ke.key),ft[L]+=Ke.length})),pe(this)},get:function(){return this[N]}},{key:"length",get:function(){return this[L]}},{key:"itemCount",get:function(){return this[ne].length}}])&&E(rt.prototype,wt),xt&&E(rt,xt),Ge}(),ge=function(Ge,rt,wt){var xt=Ge[m].get(rt);if(xt){var $e=xt.value;if(ze(Ge,$e)){if(Oe(Ge,xt),!Ge[C])return}else wt&&(Ge[we]&&(xt.value.now=Date.now()),Ge[ne].unshiftNode(xt));return $e.value}},ze=function(Ge,rt){if(!rt||!rt.maxAge&&!Ge[U])return!1;var wt=Date.now()-rt.now;return rt.maxAge?wt>rt.maxAge:Ge[U]&&wt>Ge[U]},pe=function(Ge){if(Ge[L]>Ge[k])for(var rt=Ge[ne].tail;Ge[L]>Ge[k]&&rt!==null;){var wt=rt.prev;Oe(Ge,rt),rt=wt}},Oe=function(Ge,rt){if(rt){var wt=rt.value;Ge[q]&&Ge[q](wt.key,wt.value),Ge[L]-=wt.length,Ge[m].delete(wt.key),Ge[ne].removeNode(rt)}},le=function Ge(rt,wt,xt,$e,ft){p(this,Ge),this.key=rt,this.value=wt,this.length=xt,this.now=$e,this.maxAge=ft||0},Ue=function(Ge,rt,wt,xt){var $e=wt.value;ze(Ge,$e)&&(Oe(Ge,wt),Ge[C]||($e=void 0)),$e&&rt.call(xt,$e.value,$e.key,Ge)};i.exports=he},function(i,o,f){(function(p){function E(t){return(E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,k,L,N={};return N.copy=function(){var C=!1,U=null,q=!1;function W(){C=!1,U=null,q&&window.getSelection().removeAllRanges(),q=!1}return document.addEventListener("copy",function(ne){if(C){for(var m in U)ne.clipboardData.setData(m,U[m]);ne.preventDefault()}}),function(ne){return new Promise(function(m,we){C=!0,typeof ne=="string"?U={"text/plain":ne}:ne instanceof Node?U={"text/html":new XMLSerializer().serializeToString(ne)}:ne instanceof Object?U=ne:we("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function Se(he){try{if(document.execCommand("copy"))W(),m();else{if(he)throw W(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var ge=document.getSelection();if(!document.queryCommandEnabled("copy")&&ge.isCollapsed){var ze=document.createRange();ze.selectNodeContents(document.body),ge.removeAllRanges(),ge.addRange(ze),q=!0}})(),Se(!0)}}catch(ge){W(),we(ge)}}(!1)})}}(),N.paste=(L=!1,document.addEventListener("paste",function(C){if(L){L=!1,C.preventDefault();var U=t;t=null,U(C.clipboardData.getData(k))}}),function(C){return new Promise(function(U,q){L=!0,t=U,k=C||"text/plain";try{document.execCommand("paste")||(L=!1,q(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(W){L=!1,q(new Error(W))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(C){function U(pe,Oe){return function(){pe.apply(Oe,arguments)}}function q(pe){if(E(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof pe!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],he(pe,U(ne,this),U(m,this))}function W(pe){var Oe=this;return this._state===null?void this._deferreds.push(pe):void ge(function(){var le=Oe._state?pe.onFulfilled:pe.onRejected;if(le!==null){var Ue;try{Ue=le(Oe._value)}catch(Ge){return void pe.reject(Ge)}pe.resolve(Ue)}else(Oe._state?pe.resolve:pe.reject)(Oe._value)})}function ne(pe){try{if(pe===this)throw new TypeError("A promise cannot be resolved with itself.");if(pe&&(E(pe)=="object"||typeof pe=="function")){var Oe=pe.then;if(typeof Oe=="function")return void he(U(Oe,pe),U(ne,this),U(m,this))}this._state=!0,this._value=pe,we.call(this)}catch(le){m.call(this,le)}}function m(pe){this._state=!1,this._value=pe,we.call(this)}function we(){for(var pe=0,Oe=this._deferreds.length;Oe>pe;pe++)W.call(this,this._deferreds[pe]);this._deferreds=null}function Se(pe,Oe,le,Ue){this.onFulfilled=typeof pe=="function"?pe:null,this.onRejected=typeof Oe=="function"?Oe:null,this.resolve=le,this.reject=Ue}function he(pe,Oe,le){var Ue=!1;try{pe(function(Ge){Ue||(Ue=!0,Oe(Ge))},function(Ge){Ue||(Ue=!0,le(Ge))})}catch(Ge){if(Ue)return;Ue=!0,le(Ge)}}var ge=q.immediateFn||typeof p=="function"&&p||function(pe){setTimeout(pe,1)},ze=Array.isArray||function(pe){return Object.prototype.toString.call(pe)==="[object Array]"};q.prototype.catch=function(pe){return this.then(null,pe)},q.prototype.then=function(pe,Oe){var le=this;return new q(function(Ue,Ge){W.call(le,new Se(pe,Oe,Ue,Ge))})},q.all=function(){var pe=Array.prototype.slice.call(arguments.length===1&&ze(arguments[0])?arguments[0]:arguments);return new q(function(Oe,le){function Ue(wt,xt){try{if(xt&&(E(xt)=="object"||typeof xt=="function")){var $e=xt.then;if(typeof $e=="function")return void $e.call(xt,function(ft){Ue(wt,ft)},le)}pe[wt]=xt,--Ge==0&&Oe(pe)}catch(ft){le(ft)}}if(pe.length===0)return Oe([]);for(var Ge=pe.length,rt=0;rtUe;Ue++)pe[Ue].then(Oe,le)})},i.exports?i.exports=q:C.Promise||(C.Promise=q)}(this),N.copy=function(C){return new Promise(function(U,q){if(typeof C!="string"&&!("text/plain"in C))throw new Error("You must provide a text/plain type.");var W=typeof C=="string"?C:C["text/plain"];window.clipboardData.setData("Text",W)?U():q(new Error("Copying was rejected."))})},N.paste=function(){return new Promise(function(C,U){var q=window.clipboardData.getData("Text");q?C(q):U(new Error("Pasting was rejected."))})}),N}()}).call(this,f(13).setImmediate)},function(i,o,f){"use strict";i.exports=f(15)},function(i,o,f){"use strict";f.r(o),o.default=`:root { - /** - * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() - */ - - /* Light theme */ - --light-color-attribute-name: #ef6632; - --light-color-attribute-name-not-editable: #23272f; - --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); - --light-color-attribute-value: #1a1aa6; - --light-color-attribute-value-inverted: #ffffff; - --light-color-attribute-editable-value: #1a1aa6; - --light-color-background: #ffffff; - --light-color-background-hover: rgba(0, 136, 250, 0.1); - --light-color-background-inactive: #e5e5e5; - --light-color-background-invalid: #fff0f0; - --light-color-background-selected: #0088fa; - --light-color-button-background: #ffffff; - --light-color-button-background-focus: #ededed; - --light-color-button: #5f6673; - --light-color-button-disabled: #cfd1d5; - --light-color-button-active: #0088fa; - --light-color-button-focus: #23272f; - --light-color-button-hover: #23272f; - --light-color-border: #eeeeee; - --light-color-commit-did-not-render-fill: #cfd1d5; - --light-color-commit-did-not-render-fill-text: #000000; - --light-color-commit-did-not-render-pattern: #cfd1d5; - --light-color-commit-did-not-render-pattern-text: #333333; - --light-color-commit-gradient-0: #37afa9; - --light-color-commit-gradient-1: #63b19e; - --light-color-commit-gradient-2: #80b393; - --light-color-commit-gradient-3: #97b488; - --light-color-commit-gradient-4: #abb67d; - --light-color-commit-gradient-5: #beb771; - --light-color-commit-gradient-6: #cfb965; - --light-color-commit-gradient-7: #dfba57; - --light-color-commit-gradient-8: #efbb49; - --light-color-commit-gradient-9: #febc38; - --light-color-commit-gradient-text: #000000; - --light-color-component-name: #6a51b2; - --light-color-component-name-inverted: #ffffff; - --light-color-component-badge-background: rgba(0, 0, 0, 0.1); - --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); - --light-color-component-badge-count: #777d88; - --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --light-color-context-background: rgba(0,0,0,.9); - --light-color-context-background-hover: rgba(255, 255, 255, 0.1); - --light-color-context-background-selected: #178fb9; - --light-color-context-border: #3d424a; - --light-color-context-text: #ffffff; - --light-color-context-text-selected: #ffffff; - --light-color-dim: #777d88; - --light-color-dimmer: #cfd1d5; - --light-color-dimmest: #eff0f1; - --light-color-error-background: hsl(0, 100%, 97%); - --light-color-error-border: hsl(0, 100%, 92%); - --light-color-error-text: #ff0000; - --light-color-expand-collapse-toggle: #777d88; - --light-color-link: #0000ff; - --light-color-modal-background: rgba(255, 255, 255, 0.75); - --light-color-record-active: #fc3a4b; - --light-color-record-hover: #3578e5; - --light-color-record-inactive: #0088fa; - --light-color-scroll-thumb: #c2c2c2; - --light-color-scroll-track: #fafafa; - --light-color-search-match: yellow; - --light-color-search-match-current: #f7923b; - --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); - --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); - --light-color-shadow: rgba(0, 0, 0, 0.25); - --light-color-tab-selected-border: #0088fa; - --light-color-text: #000000; - --light-color-text-invalid: #ff0000; - --light-color-text-selected: #ffffff; - --light-color-toggle-background-invalid: #fc3a4b; - --light-color-toggle-background-on: #0088fa; - --light-color-toggle-background-off: #cfd1d5; - --light-color-toggle-text: #ffffff; - --light-color-tooltip-background: rgba(0, 0, 0, 0.9); - --light-color-tooltip-text: #ffffff; - - /* Dark theme */ - --dark-color-attribute-name: #9d87d2; - --dark-color-attribute-name-not-editable: #ededed; - --dark-color-attribute-name-inverted: #282828; - --dark-color-attribute-value: #cedae0; - --dark-color-attribute-value-inverted: #ffffff; - --dark-color-attribute-editable-value: yellow; - --dark-color-background: #282c34; - --dark-color-background-hover: rgba(255, 255, 255, 0.1); - --dark-color-background-inactive: #3d424a; - --dark-color-background-invalid: #5c0000; - --dark-color-background-selected: #178fb9; - --dark-color-button-background: #282c34; - --dark-color-button-background-focus: #3d424a; - --dark-color-button: #afb3b9; - --dark-color-button-active: #61dafb; - --dark-color-button-disabled: #4f5766; - --dark-color-button-focus: #a2e9fc; - --dark-color-button-hover: #ededed; - --dark-color-border: #3d424a; - --dark-color-commit-did-not-render-fill: #777d88; - --dark-color-commit-did-not-render-fill-text: #000000; - --dark-color-commit-did-not-render-pattern: #666c77; - --dark-color-commit-did-not-render-pattern-text: #ffffff; - --dark-color-commit-gradient-0: #37afa9; - --dark-color-commit-gradient-1: #63b19e; - --dark-color-commit-gradient-2: #80b393; - --dark-color-commit-gradient-3: #97b488; - --dark-color-commit-gradient-4: #abb67d; - --dark-color-commit-gradient-5: #beb771; - --dark-color-commit-gradient-6: #cfb965; - --dark-color-commit-gradient-7: #dfba57; - --dark-color-commit-gradient-8: #efbb49; - --dark-color-commit-gradient-9: #febc38; - --dark-color-commit-gradient-text: #000000; - --dark-color-component-name: #61dafb; - --dark-color-component-name-inverted: #282828; - --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); - --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); - --dark-color-component-badge-count: #8f949d; - --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --dark-color-context-background: rgba(255,255,255,.9); - --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); - --dark-color-context-background-selected: #0088fa; - --dark-color-context-border: #eeeeee; - --dark-color-context-text: #000000; - --dark-color-context-text-selected: #ffffff; - --dark-color-dim: #8f949d; - --dark-color-dimmer: #777d88; - --dark-color-dimmest: #4f5766; - --dark-color-error-background: #200; - --dark-color-error-border: #900; - --dark-color-error-text: #f55; - --dark-color-expand-collapse-toggle: #8f949d; - --dark-color-link: #61dafb; - --dark-color-modal-background: rgba(0, 0, 0, 0.75); - --dark-color-record-active: #fc3a4b; - --dark-color-record-hover: #a2e9fc; - --dark-color-record-inactive: #61dafb; - --dark-color-scroll-thumb: #afb3b9; - --dark-color-scroll-track: #313640; - --dark-color-search-match: yellow; - --dark-color-search-match-current: #f7923b; - --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); - --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); - --dark-color-shadow: rgba(0, 0, 0, 0.5); - --dark-color-tab-selected-border: #178fb9; - --dark-color-text: #ffffff; - --dark-color-text-invalid: #ff8080; - --dark-color-text-selected: #ffffff; - --dark-color-toggle-background-invalid: #fc3a4b; - --dark-color-toggle-background-on: #178fb9; - --dark-color-toggle-background-off: #777d88; - --dark-color-toggle-text: #ffffff; - --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); - --dark-color-tooltip-text: #000000; - - /* Font smoothing */ - --light-font-smoothing: auto; - --dark-font-smoothing: antialiased; - --font-smoothing: auto; - - /* Compact density */ - --compact-font-size-monospace-small: 9px; - --compact-font-size-monospace-normal: 11px; - --compact-font-size-monospace-large: 15px; - --compact-font-size-sans-small: 10px; - --compact-font-size-sans-normal: 12px; - --compact-font-size-sans-large: 14px; - --compact-line-height-data: 18px; - --compact-root-font-size: 16px; - - /* Comfortable density */ - --comfortable-font-size-monospace-small: 10px; - --comfortable-font-size-monospace-normal: 13px; - --comfortable-font-size-monospace-large: 17px; - --comfortable-font-size-sans-small: 12px; - --comfortable-font-size-sans-normal: 14px; - --comfortable-font-size-sans-large: 16px; - --comfortable-line-height-data: 22px; - --comfortable-root-font-size: 20px; - - /* GitHub.com system fonts */ - --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, - Courier, monospace; - --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, - Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; - - /* Constant values shared between JS and CSS */ - --interaction-commit-size: 10px; - --interaction-label-width: 200px; -} -`},function(i,o,f){"use strict";function p(N){var C=this;if(C instanceof p||(C=new p),C.tail=null,C.head=null,C.length=0,N&&typeof N.forEach=="function")N.forEach(function(W){C.push(W)});else if(arguments.length>0)for(var U=0,q=arguments.length;U1)U=C;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");q=this.head.next,U=this.head.value}for(var W=0;q!==null;W++)U=N(U,q.value,W),q=q.next;return U},p.prototype.reduceReverse=function(N,C){var U,q=this.tail;if(arguments.length>1)U=C;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");q=this.tail.prev,U=this.tail.value}for(var W=this.length-1;q!==null;W--)U=N(U,q.value,W),q=q.prev;return U},p.prototype.toArray=function(){for(var N=new Array(this.length),C=0,U=this.head;U!==null;C++)N[C]=U.value,U=U.next;return N},p.prototype.toArrayReverse=function(){for(var N=new Array(this.length),C=0,U=this.tail;U!==null;C++)N[C]=U.value,U=U.prev;return N},p.prototype.slice=function(N,C){(C=C||this.length)<0&&(C+=this.length),(N=N||0)<0&&(N+=this.length);var U=new p;if(Cthis.length&&(C=this.length);for(var q=0,W=this.head;W!==null&&qthis.length&&(C=this.length);for(var q=this.length,W=this.tail;W!==null&&q>C;q--)W=W.prev;for(;W!==null&&q>N;q--,W=W.prev)U.push(W.value);return U},p.prototype.splice=function(N,C){N>this.length&&(N=this.length-1),N<0&&(N=this.length+N);for(var U=0,q=this.head;q!==null&&U=0&&(L._idleTimeoutId=setTimeout(function(){L._onTimeout&&L._onTimeout()},N))},f(14),o.setImmediate=typeof self!="undefined"&&self.setImmediate||p!==void 0&&p.setImmediate||this&&this.setImmediate,o.clearImmediate=typeof self!="undefined"&&self.clearImmediate||p!==void 0&&p.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,o,f){(function(p,E){(function(t,k){"use strict";if(!t.setImmediate){var L,N,C,U,q,W=1,ne={},m=!1,we=t.document,Se=Object.getPrototypeOf&&Object.getPrototypeOf(t);Se=Se&&Se.setTimeout?Se:t,{}.toString.call(t.process)==="[object process]"?L=function(ze){E.nextTick(function(){ge(ze)})}:function(){if(t.postMessage&&!t.importScripts){var ze=!0,pe=t.onmessage;return t.onmessage=function(){ze=!1},t.postMessage("","*"),t.onmessage=pe,ze}}()?(U="setImmediate$"+Math.random()+"$",q=function(ze){ze.source===t&&typeof ze.data=="string"&&ze.data.indexOf(U)===0&&ge(+ze.data.slice(U.length))},t.addEventListener?t.addEventListener("message",q,!1):t.attachEvent("onmessage",q),L=function(ze){t.postMessage(U+ze,"*")}):t.MessageChannel?((C=new MessageChannel).port1.onmessage=function(ze){ge(ze.data)},L=function(ze){C.port2.postMessage(ze)}):we&&"onreadystatechange"in we.createElement("script")?(N=we.documentElement,L=function(ze){var pe=we.createElement("script");pe.onreadystatechange=function(){ge(ze),pe.onreadystatechange=null,N.removeChild(pe),pe=null},N.appendChild(pe)}):L=function(ze){setTimeout(ge,0,ze)},Se.setImmediate=function(ze){typeof ze!="function"&&(ze=new Function(""+ze));for(var pe=new Array(arguments.length-1),Oe=0;Oeae;ae++)if((Q=he(at,jt,ae))!==-1){Se=ae,jt=Q;break e}jt=-1}}e:{if(at=$t,(Q=W().get(Ke.primitive))!==void 0){for(ae=0;aejt-at?null:$t.slice(at,jt-1))!==null){if(jt=0,rt!==null){for(;jt<$t.length&&jtjt;rt--)wt=$e.pop()}for(rt=$t.length-jt-1;1<=rt;rt--)jt=[],wt.push({id:null,isStateEditable:!1,name:ze($t[rt-1].functionName),value:void 0,subHooks:jt}),$e.push(wt),wt=jt;rt=$t}jt=($t=Ke.primitive)==="Context"||$t==="DebugValue"?null:xt++,wt.push({id:jt,isStateEditable:$t==="Reducer"||$t==="State",name:$t,value:Ke.value,subHooks:[]})}return function Ce(ue,je){for(var ct=[],At=0;At-1&&(ne=ne.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var m=ne.replace(/^\s+/,"").replace(/\(eval code/g,"("),we=m.match(/ (\((.+):(\d+):(\d+)\)$)/),Se=(m=we?m.replace(we[0],""):m).split(/\s+/).slice(1),he=this.extractLocation(we?we[1]:Se.pop()),ge=Se.join(" ")||void 0,ze=["eval",""].indexOf(he[0])>-1?void 0:he[0];return new N({functionName:ge,fileName:ze,lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseFFOrSafari:function(W){return W.stack.split(` -`).filter(function(ne){return!ne.match(q)},this).map(function(ne){if(ne.indexOf(" > eval")>-1&&(ne=ne.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),ne.indexOf("@")===-1&&ne.indexOf(":")===-1)return new N({functionName:ne});var m=/((.*".+"[^@]*)?[^@]*)(?:@)/,we=ne.match(m),Se=we&&we[1]?we[1]:void 0,he=this.extractLocation(ne.replace(m,""));return new N({functionName:Se,fileName:he[0],lineNumber:he[1],columnNumber:he[2],source:ne})},this)},parseOpera:function(W){return!W.stacktrace||W.message.indexOf(` -`)>-1&&W.message.split(` -`).length>W.stacktrace.split(` -`).length?this.parseOpera9(W):W.stack?this.parseOpera11(W):this.parseOpera10(W)},parseOpera9:function(W){for(var ne=/Line (\d+).*script (?:in )?(\S+)/i,m=W.message.split(` -`),we=[],Se=2,he=m.length;Se/,"$2").replace(/\([^)]*\)/g,"")||void 0;he.match(/\(([^)]*)\)/)&&(m=he.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var ze=m===void 0||m==="[arguments not available]"?void 0:m.split(",");return new N({functionName:ge,args:ze,fileName:Se[0],lineNumber:Se[1],columnNumber:Se[2],source:ne})},this)}}})=="function"?p.apply(o,E):p)===void 0||(i.exports=t)})()},function(i,o,f){var p,E,t;(function(k,L){"use strict";E=[],(t=typeof(p=function(){function N(ge){return ge.charAt(0).toUpperCase()+ge.substring(1)}function C(ge){return function(){return this[ge]}}var U=["isConstructor","isEval","isNative","isToplevel"],q=["columnNumber","lineNumber"],W=["fileName","functionName","source"],ne=U.concat(q,W,["args"]);function m(ge){if(ge)for(var ze=0;ze1?xe-1:0),ke=1;ke=0&&xe.splice(Z,1)}}}])&&p(z.prototype,G),$&&p(z,$),B}(),t=f(2),k=f.n(t);try{var L=f(9).default,N=function(B){var z=new RegExp("".concat(B,": ([0-9]+)")),G=L.match(z);return parseInt(G[1],10)};N("comfortable-line-height-data"),N("compact-line-height-data")}catch(B){}function C(B){try{return sessionStorage.getItem(B)}catch(z){return null}}function U(B){try{sessionStorage.removeItem(B)}catch(z){}}function q(B,z){try{return sessionStorage.setItem(B,z)}catch(G){}}var W=function(B,z){return B===z},ne=f(1),m=f.n(ne);function we(B){return B.ownerDocument?B.ownerDocument.defaultView:null}function Se(B){var z=we(B);return z?z.frameElement:null}function he(B){var z=pe(B);return ge([B.getBoundingClientRect(),{top:z.borderTop,left:z.borderLeft,bottom:z.borderBottom,right:z.borderRight,width:0,height:0}])}function ge(B){return B.reduce(function(z,G){return z==null?G:{top:z.top+G.top,left:z.left+G.left,width:z.width,height:z.height,bottom:z.bottom+G.bottom,right:z.right+G.right}})}function ze(B,z){var G=Se(B);if(G&&G!==z){for(var $=[B.getBoundingClientRect()],De=G,me=!1;De;){var xe=he(De);if($.push(xe),De=Se(De),me)break;De&&we(De)===z&&(me=!0)}return ge($)}return B.getBoundingClientRect()}function pe(B){var z=window.getComputedStyle(B);return{borderLeft:parseInt(z.borderLeftWidth,10),borderRight:parseInt(z.borderRightWidth,10),borderTop:parseInt(z.borderTopWidth,10),borderBottom:parseInt(z.borderBottomWidth,10),marginLeft:parseInt(z.marginLeft,10),marginRight:parseInt(z.marginRight,10),marginTop:parseInt(z.marginTop,10),marginBottom:parseInt(z.marginBottom,10),paddingLeft:parseInt(z.paddingLeft,10),paddingRight:parseInt(z.paddingRight,10),paddingTop:parseInt(z.paddingTop,10),paddingBottom:parseInt(z.paddingBottom,10)}}function Oe(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return le(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return le(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function le(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gxe.left+xe.width&&(ie=xe.left+xe.width-ht-5),{style:{top:ke+="px",left:ie+="px"}}}(z,G,{width:$.width,height:$.height});m()(this.tip.style,De.style)}}]),B}(),$e=function(){function B(){Ue(this,B);var z=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=z;var G=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=G;var $=z.document;this.container=$.createElement("div"),this.container.style.zIndex="10000000",this.tip=new xt($,this.container),this.rects=[],$.body.appendChild(this.container)}return rt(B,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(z){z.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(z,G){for(var $=this,De=z.filter(function(Tt){return Tt.nodeType===Node.ELEMENT_NODE});this.rects.length>De.length;)this.rects.pop().remove();if(De.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:W,tt=void 0,Tt=[],kt=void 0,bt=!1,on=function(Lt,gn){return qe(Lt,Tt[gn])},tn=function(){for(var Lt=arguments.length,gn=Array(Lt),lr=0;lr5&&arguments[5]!==void 0?arguments[5]:0,Z=Co(B);switch(Z){case"html_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.tagName,type:Z};case"function":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:typeof B.name!="function"&&B.name?B.name:"function",type:Z};case"string":return B.length<=500?B:B.slice(0,500)+"...";case"bigint":case"symbol":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"react_element":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:L0(B)||"Unknown",type:Z};case"array_buffer":case"data_view":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:Z==="data_view"?"DataView":"ArrayBuffer",size:B.byteLength,type:Z};case"array":return me=De($),xe>=2&&!me?a0(Z,!0,B,z,$):B.map(function(ht,ie){return So(ht,z,G,$.concat([ie]),De,me?1:xe+1)});case"html_all_collection":case"typed_array":case"iterator":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var ke={unserializable:!0,type:Z,readonly:!0,size:Z==="typed_array"?B.length:void 0,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.constructor&&B.constructor.name!=="Object"?B.constructor.name:""};return Kt(B[Symbol.iterator])&&Array.from(B).forEach(function(ht,ie){return ke[ie]=So(ht,z,G,$.concat([ie]),De,me?1:xe+1)}),G.push($),ke;case"opaque_iterator":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B[Symbol.toStringTag],type:Z};case"date":case"regexp":return z.push($),{inspectable:!1,preview_short:Si(B,!1),preview_long:Si(B,!0),name:B.toString(),type:Z};case"object":if(me=De($),xe>=2&&!me)return a0(Z,!0,B,z,$);var Xe={};return eu(B).forEach(function(ht){var ie=ht.toString();Xe[ie]=So(B[ht],z,G,$.concat([ie]),De,me?1:xe+1)}),Xe;case"infinity":case"nan":case"undefined":return z.push($),{type:Z};default:return B}}function Go(B){return(Go=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function Os(B){return function(z){if(Array.isArray(z))return Yo(z)}(B)||function(z){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(z))return Array.from(z)}(B)||function(z,G){if(!!z){if(typeof z=="string")return Yo(z,G);var $=Object.prototype.toString.call(z).slice(8,-1);if($==="Object"&&z.constructor&&($=z.constructor.name),$==="Map"||$==="Set")return Array.from(z);if($==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test($))return Yo(z,G)}}(B)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Yo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);Gz.toString()?1:z.toString()>B.toString()?-1:0}function eu(B){for(var z=[],G=B,$=function(){var De=[].concat(Os(Object.keys(G)),Os(Object.getOwnPropertySymbols(G))),me=Object.getOwnPropertyDescriptors(G);De.forEach(function(xe){me[xe].enumerable&&z.push(xe)}),G=Object.getPrototypeOf(G)};G!=null;)$();return z}function ai(B){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",G=Ko.get(B);if(G!=null)return G;var $=z;return typeof B.displayName=="string"?$=B.displayName:typeof B.name=="string"&&B.name!==""&&($=B.name),Ko.set(B,$),$}var mr=0;function Xo(){return++mr}function W0(B){var z=qt.get(B);if(z!==void 0)return z;for(var G=new Array(B.length),$=0;$1&&arguments[1]!==void 0?arguments[1]:50;return B.length>z?B.substr(0,z)+"\u2026":B}function Si(B,z){if(B!=null&&hasOwnProperty.call(B,vu.type))return z?B[vu.preview_long]:B[vu.preview_short];switch(Co(B)){case"html_element":return"<".concat(tu(B.tagName.toLowerCase())," />");case"function":return tu("\u0192 ".concat(typeof B.name=="function"?"":B.name,"() {}"));case"string":return'"'.concat(B,'"');case"bigint":return tu(B.toString()+"n");case"regexp":case"symbol":return tu(B.toString());case"react_element":return"<".concat(tu(L0(B)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(B.byteLength,")");case"data_view":return"DataView(".concat(B.buffer.byteLength,")");case"array":if(z){for(var G="",$=0;$0&&(G+=", "),!((G+=Si(B[$],!1)).length>50));$++);return"[".concat(tu(G),"]")}var De=hasOwnProperty.call(B,vu.size)?B[vu.size]:B.length;return"Array(".concat(De,")");case"typed_array":var me="".concat(B.constructor.name,"(").concat(B.length,")");if(z){for(var xe="",Z=0;Z0&&(xe+=", "),!((xe+=B[Z]).length>50));Z++);return"".concat(me," [").concat(tu(xe),"]")}return me;case"iterator":var ke=B.constructor.name;if(z){for(var Xe=Array.from(B),ht="",ie=0;ie0&&(ht+=", "),Array.isArray(qe)){var tt=Si(qe[0],!0),Tt=Si(qe[1],!1);ht+="".concat(tt," => ").concat(Tt)}else ht+=Si(qe,!1);if(ht.length>50)break}return"".concat(ke,"(").concat(B.size,") {").concat(tu(ht),"}")}return"".concat(ke,"(").concat(B.size,")");case"opaque_iterator":return B[Symbol.toStringTag];case"date":return B.toString();case"object":if(z){for(var kt=eu(B).sort(_i),bt="",on=0;on0&&(bt+=", "),(bt+="".concat(tn.toString(),": ").concat(Si(B[tn],!1))).length>50)break}return"{".concat(tu(bt),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return B;default:try{return tu(""+B)}catch(Lt){return"unserializable"}}}var ks=f(7);function Hl(B){return(Hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function F0(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function f0(B){for(var z=1;z2&&arguments[2]!==void 0?arguments[2]:[];if(B!==null){var $=[],De=[],me=So(B,$,De,G,z);return{data:me,cleaned:$,unserializable:De}}return null}function G0(B){var z,G,$=(z=B,G=new Set,JSON.stringify(z,function(xe,Z){if(Hl(Z)==="object"&&Z!==null){if(G.has(Z))return;G.add(Z)}return typeof Z=="bigint"?Z.toString()+"n":Z})),De=$===void 0?"undefined":$,me=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof me=="function"?me(De).catch(function(xe){}):Object(ks.copy)(De)}function fi(B,z){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,$=z[G],De=Array.isArray(B)?B.slice():f0({},B);return G+1===z.length?Array.isArray(De)?De.splice($,1):delete De[$]:De[$]=fi(B[$],z,G+1),De}function Zt(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,De=z[$],me=Array.isArray(B)?B.slice():f0({},B);if($+1===z.length){var xe=G[$];me[xe]=me[De],Array.isArray(me)?me.splice(De,1):delete me[De]}else me[De]=Zt(B[De],z,G,$+1);return me}function Ln(B,z,G){var $=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if($>=z.length)return G;var De=z[$],me=Array.isArray(B)?B.slice():f0({},B);return me[De]=Ln(B[De],z,G,$+1),me}var Di=f(8);function ci(B,z){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var $=Object.getOwnPropertySymbols(B);z&&($=$.filter(function(De){return Object.getOwnPropertyDescriptor(B,De).enumerable})),G.push.apply(G,$)}return G}function Ht(B){for(var z=1;z=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Wl(B,z){if(B){if(typeof B=="string")return xo(B,z);var G=Object.prototype.toString.call(B).slice(8,-1);return G==="Object"&&B.constructor&&(G=B.constructor.name),G==="Map"||G==="Set"?Array.from(B):G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G)?xo(B,z):void 0}}function xo(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0){var vt=me(se);if(vt!=null){var Xt,xn=Ui(Mo);try{for(xn.s();!(Xt=xn.n()).done;)if(Xt.value.test(vt))return!0}catch(er){xn.e(er)}finally{xn.f()}}}if(re!=null&&ds.size>0){var _n,yn=re.fileName,En=Ui(ds);try{for(En.s();!(_n=En.n()).done;)if(_n.value.test(yn))return!0}catch(er){En.e(er)}finally{En.f()}}return!1}function yu(se){var re=se.type;switch(se.tag){case Tt:case _r:return 1;case tt:case Cn:return 5;case tn:return 6;case Lt:return 11;case lr:return 7;case gn:case Qn:case on:return 9;case Ar:case Rr:return 8;case nt:return 12;case _t:return 13;default:switch(xe(re)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function pi(se){if(Fo.has(se))return se;var re=se.alternate;return re!=null&&Fo.has(re)?re:(Fo.add(se),se)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?ps(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):ps([{type:1,value:7,isEnabled:!0}]);var T0=new Map,Q0=new Map,Fo=new Set,ta=new Map,Kl=new Map,Ki=-1;function Yr(se){if(!T0.has(se)){var re=Xo();T0.set(se,re),Q0.set(re,se)}return T0.get(se)}function fo(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=gi(se);Le!==null&&I0.set(re,Le)}}}var Oi={};function gi(se){switch(yu(se)){case 1:var re=se.stateNode,Le=Oi,Ae=Oi;return re!=null&&(re.constructor&&re.constructor.contextType!=null?Ae=re.context:(Le=re.context)&&Object.keys(Le).length===0&&(Le=Oi)),[Le,Ae];default:return null}}function ff(se){switch(yu(se)){case 1:if(I0!==null){var re=Yr(pi(se)),Le=I0.has(re)?I0.get(re):null,Ae=gi(se);if(Le==null||Ae==null)return null;var ot=Y0(Le,2),vt=ot[0],Xt=ot[1],xn=Y0(Ae,2),_n=xn[0],yn=xn[1];if(_n!==Oi)return J0(vt,_n);if(yn!==Oi)return Xt!==yn}}return null}function cf(se,re){if(se==null||re==null)return!1;if(re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))for(;re!==null;){if(re.memoizedState!==se.memoizedState)return!0;re=re.next,se=se.next}return!1}function J0(se,re){if(se==null||re==null||re.hasOwnProperty("baseState")&&re.hasOwnProperty("memoizedState")&&re.hasOwnProperty("next")&&re.hasOwnProperty("queue"))return null;var Le,Ae=[],ot=Ui(new Set([].concat(Yi(Object.keys(se)),Yi(Object.keys(re)))));try{for(ot.s();!(Le=ot.n()).done;){var vt=Le.value;se[vt]!==re[vt]&&Ae.push(vt)}}catch(Xt){ot.e(Xt)}finally{ot.f()}return Ae}function Z0(se,re){switch(re.tag){case Tt:case tt:case kt:case Ar:case Rr:return(oo(re)&ie)===ie;default:return se.memoizedProps!==re.memoizedProps||se.memoizedState!==re.memoizedState||se.ref!==re.ref}}var Te=[],et=[],Ve=[],Gt=[],Yt=new Map,sr=0,Br=null;function wn(se){Te.push(se)}function fu(se){if(Te.length!==0||et.length!==0||Ve.length!==0||Br!==null||Ru){var re=et.length+Ve.length+(Br===null?0:1),Le=new Array(3+sr+(re>0?2+re:0)+Te.length),Ae=0;if(Le[Ae++]=z,Le[Ae++]=Ki,Le[Ae++]=sr,Yt.forEach(function(xn,_n){Le[Ae++]=_n.length;for(var yn=W0(_n),En=0;En0){Le[Ae++]=2,Le[Ae++]=re;for(var ot=et.length-1;ot>=0;ot--)Le[Ae++]=et[ot];for(var vt=0;vt0?se.forEach(function(re){B.emit("operations",re)}):(wr!==null&&(ru=!0),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Ru&&re.memoizedInteractions!=null&&($o={changeDescriptions:Xl?new Map:null,durations:[],commitTime:Vl()-Yu,interactions:Array.from(re.memoizedInteractions).map(function(Le){return Ht(Ht({},Le),{},{timestamp:Le.timestamp-Yu})}),maxActualDuration:0,priorityLevel:null}),Vr(re.current,null,!1,!1),fu(),Ki=-1}))},getBestMatchForTrackedPath:function(){if(wr===null||$0===null)return null;for(var se=$0;se!==null&&Vu(se);)se=se.return;return se===null?null:{id:Yr(pi(se)),isFullMatch:Xi===wr.length-1}},getDisplayNameForFiberID:function(se){var re=Q0.get(se);return re!=null?me(re):null},getFiberIDForNative:function(se){var re=arguments.length>1&&arguments[1]!==void 0&&arguments[1],Le=G.findFiberByHostInstance(se);if(Le!=null){if(re)for(;Le!==null&&Vu(Le);)Le=Le.return;return Yr(pi(Le))}return null},getInstanceAndStyle:function(se){var re=null,Le=null,Ae=Uu(se);return Ae!==null&&(re=Ae.stateNode,Ae.memoizedProps!==null&&(Le=Ae.memoizedProps.style)),{instance:re,style:Le}},getOwnersList:function(se){var re=Uu(se);if(re==null)return null;var Le=re._debugOwner,Ae=[{displayName:me(re)||"Anonymous",id:se,type:yu(re)}];if(Le)for(var ot=Le;ot!==null;)Ae.unshift({displayName:me(ot)||"Anonymous",id:Yr(pi(ot)),type:yu(ot)}),ot=ot._debugOwner||null;return Ae},getPathForElement:function(se){var re=Q0.get(se);if(re==null)return null;for(var Le=[];re!==null;)Le.push(y0(re)),re=re.return;return Le.reverse(),Le},getProfilingData:function(){var se=[];if(hs===null)throw Error("getProfilingData() called before any profiling data was recorded");return hs.forEach(function(re,Le){var Ae=[],ot=[],vt=new Map,Xt=new Map,xn=El!==null&&El.get(Le)||"Unknown";R0!=null&&R0.forEach(function(_n,yn){co!=null&&co.get(yn)===Le&&ot.push([yn,_n])}),re.forEach(function(_n,yn){var En=_n.changeDescriptions,er=_n.durations,It=_n.interactions,xi=_n.maxActualDuration,Sr=_n.priorityLevel,cr=_n.commitTime,Y=[];It.forEach(function(hi){vt.has(hi.id)||vt.set(hi.id,hi),Y.push(hi.id);var Qi=Xt.get(hi.id);Qi!=null?Qi.push(yn):Xt.set(hi.id,[yn])});for(var Qr=[],Jr=[],Ur=0;Ur1?Wn.set(En,er-1):Wn.delete(En),Xr.delete(_n)}(Ki),Kr(Le,!1))}else Xu(Ki,Le),Vr(Le,null,!1,!1);if(Ru&&ot){var xn=hs.get(Ki);xn!=null?xn.push($o):hs.set(Ki,[$o])}fu(),No&&B.emit("traceUpdates",Lo),Ki=-1},handleCommitFiberUnmount:function(se){Kr(se,!1)},inspectElement:function(se,re){if(Li(se)){if(re!=null){A0(re);var Le=null;return re[0]==="hooks"&&(Le="hooks"),{id:se,type:"hydrated-path",path:re,value:Ei(Lu(zi,re),Fi(null,Le),re)}}return{id:se,type:"no-change"}}if(Is=!1,zi!==null&&zi.id===se||(x0={}),(zi=na(se))===null)return{id:se,type:"not-found"};re!=null&&A0(re),function(ot){var vt=ot.hooks,Xt=ot.id,xn=ot.props,_n=Q0.get(Xt);if(_n!=null){var yn=_n.elementType,En=_n.stateNode,er=_n.tag,It=_n.type;switch(er){case Tt:case _r:case Cn:$.$r=En;break;case tt:$.$r={hooks:vt,props:xn,type:It};break;case tn:$.$r={props:xn,type:It.render};break;case Ar:case Rr:$.$r={props:xn,type:yn!=null&&yn.type!=null?yn.type:It};break;default:$.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Xt,'"'))}(zi);var Ae=Ht({},zi);return Ae.context=Ei(Ae.context,Fi("context",null)),Ae.hooks=Ei(Ae.hooks,Fi("hooks","hooks")),Ae.props=Ei(Ae.props,Fi("props",null)),Ae.state=Ei(Ae.state,Fi("state",null)),{id:se,type:"full-data",value:Ae}},logElementToConsole:function(se){var re=Li(se)?zi:na(se);if(re!==null){var Le=typeof console.groupCollapsed=="function";Le&&console.groupCollapsed("[Click to expand] %c<".concat(re.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),re.props!==null&&console.log("Props:",re.props),re.state!==null&&console.log("State:",re.state),re.hooks!==null&&console.log("Hooks:",re.hooks);var Ae=_l(se);Ae!==null&&console.log("Nodes:",Ae),re.source!==null&&console.log("Location:",re.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Le&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},prepareViewAttributeSource:function(se,re){Li(se)&&(window.$attribute=Lu(zi,re))},prepareViewElementSource:function(se){var re=Q0.get(se);if(re!=null){var Le=re.elementType,Ae=re.tag,ot=re.type;switch(Ae){case Tt:case _r:case Cn:case tt:$.$type=ot;break;case tn:$.$type=ot.render;break;case Ar:case Rr:$.$type=Le!=null&&Le.type!=null?Le.type:ot;break;default:$.$type=null}}else console.warn('Could not find Fiber with id "'.concat(se,'"'))},overrideSuspense:function(se,re){if(typeof ko!="function"||typeof Zo!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");re?(Ku.add(se),Ku.size===1&&ko(vs)):(Ku.delete(se),Ku.size===0&&ko(df));var Le=Q0.get(se);Le!=null&&Zo(Le)},overrideValueAtPath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),vt.tag){case Tt:Ae.length===0?Xt.context=ot:To(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof nu=="function"&&nu(vt,Le,Ae,ot);break;case"props":switch(vt.tag){case Tt:vt.pendingProps=Ln(Xt.props,Ae,ot),Xt.forceUpdate();break;default:typeof X0=="function"&&X0(vt,Ae,ot)}break;case"state":switch(vt.tag){case Tt:To(Xt.state,Ae,ot),Xt.forceUpdate()}}}},renamePath:function(se,re,Le,Ae,ot){var vt=Uu(re);if(vt!==null){var Xt=vt.stateNode;switch(se){case"context":switch(Ae=Ae.slice(1),ot=ot.slice(1),vt.tag){case Tt:Ae.length===0||Hr(Xt.context,Ae,ot),Xt.forceUpdate()}break;case"hooks":typeof S0=="function"&&S0(vt,Le,Ae,ot);break;case"props":Xt===null?typeof di=="function"&&di(vt,Ae,ot):(vt.pendingProps=Zt(Xt.props,Ae,ot),Xt.forceUpdate());break;case"state":Hr(Xt.state,Ae,ot),Xt.forceUpdate()}}},renderer:G,setTraceUpdatesEnabled:function(se){No=se},setTrackedPath:Ci,startProfiling:ra,stopProfiling:function(){Ru=!1,Xl=!1},storeAsGlobal:function(se,re,Le){if(Li(se)){var Ae=Lu(zi,re),ot="$reactTemp".concat(Le);window[ot]=Ae,console.log(ot),console.log(Ae)}},updateComponentFilters:function(se){if(Ru)throw Error("Cannot modify filter preferences while profiling");B.getFiberRoots(z).forEach(function(re){Ki=Yr(pi(re.current)),Bu(re.current),Kr(re.current,!1),Ki=-1}),ps(se),Wn.clear(),B.getFiberRoots(z).forEach(function(re){Xu(Ki=Yr(pi(re.current)),re.current),Vr(re.current,null,!1,!1),fu(re),Ki=-1})}}}var Xn;function Qo(B){return(Qo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function lo(B,z,G){if(Xn===void 0)try{throw Error()}catch(De){var $=De.stack.trim().match(/\n( *(at )?)/);Xn=$&&$[1]||""}return` -`+Xn+B}var b0=!1;function yl(B,z,G){if(!B||b0)return"";var $,De=Error.prepareStackTrace;Error.prepareStackTrace=void 0,b0=!0;var me=G.current;G.current=null;try{if(z){var xe=function(){throw Error()};if(Object.defineProperty(xe.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Qo(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(xe,[])}catch(qe){$=qe}Reflect.construct(B,[],xe)}else{try{xe.call()}catch(qe){$=qe}B.call(xe.prototype)}}else{try{throw Error()}catch(qe){$=qe}B()}}catch(qe){if(qe&&$&&typeof qe.stack=="string"){for(var Z=qe.stack.split(` -`),ke=$.stack.split(` -`),Xe=Z.length-1,ht=ke.length-1;Xe>=1&&ht>=0&&Z[Xe]!==ke[ht];)ht--;for(;Xe>=1&&ht>=0;Xe--,ht--)if(Z[Xe]!==ke[ht]){if(Xe!==1||ht!==1)do if(Xe--,--ht<0||Z[Xe]!==ke[ht])return` -`+Z[Xe].replace(" at new "," at ");while(Xe>=1&&ht>=0);break}}}finally{b0=!1,Error.prepareStackTrace=De,G.current=me}var ie=B?B.displayName||B.name:"";return ie?lo(ie):""}function Ro(B,z,G,$){return yl(B,!1,$)}function Et(B,z,G){var $=B.HostComponent,De=B.LazyComponent,me=B.SuspenseComponent,xe=B.SuspenseListComponent,Z=B.FunctionComponent,ke=B.IndeterminateComponent,Xe=B.SimpleMemoComponent,ht=B.ForwardRef,ie=B.Block,qe=B.ClassComponent;switch(z.tag){case $:return lo(z.type);case De:return lo("Lazy");case me:return lo("Suspense");case xe:return lo("SuspenseList");case Z:case ke:case Xe:return Ro(z.type,0,0,G);case ht:return Ro(z.type.render,0,0,G);case ie:return Ro(z.type._render,0,0,G);case qe:return function(tt,Tt,kt,bt){return yl(tt,!0,bt)}(z.type,0,0,G);default:return""}}function Pt(B,z,G){try{var $="",De=z;do $+=Et(B,De,G),De=De.return;while(De);return $}catch(me){return` -Error generating stack: `+me.message+` -`+me.stack}}function Bn(B,z){var G;if(typeof Symbol=="undefined"||B[Symbol.iterator]==null){if(Array.isArray(B)||(G=function(ke,Xe){if(!!ke){if(typeof ke=="string")return Ir(ke,Xe);var ht=Object.prototype.toString.call(ke).slice(8,-1);if(ht==="Object"&&ke.constructor&&(ht=ke.constructor.name),ht==="Map"||ht==="Set")return Array.from(ke);if(ht==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ht))return Ir(ke,Xe)}}(B))||z&&B&&typeof B.length=="number"){G&&(B=G);var $=0,De=function(){};return{s:De,n:function(){return $>=B.length?{done:!0}:{done:!1,value:B[$++]}},e:function(ke){throw ke},f:De}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var me,xe=!0,Z=!1;return{s:function(){G=B[Symbol.iterator]()},n:function(){var ke=G.next();return xe=ke.done,ke},e:function(ke){Z=!0,me=ke},f:function(){try{xe||G.return==null||G.return()}finally{if(Z)throw me}}}}function Ir(B,z){(z==null||z>B.length)&&(z=B.length);for(var G=0,$=new Array(z);G0?Xe[Xe.length-1]:null,qe=ie!==null&&(Wr.test(ie)||wu.test(ie));if(!qe){var tt,Tt=Bn(c0.values());try{for(Tt.s();!(tt=Tt.n()).done;){var kt=tt.value,bt=kt.currentDispatcherRef,on=kt.getCurrentFiber,tn=kt.workTagMap,Lt=on();if(Lt!=null){var gn=Pt(tn,Lt,bt);gn!==""&&Xe.push(gn);break}}}catch(lr){Tt.e(lr)}finally{Tt.f()}}}catch(lr){}me.apply(void 0,Xe)};xe.__REACT_DEVTOOLS_ORIGINAL_METHOD__=me,Ti[De]=xe}catch(Z){}})}}function Fu(B){return(Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(z){return typeof z}:function(z){return z&&typeof Symbol=="function"&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(B)}function fs(B,z){for(var G=0;GB.length)&&(z=B.length);for(var G=0,$=new Array(z);G1?Z-1:0),Xe=1;Xe0?ie[ie.length-1]:0),ie.push(nn),Z.set(Ze,Xe(Ft._topLevelWrapper));try{var sn=nt.apply(this,_t);return ie.pop(),sn}catch(yr){throw ie=[],yr}finally{if(ie.length===0){var Yn=Z.get(Ze);if(Yn===void 0)throw new Error("Expected to find root ID.");lr(Yn)}}},performUpdateIfNecessary:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},receiveComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);var nn=Gn(Ze);try{var sn=nt.apply(this,_t),Yn=Gn(Ze);return ht(nn,Yn)||Tt(Ze,Ft,Yn),ie.pop(),sn}catch(nu){throw ie=[],nu}finally{if(ie.length===0){var yr=Z.get(Ze);if(yr===void 0)throw new Error("Expected to find root ID.");lr(yr)}}},unmountComponent:function(nt,_t){var Ze=_t[0];if(w0(Ze)===9)return nt.apply(this,_t);var Ft=Xe(Ze);ie.push(Ft);try{var nn=nt.apply(this,_t);return ie.pop(),function(Yn,yr){tn.push(yr),me.delete(yr)}(0,Ft),nn}catch(Yn){throw ie=[],Yn}finally{if(ie.length===0){var sn=Z.get(Ze);if(sn===void 0)throw new Error("Expected to find root ID.");lr(sn)}}}}));var bt=[],on=new Map,tn=[],Lt=0,gn=null;function lr(nt){if(bt.length!==0||tn.length!==0||gn!==null){var _t=tn.length+(gn===null?0:1),Ze=new Array(3+Lt+(_t>0?2+_t:0)+bt.length),Ft=0;if(Ze[Ft++]=z,Ze[Ft++]=nt,Ze[Ft++]=Lt,on.forEach(function(Yn,yr){Ze[Ft++]=yr.length;for(var nu=W0(yr),Cu=0;Cu0){Ze[Ft++]=2,Ze[Ft++]=_t;for(var nn=0;nn"),"color: var(--dom-tag-name-color); font-weight: normal;"),_t.props!==null&&console.log("Props:",_t.props),_t.state!==null&&console.log("State:",_t.state),_t.context!==null&&console.log("Context:",_t.context);var Ft=De(nt);Ft!==null&&console.log("Node:",Ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ze&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(nt,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":To(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Ln(yr.props,Ft,nn)}),p0(Yn);break;case"state":To(Yn.state,Ft,nn),p0(Yn)}}},renamePath:function(nt,_t,Ze,Ft,nn){var sn=me.get(_t);if(sn!=null){var Yn=sn._instance;if(Yn!=null)switch(nt){case"context":Hr(Yn.context,Ft,nn),p0(Yn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var yr=sn._currentElement;sn._currentElement=K0(K0({},yr),{},{props:Zt(yr.props,Ft,nn)}),p0(Yn);break;case"state":Hr(Yn.state,Ft,nn),p0(Yn)}}},prepareViewAttributeSource:function(nt,_t){var Ze=Rr(nt);Ze!==null&&(window.$attribute=Lu(Ze,_t))},prepareViewElementSource:function(nt){var _t=me.get(nt);if(_t!=null){var Ze=_t._currentElement;Ze!=null?$.$type=Ze.type:console.warn('Could not find element with id "'.concat(nt,'"'))}else console.warn('Could not find instance with id "'.concat(nt,'"'))},renderer:G,setTraceUpdatesEnabled:function(nt){},setTrackedPath:function(nt){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(nt,_t,Ze){var Ft=Rr(nt);if(Ft!==null){var nn=Lu(Ft,_t),sn="$reactTemp".concat(Ze);window[sn]=nn,console.log(sn),console.log(nn)}},updateComponentFilters:function(nt){}}}function ri(B,z){var G=!1,$={bottom:0,left:0,right:0,top:0},De=z[B];if(De!=null){for(var me=0,xe=Object.keys($);me0?"development":"production";var bt=Function.prototype.toString;if(kt.Mount&&kt.Mount._renderNewRootComponent){var on=bt.call(kt.Mount._renderNewRootComponent);return on.indexOf("function")!==0?"production":on.indexOf("storedMeasure")!==-1?"development":on.indexOf("should be a pure function")!==-1?on.indexOf("NODE_ENV")!==-1||on.indexOf("development")!==-1||on.indexOf("true")!==-1?"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"development":on.indexOf("nextElement")!==-1||on.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(tn){}return"production"}(ke);try{var ie=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,qe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(ie||qe)&&(so(ke),Gl({appendComponentStack:ie,breakOnConsoleErrors:qe}))}catch(kt){}var tt=B.__REACT_DEVTOOLS_ATTACH__;if(typeof tt=="function"){var Tt=tt(Z,Xe,ke,B);Z.rendererInterfaces.set(Xe,Tt)}return Z.emit("renderer",{id:Xe,renderer:ke,reactBuildType:ht}),Xe},on:function(ke,Xe){me[ke]||(me[ke]=[]),me[ke].push(Xe)},off:function(ke,Xe){if(me[ke]){var ht=me[ke].indexOf(Xe);ht!==-1&&me[ke].splice(ht,1),me[ke].length||delete me[ke]}},sub:function(ke,Xe){return Z.on(ke,Xe),function(){return Z.off(ke,Xe)}},supportsFiber:!0,checkDCE:function(ke){try{Function.prototype.toString.call(ke).indexOf("^_^")>-1&&(G=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Xe){}},onCommitFiberUnmount:function(ke,Xe){var ht=De.get(ke);ht!=null&&ht.handleCommitFiberUnmount(Xe)},onCommitFiberRoot:function(ke,Xe,ht){var ie=Z.getFiberRoots(ke),qe=Xe.current,tt=ie.has(Xe),Tt=qe.memoizedState==null||qe.memoizedState.element==null;tt||Tt?tt&&Tt&&ie.delete(Xe):ie.add(Xe);var kt=De.get(ke);kt!=null&&kt.handleCommitFiberRoot(Xe,ht)}};Object.defineProperty(B,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return Z}})})(window);var h0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,Fs=[{type:1,value:7,isEnabled:!0}];function Ni(B){if(h0!=null){var z=B||{},G=z.host,$=G===void 0?"localhost":G,De=z.nativeStyleEditorValidAttributes,me=z.useHttps,xe=me!==void 0&&me,Z=z.port,ke=Z===void 0?8097:Z,Xe=z.websocket,ht=z.resolveRNStyle,ie=ht===void 0?null:ht,qe=z.isAppActive,tt=xe?"wss":"ws",Tt=null;if((qe===void 0?function(){return!0}:qe)()){var kt=null,bt=[],on=tt+"://"+$+":"+ke,tn=Xe||new window.WebSocket(on);tn.onclose=function(){kt!==null&&kt.emit("shutdown"),Lt()},tn.onerror=function(){Lt()},tn.onmessage=function(gn){var lr;try{if(typeof gn.data!="string")throw Error();lr=JSON.parse(gn.data)}catch(Qn){return void console.error("[React DevTools] Failed to parse JSON: "+gn.data)}bt.forEach(function(Qn){try{Qn(lr)}catch(_r){throw console.log("[React DevTools] Error calling listener",lr),console.log("error:",_r),_r}})},tn.onopen=function(){(kt=new ao({listen:function(Cn){return bt.push(Cn),function(){var Ar=bt.indexOf(Cn);Ar>=0&&bt.splice(Ar,1)}},send:function(Cn,Ar,v0){tn.readyState===tn.OPEN?tn.send(JSON.stringify({event:Cn,payload:Ar})):(kt!==null&&kt.shutdown(),Lt())}})).addListener("inspectElement",function(Cn){var Ar=Cn.id,v0=Cn.rendererID,Rr=gn.rendererInterfaces[v0];if(Rr!=null){var nt=Rr.findNativeNodesForFiberID(Ar);nt!=null&&nt[0]!=null&&gn.emit("showNativeHighlight",nt[0])}}),kt.addListener("updateComponentFilters",function(Cn){Fs=Cn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&kt.send("overrideComponentFilters",Fs);var gn=new Hn(kt);if(gn.addListener("shutdown",function(){h0.emit("shutdown")}),function(Cn,Ar,v0){if(Cn==null)return function(){};var Rr=[Cn.sub("renderer-attached",function(Ze){var Ft=Ze.id,nn=(Ze.renderer,Ze.rendererInterface);Ar.setRendererInterface(Ft,nn),nn.flushInitialOperations()}),Cn.sub("unsupported-renderer-version",function(Ze){Ar.onUnsupportedRenderer(Ze)}),Cn.sub("operations",Ar.onHookOperations),Cn.sub("traceUpdates",Ar.onTraceUpdates)],nt=function(Ze,Ft){var nn=Cn.rendererInterfaces.get(Ze);nn==null&&(typeof Ft.findFiberByHostInstance=="function"?nn=Ms(Cn,Ze,Ft,v0):Ft.ComponentTree&&(nn=ic(Cn,Ze,Ft,v0)),nn!=null&&Cn.rendererInterfaces.set(Ze,nn)),nn!=null?Cn.emit("renderer-attached",{id:Ze,renderer:Ft,rendererInterface:nn}):Cn.emit("unsupported-renderer-version",Ze)};Cn.renderers.forEach(function(Ze,Ft){nt(Ft,Ze)}),Rr.push(Cn.sub("renderer",function(Ze){var Ft=Ze.id,nn=Ze.renderer;nt(Ft,nn)})),Cn.emit("react-devtools",Ar),Cn.reactDevtoolsAgent=Ar;var _t=function(){Rr.forEach(function(Ze){return Ze()}),Cn.rendererInterfaces.forEach(function(Ze){Ze.cleanup()}),Cn.reactDevtoolsAgent=null};Ar.addListener("shutdown",_t),Rr.push(function(){Ar.removeListener("shutdown",_t)})}(h0,gn,window),ie!=null||h0.resolveRNStyle!=null)ea(kt,gn,ie||h0.resolveRNStyle,De||h0.nativeStyleEditorValidAttributes||null);else{var lr,Qn,_r=function(){kt!==null&&ea(kt,gn,lr,Qn)};h0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(h0,"resolveRNStyle",{enumerable:!1,get:function(){return lr},set:function(Cn){lr=Cn,_r()}}),h0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(h0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return Qn},set:function(Cn){Qn=Cn,_r()}})}}}else Lt()}function Lt(){Tt===null&&(Tt=setTimeout(function(){return Ni(B)},2e3))}}}])})});var mR=ce(vR=>{"use strict";Object.defineProperty(vR,"__esModule",{value:!0});pR();var $Q=hR();$Q.connectToDevTools()});var DR=ce(kg=>{"use strict";var yR=kg&&kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(kg,"__esModule",{value:!0});var gR=h4(),eJ=yR(D9()),_R=yR(eh()),ss=Lw();process.env.DEV==="true"&&mR();var ER=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};kg.default=eJ.default({schedulePassiveEffects:gR.unstable_scheduleCallback,cancelPassiveEffects:gR.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,o)=>{let f=i.isInsideText,p=o==="ink-text"||o==="ink-virtual-text";return f===p?i:{isInsideText:p}},shouldSetTextContent:()=>!1,createInstance:(i,o,f,p)=>{if(p.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let E=i==="ink-text"&&p.isInsideText?"ink-virtual-text":i,t=ss.createNode(E);for(let[k,L]of Object.entries(o))k!=="children"&&(k==="style"?ss.setStyle(t,L):k==="internal_transform"?t.internal_transform=L:k==="internal_static"?t.internal_static=!0:ss.setAttribute(t,k,L));return t},createTextInstance:(i,o,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return ss.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{ss.setTextNodeValue(i,"")},unhideTextInstance:(i,o)=>{ss.setTextNodeValue(i,o)},getPublicInstance:i=>i,hideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_NONE)},unhideInstance:i=>{var o;(o=i.yogaNode)===null||o===void 0||o.setDisplay(_R.default.DISPLAY_FLEX)},appendInitialChild:ss.appendChildNode,appendChild:ss.appendChildNode,insertBefore:ss.insertBeforeNode,finalizeInitialChildren:(i,o,f,p)=>(i.internal_static&&(p.isStaticDirty=!0,p.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:ss.appendChildNode,insertInContainerBefore:ss.insertBeforeNode,removeChildFromContainer:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)},prepareUpdate:(i,o,f,p,E)=>{i.internal_static&&(E.isStaticDirty=!0);let t={},k=Object.keys(p);for(let L of k)if(p[L]!==f[L]){if(L==="style"&&typeof p.style=="object"&&typeof f.style=="object"){let C=p.style,U=f.style,q=Object.keys(C);for(let W of q){if(W==="borderStyle"||W==="borderColor"){if(typeof t.style!="object"){let ne={};t.style=ne}t.style.borderStyle=C.borderStyle,t.style.borderColor=C.borderColor}if(C[W]!==U[W]){if(typeof t.style!="object"){let ne={};t.style=ne}t.style[W]=C[W]}}continue}t[L]=p[L]}return t},commitUpdate:(i,o)=>{for(let[f,p]of Object.entries(o))f!=="children"&&(f==="style"?ss.setStyle(i,p):f==="internal_transform"?i.internal_transform=p:f==="internal_static"?i.internal_static=!0:ss.setAttribute(i,f,p))},commitTextUpdate:(i,o,f)=>{ss.setTextNodeValue(i,f)},removeChild:(i,o)=>{ss.removeChildNode(i,o),ER(o.yogaNode)}})});var SR=ce((Are,wR)=>{"use strict";wR.exports=(i,o=1,f)=>{if(f=E0({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof o!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof o}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(o===0)return i;let p=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(p,f.indent.repeat(o))}});var TR=ce(Mg=>{"use strict";var tJ=Mg&&Mg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Mg,"__esModule",{value:!0});var k4=tJ(eh());Mg.default=i=>i.getComputedWidth()-i.getComputedPadding(k4.default.EDGE_LEFT)-i.getComputedPadding(k4.default.EDGE_RIGHT)-i.getComputedBorder(k4.default.EDGE_LEFT)-i.getComputedBorder(k4.default.EDGE_RIGHT)});var xR=ce((Ore,CR)=>{CR.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var RR=ce((kre,Zw)=>{"use strict";var AR=xR();Zw.exports=AR;Zw.exports.default=AR});var kR=ce((Mre,OR)=>{"use strict";OR.exports=(i,o=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",p=o.indexOf(f+i),E=o.indexOf("--");return p!==-1&&(E===-1||p{"use strict";var nJ=require("os"),NR=require("tty"),of=kR(),{env:Wo}=process,md;of("no-color")||of("no-colors")||of("color=false")||of("color=never")?md=0:(of("color")||of("colors")||of("color=true")||of("color=always"))&&(md=1);"FORCE_COLOR"in Wo&&(Wo.FORCE_COLOR==="true"?md=1:Wo.FORCE_COLOR==="false"?md=0:md=Wo.FORCE_COLOR.length===0?1:Math.min(parseInt(Wo.FORCE_COLOR,10),3));function $w(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function e3(i,o){if(md===0)return 0;if(of("color=16m")||of("color=full")||of("color=truecolor"))return 3;if(of("color=256"))return 2;if(i&&!o&&md===void 0)return 0;let f=md||0;if(Wo.TERM==="dumb")return f;if(process.platform==="win32"){let p=nJ.release().split(".");return Number(p[0])>=10&&Number(p[2])>=10586?Number(p[2])>=14931?3:2:1}if("CI"in Wo)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(p=>p in Wo)||Wo.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in Wo)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Wo.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Wo)return 1;if(Wo.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Wo){let p=parseInt((Wo.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Wo.TERM_PROGRAM){case"iTerm.app":return p>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Wo.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Wo.TERM)||"COLORTERM"in Wo?1:f}function rJ(i){let o=e3(i,i&&i.isTTY);return $w(o)}MR.exports={supportsColor:rJ,stdout:$w(e3(!0,NR.isatty(1))),stderr:$w(e3(!0,NR.isatty(2)))}});var bR=ce((Lre,FR)=>{"use strict";var iJ=(i,o,f)=>{let p=i.indexOf(o);if(p===-1)return i;let E=o.length,t=0,k="";do k+=i.substr(t,p-t)+o+f,t=p+E,p=i.indexOf(o,t);while(p!==-1);return k+=i.substr(t),k},uJ=(i,o,f,p)=>{let E=0,t="";do{let k=i[p-1]==="\r";t+=i.substr(E,(k?p-1:p)-E)+o+(k?`\r -`:` -`)+f,E=p+1,p=i.indexOf(` -`,E)}while(p!==-1);return t+=i.substr(E),t};FR.exports={stringReplaceAll:iJ,stringEncaseCRLFWithFirstIndex:uJ}});var jR=ce((Fre,PR)=>{"use strict";var oJ=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,IR=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,lJ=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,sJ=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,aJ=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function BR(i){let o=i[0]==="u",f=i[1]==="{";return o&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):o&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):aJ.get(i)||i}function fJ(i,o){let f=[],p=o.trim().split(/\s*,\s*/g),E;for(let t of p){let k=Number(t);if(!Number.isNaN(k))f.push(k);else if(E=t.match(lJ))f.push(E[2].replace(sJ,(L,N,C)=>N?BR(N):C));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function cJ(i){IR.lastIndex=0;let o=[],f;for(;(f=IR.exec(i))!==null;){let p=f[1];if(f[2]){let E=fJ(p,f[2]);o.push([p].concat(E))}else o.push([p])}return o}function UR(i,o){let f={};for(let E of o)for(let t of E.styles)f[t[0]]=E.inverse?null:t.slice(1);let p=i;for(let[E,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(E in p))throw new Error(`Unknown Chalk style: ${E}`);p=t.length>0?p[E](...t):p[E]}return p}PR.exports=(i,o)=>{let f=[],p=[],E=[];if(o.replace(oJ,(t,k,L,N,C,U)=>{if(k)E.push(BR(k));else if(N){let q=E.join("");E=[],p.push(f.length===0?q:UR(i,f)(q)),f.push({inverse:L,styles:cJ(N)})}else if(C){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");p.push(UR(i,f)(E.join(""))),E=[],f.pop()}else E.push(U)}),p.push(E.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return p.join("")}});var u3=ce((bre,zR)=>{"use strict";var Ng=_4(),{stdout:t3,stderr:n3}=LR(),{stringReplaceAll:dJ,stringEncaseCRLFWithFirstIndex:pJ}=bR(),{isArray:M4}=Array,qR=["ansi","ansi","ansi256","ansi16m"],cm=Object.create(null),hJ=(i,o={})=>{if(o.level&&!(Number.isInteger(o.level)&&o.level>=0&&o.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=t3?t3.level:0;i.level=o.level===void 0?f:o.level},HR=class{constructor(o){return WR(o)}},WR=i=>{let o={};return hJ(o,i),o.template=(...f)=>VR(o.template,...f),Object.setPrototypeOf(o,N4.prototype),Object.setPrototypeOf(o.template,o),o.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},o.template.Instance=HR,o.template};function N4(i){return WR(i)}for(let[i,o]of Object.entries(Ng))cm[i]={get(){let f=L4(this,r3(o.open,o.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};cm.visible={get(){let i=L4(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var GR=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of GR)cm[i]={get(){let{level:o}=this;return function(...f){let p=r3(Ng.color[qR[o]][i](...f),Ng.color.close,this._styler);return L4(this,p,this._isEmpty)}}};for(let i of GR){let o="bg"+i[0].toUpperCase()+i.slice(1);cm[o]={get(){let{level:f}=this;return function(...p){let E=r3(Ng.bgColor[qR[f]][i](...p),Ng.bgColor.close,this._styler);return L4(this,E,this._isEmpty)}}}}var vJ=Object.defineProperties(()=>{},Gf(E0({},cm),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),r3=(i,o,f)=>{let p,E;return f===void 0?(p=i,E=o):(p=f.openAll+i,E=o+f.closeAll),{open:i,close:o,openAll:p,closeAll:E,parent:f}},L4=(i,o,f)=>{let p=(...E)=>M4(E[0])&&M4(E[0].raw)?YR(p,VR(p,...E)):YR(p,E.length===1?""+E[0]:E.join(" "));return Object.setPrototypeOf(p,vJ),p._generator=i,p._styler=o,p._isEmpty=f,p},YR=(i,o)=>{if(i.level<=0||!o)return i._isEmpty?"":o;let f=i._styler;if(f===void 0)return o;let{openAll:p,closeAll:E}=f;if(o.indexOf("")!==-1)for(;f!==void 0;)o=dJ(o,f.close,f.open),f=f.parent;let t=o.indexOf(` -`);return t!==-1&&(o=pJ(o,E,p,t)),p+o+E},i3,VR=(i,...o)=>{let[f]=o;if(!M4(f)||!M4(f.raw))return o.join(" ");let p=o.slice(1),E=[f.raw[0]];for(let t=1;t{"use strict";var mJ=Lg&&Lg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Lg,"__esModule",{value:!0});var Fg=mJ(u3()),yJ=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,gJ=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,b4=(i,o)=>o==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);Lg.default=(i,o,f)=>{if(!o)return i;if(o in Fg.default){let E=b4(o,f);return Fg.default[E](i)}if(o.startsWith("#")){let E=b4("hex",f);return Fg.default[E](o)(i)}if(o.startsWith("ansi")){let E=gJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]);return Fg.default[t](k)(i)}if(o.startsWith("rgb")||o.startsWith("hsl")||o.startsWith("hsv")||o.startsWith("hwb")){let E=yJ.exec(o);if(!E)return i;let t=b4(E[1],f),k=Number(E[2]),L=Number(E[3]),N=Number(E[4]);return Fg.default[t](k,L,N)(i)}return i}});var XR=ce(bg=>{"use strict";var KR=bg&&bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bg,"__esModule",{value:!0});var _J=KR(RR()),l3=KR(o3());bg.default=(i,o,f,p)=>{if(typeof f.style.borderStyle=="string"){let E=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),k=f.style.borderColor,L=_J.default[f.style.borderStyle],N=l3.default(L.topLeft+L.horizontal.repeat(E-2)+L.topRight,k,"foreground"),C=(l3.default(L.vertical,k,"foreground")+` -`).repeat(t-2),U=l3.default(L.bottomLeft+L.horizontal.repeat(E-2)+L.bottomRight,k,"foreground");p.write(i,o,N,{transformers:[]}),p.write(i,o+1,C,{transformers:[]}),p.write(i+E-1,o+1,C,{transformers:[]}),p.write(i,o+t-1,U,{transformers:[]})}}});var JR=ce(Pg=>{"use strict";var ih=Pg&&Pg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Pg,"__esModule",{value:!0});var EJ=ih(eh()),DJ=ih(Dw()),wJ=ih(SR()),SJ=ih(kw()),TJ=ih(TR()),CJ=ih(Nw()),xJ=ih(XR()),AJ=(i,o)=>{var f;let p=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(p){let E=p.getComputedLeft(),t=p.getComputedTop();o=` -`.repeat(t)+wJ.default(o,E)}return o},QR=(i,o,f)=>{var p;let{offsetX:E=0,offsetY:t=0,transformers:k=[],skipStaticElements:L}=f;if(L&&i.internal_static)return;let{yogaNode:N}=i;if(N){if(N.getDisplay()===EJ.default.DISPLAY_NONE)return;let C=E+N.getComputedLeft(),U=t+N.getComputedTop(),q=k;if(typeof i.internal_transform=="function"&&(q=[i.internal_transform,...k]),i.nodeName==="ink-text"){let W=CJ.default(i);if(W.length>0){let ne=DJ.default(W),m=TJ.default(N);if(ne>m){let we=(p=i.style.textWrap)!==null&&p!==void 0?p:"wrap";W=SJ.default(W,m,we)}W=AJ(i,W),o.write(C,U,W,{transformers:q})}return}if(i.nodeName==="ink-box"&&xJ.default(C,U,i,o),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let W of i.childNodes)QR(W,o,{offsetX:C,offsetY:U,transformers:q,skipStaticElements:L})}};Pg.default=QR});var $R=ce((Ure,ZR)=>{"use strict";ZR.exports=i=>{i=Object.assign({onlyFirst:!1},i);let o=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(o,i.onlyFirst?void 0:"g")}});var t7=ce((jre,s3)=>{"use strict";var RJ=$R(),e7=i=>typeof i=="string"?i.replace(RJ(),""):i;s3.exports=e7;s3.exports.default=e7});var i7=ce((zre,n7)=>{"use strict";var r7="[\uD800-\uDBFF][\uDC00-\uDFFF]";n7.exports=i=>i&&i.exact?new RegExp(`^${r7}$`):new RegExp(r7,"g")});var o7=ce((qre,a3)=>{"use strict";var OJ=t7(),kJ=i7(),u7=i=>OJ(i).replace(kJ()," ").length;a3.exports=u7;a3.exports.default=u7});var f7=ce(Ig=>{"use strict";var l7=Ig&&Ig.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ig,"__esModule",{value:!0});var s7=l7(Rw()),MJ=l7(o7()),a7=class{constructor(o){this.writes=[];let{width:f,height:p}=o;this.width=f,this.height=p}write(o,f,p,E){let{transformers:t}=E;!p||this.writes.push({x:o,y:f,text:p,transformers:t})}get(){let o=[];for(let p=0;pp.trimRight()).join(` -`),height:o.length}}};Ig.default=a7});var p7=ce(Bg=>{"use strict";var f3=Bg&&Bg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Bg,"__esModule",{value:!0});var NJ=f3(eh()),c7=f3(JR()),d7=f3(f7());Bg.default=(i,o)=>{var f;if(i.yogaNode.setWidth(o),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,NJ.default.DIRECTION_LTR);let p=new d7.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});c7.default(i,p,{skipStaticElements:!0});let E;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(E=new d7.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),c7.default(i.staticNode,E,{skipStaticElements:!1}));let{output:t,height:k}=p.get();return{output:t,outputHeight:k,staticOutput:E?`${E.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var y7=ce((Vre,h7)=>{"use strict";var v7=require("stream"),m7=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],c3={},LJ=i=>{let o=new v7.PassThrough,f=new v7.PassThrough;o.write=E=>i("stdout",E),f.write=E=>i("stderr",E);let p=new console.Console(o,f);for(let E of m7)c3[E]=console[E],console[E]=p[E];return()=>{for(let E of m7)console[E]=c3[E];c3={}}};h7.exports=LJ});var p3=ce(d3=>{"use strict";Object.defineProperty(d3,"__esModule",{value:!0});d3.default=new WeakMap});var v3=ce(h3=>{"use strict";Object.defineProperty(h3,"__esModule",{value:!0});var FJ=su(),g7=FJ.createContext({exit:()=>{}});g7.displayName="InternalAppContext";h3.default=g7});var y3=ce(m3=>{"use strict";Object.defineProperty(m3,"__esModule",{value:!0});var bJ=su(),_7=bJ.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});_7.displayName="InternalStdinContext";m3.default=_7});var _3=ce(g3=>{"use strict";Object.defineProperty(g3,"__esModule",{value:!0});var PJ=su(),E7=PJ.createContext({stdout:void 0,write:()=>{}});E7.displayName="InternalStdoutContext";g3.default=E7});var D3=ce(E3=>{"use strict";Object.defineProperty(E3,"__esModule",{value:!0});var IJ=su(),D7=IJ.createContext({stderr:void 0,write:()=>{}});D7.displayName="InternalStderrContext";E3.default=D7});var P4=ce(w3=>{"use strict";Object.defineProperty(w3,"__esModule",{value:!0});var BJ=su(),w7=BJ.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});w7.displayName="InternalFocusContext";w3.default=w7});var T7=ce((Zre,S7)=>{"use strict";var UJ=/[|\\{}()[\]^$+*?.-]/g;S7.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(UJ,"\\$&")}});var R7=ce(($re,C7)=>{"use strict";var jJ=T7(),x7=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));x7.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var I4=class{constructor(o){o=E0({ignoredPackages:[]},o),"internals"in o||(o.internals=I4.nodeInternals()),"cwd"in o||(o.cwd=process.cwd()),this._cwd=o.cwd.replace(/\\/g,"/"),this._internals=[].concat(o.internals,zJ(o.ignoredPackages)),this._wrapCallSite=o.wrapCallSite||!1}static nodeInternals(){return[...x7]}clean(o,f=0){f=" ".repeat(f),Array.isArray(o)||(o=o.split(` -`)),!/^\s*at /.test(o[0])&&/^\s*at /.test(o[1])&&(o=o.slice(1));let p=!1,E=null,t=[];return o.forEach(k=>{if(k=k.replace(/\\/g,"/"),this._internals.some(N=>N.test(k)))return;let L=/^\s*at /.test(k);p?k=k.trimEnd().replace(/^(\s+)at /,"$1"):(k=k.trim(),L&&(k=k.slice(3))),k=k.replace(`${this._cwd}/`,""),k&&(L?(E&&(t.push(E),E=null),t.push(k)):(p=!0,E=k))}),t.map(k=>`${f}${k} -`).join("")}captureString(o,f=this.captureString){typeof o=="function"&&(f=o,o=Infinity);let{stackTraceLimit:p}=Error;o&&(Error.stackTraceLimit=o);let E={};Error.captureStackTrace(E,f);let{stack:t}=E;return Error.stackTraceLimit=p,this.clean(t)}capture(o,f=this.capture){typeof o=="function"&&(f=o,o=Infinity);let{prepareStackTrace:p,stackTraceLimit:E}=Error;Error.prepareStackTrace=(L,N)=>this._wrapCallSite?N.map(this._wrapCallSite):N,o&&(Error.stackTraceLimit=o);let t={};Error.captureStackTrace(t,f);let{stack:k}=t;return Object.assign(Error,{prepareStackTrace:p,stackTraceLimit:E}),k}at(o=this.at){let[f]=this.capture(1,o);if(!f)return{};let p={line:f.getLineNumber(),column:f.getColumnNumber()};A7(p,f.getFileName(),this._cwd),f.isConstructor()&&(p.constructor=!0),f.isEval()&&(p.evalOrigin=f.getEvalOrigin()),f.isNative()&&(p.native=!0);let E;try{E=f.getTypeName()}catch(L){}E&&E!=="Object"&&E!=="[object Object]"&&(p.type=E);let t=f.getFunctionName();t&&(p.function=t);let k=f.getMethodName();return k&&t!==k&&(p.method=k),p}parseLine(o){let f=o&&o.match(qJ);if(!f)return null;let p=f[1]==="new",E=f[2],t=f[3],k=f[4],L=Number(f[5]),N=Number(f[6]),C=f[7],U=f[8],q=f[9],W=f[10]==="native",ne=f[11]===")",m,we={};if(U&&(we.line=Number(U)),q&&(we.column=Number(q)),ne&&C){let Se=0;for(let he=C.length-1;he>0;he--)if(C.charAt(he)===")")Se++;else if(C.charAt(he)==="("&&C.charAt(he-1)===" "&&(Se--,Se===-1&&C.charAt(he-1)===" ")){let ge=C.slice(0,he-1);C=C.slice(he+1),E+=` (${ge}`;break}}if(E){let Se=E.match(HJ);Se&&(E=Se[1],m=Se[2])}return A7(we,C,this._cwd),p&&(we.constructor=!0),t&&(we.evalOrigin=t,we.evalLine=L,we.evalColumn=N,we.evalFile=k&&k.replace(/\\/g,"/")),W&&(we.native=!0),E&&(we.function=E),m&&E!==m&&(we.method=m),we}};function A7(i,o,f){o&&(o=o.replace(/\\/g,"/"),o.startsWith(`${f}/`)&&(o=o.slice(f.length+1)),i.file=o)}function zJ(i){if(i.length===0)return[];let o=i.map(f=>jJ(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${o.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var qJ=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),HJ=/^(.*?) \[as (.*?)\]$/;C7.exports=I4});var k7=ce((eie,O7)=>{"use strict";O7.exports=(i,o)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(o||2)))});var N7=ce((tie,M7)=>{"use strict";var WJ=k7(),VJ=(i,o)=>{let f=[],p=i-o,E=i+o;for(let t=p;t<=E;t++)f.push(t);return f};M7.exports=(i,o,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!o||o<1)throw new TypeError("Line number must start from `1`.");if(i=WJ(i).split(/\r?\n/),!(o>i.length))return f=E0({around:3},f),VJ(o,f.around).filter(p=>i[p-1]!==void 0).map(p=>({line:p,value:i[p-1]}))}});var B4=ce(Zf=>{"use strict";var GJ=Zf&&Zf.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),YJ=Zf&&Zf.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),KJ=Zf&&Zf.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&GJ(o,i,f);return YJ(o,i),o},XJ=Zf&&Zf.__rest||function(i,o){var f={};for(var p in i)Object.prototype.hasOwnProperty.call(i,p)&&o.indexOf(p)<0&&(f[p]=i[p]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var E=0,p=Object.getOwnPropertySymbols(i);E{var{children:f}=i,p=XJ(i,["children"]);let E=Object.assign(Object.assign({},p),{marginLeft:p.marginLeft||p.marginX||p.margin||0,marginRight:p.marginRight||p.marginX||p.margin||0,marginTop:p.marginTop||p.marginY||p.margin||0,marginBottom:p.marginBottom||p.marginY||p.margin||0,paddingLeft:p.paddingLeft||p.paddingX||p.padding||0,paddingRight:p.paddingRight||p.paddingX||p.padding||0,paddingTop:p.paddingTop||p.paddingY||p.padding||0,paddingBottom:p.paddingBottom||p.paddingY||p.padding||0});return L7.default.createElement("ink-box",{ref:o,style:E},f)});S3.displayName="Box";S3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};Zf.default=S3});var x3=ce(Ug=>{"use strict";var T3=Ug&&Ug.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Ug,"__esModule",{value:!0});var QJ=T3(su()),dm=T3(u3()),F7=T3(o3()),C3=({color:i,backgroundColor:o,dimColor:f,bold:p,italic:E,underline:t,strikethrough:k,inverse:L,wrap:N,children:C})=>{if(C==null)return null;let U=q=>(f&&(q=dm.default.dim(q)),i&&(q=F7.default(q,i,"foreground")),o&&(q=F7.default(q,o,"background")),p&&(q=dm.default.bold(q)),E&&(q=dm.default.italic(q)),t&&(q=dm.default.underline(q)),k&&(q=dm.default.strikethrough(q)),L&&(q=dm.default.inverse(q)),q);return QJ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:N},internal_transform:U},C)};C3.displayName="Text";C3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};Ug.default=C3});var B7=ce($f=>{"use strict";var JJ=$f&&$f.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),ZJ=$f&&$f.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),$J=$f&&$f.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&JJ(o,i,f);return ZJ(o,i),o},jg=$f&&$f.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($f,"__esModule",{value:!0});var b7=$J(require("fs")),Vo=jg(su()),P7=jg(R7()),eZ=jg(N7()),Q1=jg(B4()),Ic=jg(x3()),I7=new P7.default({cwd:process.cwd(),internals:P7.default.nodeInternals()}),tZ=({error:i})=>{let o=i.stack?i.stack.split(` -`).slice(1):void 0,f=o?I7.parseLine(o[0]):void 0,p,E=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&b7.existsSync(f.file)){let t=b7.readFileSync(f.file,"utf8");if(p=eZ.default(t,f.line),p)for(let{line:k}of p)E=Math.max(E,String(k).length)}return Vo.default.createElement(Q1.default,{flexDirection:"column",padding:1},Vo.default.createElement(Q1.default,null,Vo.default.createElement(Ic.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),Vo.default.createElement(Ic.default,null," ",i.message)),f&&Vo.default.createElement(Q1.default,{marginTop:1},Vo.default.createElement(Ic.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&p&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},p.map(({line:t,value:k})=>Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Q1.default,{width:E+1},Vo.default.createElement(Ic.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(E," "),":")),Vo.default.createElement(Ic.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+k)))),i.stack&&Vo.default.createElement(Q1.default,{marginTop:1,flexDirection:"column"},i.stack.split(` -`).slice(1).map(t=>{let k=I7.parseLine(t);return k?Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},k.function),Vo.default.createElement(Ic.default,{dimColor:!0,color:"gray"}," ","(",k.file,":",k.line,":",k.column,")")):Vo.default.createElement(Q1.default,{key:t},Vo.default.createElement(Ic.default,{dimColor:!0},"- "),Vo.default.createElement(Ic.default,{dimColor:!0,bold:!0},t))})))};$f.default=tZ});var j7=ce(ec=>{"use strict";var nZ=ec&&ec.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),rZ=ec&&ec.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),iZ=ec&&ec.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&nZ(o,i,f);return rZ(o,i),o},uh=ec&&ec.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ec,"__esModule",{value:!0});var oh=iZ(su()),U7=uh(ZD()),uZ=uh(v3()),oZ=uh(y3()),lZ=uh(_3()),sZ=uh(D3()),aZ=uh(P4()),fZ=uh(B7()),cZ=" ",dZ="",pZ="",A3=class extends oh.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=o=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),o){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=o=>{o===""&&this.props.exitOnCtrlC&&this.handleExit(),o===pZ&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(o===cZ&&this.focusNext(),o===dZ&&this.focusPrevious())},this.handleExit=o=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(o)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(o=>{let f=o.focusables[0].id;return{activeFocusId:this.findNextFocusable(o)||f}})},this.focusPrevious=()=>{this.setState(o=>{let f=o.focusables[o.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(o)||f}})},this.addFocusable=(o,{autoFocus:f})=>{this.setState(p=>{let E=p.activeFocusId;return!E&&f&&(E=o),{activeFocusId:E,focusables:[...p.focusables,{id:o,isActive:!0}]}})},this.removeFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.filter(p=>p.id!==o)}))},this.activateFocusable=o=>{this.setState(f=>({focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!0})}))},this.deactivateFocusable=o=>{this.setState(f=>({activeFocusId:f.activeFocusId===o?void 0:f.activeFocusId,focusables:f.focusables.map(p=>p.id!==o?p:{id:o,isActive:!1})}))},this.findNextFocusable=o=>{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f+1;p{let f=o.focusables.findIndex(p=>p.id===o.activeFocusId);for(let p=f-1;p>=0;p--)if(o.focusables[p].isActive)return o.focusables[p].id}}static getDerivedStateFromError(o){return{error:o}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return oh.default.createElement(uZ.default.Provider,{value:{exit:this.handleExit}},oh.default.createElement(oZ.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},oh.default.createElement(lZ.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},oh.default.createElement(sZ.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},oh.default.createElement(aZ.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?oh.default.createElement(fZ.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){U7.default.hide(this.props.stdout)}componentWillUnmount(){U7.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(o){this.handleExit(o)}};ec.default=A3;A3.displayName="InternalApp"});var W7=ce(tc=>{"use strict";var hZ=tc&&tc.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),vZ=tc&&tc.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),mZ=tc&&tc.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&hZ(o,i,f);return vZ(o,i),o},nc=tc&&tc.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(tc,"__esModule",{value:!0});var yZ=nc(su()),z7=B5(),gZ=nc(Z5()),_Z=nc(GD()),EZ=nc(u9()),DZ=nc(l9()),U4=nc(DR()),wZ=nc(p7()),SZ=nc(JD()),TZ=nc(y7()),CZ=mZ(Lw()),xZ=nc(p3()),AZ=nc(j7()),pm=process.env.CI==="false"?!1:EZ.default,q7=()=>{},H7=class{constructor(o){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:p,staticOutput:E}=wZ.default(this.rootNode,this.options.stdout.columns||80),t=E&&E!==` -`;if(this.options.debug){t&&(this.fullStaticOutput+=E),this.options.stdout.write(this.fullStaticOutput+f);return}if(pm){t&&this.options.stdout.write(E),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=E),p>=this.options.stdout.rows){this.options.stdout.write(_Z.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(E),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},DZ.default(this),this.options=o,this.rootNode=CZ.createNode("ink-root"),this.rootNode.onRender=o.debug?this.onRender:z7.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=gZ.default.create(o.stdout),this.throttledLog=o.debug?this.log:z7.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=U4.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=SZ.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&U4.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),o.patchConsole&&this.patchConsole(),pm||(o.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{o.stdout.off("resize",this.onRender)})}render(o){let f=yZ.default.createElement(AZ.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},o);U4.default.updateContainer(f,this.container,null,q7)}writeToStdout(o){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(o+this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stdout.write(o);return}this.log.clear(),this.options.stdout.write(o),this.log(this.lastOutput)}}writeToStderr(o){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(o),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(pm){this.options.stderr.write(o);return}this.log.clear(),this.options.stderr.write(o),this.log(this.lastOutput)}}unmount(o){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),pm?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,U4.default.updateContainer(null,this.container,null,q7),xZ.default.delete(this.options.stdout),o instanceof Error?this.rejectExitPromise(o):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((o,f)=>{this.resolveExitPromise=o,this.rejectExitPromise=f})),this.exitPromise}clear(){!pm&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=TZ.default((o,f)=>{o==="stdout"&&this.writeToStdout(f),o==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};tc.default=H7});var G7=ce(zg=>{"use strict";var V7=zg&&zg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(zg,"__esModule",{value:!0});var RZ=V7(W7()),j4=V7(p3()),OZ=require("stream"),NZ=(i,o)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},kZ(o)),p=MZ(f.stdout,()=>new RZ.default(f));return p.render(i),{rerender:p.render,unmount:()=>p.unmount(),waitUntilExit:p.waitUntilExit,cleanup:()=>j4.default.delete(f.stdout),clear:p.clear}};zg.default=NZ;var kZ=(i={})=>i instanceof OZ.Stream?{stdout:i,stdin:process.stdin}:i,MZ=(i,o)=>{let f;return j4.default.has(i)?f=j4.default.get(i):(f=o(),j4.default.set(i,f)),f}});var K7=ce(J1=>{"use strict";var LZ=J1&&J1.__createBinding||(Object.create?function(i,o,f,p){p===void 0&&(p=f),Object.defineProperty(i,p,{enumerable:!0,get:function(){return o[f]}})}:function(i,o,f,p){p===void 0&&(p=f),i[p]=o[f]}),FZ=J1&&J1.__setModuleDefault||(Object.create?function(i,o){Object.defineProperty(i,"default",{enumerable:!0,value:o})}:function(i,o){i.default=o}),bZ=J1&&J1.__importStar||function(i){if(i&&i.__esModule)return i;var o={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&LZ(o,i,f);return FZ(o,i),o};Object.defineProperty(J1,"__esModule",{value:!0});var qg=bZ(su()),Y7=i=>{let{items:o,children:f,style:p}=i,[E,t]=qg.useState(0),k=qg.useMemo(()=>o.slice(E),[o,E]);qg.useLayoutEffect(()=>{t(o.length)},[o.length]);let L=k.map((C,U)=>f(C,E+U)),N=qg.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},p),[p]);return qg.default.createElement("ink-box",{internal_static:!0,style:N},L)};Y7.displayName="Static";J1.default=Y7});var Q7=ce(Hg=>{"use strict";var PZ=Hg&&Hg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Hg,"__esModule",{value:!0});var IZ=PZ(su()),X7=({children:i,transform:o})=>i==null?null:IZ.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:o},i);X7.displayName="Transform";Hg.default=X7});var Z7=ce(Wg=>{"use strict";var BZ=Wg&&Wg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Wg,"__esModule",{value:!0});var UZ=BZ(su()),J7=({count:i=1})=>UZ.default.createElement("ink-text",null,` -`.repeat(i));J7.displayName="Newline";Wg.default=J7});var tO=ce(Vg=>{"use strict";var $7=Vg&&Vg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Vg,"__esModule",{value:!0});var jZ=$7(su()),zZ=$7(B4()),eO=()=>jZ.default.createElement(zZ.default,{flexGrow:1});eO.displayName="Spacer";Vg.default=eO});var z4=ce(Gg=>{"use strict";var qZ=Gg&&Gg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Gg,"__esModule",{value:!0});var HZ=su(),WZ=qZ(y3()),VZ=()=>HZ.useContext(WZ.default);Gg.default=VZ});var rO=ce(Yg=>{"use strict";var GZ=Yg&&Yg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Yg,"__esModule",{value:!0});var nO=su(),YZ=GZ(z4()),KZ=(i,o={})=>{let{stdin:f,setRawMode:p,internal_exitOnCtrlC:E}=YZ.default();nO.useEffect(()=>{if(o.isActive!==!1)return p(!0),()=>{p(!1)}},[o.isActive,p]),nO.useEffect(()=>{if(o.isActive===!1)return;let t=k=>{let L=String(k),N={upArrow:L==="",downArrow:L==="",leftArrow:L==="",rightArrow:L==="",pageDown:L==="[6~",pageUp:L==="[5~",return:L==="\r",escape:L==="",ctrl:!1,shift:!1,tab:L===" "||L==="",backspace:L==="\b",delete:L==="\x7F"||L==="[3~",meta:!1};L<=""&&!N.return&&(L=String.fromCharCode(L.charCodeAt(0)+"a".charCodeAt(0)-1),N.ctrl=!0),L.startsWith("")&&(L=L.slice(1),N.meta=!0);let C=L>="A"&&L<="Z",U=L>="\u0410"&&L<="\u042F";L.length===1&&(C||U)&&(N.shift=!0),N.tab&&L==="[Z"&&(N.shift=!0),(N.tab||N.backspace||N.delete)&&(L=""),(!(L==="c"&&N.ctrl)||!E)&&i(L,N)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[o.isActive,f,E,i])};Yg.default=KZ});var iO=ce(Kg=>{"use strict";var XZ=Kg&&Kg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Kg,"__esModule",{value:!0});var QZ=su(),JZ=XZ(v3()),ZZ=()=>QZ.useContext(JZ.default);Kg.default=ZZ});var uO=ce(Xg=>{"use strict";var $Z=Xg&&Xg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Xg,"__esModule",{value:!0});var e$=su(),t$=$Z(_3()),n$=()=>e$.useContext(t$.default);Xg.default=n$});var oO=ce(Qg=>{"use strict";var r$=Qg&&Qg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Qg,"__esModule",{value:!0});var i$=su(),u$=r$(D3()),o$=()=>i$.useContext(u$.default);Qg.default=o$});var sO=ce(Jg=>{"use strict";var lO=Jg&&Jg.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Jg,"__esModule",{value:!0});var Zg=su(),l$=lO(P4()),s$=lO(z4()),a$=({isActive:i=!0,autoFocus:o=!1}={})=>{let{isRawModeSupported:f,setRawMode:p}=s$.default(),{activeId:E,add:t,remove:k,activate:L,deactivate:N}=Zg.useContext(l$.default),C=Zg.useMemo(()=>Math.random().toString().slice(2,7),[]);return Zg.useEffect(()=>(t(C,{autoFocus:o}),()=>{k(C)}),[C,o]),Zg.useEffect(()=>{i?L(C):N(C)},[i,C]),Zg.useEffect(()=>{if(!(!f||!i))return p(!0),()=>{p(!1)}},[i]),{isFocused:Boolean(C)&&E===C}};Jg.default=a$});var aO=ce($g=>{"use strict";var f$=$g&&$g.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty($g,"__esModule",{value:!0});var c$=su(),d$=f$(P4()),p$=()=>{let i=c$.useContext(d$.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};$g.default=p$});var fO=ce(R3=>{"use strict";Object.defineProperty(R3,"__esModule",{value:!0});R3.default=i=>{var o,f,p,E;return{width:(f=(o=i.yogaNode)===null||o===void 0?void 0:o.getComputedWidth())!==null&&f!==void 0?f:0,height:(E=(p=i.yogaNode)===null||p===void 0?void 0:p.getComputedHeight())!==null&&E!==void 0?E:0}}});var lh=ce(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});var h$=G7();Object.defineProperty(ql,"render",{enumerable:!0,get:function(){return h$.default}});var v$=B4();Object.defineProperty(ql,"Box",{enumerable:!0,get:function(){return v$.default}});var m$=x3();Object.defineProperty(ql,"Text",{enumerable:!0,get:function(){return m$.default}});var y$=K7();Object.defineProperty(ql,"Static",{enumerable:!0,get:function(){return y$.default}});var g$=Q7();Object.defineProperty(ql,"Transform",{enumerable:!0,get:function(){return g$.default}});var _$=Z7();Object.defineProperty(ql,"Newline",{enumerable:!0,get:function(){return _$.default}});var E$=tO();Object.defineProperty(ql,"Spacer",{enumerable:!0,get:function(){return E$.default}});var D$=rO();Object.defineProperty(ql,"useInput",{enumerable:!0,get:function(){return D$.default}});var w$=iO();Object.defineProperty(ql,"useApp",{enumerable:!0,get:function(){return w$.default}});var S$=z4();Object.defineProperty(ql,"useStdin",{enumerable:!0,get:function(){return S$.default}});var T$=uO();Object.defineProperty(ql,"useStdout",{enumerable:!0,get:function(){return T$.default}});var C$=oO();Object.defineProperty(ql,"useStderr",{enumerable:!0,get:function(){return C$.default}});var x$=sO();Object.defineProperty(ql,"useFocus",{enumerable:!0,get:function(){return x$.default}});var A$=aO();Object.defineProperty(ql,"useFocusManager",{enumerable:!0,get:function(){return A$.default}});var R$=fO();Object.defineProperty(ql,"measureElement",{enumerable:!0,get:function(){return R$.default}})});var k$={};sS(k$,{default:()=>N$,versionUtils:()=>RD});var M3=Mi(require("@yarnpkg/core"));var X_=Mi(require("@yarnpkg/cli")),em=Mi(require("@yarnpkg/core")),Q_=Mi(require("@yarnpkg/core")),cd=Mi(require("clipanion"));var RD={};sS(RD,{Decision:()=>Nu,applyPrerelease:()=>v5,applyReleases:()=>ND,applyStrategy:()=>Y_,clearVersionFiles:()=>OD,fetchBase:()=>pK,fetchChangedFiles:()=>vK,fetchRoot:()=>hK,getUndecidedDependentWorkspaces:()=>Zy,getUndecidedWorkspaces:()=>K_,openVersionFile:()=>$v,requireMoreDecisions:()=>yK,resolveVersionFiles:()=>Jy,suggestStrategy:()=>MD,updateVersionFiles:()=>kD,validateReleaseDecision:()=>Zv});var Gi=Mi(require("@yarnpkg/core")),D0=Mi(require("@yarnpkg/fslib")),W1=Mi(require("@yarnpkg/parsers")),Zp=Mi(require("@yarnpkg/plugin-git")),Jv=Mi(require("clipanion")),h5=Mi(p5()),Fc=Mi(require("semver")),pK=Zp.gitUtils.fetchBase,hK=Zp.gitUtils.fetchRoot,vK=Zp.gitUtils.fetchChangedFiles,mK=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,Nu;(function(k){k.UNDECIDED="undecided",k.DECLINE="decline",k.MAJOR="major",k.MINOR="minor",k.PATCH="patch",k.PRERELEASE="prerelease"})(Nu||(Nu={}));function Zv(i){let o=Fc.default.valid(i);return o||Gi.miscUtils.validateEnum((0,h5.default)(Nu,"UNDECIDED"),i)}async function Jy(i,{prerelease:o=null}={}){var t;let f=new Map,p=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(p))return new Map;let E=await D0.xfs.readdirPromise(p);for(let k of E){if(!k.endsWith(".yml"))continue;let L=D0.ppath.join(p,k),N=await D0.xfs.readFilePromise(L,"utf8"),C=(0,W1.parseSyml)(N);for(let[U,q]of Object.entries(C.releases||{})){if(q===Nu.DECLINE)continue;let W=Gi.structUtils.parseIdent(U),ne=i.tryWorkspaceByIdent(W);if(ne===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${D0.ppath.basename(L)} references ${U})`);if(ne.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${Gi.structUtils.prettyLocator(i.configuration,ne.anchoredLocator)})`);let m=(t=ne.manifest.raw.stableVersion)!=null?t:ne.manifest.version,we=f.get(ne),Se=Y_(m,Zv(q));if(Se===null)throw new Error(`Assertion failed: Expected ${m} to support being bumped via strategy ${q}`);let he=typeof we!="undefined"?Fc.default.gt(Se,we)?Se:we:Se;f.set(ne,he)}}return o&&(f=new Map([...f].map(([k,L])=>[k,v5(L,{current:k.manifest.version,prerelease:o})]))),f}async function OD(i){let o=i.configuration.get("deferredVersionFolder");!D0.xfs.existsSync(o)||await D0.xfs.removePromise(o)}async function kD(i){let o=i.configuration.get("deferredVersionFolder");if(!D0.xfs.existsSync(o))return;let f=await D0.xfs.readdirPromise(o);for(let p of f){if(!p.endsWith(".yml"))continue;let E=D0.ppath.join(o,p),t=await D0.xfs.readFilePromise(E,"utf8"),k=(0,W1.parseSyml)(t),L=k==null?void 0:k.releases;if(!!L){for(let N of Object.keys(L)){let C=Gi.structUtils.parseLocator(N);i.tryWorkspaceByLocator(C)===null&&delete k.releases[N]}await D0.xfs.changeFilePromise(E,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering(k)))}}}async function $v(i,{allowEmpty:o=!1}={}){let f=i.configuration;if(f.projectCwd===null)throw new Jv.UsageError("This command can only be run from within a Yarn project");let p=await Zp.gitUtils.fetchRoot(f.projectCwd),E=p!==null?await Zp.gitUtils.fetchBase(p,{baseRefs:f.get("changesetBaseRefs")}):null,t=p!==null?await Zp.gitUtils.fetchChangedFiles(p,{base:E.hash,project:i}):[],k=f.get("deferredVersionFolder"),L=t.filter(ne=>D0.ppath.contains(k,ne)!==null);if(L.length>1)throw new Jv.UsageError(`Your current branch contains multiple versioning files; this isn't supported: -- ${L.map(ne=>D0.npath.fromPortablePath(ne)).join(` -- `)}`);let N=new Set(Gi.miscUtils.mapAndFilter(t,ne=>{let m=i.tryWorkspaceByFilePath(ne);return m===null?Gi.miscUtils.mapAndFilter.skip:m}));if(L.length===0&&N.size===0&&!o)return null;let C=L.length===1?L[0]:D0.ppath.join(k,`${Gi.hashUtils.makeHash(Math.random().toString()).slice(0,8)}.yml`),U=D0.xfs.existsSync(C)?await D0.xfs.readFilePromise(C,"utf8"):"{}",q=(0,W1.parseSyml)(U),W=new Map;for(let ne of q.declined||[]){let m=Gi.structUtils.parseIdent(ne),we=i.getWorkspaceByIdent(m);W.set(we,Nu.DECLINE)}for(let[ne,m]of Object.entries(q.releases||{})){let we=Gi.structUtils.parseIdent(ne),Se=i.getWorkspaceByIdent(we);W.set(Se,Zv(m))}return{project:i,root:p,baseHash:E!==null?E.hash:null,baseTitle:E!==null?E.title:null,changedFiles:new Set(t),changedWorkspaces:N,releaseRoots:new Set([...N].filter(ne=>ne.manifest.version!==null)),releases:W,async saveAll(){let ne={},m=[],we=[];for(let Se of i.workspaces){if(Se.manifest.version===null)continue;let he=Gi.structUtils.stringifyIdent(Se.locator),ge=W.get(Se);ge===Nu.DECLINE?m.push(he):typeof ge!="undefined"?ne[he]=Zv(ge):N.has(Se)&&we.push(he)}await D0.xfs.mkdirPromise(D0.ppath.dirname(C),{recursive:!0}),await D0.xfs.changeFilePromise(C,(0,W1.stringifySyml)(new W1.stringifySyml.PreserveOrdering({releases:Object.keys(ne).length>0?ne:void 0,declined:m.length>0?m:void 0,undecided:we.length>0?we:void 0})))}}}function yK(i){return K_(i).size>0||Zy(i).length>0}function K_(i){let o=new Set;for(let f of i.changedWorkspaces)f.manifest.version!==null&&(i.releases.has(f)||o.add(f));return o}function Zy(i,{include:o=new Set}={}){let f=[],p=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k===Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t])),E=new Map(Gi.miscUtils.mapAndFilter([...i.releases],([t,k])=>k!==Nu.DECLINE?Gi.miscUtils.mapAndFilter.skip:[t.anchoredLocator.locatorHash,t]));for(let t of i.project.workspaces)if(!(!o.has(t)&&(E.has(t.anchoredLocator.locatorHash)||p.has(t.anchoredLocator.locatorHash)))&&t.manifest.version!==null)for(let k of Gi.Manifest.hardDependencies)for(let L of t.manifest.getForScope(k).values()){let N=i.project.tryWorkspaceByDescriptor(L);N!==null&&p.has(N.anchoredLocator.locatorHash)&&f.push([t,N])}return f}function MD(i,o){let f=Fc.default.clean(o);for(let p of Object.values(Nu))if(p!==Nu.UNDECIDED&&p!==Nu.DECLINE&&Fc.default.inc(i,p)===f)return p;return null}function Y_(i,o){if(Fc.default.valid(o))return o;if(i===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" unless the workspace already has a valid version`);if(!Fc.default.valid(i))throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on a non-semver version (${i})`);let f=Fc.default.inc(i,o);if(f===null)throw new Jv.UsageError(`Cannot apply the release strategy "${o}" on the specified version (${i})`);return f}function ND(i,o,{report:f}){let p=new Map;for(let E of i.workspaces)for(let t of Gi.Manifest.allDependencies)for(let k of E.manifest[t].values()){let L=i.tryWorkspaceByDescriptor(k);if(L===null||!o.has(L))continue;Gi.miscUtils.getArrayWithDefault(p,L).push([E,t,k.identHash])}for(let[E,t]of o){let k=E.manifest.version;E.manifest.version=t,Fc.default.prerelease(t)===null?delete E.manifest.raw.stableVersion:E.manifest.raw.stableVersion||(E.manifest.raw.stableVersion=k);let L=E.manifest.name!==null?Gi.structUtils.stringifyIdent(E.manifest.name):null;f.reportInfo(Gi.MessageName.UNNAMED,`${Gi.structUtils.prettyLocator(i.configuration,E.anchoredLocator)}: Bumped to ${t}`),f.reportJson({cwd:D0.npath.fromPortablePath(E.cwd),ident:L,oldVersion:k,newVersion:t});let N=p.get(E);if(typeof N!="undefined")for(let[C,U,q]of N){let W=C.manifest[U].get(q);if(typeof W=="undefined")throw new Error("Assertion failed: The dependency should have existed");let ne=W.range,m=!1;if(ne.startsWith(Gi.WorkspaceResolver.protocol)&&(ne=ne.slice(Gi.WorkspaceResolver.protocol.length),m=!0,ne===E.relativeCwd))continue;let we=ne.match(mK);if(!we){f.reportWarning(Gi.MessageName.UNNAMED,`Couldn't auto-upgrade range ${ne} (in ${Gi.structUtils.prettyLocator(i.configuration,C.anchoredLocator)})`);continue}let Se=`${we[1]}${t}`;m&&(Se=`${Gi.WorkspaceResolver.protocol}${Se}`);let he=Gi.structUtils.makeDescriptor(W,Se);C.manifest[U].set(q,he)}}}var gK=new Map([["%n",{extract:i=>i.length>=1?[i[0],i.slice(1)]:null,generate:(i=0)=>`${i+1}`}]]);function v5(i,{current:o,prerelease:f}){let p=new Fc.default.SemVer(o),E=p.prerelease.slice(),t=[];p.prerelease=[],p.format()!==i&&(E.length=0);let k=!0,L=f.split(/\./g);for(let N of L){let C=gK.get(N);if(typeof C=="undefined")t.push(N),E[0]===N?E.shift():k=!1;else{let U=k?C.extract(E):null;U!==null&&typeof U[0]=="number"?(t.push(C.generate(U[0])),E=U[1]):(t.push(C.generate()),k=!1)}}return p.prerelease&&(p.prerelease=[]),`${i}-${t.join(".")}`}var $y=class extends X_.BaseCommand{constructor(){super(...arguments);this.all=cd.Option.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=cd.Option.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=cd.Option.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=cd.Option.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=cd.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let o=await em.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Q_.Project.find(o,this.context.cwd),E=await em.Cache.find(o);if(!p)throw new X_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState({restoreResolutions:!1}),(await Q_.StreamReport.start({configuration:o,json:this.json,stdout:this.context.stdout},async k=>{let L=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,N=await Jy(f,{prerelease:L}),C=new Map;if(this.all)C=N;else{let U=this.recursive?p.getRecursiveWorkspaceDependencies():[p];for(let q of U){let W=N.get(q);typeof W!="undefined"&&C.set(q,W)}}if(C.size===0){let U=N.size>0?" Did you want to add --all?":"";k.reportWarning(em.MessageName.UNNAMED,`The current workspace doesn't seem to require a version bump.${U}`);return}ND(f,C,{report:k}),this.dryRun||(L||(this.all?await OD(f):await kD(f)),k.reportSeparator(),await f.install({cache:E,report:k}))})).exitCode()}};$y.paths=[["version","apply"]],$y.usage=cd.Command.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` - This command will apply the deferred version changes and remove their definitions from the repository. - - Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%d\`) will be used on all new versions and the version definitions will be kept as-is. - - By default only the current workspace will be bumped, but you can configure this behavior by using one of: - - - \`--recursive\` to also apply the version bump on its dependencies - - \`--all\` to apply the version bump on all packages in the repository - - Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. - `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});var m5=$y;var e_=Mi(require("@yarnpkg/cli")),s0=Mi(require("@yarnpkg/core")),rc=Mi(require("@yarnpkg/fslib"));var cO=Mi(lh()),sh=Mi(su()),dO=(0,sh.memo)(({active:i})=>{let o=(0,sh.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,sh.useMemo)(()=>i?"green":"yellow",[i]);return sh.default.createElement(cO.Text,{color:f},o)});var yd=Mi(lh()),Js=Mi(su());var pO=Mi(lh()),q4=Mi(su());function hm({active:i},o,f){let{stdin:p}=(0,pO.useStdin)(),E=(0,q4.useCallback)((t,k)=>o(t,k),f);(0,q4.useEffect)(()=>{if(!(!i||!p))return p.on("keypress",E),()=>{p.off("keypress",E)}},[i,E,p])}var ah;(function(f){f.BEFORE="before",f.AFTER="after"})(ah||(ah={}));var hO=function({active:i},o,f){hm({active:i},(p,E)=>{E.name==="tab"&&(E.shift?o(ah.BEFORE):o(ah.AFTER))},f)};var H4=function(i,o,{active:f,minus:p,plus:E,set:t,loop:k=!0}){hm({active:f},(L,N)=>{let C=o.indexOf(i);switch(N.name){case p:{let U=C-1;if(k){t(o[(o.length+U)%o.length]);return}if(U<0)return;t(o[U])}break;case E:{let U=C+1;if(k){t(o[U%o.length]);return}if(U>=o.length)return;t(o[U])}break}},[o,i,E,t,k])};var O3=({active:i=!0,children:o=[],radius:f=10,size:p=1,loop:E=!0,onFocusRequest:t,willReachEnd:k})=>{let L=Se=>{if(Se.key===null)throw new Error("Expected all children to have a key");return Se.key},N=Js.default.Children.map(o,Se=>L(Se)),C=N[0],[U,q]=(0,Js.useState)(C),W=N.indexOf(U);(0,Js.useEffect)(()=>{N.includes(U)||q(C)},[o]),(0,Js.useEffect)(()=>{k&&W>=N.length-2&&k()},[W]),hO({active:i&&!!t},Se=>{t==null||t(Se)},[t]),H4(U,N,{active:i,minus:"up",plus:"down",set:q,loop:E});let ne=W-f,m=W+f;m>N.length&&(ne-=m-N.length,m=N.length),ne<0&&(m+=-ne,ne=0),m>=N.length&&(m=N.length-1);let we=[];for(let Se=ne;Se<=m;++Se){let he=N[Se],ge=i&&he===U;we.push(Js.default.createElement(yd.Box,{key:he,height:p},Js.default.createElement(yd.Box,{marginLeft:1,marginRight:1},Js.default.createElement(yd.Text,null,ge?Js.default.createElement(yd.Text,{color:"cyan",bold:!0},">"):" ")),Js.default.createElement(yd.Box,null,Js.default.cloneElement(o[Se],{active:ge}))))}return Js.default.createElement(yd.Box,{flexDirection:"column",width:"100%"},we)};var W4=Mi(lh()),k3=Mi(su());var vO=Mi(lh()),Z1=Mi(su()),mO=Mi(require("readline")),O$=Z1.default.createContext(null),yO=({children:i})=>{let{stdin:o,setRawMode:f}=(0,vO.useStdin)();(0,Z1.useEffect)(()=>{f&&f(!0),o&&(0,mO.emitKeypressEvents)(o)},[o,f]);let[p,E]=(0,Z1.useState)(new Map),t=(0,Z1.useMemo)(()=>({getAll:()=>p,get:k=>p.get(k),set:(k,L)=>E(new Map([...p,[k,L]]))}),[p,E]);return Z1.default.createElement(O$.Provider,{value:t,children:i})};async function gO(i,o,{stdin:f,stdout:p,stderr:E}={}){let t,k=N=>{let{exit:C}=(0,W4.useApp)();hm({active:!0},(U,q)=>{q.name==="return"&&(t=N,C())},[C,N])},{waitUntilExit:L}=(0,W4.render)(k3.default.createElement(yO,null,k3.default.createElement(i,Gf(E0({},o),{useSubmit:k}))),{stdin:f,stdout:p,stderr:E});return await L(),t}var fh=Mi(require("clipanion")),Dr=Mi(lh()),Tn=Mi(su()),V4=Mi(require("semver"));var t_=class extends e_.BaseCommand{constructor(){super(...arguments);this.interactive=fh.Option.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState();let E=await $v(f);if(E===null||E.releaseRoots.size===0)return 0;if(E.root===null)throw new fh.UsageError("This command can only be run on Git repositories");let t=()=>Tn.default.createElement(Dr.Box,{flexDirection:"row",paddingBottom:1},Tn.default.createElement(Dr.Box,{flexDirection:"column",width:60},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},""),"/",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to save.")),Tn.default.createElement(Dr.Box,{marginLeft:1},Tn.default.createElement(Dr.Text,null,"Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),k=({workspace:W,active:ne,decision:m,setDecision:we})=>{var ze;let Se=(ze=W.manifest.raw.stableVersion)!=null?ze:W.manifest.version;if(Se===null)throw new Error(`Assertion failed: The version should have been set (${s0.structUtils.prettyLocator(o,W.anchoredLocator)})`);if(V4.default.prerelease(Se)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${Se})`);let he=[Nu.UNDECIDED,Nu.DECLINE,Nu.PATCH,Nu.MINOR,Nu.MAJOR];H4(m,he,{active:ne,minus:"left",plus:"right",set:we});let ge=m===Nu.UNDECIDED?Tn.default.createElement(Dr.Text,{color:"yellow"},Se):m===Nu.DECLINE?Tn.default.createElement(Dr.Text,{color:"green"},Se):Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"magenta"},Se)," \u2192 ",Tn.default.createElement(Dr.Text,{color:"green"},V4.default.valid(m)?m:V4.default.inc(Se,m)));return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,s0.structUtils.prettyLocator(o,W.anchoredLocator)," - ",ge)),Tn.default.createElement(Dr.Box,null,he.map(pe=>Tn.default.createElement(Dr.Box,{key:pe,paddingLeft:2},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(dO,{active:pe===m})," ",pe)))))},L=W=>{let ne=new Set(E.releaseRoots),m=new Map([...W].filter(([we])=>ne.has(we)));for(;;){let we=Zy({project:E.project,releases:m}),Se=!1;if(we.length>0){for(let[he]of we)if(!ne.has(he)){ne.add(he),Se=!0;let ge=W.get(he);typeof ge!="undefined"&&m.set(he,ge)}}if(!Se)break}return{relevantWorkspaces:ne,relevantReleases:m}},N=()=>{let[W,ne]=(0,Tn.useState)(()=>new Map(E.releases)),m=(0,Tn.useCallback)((we,Se)=>{let he=new Map(W);Se!==Nu.UNDECIDED?he.set(we,Se):he.delete(we);let{relevantReleases:ge}=L(he);ne(ge)},[W,ne]);return[W,m]},C=({workspaces:W,releases:ne})=>{let m=[];m.push(`${W.size} total`);let we=0,Se=0;for(let he of W){let ge=ne.get(he);typeof ge=="undefined"?Se+=1:ge!==Nu.DECLINE&&(we+=1)}return m.push(`${we} release${we===1?"":"s"}`),m.push(`${Se} remaining`),Tn.default.createElement(Dr.Text,{color:"yellow"},m.join(", "))},q=await gO(({useSubmit:W})=>{let[ne,m]=N();W(ne);let{relevantWorkspaces:we}=L(ne),Se=new Set([...we].filter(pe=>!E.releaseRoots.has(pe))),[he,ge]=(0,Tn.useState)(0),ze=(0,Tn.useCallback)(pe=>{switch(pe){case ah.BEFORE:ge(he-1);break;case ah.AFTER:ge(he+1);break}},[he,ge]);return Tn.default.createElement(Dr.Box,{flexDirection:"column"},Tn.default.createElement(t,null),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following files have been modified in your local checkout.")),Tn.default.createElement(Dr.Box,{flexDirection:"column",marginTop:1,paddingLeft:2},[...E.changedFiles].map(pe=>Tn.default.createElement(Dr.Box,{key:pe},Tn.default.createElement(Dr.Text,null,Tn.default.createElement(Dr.Text,{color:"grey"},rc.npath.fromPortablePath(E.root)),rc.npath.sep,rc.npath.relative(rc.npath.fromPortablePath(E.root),rc.npath.fromPortablePath(pe)))))),E.releaseRoots.size>0&&Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),Se.size>3?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:E.releaseRoots,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==0,radius:1,size:2,onFocusRequest:ze},[...E.releaseRoots].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))),Se.size>0?Tn.default.createElement(Tn.default.Fragment,null,Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(Dr.Text,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),Tn.default.createElement(Dr.Box,null,Tn.default.createElement(Dr.Text,null,"(Press ",Tn.default.createElement(Dr.Text,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),Se.size>5?Tn.default.createElement(Dr.Box,{marginTop:1},Tn.default.createElement(C,{workspaces:Se,releases:ne})):null,Tn.default.createElement(Dr.Box,{marginTop:1,flexDirection:"column"},Tn.default.createElement(O3,{active:he%2==1,radius:2,size:2,onFocusRequest:ze},[...Se].map(pe=>Tn.default.createElement(k,{key:pe.cwd,workspace:pe,decision:ne.get(pe)||Nu.UNDECIDED,setDecision:Oe=>m(pe,Oe)}))))):null)},{versionFile:E},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof q=="undefined")return 1;E.releases.clear();for(let[W,ne]of q)E.releases.set(W,ne);await E.saveAll()}async executeStandard(){let o=await s0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await s0.Project.find(o,this.context.cwd);if(!p)throw new e_.WorkspaceRequiredError(f.cwd,this.context.cwd);return await f.restoreInstallState(),(await s0.StreamReport.start({configuration:o,stdout:this.context.stdout},async t=>{let k=await $v(f);if(k===null||k.releaseRoots.size===0)return;if(k.root===null)throw new fh.UsageError("This command can only be run on Git repositories");if(t.reportInfo(s0.MessageName.UNNAMED,`Your PR was started right after ${s0.formatUtils.pretty(o,k.baseHash.slice(0,7),"yellow")} ${s0.formatUtils.pretty(o,k.baseTitle,"magenta")}`),k.changedFiles.size>0){t.reportInfo(s0.MessageName.UNNAMED,"You have changed the following files since then:"),t.reportSeparator();for(let q of k.changedFiles)t.reportInfo(null,`${s0.formatUtils.pretty(o,rc.npath.fromPortablePath(k.root),"gray")}${rc.npath.sep}${rc.npath.relative(rc.npath.fromPortablePath(k.root),rc.npath.fromPortablePath(q))}`)}let L=!1,N=!1,C=K_(k);if(C.size>0){L||t.reportSeparator();for(let q of C)t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} has been modified but doesn't have a release strategy attached`);L=!0}let U=Zy(k);for(let[q,W]of U)N||t.reportSeparator(),t.reportError(s0.MessageName.UNNAMED,`${s0.structUtils.prettyLocator(o,q.anchoredLocator)} doesn't have a release strategy attached, but depends on ${s0.structUtils.prettyWorkspace(o,W)} which is planned for release.`),N=!0;(L||N)&&(t.reportSeparator(),t.reportInfo(s0.MessageName.UNNAMED,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),t.reportInfo(s0.MessageName.UNNAMED,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};t_.paths=[["version","check"]],t_.usage=fh.Command.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});var _O=t_;var G4=Mi(require("@yarnpkg/cli")),Y4=Mi(require("@yarnpkg/core")),Bc=Mi(require("clipanion")),K4=Mi(require("semver"));var n_=class extends G4.BaseCommand{constructor(){super(...arguments);this.deferred=Bc.Option.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=Bc.Option.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=Bc.Option.String()}async execute(){let o=await Y4.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:p}=await Y4.Project.find(o,this.context.cwd);if(!p)throw new G4.WorkspaceRequiredError(f.cwd,this.context.cwd);let E=o.get("preferDeferredVersions");this.deferred&&(E=!0),this.immediate&&(E=!1);let t=K4.default.valid(this.strategy),k=this.strategy===Nu.DECLINE,L;if(t)if(p.manifest.version!==null){let C=MD(p.manifest.version,this.strategy);C!==null?L=C:L=this.strategy}else L=this.strategy;else{let C=p.manifest.version;if(!k){if(C===null)throw new Bc.UsageError("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof C!="string"||!K4.default.valid(C))throw new Bc.UsageError(`Can't bump the version (${C}) if it's not valid semver`)}L=Zv(this.strategy)}if(!E){let U=(await Jy(f)).get(p);if(typeof U!="undefined"&&L!==Nu.DECLINE){let q=Y_(p.manifest.version,L);if(K4.default.lt(q,U))throw new Bc.UsageError(`Can't bump the version to one that would be lower than the current deferred one (${U})`)}}let N=await $v(f,{allowEmpty:!0});return N.releases.set(p,L),await N.saveAll(),E?0:await this.cli.run(["version","apply"])}};n_.paths=[["version"]],n_.usage=Bc.Command.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var EO=n_;var M$={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:M3.SettingsType.ABSOLUTE_PATH,default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:M3.SettingsType.BOOLEAN,default:!1}},commands:[m5,_O,EO]},N$=M$;return k$;})(); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-debug-tools.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler-tracing.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler-tracing.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -return plugin; -} -}; diff --git a/.yarn/releases/yarn-3.6.1.cjs b/.yarn/releases/yarn-3.6.3.cjs similarity index 79% rename from .yarn/releases/yarn-3.6.1.cjs rename to .yarn/releases/yarn-3.6.3.cjs index 5227385a9..9837c3028 100755 --- a/.yarn/releases/yarn-3.6.1.cjs +++ b/.yarn/releases/yarn-3.6.3.cjs @@ -1,48 +1,48 @@ #!/usr/bin/env node /* eslint-disable */ //prettier-ignore -(()=>{var xge=Object.create;var lS=Object.defineProperty;var Pge=Object.getOwnPropertyDescriptor;var Dge=Object.getOwnPropertyNames;var kge=Object.getPrototypeOf,Rge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Fge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Nge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dge(e))!Rge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=Pge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?xge(kge(r)):{},Nge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var vK=w((JXe,SK)=>{SK.exports=QK;QK.sync=tfe;var BK=J("fs");function efe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{kK.exports=PK;PK.sync=rfe;var xK=J("fs");function PK(r,e,t){xK.stat(r,function(i,n){t(i,i?!1:DK(n,e))})}function rfe(r,e){return DK(xK.statSync(r),e)}function DK(r,e){return r.isFile()&&ife(r,e)}function ife(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var NK=w((VXe,FK)=>{var zXe=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=vK():lI=RK();FK.exports=SS;SS.sync=nfe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function nfe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var HK=w((XXe,UK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",TK=J("path"),sfe=Dg?";":":",LK=NK(),MK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),OK=(r,e)=>{let t=e.colon||sfe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},KK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=OK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(MK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=TK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];LK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},ofe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=OK(r,e),s=[];for(let o=0;o{"use strict";var GK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=GK;vS.exports.default=GK});var WK=w((_Xe,JK)=>{"use strict";var jK=J("path"),afe=HK(),Afe=YK();function qK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=afe.sync(r.command,{path:t[Afe({env:t})],pathExt:e?jK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=jK.resolve(n?r.options.cwd:"",o)),o}function lfe(r){return qK(r)||qK(r,!0)}JK.exports=lfe});var zK=w(($Xe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function cfe(r){return r=r.replace(xS,"^$1"),r}function ufe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=cfe;PS.exports.argument=ufe});var XK=w((eZe,VK)=>{"use strict";VK.exports=/^#!(.*)/});var _K=w((tZe,ZK)=>{"use strict";var gfe=XK();ZK.exports=(r="")=>{let e=r.match(gfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var eU=w((rZe,$K)=>{"use strict";var DS=J("fs"),ffe=_K();function hfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return ffe(t.toString())}$K.exports=hfe});var nU=w((iZe,iU)=>{"use strict";var pfe=J("path"),tU=WK(),rU=zK(),dfe=eU(),Cfe=process.platform==="win32",mfe=/\.(?:com|exe)$/i,Efe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ife(r){r.file=tU(r);let e=r.file&&dfe(r.file);return e?(r.args.unshift(r.file),r.command=e,tU(r)):r.file}function yfe(r){if(!Cfe)return r;let e=Ife(r),t=!mfe.test(e);if(r.options.forceShell||t){let i=Efe.test(e);r.command=pfe.normalize(r.command),r.command=rU.command(r.command),r.args=r.args.map(s=>rU.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function wfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:yfe(i)}iU.exports=wfe});var aU=w((nZe,oU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Bfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=sU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function sU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function bfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}oU.exports={hookChildProcess:Bfe,verifyENOENT:sU,verifyENOENTSync:bfe,notFoundError:RS}});var TS=w((sZe,kg)=>{"use strict";var AU=J("child_process"),FS=nU(),NS=aU();function lU(r,e,t){let i=FS(r,e,t),n=AU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function Qfe(r,e,t){let i=FS(r,e,t),n=AU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=lU;kg.exports.spawn=lU;kg.exports.sync=Qfe;kg.exports._parse=FS;kg.exports._enoent=NS});var uU=w((oZe,cU)=>{"use strict";function Sfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}Sfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Mr="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ks=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),fa="'",CA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',mA=me('""',!1),ha=function(){return{type:"text",text:""}},wp='"',EA=me('"',!1),IA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Tl=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},Io=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,yo=Je(["'"],!0,!1),Fn=function(m){return m.join("")},fg=/^[^$"]/,bt=Je(["$",'"'],!0,!1),Ll=`\\ +(()=>{var Dge=Object.create;var lS=Object.defineProperty;var kge=Object.getOwnPropertyDescriptor;var Rge=Object.getOwnPropertyNames;var Fge=Object.getPrototypeOf,Nge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Tge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Lge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Rge(e))!Nge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=kge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Dge(Fge(r)):{},Lge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var PK=w((z7e,xK)=>{xK.exports=vK;vK.sync=ife;var QK=J("fs");function rfe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{FK.exports=kK;kK.sync=nfe;var DK=J("fs");function kK(r,e,t){DK.stat(r,function(i,n){t(i,i?!1:RK(n,e))})}function nfe(r,e){return RK(DK.statSync(r),e)}function RK(r,e){return r.isFile()&&sfe(r,e)}function sfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var LK=w((Z7e,TK)=>{var X7e=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=PK():lI=NK();TK.exports=SS;SS.sync=ofe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function ofe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var YK=w((_7e,GK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",MK=J("path"),afe=Dg?";":":",OK=LK(),KK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),UK=(r,e)=>{let t=e.colon||afe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},HK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=UK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(KK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=MK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];OK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Afe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=UK(r,e),s=[];for(let o=0;o{"use strict";var jK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=jK;vS.exports.default=jK});var VK=w((eZe,zK)=>{"use strict";var JK=J("path"),lfe=YK(),cfe=qK();function WK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=lfe.sync(r.command,{path:t[cfe({env:t})],pathExt:e?JK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=JK.resolve(n?r.options.cwd:"",o)),o}function ufe(r){return WK(r)||WK(r,!0)}zK.exports=ufe});var XK=w((tZe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function gfe(r){return r=r.replace(xS,"^$1"),r}function ffe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=gfe;PS.exports.argument=ffe});var _K=w((rZe,ZK)=>{"use strict";ZK.exports=/^#!(.*)/});var eU=w((iZe,$K)=>{"use strict";var hfe=_K();$K.exports=(r="")=>{let e=r.match(hfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var rU=w((nZe,tU)=>{"use strict";var DS=J("fs"),pfe=eU();function dfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return pfe(t.toString())}tU.exports=dfe});var oU=w((sZe,sU)=>{"use strict";var Cfe=J("path"),iU=VK(),nU=XK(),mfe=rU(),Efe=process.platform==="win32",Ife=/\.(?:com|exe)$/i,yfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wfe(r){r.file=iU(r);let e=r.file&&mfe(r.file);return e?(r.args.unshift(r.file),r.command=e,iU(r)):r.file}function Bfe(r){if(!Efe)return r;let e=wfe(r),t=!Ife.test(e);if(r.options.forceShell||t){let i=yfe.test(e);r.command=Cfe.normalize(r.command),r.command=nU.command(r.command),r.args=r.args.map(s=>nU.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function bfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Bfe(i)}sU.exports=bfe});var lU=w((oZe,AU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Qfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=aU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function aU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function Sfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}AU.exports={hookChildProcess:Qfe,verifyENOENT:aU,verifyENOENTSync:Sfe,notFoundError:RS}});var TS=w((aZe,kg)=>{"use strict";var cU=J("child_process"),FS=oU(),NS=lU();function uU(r,e,t){let i=FS(r,e,t),n=cU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function vfe(r,e,t){let i=FS(r,e,t),n=cU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=uU;kg.exports.spawn=uU;kg.exports.sync=vfe;kg.exports._parse=FS;kg.exports._enoent=NS});var fU=w((AZe,gU)=>{"use strict";function xfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}xfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Mr="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ks=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),fa="'",dA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',CA=me('""',!1),ha=function(){return{type:"text",text:""}},wp='"',mA=me('"',!1),EA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Tl=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},yo=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,wo=Je(["'"],!0,!1),Fn=function(m){return m.join("")},fg=/^[^$"]/,bt=Je(["$",'"'],!0,!1),Ll=`\\ `,Nn=me(`\\ -`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),wo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ml="\\b",Qp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),yA=function(){return"\f"},zi="\\n",Ol=me("\\n",!1),Xe=function(){return` -`},pa="\\r",pg=me("\\r",!1),ME=function(){return"\r"},Dp="\\t",OE=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",wA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),Bo=nt(),BA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,Q,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+N.join(""))}},Fp=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",bA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,Q,N){return{type:Q==="*"?"multiplication":"division",right:N}},js=function(m,Q){return Q.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,Q,N){return{type:Q==="+"?"addition":"subtraction",right:N}},QA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),JQ=":-",P1=me(":-",!1),D1=function(m,Q){return{name:m,defaultValue:Q}},WQ=":-}",k1=me(":-}",!1),R1=function(m){return{name:m,defaultValue:[]}},zQ=":+",F1=me(":+",!1),N1=function(m,Q){return{name:m,alternativeValue:Q}},VQ=":+}",T1=me(":+}",!1),L1=function(m){return{name:m,alternativeValue:[]}},XQ=function(m){return{name:m}},M1="$",O1=me("$",!1),K1=function(m){return e.isGlobPattern(m)},U1=function(m){return m},ZQ=/^[a-zA-Z0-9_]/,_Q=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$Q=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),H1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),b=0,Oe=0,SA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Oe,b)}function Z(){return Et(Oe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Ri([lt(m)],r.substring(Oe,b),Q)}function we(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Mn(m,Q)}function me(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Je(m,Q,N){return{type:"class",parts:m,inverted:Q,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var Q=SA[m],N;if(Q)return Q;for(N=m-1;!SA[N];)N--;for(Q=SA[N],Q={line:Q.line,column:Q.column};Nd&&(d=b,E=[]),E.push(m))}function Mn(m,Q){return new Zl(m,null,null,Q)}function Ri(m,Q,N){return new Zl(Zl.buildMessage(m,Q),m,Q,N)}function vA(){var m,Q;return m=b,Q=Or(),Q===t&&(Q=null),Q!==t&&(Oe=m,Q=s(Q)),m=Q,m}function Or(){var m,Q,N,U,ce;if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Oe=m,Q=o(Q,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Oe=m,Q=a(Q,U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function os(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=Or(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=l(N),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Ea(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&be(f))),m}function Kr(){var m,Q,N;return m=b,Q=G1(),Q!==t?(N=uge(),N===t&&(N=null),N!==t?(Oe=m,Q=h(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function uge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=gge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=p(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function gge(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&be(y)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&be(v))),m}function G1(){var m,Q,N;return m=b,Q=pge(),Q!==t?(N=fge(),N===t&&(N=null),N!==t?(Oe=m,Q=D(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function fge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=G1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=T(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function hge(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&be(V))),m}function qE(){var m,Q,N,U,ce,Se;if(m=b,Q=eK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t)if(U=q1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Oe=m,Q=A(Q,U),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=eK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function pge(){var m,Q,N,U,ce,Se,ht,Bt,Jr,hi,as;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===40?(N=ge,b++):(N=t,I===0&&be(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===41?(ht=M,b++):(ht=t,I===0&&be(F)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=ue(ce,Jr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===123?(N=pe,b++):(N=t,I===0&&be(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===125?(ht=Fe,b++):(ht=t,I===0&&be(Ne)),ht!==t){for(Bt=[],Jr=He();Jr!==t;)Bt.push(Jr),Jr=He();if(Bt!==t){for(Jr=[],hi=Np();hi!==t;)Jr.push(hi),hi=Np();if(Jr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=oe(ce,Jr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){for(N=[],U=qE();U!==t;)N.push(U),U=qE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=j1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=j1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=le(N,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=qE(),U!==t)for(;U!==t;)N.push(U),U=qE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Be(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function Y1(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=JE(),U!==t)for(;U!==t;)N.push(U),U=JE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=fe(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function j1(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t?(N=Np(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();Q!==t?(N=JE(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function Np(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(qe.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(ne)),N===t&&(N=null),N!==t?(U=dge(),U!==t?(ce=JE(),ce!==t?(Oe=m,Q=Y(N,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function dge(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&be(ie)),m===t&&(r.substr(b,2)===de?(m=de,b+=2):(m=t,I===0&&be(_e)),m===t&&(r.charCodeAt(b)===62?(m=Pt,b++):(m=t,I===0&&be(It)),m===t&&(r.substr(b,3)===Mr?(m=Mr,b+=3):(m=t,I===0&&be(ii)),m===t&&(r.substr(b,2)===gi?(m=gi,b+=2):(m=t,I===0&&be(hr)),m===t&&(r.charCodeAt(b)===60?(m=fi,b++):(m=t,I===0&&be(ni))))))),m}function JE(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(N=q1(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m}function q1(){var m,Q,N;if(m=b,Q=[],N=J1(),N!==t)for(;N!==t;)Q.push(N),N=J1();else Q=t;return Q!==t&&(Oe=m,Q=Ks(Q)),m=Q,m}function J1(){var m,Q;return m=b,Q=Cge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=mge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ege(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ige(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q))),m}function Cge(){var m,Q,N,U;return m=b,r.substr(b,2)===Ii?(Q=Ii,b+=2):(Q=t,I===0&&be(rs)),Q!==t?(N=Bge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(CA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function mge(){var m,Q,N,U;return m=b,r.charCodeAt(b)===39?(Q=fa,b++):(Q=t,I===0&&be(CA)),Q!==t?(N=yge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(CA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function Ege(){var m,Q,N,U;if(m=b,r.substr(b,2)===is?(Q=is,b+=2):(Q=t,I===0&&be(mA)),Q!==t&&(Oe=m,Q=ha()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=wp,b++):(Q=t,I===0&&be(EA)),Q!==t){for(N=[],U=W1();U!==t;)N.push(U),U=W1();N!==t?(r.charCodeAt(b)===34?(U=wp,b++):(U=t,I===0&&be(EA)),U!==t?(Oe=m,Q=IA(N),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function Ige(){var m,Q,N;if(m=b,Q=[],N=z1(),N!==t)for(;N!==t;)Q.push(N),N=z1();else Q=t;return Q!==t&&(Oe=m,Q=IA(Q)),m=Q,m}function W1(){var m,Q;return m=b,Q=_1(),Q!==t&&(Oe=m,Q=wr(Q)),m=Q,m===t&&(m=b,Q=$1(),Q!==t&&(Oe=m,Q=Tl(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=ug(Q)),m=Q,m===t&&(m=b,Q=wge(),Q!==t&&(Oe=m,Q=Io(Q)),m=Q))),m}function z1(){var m,Q;return m=b,Q=_1(),Q!==t&&(Oe=m,Q=gg(Q)),m=Q,m===t&&(m=b,Q=$1(),Q!==t&&(Oe=m,Q=Bp(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=bp(Q)),m=Q,m===t&&(m=b,Q=Sge(),Q!==t&&(Oe=m,Q=vr(Q)),m=Q,m===t&&(m=b,Q=Qge(),Q!==t&&(Oe=m,Q=Io(Q)),m=Q)))),m}function yge(){var m,Q,N;for(m=b,Q=[],se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo));N!==t;)Q.push(N),se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function wge(){var m,Q,N;if(m=b,Q=[],N=V1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt))),N!==t)for(;N!==t;)Q.push(N),N=V1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt)));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function V1(){var m,Q,N;return m=b,r.substr(b,2)===Ll?(Q=Ll,b+=2):(Q=t,I===0&&be(Nn)),Q!==t&&(Oe=m,Q=ns()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(wo.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(At)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t)),m}function Bge(){var m,Q,N;for(m=b,Q=[],N=X1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo)));N!==t;)Q.push(N),N=X1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(yo)));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function X1(){var m,Q,N;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&be(Lt)),Q!==t&&(Oe=m,Q=hg()),m=Q,m===t&&(m=b,r.substr(b,2)===Ml?(Q=Ml,b+=2):(Q=t,I===0&&be(Qp)),Q!==t&&(Oe=m,Q=Sp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(vp.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(xp)),N!==t?(Oe=m,Q=Pp(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&be(yt)),Q!==t&&(Oe=m,Q=yA()),m=Q,m===t&&(m=b,r.substr(b,2)===zi?(Q=zi,b+=2):(Q=t,I===0&&be(Ol)),Q!==t&&(Oe=m,Q=Xe()),m=Q,m===t&&(m=b,r.substr(b,2)===pa?(Q=pa,b+=2):(Q=t,I===0&&be(pg)),Q!==t&&(Oe=m,Q=ME()),m=Q,m===t&&(m=b,r.substr(b,2)===Dp?(Q=Dp,b+=2):(Q=t,I===0&&be(OE)),Q!==t&&(Oe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Tn?(Q=Tn,b+=2):(Q=t,I===0&&be(Kl)),Q!==t&&(Oe=m,Q=kp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Us.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(da)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=bge()))))))))),m}function bge(){var m,Q,N,U,ce,Se,ht,Bt,Jr,hi,as,AS;return m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(N=nS(),N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Le?(Q=Le,b+=2):(Q=t,I===0&&be(dg)),Q!==t?(N=b,U=b,ce=nS(),ce!==t?(Se=On(),Se!==t?(ce=[ce,Se],U=ce):(b=U,U=t)):(b=U,U=t),U===t&&(U=nS()),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ul?(Q=Ul,b+=2):(Q=t,I===0&&be(Hs)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Hl?(Q=Hl,b+=2):(Q=t,I===0&&be(wA)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(Jr=On(),Jr!==t?(hi=On(),hi!==t?(as=On(),as!==t?(AS=On(),AS!==t?(ce=[ce,Se,ht,Bt,Jr,hi,as,AS],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=Cg(N),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(Ca)),m}function On(){var m;return ma.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(rt)),m}function Qge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=tK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t)),N!==t)for(;N!==t;)Q.push(N),N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=tK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function sS(){var m,Q,N,U,ce,Se;if(m=b,r.charCodeAt(b)===45?(Q=BA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;if(N!==t)if(r.charCodeAt(b)===46?(U=KE,b++):(U=t,I===0&&be(Rp)),U!==t){if(ce=[],qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne));else ce=t;ce!==t?(Oe=m,Q=Eg(Q,N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=BA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;N!==t?(Oe=m,Q=Fp(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=UE(Q)),m=Q,m===t&&(m=b,Q=ql(),Q!==t&&(Oe=m,Q=jl(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&be(re)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=Z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(b)===41?(Se=M,b++):(Se=t,I===0&&be(F)),Se!==t?(Oe=m,Q=HE(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function oS(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=sS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(bA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(bA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function Z1(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=oS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=BA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=BA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function _1(){var m,Q,N,U,ce,Se;if(m=b,r.substr(b,3)===QA?(Q=QA,b+=3):(Q=t,I===0&&be(R)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=Z1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(b,2)===q?(Se=q,b+=2):(Se=t,I===0&&be(Ce)),Se!==t?(Oe=m,Q=Ke(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function $1(){var m,Q,N,U;return m=b,r.substr(b,2)===Re?(Q=Re,b+=2):(Q=t,I===0&&be(ze)),Q!==t?(N=Or(),N!==t?(r.charCodeAt(b)===41?(U=M,b++):(U=t,I===0&&be(F)),U!==t?(Oe=m,Q=dt(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function aS(){var m,Q,N,U,ce,Se;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===JQ?(U=JQ,b+=2):(U=t,I===0&&be(P1)),U!==t?(ce=Y1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=D1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===WQ?(U=WQ,b+=3):(U=t,I===0&&be(k1)),U!==t?(Oe=m,Q=R1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===zQ?(U=zQ,b+=2):(U=t,I===0&&be(F1)),U!==t?(ce=Y1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=N1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===VQ?(U=VQ,b+=3):(U=t,I===0&&be(T1)),U!==t?(Oe=m,Q=L1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.charCodeAt(b)===125?(U=Fe,b++):(U=t,I===0&&be(Ne)),U!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=M1,b++):(Q=t,I===0&&be(O1)),Q!==t?(N=ql(),N!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function Sge(){var m,Q,N;return m=b,Q=vge(),Q!==t?(Oe=b,N=K1(Q),N?N=void 0:N=t,N!==t?(Oe=m,Q=U1(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function vge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,U=b,I++,ce=rK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N!==t)for(;N!==t;)Q.push(N),N=b,U=b,I++,ce=rK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(Bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t);else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function eK(){var m,Q,N;if(m=b,Q=[],ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q)),N!==t)for(;N!==t;)Q.push(N),ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function ql(){var m,Q,N;if(m=b,Q=[],eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS)),N!==t)for(;N!==t;)Q.push(N),eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function tK(){var m;return H1.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(wg)),m}function rK(){var m;return rS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(iS)),m}function He(){var m,Q;if(m=[],YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE)),Q!==t)for(;Q!==t;)m.push(Q),YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function xfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}xfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function dU(r){return typeof r>"u"||r===null}function Dfe(r){return typeof r=="object"&&r!==null}function kfe(r){return Array.isArray(r)?r:dU(r)?[]:[r]}function Rfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};CU.exports=Vp});var IU=w((bZe,EU)=>{"use strict";var mU=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),Bo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ml="\\b",Qp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),IA=function(){return"\f"},zi="\\n",Ol=me("\\n",!1),Xe=function(){return` +`},pa="\\r",pg=me("\\r",!1),ME=function(){return"\r"},Dp="\\t",OE=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",yA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),bo=nt(),wA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,Q,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+N.join(""))}},Fp=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",BA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,Q,N){return{type:Q==="*"?"multiplication":"division",right:N}},js=function(m,Q){return Q.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,Q,N){return{type:Q==="+"?"addition":"subtraction",right:N}},bA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),JQ=":-",k1=me(":-",!1),R1=function(m,Q){return{name:m,defaultValue:Q}},WQ=":-}",F1=me(":-}",!1),N1=function(m){return{name:m,defaultValue:[]}},zQ=":+",T1=me(":+",!1),L1=function(m,Q){return{name:m,alternativeValue:Q}},VQ=":+}",M1=me(":+}",!1),O1=function(m){return{name:m,alternativeValue:[]}},XQ=function(m){return{name:m}},K1="$",U1=me("$",!1),H1=function(m){return e.isGlobPattern(m)},G1=function(m){return m},ZQ=/^[a-zA-Z0-9_]/,_Q=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$Q=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Y1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),b=0,Oe=0,QA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Oe,b)}function Z(){return Et(Oe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Ri([lt(m)],r.substring(Oe,b),Q)}function we(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Mn(m,Q)}function me(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Je(m,Q,N){return{type:"class",parts:m,inverted:Q,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var Q=QA[m],N;if(Q)return Q;for(N=m-1;!QA[N];)N--;for(Q=QA[N],Q={line:Q.line,column:Q.column};Nd&&(d=b,E=[]),E.push(m))}function Mn(m,Q){return new Zl(m,null,null,Q)}function Ri(m,Q,N){return new Zl(Zl.buildMessage(m,Q),m,Q,N)}function SA(){var m,Q;return m=b,Q=Or(),Q===t&&(Q=null),Q!==t&&(Oe=m,Q=s(Q)),m=Q,m}function Or(){var m,Q,N,U,ce;if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Oe=m,Q=o(Q,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Oe=m,Q=a(Q,U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function os(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=Or(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=l(N),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Ea(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&be(f))),m}function Kr(){var m,Q,N;return m=b,Q=j1(),Q!==t?(N=fge(),N===t&&(N=null),N!==t?(Oe=m,Q=h(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function fge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=p(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function hge(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&be(y)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&be(v))),m}function j1(){var m,Q,N;return m=b,Q=Cge(),Q!==t?(N=pge(),N===t&&(N=null),N!==t?(Oe=m,Q=D(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function pge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=dge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=j1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=T(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function dge(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&be(V))),m}function qE(){var m,Q,N,U,ce,Se;if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t)if(U=W1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Oe=m,Q=A(Q,U),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Cge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===40?(N=ge,b++):(N=t,I===0&&be(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===41?(ht=M,b++):(ht=t,I===0&&be(F)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=ue(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===123?(N=pe,b++):(N=t,I===0&&be(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===125?(ht=Fe,b++):(ht=t,I===0&&be(Ne)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=oe(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){for(N=[],U=qE();U!==t;)N.push(U),U=qE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=J1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=J1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=le(N,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=qE(),U!==t)for(;U!==t;)N.push(U),U=qE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Be(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function q1(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=JE(),U!==t)for(;U!==t;)N.push(U),U=JE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=fe(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function J1(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t?(N=Np(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();Q!==t?(N=JE(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function Np(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(qe.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(ne)),N===t&&(N=null),N!==t?(U=mge(),U!==t?(ce=JE(),ce!==t?(Oe=m,Q=Y(N,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function mge(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&be(ie)),m===t&&(r.substr(b,2)===de?(m=de,b+=2):(m=t,I===0&&be(_e)),m===t&&(r.charCodeAt(b)===62?(m=Pt,b++):(m=t,I===0&&be(It)),m===t&&(r.substr(b,3)===Mr?(m=Mr,b+=3):(m=t,I===0&&be(ii)),m===t&&(r.substr(b,2)===gi?(m=gi,b+=2):(m=t,I===0&&be(hr)),m===t&&(r.charCodeAt(b)===60?(m=fi,b++):(m=t,I===0&&be(ni))))))),m}function JE(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(N=W1(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m}function W1(){var m,Q,N;if(m=b,Q=[],N=z1(),N!==t)for(;N!==t;)Q.push(N),N=z1();else Q=t;return Q!==t&&(Oe=m,Q=Ks(Q)),m=Q,m}function z1(){var m,Q;return m=b,Q=Ege(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ige(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=yge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=wge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q))),m}function Ege(){var m,Q,N,U;return m=b,r.substr(b,2)===Ii?(Q=Ii,b+=2):(Q=t,I===0&&be(rs)),Q!==t?(N=Qge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function Ige(){var m,Q,N,U;return m=b,r.charCodeAt(b)===39?(Q=fa,b++):(Q=t,I===0&&be(dA)),Q!==t?(N=Bge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function yge(){var m,Q,N,U;if(m=b,r.substr(b,2)===is?(Q=is,b+=2):(Q=t,I===0&&be(CA)),Q!==t&&(Oe=m,Q=ha()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=wp,b++):(Q=t,I===0&&be(mA)),Q!==t){for(N=[],U=V1();U!==t;)N.push(U),U=V1();N!==t?(r.charCodeAt(b)===34?(U=wp,b++):(U=t,I===0&&be(mA)),U!==t?(Oe=m,Q=EA(N),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function wge(){var m,Q,N;if(m=b,Q=[],N=X1(),N!==t)for(;N!==t;)Q.push(N),N=X1();else Q=t;return Q!==t&&(Oe=m,Q=EA(Q)),m=Q,m}function V1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Oe=m,Q=wr(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Oe=m,Q=Tl(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=ug(Q)),m=Q,m===t&&(m=b,Q=bge(),Q!==t&&(Oe=m,Q=yo(Q)),m=Q))),m}function X1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Oe=m,Q=gg(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Oe=m,Q=Bp(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=bp(Q)),m=Q,m===t&&(m=b,Q=xge(),Q!==t&&(Oe=m,Q=vr(Q)),m=Q,m===t&&(m=b,Q=vge(),Q!==t&&(Oe=m,Q=yo(Q)),m=Q)))),m}function Bge(){var m,Q,N;for(m=b,Q=[],se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));N!==t;)Q.push(N),se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function bge(){var m,Q,N;if(m=b,Q=[],N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt))),N!==t)for(;N!==t;)Q.push(N),N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt)));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function Z1(){var m,Q,N;return m=b,r.substr(b,2)===Ll?(Q=Ll,b+=2):(Q=t,I===0&&be(Nn)),Q!==t&&(Oe=m,Q=ns()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Bo.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(At)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t)),m}function Qge(){var m,Q,N;for(m=b,Q=[],N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));N!==t;)Q.push(N),N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function _1(){var m,Q,N;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&be(Lt)),Q!==t&&(Oe=m,Q=hg()),m=Q,m===t&&(m=b,r.substr(b,2)===Ml?(Q=Ml,b+=2):(Q=t,I===0&&be(Qp)),Q!==t&&(Oe=m,Q=Sp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(vp.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(xp)),N!==t?(Oe=m,Q=Pp(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&be(yt)),Q!==t&&(Oe=m,Q=IA()),m=Q,m===t&&(m=b,r.substr(b,2)===zi?(Q=zi,b+=2):(Q=t,I===0&&be(Ol)),Q!==t&&(Oe=m,Q=Xe()),m=Q,m===t&&(m=b,r.substr(b,2)===pa?(Q=pa,b+=2):(Q=t,I===0&&be(pg)),Q!==t&&(Oe=m,Q=ME()),m=Q,m===t&&(m=b,r.substr(b,2)===Dp?(Q=Dp,b+=2):(Q=t,I===0&&be(OE)),Q!==t&&(Oe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Tn?(Q=Tn,b+=2):(Q=t,I===0&&be(Kl)),Q!==t&&(Oe=m,Q=kp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Us.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(da)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=Sge()))))))))),m}function Sge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as,AS;return m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(N=nS(),N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Le?(Q=Le,b+=2):(Q=t,I===0&&be(dg)),Q!==t?(N=b,U=b,ce=nS(),ce!==t?(Se=On(),Se!==t?(ce=[ce,Se],U=ce):(b=U,U=t)):(b=U,U=t),U===t&&(U=nS()),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ul?(Q=Ul,b+=2):(Q=t,I===0&&be(Hs)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Hl?(Q=Hl,b+=2):(Q=t,I===0&&be(yA)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(qr=On(),qr!==t?(hi=On(),hi!==t?(as=On(),as!==t?(AS=On(),AS!==t?(ce=[ce,Se,ht,Bt,qr,hi,as,AS],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=Cg(N),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(Ca)),m}function On(){var m;return ma.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(rt)),m}function vge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t)),N!==t)for(;N!==t;)Q.push(N),N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function sS(){var m,Q,N,U,ce,Se;if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;if(N!==t)if(r.charCodeAt(b)===46?(U=KE,b++):(U=t,I===0&&be(Rp)),U!==t){if(ce=[],qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne));else ce=t;ce!==t?(Oe=m,Q=Eg(Q,N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;N!==t?(Oe=m,Q=Fp(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=UE(Q)),m=Q,m===t&&(m=b,Q=ql(),Q!==t&&(Oe=m,Q=jl(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&be(re)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(b)===41?(Se=M,b++):(Se=t,I===0&&be(F)),Se!==t?(Oe=m,Q=HE(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function oS(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=sS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function $1(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=oS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function eK(){var m,Q,N,U,ce,Se;if(m=b,r.substr(b,3)===bA?(Q=bA,b+=3):(Q=t,I===0&&be(R)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(b,2)===q?(Se=q,b+=2):(Se=t,I===0&&be(Ce)),Se!==t?(Oe=m,Q=Ke(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function tK(){var m,Q,N,U;return m=b,r.substr(b,2)===Re?(Q=Re,b+=2):(Q=t,I===0&&be(ze)),Q!==t?(N=Or(),N!==t?(r.charCodeAt(b)===41?(U=M,b++):(U=t,I===0&&be(F)),U!==t?(Oe=m,Q=dt(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function aS(){var m,Q,N,U,ce,Se;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===JQ?(U=JQ,b+=2):(U=t,I===0&&be(k1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=R1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===WQ?(U=WQ,b+=3):(U=t,I===0&&be(F1)),U!==t?(Oe=m,Q=N1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===zQ?(U=zQ,b+=2):(U=t,I===0&&be(T1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=L1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===VQ?(U=VQ,b+=3):(U=t,I===0&&be(M1)),U!==t?(Oe=m,Q=O1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.charCodeAt(b)===125?(U=Fe,b++):(U=t,I===0&&be(Ne)),U!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=K1,b++):(Q=t,I===0&&be(U1)),Q!==t?(N=ql(),N!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function xge(){var m,Q,N;return m=b,Q=Pge(),Q!==t?(Oe=b,N=H1(Q),N?N=void 0:N=t,N!==t?(Oe=m,Q=G1(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function Pge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N!==t)for(;N!==t;)Q.push(N),N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t);else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function rK(){var m,Q,N;if(m=b,Q=[],ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q)),N!==t)for(;N!==t;)Q.push(N),ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function ql(){var m,Q,N;if(m=b,Q=[],eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS)),N!==t)for(;N!==t;)Q.push(N),eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function iK(){var m;return Y1.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(wg)),m}function nK(){var m;return rS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(iS)),m}function He(){var m,Q;if(m=[],YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE)),Q!==t)for(;Q!==t;)m.push(Q),YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function Dfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}Dfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function mU(r){return typeof r>"u"||r===null}function Rfe(r){return typeof r=="object"&&r!==null}function Ffe(r){return Array.isArray(r)?r:mU(r)?[]:[r]}function Nfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};EU.exports=Vp});var wU=w((SZe,yU)=>{"use strict";var IU=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r \x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),mU.repeat(" ",e)+i+a+s+` -`+mU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};EU.exports=HS});var si=w((QZe,wU)=>{"use strict";var yU=Ng(),Tfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Lfe=["scalar","sequence","mapping"];function Mfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Ofe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Tfe.indexOf(t)===-1)throw new yU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Mfe(e.styleAliases||null),Lfe.indexOf(this.kind)===-1)throw new yU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}wU.exports=Ofe});var rc=w((SZe,bU)=>{"use strict";var BU=tc(),dI=Ng(),Kfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Ufe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Hfe=si();QU.exports=new Hfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var xU=w((xZe,vU)=>{"use strict";var Gfe=si();vU.exports=new Gfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var DU=w((PZe,PU)=>{"use strict";var Yfe=si();PU.exports=new Yfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((DZe,kU)=>{"use strict";var jfe=rc();kU.exports=new jfe({explicit:[SU(),xU(),DU()]})});var FU=w((kZe,RU)=>{"use strict";var qfe=si();function Jfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Wfe(){return null}function zfe(r){return r===null}RU.exports=new qfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Jfe,construct:Wfe,predicate:zfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var TU=w((RZe,NU)=>{"use strict";var Vfe=si();function Xfe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Zfe(r){return r==="true"||r==="True"||r==="TRUE"}function _fe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}NU.exports=new Vfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Xfe,construct:Zfe,predicate:_fe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var MU=w((FZe,LU)=>{"use strict";var $fe=tc(),ehe=si();function the(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function rhe(r){return 48<=r&&r<=55}function ihe(r){return 48<=r&&r<=57}function nhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var UU=w((NZe,KU)=>{"use strict";var OU=tc(),ahe=si(),Ahe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function lhe(r){return!(r===null||!Ahe.test(r)||r[r.length-1]==="_")}function che(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var uhe=/^[-+]?[0-9]+e/;function ghe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(OU.isNegativeZero(r))return"-0.0";return t=r.toString(10),uhe.test(t)?t.replace("e",".e"):t}function fhe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||OU.isNegativeZero(r))}KU.exports=new ahe("tag:yaml.org,2002:float",{kind:"scalar",resolve:lhe,construct:che,predicate:fhe,represent:ghe,defaultStyle:"lowercase"})});var YS=w((TZe,HU)=>{"use strict";var hhe=rc();HU.exports=new hhe({include:[CI()],implicit:[FU(),TU(),MU(),UU()]})});var jS=w((LZe,GU)=>{"use strict";var phe=rc();GU.exports=new phe({include:[YS()]})});var JU=w((MZe,qU)=>{"use strict";var dhe=si(),YU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),jU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Che(r){return r===null?!1:YU.exec(r)!==null||jU.exec(r)!==null}function mhe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=YU.exec(r),e===null&&(e=jU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Ehe(r){return r.toISOString()}qU.exports=new dhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Che,construct:mhe,instanceOf:Date,represent:Ehe})});var zU=w((OZe,WU)=>{"use strict";var Ihe=si();function yhe(r){return r==="<<"||r===null}WU.exports=new Ihe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:yhe})});var ZU=w((KZe,XU)=>{"use strict";var ic;try{VU=J,ic=VU("buffer").Buffer}catch{}var VU,whe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function Bhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function bhe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function Qhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function She(r){return ic&&ic.isBuffer(r)}XU.exports=new whe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Bhe,construct:bhe,predicate:She,represent:Qhe})});var $U=w((HZe,_U)=>{"use strict";var vhe=si(),xhe=Object.prototype.hasOwnProperty,Phe=Object.prototype.toString;function Dhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Rhe=si(),Fhe=Object.prototype.toString;function Nhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Lhe=si(),Mhe=Object.prototype.hasOwnProperty;function Ohe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Mhe.call(t,e)&&t[e]!==null)return!1;return!0}function Khe(r){return r!==null?r:{}}r2.exports=new Lhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Ohe,construct:Khe})});var Lg=w((jZe,n2)=>{"use strict";var Uhe=rc();n2.exports=new Uhe({include:[jS()],implicit:[JU(),zU()],explicit:[ZU(),$U(),t2(),i2()]})});var o2=w((qZe,s2)=>{"use strict";var Hhe=si();function Ghe(){return!0}function Yhe(){}function jhe(){return""}function qhe(r){return typeof r>"u"}s2.exports=new Hhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ghe,construct:Yhe,predicate:qhe,represent:jhe})});var A2=w((JZe,a2)=>{"use strict";var Jhe=si();function Whe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function zhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Vhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Xhe(r){return Object.prototype.toString.call(r)==="[object RegExp]"}a2.exports=new Jhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Whe,construct:zhe,predicate:Xhe,represent:Vhe})});var u2=w((WZe,c2)=>{"use strict";var mI;try{l2=J,mI=l2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var l2,Zhe=si();function _he(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function $he(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function epe(r){return r.toString()}function tpe(r){return Object.prototype.toString.call(r)==="[object Function]"}c2.exports=new Zhe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:_he,construct:$he,predicate:tpe,represent:epe})});var Xp=w((VZe,f2)=>{"use strict";var g2=rc();f2.exports=g2.DEFAULT=new g2({include:[Lg()],explicit:[o2(),A2(),u2()]})});var R2=w((XZe,Zp)=>{"use strict";var Ba=tc(),I2=Ng(),rpe=IU(),y2=Lg(),ipe=Xp(),RA=Object.prototype.hasOwnProperty,EI=1,w2=2,B2=3,II=4,JS=1,npe=2,h2=3,spe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,ope=/[\x85\u2028\u2029]/,ape=/[,\[\]\{\}]/,b2=/^(?:!|!!|![a-z\-]+!)$/i,Q2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function p2(r){return Object.prototype.toString.call(r)}function vo(r){return r===10||r===13}function sc(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function Mg(r){return r===44||r===91||r===93||r===123||r===125}function Ape(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function lpe(r){return r===120?2:r===117?4:r===85?8:0}function cpe(r){return 48<=r&&r<=57?r-48:-1}function d2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function upe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var S2=new Array(256),v2=new Array(256);for(nc=0;nc<256;nc++)S2[nc]=d2(nc)?1:0,v2[nc]=d2(nc);var nc;function gpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||ipe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function x2(r,e){return new I2(e,new rpe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw x2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,x2(r,e))}var C2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],b2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),RA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),Q2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function kA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Ba.repeat(` -`,e-1))}function fpe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Mg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Mg(h))break;if(vo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(kA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return kA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function hpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(kA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else vo(t)?(kA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function ppe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return kA(r,t,r.position,!0),r.position++,!0;if(a===92){if(kA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),vo(a))zr(r,!1,e);else if(a<256&&S2[a])r.result+=v2[a],r.position++;else if((o=lpe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Ape(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=upe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else vo(a)?(kA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function dpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Og(r,s,f,p,h,C):c?s.push(Og(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Cpe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?h2:npe:ft(r,"repeat of a chomping mode identifier");else if((u=cpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!vo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),vo(g)){l++;continue}if(r.lineIndentt/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),IU.repeat(" ",e)+i+a+s+` +`+IU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: +`+t)),i};yU.exports=HS});var si=w((vZe,bU)=>{"use strict";var BU=Ng(),Mfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ofe=["scalar","sequence","mapping"];function Kfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Ufe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Mfe.indexOf(t)===-1)throw new BU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Kfe(e.styleAliases||null),Ofe.indexOf(this.kind)===-1)throw new BU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}bU.exports=Ufe});var rc=w((xZe,SU)=>{"use strict";var QU=tc(),dI=Ng(),Hfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Gfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Yfe=si();vU.exports=new Yfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var DU=w((DZe,PU)=>{"use strict";var jfe=si();PU.exports=new jfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var RU=w((kZe,kU)=>{"use strict";var qfe=si();kU.exports=new qfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((RZe,FU)=>{"use strict";var Jfe=rc();FU.exports=new Jfe({explicit:[xU(),DU(),RU()]})});var TU=w((FZe,NU)=>{"use strict";var Wfe=si();function zfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Vfe(){return null}function Xfe(r){return r===null}NU.exports=new Wfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:zfe,construct:Vfe,predicate:Xfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var MU=w((NZe,LU)=>{"use strict";var Zfe=si();function _fe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function $fe(r){return r==="true"||r==="True"||r==="TRUE"}function ehe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}LU.exports=new Zfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:_fe,construct:$fe,predicate:ehe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var KU=w((TZe,OU)=>{"use strict";var the=tc(),rhe=si();function ihe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function nhe(r){return 48<=r&&r<=55}function she(r){return 48<=r&&r<=57}function ohe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var GU=w((LZe,HU)=>{"use strict";var UU=tc(),lhe=si(),che=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function uhe(r){return!(r===null||!che.test(r)||r[r.length-1]==="_")}function ghe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var fhe=/^[-+]?[0-9]+e/;function hhe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(UU.isNegativeZero(r))return"-0.0";return t=r.toString(10),fhe.test(t)?t.replace("e",".e"):t}function phe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||UU.isNegativeZero(r))}HU.exports=new lhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:uhe,construct:ghe,predicate:phe,represent:hhe,defaultStyle:"lowercase"})});var YS=w((MZe,YU)=>{"use strict";var dhe=rc();YU.exports=new dhe({include:[CI()],implicit:[TU(),MU(),KU(),GU()]})});var jS=w((OZe,jU)=>{"use strict";var Che=rc();jU.exports=new Che({include:[YS()]})});var zU=w((KZe,WU)=>{"use strict";var mhe=si(),qU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),JU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Ehe(r){return r===null?!1:qU.exec(r)!==null||JU.exec(r)!==null}function Ihe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=qU.exec(r),e===null&&(e=JU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function yhe(r){return r.toISOString()}WU.exports=new mhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ehe,construct:Ihe,instanceOf:Date,represent:yhe})});var XU=w((UZe,VU)=>{"use strict";var whe=si();function Bhe(r){return r==="<<"||r===null}VU.exports=new whe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Bhe})});var $U=w((HZe,_U)=>{"use strict";var ic;try{ZU=J,ic=ZU("buffer").Buffer}catch{}var ZU,bhe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Qhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function She(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function vhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function xhe(r){return ic&&ic.isBuffer(r)}_U.exports=new bhe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Qhe,construct:She,predicate:xhe,represent:vhe})});var t2=w((YZe,e2)=>{"use strict";var Phe=si(),Dhe=Object.prototype.hasOwnProperty,khe=Object.prototype.toString;function Rhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Nhe=si(),The=Object.prototype.toString;function Lhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Ohe=si(),Khe=Object.prototype.hasOwnProperty;function Uhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Khe.call(t,e)&&t[e]!==null)return!1;return!0}function Hhe(r){return r!==null?r:{}}n2.exports=new Ohe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Uhe,construct:Hhe})});var Lg=w((JZe,o2)=>{"use strict";var Ghe=rc();o2.exports=new Ghe({include:[jS()],implicit:[zU(),XU()],explicit:[$U(),t2(),i2(),s2()]})});var A2=w((WZe,a2)=>{"use strict";var Yhe=si();function jhe(){return!0}function qhe(){}function Jhe(){return""}function Whe(r){return typeof r>"u"}a2.exports=new Yhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:jhe,construct:qhe,predicate:Whe,represent:Jhe})});var c2=w((zZe,l2)=>{"use strict";var zhe=si();function Vhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Xhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Zhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function _he(r){return Object.prototype.toString.call(r)==="[object RegExp]"}l2.exports=new zhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Vhe,construct:Xhe,predicate:_he,represent:Zhe})});var f2=w((VZe,g2)=>{"use strict";var mI;try{u2=J,mI=u2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var u2,$he=si();function epe(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function tpe(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function rpe(r){return r.toString()}function ipe(r){return Object.prototype.toString.call(r)==="[object Function]"}g2.exports=new $he("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:epe,construct:tpe,predicate:ipe,represent:rpe})});var Xp=w((ZZe,p2)=>{"use strict";var h2=rc();p2.exports=h2.DEFAULT=new h2({include:[Lg()],explicit:[A2(),c2(),f2()]})});var N2=w((_Ze,Zp)=>{"use strict";var Ba=tc(),w2=Ng(),npe=wU(),B2=Lg(),spe=Xp(),kA=Object.prototype.hasOwnProperty,EI=1,b2=2,Q2=3,II=4,JS=1,ope=2,d2=3,ape=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ape=/[\x85\u2028\u2029]/,lpe=/[,\[\]\{\}]/,S2=/^(?:!|!!|![a-z\-]+!)$/i,v2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function C2(r){return Object.prototype.toString.call(r)}function xo(r){return r===10||r===13}function sc(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function Mg(r){return r===44||r===91||r===93||r===123||r===125}function cpe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function upe(r){return r===120?2:r===117?4:r===85?8:0}function gpe(r){return 48<=r&&r<=57?r-48:-1}function m2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function fpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var x2=new Array(256),P2=new Array(256);for(nc=0;nc<256;nc++)x2[nc]=m2(nc)?1:0,P2[nc]=m2(nc);var nc;function hpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||spe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function D2(r,e){return new w2(e,new npe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw D2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,D2(r,e))}var E2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],S2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),kA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),v2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function DA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Ba.repeat(` +`,e-1))}function ppe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Mg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Mg(h))break;if(xo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(DA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return DA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function dpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(DA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else xo(t)?(DA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function Cpe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return DA(r,t,r.position,!0),r.position++,!0;if(a===92){if(DA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),xo(a))zr(r,!1,e);else if(a<256&&x2[a])r.result+=P2[a],r.position++;else if((o=upe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=cpe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=fpe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else xo(a)?(DA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function mpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Og(r,s,f,p,h,C):c?s.push(Og(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Epe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?d2:ope:ft(r,"repeat of a chomping mode identifier");else if((u=gpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!xo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),xo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Og(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function wpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!vo(o));break}if(vo(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),RA.call(C2,i)?C2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Kg(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&ope.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=P2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),D2(r,e,Ba.extend({schema:y2},t))}function bpe(r,e){return k2(r,Ba.extend({schema:y2},e))}Zp.exports.loadAll=D2;Zp.exports.load=k2;Zp.exports.safeLoadAll=Bpe;Zp.exports.safeLoad=bpe});var tH=w((ZZe,_S)=>{"use strict";var $p=tc(),ed=Ng(),Qpe=Xp(),Spe=Lg(),U2=Object.prototype.toString,H2=Object.prototype.hasOwnProperty,vpe=9,_p=10,xpe=13,Ppe=32,Dpe=33,kpe=34,G2=35,Rpe=37,Fpe=38,Npe=39,Tpe=42,Y2=44,Lpe=45,j2=58,Mpe=61,Ope=62,Kpe=63,Upe=64,q2=91,J2=93,Hpe=96,W2=123,Gpe=124,z2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var Ype=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;ne)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Og(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function bpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!xo(o));break}if(xo(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),kA.call(E2,i)?E2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Kg(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&Ape.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=k2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),R2(r,e,Ba.extend({schema:B2},t))}function Spe(r,e){return F2(r,Ba.extend({schema:B2},e))}Zp.exports.loadAll=R2;Zp.exports.load=F2;Zp.exports.safeLoadAll=Qpe;Zp.exports.safeLoad=Spe});var iH=w(($Ze,_S)=>{"use strict";var $p=tc(),ed=Ng(),vpe=Xp(),xpe=Lg(),G2=Object.prototype.toString,Y2=Object.prototype.hasOwnProperty,Ppe=9,_p=10,Dpe=13,kpe=32,Rpe=33,Fpe=34,j2=35,Npe=37,Tpe=38,Lpe=39,Mpe=42,q2=44,Ope=45,J2=58,Kpe=61,Upe=62,Hpe=63,Gpe=64,W2=91,z2=93,Ype=96,V2=123,jpe=124,X2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var qpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&T2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?X2:Z2:t>9&&V2(r)?BI:c?$2:_2}function Xpe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Ype.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Jpe(r,l)}switch(Vpe(e,o,r.indent,s,a)){case X2:return e;case Z2:return"'"+e.replace(/'/g,"''")+"'";case _2:return"|"+L2(e,r.indent)+M2(N2(e,n));case $2:return">"+L2(e,r.indent)+M2(N2(Zpe(e,s),n));case BI:return'"'+_pe(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function L2(r,e){var t=V2(r)?String(e):"",i=r[r.length-1]===` +`+$p.repeat(" ",r.indent*e)}function zpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t0?r.charCodeAt(s-1):null,f=f&&M2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&M2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?_2:$2:t>9&&Z2(r)?BI:c?tH:eH}function _pe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&qpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return zpe(r,l)}switch(Zpe(e,o,r.indent,s,a)){case _2:return e;case $2:return"'"+e.replace(/'/g,"''")+"'";case eH:return"|"+O2(e,r.indent)+K2(L2(e,n));case tH:return">"+O2(e,r.indent)+K2(L2($pe(e,s),n));case BI:return'"'+ede(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function O2(r,e){var t=Z2(r)?String(e):"",i=r[r.length-1]===` `,n=i&&(r[r.length-2]===` `||r===` `),s=n?"+":i?"":"-";return t+s+` -`}function M2(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function Zpe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` -`);return c=c!==-1?c:r.length,t.lastIndex=c,O2(r.slice(0,c),e)}(),n=r[0]===` +`}function K2(r){return r[r.length-1]===` +`?r.slice(0,-1):r}function $pe(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` +`);return c=c!==-1?c:r.length,t.lastIndex=c,U2(r.slice(0,c),e)}(),n=r[0]===` `||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+O2(l,e),n=s}return i}function O2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`:"")+U2(l,e),n=s}return i}function U2(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` `+r.slice(n,s),n=s+1),o=a;return l+=` `,r.length-n>e&&o>n?l+=r.slice(n,o)+` -`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function _pe(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=F2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Ug(t)?r[s]:n||F2(t)}return e}function $pe(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function rde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function K2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,K2(r,t,!1)||K2(r,t,!0);var o=U2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(rde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(tde(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(ede(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):($pe(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Xpe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function ide(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var bI=R2(),rH=tH();function QI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=bI.load;Fr.exports.loadAll=bI.loadAll;Fr.exports.safeLoad=bI.safeLoad;Fr.exports.safeLoadAll=bI.safeLoadAll;Fr.exports.dump=rH.dump;Fr.exports.safeDump=rH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=QI("scan");Fr.exports.parse=QI("parse");Fr.exports.compose=QI("compose");Fr.exports.addConstructor=QI("addConstructor")});var sH=w(($Ze,nH)=>{"use strict";var sde=iH();nH.exports=sde});var aH=w((e_e,oH)=>{"use strict";function ode(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}ode(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===QA*yg},A=function(R){return R.length===(QA+1)*yg},Ae=function(){return QA++,!0},ge=function(){return QA--,!0},re=function(){return pg()},M=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",` +`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function ede(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=T2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Ug(t)?r[s]:n||T2(t)}return e}function tde(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function nde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function H2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,H2(r,t,!1)||H2(r,t,!0);var o=G2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(nde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(ide(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(rde(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(tde(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&_pe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function sde(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var bI=N2(),nH=iH();function QI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=bI.load;Fr.exports.loadAll=bI.loadAll;Fr.exports.safeLoad=bI.safeLoad;Fr.exports.safeLoadAll=bI.safeLoadAll;Fr.exports.dump=nH.dump;Fr.exports.safeDump=nH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=QI("scan");Fr.exports.parse=QI("parse");Fr.exports.compose=QI("compose");Fr.exports.addConstructor=QI("addConstructor")});var aH=w((t_e,oH)=>{"use strict";var ade=sH();oH.exports=ade});var lH=w((r_e,AH)=>{"use strict";function Ade(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}Ade(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===bA*yg},A=function(R){return R.length===(bA+1)*yg},Ae=function(){return bA++,!0},ge=function(){return bA--,!0},re=function(){return pg()},M=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",` `," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,ke=Tn(["\r",` `," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return pg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,Be=Tn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ae=Tn(["\r",` -`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Mr=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},CA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},mA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},EA="\\b",IA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),Io=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),bp=function(){return` -`},vr="\\r",se=ar("\\r",!1),yo=function(){return"\r"},Fn="\\t",fg=ar("\\t",!1),bt=function(){return" "},Ll="\\u",Nn=ar("\\u",!1),ns=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},ss=/^[0-9a-fA-F]/,gt=Tn([["0","9"],["a","f"],["A","F"]],!1,!1),wo=Us("blank space"),At=/^[ \t]/,ln=Tn([" "," "],!1,!1),S=Us("white space"),Lt=/^[ \t\n\r]/,hg=Tn([" "," ",` +`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Mr=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},dA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},CA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},mA="\\b",EA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),yo=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),bp=function(){return` +`},vr="\\r",se=ar("\\r",!1),wo=function(){return"\r"},Fn="\\t",fg=ar("\\t",!1),bt=function(){return" "},Ll="\\u",Nn=ar("\\u",!1),ns=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},ss=/^[0-9a-fA-F]/,gt=Tn([["0","9"],["a","f"],["A","F"]],!1,!1),Bo=Us("blank space"),At=/^[ \t]/,ln=Tn([" "," "],!1,!1),S=Us("white space"),Lt=/^[ \t\n\r]/,hg=Tn([" "," ",` `,"\r"],!1,!1),Ml=`\r `,Qp=ar(`\r `,!1),Sp=` `,vp=ar(` -`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,yA=[{line:1,column:1}],zi=0,Ol=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function ME(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function OE(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=yA[R],Ce;if(q)return q;for(Ce=R-1;!yA[Ce];)Ce--;for(q=yA[Ce],q={line:q.line,column:q.column};Cezi&&(zi=G,Ol=[]),Ol.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=wA();Ce!==t;)q.push(Ce),Ce=wA();return q!==t&&(yt=R,q=s(q)),R=q,R}function wA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=Bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=Bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=BA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function Bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function BA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=UE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function KE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(M)),R}function Eg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Le(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Le(Be)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Le(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function UE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Le(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Le(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Le(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Le(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Le(Mr)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ke,Re,ze;return Ks.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Le(rs)),q!==t&&(yt=R,q=fa()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Le(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Le(ha)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===EA?(q=EA,G+=2):(q=t,Xe===0&&Le(IA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Le(ug)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Le(Bp)),q!==t&&(yt=R,q=bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Le(se)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===Fn?(q=Fn,G+=2):(q=t,Xe===0&&Le(fg)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Le(Nn)),q!==t?(Ce=bA(),Ce!==t?(Ke=bA(),Ke!==t?(Re=bA(),Re!==t?(ze=bA(),ze!==t?(yt=R,q=ns(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function bA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(wo)),R}function GE(){var R,q;if(Xe++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(S)),R}function Ys(){var R,q,Ce,Ke,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ml?(R=Ml,G+=2):(R=t,Xe===0&&Le(Qp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Le(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Le(Pp)))),R}let yg=2,QA=0;if(pa=n(),pa!==t&&G===r.length)return pa;throw pa!==t&&G{"use strict";var gde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=gde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=gH;ev.exports.default=gH});var hH=w((o_e,fde)=>{fde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var dH=hH(),xo=process.env;Object.defineProperty(Un,"_vendors",{value:dH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;dH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return pH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!xo[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in xo&&xo[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!xo[i]}):Un.isPR=pH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(xo.CI||xo.CONTINUOUS_INTEGRATION||xo.BUILD_NUMBER||xo.RUN_ID||Un.name);function pH(r){return typeof r=="string"?!!xo[r]:Object.keys(r).every(function(e){return xo[e]===r[e]})}});var hn={};ut(hn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>yH,colorStringAlphaRegExp:()=>IH,colorStringRegExp:()=>EH,computeKey:()=>FA,getPrintable:()=>Vr,hasExactLength:()=>SH,hasForbiddenKeys:()=>qde,hasKeyRelationship:()=>av,hasMaxLength:()=>xde,hasMinLength:()=>vde,hasMutuallyExclusiveKeys:()=>Jde,hasRequiredKeys:()=>jde,hasUniqueItems:()=>Pde,isArray:()=>Ede,isAtLeast:()=>Rde,isAtMost:()=>Fde,isBase64:()=>Gde,isBoolean:()=>dde,isDate:()=>mde,isDict:()=>yde,isEnum:()=>Zi,isHexColor:()=>Hde,isISO8601:()=>Ude,isInExclusiveRange:()=>Tde,isInInclusiveRange:()=>Nde,isInstanceOf:()=>Bde,isInteger:()=>Lde,isJSON:()=>Yde,isLiteral:()=>hde,isLowerCase:()=>Mde,isNegative:()=>Dde,isNullable:()=>Sde,isNumber:()=>Cde,isObject:()=>wde,isOneOf:()=>bde,isOptional:()=>Qde,isPositive:()=>kde,isString:()=>sd,isTuple:()=>Ide,isUUID4:()=>Kde,isUnknown:()=>QH,isUpperCase:()=>Ode,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>bH,makeTrait:()=>BH,makeValidator:()=>Qt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>mH,uuid4RegExp:()=>wH});function Qt({test:r}){return BH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function FA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:mH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function bH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function hde(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Zi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var mH,EH,IH,yH,wH,ov,BH,QH,sd,pde,dde,Cde,mde,Ede,Ide,yde,wde,Bde,bde,od,Qde,Sde,vde,xde,SH,Pde,Dde,kde,Rde,Fde,Nde,Tde,Lde,ad,Mde,Ode,Kde,Ude,Hde,Gde,Yde,jde,qde,Jde,lc,Wde,av,ls=Fge(()=>{mH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,EH=/^#[0-9a-f]{6}$/i,IH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,yH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,wH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,BH=r=>()=>r;QH=()=>Qt({test:(r,e)=>!0});sd=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});pde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),dde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=pde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),Cde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),mde=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),Ede=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=SH(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:FA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:FA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:FA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:bH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Bde=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),bde=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),Qde=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),Sde=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),vde=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),xde=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),SH=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),Pde=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),kde=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Rde=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Fde=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Nde=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Tde=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Mde=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Ode=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Kde=()=>Qt({test:(r,e)=>wH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Ude=()=>Qt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Hde=({alpha:r=!1})=>Qt({test:(e,t)=>(r?EH.test(e):IH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),Gde=()=>Qt({test:(r,e)=>yH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),Yde=(r=QH())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},qde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));Wde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Wde[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var YH=w((o$e,GH)=>{"use strict";GH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((a$e,pv)=>{"use strict";var cCe=YH(),jH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=cCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=jH;pv.exports.default=jH});var gd=w((l$e,qH)=>{var uCe="2.0.0",gCe=Number.MAX_SAFE_INTEGER||9007199254740991,fCe=16;qH.exports={SEMVER_SPEC_VERSION:uCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:gCe,MAX_SAFE_COMPONENT_LENGTH:fCe}});var fd=w((c$e,JH)=>{var hCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};JH.exports=hCe});var uc=w((TA,WH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),pCe=fd();TA=WH.exports={};var dCe=TA.re=[],et=TA.src=[],tt=TA.t={},CCe=0,St=(r,e,t)=>{let i=CCe++;pCe(i,e),tt[r]=i,et[i]=e,dCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);TA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);TA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);TA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((u$e,zH)=>{var mCe=["includePrerelease","loose","rtl"],ECe=r=>r?typeof r!="object"?{loose:!0}:mCe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};zH.exports=ECe});var MI=w((g$e,ZH)=>{var VH=/^[0-9]+$/,XH=(r,e)=>{let t=VH.test(r),i=VH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rXH(e,r);ZH.exports={compareIdentifiers:XH,rcompareIdentifiers:ICe}});var Li=w((f$e,tG)=>{var OI=fd(),{MAX_LENGTH:_H,MAX_SAFE_INTEGER:KI}=gd(),{re:$H,t:eG}=uc(),yCe=hd(),{compareIdentifiers:pd}=MI(),Yn=class{constructor(e,t){if(t=yCe(t),e instanceof Yn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>_H)throw new TypeError(`version is longer than ${_H} characters`);OI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?$H[eG.LOOSE]:$H[eG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>KI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>KI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>KI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};tG.exports=Yn});var gc=w((h$e,sG)=>{var{MAX_LENGTH:wCe}=gd(),{re:rG,t:iG}=uc(),nG=Li(),BCe=hd(),bCe=(r,e)=>{if(e=BCe(e),r instanceof nG)return r;if(typeof r!="string"||r.length>wCe||!(e.loose?rG[iG.LOOSE]:rG[iG.FULL]).test(r))return null;try{return new nG(r,e)}catch{return null}};sG.exports=bCe});var aG=w((p$e,oG)=>{var QCe=gc(),SCe=(r,e)=>{let t=QCe(r,e);return t?t.version:null};oG.exports=SCe});var lG=w((d$e,AG)=>{var vCe=gc(),xCe=(r,e)=>{let t=vCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};AG.exports=xCe});var uG=w((C$e,cG)=>{var PCe=Li(),DCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new PCe(r,t).inc(e,i).version}catch{return null}};cG.exports=DCe});var cs=w((m$e,fG)=>{var gG=Li(),kCe=(r,e,t)=>new gG(r,t).compare(new gG(e,t));fG.exports=kCe});var UI=w((E$e,hG)=>{var RCe=cs(),FCe=(r,e,t)=>RCe(r,e,t)===0;hG.exports=FCe});var CG=w((I$e,dG)=>{var pG=gc(),NCe=UI(),TCe=(r,e)=>{if(NCe(r,e))return null;{let t=pG(r),i=pG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};dG.exports=TCe});var EG=w((y$e,mG)=>{var LCe=Li(),MCe=(r,e)=>new LCe(r,e).major;mG.exports=MCe});var yG=w((w$e,IG)=>{var OCe=Li(),KCe=(r,e)=>new OCe(r,e).minor;IG.exports=KCe});var BG=w((B$e,wG)=>{var UCe=Li(),HCe=(r,e)=>new UCe(r,e).patch;wG.exports=HCe});var QG=w((b$e,bG)=>{var GCe=gc(),YCe=(r,e)=>{let t=GCe(r,e);return t&&t.prerelease.length?t.prerelease:null};bG.exports=YCe});var vG=w((Q$e,SG)=>{var jCe=cs(),qCe=(r,e,t)=>jCe(e,r,t);SG.exports=qCe});var PG=w((S$e,xG)=>{var JCe=cs(),WCe=(r,e)=>JCe(r,e,!0);xG.exports=WCe});var HI=w((v$e,kG)=>{var DG=Li(),zCe=(r,e,t)=>{let i=new DG(r,t),n=new DG(e,t);return i.compare(n)||i.compareBuild(n)};kG.exports=zCe});var FG=w((x$e,RG)=>{var VCe=HI(),XCe=(r,e)=>r.sort((t,i)=>VCe(t,i,e));RG.exports=XCe});var TG=w((P$e,NG)=>{var ZCe=HI(),_Ce=(r,e)=>r.sort((t,i)=>ZCe(i,t,e));NG.exports=_Ce});var dd=w((D$e,LG)=>{var $Ce=cs(),eme=(r,e,t)=>$Ce(r,e,t)>0;LG.exports=eme});var GI=w((k$e,MG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)<0;MG.exports=rme});var Cv=w((R$e,OG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)!==0;OG.exports=nme});var YI=w((F$e,KG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)>=0;KG.exports=ome});var jI=w((N$e,UG)=>{var ame=cs(),Ame=(r,e,t)=>ame(r,e,t)<=0;UG.exports=Ame});var mv=w((T$e,HG)=>{var lme=UI(),cme=Cv(),ume=dd(),gme=YI(),fme=GI(),hme=jI(),pme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return lme(r,t,i);case"!=":return cme(r,t,i);case">":return ume(r,t,i);case">=":return gme(r,t,i);case"<":return fme(r,t,i);case"<=":return hme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};HG.exports=pme});var YG=w((L$e,GG)=>{var dme=Li(),Cme=gc(),{re:qI,t:JI}=uc(),mme=(r,e)=>{if(r instanceof dme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:Cme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};GG.exports=mme});var qG=w((M$e,jG)=>{"use strict";jG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((O$e,JG)=>{"use strict";JG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var wme=WI(),hc=Symbol("max"),va=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),Sa=Symbol("dispose"),WG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),VG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[Sa]=e.dispose,this[WG]=e.noDisposeOnSet||!1,this[VG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[va]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[va]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[va]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;zG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;zG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Sa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Sa](e.key,e.value)),this[Zs]=new Map,this[di]=new wme,this[va]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[Sa]&&(this[WG]||this[Sa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[va]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[Sa]&&this[Sa](e,t),!1):(this[va]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[VG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[va]>r[hc])for(let e=r[di].tail;r[va]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[Sa]&&r[Sa](t.key,t.value),r[va]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},zG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};XG.exports=yv});var us=w((U$e,tY)=>{var dc=class{constructor(e,t){if(t=bme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!$G(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Pme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=_G.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[bi.HYPHENRANGELOOSE]:Mi[bi.HYPHENRANGE];e=e.replace(o,Kme(this.options.includePrerelease)),Gr("hyphen replace",e),e=e.replace(Mi[bi.COMPARATORTRIM],Sme),Gr("comparator trim",e,Mi[bi.COMPARATORTRIM]),e=e.replace(Mi[bi.TILDETRIM],vme),e=e.replace(Mi[bi.CARETTRIM],xme),e=e.split(/\s+/).join(" ");let a=s?Mi[bi.COMPARATORLOOSE]:Mi[bi.COMPARATOR],l=e.split(" ").map(f=>Dme(f,this.options)).join(" ").split(/\s+/).map(f=>Ome(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if($G(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return _G.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>eY(i,t)&&e.set.some(n=>eY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Qme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",Pme=r=>r.value==="",eY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Dme=(r,e)=>(Gr("comp",r,e),r=Fme(r,e),Gr("caret",r),r=kme(r,e),Gr("tildes",r),r=Tme(r,e),Gr("xrange",r),r=Mme(r,e),Gr("stars",r),r),$i=r=>!r||r.toLowerCase()==="x"||r==="*",kme=(r,e)=>r.trim().split(/\s+/).map(t=>Rme(t,e)).join(" "),Rme=(r,e)=>{let t=e.loose?Mi[bi.TILDELOOSE]:Mi[bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Gr("tilde",r,i,n,s,o,a);let l;return $i(n)?l="":$i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:$i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Gr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Gr("tilde return",l),l})},Fme=(r,e)=>r.trim().split(/\s+/).map(t=>Nme(t,e)).join(" "),Nme=(r,e)=>{Gr("caret",r,e);let t=e.loose?Mi[bi.CARETLOOSE]:Mi[bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Gr("caret",r,n,s,o,a,l);let c;return $i(s)?c="":$i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:$i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Gr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Gr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Gr("caret return",c),c})},Tme=(r,e)=>(Gr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Lme(t,e)).join(" ")),Lme=(r,e)=>{r=r.trim();let t=e.loose?Mi[bi.XRANGELOOSE]:Mi[bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Gr("xRange",r,i,n,s,o,a,l);let c=$i(s),u=c||$i(o),g=u||$i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Gr("xRange return",i),i})},Mme=(r,e)=>(Gr("replaceStars",r,e),r.trim().replace(Mi[bi.STAR],"")),Ome=(r,e)=>(Gr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?bi.GTE0PRE:bi.GTE0],"")),Kme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>($i(i)?t="":$i(n)?t=`>=${i}.0.0${r?"-0":""}`:$i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,$i(c)?l="":$i(u)?l=`<${+c+1}.0.0-0`:$i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Ume=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((H$e,oY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Hme(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}Qv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,Qv("comp",this)}parse(e){let t=this.options.loose?rY[iY.COMPARATORLOOSE]:rY[iY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new nY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(Qv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new nY(e,this.options)}catch{return!1}return bv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new sY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new sY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=bv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=bv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};oY.exports=Vg;var Hme=hd(),{re:rY,t:iY}=uc(),bv=mv(),Qv=fd(),nY=Li(),sY=us()});var yd=w((G$e,aY)=>{var Gme=us(),Yme=(r,e,t)=>{try{e=new Gme(e,t)}catch{return!1}return e.test(r)};aY.exports=Yme});var lY=w((Y$e,AY)=>{var jme=us(),qme=(r,e)=>new jme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));AY.exports=qme});var uY=w((j$e,cY)=>{var Jme=Li(),Wme=us(),zme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Wme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Jme(i,t))}),i};cY.exports=zme});var fY=w((q$e,gY)=>{var Vme=Li(),Xme=us(),Zme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Xme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Vme(i,t))}),i};gY.exports=Zme});var dY=w((J$e,pY)=>{var Sv=Li(),_me=us(),hY=dd(),$me=(r,e)=>{r=new _me(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||hY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||hY(t,s))&&(t=s)}return t&&r.test(t)?t:null};pY.exports=$me});var mY=w((W$e,CY)=>{var eEe=us(),tEe=(r,e)=>{try{return new eEe(r,e).range||"*"}catch{return null}};CY.exports=tEe});var VI=w((z$e,wY)=>{var rEe=Li(),yY=Ed(),{ANY:iEe}=yY,nEe=us(),sEe=yd(),EY=dd(),IY=GI(),oEe=jI(),aEe=YI(),AEe=(r,e,t,i)=>{r=new rEe(r,i),e=new nEe(e,i);let n,s,o,a,l;switch(t){case">":n=EY,s=oEe,o=IY,a=">",l=">=";break;case"<":n=IY,s=aEe,o=EY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(sEe(r,e,i))return!1;for(let c=0;c{h.semver===iEe&&(h=new yY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};wY.exports=AEe});var bY=w((V$e,BY)=>{var lEe=VI(),cEe=(r,e,t)=>lEe(r,e,">",t);BY.exports=cEe});var SY=w((X$e,QY)=>{var uEe=VI(),gEe=(r,e,t)=>uEe(r,e,"<",t);QY.exports=gEe});var PY=w((Z$e,xY)=>{var vY=us(),fEe=(r,e,t)=>(r=new vY(r,t),e=new vY(e,t),r.intersects(e));xY.exports=fEe});var kY=w((_$e,DY)=>{var hEe=yd(),pEe=cs();DY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>pEe(u,g,t));for(let u of o)hEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var RY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),dEe=(r,e,t={})=>{if(r===e)return!0;r=new RY(r,t),e=new RY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=CEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},CEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=FY(n,h,t):h.operator==="<"||h.operator==="<="?s=NY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=FY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=NY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},FY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},NY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};TY.exports=dEe});var Xr=w((eet,MY)=>{var Pv=uc();MY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:MI().compareIdentifiers,rcompareIdentifiers:MI().rcompareIdentifiers,parse:gc(),valid:aG(),clean:lG(),inc:uG(),diff:CG(),major:EG(),minor:yG(),patch:BG(),prerelease:QG(),compare:cs(),rcompare:vG(),compareLoose:PG(),compareBuild:HI(),sort:FG(),rsort:TG(),gt:dd(),lt:GI(),eq:UI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:YG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:lY(),maxSatisfying:uY(),minSatisfying:fY(),minVersion:dY(),validRange:mY(),outside:VI(),gtr:bY(),ltr:SY(),intersects:PY(),simplifyRange:kY(),subset:LY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:OY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,IA=[{line:1,column:1}],zi=0,Ol=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function ME(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function OE(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=IA[R],Ce;if(q)return q;for(Ce=R-1;!IA[Ce];)Ce--;for(q=IA[Ce],q={line:q.line,column:q.column};Cezi&&(zi=G,Ol=[]),Ol.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=yA();Ce!==t;)q.push(Ce),Ce=yA();return q!==t&&(yt=R,q=s(q)),R=q,R}function yA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=wA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function wA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=UE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function KE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(M)),R}function Eg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Le(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Le(Be)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Le(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function UE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Le(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Le(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Le(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Le(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Le(Mr)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ke,Re,ze;return Ks.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Le(rs)),q!==t&&(yt=R,q=fa()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Le(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Le(ha)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Le(EA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Le(ug)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Le(Bp)),q!==t&&(yt=R,q=bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Le(se)),q!==t&&(yt=R,q=wo()),R=q,R===t&&(R=G,r.substr(G,2)===Fn?(q=Fn,G+=2):(q=t,Xe===0&&Le(fg)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Le(Nn)),q!==t?(Ce=BA(),Ce!==t?(Ke=BA(),Ke!==t?(Re=BA(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=ns(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function BA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(Bo)),R}function GE(){var R,q;if(Xe++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(S)),R}function Ys(){var R,q,Ce,Ke,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ml?(R=Ml,G+=2):(R=t,Xe===0&&Le(Qp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Le(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Le(Pp)))),R}let yg=2,bA=0;if(pa=n(),pa!==t&&G===r.length)return pa;throw pa!==t&&G{"use strict";var hde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=hde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=hH;ev.exports.default=hH});var dH=w((A_e,pde)=>{pde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var mH=dH(),Po=process.env;Object.defineProperty(Un,"_vendors",{value:mH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;mH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return CH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!Po[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in Po&&Po[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!Po[i]}):Un.isPR=CH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(Po.CI||Po.CONTINUOUS_INTEGRATION||Po.BUILD_NUMBER||Po.RUN_ID||Un.name);function CH(r){return typeof r=="string"?!!Po[r]:Object.keys(r).every(function(e){return Po[e]===r[e]})}});var hn={};ut(hn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>BH,colorStringAlphaRegExp:()=>wH,colorStringRegExp:()=>yH,computeKey:()=>RA,getPrintable:()=>Vr,hasExactLength:()=>xH,hasForbiddenKeys:()=>Wde,hasKeyRelationship:()=>av,hasMaxLength:()=>Dde,hasMinLength:()=>Pde,hasMutuallyExclusiveKeys:()=>zde,hasRequiredKeys:()=>Jde,hasUniqueItems:()=>kde,isArray:()=>yde,isAtLeast:()=>Nde,isAtMost:()=>Tde,isBase64:()=>jde,isBoolean:()=>mde,isDate:()=>Ide,isDict:()=>Bde,isEnum:()=>Zi,isHexColor:()=>Yde,isISO8601:()=>Gde,isInExclusiveRange:()=>Mde,isInInclusiveRange:()=>Lde,isInstanceOf:()=>Qde,isInteger:()=>Ode,isJSON:()=>qde,isLiteral:()=>dde,isLowerCase:()=>Kde,isNegative:()=>Rde,isNullable:()=>xde,isNumber:()=>Ede,isObject:()=>bde,isOneOf:()=>Sde,isOptional:()=>vde,isPositive:()=>Fde,isString:()=>sd,isTuple:()=>wde,isUUID4:()=>Hde,isUnknown:()=>vH,isUpperCase:()=>Ude,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>SH,makeTrait:()=>QH,makeValidator:()=>Qt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>IH,uuid4RegExp:()=>bH});function Qt({test:r}){return QH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function RA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:IH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function SH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function dde(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Zi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var IH,yH,wH,BH,bH,ov,QH,vH,sd,Cde,mde,Ede,Ide,yde,wde,Bde,bde,Qde,Sde,od,vde,xde,Pde,Dde,xH,kde,Rde,Fde,Nde,Tde,Lde,Mde,Ode,ad,Kde,Ude,Hde,Gde,Yde,jde,qde,Jde,Wde,zde,lc,Vde,av,ls=Tge(()=>{IH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,yH=/^#[0-9a-f]{6}$/i,wH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,BH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,QH=r=>()=>r;vH=()=>Qt({test:(r,e)=>!0});sd=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});Cde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),mde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=Cde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),Ede=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),Ide=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),yde=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=xH(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:RA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:SH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Qde=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Sde=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),vde=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),xde=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),Pde=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Dde=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),xH=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),kde=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Fde=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Nde=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Tde=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Lde=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Mde=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Kde=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Ude=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Hde=()=>Qt({test:(r,e)=>bH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Gde=()=>Qt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Yde=({alpha:r=!1})=>Qt({test:(e,t)=>(r?yH.test(e):wH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),jde=()=>Qt({test:(r,e)=>BH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),qde=(r=vH())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Wde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},zde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));Vde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Vde[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var qH=w((A$e,jH)=>{"use strict";jH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((l$e,pv)=>{"use strict";var gCe=qH(),JH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=gCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=JH;pv.exports.default=JH});var gd=w((u$e,WH)=>{var fCe="2.0.0",hCe=Number.MAX_SAFE_INTEGER||9007199254740991,pCe=16;WH.exports={SEMVER_SPEC_VERSION:fCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:hCe,MAX_SAFE_COMPONENT_LENGTH:pCe}});var fd=w((g$e,zH)=>{var dCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};zH.exports=dCe});var uc=w((NA,VH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),CCe=fd();NA=VH.exports={};var mCe=NA.re=[],et=NA.src=[],tt=NA.t={},ECe=0,St=(r,e,t)=>{let i=ECe++;CCe(i,e),tt[r]=i,et[i]=e,mCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);NA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);NA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);NA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((f$e,XH)=>{var ICe=["includePrerelease","loose","rtl"],yCe=r=>r?typeof r!="object"?{loose:!0}:ICe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};XH.exports=yCe});var MI=w((h$e,$H)=>{var ZH=/^[0-9]+$/,_H=(r,e)=>{let t=ZH.test(r),i=ZH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r_H(e,r);$H.exports={compareIdentifiers:_H,rcompareIdentifiers:wCe}});var Li=w((p$e,iG)=>{var OI=fd(),{MAX_LENGTH:eG,MAX_SAFE_INTEGER:KI}=gd(),{re:tG,t:rG}=uc(),BCe=hd(),{compareIdentifiers:pd}=MI(),Yn=class{constructor(e,t){if(t=BCe(t),e instanceof Yn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>eG)throw new TypeError(`version is longer than ${eG} characters`);OI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?tG[rG.LOOSE]:tG[rG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>KI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>KI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>KI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};iG.exports=Yn});var gc=w((d$e,aG)=>{var{MAX_LENGTH:bCe}=gd(),{re:nG,t:sG}=uc(),oG=Li(),QCe=hd(),SCe=(r,e)=>{if(e=QCe(e),r instanceof oG)return r;if(typeof r!="string"||r.length>bCe||!(e.loose?nG[sG.LOOSE]:nG[sG.FULL]).test(r))return null;try{return new oG(r,e)}catch{return null}};aG.exports=SCe});var lG=w((C$e,AG)=>{var vCe=gc(),xCe=(r,e)=>{let t=vCe(r,e);return t?t.version:null};AG.exports=xCe});var uG=w((m$e,cG)=>{var PCe=gc(),DCe=(r,e)=>{let t=PCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};cG.exports=DCe});var fG=w((E$e,gG)=>{var kCe=Li(),RCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new kCe(r,t).inc(e,i).version}catch{return null}};gG.exports=RCe});var cs=w((I$e,pG)=>{var hG=Li(),FCe=(r,e,t)=>new hG(r,t).compare(new hG(e,t));pG.exports=FCe});var UI=w((y$e,dG)=>{var NCe=cs(),TCe=(r,e,t)=>NCe(r,e,t)===0;dG.exports=TCe});var EG=w((w$e,mG)=>{var CG=gc(),LCe=UI(),MCe=(r,e)=>{if(LCe(r,e))return null;{let t=CG(r),i=CG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};mG.exports=MCe});var yG=w((B$e,IG)=>{var OCe=Li(),KCe=(r,e)=>new OCe(r,e).major;IG.exports=KCe});var BG=w((b$e,wG)=>{var UCe=Li(),HCe=(r,e)=>new UCe(r,e).minor;wG.exports=HCe});var QG=w((Q$e,bG)=>{var GCe=Li(),YCe=(r,e)=>new GCe(r,e).patch;bG.exports=YCe});var vG=w((S$e,SG)=>{var jCe=gc(),qCe=(r,e)=>{let t=jCe(r,e);return t&&t.prerelease.length?t.prerelease:null};SG.exports=qCe});var PG=w((v$e,xG)=>{var JCe=cs(),WCe=(r,e,t)=>JCe(e,r,t);xG.exports=WCe});var kG=w((x$e,DG)=>{var zCe=cs(),VCe=(r,e)=>zCe(r,e,!0);DG.exports=VCe});var HI=w((P$e,FG)=>{var RG=Li(),XCe=(r,e,t)=>{let i=new RG(r,t),n=new RG(e,t);return i.compare(n)||i.compareBuild(n)};FG.exports=XCe});var TG=w((D$e,NG)=>{var ZCe=HI(),_Ce=(r,e)=>r.sort((t,i)=>ZCe(t,i,e));NG.exports=_Ce});var MG=w((k$e,LG)=>{var $Ce=HI(),eme=(r,e)=>r.sort((t,i)=>$Ce(i,t,e));LG.exports=eme});var dd=w((R$e,OG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)>0;OG.exports=rme});var GI=w((F$e,KG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)<0;KG.exports=nme});var Cv=w((N$e,UG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)!==0;UG.exports=ome});var YI=w((T$e,HG)=>{var ame=cs(),Ame=(r,e,t)=>ame(r,e,t)>=0;HG.exports=Ame});var jI=w((L$e,GG)=>{var lme=cs(),cme=(r,e,t)=>lme(r,e,t)<=0;GG.exports=cme});var mv=w((M$e,YG)=>{var ume=UI(),gme=Cv(),fme=dd(),hme=YI(),pme=GI(),dme=jI(),Cme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ume(r,t,i);case"!=":return gme(r,t,i);case">":return fme(r,t,i);case">=":return hme(r,t,i);case"<":return pme(r,t,i);case"<=":return dme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};YG.exports=Cme});var qG=w((O$e,jG)=>{var mme=Li(),Eme=gc(),{re:qI,t:JI}=uc(),Ime=(r,e)=>{if(r instanceof mme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:Eme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};jG.exports=Ime});var WG=w((K$e,JG)=>{"use strict";JG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((U$e,zG)=>{"use strict";zG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var bme=WI(),hc=Symbol("max"),va=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),Sa=Symbol("dispose"),VG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),ZG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[Sa]=e.dispose,this[VG]=e.noDisposeOnSet||!1,this[ZG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[va]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[va]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[va]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;XG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;XG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Sa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Sa](e.key,e.value)),this[Zs]=new Map,this[di]=new bme,this[va]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[Sa]&&(this[VG]||this[Sa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[va]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[Sa]&&this[Sa](e,t),!1):(this[va]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[ZG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[va]>r[hc])for(let e=r[di].tail;r[va]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[Sa]&&r[Sa](t.key,t.value),r[va]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},XG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};_G.exports=yv});var us=w((G$e,iY)=>{var dc=class{constructor(e,t){if(t=Sme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!tY(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&kme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=eY.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[bi.HYPHENRANGELOOSE]:Mi[bi.HYPHENRANGE];e=e.replace(o,Hme(this.options.includePrerelease)),Hr("hyphen replace",e),e=e.replace(Mi[bi.COMPARATORTRIM],xme),Hr("comparator trim",e,Mi[bi.COMPARATORTRIM]),e=e.replace(Mi[bi.TILDETRIM],Pme),e=e.replace(Mi[bi.CARETTRIM],Dme),e=e.split(/\s+/).join(" ");let a=s?Mi[bi.COMPARATORLOOSE]:Mi[bi.COMPARATOR],l=e.split(" ").map(f=>Rme(f,this.options)).join(" ").split(/\s+/).map(f=>Ume(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(tY(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return eY.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>rY(i,t)&&e.set.some(n=>rY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new vme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",kme=r=>r.value==="",rY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Rme=(r,e)=>(Hr("comp",r,e),r=Tme(r,e),Hr("caret",r),r=Fme(r,e),Hr("tildes",r),r=Mme(r,e),Hr("xrange",r),r=Kme(r,e),Hr("stars",r),r),$i=r=>!r||r.toLowerCase()==="x"||r==="*",Fme=(r,e)=>r.trim().split(/\s+/).map(t=>Nme(t,e)).join(" "),Nme=(r,e)=>{let t=e.loose?Mi[bi.TILDELOOSE]:Mi[bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Hr("tilde",r,i,n,s,o,a);let l;return $i(n)?l="":$i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:$i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Hr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Hr("tilde return",l),l})},Tme=(r,e)=>r.trim().split(/\s+/).map(t=>Lme(t,e)).join(" "),Lme=(r,e)=>{Hr("caret",r,e);let t=e.loose?Mi[bi.CARETLOOSE]:Mi[bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Hr("caret",r,n,s,o,a,l);let c;return $i(s)?c="":$i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:$i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Hr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Hr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Hr("caret return",c),c})},Mme=(r,e)=>(Hr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Ome(t,e)).join(" ")),Ome=(r,e)=>{r=r.trim();let t=e.loose?Mi[bi.XRANGELOOSE]:Mi[bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Hr("xRange",r,i,n,s,o,a,l);let c=$i(s),u=c||$i(o),g=u||$i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Hr("xRange return",i),i})},Kme=(r,e)=>(Hr("replaceStars",r,e),r.trim().replace(Mi[bi.STAR],"")),Ume=(r,e)=>(Hr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?bi.GTE0PRE:bi.GTE0],"")),Hme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>($i(i)?t="":$i(n)?t=`>=${i}.0.0${r?"-0":""}`:$i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,$i(c)?l="":$i(u)?l=`<${+c+1}.0.0-0`:$i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Gme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((Y$e,AY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Yme(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}Qv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,Qv("comp",this)}parse(e){let t=this.options.loose?nY[sY.COMPARATORLOOSE]:nY[sY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new oY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(Qv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new oY(e,this.options)}catch{return!1}return bv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new aY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new aY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=bv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=bv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};AY.exports=Vg;var Yme=hd(),{re:nY,t:sY}=uc(),bv=mv(),Qv=fd(),oY=Li(),aY=us()});var yd=w((j$e,lY)=>{var jme=us(),qme=(r,e,t)=>{try{e=new jme(e,t)}catch{return!1}return e.test(r)};lY.exports=qme});var uY=w((q$e,cY)=>{var Jme=us(),Wme=(r,e)=>new Jme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));cY.exports=Wme});var fY=w((J$e,gY)=>{var zme=Li(),Vme=us(),Xme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Vme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new zme(i,t))}),i};gY.exports=Xme});var pY=w((W$e,hY)=>{var Zme=Li(),_me=us(),$me=(r,e,t)=>{let i=null,n=null,s=null;try{s=new _me(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Zme(i,t))}),i};hY.exports=$me});var mY=w((z$e,CY)=>{var Sv=Li(),eEe=us(),dY=dd(),tEe=(r,e)=>{r=new eEe(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||dY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||dY(t,s))&&(t=s)}return t&&r.test(t)?t:null};CY.exports=tEe});var IY=w((V$e,EY)=>{var rEe=us(),iEe=(r,e)=>{try{return new rEe(r,e).range||"*"}catch{return null}};EY.exports=iEe});var VI=w((X$e,bY)=>{var nEe=Li(),BY=Ed(),{ANY:sEe}=BY,oEe=us(),aEe=yd(),yY=dd(),wY=GI(),AEe=jI(),lEe=YI(),cEe=(r,e,t,i)=>{r=new nEe(r,i),e=new oEe(e,i);let n,s,o,a,l;switch(t){case">":n=yY,s=AEe,o=wY,a=">",l=">=";break;case"<":n=wY,s=lEe,o=yY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(aEe(r,e,i))return!1;for(let c=0;c{h.semver===sEe&&(h=new BY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};bY.exports=cEe});var SY=w((Z$e,QY)=>{var uEe=VI(),gEe=(r,e,t)=>uEe(r,e,">",t);QY.exports=gEe});var xY=w((_$e,vY)=>{var fEe=VI(),hEe=(r,e,t)=>fEe(r,e,"<",t);vY.exports=hEe});var kY=w(($$e,DY)=>{var PY=us(),pEe=(r,e,t)=>(r=new PY(r,t),e=new PY(e,t),r.intersects(e));DY.exports=pEe});var FY=w((eet,RY)=>{var dEe=yd(),CEe=cs();RY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>CEe(u,g,t));for(let u of o)dEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var NY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),mEe=(r,e,t={})=>{if(r===e)return!0;r=new NY(r,t),e=new NY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=EEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},EEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=TY(n,h,t):h.operator==="<"||h.operator==="<="?s=LY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=TY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=LY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},TY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},LY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};MY.exports=mEe});var Xr=w((ret,KY)=>{var Pv=uc();KY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:MI().compareIdentifiers,rcompareIdentifiers:MI().rcompareIdentifiers,parse:gc(),valid:lG(),clean:uG(),inc:fG(),diff:EG(),major:yG(),minor:BG(),patch:QG(),prerelease:vG(),compare:cs(),rcompare:PG(),compareLoose:kG(),compareBuild:HI(),sort:TG(),rsort:MG(),gt:dd(),lt:GI(),eq:UI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:qG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:uY(),maxSatisfying:fY(),minSatisfying:pY(),minVersion:mY(),validRange:IY(),outside:VI(),gtr:SY(),ltr:xY(),intersects:kY(),simplifyRange:FY(),subset:OY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:UY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` `),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` `);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(y){C.push(y)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` -`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ty=w(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.clearRegExpParserCache=Xg.getRegExpAst=void 0;var mEe=$I(),ey={},EEe=new mEe.RegExpParser;function IEe(r){var e=r.toString();if(ey.hasOwnProperty(e))return ey[e];var t=EEe.pattern(e);return ey[e]=t,t}Xg.getRegExpAst=IEe;function yEe(){ey={}}Xg.clearRegExpParserCache=yEe});var YY=w(Cn=>{"use strict";var wEe=Cn&&Cn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cn,"__esModule",{value:!0});Cn.canMatchCharCode=Cn.firstCharOptimizedIndices=Cn.getOptimizedStartCodesIndices=Cn.failedOptimizationPrefixMsg=void 0;var UY=$I(),gs=Gt(),HY=ty(),xa=Rv(),GY="Complement Sets are not supported for first char optimization";Cn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: -`;function BEe(r,e){e===void 0&&(e=!1);try{var t=(0,HY.getRegExpAst)(r),i=iy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===GY)e&&(0,gs.PRINT_WARNING)(""+Cn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var y=p[C];p.hasOwnProperty(C)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ty=w(Xg=>{"use strict";Object.defineProperty(Xg,"__esModule",{value:!0});Xg.clearRegExpParserCache=Xg.getRegExpAst=void 0;var IEe=$I(),ey={},yEe=new IEe.RegExpParser;function wEe(r){var e=r.toString();if(ey.hasOwnProperty(e))return ey[e];var t=yEe.pattern(e);return ey[e]=t,t}Xg.getRegExpAst=wEe;function BEe(){ey={}}Xg.clearRegExpParserCache=BEe});var qY=w(Cn=>{"use strict";var bEe=Cn&&Cn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cn,"__esModule",{value:!0});Cn.canMatchCharCode=Cn.firstCharOptimizedIndices=Cn.getOptimizedStartCodesIndices=Cn.failedOptimizationPrefixMsg=void 0;var GY=$I(),gs=Gt(),YY=ty(),xa=Rv(),jY="Complement Sets are not supported for first char optimization";Cn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function QEe(r,e){e===void 0&&(e=!1);try{var t=(0,YY.getRegExpAst)(r),i=iy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===jY)e&&(0,gs.PRINT_WARNING)(""+Cn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > `)+` Complement Sets cannot be automatically optimized. This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` This will disable the lexer's first char optimizations. See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,gs.PRINT_ERROR)(Cn.failedOptimizationPrefixMsg+` `+(" Failed parsing: < "+r.toString()+` > -`)+(" Using the regexp-to-ast library version: "+UY.VERSION+` -`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Cn.getOptimizedStartCodesIndices=BEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=xa.minOptimizationVal)for(var f=u.from>=xa.minOptimizationVal?u.from:xa.minOptimizationVal,h=u.to,p=(0,xa.charCodeToOptimizedIndex)(f),C=(0,xa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}Cn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,xa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&bEe(r,e)}function bEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,xa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,xa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function KY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var QEe=function(r){wEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?KY(t,this.targetCharCodes)===void 0&&(this.found=!0):KY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(UY.BaseRegExpVisitor);function SEe(r,e){if(e instanceof RegExp){var t=(0,HY.getRegExpAst)(e),i=new QEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}Cn.canMatchCharCode=SEe});var Rv=w(Ve=>{"use strict";var jY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var qY=$I(),ir=Bd(),xe=Gt(),Zg=YY(),JY=ty(),Do="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function vEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=vEe;function xEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=xEe;function PEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){KEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[Do];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Mv),h=(0,xe.map)(s,ij),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. +`)+(" Using the regexp-to-ast library version: "+GY.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Cn.getOptimizedStartCodesIndices=QEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=xa.minOptimizationVal)for(var f=u.from>=xa.minOptimizationVal?u.from:xa.minOptimizationVal,h=u.to,p=(0,xa.charCodeToOptimizedIndex)(f),C=(0,xa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}Cn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,xa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&SEe(r,e)}function SEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,xa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,xa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function HY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var vEe=function(r){bEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?HY(t,this.targetCharCodes)===void 0&&(this.found=!0):HY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(GY.BaseRegExpVisitor);function xEe(r,e){if(e instanceof RegExp){var t=(0,YY.getRegExpAst)(e),i=new vEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}Cn.canMatchCharCode=xEe});var Rv=w(Ve=>{"use strict";var JY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var WY=$I(),ir=Bd(),xe=Gt(),Zg=qY(),zY=ty(),ko="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function PEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=PEe;function DEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=DEe;function kEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){HEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[ko]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[ko];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=Aj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(oj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Mv),h=(0,xe.map)(s,sj),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. `)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[T])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. `)+` This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=PEe;function DEe(r,e){var t=[],i=WY(r);t=t.concat(i.errors);var n=zY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(kEe(s)),t=t.concat(ej(s)),t=t.concat(tj(s,e)),t=t.concat(rj(s)),t}Ve.validatePatterns=DEe;function kEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[Do])});return e=e.concat(VY(t)),e=e.concat(ZY(t)),e=e.concat(_Y(t)),e=e.concat($Y(t)),e=e.concat(XY(t)),e}function WY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,Do)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=WY;function zY(r){var e=(0,xe.filter)(r,function(n){var s=n[Do];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=zY;var REe=/[^\\][\$]/;function VY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return REe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return v},[])}),t("ArrayPacking",function(){B=(0,xe.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:y}}Ve.analyzeTokenTypes=kEe;function REe(r,e){var t=[],i=VY(r);t=t.concat(i.errors);var n=XY(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(FEe(s)),t=t.concat(rj(s)),t=t.concat(ij(s,e)),t=t.concat(nj(s)),t}Ve.validatePatterns=REe;function FEe(r){var e=[],t=(0,xe.filter)(r,function(i){return(0,xe.isRegExp)(i[ko])});return e=e.concat(ZY(t)),e=e.concat($Y(t)),e=e.concat(ej(t)),e=e.concat(tj(t)),e=e.concat(_Y(t)),e}function VY(r){var e=(0,xe.filter)(r,function(n){return!(0,xe.has)(n,ko)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findMissingPatterns=VY;function XY(r){var e=(0,xe.filter)(r,function(n){var s=n[ko];return!(0,xe.isRegExp)(s)&&!(0,xe.isFunction)(s)&&!(0,xe.has)(s,"exec")&&!(0,xe.isString)(s)}),t=(0,xe.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,xe.difference)(r,e);return{errors:t,valid:i}}Ve.findInvalidPatterns=XY;var NEe=/[^\\][\$]/;function ZY(r){var e=function(n){JY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(WY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[ko];try{var o=(0,zY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return NEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=VY;function XY(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=XY;var FEe=/[^\\[][\^]|^\^/;function ZY(r){var e=function(n){jY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[Do];try{var o=(0,JY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return FEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[ko];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=_Y;var TEe=/[^\\[][\^]|^\^/;function $Y(r){var e=function(n){JY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(WY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[ko];try{var o=(0,zY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return TEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=_Y;function $Y(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=$Y;function ej(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=ej;function tj(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=tj;function rj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&TEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=ej;function tj(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=tj;function rj(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=rj;function ij(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=ij;function nj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&MEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=rj;function NEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function TEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function LEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=nj;function LEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function MEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function OEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=LEe;function MEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oj(t);return e&&(0,xe.forEach)(o,function(l){var c=nj(l,a);if(c!==!1){var u=sj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. +`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=OEe;function KEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[ko]===ir.Lexer.NA}),a=Aj(t);return e&&(0,xe.forEach)(o,function(l){var c=oj(l,a);if(c!==!1){var u=aj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=MEe;function OEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=OEe;function Mv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Mv;function ij(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=ij;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type `)+(" Root cause: "+e.errMsg+`. `)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. `+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=sj;function oj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function UEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=UEe;function HEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=HEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function GEe(r){var e=aj(r);Aj(e),cj(e),lj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=GEe;function aj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aj;function Aj(r){(0,Zr.forEach)(r,function(e){uj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Ov(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),gj(e)||(e.categoryMatches=[]),fj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aj;function lj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lj;function cj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=cj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function uj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uj;function Ov(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Ov;function gj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gj;function fj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fj;function YEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=YEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),jEe=_g(),qEe=Uv(),JEe=ty(),WEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(WEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var bd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:qEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(bd);var zEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=bd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=aj;function Aj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function GEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=GEe;function YEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=YEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function jEe(r){var e=lj(r);cj(e),gj(e),uj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=jEe;function lj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=lj;function cj(r){(0,Zr.forEach)(r,function(e){fj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Ov(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),hj(e)||(e.categoryMatches=[]),pj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=cj;function uj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=uj;function gj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=gj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function fj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=fj;function Ov(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Ov;function hj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=hj;function pj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=pj;function qEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=qEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),JEe=_g(),WEe=Uv(),zEe=ty(),VEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(VEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var bd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:WEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(bd);var XEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=bd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(bd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===bd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=_s.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===bd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,jEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,JEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- `);throw new Error(`Errors detected in definition of Lexer: `+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(_s.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,JEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,zEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Mr=void 0,ii=void 0;M.lastIndex=0;do Mr=M.test(c),Mr===!0&&(ii=M.lastIndex-1,It++);while(Mr===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=zEe});var LA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var $s=Gt(),VEe=Bd(),Hv=_g();function XEe(r){return wj(r)?r.LABEL:r.name}Qi.tokenLabel=XEe;function ZEe(r){return r.name}Qi.tokenName=ZEe;function wj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=wj;var _Ee="parent",hj="categories",pj="label",dj="group",Cj="push_mode",mj="pop_mode",Ej="longer_alt",Ij="line_breaks",yj="start_chars_hint";function Bj(r){return $Ee(r)}Qi.createToken=Bj;function $Ee(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,_Ee))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,hj)&&(t.CATEGORIES=r[hj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,pj)&&(t.LABEL=r[pj]),(0,$s.has)(r,dj)&&(t.GROUP=r[dj]),(0,$s.has)(r,mj)&&(t.POP_MODE=r[mj]),(0,$s.has)(r,Cj)&&(t.PUSH_MODE=r[Cj]),(0,$s.has)(r,Ej)&&(t.LONGER_ALT=r[Ej]),(0,$s.has)(r,Ij)&&(t.LINE_BREAKS=r[Ij]),(0,$s.has)(r,yj)&&(t.START_CHARS_HINT=r[yj]),t}Qi.EOF=Bj({name:"EOF",pattern:VEe.Lexer.NA});(0,Hv.augmentTokenTypes)([Qi.EOF]);function eIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=eIe;function tIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=tIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),rIe=LA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=ko;var bj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);zt.NonTerminal=bj;var Qj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Rule=Qj;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Alternative=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Option=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatory=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionMandatoryWithSeparator=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.Repetition=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(ko);zt.RepetitionWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);zt.Alternation=Rj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function iIe(r){return(0,Ar.map)(r,Qd)}zt.serializeGrammar=iIe;function Qd(r){function e(s){return(0,Ar.map)(s,Qd)}if(r instanceof bj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Dj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Rj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,rIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof Qj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Qd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),En=mn(),nIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof En.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof En.Terminal)i.walkTerminal(n,o,t);else if(n instanceof En.Alternative)i.walkFlat(n,o,t);else if(n instanceof En.Option)i.walkOption(n,o,t);else if(n instanceof En.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof En.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof En.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof En.Repetition)i.walkMany(n,o,t);else if(n instanceof En.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Fj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new En.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=nIe;function Fj(r,e,t){var i=[new En.Option({definition:[new En.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Ro=mn(),sIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=sIe});var vd=w(Oi=>{"use strict";var oIe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,"__esModule",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var Sd=Gt(),br=mn(),aIe=$g();function AIe(r){return r instanceof br.Alternative||r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionMandatory||r instanceof br.RepetitionMandatoryWithSeparator||r instanceof br.RepetitionWithSeparator||r instanceof br.Terminal||r instanceof br.Rule}Oi.isSequenceProd=AIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionWithSeparator;return t?!0:r instanceof br.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof br.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof br.AbstractProduction?(r instanceof br.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Oi.isOptionalProd=Yv;function lIe(r){return r instanceof br.Alternation}Oi.isBranchingProd=lIe;function cIe(r){if(r instanceof br.NonTerminal)return"SUBRULE";if(r instanceof br.Option)return"OPTION";if(r instanceof br.Alternation)return"OR";if(r instanceof br.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof br.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof br.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof br.Repetition)return"MANY";if(r instanceof br.Terminal)return"CONSUME";throw Error("non exhaustive match")}Oi.getProductionDslName=cIe;var Nj=function(r){oIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(aIe.GAstVisitor);Oi.DslMethodsCollectorVisitor=Nj;var cy=new Nj;function uIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Oi.collectMethods=uIe});var qv=w(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var uy=Gt(),Tj=mn(),jv=vd();function gy(r){if(r instanceof Tj.NonTerminal)return gy(r.referencedRule);if(r instanceof Tj.Terminal)return Oj(r);if((0,jv.isSequenceProd)(r))return Lj(r);if((0,jv.isBranchingProd)(r))return Mj(r);throw Error("non exhaustive match")}Fo.first=gy;function Lj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}Fo.firstForSequence=Lj;function Mj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}Fo.firstForBranching=Mj;function Oj(r){return[r.terminalType]}Fo.firstForTerminal=Oj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var Yj=w(fs=>{"use strict";var gIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var fIe=Ay(),hIe=qv(),Kj=Gt(),Uj=Jv(),pIe=mn(),Hj=function(r){gIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Gj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new pIe.Alternative({definition:o}),l=(0,hIe.first)(a);this.follows[s]=l},e}(fIe.RestWalker);fs.ResyncFollowsWalker=Hj;function dIe(r){var e={};return(0,Kj.forEach)(r,function(t){var i=new Hj(t).startWalking();(0,Kj.assign)(e,i)}),e}fs.computeAllProdsFollows=dIe;function Gj(r,e){return r.name+e+Uj.IN}fs.buildBetweenProdsFollowPrefix=Gj;function CIe(r){var e=r.terminalType.name;return e+r.idx+Uj.IN}fs.buildInProdFollowPrefix=CIe});var xd=w(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.defaultGrammarValidatorErrorProvider=Da.defaultGrammarResolverErrorProvider=Da.defaultParserErrorProvider=void 0;var ef=LA(),mIe=Gt(),eo=Gt(),Wv=mn(),jj=vd();Da.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Mr=void 0,ii=void 0;M.lastIndex=0;do Mr=M.test(c),Mr===!0&&(ii=M.lastIndex-1,It++);while(Mr===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=XEe});var TA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var $s=Gt(),ZEe=Bd(),Hv=_g();function _Ee(r){return bj(r)?r.LABEL:r.name}Qi.tokenLabel=_Ee;function $Ee(r){return r.name}Qi.tokenName=$Ee;function bj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=bj;var eIe="parent",dj="categories",Cj="label",mj="group",Ej="push_mode",Ij="pop_mode",yj="longer_alt",wj="line_breaks",Bj="start_chars_hint";function Qj(r){return tIe(r)}Qi.createToken=Qj;function tIe(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,eIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,dj)&&(t.CATEGORIES=r[dj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,Cj)&&(t.LABEL=r[Cj]),(0,$s.has)(r,mj)&&(t.GROUP=r[mj]),(0,$s.has)(r,Ij)&&(t.POP_MODE=r[Ij]),(0,$s.has)(r,Ej)&&(t.PUSH_MODE=r[Ej]),(0,$s.has)(r,yj)&&(t.LONGER_ALT=r[yj]),(0,$s.has)(r,wj)&&(t.LINE_BREAKS=r[wj]),(0,$s.has)(r,Bj)&&(t.START_CHARS_HINT=r[Bj]),t}Qi.EOF=Qj({name:"EOF",pattern:ZEe.Lexer.NA});(0,Hv.augmentTokenTypes)([Qi.EOF]);function rIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=rIe;function iIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=iIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),nIe=TA(),Ro=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=Ro;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(Ro);zt.NonTerminal=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Rule=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Alternative=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Option=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatory=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatoryWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Repetition=Rj;var Fj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionWithSeparator=Fj;var Nj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(Ro);zt.Alternation=Nj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function sIe(r){return(0,Ar.map)(r,Qd)}zt.serializeGrammar=sIe;function Qd(r){function e(s){return(0,Ar.map)(s,Qd)}if(r instanceof Sj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof xj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Pj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof Dj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Fj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Rj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Nj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,nIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof vj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Qd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),En=mn(),oIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof En.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof En.Terminal)i.walkTerminal(n,o,t);else if(n instanceof En.Alternative)i.walkFlat(n,o,t);else if(n instanceof En.Option)i.walkOption(n,o,t);else if(n instanceof En.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof En.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof En.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof En.Repetition)i.walkMany(n,o,t);else if(n instanceof En.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new En.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=oIe;function Tj(r,e,t){var i=[new En.Option({definition:[new En.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Fo=mn(),aIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Fo.NonTerminal:return this.visitNonTerminal(t);case Fo.Alternative:return this.visitAlternative(t);case Fo.Option:return this.visitOption(t);case Fo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Fo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Fo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Fo.Repetition:return this.visitRepetition(t);case Fo.Alternation:return this.visitAlternation(t);case Fo.Terminal:return this.visitTerminal(t);case Fo.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=aIe});var vd=w(Oi=>{"use strict";var AIe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,"__esModule",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var Sd=Gt(),br=mn(),lIe=$g();function cIe(r){return r instanceof br.Alternative||r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionMandatory||r instanceof br.RepetitionMandatoryWithSeparator||r instanceof br.RepetitionWithSeparator||r instanceof br.Terminal||r instanceof br.Rule}Oi.isSequenceProd=cIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionWithSeparator;return t?!0:r instanceof br.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof br.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof br.AbstractProduction?(r instanceof br.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Oi.isOptionalProd=Yv;function uIe(r){return r instanceof br.Alternation}Oi.isBranchingProd=uIe;function gIe(r){if(r instanceof br.NonTerminal)return"SUBRULE";if(r instanceof br.Option)return"OPTION";if(r instanceof br.Alternation)return"OR";if(r instanceof br.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof br.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof br.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof br.Repetition)return"MANY";if(r instanceof br.Terminal)return"CONSUME";throw Error("non exhaustive match")}Oi.getProductionDslName=gIe;var Lj=function(r){AIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(lIe.GAstVisitor);Oi.DslMethodsCollectorVisitor=Lj;var cy=new Lj;function fIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Oi.collectMethods=fIe});var qv=w(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.firstForTerminal=No.firstForBranching=No.firstForSequence=No.first=void 0;var uy=Gt(),Mj=mn(),jv=vd();function gy(r){if(r instanceof Mj.NonTerminal)return gy(r.referencedRule);if(r instanceof Mj.Terminal)return Uj(r);if((0,jv.isSequenceProd)(r))return Oj(r);if((0,jv.isBranchingProd)(r))return Kj(r);throw Error("non exhaustive match")}No.first=gy;function Oj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}No.firstForSequence=Oj;function Kj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}No.firstForBranching=Kj;function Uj(r){return[r.terminalType]}No.firstForTerminal=Uj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var qj=w(fs=>{"use strict";var hIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var pIe=Ay(),dIe=qv(),Hj=Gt(),Gj=Jv(),CIe=mn(),Yj=function(r){hIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=jj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new CIe.Alternative({definition:o}),l=(0,dIe.first)(a);this.follows[s]=l},e}(pIe.RestWalker);fs.ResyncFollowsWalker=Yj;function mIe(r){var e={};return(0,Hj.forEach)(r,function(t){var i=new Yj(t).startWalking();(0,Hj.assign)(e,i)}),e}fs.computeAllProdsFollows=mIe;function jj(r,e){return r.name+e+Gj.IN}fs.buildBetweenProdsFollowPrefix=jj;function EIe(r){var e=r.terminalType.name;return e+r.idx+Gj.IN}fs.buildInProdFollowPrefix=EIe});var xd=w(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.defaultGrammarValidatorErrorProvider=Da.defaultGrammarResolverErrorProvider=Da.defaultParserErrorProvider=void 0;var ef=TA(),IIe=Gt(),eo=Gt(),Wv=mn(),Jj=vd();Da.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` but found: '`+a+"'";if(n)return o+n+l;var c=(0,eo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,eo.map)(c,function(h){return"["+(0,eo.map)(h,function(p){return(0,ef.tokenLabel)(p)}).join(", ")+"]"}),g=(0,eo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: `+g.join(` `);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,eo.first)(t).image,a=` but found: '`+o+"'";if(i)return s+i+a;var l=(0,eo.map)(e,function(u){return"["+(0,eo.map)(u,function(g){return(0,ef.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Da.defaultParserErrorProvider);Da.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+r.name+"<-";return t}};Da.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,eo.first)(e),s=n.idx,o=(0,jj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` +inside top level rule: ->`+r.name+"<-";return t}};Da.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Wv.Terminal?u.terminalType.name:u instanceof Wv.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,eo.first)(e),s=n.idx,o=(0,Jj.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` @@ -115,42 +115,42 @@ and Non-Terminal names start with a lower case letter.`;return e},buildAlternati For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,eo.map)(r.prefixPath,function(n){return(0,ef.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, `)+("<"+e+`> may appears as a prefix path in all these alternatives. `);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. +For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,Jj.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. `)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: `+(" inside <"+r.topLevelRule.name+`> Rule. - has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=mIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. + has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=IIe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. `+("rule: <"+e+`> can be invoked from itself (directly or indirectly) `)+(`without consuming any Tokens. The grammar path that causes this is: `+i+` `)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wj=w(MA=>{"use strict";var EIe=MA&&MA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(MA,"__esModule",{value:!0});MA.GastRefResolverVisitor=MA.resolveGrammar=void 0;var IIe=jn(),qj=Gt(),yIe=$g();function wIe(r,e){var t=new Jj(r,e);return t.resolveRefs(),t.errors}MA.resolveGrammar=wIe;var Jj=function(r){EIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qj.forEach)((0,qj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:IIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(yIe.GAstVisitor);MA.GastRefResolverVisitor=Jj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var zj=Ay(),Kt=Gt(),BIe=qv(),kt=mn(),Vj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Vj;var bIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,BIe.first)(o),this.found=!0}},e}(Vj);Nr.NextAfterTokenWalker=bIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var QIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=QIe;var SIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=SIe;var vIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=vIe;var xIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=xIe;function Xj(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=Xj(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],M={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(M),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(DIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=PIe;function DIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var $j=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),Zj=Dd(),kIe=Ay(),hy=_g(),OA=mn(),RIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function FIe(r){if(r instanceof OA.Option)return oi.OPTION;if(r instanceof OA.Repetition)return oi.REPETITION;if(r instanceof OA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof OA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof OA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof OA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=FIe;function NIe(r,e,t,i,n,s){var o=tq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=NIe;function TIe(r,e,t,i,n,s){var o=rq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=TIe;function LIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),Qr=Gt(),No=jn(),_v=vd(),tf=kd(),HIe=Dd(),to=mn(),$v=$g();function GIe(r,e,t,i,n){var s=er.map(r,function(h){return YIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,Qr.every)(o,Qr.isEmpty)&&(a=(0,Qr.map)(r,function(h){return Aq(h,i)}),l=(0,Qr.map)(r,function(h){return lq(h,e,i)}),c=gq(r,e,i));var u=JIe(r,t,i),g=(0,Qr.map)(r,function(h){return uq(h,i)}),f=(0,Qr.map)(r,function(h){return aq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=GIe;function YIe(r,e){var t=new oq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sq(l);return f&&(g.parameter=f),g});return o}function nq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sq(r)}Vt.identifyProductionForDuplicates=nq;function sq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var oq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=oq;function aq(r,e,t,i){var n=[],s=(0,Qr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=aq;function jIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=jIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function Aq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,HIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=Aq;function lq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,Qr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=qIe(u,a,r,t),f=fq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=lq;var cq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=cq;function uq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=uq;function gq(r,e,t){var i=[];return(0,Qr.forEach)(r,function(n){var s=new cq;n.accept(s);var o=s.allProductions;(0,Qr.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Qr.isEmpty)((0,Qr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=gq;function qIe(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Qr.forEach)(l,function(u){var g=[c];(0,Qr.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Qr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fq(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(o,a,l){var c=(0,Qr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Qr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Qr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),WIe=Wj(),zIe=rx(),hq=xd();function VIe(r){r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,WIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=VIe;function XIe(r){return r=(0,ix.defaults)(r,{errMsgProvider:hq.defaultGrammarValidatorErrorProvider}),(0,zIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=XIe});var nf=w(In=>{"use strict";var Fd=In&&In.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(In,"__esModule",{value:!0});In.EarlyExitException=In.NotAllInputParsedException=In.NoViableAltException=In.MismatchedTokenException=In.isRecognitionException=void 0;var ZIe=Gt(),dq="MismatchedTokenException",Cq="NoViableAltException",mq="EarlyExitException",Eq="NotAllInputParsedException",Iq=[dq,Cq,mq,Eq];Object.freeze(Iq);function _Ie(r){return(0,ZIe.contains)(Iq,r.name)}In.isRecognitionException=_Ie;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),$Ie=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dq,s}return e}(py);In.MismatchedTokenException=$Ie;var eye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Cq,s}return e}(py);In.NoViableAltException=eye;var tye=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=Eq,n}return e}(py);In.NotAllInputParsedException=tye;var rye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);In.EarlyExitException=rye});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var dy=LA(),hs=Gt(),iye=nf(),nye=Jv(),sye=jn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var oye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:sye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new iye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+nye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=oye;function yq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=yq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var ka=kd(),ro=Gt(),wq=jn(),Ra=Cy(),Ec=vd(),Aye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:wq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,ka.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ra.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ra.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_IDX,ka.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ra.OPTION_IDX,ka.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_IDX,ka.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_SEP_IDX,ka.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_SEP_IDX,ka.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,ka.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ra.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,ka.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,ka.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ra.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=Aye});var bq=w(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.addNoneTerminalToCst=To.addTerminalToCst=To.setNodeLocationFull=To.setNodeLocationOnlyOffset=void 0;function lye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.defineNameProp=KA.functionName=KA.classNameFromInstance=void 0;var fye=Gt();function hye(r){return Sq(r.constructor)}KA.classNameFromInstance=hye;var Qq="name";function Sq(r){var e=r.name;return e||"anonymous"}KA.functionName=Sq;function pye(r,e){var t=Object.getOwnPropertyDescriptor(r,Qq);return(0,fye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,Qq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}KA.defineNameProp=pye});var kq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function vq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Vj=w(LA=>{"use strict";var yIe=LA&&LA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(LA,"__esModule",{value:!0});LA.GastRefResolverVisitor=LA.resolveGrammar=void 0;var wIe=jn(),Wj=Gt(),BIe=$g();function bIe(r,e){var t=new zj(r,e);return t.resolveRefs(),t.errors}LA.resolveGrammar=bIe;var zj=function(r){yIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Wj.forEach)((0,Wj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:wIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(BIe.GAstVisitor);LA.GastRefResolverVisitor=zj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var Xj=Ay(),Kt=Gt(),QIe=qv(),kt=mn(),Zj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(Xj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Zj;var SIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,QIe.first)(o),this.found=!0}},e}(Zj);Nr.NextAfterTokenWalker=SIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(Xj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var vIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=vIe;var xIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=xIe;var PIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=PIe;var DIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=DIe;function _j(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=_j(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],M={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(M),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(RIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=kIe;function RIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var tq=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),$j=Dd(),FIe=Ay(),hy=_g(),MA=mn(),NIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function TIe(r){if(r instanceof MA.Option)return oi.OPTION;if(r instanceof MA.Repetition)return oi.REPETITION;if(r instanceof MA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof MA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof MA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof MA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=TIe;function LIe(r,e,t,i,n,s){var o=iq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=LIe;function MIe(r,e,t,i,n,s){var o=nq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=MIe;function OIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),Qr=Gt(),To=jn(),_v=vd(),tf=kd(),YIe=Dd(),to=mn(),$v=$g();function jIe(r,e,t,i,n){var s=er.map(r,function(h){return qIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,Qr.every)(o,Qr.isEmpty)&&(a=(0,Qr.map)(r,function(h){return cq(h,i)}),l=(0,Qr.map)(r,function(h){return uq(h,e,i)}),c=hq(r,e,i));var u=zIe(r,t,i),g=(0,Qr.map)(r,function(h){return fq(h,i)}),f=(0,Qr.map)(r,function(h){return lq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=jIe;function qIe(r,e){var t=new Aq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,oq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:To.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=aq(l);return f&&(g.parameter=f),g});return o}function oq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+aq(r)}Vt.identifyProductionForDuplicates=oq;function aq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var Aq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=Aq;function lq(r,e,t,i){var n=[],s=(0,Qr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:To.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=lq;function JIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:To.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=JIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:To.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function cq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,YIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:To.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=cq;function uq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,Qr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=WIe(u,a,r,t),f=pq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=uq;var gq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=gq;function fq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:To.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=fq;function hq(r,e,t){var i=[];return(0,Qr.forEach)(r,function(n){var s=new gq;n.accept(s);var o=s.allProductions;(0,Qr.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Qr.isEmpty)((0,Qr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:To.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=hq;function WIe(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Qr.forEach)(l,function(u){var g=[c];(0,Qr.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Qr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:To.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function pq(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(o,a,l){var c=(0,Qr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Qr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Qr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),VIe=Vj(),XIe=rx(),dq=xd();function ZIe(r){r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,VIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=ZIe;function _Ie(r){return r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarValidatorErrorProvider}),(0,XIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=_Ie});var nf=w(In=>{"use strict";var Fd=In&&In.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(In,"__esModule",{value:!0});In.EarlyExitException=In.NotAllInputParsedException=In.NoViableAltException=In.MismatchedTokenException=In.isRecognitionException=void 0;var $Ie=Gt(),mq="MismatchedTokenException",Eq="NoViableAltException",Iq="EarlyExitException",yq="NotAllInputParsedException",wq=[mq,Eq,Iq,yq];Object.freeze(wq);function eye(r){return(0,$Ie.contains)(wq,r.name)}In.isRecognitionException=eye;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),tye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);In.MismatchedTokenException=tye;var rye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Eq,s}return e}(py);In.NoViableAltException=rye;var iye=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=yq,n}return e}(py);In.NotAllInputParsedException=iye;var nye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Iq,s}return e}(py);In.EarlyExitException=nye});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var dy=TA(),hs=Gt(),sye=nf(),oye=Jv(),aye=jn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var Aye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:aye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Bq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new sye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+oye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Aye;function Bq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=Bq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var ka=kd(),ro=Gt(),bq=jn(),Ra=Cy(),Ec=vd(),cye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:bq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:bq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,ka.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ra.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ra.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_IDX,ka.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ra.OPTION_IDX,ka.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_IDX,ka.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_SEP_IDX,ka.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_SEP_IDX,ka.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,ka.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ra.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,ka.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,ka.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ra.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=cye});var Sq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function uye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.defineNameProp=OA.functionName=OA.classNameFromInstance=void 0;var pye=Gt();function dye(r){return xq(r.constructor)}OA.classNameFromInstance=dye;var vq="name";function xq(r){var e=r.name;return e||"anonymous"}OA.functionName=xq;function Cye(r,e){var t=Object.getOwnPropertyDescriptor(r,vq);return(0,pye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,vq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}OA.defineNameProp=Cye});var Fq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function Pq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: `+(""+s.join(` `).replace(/\n/g,` - `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=dye;function Cye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=vq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=Cye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function xq(r,e){var t=Pq(r,e),i=Dq(r,e);return t.concat(i)}Si.validateVisitor=xq;function Pq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=Pq;var mye=["constructor","visit","validateVisitor"];function Dq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(mye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor + `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=mye;function Eye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=Pq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=Eye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function Dq(r,e){var t=kq(r,e),i=Rq(r,e);return t.concat(i)}Si.validateVisitor=Dq;function kq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=kq;var Iye=["constructor","visit","validateVisitor"];function Rq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(Iye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor There is no Grammar Rule corresponding to this method's name. -`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Dq});var Fq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=bq(),_r=Gt(),Rq=kq(),Eye=jn(),Iye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Eye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Rq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Rq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=Iye});var Tq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Nq=jn(),yye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Nq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Nq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=yye});var Mq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Lq=Gt(),wye=nf(),Ax=jn(),Bye=xd(),bye=rx(),Qye=mn(),Sye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Lq.contains)(this.definedRulesNames,e)){var n=Bye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,bye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,wye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,Qye.serializeGrammar)((0,Lq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=Sye});var Hq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),qn=Cy(),wy=nf(),Oq=kd(),of=Dd(),Kq=jn(),vye=sx(),Uq=LA(),Td=_g(),xye=ox(),Pye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,xye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Td.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. +`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Rq});var Tq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=Sq(),_r=Gt(),Nq=Fq(),yye=jn(),wye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:yye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Nq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Nq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=wye});var Mq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Lq=jn(),Bye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Lq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Lq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=Bye});var Kq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Oq=Gt(),bye=nf(),Ax=jn(),Qye=xd(),Sye=rx(),vye=mn(),xye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Oq.contains)(this.definedRulesNames,e)){var n=Qye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Sye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,bye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,vye.serializeGrammar)((0,Oq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=xye});var Yq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),qn=Cy(),wy=nf(),Uq=kd(),of=Dd(),Hq=jn(),Pye=sx(),Gq=TA(),Td=_g(),Dye=ox(),kye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Dye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Td.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Td.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Uq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Td.tokenStructuredMatcherNoCategories:Td.tokenStructuredMatcher,(0,Td.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Kq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Kq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===vye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Uq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=Pye});var Yq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ErrorHandler=void 0;var lx=nf(),cx=Gt(),Gq=kd(),Dye=jn(),kye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Dye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,Gq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,Gq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();by.ErrorHandler=kye});var Jq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ContentAssist=void 0;var jq=Dd(),qq=Gt(),Rye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,qq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,qq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();Qy.ContentAssist=Rye});var eJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var yn=Gt(),Lo=mn(),Fye=Bd(),Xq=_g(),Zq=LA(),Nye=jn(),Tye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Wq=!0,zq=Math.pow(2,Tye.BITS_FOR_OCCURRENCE_IDX)-1,_q=(0,Zq.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Fye.Lexer.NA});(0,Xq.augmentTokenTypes)([_q]);var $q=(0,Zq.createTokenInstance)(_q,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($q);var Lye={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Mye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Nye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Lo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Td.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Gq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Td.tokenStructuredMatcherNoCategories:Td.tokenStructuredMatcher,(0,Td.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Hq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Hq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Pye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Gq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=kye});var qq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ErrorHandler=void 0;var lx=nf(),cx=Gt(),jq=kd(),Rye=jn(),Fye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Rye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,jq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,jq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();by.ErrorHandler=Fye});var zq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ContentAssist=void 0;var Jq=Dd(),Wq=Gt(),Nye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,Wq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,Jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,Wq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new Jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();Qy.ContentAssist=Nye});var rJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var yn=Gt(),Mo=mn(),Tye=Bd(),_q=_g(),$q=TA(),Lye=jn(),Mye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Vq=!0,Xq=Math.pow(2,Mye.BITS_FOR_OCCURRENCE_IDX)-1,eJ=(0,$q.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Tye.Lexer.NA});(0,_q.augmentTokenTypes)([eJ]);var tJ=(0,$q.createTokenInstance)(eJ,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(tJ);var Oye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Kye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Lye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Mo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Lo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionMandatoryWithSeparator,t,e,Wq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Lo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Lo.RepetitionWithSeparator,t,e,Wq)},r.prototype.orInternalRecord=function(e,t){return Oye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Lo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Lye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,Xq.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Lo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$q},r}();xy.GastRecorder=Mye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Oye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Lo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Lo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Vq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>zq){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(zq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var rJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var tJ=Gt(),Kye=jn(),Uye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,tJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Kye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,tJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Uye});var iJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Hye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Hye});var jn=w(dr=>{"use strict";var oJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),Gye=Yj(),nJ=LA(),aJ=xd(),sJ=pq(),Yye=sx(),jye=Bq(),qye=Fq(),Jye=Tq(),Wye=Mq(),zye=Hq(),Vye=Yq(),Xye=Jq(),Zye=eJ(),_ye=rJ(),$ye=iJ();dr.END_OF_FILE=(0,nJ.createTokenInstance)(nJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:aJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var ewe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(ewe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function twe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=twe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Mo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionMandatoryWithSeparator,t,e,Vq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Mo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionWithSeparator,t,e,Vq)},r.prototype.orInternalRecord=function(e,t){return Uye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Mo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Oye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,_q.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Mo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),tJ},r}();xy.GastRecorder=Kye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Uye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Mo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Mo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Zq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>Xq){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(Xq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var nJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var iJ=Gt(),Hye=jn(),Gye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,iJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Hye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,iJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Gye});var sJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Yye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Yye});var jn=w(dr=>{"use strict";var AJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),jye=qj(),oJ=TA(),lJ=xd(),aJ=Cq(),qye=sx(),Jye=Qq(),Wye=Tq(),zye=Mq(),Vye=Kq(),Xye=Yq(),Zye=qq(),_ye=zq(),$ye=rJ(),ewe=nJ(),twe=sJ();dr.END_OF_FILE=(0,oJ.createTokenInstance)(oJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:lJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var rwe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(rwe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function iwe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=iwe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=(0,en.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,en.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,en.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,sJ.resolveGrammar)({rules:(0,en.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,en.isEmpty)(n)&&e.skipValidations===!1){var s=(0,sJ.validateGrammar)({rules:(0,en.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,en.values)(e.tokensMap),errMsgProvider:aJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,en.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Gye.computeAllProdsFollows)((0,en.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,en.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,en.isEmpty)(e.definitionErrors))throw t=(0,en.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + For further details.`);this.skipValidations=(0,en.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,en.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,en.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,aJ.resolveGrammar)({rules:(0,en.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,en.isEmpty)(n)&&e.skipValidations===!1){var s=(0,aJ.validateGrammar)({rules:(0,en.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,en.values)(e.tokensMap),errMsgProvider:lJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,en.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,jye.computeAllProdsFollows)((0,en.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,en.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,en.isEmpty)(e.definitionErrors))throw t=(0,en.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: `+t.join(` ------------------------------- -`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=ky;(0,$ye.applyMixins)(ky,[Yye.Recoverable,jye.LooksAhead,qye.TreeBuilder,Jye.LexerAdapter,zye.RecognizerEngine,Wye.RecognizerApi,Vye.ErrorHandler,Xye.ContentAssist,Zye.GastRecorder,_ye.PerformanceTracer]);var rwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(ky);dr.CstParser=rwe;var iwe=function(r){oJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(ky);dr.EmbeddedActionsParser=iwe});var lJ=w(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.createSyntaxDiagramsCode=void 0;var AJ=Dv();function nwe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+AJ.VERSION+"/diagrams/diagrams.css":s,a=` +`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();dr.Parser=ky;(0,twe.applyMixins)(ky,[qye.Recoverable,Jye.LooksAhead,Wye.TreeBuilder,zye.LexerAdapter,Xye.RecognizerEngine,Vye.RecognizerApi,Zye.ErrorHandler,_ye.ContentAssist,$ye.GastRecorder,ewe.PerformanceTracer]);var nwe=function(r){AJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(ky);dr.CstParser=nwe;var swe=function(r){AJ(e,r);function e(t,i){i===void 0&&(i=dr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,en.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(ky);dr.EmbeddedActionsParser=swe});var uJ=w(Ry=>{"use strict";Object.defineProperty(Ry,"__esModule",{value:!0});Ry.createSyntaxDiagramsCode=void 0;var cJ=Dv();function owe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+cJ.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+cJ.VERSION+"/diagrams/diagrams.css":s,a=` @@ -178,62 +178,62 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis var diagramsDiv = document.getElementById("diagrams"); main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv); <\/script> -`;return a+l+c+u+g+f}Ry.createSyntaxDiagramsCode=nwe});var gJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var swe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return swe.VERSION}});var Fy=jn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Fy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Fy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Fy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Fy.EMPTY_ALT}});var cJ=Bd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return cJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return cJ.LexerDefinitionErrorType}});var af=LA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return af.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return af.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return af.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return af.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return af.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return af.tokenName}});var owe=xd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return owe.defaultParserErrorProvider}});var Md=nf();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Md.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Md.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Md.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Md.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Md.NoViableAltException}});var awe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return awe.defaultLexerErrorProvider}});var Mo=mn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Mo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Mo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Mo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Mo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Mo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Mo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Mo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Mo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Mo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Mo.Terminal}});var uJ=mn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return uJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return uJ.serializeProduction}});var Awe=$g();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return Awe.GAstVisitor}});function lwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. +`;return a+l+c+u+g+f}Ry.createSyntaxDiagramsCode=owe});var hJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var awe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return awe.VERSION}});var Fy=jn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Fy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Fy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Fy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Fy.EMPTY_ALT}});var gJ=Bd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return gJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return gJ.LexerDefinitionErrorType}});var af=TA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return af.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return af.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return af.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return af.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return af.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return af.tokenName}});var Awe=xd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Awe.defaultParserErrorProvider}});var Md=nf();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Md.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Md.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Md.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Md.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Md.NoViableAltException}});var lwe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return lwe.defaultLexerErrorProvider}});var Oo=mn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Oo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Oo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Oo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Oo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Oo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Oo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Oo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Oo.Terminal}});var fJ=mn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return fJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return fJ.serializeProduction}});var cwe=$g();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return cwe.GAstVisitor}});function uwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. It performs no action other than printing this message. - Please avoid using it as it will be completely removed in the future`)}We.clearCache=lwe;var cwe=lJ();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return cwe.createSyntaxDiagramsCode}});var uwe=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. -See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=uwe});var pJ=w((jet,hJ)=>{var Ny=gJ(),Fa=Ny.createToken,fJ=Ny.tokenMatcher,ux=Ny.Lexer,gwe=Ny.EmbeddedActionsParser;hJ.exports=r=>{let e=Fa({name:"LogicalOperator",pattern:ux.NA}),t=Fa({name:"Or",pattern:/\|/,categories:e}),i=Fa({name:"Xor",pattern:/\^/,categories:e}),n=Fa({name:"And",pattern:/&/,categories:e}),s=Fa({name:"Not",pattern:/!/}),o=Fa({name:"LParen",pattern:/\(/}),a=Fa({name:"RParen",pattern:/\)/}),l=Fa({name:"Query",pattern:r}),u=[Fa({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends gwe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);fJ(v,t)?y=T=>B(T)||D(T):fJ(v,i)?y=T=>!!(B(T)^D(T)):y=T=>B(T)&&D(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var dJ=w(Ty=>{var fwe=pJ();Ty.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=fwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ty.parse=Ty.makeParser()});var mJ=w((Jet,CJ)=>{"use strict";CJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var gx=w((Wet,IJ)=>{var Od=mJ(),EJ={};for(let r of Object.keys(Od))EJ[Od[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};IJ.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function hwe(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=EJ[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(Od)){let s=Od[n],o=hwe(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var wJ=w((zet,yJ)=>{var Ly=gx();function pwe(){let r={},e=Object.keys(Ly);for(let t=e.length,i=0;i{var fx=gx(),Ewe=wJ(),Af={},Iwe=Object.keys(fx);function ywe(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function wwe(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{Af[r]={},Object.defineProperty(Af[r],"channels",{value:fx[r].channels}),Object.defineProperty(Af[r],"labels",{value:fx[r].labels});let e=Ewe(r);Object.keys(e).forEach(i=>{let n=e[i];Af[r][i]=wwe(n),Af[r][i].raw=ywe(n)})});BJ.exports=Af});var DJ=w((Xet,PJ)=>{"use strict";var QJ=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,SJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},vJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},My=r=>r,xJ=(r,e,t)=>[r,e,t],lf=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},hx,cf=(r,e,t,i)=>{hx===void 0&&(hx=bJ());let n=i?10:0,s={};for(let[o,a]of Object.entries(hx)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Bwe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",lf(e.color,"ansi",()=>cf(QJ,"ansi16",My,!1)),lf(e.color,"ansi256",()=>cf(SJ,"ansi256",My,!1)),lf(e.color,"ansi16m",()=>cf(vJ,"rgb",xJ,!1)),lf(e.bgColor,"ansi",()=>cf(QJ,"ansi16",My,!0)),lf(e.bgColor,"ansi256",()=>cf(SJ,"ansi256",My,!0)),lf(e.bgColor,"ansi16m",()=>cf(vJ,"rgb",xJ,!0)),e}Object.defineProperty(PJ,"exports",{enumerable:!0,get:Bwe})});var RJ=w((Zet,kJ)=>{"use strict";kJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var bwe=J("os"),FJ=J("tty"),ds=RJ(),{env:ai}=process,UA;ds("no-color")||ds("no-colors")||ds("color=false")||ds("color=never")?UA=0:(ds("color")||ds("colors")||ds("color=true")||ds("color=always"))&&(UA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?UA=1:ai.FORCE_COLOR==="false"?UA=0:UA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function px(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dx(r,e){if(UA===0)return 0;if(ds("color=16m")||ds("color=full")||ds("color=truecolor"))return 3;if(ds("color=256"))return 2;if(r&&!e&&UA===void 0)return 0;let t=UA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=bwe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function Qwe(r){let e=dx(r,r&&r.isTTY);return px(e)}NJ.exports={supportsColor:Qwe,stdout:px(dx(!0,FJ.isatty(1))),stderr:px(dx(!0,FJ.isatty(2)))}});var MJ=w(($et,LJ)=>{"use strict";var Swe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},vwe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r + Please avoid using it as it will be completely removed in the future`)}We.clearCache=uwe;var gwe=uJ();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return gwe.createSyntaxDiagramsCode}});var fwe=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=fwe});var CJ=w((Jet,dJ)=>{var Ny=hJ(),Fa=Ny.createToken,pJ=Ny.tokenMatcher,ux=Ny.Lexer,hwe=Ny.EmbeddedActionsParser;dJ.exports=r=>{let e=Fa({name:"LogicalOperator",pattern:ux.NA}),t=Fa({name:"Or",pattern:/\|/,categories:e}),i=Fa({name:"Xor",pattern:/\^/,categories:e}),n=Fa({name:"And",pattern:/&/,categories:e}),s=Fa({name:"Not",pattern:/!/}),o=Fa({name:"LParen",pattern:/\(/}),a=Fa({name:"RParen",pattern:/\)/}),l=Fa({name:"Query",pattern:r}),u=[Fa({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends hwe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);pJ(v,t)?y=T=>B(T)||D(T):pJ(v,i)?y=T=>!!(B(T)^D(T)):y=T=>B(T)&&D(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var mJ=w(Ty=>{var pwe=CJ();Ty.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=pwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ty.parse=Ty.makeParser()});var IJ=w((zet,EJ)=>{"use strict";EJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var gx=w((Vet,wJ)=>{var Od=IJ(),yJ={};for(let r of Object.keys(Od))yJ[Od[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wJ.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function dwe(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=yJ[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(Od)){let s=Od[n],o=dwe(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var bJ=w((Xet,BJ)=>{var Ly=gx();function Cwe(){let r={},e=Object.keys(Ly);for(let t=e.length,i=0;i{var fx=gx(),ywe=bJ(),Af={},wwe=Object.keys(fx);function Bwe(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function bwe(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{Af[r]={},Object.defineProperty(Af[r],"channels",{value:fx[r].channels}),Object.defineProperty(Af[r],"labels",{value:fx[r].labels});let e=ywe(r);Object.keys(e).forEach(i=>{let n=e[i];Af[r][i]=bwe(n),Af[r][i].raw=Bwe(n)})});QJ.exports=Af});var RJ=w((_et,kJ)=>{"use strict";var vJ=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,xJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},PJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},My=r=>r,DJ=(r,e,t)=>[r,e,t],lf=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},hx,cf=(r,e,t,i)=>{hx===void 0&&(hx=SJ());let n=i?10:0,s={};for(let[o,a]of Object.entries(hx)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Qwe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",lf(e.color,"ansi",()=>cf(vJ,"ansi16",My,!1)),lf(e.color,"ansi256",()=>cf(xJ,"ansi256",My,!1)),lf(e.color,"ansi16m",()=>cf(PJ,"rgb",DJ,!1)),lf(e.bgColor,"ansi",()=>cf(vJ,"ansi16",My,!0)),lf(e.bgColor,"ansi256",()=>cf(xJ,"ansi256",My,!0)),lf(e.bgColor,"ansi16m",()=>cf(PJ,"rgb",DJ,!0)),e}Object.defineProperty(kJ,"exports",{enumerable:!0,get:Qwe})});var NJ=w(($et,FJ)=>{"use strict";FJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Swe=J("os"),TJ=J("tty"),ds=NJ(),{env:ai}=process,KA;ds("no-color")||ds("no-colors")||ds("color=false")||ds("color=never")?KA=0:(ds("color")||ds("colors")||ds("color=true")||ds("color=always"))&&(KA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?KA=1:ai.FORCE_COLOR==="false"?KA=0:KA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function px(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dx(r,e){if(KA===0)return 0;if(ds("color=16m")||ds("color=full")||ds("color=truecolor"))return 3;if(ds("color=256"))return 2;if(r&&!e&&KA===void 0)return 0;let t=KA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=Swe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function vwe(r){let e=dx(r,r&&r.isTTY);return px(e)}LJ.exports={supportsColor:vwe,stdout:px(dx(!0,TJ.isatty(1))),stderr:px(dx(!0,TJ.isatty(2)))}});var KJ=w((ttt,OJ)=>{"use strict";var xwe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Pwe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r `:` `)+t,n=i+1,i=r.indexOf(` -`,n)}while(i!==-1);return s+=r.substr(n),s};LJ.exports={stringReplaceAll:Swe,stringEncaseCRLFWithFirstIndex:vwe}});var GJ=w((ett,HJ)=>{"use strict";var xwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,OJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Pwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Dwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,kwe=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function UJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):kwe.get(r)||r}function Rwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(Pwe))t.push(n[2].replace(Dwe,(a,l,c)=>l?UJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Fwe(r){OJ.lastIndex=0;let e=[],t;for(;(t=OJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Rwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function KJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}HJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(xwe,(s,o,a,l,c,u)=>{if(o)n.push(UJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:KJ(r,t)(g)),t.push({inverse:a,styles:Fwe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(KJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((ttt,JJ)=>{"use strict";var Kd=DJ(),{stdout:mx,stderr:Ex}=TJ(),{stringReplaceAll:Nwe,stringEncaseCRLFWithFirstIndex:Twe}=MJ(),YJ=["ansi","ansi","ansi256","ansi16m"],uf=Object.create(null),Lwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return jJ(e)}},jJ=r=>{let e={};return Lwe(e,r),e.template=(...t)=>Kwe(e.template,...t),Object.setPrototypeOf(e,Oy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function Oy(r){return jJ(r)}for(let[r,e]of Object.entries(Kd))uf[r]={get(){let t=Ky(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};uf.visible={get(){let r=Ky(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var qJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of qJ)uf[r]={get(){let{level:e}=this;return function(...t){let i=yx(Kd.color[YJ[e]][r](...t),Kd.color.close,this._styler);return Ky(this,i,this._isEmpty)}}};for(let r of qJ){let e="bg"+r[0].toUpperCase()+r.slice(1);uf[e]={get(){let{level:t}=this;return function(...i){let n=yx(Kd.bgColor[YJ[t]][r](...i),Kd.bgColor.close,this._styler);return Ky(this,n,this._isEmpty)}}}}var Mwe=Object.defineProperties(()=>{},{...uf,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ky=(r,e,t)=>{let i=(...n)=>Owe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Mwe,i._generator=r,i._styler=e,i._isEmpty=t,i},Owe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Nwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` -`);return s!==-1&&(e=Twe(e,n,i,s)),i+e+n},Cx,Kwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";Cs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Cs.find=(r,e)=>r.nodes.find(t=>t.type===e);Cs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Cs.isInteger(r)||!Cs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Cs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Cs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;Cs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Cs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Cs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Cs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var WJ=Uy();zJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&WJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&WJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var XJ=w((ntt,VJ)=>{"use strict";VJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var sW=w((stt,nW)=>{"use strict";var ZJ=XJ(),Ic=(r,e,t)=>{if(ZJ(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if(ZJ(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Ic.cache.hasOwnProperty(l))return Ic.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=iW(r)||iW(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=_J(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=_J(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Uwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Ic.cache[l]=f,f.result};function Uwe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Hwe(r,e){let t=1,i=1,n=eW(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=eW(r,t);for(n=tW(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+rW(a.count),o=c+1;continue}t.isPadded&&(g=Jwe(c,t,i)),u.string=g+u.pattern+rW(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!$J(e,"string",a)&&s.push(t+a),i&&$J(e,"string",a)&&s.push(t+a)}return s}function Ywe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function $J(r,e,t){return r.some(i=>i[e]===t)}function eW(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function tW(r,e){return r-r%Math.pow(10,e)}function rW(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function qwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function iW(r){return/^-?(0+)\d/.test(r)}function Jwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Ic.cache={};Ic.clearCache=()=>Ic.cache={};nW.exports=Ic});var Sx=w((ott,fW)=>{"use strict";var Wwe=J("util"),AW=sW(),oW=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),zwe=r=>e=>r===!0?Number(e):String(e),bx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Hd=r=>Number.isInteger(+r),Qx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Vwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,Xwe=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},aW=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},lW=(r,e,t,i)=>{if(t)return AW(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},cW=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return AW(r,e,t)},uW=(...r)=>new RangeError("Invalid range arguments: "+Wwe.inspect(...r)),gW=(r,e,t)=>{if(t.strictRanges===!0)throw uW([r,e]);return[]},_we=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},$we=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw uW([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=Qx(a)||Qx(l)||Qx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Vwe(r,e,i)===!1,h=i.transform||zwe(f);if(i.toRegex&&t===1)return lW(aW(r,g),aW(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(Xwe(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?Zwe(p,i):cW(y,null,{wrap:!1,...i}):y},eBe=(r,e,t=1,i={})=>{if(!Hd(r)&&r.length>1||!Hd(e)&&e.length>1)return gW(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return lW(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?cW(u,null,{wrap:!1,options:i}):u},Gy=(r,e,t,i={})=>{if(e==null&&bx(r))return[r];if(!bx(r)||!bx(e))return gW(r,e,i);if(typeof t=="function")return Gy(r,e,1,{transform:t});if(oW(t))return Gy(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Hd(t)?Hd(r)&&Hd(e)?$we(r,e,t,n):eBe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!oW(t)?_we(t,n):Gy(r,e,1,t)};fW.exports=Gy});var dW=w((att,pW)=>{"use strict";var tBe=Sx(),hW=Uy(),rBe=(r,e={})=>{let t=(i,n={})=>{let s=hW.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=hW.reduce(i.nodes),g=tBe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};pW.exports=rBe});var EW=w((Att,mW)=>{"use strict";var iBe=Sx(),CW=Hy(),gf=Uy(),yc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?gf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(yc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?yc(n,s,t):n+s);return gf.flatten(i)},nBe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(yc(a.pop(),CW(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(yc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=gf.reduce(n.nodes);if(gf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=iBe(...g,e);f.length===0&&(f=CW(n,e)),a.push(yc(a.pop(),f)),n.nodes=[];return}let l=gf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";IW.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var SW=w((ctt,QW)=>{"use strict";var sBe=Hy(),{MAX_LENGTH:wW,CHAR_BACKSLASH:vx,CHAR_BACKTICK:oBe,CHAR_COMMA:aBe,CHAR_DOT:ABe,CHAR_LEFT_PARENTHESES:lBe,CHAR_RIGHT_PARENTHESES:cBe,CHAR_LEFT_CURLY_BRACE:uBe,CHAR_RIGHT_CURLY_BRACE:gBe,CHAR_LEFT_SQUARE_BRACKET:BW,CHAR_RIGHT_SQUARE_BRACKET:bW,CHAR_DOUBLE_QUOTE:fBe,CHAR_SINGLE_QUOTE:hBe,CHAR_NO_BREAK_SPACE:pBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:dBe}=yW(),CBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(wW,t.maxLength):wW;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:sBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===ABe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};QW.exports=CBe});var PW=w((utt,xW)=>{"use strict";var vW=Hy(),mBe=dW(),EBe=EW(),IBe=SW(),Jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.parse=(r,e={})=>IBe(r,e);Jn.stringify=(r,e={})=>vW(typeof r=="string"?Jn.parse(r,e):r,e);Jn.compile=(r,e={})=>(typeof r=="string"&&(r=Jn.parse(r,e)),mBe(r,e));Jn.expand=(r,e={})=>{typeof r=="string"&&(r=Jn.parse(r,e));let t=EBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Jn.compile(r,e):Jn.expand(r,e);xW.exports=Jn});var Gd=w((gtt,NW)=>{"use strict";var yBe=J("path"),Oo="\\\\/",DW=`[^${Oo}]`,Na="\\.",wBe="\\+",BBe="\\?",Yy="\\/",bBe="(?=.)",kW="[^/]",xx=`(?:${Yy}|$)`,RW=`(?:^|${Yy})`,Px=`${Na}{1,2}${xx}`,QBe=`(?!${Na})`,SBe=`(?!${RW}${Px})`,vBe=`(?!${Na}{0,1}${xx})`,xBe=`(?!${Px})`,PBe=`[^.${Yy}]`,DBe=`${kW}*?`,FW={DOT_LITERAL:Na,PLUS_LITERAL:wBe,QMARK_LITERAL:BBe,SLASH_LITERAL:Yy,ONE_CHAR:bBe,QMARK:kW,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:QBe,NO_DOTS:SBe,NO_DOT_SLASH:vBe,NO_DOTS_SLASH:xBe,QMARK_NO_DOT:PBe,STAR:DBe,START_ANCHOR:RW},kBe={...FW,SLASH_LITERAL:`[${Oo}]`,QMARK:DW,STAR:`${DW}*?`,DOTS_SLASH:`${Na}{1,2}(?:[${Oo}]|$)`,NO_DOT:`(?!${Na})`,NO_DOTS:`(?!(?:^|[${Oo}])${Na}{1,2}(?:[${Oo}]|$))`,NO_DOT_SLASH:`(?!${Na}{0,1}(?:[${Oo}]|$))`,NO_DOTS_SLASH:`(?!${Na}{1,2}(?:[${Oo}]|$))`,QMARK_NO_DOT:`[^.${Oo}]`,START_ANCHOR:`(?:^|[${Oo}])`,END_ANCHOR:`(?:[${Oo}]|$)`},RBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};NW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:RBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:yBe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?kBe:FW}}});var Yd=w(wn=>{"use strict";var FBe=J("path"),NBe=process.platform==="win32",{REGEX_BACKSLASH:TBe,REGEX_REMOVE_BACKSLASH:LBe,REGEX_SPECIAL_CHARS:MBe,REGEX_SPECIAL_CHARS_GLOBAL:OBe}=Gd();wn.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);wn.hasRegexChars=r=>MBe.test(r);wn.isRegexChar=r=>r.length===1&&wn.hasRegexChars(r);wn.escapeRegex=r=>r.replace(OBe,"\\$1");wn.toPosixSlashes=r=>r.replace(TBe,"/");wn.removeBackslashes=r=>r.replace(LBe,e=>e==="\\"?"":e);wn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};wn.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:NBe===!0||FBe.sep==="\\";wn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?wn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};wn.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};wn.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var GW=w((htt,HW)=>{"use strict";var TW=Yd(),{CHAR_ASTERISK:Dx,CHAR_AT:KBe,CHAR_BACKWARD_SLASH:jd,CHAR_COMMA:UBe,CHAR_DOT:kx,CHAR_EXCLAMATION_MARK:Rx,CHAR_FORWARD_SLASH:UW,CHAR_LEFT_CURLY_BRACE:Fx,CHAR_LEFT_PARENTHESES:Nx,CHAR_LEFT_SQUARE_BRACKET:HBe,CHAR_PLUS:GBe,CHAR_QUESTION_MARK:LW,CHAR_RIGHT_CURLY_BRACE:YBe,CHAR_RIGHT_PARENTHESES:MW,CHAR_RIGHT_SQUARE_BRACKET:jBe}=Gd(),OW=r=>r===UW||r===jd,KW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},qBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,T=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},_=()=>c>=i,A=()=>l.charCodeAt(c+1),Ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),M=l.slice(g)):p===!0?(ge="",M=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&OW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(M&&(M=TW.removeBackslashes(M)),ge&&v===!0&&(ge=TW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:M,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:T};if(t.tokens===!0&&(F.maxDepth=0,OW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let pe=0;pe{"use strict";var jy=Gd(),Wn=Yd(),{MAX_LENGTH:qy,POSIX_REGEX_SOURCE:JBe,REGEX_NON_SPECIAL_CHARS:WBe,REGEX_SPECIAL_CHARS_BACKREF:zBe,REPLACEMENTS:YW}=jy,VBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>Wn.escapeRegex(n)).join("..")}return t},ff=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Tx=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=YW[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=Wn.isWindows(e),c=jy.globChars(l),u=jy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:T,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:T,_=t.bash===!0?$(t):H;t.capture&&(_=`(${_})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=Wn.removePrefix(r,A),n=r.length;let Ae=[],ge=[],re=[],M=s,F,ue=()=>A.index===n-1,pe=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",he=0)=>{A.consumed+=Y,A.index+=he},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},Be=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},ae=Y=>{if(M.type==="globstar"){let he=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||Ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!he&&!ie&&(A.output=A.output.slice(0,-M.output.length),M.type="star",M.value="*",M.output=_,A.output+=M.output)}if(Ae.length&&Y.type!=="paren"&&(Ae[Ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),M&&M.type==="text"&&Y.type==="text"){M.value+=Y.value,M.output=(M.output||"")+Y.value;return}Y.prev=M,o.push(Y),M=Y},qe=(Y,he)=>{let ie={...u[he],conditions:1,inner:""};ie.prev=M,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;Be("parens"),ae({type:Y,value:he,output:A.output?"":p}),ae({type:"paren",extglob:!0,value:ke(),output:de}),Ae.push(ie)},ne=Y=>{let he=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=_;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==_||ue()||/^\)+$/.test(Fe()))&&(he=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)){let _e=Tx(ie,{...e,fastpaths:!1}).output;he=Y.close=`)${_e})${de})`}Y.prev.type==="bos"&&(A.negatedExtglob=!0)}ae({type:"paren",extglob:!0,value:F,output:he}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,he=r.replace(zBe,(ie,de,_e,Pt,It,Mr)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Mr===0?W+(It?D.repeat(It.length):""):D.repeat(_e.length):Pt==="."?g.repeat(_e.length):Pt==="*"?de?de+Pt+(It?_:""):_:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?he=he.replace(/\\/g,""):he=he.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),he===r&&t.contains===!0?(A.output=r,A):(A.output=Wn.wrapOutput(he,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=pe();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),_e=0;if(de&&de[0].length>2&&(_e=de[0].length,A.index+=_e,_e%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||M.value==="["||M.value==="[^")){if(t.posix!==!1&&F===":"){let ie=M.value.slice(1);if(ie.includes("[")&&(M.posix=!0,ie.includes(":"))){let de=M.value.lastIndexOf("["),_e=M.value.slice(0,de),Pt=M.value.slice(de+2),It=JBe[Pt];if(It){M.value=_e+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(M)===1&&(s.output=p);continue}}}(F==="["&&pe()!==":"||F==="-"&&pe()==="]")&&(F=`\\${F}`),F==="]"&&(M.value==="["||M.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&M.value==="["&&(F="^"),M.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=Wn.escapeRegex(F),M.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&ae({type:"text",value:F});continue}if(F==="("){Be("parens"),ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(ff("opening","("));let ie=Ae[Ae.length-1];if(ie&&A.parens===ie.parens+1){ne(Ae.pop());continue}ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));F=`\\${F}`}else Be("brackets");ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||M&&M.type==="bracket"&&M.value.length===1){ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(ff("opening","["));ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=M.value.slice(1);if(M.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),M.value+=F,oe({value:F}),t.literalBrackets===!1||Wn.hasRegexChars(ie))continue;let de=Wn.escapeRegex(M.value);if(A.output=A.output.slice(0,-M.value.length),t.literalBrackets===!0){A.output+=de,M.value=de;continue}M.value=`(${a}${de}|${M.value})`,A.output+=M.value;continue}if(F==="{"&&t.nobrace!==!0){Be("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let _e=o.slice(),Pt=[];for(let It=_e.length-1;It>=0&&(o.pop(),_e[It].type!=="brace");It--)_e[It].type!=="dots"&&Pt.unshift(_e[It].value);de=VBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let _e=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=_e;for(let It of Pt)A.output+=It.output||It.value}ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){Ae.length>0&&Ae[Ae.length-1].conditions++,ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(M.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),M=s;continue}ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&M.type==="dot"){M.value==="."&&(M.output=g);let ie=ge[ge.length-1];M.type="dots",M.output+=F,M.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&M.type!=="bos"&&M.type!=="slash"){ae({type:"text",value:F,output:g});continue}ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(M&&M.value==="(")&&t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("qmark",F);continue}if(M&&M.type==="paren"){let de=pe(),_e=F;if(de==="<"&&!Wn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(M.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(_e=`\\${F}`),ae({type:"text",value:F,output:_e});continue}if(t.dot!==!0&&(M.type==="slash"||M.type==="bos")){ae({type:"qmark",value:F,output:T});continue}ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("plus",F);continue}if(M&&M.value==="("||t.regex===!1){ae({type:"plus",value:F,output:f});continue}if(M&&(M.type==="bracket"||M.type==="paren"||M.type==="brace")||A.parens>0){ae({type:"plus",value:F});continue}ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){ae({type:"at",extglob:!0,value:F,output:""});continue}ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=WBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),ae({type:"text",value:F});continue}if(M&&(M.type==="globstar"||M.star===!0)){M.type="star",M.star=!0,M.value+=F,M.output=_,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(M.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=M.prev,de=ie.prev,_e=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!_e||Y[0]&&Y[0]!=="/")){ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Mr=Ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!_e&&ie.type!=="paren"&&!It&&!Mr){ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){M.type="globstar",M.value+=F,M.output=$(t),A.output=M.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=$(t)+(t.strictSlashes?")":"|$)"),M.value+=F,A.globstar=!0,A.output+=ie.output+M.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=`${$(t)}${h}|${h}${ii})`,M.value+=F,A.output+=ie.output+M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){M.type="globstar",M.value+=F,M.output=`(?:^|${h}|${$(t)}${h})`,A.output=M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-M.output.length),M.type="globstar",M.output=$(t),M.value+=F,A.output+=M.output,A.globstar=!0,Ne(F);continue}let he={type:"star",value:F,output:_};if(t.bash===!0){he.output=".*?",(M.type==="bos"||M.type==="slash")&&(he.output=V+he.output),ae(he);continue}if(M&&(M.type==="bracket"||M.type==="paren")&&t.regex===!0){he.output=F,ae(he);continue}(A.index===A.start||M.type==="slash"||M.type==="dot")&&(M.type==="dot"?(A.output+=B,M.output+=B):t.dot===!0?(A.output+=v,M.output+=v):(A.output+=V,M.output+=V),pe()!=="*"&&(A.output+=p,M.output+=p)),ae(he)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));A.output=Wn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing",")"));A.output=Wn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","}"));A.output=Wn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(M.type==="star"||M.type==="bracket")&&ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};Tx.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=YW[r]||r;let s=Wn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=jy.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let T=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+T(t);case"**/*":return`(?:${C}${T(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${T(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${T(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let _=H(W[1]);return _?_+o+W[2]:void 0}}},j=Wn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};jW.exports=Tx});var WW=w((dtt,JW)=>{"use strict";var XBe=J("path"),ZBe=GW(),Lx=qW(),Mx=Yd(),_Be=Gd(),$Be=r=>r&&typeof r=="object"&&!Array.isArray(r),Yr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Yr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=$Be(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Mx.isWindows(e),o=i?Yr.compileRe(r,e):Yr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Yr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Yr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Yr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Mx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Yr.matchBase=(r,e,t,i=Mx.isWindows(t))=>(e instanceof RegExp?e:Yr.makeRe(e,t)).test(XBe.basename(r));Yr.isMatch=(r,e,t)=>Yr(e,t)(r);Yr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Yr.parse(t,e)):Lx(r,{...e,fastpaths:!1});Yr.scan=(r,e)=>ZBe(r,e);Yr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Yr.toRegex(a,e);return i===!0&&(l.state=r),l};Yr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Lx.fastpaths(r,e)),n.output||(n=Lx(r,e)),Yr.compileRe(n,e,t,i)};Yr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Yr.constants=_Be;JW.exports=Yr});var Ox=w((Ctt,zW)=>{"use strict";zW.exports=WW()});var Bn=w((mtt,_W)=>{"use strict";var XW=J("util"),ZW=PW(),Ko=Ox(),Kx=Yd(),VW=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Ko(r,e);Sr.isMatch=(r,e,t)=>Ko(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${XW.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(VW(r)||VW(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Kx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Ko(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Ko(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${XW.inspect(r)}"`);return[].concat(e).every(i=>Ko(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Kx.isWindows(t),s=Ko.makeRe(String(r),{...t,capture:!0}).exec(i?Kx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Ko.makeRe(...r);Sr.scan=(...r)=>Ko.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of ZW(String(i),e))t.push(Ko.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:ZW(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};_W.exports=Sr});var e3=w((Ett,$W)=>{"use strict";$W.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var r3=w((Itt,t3)=>{"use strict";var e0e=e3();t3.exports=r=>typeof r=="string"?r.replace(e0e(),""):r});var d3=w((ktt,p3)=>{"use strict";p3.exports=(...r)=>[...new Set([].concat(...r))]});var sP=w((Rtt,E3)=>{"use strict";var f0e=J("stream"),C3=f0e.PassThrough,h0e=Array.prototype.slice;E3.exports=p0e;function p0e(){let r=[],e=!1,t=h0e.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=C3(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});function d0e(r){return r.reduce((e,t)=>[].concat(e,t),[])}Zy.flatten=d0e;function C0e(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Zy.splitWhen=C0e});var y3=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});function m0e(r){return r.code==="ENOENT"}oP.isEnoentCodeError=m0e});var w3=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var aP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function E0e(r,e){return new aP(r,e)}AP.createDirentFromStats=E0e});var B3=w(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var I0e=J("path"),y0e=2,w0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function B0e(r){return r.replace(/\\/g,"/")}yf.unixify=B0e;function b0e(r,e){return I0e.resolve(r,e)}yf.makeAbsolute=b0e;function Q0e(r){return r.replace(w0e,"\\$2")}yf.escape=Q0e;function S0e(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(y0e)}return r}yf.removeLeadingDotSegment=S0e});var Q3=w((Mtt,b3)=>{b3.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var x3=w((Ott,v3)=>{var v0e=Q3(),S3={"{":"}","(":")","[":"]"},x0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=S3[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},P0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var D0e=x3(),k0e=J("path").posix.dirname,R0e=J("os").platform()==="win32",lP="/",F0e=/\\/g,N0e=/[\{\[].*[\}\]]$/,T0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,L0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;P3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&R0e&&e.indexOf(lP)<0&&(e=e.replace(F0e,lP)),N0e.test(e)&&(e+=lP),e+="a";do e=k0e(e);while(D0e(e)||T0e.test(e));return e.replace(L0e,"$1")}});var K3=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var M0e=J("path"),O0e=D3(),k3=Bn(),K0e=Ox(),R3="**",U0e="\\",H0e=/[*?]|^!/,G0e=/\[.*]/,Y0e=/(?:^|[^!*+?@])\(.*\|.*\)/,j0e=/[!*+?@]\(.*\)/,q0e=/{.*(?:,|\.\.).*}/;function F3(r,e={}){return!N3(r,e)}$r.isStaticPattern=F3;function N3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(U0e)||H0e.test(r)||G0e.test(r)||Y0e.test(r)||e.extglob!==!1&&j0e.test(r)||e.braceExpansion!==!1&&q0e.test(r))}$r.isDynamicPattern=N3;function J0e(r){return _y(r)?r.slice(1):r}$r.convertToPositivePattern=J0e;function W0e(r){return"!"+r}$r.convertToNegativePattern=W0e;function _y(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=_y;function T3(r){return!_y(r)}$r.isPositivePattern=T3;function z0e(r){return r.filter(_y)}$r.getNegativePatterns=z0e;function V0e(r){return r.filter(T3)}$r.getPositivePatterns=V0e;function X0e(r){return O0e(r,{flipBackslashes:!1})}$r.getBaseDirectory=X0e;function Z0e(r){return r.includes(R3)}$r.hasGlobStar=Z0e;function L3(r){return r.endsWith("/"+R3)}$r.endsWithSlashGlobStar=L3;function _0e(r){let e=M0e.basename(r);return L3(r)||F3(e)}$r.isAffectDepthOfReadingPattern=_0e;function $0e(r){return r.reduce((e,t)=>e.concat(M3(t)),[])}$r.expandPatternsWithBraceExpansion=$0e;function M3(r){return k3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=M3;function ebe(r,e){let t=K0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=ebe;function O3(r,e){return k3.makeRe(r,e)}$r.makeRe=O3;function tbe(r,e){return r.map(t=>O3(t,e))}$r.convertPatternsToRe=tbe;function rbe(r,e){return e.some(t=>t.test(r))}$r.matchAny=rbe});var H3=w(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});var ibe=sP();function nbe(r){let e=ibe(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>U3(r)),e.once("end",()=>U3(r)),e}cP.merge=nbe;function U3(r){r.forEach(e=>e.emit("close"))}});var G3=w($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});function sbe(r){return typeof r=="string"}$y.isString=sbe;function obe(r){return r===""}$y.isEmpty=obe});var Ma=w(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var abe=I3();La.array=abe;var Abe=y3();La.errno=Abe;var lbe=w3();La.fs=lbe;var cbe=B3();La.path=cbe;var ube=K3();La.pattern=ube;var gbe=H3();La.stream=gbe;var fbe=G3();La.string=fbe});var W3=w(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var bc=Ma();function hbe(r,e){let t=Y3(r),i=j3(r,e.ignore),n=t.filter(l=>bc.pattern.isStaticPattern(l,e)),s=t.filter(l=>bc.pattern.isDynamicPattern(l,e)),o=uP(n,i,!1),a=uP(s,i,!0);return o.concat(a)}Oa.generate=hbe;function uP(r,e,t){let i=q3(r);return"."in i?[gP(".",r,e,t)]:J3(i,e,t)}Oa.convertPatternsToTasks=uP;function Y3(r){return bc.pattern.getPositivePatterns(r)}Oa.getPositivePatterns=Y3;function j3(r,e){return bc.pattern.getNegativePatterns(r).concat(e).map(bc.pattern.convertToPositivePattern)}Oa.getNegativePatternsAsPositive=j3;function q3(r){let e={};return r.reduce((t,i)=>{let n=bc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Oa.groupPatternsByBaseDirectory=q3;function J3(r,e,t){return Object.keys(r).map(i=>gP(i,r[i],e,t))}Oa.convertPatternGroupsToTasks=J3;function gP(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(bc.pattern.convertToNegativePattern))}}Oa.convertPatternGroupToTask=gP});var V3=w(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.read=void 0;function pbe(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){z3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){fP(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){z3(t,s);return}fP(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),fP(t,o)})})}ew.read=pbe;function z3(r,e){r(e)}function fP(r,e){r(null,e)}});var X3=w(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.read=void 0;function dbe(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}tw.read=dbe});var Z3=w(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.createFileSystemAdapter=HA.FILE_SYSTEM_ADAPTER=void 0;var rw=J("fs");HA.FILE_SYSTEM_ADAPTER={lstat:rw.lstat,stat:rw.stat,lstatSync:rw.lstatSync,statSync:rw.statSync};function Cbe(r){return r===void 0?HA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},HA.FILE_SYSTEM_ADAPTER),r)}HA.createFileSystemAdapter=Cbe});var _3=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var mbe=Z3(),hP=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=mbe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};pP.default=hP});var Qc=w(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.statSync=GA.stat=GA.Settings=void 0;var $3=V3(),Ebe=X3(),dP=_3();GA.Settings=dP.default;function Ibe(r,e,t){if(typeof e=="function"){$3.read(r,CP(),e);return}$3.read(r,CP(e),t)}GA.stat=Ibe;function ybe(r,e){let t=CP(e);return Ebe.read(r,t)}GA.statSync=ybe;function CP(r={}){return r instanceof dP.default?r:new dP.default(r)}});var t4=w((Xtt,e4)=>{e4.exports=wbe;function wbe(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var mP=w(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var iw=process.versions.node.split(".");if(iw[0]===void 0||iw[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var r4=Number.parseInt(iw[0],10),Bbe=Number.parseInt(iw[1],10),i4=10,bbe=10,Qbe=r4>i4,Sbe=r4===i4&&Bbe>=bbe;nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Qbe||Sbe});var n4=w(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.createDirentFromStats=void 0;var EP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function vbe(r,e){return new EP(r,e)}sw.createDirentFromStats=vbe});var IP=w(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.fs=void 0;var xbe=n4();ow.fs=xbe});var yP=w(aw=>{"use strict";Object.defineProperty(aw,"__esModule",{value:!0});aw.joinPathSegments=void 0;function Pbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}aw.joinPathSegments=Pbe});var c4=w(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.readdir=YA.readdirWithFileTypes=YA.read=void 0;var Dbe=Qc(),s4=t4(),kbe=mP(),o4=IP(),a4=yP();function Rbe(r,e,t){if(!e.stats&&kbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){A4(r,e,t);return}l4(r,e,t)}YA.read=Rbe;function A4(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:a4.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){wP(t,s);return}let o=s.map(a=>Fbe(a,e));s4(o,(a,l)=>{if(a!==null){Aw(t,a);return}wP(t,l)})})}YA.readdirWithFileTypes=A4;function Fbe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=o4.fs.createDirentFromStats(r.name,n),t(null,r)})}}function l4(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(o=>{let a=a4.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{Dbe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:o4.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});s4(s,(o,a)=>{if(o!==null){Aw(t,o);return}wP(t,a)})})}YA.readdir=l4;function Aw(r,e){r(e)}function wP(r,e){r(null,e)}});var p4=w(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.readdir=jA.readdirWithFileTypes=jA.read=void 0;var Nbe=Qc(),Tbe=mP(),u4=IP(),g4=yP();function Lbe(r,e){return!e.stats&&Tbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?f4(r,e):h4(r,e)}jA.read=Lbe;function f4(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:g4.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=u4.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}jA.readdirWithFileTypes=f4;function h4(r,e){return e.fs.readdirSync(r).map(i=>{let n=g4.joinPathSegments(r,i,e.pathSegmentSeparator),s=Nbe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:u4.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}jA.readdir=h4});var d4=w(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.createFileSystemAdapter=qA.FILE_SYSTEM_ADAPTER=void 0;var wf=J("fs");qA.FILE_SYSTEM_ADAPTER={lstat:wf.lstat,stat:wf.stat,lstatSync:wf.lstatSync,statSync:wf.statSync,readdir:wf.readdir,readdirSync:wf.readdirSync};function Mbe(r){return r===void 0?qA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},qA.FILE_SYSTEM_ADAPTER),r)}qA.createFileSystemAdapter=Mbe});var C4=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var Obe=J("path"),Kbe=Qc(),Ube=d4(),BP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=Ube.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Obe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new Kbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};bP.default=BP});var lw=w(JA=>{"use strict";Object.defineProperty(JA,"__esModule",{value:!0});JA.Settings=JA.scandirSync=JA.scandir=void 0;var m4=c4(),Hbe=p4(),QP=C4();JA.Settings=QP.default;function Gbe(r,e,t){if(typeof e=="function"){m4.read(r,SP(),e);return}m4.read(r,SP(e),t)}JA.scandir=Gbe;function Ybe(r,e){let t=SP(e);return Hbe.read(r,t)}JA.scandirSync=Ybe;function SP(r={}){return r instanceof QP.default?r:new QP.default(r)}});var I4=w((ort,E4)=>{"use strict";function jbe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}E4.exports=jbe});var w4=w((art,vP)=>{"use strict";var qbe=I4();function y4(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=qbe(Jbe),n=null,s=null,o=0,a=null,l={push:C,drain:Is,saturated:Is,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Is,kill:v,killAndDrain:D,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.joinPathSegments=Go.replacePathSegmentSeparator=Go.isAppliedFilter=Go.isFatalError=void 0;function zbe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Go.isFatalError=zbe;function Vbe(r,e){return r===null||r(e)}Go.isAppliedFilter=Vbe;function Xbe(r,e){return r.split(/[/\\]/).join(e)}Go.replacePathSegmentSeparator=Xbe;function Zbe(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Go.joinPathSegments=Zbe});var DP=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var _be=cw(),xP=class{constructor(e,t){this._root=e,this._settings=t,this._root=_be.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};PP.default=xP});var FP=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var $be=J("events"),eQe=lw(),tQe=w4(),uw=cw(),rQe=DP(),kP=class extends rQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=eQe.scandir,this._emitter=new $be.EventEmitter,this._queue=tQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!uw.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=uw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),uw.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&uw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};RP.default=kP});var B4=w(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var iQe=FP(),NP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new iQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{nQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{sQe(e,[...this._storage])}),this._reader.read()}};TP.default=NP;function nQe(r,e){r(e)}function sQe(r,e){r(null,e)}});var b4=w(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});var oQe=J("stream"),aQe=FP(),LP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new aQe.default(this._root,this._settings),this._stream=new oQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};MP.default=LP});var Q4=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var AQe=lw(),gw=cw(),lQe=DP(),OP=class extends lQe.default{constructor(){super(...arguments),this._scandir=AQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!gw.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=gw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),gw.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&gw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};KP.default=OP});var S4=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var cQe=Q4(),UP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new cQe.default(this._root,this._settings)}read(){return this._reader.read()}};HP.default=UP});var v4=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var uQe=J("path"),gQe=lw(),GP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,uQe.sep),this.fsScandirSettings=new gQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};YP.default=GP});var qP=w(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.Settings=Yo.walkStream=Yo.walkSync=Yo.walk=void 0;var x4=B4(),fQe=b4(),hQe=S4(),jP=v4();Yo.Settings=jP.default;function pQe(r,e,t){if(typeof e=="function"){new x4.default(r,fw()).read(e);return}new x4.default(r,fw(e)).read(t)}Yo.walk=pQe;function dQe(r,e){let t=fw(e);return new hQe.default(r,t).read()}Yo.walkSync=dQe;function CQe(r,e){let t=fw(e);return new fQe.default(r,t).read()}Yo.walkStream=CQe;function fw(r={}){return r instanceof jP.default?r:new jP.default(r)}});var zP=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var mQe=J("path"),EQe=Qc(),P4=Ma(),JP=class{constructor(e){this._settings=e,this._fsStatSettings=new EQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return mQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:P4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!P4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};WP.default=JP});var ZP=w(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});var IQe=J("stream"),yQe=Qc(),wQe=qP(),BQe=zP(),VP=class extends BQe.default{constructor(){super(...arguments),this._walkStream=wQe.walkStream,this._stat=yQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new IQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};XP.default=VP});var D4=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var Bf=Ma(),_P=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Bf.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return Bf.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Bf.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Bf.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Bf.array.splitWhen(e,t=>t.dynamic&&Bf.pattern.hasGlobStar(t.pattern))}};$P.default=_P});var k4=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var bQe=D4(),eD=class extends bQe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};tD.default=eD});var R4=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var hw=Ma(),QQe=k4(),rD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new QQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(hw.pattern.isAffectDepthOfReadingPattern);return hw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=hw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!hw.pattern.matchAny(e,t)}};iD.default=rD});var F4=w(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var Zd=Ma(),nD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Zd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Zd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Zd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Zd.path.removeLeadingDotSegment(e);return Zd.pattern.matchAny(i,t)}};sD.default=nD});var N4=w(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var SQe=Ma(),oD=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return SQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};aD.default=oD});var L4=w(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var T4=Ma(),AD=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=T4.path.makeAbsolute(this._settings.cwd,t),t=T4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};lD.default=AD});var pw=w(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var vQe=J("path"),xQe=R4(),PQe=F4(),DQe=N4(),kQe=L4(),cD=class{constructor(e){this._settings=e,this.errorFilter=new DQe.default(this._settings),this.entryFilter=new PQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new xQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new kQe.default(this._settings)}_getRootDirectory(e){return vQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};uD.default=cD});var M4=w(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});var RQe=ZP(),FQe=pw(),gD=class extends FQe.default{constructor(){super(...arguments),this._reader=new RQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};fD.default=gD});var O4=w(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});var NQe=J("stream"),TQe=ZP(),LQe=pw(),hD=class extends LQe.default{constructor(){super(...arguments),this._reader=new TQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new NQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};pD.default=hD});var K4=w(CD=>{"use strict";Object.defineProperty(CD,"__esModule",{value:!0});var MQe=Qc(),OQe=qP(),KQe=zP(),dD=class extends KQe.default{constructor(){super(...arguments),this._walkSync=OQe.walkSync,this._statSync=MQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};CD.default=dD});var U4=w(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});var UQe=K4(),HQe=pw(),mD=class extends HQe.default{constructor(){super(...arguments),this._reader=new UQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};ED.default=mD});var H4=w(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var bf=J("fs"),GQe=J("os"),YQe=GQe.cpus().length;_d.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:bf.lstat,lstatSync:bf.lstatSync,stat:bf.stat,statSync:bf.statSync,readdir:bf.readdir,readdirSync:bf.readdirSync};var ID=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,YQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},_d.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};_d.default=ID});var dw=w((krt,Y4)=>{"use strict";var G4=W3(),jQe=M4(),qQe=O4(),JQe=U4(),yD=H4(),Sc=Ma();async function wD(r,e){Qf(r);let t=BD(r,jQe.default,e),i=await Promise.all(t);return Sc.array.flatten(i)}(function(r){function e(o,a){Qf(o);let l=BD(o,JQe.default,a);return Sc.array.flatten(l)}r.sync=e;function t(o,a){Qf(o);let l=BD(o,qQe.default,a);return Sc.stream.merge(l)}r.stream=t;function i(o,a){Qf(o);let l=[].concat(o),c=new yD.default(a);return G4.generate(l,c)}r.generateTasks=i;function n(o,a){Qf(o);let l=new yD.default(a);return Sc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Qf(o),Sc.path.escape(o)}r.escapePath=s})(wD||(wD={}));function BD(r,e,t){let i=[].concat(r),n=new yD.default(t),s=G4.generate(i,n),o=new e(n);return s.map(o.read,o)}function Qf(r){if(![].concat(r).every(i=>Sc.string.isString(i)&&!Sc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Y4.exports=wD});var q4=w(vc=>{"use strict";var{promisify:WQe}=J("util"),j4=J("fs");async function bD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await WQe(j4[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function QD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return j4[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}vc.isFile=bD.bind(null,"stat","isFile");vc.isDirectory=bD.bind(null,"stat","isDirectory");vc.isSymlink=bD.bind(null,"lstat","isSymbolicLink");vc.isFileSync=QD.bind(null,"statSync","isFile");vc.isDirectorySync=QD.bind(null,"statSync","isDirectory");vc.isSymlinkSync=QD.bind(null,"lstatSync","isSymbolicLink")});var X4=w((Frt,SD)=>{"use strict";var xc=J("path"),J4=q4(),W4=r=>r.length>1?`{${r.join(",")}}`:r[0],z4=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return xc.isAbsolute(t)?t:xc.join(e,t)},zQe=(r,e)=>xc.extname(r)?`**/${r}`:`**/${r}.${W4(e)}`,V4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>xc.posix.join(r,zQe(t,e.extensions))):e.files?e.files.map(t=>xc.posix.join(r,`**/${t}`)):e.extensions?[xc.posix.join(r,`**/*.${W4(e.extensions)}`)]:[xc.posix.join(r,"**")]};SD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await J4.isDirectory(z4(i,e.cwd))?V4(i,e):i));return[].concat.apply([],t)};SD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>J4.isDirectorySync(z4(i,e.cwd))?V4(i,e):i);return[].concat.apply([],t)}});var n8=w((Nrt,i8)=>{function Z4(r){return Array.isArray(r)?r:[r]}var t8="",_4=" ",vD="\\",VQe=/^\s+$/,XQe=/^\\!/,ZQe=/^\\#/,_Qe=/\r?\n/g,$Qe=/^\.*\/|^\.+$/,xD="/",$4=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",eSe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),tSe=/([0-z])-([0-z])/g,rSe=r=>r.replace(tSe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:t8),iSe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},nSe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?_4:t8],[/\\\s/g,()=>_4],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>vD],[/\\\\/g,()=>vD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===vD?`\\[${t}${iSe(i)}${n}`:n==="]"&&i.length%2===0?`[${rSe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],e8=Object.create(null),sSe=(r,e)=>{let t=e8[r];return t||(t=nSe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),e8[r]=t),e?new RegExp(t,"i"):new RegExp(t)},kD=r=>typeof r=="string",oSe=r=>r&&kD(r)&&!VQe.test(r)&&r.indexOf("#")!==0,aSe=r=>r.split(_Qe),PD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},ASe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(XQe,"!").replace(ZQe,"#");let n=sSe(r,e);return new PD(t,r,i,n)},lSe=(r,e)=>{throw new e(r)},Ka=(r,e,t)=>kD(r)?r?Ka.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),r8=r=>$Qe.test(r);Ka.isNotRelative=r8;Ka.convert=r=>r;var DD=class{constructor({ignorecase:e=!0}={}){eSe(this,$4,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[$4]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(oSe(e)){let t=ASe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,Z4(kD(e)?aSe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ka.convert(e);return Ka(s,e,lSe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(xD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(xD)+xD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Z4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Cw=r=>new DD(r),cSe=()=>!1,uSe=r=>Ka(r&&Ka.convert(r),r,cSe);Cw.isPathValid=uSe;Cw.default=Cw;i8.exports=Cw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Ka.convert=r;let e=/^[a-z]:\//i;Ka.isNotRelative=t=>e.test(t)||r8(t)}});var o8=w((Trt,s8)=>{"use strict";s8.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var f8=w((Lrt,RD)=>{"use strict";var{promisify:gSe}=J("util"),a8=J("fs"),Ua=J("path"),A8=dw(),fSe=n8(),$d=o8(),l8=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],hSe=gSe(a8.readFile),pSe=r=>e=>e.startsWith("!")?"!"+Ua.posix.join(r,e.slice(1)):Ua.posix.join(r,e),dSe=(r,e)=>{let t=$d(Ua.relative(e.cwd,Ua.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(pSe(t))},c8=r=>{let e=fSe();for(let t of r)e.add(dSe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},CSe=(r,e)=>{if(r=$d(r),Ua.isAbsolute(e)){if($d(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Ua.join(r,e)},u8=(r,e)=>t=>r.ignores($d(Ua.relative(e,CSe(e,t.path||t)))),mSe=async(r,e)=>{let t=Ua.join(e,r),i=await hSe(t,"utf8");return{cwd:e,filePath:t,content:i}},ESe=(r,e)=>{let t=Ua.join(e,r),i=a8.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},g8=({ignore:r=[],cwd:e=$d(process.cwd())}={})=>({ignore:r,cwd:e});RD.exports=async r=>{r=g8(r);let e=await A8("**/.gitignore",{ignore:l8.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>mSe(n,r.cwd))),i=c8(t);return u8(i,r.cwd)};RD.exports.sync=r=>{r=g8(r);let t=A8.sync("**/.gitignore",{ignore:l8.concat(r.ignore),cwd:r.cwd}).map(n=>ESe(n,r.cwd)),i=c8(t);return u8(i,r.cwd)}});var p8=w((Mrt,h8)=>{"use strict";var{Transform:ISe}=J("stream"),mw=class extends ISe{constructor(){super({objectMode:!0})}},FD=class extends mw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},ND=class extends mw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};h8.exports={FilterStream:FD,UniqueStream:ND}});var OD=w((Ort,Pc)=>{"use strict";var C8=J("fs"),Ew=d3(),ySe=sP(),Iw=dw(),yw=X4(),TD=f8(),{FilterStream:wSe,UniqueStream:BSe}=p8(),m8=()=>!1,d8=r=>r[0]==="!",bSe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},QSe=(r={})=>{if(!r.cwd)return;let e;try{e=C8.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},SSe=r=>r.stats instanceof C8.Stats?r.path:r,ww=(r,e)=>{r=Ew([].concat(r)),bSe(r),QSe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(d8(n))continue;let s=r.slice(i).filter(a=>d8(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},vSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},LD=(r,e)=>r.options.expandDirectories?vSe(r,e):[r.pattern],E8=r=>r&&r.gitignore?TD.sync({cwd:r.cwd,ignore:r.ignore}):m8,MD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=yw.sync(t.ignore)),{pattern:e,options:t}};Pc.exports=async(r,e)=>{let t=ww(r,e),i=async()=>e&&e.gitignore?TD({cwd:e.cwd,ignore:e.ignore}):m8,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await LD(c,yw);return Promise.all(u.map(MD(c)))}));return Ew(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Iw(l.pattern,l.options)));return Ew(...a).filter(l=>!s(SSe(l)))};Pc.exports.sync=(r,e)=>{let t=ww(r,e),i=[];for(let o of t){let a=LD(o,yw.sync).map(MD(o));i.push(...a)}let n=E8(e),s=[];for(let o of i)s=Ew(s,Iw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Pc.exports.stream=(r,e)=>{let t=ww(r,e),i=[];for(let a of t){let l=LD(a,yw.sync).map(MD(a));i.push(...l)}let n=E8(e),s=new wSe(a=>!n(a)),o=new BSe;return ySe(i.map(a=>Iw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Pc.exports.generateGlobTasks=ww;Pc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>Iw.isDynamicPattern(t,e));Pc.exports.gitignore=TD});var vn=w((tit,N8)=>{function USe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}N8.exports=USe});var WD=w((rit,T8)=>{var HSe=typeof global=="object"&&global&&global.Object===Object&&global;T8.exports=HSe});var ys=w((iit,L8)=>{var GSe=WD(),YSe=typeof self=="object"&&self&&self.Object===Object&&self,jSe=GSe||YSe||Function("return this")();L8.exports=jSe});var O8=w((nit,M8)=>{var qSe=ys(),JSe=function(){return qSe.Date.now()};M8.exports=JSe});var U8=w((sit,K8)=>{var WSe=/\s/;function zSe(r){for(var e=r.length;e--&&WSe.test(r.charAt(e)););return e}K8.exports=zSe});var G8=w((oit,H8)=>{var VSe=U8(),XSe=/^\s+/;function ZSe(r){return r&&r.slice(0,VSe(r)+1).replace(XSe,"")}H8.exports=ZSe});var Rc=w((ait,Y8)=>{var _Se=ys(),$Se=_Se.Symbol;Y8.exports=$Se});var W8=w((Ait,J8)=>{var j8=Rc(),q8=Object.prototype,eve=q8.hasOwnProperty,tve=q8.toString,uC=j8?j8.toStringTag:void 0;function rve(r){var e=eve.call(r,uC),t=r[uC];try{r[uC]=void 0;var i=!0}catch{}var n=tve.call(r);return i&&(e?r[uC]=t:delete r[uC]),n}J8.exports=rve});var V8=w((lit,z8)=>{var ive=Object.prototype,nve=ive.toString;function sve(r){return nve.call(r)}z8.exports=sve});var Fc=w((cit,_8)=>{var X8=Rc(),ove=W8(),ave=V8(),Ave="[object Null]",lve="[object Undefined]",Z8=X8?X8.toStringTag:void 0;function cve(r){return r==null?r===void 0?lve:Ave:Z8&&Z8 in Object(r)?ove(r):ave(r)}_8.exports=cve});var Jo=w((uit,$8)=>{function uve(r){return r!=null&&typeof r=="object"}$8.exports=uve});var gC=w((git,ez)=>{var gve=Fc(),fve=Jo(),hve="[object Symbol]";function pve(r){return typeof r=="symbol"||fve(r)&&gve(r)==hve}ez.exports=pve});var nz=w((fit,iz)=>{var dve=G8(),tz=vn(),Cve=gC(),rz=0/0,mve=/^[-+]0x[0-9a-f]+$/i,Eve=/^0b[01]+$/i,Ive=/^0o[0-7]+$/i,yve=parseInt;function wve(r){if(typeof r=="number")return r;if(Cve(r))return rz;if(tz(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=tz(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=dve(r);var t=Eve.test(r);return t||Ive.test(r)?yve(r.slice(2),t?2:8):mve.test(r)?rz:+r}iz.exports=wve});var az=w((hit,oz)=>{var Bve=vn(),zD=O8(),sz=nz(),bve="Expected a function",Qve=Math.max,Sve=Math.min;function vve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(bve);e=sz(e)||0,Bve(t)&&(u=!!t.leading,g="maxWait"in t,s=g?Qve(sz(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?Sve(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=zD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(zD())}function H(){var j=zD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=T,H}oz.exports=vve});var lz=w((pit,Az)=>{var xve=az(),Pve=vn(),Dve="Expected a function";function kve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(Dve);return Pve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),xve(r,e,{leading:i,maxWait:e,trailing:n})}Az.exports=kve});var Ya=w((Ga,jw)=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var mz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function jve(r){return mz.includes(r)}var qve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...mz];function Jve(r){return qve.includes(r)}var Wve=["null","undefined","string","number","bigint","boolean","symbol"];function zve(r){return Wve.includes(r)}function Lf(r){return e=>typeof e===r}var{toString:Ez}=Object.prototype,CC=r=>{let e=Ez.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(Jve(e))return e},lr=r=>e=>CC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=CC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Lf("undefined");X.string=Lf("string");var Vve=Lf("number");X.number=r=>Vve(r)&&!X.nan(r);X.bigint=Lf("bigint");X.function_=Lf("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Lf("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var Xve=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||Xve(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>CC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>CC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||zve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(Ez.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>jve(CC(r));var Zve=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&Zve(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var _ve=1,$ve=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===_ve&&X.string(r.nodeName)&&!X.plainObject(r)&&$ve.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var Iz=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=Iz(0);X.oddInteger=Iz(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var exe=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||exe(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var yz=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>yz(Array.prototype.some,i,e));X.all=(r,...e)=>yz(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Ga.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(Ga.assert,{class:{value:Ga.assert.class_},function:{value:Ga.assert.function_},null:{value:Ga.assert.null_}});Ga.default=X;jw.exports=X;jw.exports.default=X;jw.exports.assert=Ga.assert});var wz=w((ent,dk)=>{"use strict";var qw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Mf=class{static fn(e){return(...t)=>new Mf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Mf.prototype,Promise.prototype);dk.exports=Mf;dk.exports.CancelError=qw});var Bz=w((mk,Ek)=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var txe=J("tls"),Ck=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof txe.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};mk.default=Ck;Ek.exports=Ck;Ek.exports.default=Ck});var bz=w((yk,wk)=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var rxe=Bz(),ixe=Number(process.versions.node.split(".")[0]),Ik=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||ixe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),rxe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};yk.default=Ik;wk.exports=Ik;wk.exports.default=Ik});var kz=w((tnt,Qk)=>{"use strict";var{V4MAPPED:nxe,ADDRCONFIG:sxe,ALL:Dz,promises:{Resolver:Qz},lookup:oxe}=J("dns"),{promisify:Bk}=J("util"),axe=J("os"),Of=Symbol("cacheableLookupCreateConnection"),bk=Symbol("cacheableLookupInstance"),Sz=Symbol("expires"),Axe=typeof Dz=="number",vz=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},lxe=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},xz=()=>{let r=!1,e=!1;for(let t of Object.values(axe.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},cxe=r=>Symbol.iterator in r,Pz={ttl:!0},uxe={all:!0},Jw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new Qz,lookup:o=oxe}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Bk(o),this._resolver instanceof Qz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Bk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Bk(this._resolver.resolve6.bind(this._resolver))),this._iface=xz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&nxe&&(Axe&&t.hints&Dz||n.length===0)?lxe(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&sxe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,Pz),this._resolve6(e,Pz)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[Sz]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}cxe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,uxe);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[Sz];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Of](t,i))}uninstall(e){if(vz(e),e[Of]){if(e[bk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Of],delete e[Of],delete e[bk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=xz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Qk.exports=Jw;Qk.exports.default=Jw});var Nz=w((rnt,Sk)=>{"use strict";var gxe=typeof URL>"u"?J("url").URL:URL,fxe="text/plain",hxe="us-ascii",Rz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),pxe=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===hxe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==fxe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Fz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return pxe(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new gxe(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Rz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Rz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Sk.exports=Fz;Sk.exports.default=Fz});var Mz=w((int,Lz)=>{Lz.exports=Tz;function Tz(r,e){if(r&&e)return Tz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var Oz=Mz();vk.exports=Oz(Ww);vk.exports.strict=Oz(Kz);Ww.proto=Ww(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ww(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Kz(this)},configurable:!0})});function Ww(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function Kz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Pk=w((snt,Hz)=>{var dxe=xk(),Cxe=function(){},mxe=function(r){return r.setHeader&&typeof r.abort=="function"},Exe=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},Uz=function(r,e,t){if(typeof e=="function")return Uz(r,null,e);e||(e={}),t=dxe(t||Cxe);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return mxe(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),Exe(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};Hz.exports=Uz});var jz=w((ont,Yz)=>{var Ixe=xk(),yxe=Pk(),Dk=J("fs"),mC=function(){},wxe=/^v?\.0/.test(process.version),zw=function(r){return typeof r=="function"},Bxe=function(r){return!wxe||!Dk?!1:(r instanceof(Dk.ReadStream||mC)||r instanceof(Dk.WriteStream||mC))&&zw(r.close)},bxe=function(r){return r.setHeader&&zw(r.abort)},Qxe=function(r,e,t,i){i=Ixe(i);var n=!1;r.on("close",function(){n=!0}),yxe(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Bxe(r))return r.close(mC);if(bxe(r))return r.abort();if(zw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},Gz=function(r){r()},Sxe=function(r,e){return r.pipe(e)},vxe=function(){var r=Array.prototype.slice.call(arguments),e=zw(r[r.length-1]||mC)&&r.pop()||mC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return Qxe(n,o,a,function(l){t||(t=l),l&&i.forEach(Gz),!o&&(i.forEach(Gz),e(t))})});return r.reduce(Sxe)};Yz.exports=vxe});var Jz=w((ant,qz)=>{"use strict";var{PassThrough:xxe}=J("stream");qz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new xxe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Wz=w((Ant,Kf)=>{"use strict";var Pxe=jz(),Dxe=Jz(),Vw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Xw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Pxe(r,Dxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Vw)})}),i.getBufferedValue()}Kf.exports=Xw;Kf.exports.default=Xw;Kf.exports.buffer=(r,e)=>Xw(r,{...e,encoding:"buffer"});Kf.exports.array=(r,e)=>Xw(r,{...e,array:!0});Kf.exports.MaxBufferError=Vw});var Vz=w((cnt,zz)=>{"use strict";var kxe=new Set([200,203,204,206,300,301,404,405,410,414,501]),Rxe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Fxe=new Set([500,502,503,504]),Nxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Txe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Lc(r){let e=parseInt(r,10);return isFinite(e)?e:0}function Lxe(r){return r?Fxe.has(r.status):!0}function kk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Mxe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}zz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,_fromObject:a}={}){if(a){this._fromObject(a);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=kk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=kk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Mxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers["cache-control"]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Rxe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||kxe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=kk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Nxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){return Lc(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Lc(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Lc(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+Lc(this._rescc["stale-if-error"]),i=e+Lc(this._rescc["stale-while-revalidate"]);return Math.max(0,e,t,i)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Lc(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Lc(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Lxe(t))return{modified:!1,matches:!1,policy:this};if(!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!Txe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Zw=w((unt,Xz)=>{"use strict";Xz.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var _z=w((gnt,Zz)=>{"use strict";var Oxe=J("stream").Readable,Kxe=Zw(),Rk=class extends Oxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Kxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};Zz.exports=Rk});var e5=w((fnt,$z)=>{"use strict";var Uxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];$z.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(Uxe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var r5=w((hnt,t5)=>{"use strict";var Hxe=J("stream").PassThrough,Gxe=e5(),Yxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Hxe;return Gxe(r,e),r.pipe(e)};t5.exports=Yxe});var i5=w(Fk=>{Fk.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Fk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var o5=w((dnt,s5)=>{"use strict";var jxe=J("events"),n5=i5(),qxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},Nk=class extends jxe{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:n5.stringify,deserialize:n5.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=qxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};s5.exports=Nk});var l5=w((mnt,A5)=>{"use strict";var Jxe=J("events"),_w=J("url"),Wxe=Nz(),zxe=Wz(),Tk=Vz(),a5=_z(),Vxe=Zw(),Xxe=r5(),Zxe=o5(),oo=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Zxe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Lk(_w.parse(t)),t={};else if(t instanceof _w.URL)n=Lk(_w.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Lk({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,..._xe(n)},t.headers=Vxe(t.headers);let s=new Jxe,o=Wxe(_w.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Tk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new a5(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Tk(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=Xxe(y),(async()=>{try{let v=zxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,T,H)}catch(v){s.emit("error",new oo.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new oo.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new oo.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Tk.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new a5(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new oo.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new oo.CacheError(h))}})(),s}}};function _xe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Lk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}oo.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};oo.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};A5.exports=oo});var u5=w((ynt,c5)=>{"use strict";var $xe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];c5.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat($xe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var f5=w((wnt,g5)=>{"use strict";var{Transform:ePe,PassThrough:tPe}=J("stream"),Mk=J("zlib"),rPe=u5();g5.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof Mk.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new ePe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new tPe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Mk.createBrotliDecompress():Mk.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),rPe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Kk=w((Bnt,h5)=>{"use strict";var Ok=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};h5.exports=Ok});var Hk=w((bnt,m5)=>{"use strict";var iPe=J("events"),nPe=J("tls"),sPe=J("http2"),oPe=Kk(),on=Symbol("currentStreamsCount"),p5=Symbol("request"),Bs=Symbol("cachedOriginSet"),Uf=Symbol("gracefullyClosing"),aPe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],APe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},lPe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Uk=(r,e)=>{for(let t of r)t[Bs].lengthe[Bs].includes(i))&&t[on]+e[on]<=e.remoteSettings.maxConcurrentStreams&&C5(t)},cPe=(r,e)=>{for(let t of r)e[Bs].lengtht[Bs].includes(i))&&e[on]+t[on]<=t.remoteSettings.maxConcurrentStreams&&C5(e)},d5=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[zo.kCurrentStreamsCount]{r[Uf]=!0,r[on]===0&&r.close()},zo=class extends iPe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new oPe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of aPe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=zo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Uf]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=sPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[on]=0,f[Uf]=!1;let h=()=>f[on]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Bs])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Bs]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[Bs]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(APe(B,f,lPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[on]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[p5]=f.request,f.request=(y,B)=>{if(f[Uf])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[p5](y,B);return f.ref(),++f[on],f[on]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[on],!f.destroyed&&!f.closed&&(cPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[on]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Uf])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),nPe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[on]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return d5({agent:this,isFree:!0})}get busySessions(){return d5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=on;zo.kGracefullyClosing=Uf;m5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((Qnt,E5)=>{"use strict";var{Readable:uPe}=J("stream"),Gk=class extends uPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};E5.exports=Gk});var jk=w((Snt,I5)=>{"use strict";I5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var w5=w((vnt,y5)=>{"use strict";y5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var b5=w((xnt,B5)=>{"use strict";B5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var S5=w((Dnt,Q5)=>{"use strict";var Hf=(r,e,t)=>{Q5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};Hf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});Hf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);Hf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);Hf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);Hf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);Hf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Vk=w((knt,F5)=>{"use strict";var gPe=J("http2"),{Writable:fPe}=J("stream"),{Agent:v5,globalAgent:hPe}=Hk(),pPe=Yk(),dPe=jk(),CPe=w5(),mPe=b5(),{ERR_INVALID_ARG_TYPE:qk,ERR_INVALID_PROTOCOL:EPe,ERR_HTTP_HEADERS_SENT:x5,ERR_INVALID_HTTP_TOKEN:IPe,ERR_HTTP_INVALID_HEADER_VALUE:yPe,ERR_INVALID_CHAR:wPe}=S5(),{HTTP2_HEADER_STATUS:P5,HTTP2_HEADER_METHOD:D5,HTTP2_HEADER_PATH:k5,HTTP2_METHOD_CONNECT:BPe}=gPe.constants,Ui=Symbol("headers"),Jk=Symbol("origin"),Wk=Symbol("session"),R5=Symbol("options"),$w=Symbol("flushedHeaders"),EC=Symbol("jobs"),bPe=/^[\^`\-\w!#$%&*+.|~]+$/,QPe=/[^\t\u0020-\u007E\u0080-\u00FF]/,zk=class extends fPe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=dPe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[Wk]=t.h2session;else if(t.agent===!1)this.agent=new v5({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new v5({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=hPe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new qk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new EPe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ui]=Object.create(null),this[EC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ui])&&(this[Ui].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[R5]=t,s===443?(this[Jk]=`https://${o}`,":authority"in this[Ui]||(this[Ui][":authority"]=o)):(this[Jk]=`https://${o}:${s}`,":authority"in this[Ui]||(this[Ui][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[$w]=!1}get method(){return this[Ui][D5]}set method(e){e&&(this[Ui][D5]=e.toUpperCase())}get path(){return this[Ui][k5]}set path(e){e&&(this[Ui][k5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[EC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[EC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[$w]||this.destroyed)return;this[$w]=!0;let e=this.method===BPe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||CPe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new pPe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[P5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[P5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[EC])o();this.emit("socket",this.socket)};if(this[Wk])try{t(this[Wk].request(this[Ui]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Jk],this[R5],this[Ui]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qk("name","string",e);return this[Ui][e.toLowerCase()]}get headersSent(){return this[$w]}removeHeader(e){if(typeof e!="string")throw new qk("name","string",e);if(this.headersSent)throw new x5("remove");delete this[Ui][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new x5("set");if(typeof e!="string"||!bPe.test(e)&&!mPe(e))throw new IPe("Header name",e);if(typeof t>"u")throw new yPe(t,e);if(QPe.test(t))throw new wPe("header content",e);this[Ui][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[EC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};F5.exports=zk});var T5=w((Rnt,N5)=>{"use strict";var SPe=J("tls");N5.exports=(r={})=>new Promise((e,t)=>{let i=SPe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var M5=w((Fnt,L5)=>{"use strict";var vPe=J("net");L5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),vPe.isIP(e)?"":e}});var U5=w((Nnt,Zk)=>{"use strict";var O5=J("http"),Xk=J("https"),xPe=T5(),PPe=Kk(),DPe=Vk(),kPe=M5(),RPe=jk(),eB=new PPe({maxSize:100}),IC=new Map,K5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},FPe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!eB.has(e)){if(IC.has(e))return(await IC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=xPe(r);IC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(eB.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Xk,l=Xk.Agent.prototype.createConnection;i?i.createConnection===l?K5(i,s,r):s.destroy():a.createConnection===l?K5(a,s,r):s.destroy()}return IC.delete(e),o}catch(s){throw IC.delete(e),s}}return eB.get(e)};Zk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=RPe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||kPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xk.globalAgent:O5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await FPe(e)==="h2"?(n&&(e.agent=n.http2),new DPe(e,t)):O5.request(e,t)};Zk.exports.protocolCache=eB});var G5=w((Tnt,H5)=>{"use strict";var NPe=J("http2"),TPe=Hk(),_k=Vk(),LPe=Yk(),MPe=U5(),OPe=(r,e,t)=>new _k(r,e,t),KPe=(r,e,t)=>{let i=new _k(r,e,t);return i.end(),i};H5.exports={...NPe,ClientRequest:_k,IncomingMessage:LPe,...TPe,request:OPe,get:KPe,auto:MPe}});var eR=w($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});var Y5=Ya();$k.default=r=>Y5.default.nodeStream(r)&&Y5.default.function_(r.getBoundary)});var W5=w(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});var q5=J("fs"),J5=J("util"),j5=Ya(),UPe=eR(),HPe=J5.promisify(q5.stat);tR.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(j5.default.string(r))return Buffer.byteLength(r);if(j5.default.buffer(r))return r.length;if(UPe.default(r))return J5.promisify(r.getLength.bind(r))();if(r instanceof q5.ReadStream){let{size:t}=await HPe(r.path);return t===0?void 0:t}}});var iR=w(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});function GPe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}rR.default=GPe});var z5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});nR.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var X5=w(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});yC.TimeoutError=void 0;var YPe=J("net"),jPe=z5(),V5=Symbol("reentry"),qPe=()=>{},tB=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};yC.TimeoutError=tB;yC.default=(r,e,t)=>{if(V5 in r)return qPe;r[V5]=!0;let i=[],{once:n,unhandleAll:s}=jPe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new tB(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:YPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var _5=w(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var Z5=Ya();sR.default=r=>{r=r;let e={protocol:r.protocol,hostname:Z5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return Z5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var $5=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var JPe=J("url"),WPe=["protocol","host","hostname","port","pathname","search"];oR.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new JPe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of WPe)e[s]&&(n[s]=e[s].toString());return n}});var e6=w(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var aR=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};AR.default=aR});var cR=w(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var zPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};lR.default=zPe});var r6=w(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.dnsLookupIpVersionToFamily=Mc.isDnsLookupIpVersion=void 0;var t6={auto:0,ipv4:4,ipv6:6};Mc.isDnsLookupIpVersion=r=>r in t6;Mc.dnsLookupIpVersionToFamily=r=>{if(Mc.isDnsLookupIpVersion(r))return t6[r];throw new Error("Invalid DNS lookup IP version")}});var uR=w(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.isResponseOk=void 0;rB.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var n6=w(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var i6=new Set;gR.default=r=>{i6.has(r)||(i6.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var s6=w(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var mr=Ya(),VPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};fR.default=VPe});var o6=w(wC=>{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});wC.retryAfterStatusCodes=void 0;wC.retryAfterStatusCodes=new Set([413,429,503]);var XPe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};wC.default=XPe});var QC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var a6=J("util"),A6=J("stream"),ZPe=J("fs"),XA=J("url"),l6=J("http"),hR=J("http"),_Pe=J("https"),$Pe=bz(),eDe=kz(),c6=l5(),tDe=f5(),rDe=G5(),iDe=Zw(),Ee=Ya(),nDe=W5(),u6=eR(),sDe=iR(),g6=X5(),oDe=_5(),f6=$5(),aDe=e6(),ADe=cR(),h6=r6(),lDe=uR(),ZA=n6(),cDe=s6(),uDe=o6(),pR,Pi=Symbol("request"),sB=Symbol("response"),Gf=Symbol("responseSize"),Yf=Symbol("downloadedSize"),jf=Symbol("bodySize"),qf=Symbol("uploadedSize"),iB=Symbol("serverResponsesPiped"),p6=Symbol("unproxyEvents"),d6=Symbol("isFromCache"),dR=Symbol("cancelTimeouts"),C6=Symbol("startedReading"),Jf=Symbol("stopReading"),nB=Symbol("triggerRead"),_A=Symbol("body"),BC=Symbol("jobs"),m6=Symbol("originalResponse"),E6=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var gDe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function fDe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function hDe(r){return Ee.default.object(r)&&!("statusCode"in r)}var CR=new aDe.default,pDe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),dDe=new Set([300,301,302,303,304,307,308]),CDe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of CDe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof gB?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[sB]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`,n)}while(i!==-1);return s+=r.substr(n),s};OJ.exports={stringReplaceAll:xwe,stringEncaseCRLFWithFirstIndex:Pwe}});var jJ=w((rtt,YJ)=>{"use strict";var Dwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,UJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,kwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Rwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,Fwe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function GJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Fwe.get(r)||r}function Nwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(kwe))t.push(n[2].replace(Rwe,(a,l,c)=>l?GJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Twe(r){UJ.lastIndex=0;let e=[],t;for(;(t=UJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Nwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function HJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}YJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Dwe,(s,o,a,l,c,u)=>{if(o)n.push(GJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:HJ(r,t)(g)),t.push({inverse:a,styles:Twe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(HJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((itt,zJ)=>{"use strict";var Kd=RJ(),{stdout:mx,stderr:Ex}=MJ(),{stringReplaceAll:Lwe,stringEncaseCRLFWithFirstIndex:Mwe}=KJ(),qJ=["ansi","ansi","ansi256","ansi16m"],uf=Object.create(null),Owe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return JJ(e)}},JJ=r=>{let e={};return Owe(e,r),e.template=(...t)=>Hwe(e.template,...t),Object.setPrototypeOf(e,Oy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function Oy(r){return JJ(r)}for(let[r,e]of Object.entries(Kd))uf[r]={get(){let t=Ky(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};uf.visible={get(){let r=Ky(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var WJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of WJ)uf[r]={get(){let{level:e}=this;return function(...t){let i=yx(Kd.color[qJ[e]][r](...t),Kd.color.close,this._styler);return Ky(this,i,this._isEmpty)}}};for(let r of WJ){let e="bg"+r[0].toUpperCase()+r.slice(1);uf[e]={get(){let{level:t}=this;return function(...i){let n=yx(Kd.bgColor[qJ[t]][r](...i),Kd.bgColor.close,this._styler);return Ky(this,n,this._isEmpty)}}}}var Kwe=Object.defineProperties(()=>{},{...uf,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ky=(r,e,t)=>{let i=(...n)=>Uwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Kwe,i._generator=r,i._styler=e,i._isEmpty=t,i},Uwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Lwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` +`);return s!==-1&&(e=Mwe(e,n,i,s)),i+e+n},Cx,Hwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";Cs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Cs.find=(r,e)=>r.nodes.find(t=>t.type===e);Cs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Cs.isInteger(r)||!Cs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Cs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Cs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;Cs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Cs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Cs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Cs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var VJ=Uy();XJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&VJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&VJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var _J=w((ott,ZJ)=>{"use strict";ZJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var aW=w((att,oW)=>{"use strict";var $J=_J(),Ic=(r,e,t)=>{if($J(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if($J(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Ic.cache.hasOwnProperty(l))return Ic.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=sW(r)||sW(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=eW(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=eW(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Gwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Ic.cache[l]=f,f.result};function Gwe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Ywe(r,e){let t=1,i=1,n=rW(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=rW(r,t);for(n=iW(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+nW(a.count),o=c+1;continue}t.isPadded&&(g=zwe(c,t,i)),u.string=g+u.pattern+nW(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!tW(e,"string",a)&&s.push(t+a),i&&tW(e,"string",a)&&s.push(t+a)}return s}function qwe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function tW(r,e,t){return r.some(i=>i[e]===t)}function rW(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function iW(r,e){return r-r%Math.pow(10,e)}function nW(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function Wwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function sW(r){return/^-?(0+)\d/.test(r)}function zwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Ic.cache={};Ic.clearCache=()=>Ic.cache={};oW.exports=Ic});var Sx=w((Att,pW)=>{"use strict";var Vwe=J("util"),cW=aW(),AW=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),Xwe=r=>e=>r===!0?Number(e):String(e),bx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Hd=r=>Number.isInteger(+r),Qx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Zwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,_we=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},lW=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},uW=(r,e,t,i)=>{if(t)return cW(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},gW=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return cW(r,e,t)},fW=(...r)=>new RangeError("Invalid range arguments: "+Vwe.inspect(...r)),hW=(r,e,t)=>{if(t.strictRanges===!0)throw fW([r,e]);return[]},eBe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},tBe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw fW([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=Qx(a)||Qx(l)||Qx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Zwe(r,e,i)===!1,h=i.transform||Xwe(f);if(i.toRegex&&t===1)return uW(lW(r,g),lW(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(_we(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?$we(p,i):gW(y,null,{wrap:!1,...i}):y},rBe=(r,e,t=1,i={})=>{if(!Hd(r)&&r.length>1||!Hd(e)&&e.length>1)return hW(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return uW(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?gW(u,null,{wrap:!1,options:i}):u},Gy=(r,e,t,i={})=>{if(e==null&&bx(r))return[r];if(!bx(r)||!bx(e))return hW(r,e,i);if(typeof t=="function")return Gy(r,e,1,{transform:t});if(AW(t))return Gy(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Hd(t)?Hd(r)&&Hd(e)?tBe(r,e,t,n):rBe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!AW(t)?eBe(t,n):Gy(r,e,1,t)};pW.exports=Gy});var mW=w((ltt,CW)=>{"use strict";var iBe=Sx(),dW=Uy(),nBe=(r,e={})=>{let t=(i,n={})=>{let s=dW.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=dW.reduce(i.nodes),g=iBe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};CW.exports=nBe});var yW=w((ctt,IW)=>{"use strict";var sBe=Sx(),EW=Hy(),gf=Uy(),yc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?gf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(yc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?yc(n,s,t):n+s);return gf.flatten(i)},oBe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(yc(a.pop(),EW(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(yc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=gf.reduce(n.nodes);if(gf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=sBe(...g,e);f.length===0&&(f=EW(n,e)),a.push(yc(a.pop(),f)),n.nodes=[];return}let l=gf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";wW.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var xW=w((gtt,vW)=>{"use strict";var aBe=Hy(),{MAX_LENGTH:bW,CHAR_BACKSLASH:vx,CHAR_BACKTICK:ABe,CHAR_COMMA:lBe,CHAR_DOT:cBe,CHAR_LEFT_PARENTHESES:uBe,CHAR_RIGHT_PARENTHESES:gBe,CHAR_LEFT_CURLY_BRACE:fBe,CHAR_RIGHT_CURLY_BRACE:hBe,CHAR_LEFT_SQUARE_BRACKET:QW,CHAR_RIGHT_SQUARE_BRACKET:SW,CHAR_DOUBLE_QUOTE:pBe,CHAR_SINGLE_QUOTE:dBe,CHAR_NO_BREAK_SPACE:CBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:mBe}=BW(),EBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(bW,t.maxLength):bW;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:aBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===cBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};vW.exports=EBe});var kW=w((ftt,DW)=>{"use strict";var PW=Hy(),IBe=mW(),yBe=yW(),wBe=xW(),Jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.parse=(r,e={})=>wBe(r,e);Jn.stringify=(r,e={})=>PW(typeof r=="string"?Jn.parse(r,e):r,e);Jn.compile=(r,e={})=>(typeof r=="string"&&(r=Jn.parse(r,e)),IBe(r,e));Jn.expand=(r,e={})=>{typeof r=="string"&&(r=Jn.parse(r,e));let t=yBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Jn.compile(r,e):Jn.expand(r,e);DW.exports=Jn});var Gd=w((htt,LW)=>{"use strict";var BBe=J("path"),Ko="\\\\/",RW=`[^${Ko}]`,Na="\\.",bBe="\\+",QBe="\\?",Yy="\\/",SBe="(?=.)",FW="[^/]",xx=`(?:${Yy}|$)`,NW=`(?:^|${Yy})`,Px=`${Na}{1,2}${xx}`,vBe=`(?!${Na})`,xBe=`(?!${NW}${Px})`,PBe=`(?!${Na}{0,1}${xx})`,DBe=`(?!${Px})`,kBe=`[^.${Yy}]`,RBe=`${FW}*?`,TW={DOT_LITERAL:Na,PLUS_LITERAL:bBe,QMARK_LITERAL:QBe,SLASH_LITERAL:Yy,ONE_CHAR:SBe,QMARK:FW,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:vBe,NO_DOTS:xBe,NO_DOT_SLASH:PBe,NO_DOTS_SLASH:DBe,QMARK_NO_DOT:kBe,STAR:RBe,START_ANCHOR:NW},FBe={...TW,SLASH_LITERAL:`[${Ko}]`,QMARK:RW,STAR:`${RW}*?`,DOTS_SLASH:`${Na}{1,2}(?:[${Ko}]|$)`,NO_DOT:`(?!${Na})`,NO_DOTS:`(?!(?:^|[${Ko}])${Na}{1,2}(?:[${Ko}]|$))`,NO_DOT_SLASH:`(?!${Na}{0,1}(?:[${Ko}]|$))`,NO_DOTS_SLASH:`(?!${Na}{1,2}(?:[${Ko}]|$))`,QMARK_NO_DOT:`[^.${Ko}]`,START_ANCHOR:`(?:^|[${Ko}])`,END_ANCHOR:`(?:[${Ko}]|$)`},NBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};LW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:NBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:BBe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?FBe:TW}}});var Yd=w(wn=>{"use strict";var TBe=J("path"),LBe=process.platform==="win32",{REGEX_BACKSLASH:MBe,REGEX_REMOVE_BACKSLASH:OBe,REGEX_SPECIAL_CHARS:KBe,REGEX_SPECIAL_CHARS_GLOBAL:UBe}=Gd();wn.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);wn.hasRegexChars=r=>KBe.test(r);wn.isRegexChar=r=>r.length===1&&wn.hasRegexChars(r);wn.escapeRegex=r=>r.replace(UBe,"\\$1");wn.toPosixSlashes=r=>r.replace(MBe,"/");wn.removeBackslashes=r=>r.replace(OBe,e=>e==="\\"?"":e);wn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};wn.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:LBe===!0||TBe.sep==="\\";wn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?wn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};wn.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};wn.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var jW=w((dtt,YW)=>{"use strict";var MW=Yd(),{CHAR_ASTERISK:Dx,CHAR_AT:HBe,CHAR_BACKWARD_SLASH:jd,CHAR_COMMA:GBe,CHAR_DOT:kx,CHAR_EXCLAMATION_MARK:Rx,CHAR_FORWARD_SLASH:GW,CHAR_LEFT_CURLY_BRACE:Fx,CHAR_LEFT_PARENTHESES:Nx,CHAR_LEFT_SQUARE_BRACKET:YBe,CHAR_PLUS:jBe,CHAR_QUESTION_MARK:OW,CHAR_RIGHT_CURLY_BRACE:qBe,CHAR_RIGHT_PARENTHESES:KW,CHAR_RIGHT_SQUARE_BRACKET:JBe}=Gd(),UW=r=>r===GW||r===jd,HW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},WBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,T=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},_=()=>c>=i,A=()=>l.charCodeAt(c+1),Ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),M=l.slice(g)):p===!0?(ge="",M=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&UW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(M&&(M=MW.removeBackslashes(M)),ge&&v===!0&&(ge=MW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:M,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:T};if(t.tokens===!0&&(F.maxDepth=0,UW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let pe=0;pe{"use strict";var jy=Gd(),Wn=Yd(),{MAX_LENGTH:qy,POSIX_REGEX_SOURCE:zBe,REGEX_NON_SPECIAL_CHARS:VBe,REGEX_SPECIAL_CHARS_BACKREF:XBe,REPLACEMENTS:qW}=jy,ZBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>Wn.escapeRegex(n)).join("..")}return t},ff=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Tx=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=qW[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=Wn.isWindows(e),c=jy.globChars(l),u=jy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:T,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:T,_=t.bash===!0?$(t):H;t.capture&&(_=`(${_})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=Wn.removePrefix(r,A),n=r.length;let Ae=[],ge=[],re=[],M=s,F,ue=()=>A.index===n-1,pe=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",he=0)=>{A.consumed+=Y,A.index+=he},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},Be=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},ae=Y=>{if(M.type==="globstar"){let he=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||Ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!he&&!ie&&(A.output=A.output.slice(0,-M.output.length),M.type="star",M.value="*",M.output=_,A.output+=M.output)}if(Ae.length&&Y.type!=="paren"&&(Ae[Ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),M&&M.type==="text"&&Y.type==="text"){M.value+=Y.value,M.output=(M.output||"")+Y.value;return}Y.prev=M,o.push(Y),M=Y},qe=(Y,he)=>{let ie={...u[he],conditions:1,inner:""};ie.prev=M,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;Be("parens"),ae({type:Y,value:he,output:A.output?"":p}),ae({type:"paren",extglob:!0,value:ke(),output:de}),Ae.push(ie)},ne=Y=>{let he=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=_;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==_||ue()||/^\)+$/.test(Fe()))&&(he=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)){let _e=Tx(ie,{...e,fastpaths:!1}).output;he=Y.close=`)${_e})${de})`}Y.prev.type==="bos"&&(A.negatedExtglob=!0)}ae({type:"paren",extglob:!0,value:F,output:he}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,he=r.replace(XBe,(ie,de,_e,Pt,It,Mr)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Mr===0?W+(It?D.repeat(It.length):""):D.repeat(_e.length):Pt==="."?g.repeat(_e.length):Pt==="*"?de?de+Pt+(It?_:""):_:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?he=he.replace(/\\/g,""):he=he.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),he===r&&t.contains===!0?(A.output=r,A):(A.output=Wn.wrapOutput(he,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=pe();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),_e=0;if(de&&de[0].length>2&&(_e=de[0].length,A.index+=_e,_e%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||M.value==="["||M.value==="[^")){if(t.posix!==!1&&F===":"){let ie=M.value.slice(1);if(ie.includes("[")&&(M.posix=!0,ie.includes(":"))){let de=M.value.lastIndexOf("["),_e=M.value.slice(0,de),Pt=M.value.slice(de+2),It=zBe[Pt];if(It){M.value=_e+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(M)===1&&(s.output=p);continue}}}(F==="["&&pe()!==":"||F==="-"&&pe()==="]")&&(F=`\\${F}`),F==="]"&&(M.value==="["||M.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&M.value==="["&&(F="^"),M.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=Wn.escapeRegex(F),M.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&ae({type:"text",value:F});continue}if(F==="("){Be("parens"),ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(ff("opening","("));let ie=Ae[Ae.length-1];if(ie&&A.parens===ie.parens+1){ne(Ae.pop());continue}ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));F=`\\${F}`}else Be("brackets");ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||M&&M.type==="bracket"&&M.value.length===1){ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(ff("opening","["));ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=M.value.slice(1);if(M.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),M.value+=F,oe({value:F}),t.literalBrackets===!1||Wn.hasRegexChars(ie))continue;let de=Wn.escapeRegex(M.value);if(A.output=A.output.slice(0,-M.value.length),t.literalBrackets===!0){A.output+=de,M.value=de;continue}M.value=`(${a}${de}|${M.value})`,A.output+=M.value;continue}if(F==="{"&&t.nobrace!==!0){Be("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let _e=o.slice(),Pt=[];for(let It=_e.length-1;It>=0&&(o.pop(),_e[It].type!=="brace");It--)_e[It].type!=="dots"&&Pt.unshift(_e[It].value);de=ZBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let _e=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=_e;for(let It of Pt)A.output+=It.output||It.value}ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){Ae.length>0&&Ae[Ae.length-1].conditions++,ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(M.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),M=s;continue}ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&M.type==="dot"){M.value==="."&&(M.output=g);let ie=ge[ge.length-1];M.type="dots",M.output+=F,M.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&M.type!=="bos"&&M.type!=="slash"){ae({type:"text",value:F,output:g});continue}ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(M&&M.value==="(")&&t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("qmark",F);continue}if(M&&M.type==="paren"){let de=pe(),_e=F;if(de==="<"&&!Wn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(M.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(_e=`\\${F}`),ae({type:"text",value:F,output:_e});continue}if(t.dot!==!0&&(M.type==="slash"||M.type==="bos")){ae({type:"qmark",value:F,output:T});continue}ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("plus",F);continue}if(M&&M.value==="("||t.regex===!1){ae({type:"plus",value:F,output:f});continue}if(M&&(M.type==="bracket"||M.type==="paren"||M.type==="brace")||A.parens>0){ae({type:"plus",value:F});continue}ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){ae({type:"at",extglob:!0,value:F,output:""});continue}ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=VBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),ae({type:"text",value:F});continue}if(M&&(M.type==="globstar"||M.star===!0)){M.type="star",M.star=!0,M.value+=F,M.output=_,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(M.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=M.prev,de=ie.prev,_e=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!_e||Y[0]&&Y[0]!=="/")){ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Mr=Ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!_e&&ie.type!=="paren"&&!It&&!Mr){ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){M.type="globstar",M.value+=F,M.output=$(t),A.output=M.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=$(t)+(t.strictSlashes?")":"|$)"),M.value+=F,A.globstar=!0,A.output+=ie.output+M.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=`${$(t)}${h}|${h}${ii})`,M.value+=F,A.output+=ie.output+M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){M.type="globstar",M.value+=F,M.output=`(?:^|${h}|${$(t)}${h})`,A.output=M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-M.output.length),M.type="globstar",M.output=$(t),M.value+=F,A.output+=M.output,A.globstar=!0,Ne(F);continue}let he={type:"star",value:F,output:_};if(t.bash===!0){he.output=".*?",(M.type==="bos"||M.type==="slash")&&(he.output=V+he.output),ae(he);continue}if(M&&(M.type==="bracket"||M.type==="paren")&&t.regex===!0){he.output=F,ae(he);continue}(A.index===A.start||M.type==="slash"||M.type==="dot")&&(M.type==="dot"?(A.output+=B,M.output+=B):t.dot===!0?(A.output+=v,M.output+=v):(A.output+=V,M.output+=V),pe()!=="*"&&(A.output+=p,M.output+=p)),ae(he)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));A.output=Wn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing",")"));A.output=Wn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","}"));A.output=Wn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(M.type==="star"||M.type==="bracket")&&ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};Tx.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=qW[r]||r;let s=Wn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=jy.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let T=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+T(t);case"**/*":return`(?:${C}${T(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${T(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${T(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let _=H(W[1]);return _?_+o+W[2]:void 0}}},j=Wn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};JW.exports=Tx});var VW=w((mtt,zW)=>{"use strict";var _Be=J("path"),$Be=jW(),Lx=WW(),Mx=Yd(),e0e=Gd(),t0e=r=>r&&typeof r=="object"&&!Array.isArray(r),Gr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Gr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=t0e(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Mx.isWindows(e),o=i?Gr.compileRe(r,e):Gr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Gr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Gr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Gr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Mx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Gr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Gr.matchBase=(r,e,t,i=Mx.isWindows(t))=>(e instanceof RegExp?e:Gr.makeRe(e,t)).test(_Be.basename(r));Gr.isMatch=(r,e,t)=>Gr(e,t)(r);Gr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Gr.parse(t,e)):Lx(r,{...e,fastpaths:!1});Gr.scan=(r,e)=>$Be(r,e);Gr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Gr.toRegex(a,e);return i===!0&&(l.state=r),l};Gr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Lx.fastpaths(r,e)),n.output||(n=Lx(r,e)),Gr.compileRe(n,e,t,i)};Gr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Gr.constants=e0e;zW.exports=Gr});var Ox=w((Ett,XW)=>{"use strict";XW.exports=VW()});var Bn=w((Itt,e3)=>{"use strict";var _W=J("util"),$W=kW(),Uo=Ox(),Kx=Yd(),ZW=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Uo(r,e);Sr.isMatch=(r,e,t)=>Uo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_W.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(ZW(r)||ZW(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Kx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_W.inspect(r)}"`);return[].concat(e).every(i=>Uo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Kx.isWindows(t),s=Uo.makeRe(String(r),{...t,capture:!0}).exec(i?Kx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Uo.makeRe(...r);Sr.scan=(...r)=>Uo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of $W(String(i),e))t.push(Uo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:$W(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};e3.exports=Sr});var r3=w((ytt,t3)=>{"use strict";t3.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var n3=w((wtt,i3)=>{"use strict";var r0e=r3();i3.exports=r=>typeof r=="string"?r.replace(r0e(),""):r});var m3=w((Ftt,C3)=>{"use strict";C3.exports=(...r)=>[...new Set([].concat(...r))]});var sP=w((Ntt,y3)=>{"use strict";var p0e=J("stream"),E3=p0e.PassThrough,d0e=Array.prototype.slice;y3.exports=C0e;function C0e(){let r=[],e=!1,t=d0e.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=E3(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});function m0e(r){return r.reduce((e,t)=>[].concat(e,t),[])}Zy.flatten=m0e;function E0e(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Zy.splitWhen=E0e});var B3=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});function I0e(r){return r.code==="ENOENT"}oP.isEnoentCodeError=I0e});var b3=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var aP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function y0e(r,e){return new aP(r,e)}AP.createDirentFromStats=y0e});var Q3=w(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var w0e=J("path"),B0e=2,b0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Q0e(r){return r.replace(/\\/g,"/")}yf.unixify=Q0e;function S0e(r,e){return w0e.resolve(r,e)}yf.makeAbsolute=S0e;function v0e(r){return r.replace(b0e,"\\$2")}yf.escape=v0e;function x0e(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(B0e)}return r}yf.removeLeadingDotSegment=x0e});var v3=w((Ktt,S3)=>{S3.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var D3=w((Utt,P3)=>{var P0e=v3(),x3={"{":"}","(":")","[":"]"},D0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=x3[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},k0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var R0e=D3(),F0e=J("path").posix.dirname,N0e=J("os").platform()==="win32",lP="/",T0e=/\\/g,L0e=/[\{\[].*[\}\]]$/,M0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,O0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;k3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&N0e&&e.indexOf(lP)<0&&(e=e.replace(T0e,lP)),L0e.test(e)&&(e+=lP),e+="a";do e=F0e(e);while(R0e(e)||M0e.test(e));return e.replace(O0e,"$1")}});var H3=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var K0e=J("path"),U0e=R3(),F3=Bn(),H0e=Ox(),N3="**",G0e="\\",Y0e=/[*?]|^!/,j0e=/\[.*]/,q0e=/(?:^|[^!*+?@])\(.*\|.*\)/,J0e=/[!*+?@]\(.*\)/,W0e=/{.*(?:,|\.\.).*}/;function T3(r,e={}){return!L3(r,e)}$r.isStaticPattern=T3;function L3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(G0e)||Y0e.test(r)||j0e.test(r)||q0e.test(r)||e.extglob!==!1&&J0e.test(r)||e.braceExpansion!==!1&&W0e.test(r))}$r.isDynamicPattern=L3;function z0e(r){return _y(r)?r.slice(1):r}$r.convertToPositivePattern=z0e;function V0e(r){return"!"+r}$r.convertToNegativePattern=V0e;function _y(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=_y;function M3(r){return!_y(r)}$r.isPositivePattern=M3;function X0e(r){return r.filter(_y)}$r.getNegativePatterns=X0e;function Z0e(r){return r.filter(M3)}$r.getPositivePatterns=Z0e;function _0e(r){return U0e(r,{flipBackslashes:!1})}$r.getBaseDirectory=_0e;function $0e(r){return r.includes(N3)}$r.hasGlobStar=$0e;function O3(r){return r.endsWith("/"+N3)}$r.endsWithSlashGlobStar=O3;function ebe(r){let e=K0e.basename(r);return O3(r)||T3(e)}$r.isAffectDepthOfReadingPattern=ebe;function tbe(r){return r.reduce((e,t)=>e.concat(K3(t)),[])}$r.expandPatternsWithBraceExpansion=tbe;function K3(r){return F3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=K3;function rbe(r,e){let t=H0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=rbe;function U3(r,e){return F3.makeRe(r,e)}$r.makeRe=U3;function ibe(r,e){return r.map(t=>U3(t,e))}$r.convertPatternsToRe=ibe;function nbe(r,e){return e.some(t=>t.test(r))}$r.matchAny=nbe});var Y3=w(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});var sbe=sP();function obe(r){let e=sbe(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>G3(r)),e.once("end",()=>G3(r)),e}cP.merge=obe;function G3(r){r.forEach(e=>e.emit("close"))}});var j3=w($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});function abe(r){return typeof r=="string"}$y.isString=abe;function Abe(r){return r===""}$y.isEmpty=Abe});var Ma=w(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var lbe=w3();La.array=lbe;var cbe=B3();La.errno=cbe;var ube=b3();La.fs=ube;var gbe=Q3();La.path=gbe;var fbe=H3();La.pattern=fbe;var hbe=Y3();La.stream=hbe;var pbe=j3();La.string=pbe});var V3=w(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var bc=Ma();function dbe(r,e){let t=q3(r),i=J3(r,e.ignore),n=t.filter(l=>bc.pattern.isStaticPattern(l,e)),s=t.filter(l=>bc.pattern.isDynamicPattern(l,e)),o=uP(n,i,!1),a=uP(s,i,!0);return o.concat(a)}Oa.generate=dbe;function uP(r,e,t){let i=W3(r);return"."in i?[gP(".",r,e,t)]:z3(i,e,t)}Oa.convertPatternsToTasks=uP;function q3(r){return bc.pattern.getPositivePatterns(r)}Oa.getPositivePatterns=q3;function J3(r,e){return bc.pattern.getNegativePatterns(r).concat(e).map(bc.pattern.convertToPositivePattern)}Oa.getNegativePatternsAsPositive=J3;function W3(r){let e={};return r.reduce((t,i)=>{let n=bc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Oa.groupPatternsByBaseDirectory=W3;function z3(r,e,t){return Object.keys(r).map(i=>gP(i,r[i],e,t))}Oa.convertPatternGroupsToTasks=z3;function gP(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(bc.pattern.convertToNegativePattern))}}Oa.convertPatternGroupToTask=gP});var Z3=w(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.read=void 0;function Cbe(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){X3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){fP(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){X3(t,s);return}fP(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),fP(t,o)})})}ew.read=Cbe;function X3(r,e){r(e)}function fP(r,e){r(null,e)}});var _3=w(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.read=void 0;function mbe(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}tw.read=mbe});var $3=w(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.createFileSystemAdapter=UA.FILE_SYSTEM_ADAPTER=void 0;var rw=J("fs");UA.FILE_SYSTEM_ADAPTER={lstat:rw.lstat,stat:rw.stat,lstatSync:rw.lstatSync,statSync:rw.statSync};function Ebe(r){return r===void 0?UA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},UA.FILE_SYSTEM_ADAPTER),r)}UA.createFileSystemAdapter=Ebe});var e4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var Ibe=$3(),hP=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Ibe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};pP.default=hP});var Qc=w(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.statSync=HA.stat=HA.Settings=void 0;var t4=Z3(),ybe=_3(),dP=e4();HA.Settings=dP.default;function wbe(r,e,t){if(typeof e=="function"){t4.read(r,CP(),e);return}t4.read(r,CP(e),t)}HA.stat=wbe;function Bbe(r,e){let t=CP(e);return ybe.read(r,t)}HA.statSync=Bbe;function CP(r={}){return r instanceof dP.default?r:new dP.default(r)}});var i4=w((_tt,r4)=>{r4.exports=bbe;function bbe(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var mP=w(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var iw=process.versions.node.split(".");if(iw[0]===void 0||iw[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var n4=Number.parseInt(iw[0],10),Qbe=Number.parseInt(iw[1],10),s4=10,Sbe=10,vbe=n4>s4,xbe=n4===s4&&Qbe>=Sbe;nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=vbe||xbe});var o4=w(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.createDirentFromStats=void 0;var EP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function Pbe(r,e){return new EP(r,e)}sw.createDirentFromStats=Pbe});var IP=w(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.fs=void 0;var Dbe=o4();ow.fs=Dbe});var yP=w(aw=>{"use strict";Object.defineProperty(aw,"__esModule",{value:!0});aw.joinPathSegments=void 0;function kbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}aw.joinPathSegments=kbe});var g4=w(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.readdir=GA.readdirWithFileTypes=GA.read=void 0;var Rbe=Qc(),a4=i4(),Fbe=mP(),A4=IP(),l4=yP();function Nbe(r,e,t){if(!e.stats&&Fbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){c4(r,e,t);return}u4(r,e,t)}GA.read=Nbe;function c4(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:l4.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){wP(t,s);return}let o=s.map(a=>Tbe(a,e));a4(o,(a,l)=>{if(a!==null){Aw(t,a);return}wP(t,l)})})}GA.readdirWithFileTypes=c4;function Tbe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=A4.fs.createDirentFromStats(r.name,n),t(null,r)})}}function u4(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(o=>{let a=l4.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{Rbe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:A4.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});a4(s,(o,a)=>{if(o!==null){Aw(t,o);return}wP(t,a)})})}GA.readdir=u4;function Aw(r,e){r(e)}function wP(r,e){r(null,e)}});var C4=w(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.readdir=YA.readdirWithFileTypes=YA.read=void 0;var Lbe=Qc(),Mbe=mP(),f4=IP(),h4=yP();function Obe(r,e){return!e.stats&&Mbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?p4(r,e):d4(r,e)}YA.read=Obe;function p4(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:h4.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=f4.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}YA.readdirWithFileTypes=p4;function d4(r,e){return e.fs.readdirSync(r).map(i=>{let n=h4.joinPathSegments(r,i,e.pathSegmentSeparator),s=Lbe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:f4.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}YA.readdir=d4});var m4=w(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.createFileSystemAdapter=jA.FILE_SYSTEM_ADAPTER=void 0;var wf=J("fs");jA.FILE_SYSTEM_ADAPTER={lstat:wf.lstat,stat:wf.stat,lstatSync:wf.lstatSync,statSync:wf.statSync,readdir:wf.readdir,readdirSync:wf.readdirSync};function Kbe(r){return r===void 0?jA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},jA.FILE_SYSTEM_ADAPTER),r)}jA.createFileSystemAdapter=Kbe});var E4=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var Ube=J("path"),Hbe=Qc(),Gbe=m4(),BP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=Gbe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Ube.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new Hbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};bP.default=BP});var lw=w(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.Settings=qA.scandirSync=qA.scandir=void 0;var I4=g4(),Ybe=C4(),QP=E4();qA.Settings=QP.default;function jbe(r,e,t){if(typeof e=="function"){I4.read(r,SP(),e);return}I4.read(r,SP(e),t)}qA.scandir=jbe;function qbe(r,e){let t=SP(e);return Ybe.read(r,t)}qA.scandirSync=qbe;function SP(r={}){return r instanceof QP.default?r:new QP.default(r)}});var w4=w((Art,y4)=>{"use strict";function Jbe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}y4.exports=Jbe});var b4=w((lrt,vP)=>{"use strict";var Wbe=w4();function B4(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=Wbe(zbe),n=null,s=null,o=0,a=null,l={push:C,drain:Is,saturated:Is,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Is,kill:v,killAndDrain:D,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.joinPathSegments=Yo.replacePathSegmentSeparator=Yo.isAppliedFilter=Yo.isFatalError=void 0;function Xbe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Yo.isFatalError=Xbe;function Zbe(r,e){return r===null||r(e)}Yo.isAppliedFilter=Zbe;function _be(r,e){return r.split(/[/\\]/).join(e)}Yo.replacePathSegmentSeparator=_be;function $be(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Yo.joinPathSegments=$be});var DP=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var eQe=cw(),xP=class{constructor(e,t){this._root=e,this._settings=t,this._root=eQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};PP.default=xP});var FP=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var tQe=J("events"),rQe=lw(),iQe=b4(),uw=cw(),nQe=DP(),kP=class extends nQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=rQe.scandir,this._emitter=new tQe.EventEmitter,this._queue=iQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!uw.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=uw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),uw.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&uw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};RP.default=kP});var Q4=w(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var sQe=FP(),NP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new sQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{oQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{aQe(e,[...this._storage])}),this._reader.read()}};TP.default=NP;function oQe(r,e){r(e)}function aQe(r,e){r(null,e)}});var S4=w(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});var AQe=J("stream"),lQe=FP(),LP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new lQe.default(this._root,this._settings),this._stream=new AQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};MP.default=LP});var v4=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var cQe=lw(),gw=cw(),uQe=DP(),OP=class extends uQe.default{constructor(){super(...arguments),this._scandir=cQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!gw.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=gw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),gw.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&gw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};KP.default=OP});var x4=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var gQe=v4(),UP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new gQe.default(this._root,this._settings)}read(){return this._reader.read()}};HP.default=UP});var P4=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var fQe=J("path"),hQe=lw(),GP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,fQe.sep),this.fsScandirSettings=new hQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};YP.default=GP});var qP=w(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Settings=jo.walkStream=jo.walkSync=jo.walk=void 0;var D4=Q4(),pQe=S4(),dQe=x4(),jP=P4();jo.Settings=jP.default;function CQe(r,e,t){if(typeof e=="function"){new D4.default(r,fw()).read(e);return}new D4.default(r,fw(e)).read(t)}jo.walk=CQe;function mQe(r,e){let t=fw(e);return new dQe.default(r,t).read()}jo.walkSync=mQe;function EQe(r,e){let t=fw(e);return new pQe.default(r,t).read()}jo.walkStream=EQe;function fw(r={}){return r instanceof jP.default?r:new jP.default(r)}});var zP=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var IQe=J("path"),yQe=Qc(),k4=Ma(),JP=class{constructor(e){this._settings=e,this._fsStatSettings=new yQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return IQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:k4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!k4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};WP.default=JP});var ZP=w(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});var wQe=J("stream"),BQe=Qc(),bQe=qP(),QQe=zP(),VP=class extends QQe.default{constructor(){super(...arguments),this._walkStream=bQe.walkStream,this._stat=BQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new wQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};XP.default=VP});var R4=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var Bf=Ma(),_P=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Bf.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return Bf.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Bf.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Bf.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Bf.array.splitWhen(e,t=>t.dynamic&&Bf.pattern.hasGlobStar(t.pattern))}};$P.default=_P});var F4=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var SQe=R4(),eD=class extends SQe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};tD.default=eD});var N4=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var hw=Ma(),vQe=F4(),rD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new vQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(hw.pattern.isAffectDepthOfReadingPattern);return hw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=hw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!hw.pattern.matchAny(e,t)}};iD.default=rD});var T4=w(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var Zd=Ma(),nD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Zd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Zd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Zd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Zd.path.removeLeadingDotSegment(e);return Zd.pattern.matchAny(i,t)}};sD.default=nD});var L4=w(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var xQe=Ma(),oD=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return xQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};aD.default=oD});var O4=w(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var M4=Ma(),AD=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=M4.path.makeAbsolute(this._settings.cwd,t),t=M4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};lD.default=AD});var pw=w(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var PQe=J("path"),DQe=N4(),kQe=T4(),RQe=L4(),FQe=O4(),cD=class{constructor(e){this._settings=e,this.errorFilter=new RQe.default(this._settings),this.entryFilter=new kQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new DQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new FQe.default(this._settings)}_getRootDirectory(e){return PQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};uD.default=cD});var K4=w(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});var NQe=ZP(),TQe=pw(),gD=class extends TQe.default{constructor(){super(...arguments),this._reader=new NQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};fD.default=gD});var U4=w(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});var LQe=J("stream"),MQe=ZP(),OQe=pw(),hD=class extends OQe.default{constructor(){super(...arguments),this._reader=new MQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new LQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};pD.default=hD});var H4=w(CD=>{"use strict";Object.defineProperty(CD,"__esModule",{value:!0});var KQe=Qc(),UQe=qP(),HQe=zP(),dD=class extends HQe.default{constructor(){super(...arguments),this._walkSync=UQe.walkSync,this._statSync=KQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};CD.default=dD});var G4=w(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});var GQe=H4(),YQe=pw(),mD=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};ED.default=mD});var Y4=w(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var bf=J("fs"),jQe=J("os"),qQe=jQe.cpus().length;_d.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:bf.lstat,lstatSync:bf.lstatSync,stat:bf.stat,statSync:bf.statSync,readdir:bf.readdir,readdirSync:bf.readdirSync};var ID=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,qQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},_d.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};_d.default=ID});var dw=w((Frt,q4)=>{"use strict";var j4=V3(),JQe=K4(),WQe=U4(),zQe=G4(),yD=Y4(),Sc=Ma();async function wD(r,e){Qf(r);let t=BD(r,JQe.default,e),i=await Promise.all(t);return Sc.array.flatten(i)}(function(r){function e(o,a){Qf(o);let l=BD(o,zQe.default,a);return Sc.array.flatten(l)}r.sync=e;function t(o,a){Qf(o);let l=BD(o,WQe.default,a);return Sc.stream.merge(l)}r.stream=t;function i(o,a){Qf(o);let l=[].concat(o),c=new yD.default(a);return j4.generate(l,c)}r.generateTasks=i;function n(o,a){Qf(o);let l=new yD.default(a);return Sc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Qf(o),Sc.path.escape(o)}r.escapePath=s})(wD||(wD={}));function BD(r,e,t){let i=[].concat(r),n=new yD.default(t),s=j4.generate(i,n),o=new e(n);return s.map(o.read,o)}function Qf(r){if(![].concat(r).every(i=>Sc.string.isString(i)&&!Sc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}q4.exports=wD});var W4=w(vc=>{"use strict";var{promisify:VQe}=J("util"),J4=J("fs");async function bD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await VQe(J4[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function QD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return J4[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}vc.isFile=bD.bind(null,"stat","isFile");vc.isDirectory=bD.bind(null,"stat","isDirectory");vc.isSymlink=bD.bind(null,"lstat","isSymbolicLink");vc.isFileSync=QD.bind(null,"statSync","isFile");vc.isDirectorySync=QD.bind(null,"statSync","isDirectory");vc.isSymlinkSync=QD.bind(null,"lstatSync","isSymbolicLink")});var _4=w((Trt,SD)=>{"use strict";var xc=J("path"),z4=W4(),V4=r=>r.length>1?`{${r.join(",")}}`:r[0],X4=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return xc.isAbsolute(t)?t:xc.join(e,t)},XQe=(r,e)=>xc.extname(r)?`**/${r}`:`**/${r}.${V4(e)}`,Z4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>xc.posix.join(r,XQe(t,e.extensions))):e.files?e.files.map(t=>xc.posix.join(r,`**/${t}`)):e.extensions?[xc.posix.join(r,`**/*.${V4(e.extensions)}`)]:[xc.posix.join(r,"**")]};SD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await z4.isDirectory(X4(i,e.cwd))?Z4(i,e):i));return[].concat.apply([],t)};SD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>z4.isDirectorySync(X4(i,e.cwd))?Z4(i,e):i);return[].concat.apply([],t)}});var o8=w((Lrt,s8)=>{function $4(r){return Array.isArray(r)?r:[r]}var i8="",e8=" ",vD="\\",ZQe=/^\s+$/,_Qe=/^\\!/,$Qe=/^\\#/,eSe=/\r?\n/g,tSe=/^\.*\/|^\.+$/,xD="/",t8=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",rSe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),iSe=/([0-z])-([0-z])/g,nSe=r=>r.replace(iSe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:i8),sSe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},oSe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?e8:i8],[/\\\s/g,()=>e8],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>vD],[/\\\\/g,()=>vD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===vD?`\\[${t}${sSe(i)}${n}`:n==="]"&&i.length%2===0?`[${nSe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],r8=Object.create(null),aSe=(r,e)=>{let t=r8[r];return t||(t=oSe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),r8[r]=t),e?new RegExp(t,"i"):new RegExp(t)},kD=r=>typeof r=="string",ASe=r=>r&&kD(r)&&!ZQe.test(r)&&r.indexOf("#")!==0,lSe=r=>r.split(eSe),PD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},cSe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(_Qe,"!").replace($Qe,"#");let n=aSe(r,e);return new PD(t,r,i,n)},uSe=(r,e)=>{throw new e(r)},Ka=(r,e,t)=>kD(r)?r?Ka.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),n8=r=>tSe.test(r);Ka.isNotRelative=n8;Ka.convert=r=>r;var DD=class{constructor({ignorecase:e=!0}={}){rSe(this,t8,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[t8]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(ASe(e)){let t=cSe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,$4(kD(e)?lSe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ka.convert(e);return Ka(s,e,uSe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(xD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(xD)+xD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return $4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Cw=r=>new DD(r),gSe=()=>!1,fSe=r=>Ka(r&&Ka.convert(r),r,gSe);Cw.isPathValid=fSe;Cw.default=Cw;s8.exports=Cw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Ka.convert=r;let e=/^[a-z]:\//i;Ka.isNotRelative=t=>e.test(t)||n8(t)}});var A8=w((Mrt,a8)=>{"use strict";a8.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var p8=w((Ort,RD)=>{"use strict";var{promisify:hSe}=J("util"),l8=J("fs"),Ua=J("path"),c8=dw(),pSe=o8(),$d=A8(),u8=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],dSe=hSe(l8.readFile),CSe=r=>e=>e.startsWith("!")?"!"+Ua.posix.join(r,e.slice(1)):Ua.posix.join(r,e),mSe=(r,e)=>{let t=$d(Ua.relative(e.cwd,Ua.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(CSe(t))},g8=r=>{let e=pSe();for(let t of r)e.add(mSe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},ESe=(r,e)=>{if(r=$d(r),Ua.isAbsolute(e)){if($d(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Ua.join(r,e)},f8=(r,e)=>t=>r.ignores($d(Ua.relative(e,ESe(e,t.path||t)))),ISe=async(r,e)=>{let t=Ua.join(e,r),i=await dSe(t,"utf8");return{cwd:e,filePath:t,content:i}},ySe=(r,e)=>{let t=Ua.join(e,r),i=l8.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},h8=({ignore:r=[],cwd:e=$d(process.cwd())}={})=>({ignore:r,cwd:e});RD.exports=async r=>{r=h8(r);let e=await c8("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>ISe(n,r.cwd))),i=g8(t);return f8(i,r.cwd)};RD.exports.sync=r=>{r=h8(r);let t=c8.sync("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}).map(n=>ySe(n,r.cwd)),i=g8(t);return f8(i,r.cwd)}});var C8=w((Krt,d8)=>{"use strict";var{Transform:wSe}=J("stream"),mw=class extends wSe{constructor(){super({objectMode:!0})}},FD=class extends mw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},ND=class extends mw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};d8.exports={FilterStream:FD,UniqueStream:ND}});var OD=w((Urt,Pc)=>{"use strict";var E8=J("fs"),Ew=m3(),BSe=sP(),Iw=dw(),yw=_4(),TD=p8(),{FilterStream:bSe,UniqueStream:QSe}=C8(),I8=()=>!1,m8=r=>r[0]==="!",SSe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},vSe=(r={})=>{if(!r.cwd)return;let e;try{e=E8.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},xSe=r=>r.stats instanceof E8.Stats?r.path:r,ww=(r,e)=>{r=Ew([].concat(r)),SSe(r),vSe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(m8(n))continue;let s=r.slice(i).filter(a=>m8(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},PSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},LD=(r,e)=>r.options.expandDirectories?PSe(r,e):[r.pattern],y8=r=>r&&r.gitignore?TD.sync({cwd:r.cwd,ignore:r.ignore}):I8,MD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=yw.sync(t.ignore)),{pattern:e,options:t}};Pc.exports=async(r,e)=>{let t=ww(r,e),i=async()=>e&&e.gitignore?TD({cwd:e.cwd,ignore:e.ignore}):I8,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await LD(c,yw);return Promise.all(u.map(MD(c)))}));return Ew(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Iw(l.pattern,l.options)));return Ew(...a).filter(l=>!s(xSe(l)))};Pc.exports.sync=(r,e)=>{let t=ww(r,e),i=[];for(let o of t){let a=LD(o,yw.sync).map(MD(o));i.push(...a)}let n=y8(e),s=[];for(let o of i)s=Ew(s,Iw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Pc.exports.stream=(r,e)=>{let t=ww(r,e),i=[];for(let a of t){let l=LD(a,yw.sync).map(MD(a));i.push(...l)}let n=y8(e),s=new bSe(a=>!n(a)),o=new QSe;return BSe(i.map(a=>Iw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Pc.exports.generateGlobTasks=ww;Pc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>Iw.isDynamicPattern(t,e));Pc.exports.gitignore=TD});var vn=w((iit,L8)=>{function GSe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}L8.exports=GSe});var WD=w((nit,M8)=>{var YSe=typeof global=="object"&&global&&global.Object===Object&&global;M8.exports=YSe});var ys=w((sit,O8)=>{var jSe=WD(),qSe=typeof self=="object"&&self&&self.Object===Object&&self,JSe=jSe||qSe||Function("return this")();O8.exports=JSe});var U8=w((oit,K8)=>{var WSe=ys(),zSe=function(){return WSe.Date.now()};K8.exports=zSe});var G8=w((ait,H8)=>{var VSe=/\s/;function XSe(r){for(var e=r.length;e--&&VSe.test(r.charAt(e)););return e}H8.exports=XSe});var j8=w((Ait,Y8)=>{var ZSe=G8(),_Se=/^\s+/;function $Se(r){return r&&r.slice(0,ZSe(r)+1).replace(_Se,"")}Y8.exports=$Se});var Rc=w((lit,q8)=>{var eve=ys(),tve=eve.Symbol;q8.exports=tve});var V8=w((cit,z8)=>{var J8=Rc(),W8=Object.prototype,rve=W8.hasOwnProperty,ive=W8.toString,uC=J8?J8.toStringTag:void 0;function nve(r){var e=rve.call(r,uC),t=r[uC];try{r[uC]=void 0;var i=!0}catch{}var n=ive.call(r);return i&&(e?r[uC]=t:delete r[uC]),n}z8.exports=nve});var Z8=w((uit,X8)=>{var sve=Object.prototype,ove=sve.toString;function ave(r){return ove.call(r)}X8.exports=ave});var Fc=w((git,ez)=>{var _8=Rc(),Ave=V8(),lve=Z8(),cve="[object Null]",uve="[object Undefined]",$8=_8?_8.toStringTag:void 0;function gve(r){return r==null?r===void 0?uve:cve:$8&&$8 in Object(r)?Ave(r):lve(r)}ez.exports=gve});var Wo=w((fit,tz)=>{function fve(r){return r!=null&&typeof r=="object"}tz.exports=fve});var gC=w((hit,rz)=>{var hve=Fc(),pve=Wo(),dve="[object Symbol]";function Cve(r){return typeof r=="symbol"||pve(r)&&hve(r)==dve}rz.exports=Cve});var oz=w((pit,sz)=>{var mve=j8(),iz=vn(),Eve=gC(),nz=0/0,Ive=/^[-+]0x[0-9a-f]+$/i,yve=/^0b[01]+$/i,wve=/^0o[0-7]+$/i,Bve=parseInt;function bve(r){if(typeof r=="number")return r;if(Eve(r))return nz;if(iz(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=iz(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=mve(r);var t=yve.test(r);return t||wve.test(r)?Bve(r.slice(2),t?2:8):Ive.test(r)?nz:+r}sz.exports=bve});var lz=w((dit,Az)=>{var Qve=vn(),zD=U8(),az=oz(),Sve="Expected a function",vve=Math.max,xve=Math.min;function Pve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(Sve);e=az(e)||0,Qve(t)&&(u=!!t.leading,g="maxWait"in t,s=g?vve(az(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?xve(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=zD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(zD())}function H(){var j=zD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=T,H}Az.exports=Pve});var uz=w((Cit,cz)=>{var Dve=lz(),kve=vn(),Rve="Expected a function";function Fve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(Rve);return kve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),Dve(r,e,{leading:i,maxWait:e,trailing:n})}cz.exports=Fve});var Ya=w((Ga,jw)=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var Iz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Jve(r){return Iz.includes(r)}var Wve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Iz];function zve(r){return Wve.includes(r)}var Vve=["null","undefined","string","number","bigint","boolean","symbol"];function Xve(r){return Vve.includes(r)}function Lf(r){return e=>typeof e===r}var{toString:yz}=Object.prototype,CC=r=>{let e=yz.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(zve(e))return e},lr=r=>e=>CC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=CC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Lf("undefined");X.string=Lf("string");var Zve=Lf("number");X.number=r=>Zve(r)&&!X.nan(r);X.bigint=Lf("bigint");X.function_=Lf("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Lf("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var _ve=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||_ve(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>CC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>CC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||Xve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(yz.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>Jve(CC(r));var $ve=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&$ve(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var exe=1,txe=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===exe&&X.string(r.nodeName)&&!X.plainObject(r)&&txe.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var wz=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=wz(0);X.oddInteger=wz(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var rxe=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||rxe(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var Bz=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>Bz(Array.prototype.some,i,e));X.all=(r,...e)=>Bz(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Ga.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(Ga.assert,{class:{value:Ga.assert.class_},function:{value:Ga.assert.function_},null:{value:Ga.assert.null_}});Ga.default=X;jw.exports=X;jw.exports.default=X;jw.exports.assert=Ga.assert});var bz=w((rnt,dk)=>{"use strict";var qw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Mf=class{static fn(e){return(...t)=>new Mf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Mf.prototype,Promise.prototype);dk.exports=Mf;dk.exports.CancelError=qw});var Qz=w((mk,Ek)=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var ixe=J("tls"),Ck=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof ixe.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};mk.default=Ck;Ek.exports=Ck;Ek.exports.default=Ck});var Sz=w((yk,wk)=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var nxe=Qz(),sxe=Number(process.versions.node.split(".")[0]),Ik=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||sxe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),nxe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};yk.default=Ik;wk.exports=Ik;wk.exports.default=Ik});var Fz=w((int,Qk)=>{"use strict";var{V4MAPPED:oxe,ADDRCONFIG:axe,ALL:Rz,promises:{Resolver:vz},lookup:Axe}=J("dns"),{promisify:Bk}=J("util"),lxe=J("os"),Of=Symbol("cacheableLookupCreateConnection"),bk=Symbol("cacheableLookupInstance"),xz=Symbol("expires"),cxe=typeof Rz=="number",Pz=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},uxe=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Dz=()=>{let r=!1,e=!1;for(let t of Object.values(lxe.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},gxe=r=>Symbol.iterator in r,kz={ttl:!0},fxe={all:!0},Jw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new vz,lookup:o=Axe}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Bk(o),this._resolver instanceof vz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Bk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Bk(this._resolver.resolve6.bind(this._resolver))),this._iface=Dz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&oxe&&(cxe&&t.hints&Rz||n.length===0)?uxe(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&axe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,kz),this._resolve6(e,kz)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[xz]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}gxe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,fxe);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[xz];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Of](t,i))}uninstall(e){if(Pz(e),e[Of]){if(e[bk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Of],delete e[Of],delete e[bk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Dz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Qk.exports=Jw;Qk.exports.default=Jw});var Lz=w((nnt,Sk)=>{"use strict";var hxe=typeof URL>"u"?J("url").URL:URL,pxe="text/plain",dxe="us-ascii",Nz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),Cxe=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===dxe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==pxe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Tz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return Cxe(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new hxe(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Nz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Nz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Sk.exports=Tz;Sk.exports.default=Tz});var Kz=w((snt,Oz)=>{Oz.exports=Mz;function Mz(r,e){if(r&&e)return Mz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var Uz=Kz();vk.exports=Uz(Ww);vk.exports.strict=Uz(Hz);Ww.proto=Ww(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ww(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Hz(this)},configurable:!0})});function Ww(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function Hz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Pk=w((ant,Yz)=>{var mxe=xk(),Exe=function(){},Ixe=function(r){return r.setHeader&&typeof r.abort=="function"},yxe=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},Gz=function(r,e,t){if(typeof e=="function")return Gz(r,null,e);e||(e={}),t=mxe(t||Exe);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return Ixe(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),yxe(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};Yz.exports=Gz});var Jz=w((Ant,qz)=>{var wxe=xk(),Bxe=Pk(),Dk=J("fs"),mC=function(){},bxe=/^v?\.0/.test(process.version),zw=function(r){return typeof r=="function"},Qxe=function(r){return!bxe||!Dk?!1:(r instanceof(Dk.ReadStream||mC)||r instanceof(Dk.WriteStream||mC))&&zw(r.close)},Sxe=function(r){return r.setHeader&&zw(r.abort)},vxe=function(r,e,t,i){i=wxe(i);var n=!1;r.on("close",function(){n=!0}),Bxe(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Qxe(r))return r.close(mC);if(Sxe(r))return r.abort();if(zw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},jz=function(r){r()},xxe=function(r,e){return r.pipe(e)},Pxe=function(){var r=Array.prototype.slice.call(arguments),e=zw(r[r.length-1]||mC)&&r.pop()||mC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return vxe(n,o,a,function(l){t||(t=l),l&&i.forEach(jz),!o&&(i.forEach(jz),e(t))})});return r.reduce(xxe)};qz.exports=Pxe});var zz=w((lnt,Wz)=>{"use strict";var{PassThrough:Dxe}=J("stream");Wz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new Dxe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Vz=w((cnt,Kf)=>{"use strict";var kxe=Jz(),Rxe=zz(),Vw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Xw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=kxe(r,Rxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Vw)})}),i.getBufferedValue()}Kf.exports=Xw;Kf.exports.default=Xw;Kf.exports.buffer=(r,e)=>Xw(r,{...e,encoding:"buffer"});Kf.exports.array=(r,e)=>Xw(r,{...e,array:!0});Kf.exports.MaxBufferError=Vw});var Zz=w((gnt,Xz)=>{"use strict";var Fxe=new Set([200,203,204,206,300,301,404,405,410,414,501]),Nxe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Txe=new Set([500,502,503,504]),Lxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Mxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Lc(r){let e=parseInt(r,10);return isFinite(e)?e:0}function Oxe(r){return r?Txe.has(r.status):!0}function kk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Kxe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}Xz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,_fromObject:a}={}){if(a){this._fromObject(a);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=kk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=kk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Kxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers["cache-control"]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Nxe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Fxe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=kk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Lxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){return Lc(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Lc(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Lc(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+Lc(this._rescc["stale-if-error"]),i=e+Lc(this._rescc["stale-while-revalidate"]);return Math.max(0,e,t,i)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Lc(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Lc(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Oxe(t))return{modified:!1,matches:!1,policy:this};if(!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!Mxe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Zw=w((fnt,_z)=>{"use strict";_z.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var e5=w((hnt,$z)=>{"use strict";var Uxe=J("stream").Readable,Hxe=Zw(),Rk=class extends Uxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Hxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};$z.exports=Rk});var r5=w((pnt,t5)=>{"use strict";var Gxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];t5.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(Gxe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var n5=w((dnt,i5)=>{"use strict";var Yxe=J("stream").PassThrough,jxe=r5(),qxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Yxe;return jxe(r,e),r.pipe(e)};i5.exports=qxe});var s5=w(Fk=>{Fk.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Fk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var A5=w((mnt,a5)=>{"use strict";var Jxe=J("events"),o5=s5(),Wxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},Nk=class extends Jxe{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:o5.stringify,deserialize:o5.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Wxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};a5.exports=Nk});var u5=w((Int,c5)=>{"use strict";var zxe=J("events"),_w=J("url"),Vxe=Lz(),Xxe=Vz(),Tk=Zz(),l5=e5(),Zxe=Zw(),_xe=n5(),$xe=A5(),ao=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new $xe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Lk(_w.parse(t)),t={};else if(t instanceof _w.URL)n=Lk(_w.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Lk({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...ePe(n)},t.headers=Zxe(t.headers);let s=new zxe,o=Vxe(_w.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Tk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new l5(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Tk(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=_xe(y),(async()=>{try{let v=Xxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,T,H)}catch(v){s.emit("error",new ao.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new ao.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ao.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Tk.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new l5(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ao.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new ao.CacheError(h))}})(),s}}};function ePe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Lk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}ao.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};ao.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};c5.exports=ao});var f5=w((Bnt,g5)=>{"use strict";var tPe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];g5.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(tPe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var p5=w((bnt,h5)=>{"use strict";var{Transform:rPe,PassThrough:iPe}=J("stream"),Mk=J("zlib"),nPe=f5();h5.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof Mk.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new rPe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new iPe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Mk.createBrotliDecompress():Mk.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),nPe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Kk=w((Qnt,d5)=>{"use strict";var Ok=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};d5.exports=Ok});var Hk=w((Snt,I5)=>{"use strict";var sPe=J("events"),oPe=J("tls"),aPe=J("http2"),APe=Kk(),on=Symbol("currentStreamsCount"),C5=Symbol("request"),Bs=Symbol("cachedOriginSet"),Uf=Symbol("gracefullyClosing"),lPe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],cPe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},uPe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Uk=(r,e)=>{for(let t of r)t[Bs].lengthe[Bs].includes(i))&&t[on]+e[on]<=e.remoteSettings.maxConcurrentStreams&&E5(t)},gPe=(r,e)=>{for(let t of r)e[Bs].lengtht[Bs].includes(i))&&e[on]+t[on]<=t.remoteSettings.maxConcurrentStreams&&E5(e)},m5=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[zo.kCurrentStreamsCount]{r[Uf]=!0,r[on]===0&&r.close()},zo=class extends sPe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new APe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of lPe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=zo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Uf]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=aPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[on]=0,f[Uf]=!1;let h=()=>f[on]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Bs])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Bs]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[Bs]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(cPe(B,f,uPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[on]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[C5]=f.request,f.request=(y,B)=>{if(f[Uf])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[C5](y,B);return f.ref(),++f[on],f[on]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[on],!f.destroyed&&!f.closed&&(gPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[on]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Uf])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),oPe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[on]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return m5({agent:this,isFree:!0})}get busySessions(){return m5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=on;zo.kGracefullyClosing=Uf;I5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((vnt,y5)=>{"use strict";var{Readable:fPe}=J("stream"),Gk=class extends fPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};y5.exports=Gk});var jk=w((xnt,w5)=>{"use strict";w5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var b5=w((Pnt,B5)=>{"use strict";B5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var S5=w((Dnt,Q5)=>{"use strict";Q5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var x5=w((Rnt,v5)=>{"use strict";var Hf=(r,e,t)=>{v5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};Hf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});Hf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);Hf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);Hf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);Hf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);Hf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Vk=w((Fnt,T5)=>{"use strict";var hPe=J("http2"),{Writable:pPe}=J("stream"),{Agent:P5,globalAgent:dPe}=Hk(),CPe=Yk(),mPe=jk(),EPe=b5(),IPe=S5(),{ERR_INVALID_ARG_TYPE:qk,ERR_INVALID_PROTOCOL:yPe,ERR_HTTP_HEADERS_SENT:D5,ERR_INVALID_HTTP_TOKEN:wPe,ERR_HTTP_INVALID_HEADER_VALUE:BPe,ERR_INVALID_CHAR:bPe}=x5(),{HTTP2_HEADER_STATUS:k5,HTTP2_HEADER_METHOD:R5,HTTP2_HEADER_PATH:F5,HTTP2_METHOD_CONNECT:QPe}=hPe.constants,Ui=Symbol("headers"),Jk=Symbol("origin"),Wk=Symbol("session"),N5=Symbol("options"),$w=Symbol("flushedHeaders"),EC=Symbol("jobs"),SPe=/^[\^`\-\w!#$%&*+.|~]+$/,vPe=/[^\t\u0020-\u007E\u0080-\u00FF]/,zk=class extends pPe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=mPe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[Wk]=t.h2session;else if(t.agent===!1)this.agent=new P5({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new P5({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=dPe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new qk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new yPe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ui]=Object.create(null),this[EC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ui])&&(this[Ui].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[N5]=t,s===443?(this[Jk]=`https://${o}`,":authority"in this[Ui]||(this[Ui][":authority"]=o)):(this[Jk]=`https://${o}:${s}`,":authority"in this[Ui]||(this[Ui][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[$w]=!1}get method(){return this[Ui][R5]}set method(e){e&&(this[Ui][R5]=e.toUpperCase())}get path(){return this[Ui][F5]}set path(e){e&&(this[Ui][F5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[EC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[EC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[$w]||this.destroyed)return;this[$w]=!0;let e=this.method===QPe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||EPe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new CPe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[k5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[k5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[EC])o();this.emit("socket",this.socket)};if(this[Wk])try{t(this[Wk].request(this[Ui]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Jk],this[N5],this[Ui]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qk("name","string",e);return this[Ui][e.toLowerCase()]}get headersSent(){return this[$w]}removeHeader(e){if(typeof e!="string")throw new qk("name","string",e);if(this.headersSent)throw new D5("remove");delete this[Ui][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new D5("set");if(typeof e!="string"||!SPe.test(e)&&!IPe(e))throw new wPe("Header name",e);if(typeof t>"u")throw new BPe(t,e);if(vPe.test(t))throw new bPe("header content",e);this[Ui][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[EC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};T5.exports=zk});var M5=w((Nnt,L5)=>{"use strict";var xPe=J("tls");L5.exports=(r={})=>new Promise((e,t)=>{let i=xPe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var K5=w((Tnt,O5)=>{"use strict";var PPe=J("net");O5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),PPe.isIP(e)?"":e}});var G5=w((Lnt,Zk)=>{"use strict";var U5=J("http"),Xk=J("https"),DPe=M5(),kPe=Kk(),RPe=Vk(),FPe=K5(),NPe=jk(),eB=new kPe({maxSize:100}),IC=new Map,H5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},TPe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!eB.has(e)){if(IC.has(e))return(await IC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=DPe(r);IC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(eB.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Xk,l=Xk.Agent.prototype.createConnection;i?i.createConnection===l?H5(i,s,r):s.destroy():a.createConnection===l?H5(a,s,r):s.destroy()}return IC.delete(e),o}catch(s){throw IC.delete(e),s}}return eB.get(e)};Zk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=NPe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||FPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xk.globalAgent:U5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await TPe(e)==="h2"?(n&&(e.agent=n.http2),new RPe(e,t)):U5.request(e,t)};Zk.exports.protocolCache=eB});var j5=w((Mnt,Y5)=>{"use strict";var LPe=J("http2"),MPe=Hk(),_k=Vk(),OPe=Yk(),KPe=G5(),UPe=(r,e,t)=>new _k(r,e,t),HPe=(r,e,t)=>{let i=new _k(r,e,t);return i.end(),i};Y5.exports={...LPe,ClientRequest:_k,IncomingMessage:OPe,...MPe,request:UPe,get:HPe,auto:KPe}});var eR=w($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});var q5=Ya();$k.default=r=>q5.default.nodeStream(r)&&q5.default.function_(r.getBoundary)});var V5=w(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});var W5=J("fs"),z5=J("util"),J5=Ya(),GPe=eR(),YPe=z5.promisify(W5.stat);tR.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(J5.default.string(r))return Buffer.byteLength(r);if(J5.default.buffer(r))return r.length;if(GPe.default(r))return z5.promisify(r.getLength.bind(r))();if(r instanceof W5.ReadStream){let{size:t}=await YPe(r.path);return t===0?void 0:t}}});var iR=w(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});function jPe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}rR.default=jPe});var X5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});nR.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var _5=w(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});yC.TimeoutError=void 0;var qPe=J("net"),JPe=X5(),Z5=Symbol("reentry"),WPe=()=>{},tB=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};yC.TimeoutError=tB;yC.default=(r,e,t)=>{if(Z5 in r)return WPe;r[Z5]=!0;let i=[],{once:n,unhandleAll:s}=JPe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new tB(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:qPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var e6=w(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var $5=Ya();sR.default=r=>{r=r;let e={protocol:r.protocol,hostname:$5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return $5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var t6=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var zPe=J("url"),VPe=["protocol","host","hostname","port","pathname","search"];oR.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new zPe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of VPe)e[s]&&(n[s]=e[s].toString());return n}});var r6=w(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var aR=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};AR.default=aR});var cR=w(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var XPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};lR.default=XPe});var n6=w(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.dnsLookupIpVersionToFamily=Mc.isDnsLookupIpVersion=void 0;var i6={auto:0,ipv4:4,ipv6:6};Mc.isDnsLookupIpVersion=r=>r in i6;Mc.dnsLookupIpVersionToFamily=r=>{if(Mc.isDnsLookupIpVersion(r))return i6[r];throw new Error("Invalid DNS lookup IP version")}});var uR=w(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.isResponseOk=void 0;rB.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var o6=w(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var s6=new Set;gR.default=r=>{s6.has(r)||(s6.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var a6=w(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var mr=Ya(),ZPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};fR.default=ZPe});var A6=w(wC=>{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});wC.retryAfterStatusCodes=void 0;wC.retryAfterStatusCodes=new Set([413,429,503]);var _Pe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};wC.default=_Pe});var QC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var l6=J("util"),c6=J("stream"),$Pe=J("fs"),VA=J("url"),u6=J("http"),hR=J("http"),eDe=J("https"),tDe=Sz(),rDe=Fz(),g6=u5(),iDe=p5(),nDe=j5(),sDe=Zw(),Ee=Ya(),oDe=V5(),f6=eR(),aDe=iR(),h6=_5(),ADe=e6(),p6=t6(),lDe=r6(),cDe=cR(),d6=n6(),uDe=uR(),XA=o6(),gDe=a6(),fDe=A6(),pR,Pi=Symbol("request"),sB=Symbol("response"),Gf=Symbol("responseSize"),Yf=Symbol("downloadedSize"),jf=Symbol("bodySize"),qf=Symbol("uploadedSize"),iB=Symbol("serverResponsesPiped"),C6=Symbol("unproxyEvents"),m6=Symbol("isFromCache"),dR=Symbol("cancelTimeouts"),E6=Symbol("startedReading"),Jf=Symbol("stopReading"),nB=Symbol("triggerRead"),ZA=Symbol("body"),BC=Symbol("jobs"),I6=Symbol("originalResponse"),y6=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var hDe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function pDe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function dDe(r){return Ee.default.object(r)&&!("statusCode"in r)}var CR=new lDe.default,CDe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),mDe=new Set([300,301,302,303,304,307,308]),EDe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of EDe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof gB?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[sB]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` `).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(` `).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` `)}${a.reverse().join(` -`)}`}}};Yt.RequestError=ei;var oB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=oB;var aB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=aB;var AB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=AB;var lB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=lB;var cB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=cB;var bC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=bC;var uB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=uB;var mDe=["socket","connect","continue","information","upgrade","timeout"],gB=class extends A6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Yf]=0,this[qf]=0,this.requestInitialized=!1,this[iB]=new Set,this.redirects=[],this[Jf]=!1,this[nB]=!1,this[BC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ZPe.ReadStream&&await pDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[BC])g();this[BC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new XA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([h6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=iDe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof XA.URLSearchParams)h=new XA.URLSearchParams(t.searchParams);else{fDe(t.searchParams),h=new XA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=f6.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=f6.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new XA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new XA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new uB(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=a6.promisify(h.bind(t.cookieJar)),p=a6.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(CR.has(g)||CR.set(g,new c6((h,p)=>{let C=h[Pi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)pR||(pR=new eDe.default),t.dnsCache=pR;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&ZA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&ZA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&ZA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&ZA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&ZA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&ZA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&ZA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&ZA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),cDe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof A6.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!u6.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(u6.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[_A]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[_A]=new XA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[_A]=e.stringifyJson(e.json));let c=await nDe.default(this[_A],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[jf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[m6]=e,t.decompress&&(e=tDe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:l6.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[d6]=s.isFromCache,this[Gf]=Number(e.headers["content-length"])||void 0,this[sB]=e,e.once("end",()=>{this[Gf]=this[Yf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new bC(a,this))}),e.once("aborted",()=>{this._beforeError(new bC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&dDe.has(n)){if(e.resume(),this[Pi]&&(this[dR](),delete this[Pi],this[p6]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[_A]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new oB(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new XA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!lDe.isResponseOk(s)){this._beforeError(new aB(s));return}e.on("readable",()=>{this[nB]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[iB])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;$Pe.default(e),this[dR]=g6.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof g6.TimeoutError?new cB(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[p6]=sDe.default(e,this,mDe),this[Pi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[_A],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new lB(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,oDe.default(e)),delete t.url;let s,o=CR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=gDe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[_A]!==o.body&&(this[_A]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=rDe.auto:h=f?_Pe.request:l6.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Pi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=h6.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),hDe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof c6.CacheError?new AB(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Jf])return;let{options:t}=this,i=this.retryCount+1;this[Jf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await ADe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:uDe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[E6]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[nB]=!0;let e=this[sB];if(e&&!this[Jf]){e.readableLength&&(this[nB]=!1);let t;for(;(t=e.read())!==null;){this[Yf]+=t.length,this[C6]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[BC].push(n)}_writeRequest(e,t,i){this[Pi].destroyed||(this._progressCallbacks.push(()=>{this[qf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Pi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Pi in this)){e();return}if(this[Pi].destroyed){e();return}this[Pi].end(i=>{i||(this[jf]=this[qf],this.emit("uploadProgress",this.uploadProgress),this[Pi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[BC].push(t)}_destroy(e,t){var i;this[Jf]=!0,clearTimeout(this[E6]),Pi in this&&(this[dR](),!((i=this[sB])===null||i===void 0)&&i.complete||this[Pi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Jf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Pi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[m6])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[Pi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Gf]?e=this[Yf]/this[Gf]:this[Gf]===this[Yf]?e=1:e=0,{percent:e,transferred:this[Yf],total:this[Gf]}}get uploadProgress(){let e;return this[jf]?e=this[qf]/this[jf]:this[jf]===this[qf]?e=1:e=0,{percent:e,transferred:this[qf],total:this[jf]}}get timings(){var e;return(e=this[Pi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[d6]}pipe(e,t){if(this[C6])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hR.ServerResponse&&this[iB].add(e),super.pipe(e,t)}unpipe(e){return e instanceof hR.ServerResponse&&this[iB].delete(e),super.unpipe(e),this}};Yt.default=gB});var SC=w(ao=>{"use strict";var EDe=ao&&ao.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),IDe=ao&&ao.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&EDe(e,r,t)};Object.defineProperty(ao,"__esModule",{value:!0});ao.CancelError=ao.ParseError=void 0;var I6=QC(),mR=class extends I6.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};ao.ParseError=mR;var ER=class extends I6.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};ao.CancelError=ER;IDe(QC(),ao)});var w6=w(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var y6=SC(),yDe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new y6.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new y6.ParseError(s,r)}};IR.default=yDe});var yR=w($A=>{"use strict";var wDe=$A&&$A.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),BDe=$A&&$A.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&wDe(e,r,t)};Object.defineProperty($A,"__esModule",{value:!0});var bDe=J("events"),QDe=Ya(),SDe=wz(),fB=SC(),B6=w6(),b6=QC(),vDe=iR(),xDe=cR(),Q6=uR(),PDe=["request","response","redirect","uploadProgress","downloadProgress"];function S6(r){let e,t,i=new bDe.EventEmitter,n=new SDe((o,a,l)=>{let c=u=>{let g=new b6.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new fB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await xDe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=B6.default(p,D.responseType,D.parseJson,D.encoding)}catch(T){if(p.body=y.toString(),Q6.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=b6.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let W of $.hooks.beforeRetry)await W($);let V=S6($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(T){g._beforeError(new fB.RequestError(T.message,T,g));return}if(!Q6.isResponseOk(p)){g._beforeError(new fB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof fB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&QDe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),vDe.default(g,i,PDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return B6.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}$A.default=S6;BDe(SC(),$A)});var v6=w(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var DDe=SC();function kDe(r,...e){let t=(async()=>{if(r instanceof DDe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}wR.default=kDe});var D6=w(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var x6=Ya();function P6(r){for(let e of Object.values(r))(x6.default.plainObject(e)||x6.default.array(e))&&P6(e);return Object.freeze(r)}BR.default=P6});var R6=w(k6=>{"use strict";Object.defineProperty(k6,"__esModule",{value:!0})});var bR=w(Qs=>{"use strict";var RDe=Qs&&Qs.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),FDe=Qs&&Qs.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&RDe(e,r,t)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.defaultHandler=void 0;var F6=Ya(),bs=yR(),NDe=v6(),pB=QC(),TDe=D6(),LDe={RequestError:bs.RequestError,CacheError:bs.CacheError,ReadError:bs.ReadError,HTTPError:bs.HTTPError,MaxRedirectsError:bs.MaxRedirectsError,TimeoutError:bs.TimeoutError,ParseError:bs.ParseError,CancelError:bs.CancelError,UnsupportedProtocolError:bs.UnsupportedProtocolError,UploadError:bs.UploadError},MDe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:hB}=pB.default,N6=(...r)=>{let e;for(let t of r)e=hB(void 0,t,e);return e},ODe=r=>r.isStream?new pB.default(void 0,r):bs.default(r),KDe=r=>"defaults"in r&&"options"in r.defaults,UDe=["get","post","put","patch","head","delete"];Qs.defaultHandler=(r,e)=>e(r);var T6=(r,e)=>{if(r)for(let t of r)t(e)},L6=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?ODe:c);if(F6.default.plainObject(i)){let u={...i,...n};pB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{T6(r.options.hooks.init,n),T6((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=hB(i,n,s!=null?s:r.options);if(g[pB.kIsNormalizedAlready]=!0,u)throw new bs.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return NDe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)KDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Qs.defaultHandler),s.length===0&&s.push(Qs.defaultHandler),L6({options:N6(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=hB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!F6.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of UDe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,LDe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:TDe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=N6,e};Qs.default=L6;FDe(R6(),Qs)});var CB=w((ja,dB)=>{"use strict";var HDe=ja&&ja.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),M6=ja&&ja.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&HDe(e,r,t)};Object.defineProperty(ja,"__esModule",{value:!0});var GDe=J("url"),O6=bR(),YDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new GDe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[O6.defaultHandler],mutableDefaults:!1},QR=O6.default(YDe);ja.default=QR;dB.exports=QR;dB.exports.default=QR;dB.exports.__esModule=!0;M6(bR(),ja);M6(yR(),ja)});var G6=w(Wf=>{"use strict";var nst=J("net"),jDe=J("tls"),SR=J("http"),K6=J("https"),qDe=J("events"),sst=J("assert"),JDe=J("util");Wf.httpOverHttp=WDe;Wf.httpsOverHttp=zDe;Wf.httpOverHttps=VDe;Wf.httpsOverHttps=XDe;function WDe(r){var e=new qa(r);return e.request=SR.request,e}function zDe(r){var e=new qa(r);return e.request=SR.request,e.createSocket=U6,e.defaultPort=443,e}function VDe(r){var e=new qa(r);return e.request=K6.request,e}function XDe(r){var e=new qa(r);return e.request=K6.request,e.createSocket=U6,e.defaultPort=443,e}function qa(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=H6(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};qa.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=vR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),el("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){el("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){el("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return el("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),el(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};qa.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function U6(r,e){var t=this;qa.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=jDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function H6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e{Y6.exports=G6()});var tV=w((IB,FR)=>{var eV=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=Ca(E);return k?I?k:k.toString():(y||(y=eV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function H(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return he[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,Ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function M(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,L){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var be=(it.length<<2)+1;Et=b(be),oe(it,Et,be)}return Et},array:function(it){var Et=b(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var we=M(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++L;if(L-E>16&&d.subarray&&pe)return pe.decode(d.subarray(E,L));for(var Z="";E>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var L=I,Z=I+k-1,te=0;te=55296&&we<=57343){var me=d.charCodeAt(++te);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=Z)break;E[I++]=we}else if(we<=2047){if(I+1>=Z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=Z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=Z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-L}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function Be(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,he,ie,de,_e,Pt,It;function Mr(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=he=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=_e=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ks=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)fa(t.preRun.shift());yo(hr)}function Ii(){Ks=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ns.init(),yo(fi)}function rs(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)cg(t.postRun.shift());yo(ni)}function fa(d){hr.unshift(d)}function CA(d){fi.unshift(d)}function cg(d){ni.unshift(d)}var is=0,mA=null,ha=null;function wp(d){return d}function EA(d){is++,t.monitorRunDependencies&&t.monitorRunDependencies(is)}function IA(d){if(is--,t.monitorRunDependencies&&t.monitorRunDependencies(is),is==0&&(mA!==null&&(clearInterval(mA),mA=null),ha)){var E=ha;ha=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),Ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var Tl="data:application/octet-stream;base64,";function ug(d){return d.startsWith(Tl)}var Io="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRBAALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBEEAAsgASgCCCgCKCABKAIIKAIcIAEoAggoAiQRBAAgASgCCEEANgIcIAFBfUEAIAEoAgRB8QBGGzYCDAsgASgCDCEAIAFBEGokACAAC+sXAQJ/IwBB8ABrIgMgADYCbCADIAE2AmggAyACNgJkIANBfzYCXCADIAMoAmgvAQI2AlQgA0EANgJQIANBBzYCTCADQQQ2AkggAygCVEUEQCADQYoBNgJMIANBAzYCSAsgA0EANgJgA0AgAygCYCADKAJkSkUEQCADIAMoAlQ2AlggAyADKAJoIAMoAmBBAWpBAnRqLwECNgJUIAMgAygCUEEBaiIANgJQAkACQCADKAJMIABMDQAgAygCWCADKAJURw0ADAELAkAgAygCUCADKAJISARAA0AgAyADKAJsQfwUaiADKAJYQQJ0ai8BAjYCRAJAIAMoAmwoArwtQRAgAygCRGtKBEAgAyADKAJsQfwUaiADKAJYQQJ0ai8BADYCQCADKAJsIgAgAC8BuC0gAygCQEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAJAQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCREEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsQfwUaiADKAJYQQJ0ai8BACADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCRCAAKAK8LWo2ArwtCyADIAMoAlBBAWsiADYCUCAADQALDAELAkAgAygCWARAIAMoAlggAygCXEcEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwECNgI8AkAgAygCbCgCvC1BECADKAI8a0oEQCADIAMoAmxB/BRqIAMoAlhBAnRqLwEANgI4IAMoAmwiACAALwG4LSADKAI4Qf//A3EgAygCbCgCvC10cjsBuC0gAygCbC8BuC1B/wFxIQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbC8BuC1BCHYhASADKAJsKAIIIQIgAygCbCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJsIAMoAjhB//8DcUEQIAMoAmwoArwta3U7AbgtIAMoAmwiACAAKAK8LSADKAI8QRBrajYCvC0MAQsgAygCbCIAIAAvAbgtIAMoAmxB/BRqIAMoAlhBAnRqLwEAIAMoAmwoArwtdHI7AbgtIAMoAmwiACADKAI8IAAoArwtajYCvC0LIAMgAygCUEEBazYCUAsgAyADKAJsLwG+FTYCNAJAIAMoAmwoArwtQRAgAygCNGtKBEAgAyADKAJsLwG8FTYCMCADKAJsIgAgAC8BuC0gAygCMEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIwQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCNEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwG8FSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCNCAAKAK8LWo2ArwtCyADQQI2AiwCQCADKAJsKAK8LUEQIAMoAixrSgRAIAMgAygCUEEDazYCKCADKAJsIgAgAC8BuC0gAygCKEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIoQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCLEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQNrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAiwgACgCvC1qNgK8LQsMAQsCQCADKAJQQQpMBEAgAyADKAJsLwHCFTYCJAJAIAMoAmwoArwtQRAgAygCJGtKBEAgAyADKAJsLwHAFTYCICADKAJsIgAgAC8BuC0gAygCIEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIgQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCJEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwHAFSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCJCAAKAK8LWo2ArwtCyADQQM2AhwCQCADKAJsKAK8LUEQIAMoAhxrSgRAIAMgAygCUEEDazYCGCADKAJsIgAgAC8BuC0gAygCGEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIYQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCHEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQNrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAhwgACgCvC1qNgK8LQsMAQsgAyADKAJsLwHGFTYCFAJAIAMoAmwoArwtQRAgAygCFGtKBEAgAyADKAJsLwHEFTYCECADKAJsIgAgAC8BuC0gAygCEEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIQQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCFEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJsLwHEFSADKAJsKAK8LXRyOwG4LSADKAJsIgAgAygCFCAAKAK8LWo2ArwtCyADQQc2AgwCQCADKAJsKAK8LUEQIAMoAgxrSgRAIAMgAygCUEELazYCCCADKAJsIgAgAC8BuC0gAygCCEH//wNxIAMoAmwoArwtdHI7AbgtIAMoAmwvAbgtQf8BcSEBIAMoAmwoAgghAiADKAJsIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAmwvAbgtQQh2IQEgAygCbCgCCCECIAMoAmwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCbCADKAIIQf//A3FBECADKAJsKAK8LWt1OwG4LSADKAJsIgAgACgCvC0gAygCDEEQa2o2ArwtDAELIAMoAmwiACAALwG4LSADKAJQQQtrQf//A3EgAygCbCgCvC10cjsBuC0gAygCbCIAIAMoAgwgACgCvC1qNgK8LQsLCwsgA0EANgJQIAMgAygCWDYCXAJAIAMoAlRFBEAgA0GKATYCTCADQQM2AkgMAQsCQCADKAJYIAMoAlRGBEAgA0EGNgJMIANBAzYCSAwBCyADQQc2AkwgA0EENgJICwsLIAMgAygCYEEBajYCYAwBCwsLkQQBAX8jAEEwayIDIAA2AiwgAyABNgIoIAMgAjYCJCADQX82AhwgAyADKAIoLwECNgIUIANBADYCECADQQc2AgwgA0EENgIIIAMoAhRFBEAgA0GKATYCDCADQQM2AggLIAMoAiggAygCJEEBakECdGpB//8DOwECIANBADYCIANAIAMoAiAgAygCJEpFBEAgAyADKAIUNgIYIAMgAygCKCADKAIgQQFqQQJ0ai8BAjYCFCADIAMoAhBBAWoiADYCEAJAAkAgAygCDCAATA0AIAMoAhggAygCFEcNAAwBCwJAIAMoAhAgAygCCEgEQCADKAIsQfwUaiADKAIYQQJ0aiIAIAMoAhAgAC8BAGo7AQAMAQsCQCADKAIYBEAgAygCGCADKAIcRwRAIAMoAiwgAygCGEECdGpB/BRqIgAgAC8BAEEBajsBAAsgAygCLCIAIABBvBVqLwEAQQFqOwG8FQwBCwJAIAMoAhBBCkwEQCADKAIsIgAgAEHAFWovAQBBAWo7AcAVDAELIAMoAiwiACAAQcQVai8BAEEBajsBxBULCwsgA0EANgIQIAMgAygCGDYCHAJAIAMoAhRFBEAgA0GKATYCDCADQQM2AggMAQsCQCADKAIYIAMoAhRGBEAgA0EGNgIMIANBAzYCCAwBCyADQQc2AgwgA0EENgIICwsLIAMgAygCIEEBajYCIAwBCwsLpxIBAn8jAEHQAGsiAyAANgJMIAMgATYCSCADIAI2AkQgA0EANgI4IAMoAkwoAqAtBEADQCADIAMoAkwoAqQtIAMoAjhBAXRqLwEANgJAIAMoAkwoApgtIQAgAyADKAI4IgFBAWo2AjggAyAAIAFqLQAANgI8AkAgAygCQEUEQCADIAMoAkggAygCPEECdGovAQI2AiwCQCADKAJMKAK8LUEQIAMoAixrSgRAIAMgAygCSCADKAI8QQJ0ai8BADYCKCADKAJMIgAgAC8BuC0gAygCKEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIoQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCLEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJIIAMoAjxBAnRqLwEAIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIsIAAoArwtajYCvC0LDAELIAMgAygCPC0A0F02AjQgAyADKAJIIAMoAjRBgQJqQQJ0ai8BAjYCJAJAIAMoAkwoArwtQRAgAygCJGtKBEAgAyADKAJIIAMoAjRBgQJqQQJ0ai8BADYCICADKAJMIgAgAC8BuC0gAygCIEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIgQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCJEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJIIAMoAjRBgQJqQQJ0ai8BACADKAJMKAK8LXRyOwG4LSADKAJMIgAgAygCJCAAKAK8LWo2ArwtCyADIAMoAjRBAnRBkOoAaigCADYCMCADKAIwBEAgAyADKAI8IAMoAjRBAnRBgO0AaigCAGs2AjwgAyADKAIwNgIcAkAgAygCTCgCvC1BECADKAIca0oEQCADIAMoAjw2AhggAygCTCIAIAAvAbgtIAMoAhhB//8DcSADKAJMKAK8LXRyOwG4LSADKAJMLwG4LUH/AXEhASADKAJMKAIIIQIgAygCTCIEKAIUIQAgBCAAQQFqNgIUIAAgAmogAToAACADKAJMLwG4LUEIdiEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwgAygCGEH//wNxQRAgAygCTCgCvC1rdTsBuC0gAygCTCIAIAAoArwtIAMoAhxBEGtqNgK8LQwBCyADKAJMIgAgAC8BuC0gAygCPEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIcIAAoArwtajYCvC0LCyADIAMoAkBBAWs2AkAgAwJ/IAMoAkBBgAJJBEAgAygCQC0A0FkMAQsgAygCQEEHdkGAAmotANBZCzYCNCADIAMoAkQgAygCNEECdGovAQI2AhQCQCADKAJMKAK8LUEQIAMoAhRrSgRAIAMgAygCRCADKAI0QQJ0ai8BADYCECADKAJMIgAgAC8BuC0gAygCEEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIQQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCFEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJEIAMoAjRBAnRqLwEAIAMoAkwoArwtdHI7AbgtIAMoAkwiACADKAIUIAAoArwtajYCvC0LIAMgAygCNEECdEGQ6wBqKAIANgIwIAMoAjAEQCADIAMoAkAgAygCNEECdEGA7gBqKAIAazYCQCADIAMoAjA2AgwCQCADKAJMKAK8LUEQIAMoAgxrSgRAIAMgAygCQDYCCCADKAJMIgAgAC8BuC0gAygCCEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIIQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCDEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJAQf//A3EgAygCTCgCvC10cjsBuC0gAygCTCIAIAMoAgwgACgCvC1qNgK8LQsLCyADKAI4IAMoAkwoAqAtSQ0ACwsgAyADKAJILwGCCDYCBAJAIAMoAkwoArwtQRAgAygCBGtKBEAgAyADKAJILwGACDYCACADKAJMIgAgAC8BuC0gAygCAEH//wNxIAMoAkwoArwtdHI7AbgtIAMoAkwvAbgtQf8BcSEBIAMoAkwoAgghAiADKAJMIgQoAhQhACAEIABBAWo2AhQgACACaiABOgAAIAMoAkwvAbgtQQh2IQEgAygCTCgCCCECIAMoAkwiBCgCFCEAIAQgAEEBajYCFCAAIAJqIAE6AAAgAygCTCADKAIAQf//A3FBECADKAJMKAK8LWt1OwG4LSADKAJMIgAgACgCvC0gAygCBEEQa2o2ArwtDAELIAMoAkwiACAALwG4LSADKAJILwGACCADKAJMKAK8LXRyOwG4LSADKAJMIgAgAygCBCAAKAK8LWo2ArwtCwuXAgEEfyMAQRBrIgEgADYCDAJAIAEoAgwoArwtQRBGBEAgASgCDC8BuC1B/wFxIQIgASgCDCgCCCEDIAEoAgwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCDC8BuC1BCHYhAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAACABKAIMQQA7AbgtIAEoAgxBADYCvC0MAQsgASgCDCgCvC1BCE4EQCABKAIMLwG4LSECIAEoAgwoAgghAyABKAIMIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAgwiACAALwG4LUEIdjsBuC0gASgCDCIAIAAoArwtQQhrNgK8LQsLC+8BAQR/IwBBEGsiASAANgIMAkAgASgCDCgCvC1BCEoEQCABKAIMLwG4LUH/AXEhAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAACABKAIMLwG4LUEIdiECIAEoAgwoAgghAyABKAIMIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAADAELIAEoAgwoArwtQQBKBEAgASgCDC8BuC0hAiABKAIMKAIIIQMgASgCDCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAjoAAAsLIAEoAgxBADsBuC0gASgCDEEANgK8LQv8AQEBfyMAQRBrIgEgADYCDCABQQA2AggDQCABKAIIQZ4CTkUEQCABKAIMQZQBaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgAUEANgIIA0AgASgCCEEeTkUEQCABKAIMQYgTaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgAUEANgIIA0AgASgCCEETTkUEQCABKAIMQfwUaiABKAIIQQJ0akEAOwEAIAEgASgCCEEBajYCCAwBCwsgASgCDEEBOwGUCSABKAIMQQA2AqwtIAEoAgxBADYCqC0gASgCDEEANgKwLSABKAIMQQA2AqAtCyIBAX8jAEEQayIBJAAgASAANgIMIAEoAgwQFSABQRBqJAAL6QEBAX8jAEEwayICIAA2AiQgAiABNwMYIAJCADcDECACIAIoAiQpAwhCAX03AwgCQANAIAIpAxAgAikDCFQEQCACIAIpAxAgAikDCCACKQMQfUIBiHw3AwACQCACKAIkKAIEIAIpAwCnQQN0aikDACACKQMYVgRAIAIgAikDAEIBfTcDCAwBCwJAIAIpAwAgAigCJCkDCFIEQCACKAIkKAIEIAIpAwBCAXynQQN0aikDACACKQMYWA0BCyACIAIpAwA3AygMBAsgAiACKQMAQgF8NwMQCwwBCwsgAiACKQMQNwMoCyACKQMoC6cBAQF/IwBBMGsiBCQAIAQgADYCKCAEIAE2AiQgBCACNwMYIAQgAzYCFCAEIAQoAigpAzggBCgCKCkDMCAEKAIkIAQpAxggBCgCFBCIATcDCAJAIAQpAwhCAFMEQCAEQX82AiwMAQsgBCgCKCAEKQMINwM4IAQoAiggBCgCKCkDOBDAASECIAQoAiggAjcDQCAEQQA2AiwLIAQoAiwhACAEQTBqJAAgAAvrAQEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIAMgAjYCDAJAIAMpAxAgAygCGCkDEFQEQCADQQE6AB8MAQsgAyADKAIYKAIAIAMpAxBCBIanEE4iADYCCCAARQRAIAMoAgxBDkEAEBQgA0EAOgAfDAELIAMoAhggAygCCDYCACADIAMoAhgoAgQgAykDEEIBfEIDhqcQTiIANgIEIABFBEAgAygCDEEOQQAQFCADQQA6AB8MAQsgAygCGCADKAIENgIEIAMoAhggAykDEDcDECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAvOAgEBfyMAQTBrIgQkACAEIAA2AiggBCABNwMgIAQgAjYCHCAEIAM2AhgCQAJAIAQoAigNACAEKQMgUA0AIAQoAhhBEkEAEBQgBEEANgIsDAELIAQgBCgCKCAEKQMgIAQoAhwgBCgCGBBMIgA2AgwgAEUEQCAEQQA2AiwMAQsgBEEYEBgiADYCFCAARQRAIAQoAhhBDkEAEBQgBCgCDBAyIARBADYCLAwBCyAEKAIUIAQoAgw2AhAgBCgCFEEANgIUQQAQASEAIAQoAhQgADYCDCMAQRBrIgAgBCgCFDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCAEQQIgBCgCFCAEKAIYEIMBIgA2AhAgAEUEQCAEKAIUKAIQEDIgBCgCFBAVIARBADYCLAwBCyAEIAQoAhA2AiwLIAQoAiwhACAEQTBqJAAgAAupAQEBfyMAQTBrIgQkACAEIAA2AiggBCABNwMgIAQgAjYCHCAEIAM2AhgCQCAEKAIoRQRAIAQpAyBCAFIEQCAEKAIYQRJBABAUIARBADYCLAwCCyAEQQBCACAEKAIcIAQoAhgQwwE2AiwMAQsgBCAEKAIoNgIIIAQgBCkDIDcDECAEIARBCGpCASAEKAIcIAQoAhgQwwE2AiwLIAQoAiwhACAEQTBqJAAgAAtGAQF/IwBBIGsiAyQAIAMgADYCHCADIAE3AxAgAyACNgIMIAMoAhwgAykDECADKAIMIAMoAhxBCGoQTSEAIANBIGokACAAC4sMAQZ/IAAgAWohBQJAAkAgACgCBCICQQFxDQAgAkEDcUUNASAAKAIAIgIgAWohAQJAIAAgAmsiAEH4mwEoAgBHBEAgAkH/AU0EQCAAKAIIIgQgAkEDdiICQQN0QYycAWpGGiAAKAIMIgMgBEcNAkHkmwFB5JsBKAIAQX4gAndxNgIADAMLIAAoAhghBgJAIAAgACgCDCIDRwRAIAAoAggiAkH0mwEoAgBJGiACIAM2AgwgAyACNgIIDAELAkAgAEEUaiICKAIAIgQNACAAQRBqIgIoAgAiBA0AQQAhAwwBCwNAIAIhByAEIgNBFGoiAigCACIEDQAgA0EQaiECIAMoAhAiBA0ACyAHQQA2AgALIAZFDQICQCAAIAAoAhwiBEECdEGUngFqIgIoAgBGBEAgAiADNgIAIAMNAUHomwFB6JsBKAIAQX4gBHdxNgIADAQLIAZBEEEUIAYoAhAgAEYbaiADNgIAIANFDQMLIAMgBjYCGCAAKAIQIgIEQCADIAI2AhAgAiADNgIYCyAAKAIUIgJFDQIgAyACNgIUIAIgAzYCGAwCCyAFKAIEIgJBA3FBA0cNAUHsmwEgATYCACAFIAJBfnE2AgQgACABQQFyNgIEIAUgATYCAA8LIAQgAzYCDCADIAQ2AggLAkAgBSgCBCICQQJxRQRAIAVB/JsBKAIARgRAQfybASAANgIAQfCbAUHwmwEoAgAgAWoiATYCACAAIAFBAXI2AgQgAEH4mwEoAgBHDQNB7JsBQQA2AgBB+JsBQQA2AgAPCyAFQfibASgCAEYEQEH4mwEgADYCAEHsmwFB7JsBKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAA8LIAJBeHEgAWohAQJAIAJB/wFNBEAgBSgCCCIEIAJBA3YiAkEDdEGMnAFqRhogBCAFKAIMIgNGBEBB5JsBQeSbASgCAEF+IAJ3cTYCAAwCCyAEIAM2AgwgAyAENgIIDAELIAUoAhghBgJAIAUgBSgCDCIDRwRAIAUoAggiAkH0mwEoAgBJGiACIAM2AgwgAyACNgIIDAELAkAgBUEUaiIEKAIAIgINACAFQRBqIgQoAgAiAg0AQQAhAwwBCwNAIAQhByACIgNBFGoiBCgCACICDQAgA0EQaiEEIAMoAhAiAg0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiBEECdEGUngFqIgIoAgBGBEAgAiADNgIAIAMNAUHomwFB6JsBKAIAQX4gBHdxNgIADAILIAZBEEEUIAYoAhAgBUYbaiADNgIAIANFDQELIAMgBjYCGCAFKAIQIgIEQCADIAI2AhAgAiADNgIYCyAFKAIUIgJFDQAgAyACNgIUIAIgAzYCGAsgACABQQFyNgIEIAAgAWogATYCACAAQfibASgCAEcNAUHsmwEgATYCAA8LIAUgAkF+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACyABQf8BTQRAIAFBA3YiAkEDdEGMnAFqIQECf0HkmwEoAgAiA0EBIAJ0IgJxRQRAQeSbASACIANyNgIAIAEMAQsgASgCCAshAiABIAA2AgggAiAANgIMIAAgATYCDCAAIAI2AggPC0EfIQIgAEIANwIQIAFB////B00EQCABQQh2IgIgAkGA/j9qQRB2QQhxIgR0IgIgAkGA4B9qQRB2QQRxIgN0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAMgBHIgAnJrIgJBAXQgASACQRVqdkEBcXJBHGohAgsgACACNgIcIAJBAnRBlJ4BaiEHAkACQEHomwEoAgAiBEEBIAJ0IgNxRQRAQeibASADIARyNgIAIAcgADYCACAAIAc2AhgMAQsgAUEAQRkgAkEBdmsgAkEfRht0IQIgBygCACEDA0AgAyIEKAIEQXhxIAFGDQIgAkEddiEDIAJBAXQhAiAEIANBBHFqIgdBEGooAgAiAw0ACyAHIAA2AhAgACAENgIYCyAAIAA2AgwgACAANgIIDwsgBCgCCCIBIAA2AgwgBCAANgIIIABBADYCGCAAIAQ2AgwgACABNgIICwsGAEG0mwELtQkBAX8jAEHgwABrIgUkACAFIAA2AtRAIAUgATYC0EAgBSACNgLMQCAFIAM3A8BAIAUgBDYCvEAgBSAFKALQQDYCuEACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCvEAOEQMEAAYBAgUJCgoKCgoKCAoHCgsgBUIANwPYQAwKCyAFIAUoArhAQeQAaiAFKALMQCAFKQPAQBBDNwPYQAwJCyAFKAK4QBAVIAVCADcD2EAMCAsgBSgCuEAoAhAEQCAFIAUoArhAKAIQIAUoArhAKQMYIAUoArhAQeQAahBgIgM3A5hAIANQBEAgBUJ/NwPYQAwJCyAFKAK4QCkDCCAFKAK4QCkDCCAFKQOYQHxWBEAgBSgCuEBB5ABqQRVBABAUIAVCfzcD2EAMCQsgBSgCuEAiACAFKQOYQCAAKQMAfDcDACAFKAK4QCIAIAUpA5hAIAApAwh8NwMIIAUoArhAQQA2AhALIAUoArhALQB4QQFxRQRAIAVCADcDqEADQCAFKQOoQCAFKAK4QCkDAFQEQCAFIAUoArhAKQMAIAUpA6hAfUKAwABWBH5CgMAABSAFKAK4QCkDACAFKQOoQH0LNwOgQCAFIAUoAtRAIAVBEGogBSkDoEAQKyIDNwOwQCADQgBTBEAgBSgCuEBB5ABqIAUoAtRAEBcgBUJ/NwPYQAwLCyAFKQOwQFAEQCAFKAK4QEHkAGpBEUEAEBQgBUJ/NwPYQAwLBSAFIAUpA7BAIAUpA6hAfDcDqEAMAgsACwsLIAUoArhAIAUoArhAKQMANwMgIAVCADcD2EAMBwsgBSkDwEAgBSgCuEApAwggBSgCuEApAyB9VgRAIAUgBSgCuEApAwggBSgCuEApAyB9NwPAQAsgBSkDwEBQBEAgBUIANwPYQAwHCyAFKAK4QC0AeEEBcQRAIAUoAtRAIAUoArhAKQMgQQAQJ0EASARAIAUoArhAQeQAaiAFKALUQBAXIAVCfzcD2EAMCAsLIAUgBSgC1EAgBSgCzEAgBSkDwEAQKyIDNwOwQCADQgBTBEAgBSgCuEBB5ABqQRFBABAUIAVCfzcD2EAMBwsgBSgCuEAiACAFKQOwQCAAKQMgfDcDICAFKQOwQFAEQCAFKAK4QCkDICAFKAK4QCkDCFQEQCAFKAK4QEHkAGpBEUEAEBQgBUJ/NwPYQAwICwsgBSAFKQOwQDcD2EAMBgsgBSAFKAK4QCkDICAFKAK4QCkDAH0gBSgCuEApAwggBSgCuEApAwB9IAUoAsxAIAUpA8BAIAUoArhAQeQAahCIATcDCCAFKQMIQgBTBEAgBUJ/NwPYQAwGCyAFKAK4QCAFKQMIIAUoArhAKQMAfDcDICAFQgA3A9hADAULIAUgBSgCzEA2AgQgBSgCBCAFKAK4QEEoaiAFKAK4QEHkAGoQhAFBAEgEQCAFQn83A9hADAULIAVCADcD2EAMBAsgBSAFKAK4QCwAYKw3A9hADAMLIAUgBSgCuEApA3A3A9hADAILIAUgBSgCuEApAyAgBSgCuEApAwB9NwPYQAwBCyAFKAK4QEHkAGpBHEEAEBQgBUJ/NwPYQAsgBSkD2EAhAyAFQeDAAGokACADCwgAQQFBDBB/CyIBAX8jAEEQayIBIAA2AgwgASgCDCIAIAAoAjBBAWo2AjALBwAgACgCLAsHACAAKAIoCxgBAX8jAEEQayIBIAA2AgwgASgCDEEMagsHACAAKAIYCwcAIAAoAhALBwAgACgCCAtFAEGgmwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgELFAAgACABrSACrUIghoQgAyAEEH4LEwEBfiAAEEkiAUIgiKcQACABpwsVACAAIAGtIAKtQiCGhCADIAQQxAELFAAgACABIAKtIAOtQiCGhCAEEH0LrQQBAX8jAEEgayIFJAAgBSAANgIYIAUgAa0gAq1CIIaENwMQIAUgAzYCDCAFIAQ2AggCQAJAIAUpAxAgBSgCGCkDMFQEQCAFKAIIQQlNDQELIAUoAhhBCGpBEkEAEBQgBUF/NgIcDAELIAUoAhgoAhhBAnEEQCAFKAIYQQhqQRlBABAUIAVBfzYCHAwBCwJ/IAUoAgwhASMAQRBrIgAkACAAIAE2AgggAEEBOgAHAkAgACgCCEUEQCAAQQE6AA8MAQsgACAAKAIIIAAtAAdBAXEQswFBAEc6AA8LIAAtAA9BAXEhASAAQRBqJAAgAUULBEAgBSgCGEEIakEQQQAQFCAFQX82AhwMAQsgBSAFKAIYKAJAIAUpAxCnQQR0ajYCBCAFIAUoAgQoAgAEfyAFKAIEKAIAKAIQBUF/CzYCAAJAIAUoAgwgBSgCAEYEQCAFKAIEKAIEBEAgBSgCBCgCBCIAIAAoAgBBfnE2AgAgBSgCBCgCBEEAOwFQIAUoAgQoAgQoAgBFBEAgBSgCBCgCBBA3IAUoAgRBADYCBAsLDAELIAUoAgQoAgRFBEAgBSgCBCgCABBAIQAgBSgCBCAANgIEIABFBEAgBSgCGEEIakEOQQAQFCAFQX82AhwMAwsLIAUoAgQoAgQgBSgCDDYCECAFKAIEKAIEIAUoAgg7AVAgBSgCBCgCBCIAIAAoAgBBAXI2AgALIAVBADYCHAsgBSgCHCEAIAVBIGokACAACxcBAX4gACABIAIQciIDQiCIpxAAIAOnCx8BAX4gACABIAKtIAOtQiCGhBArIgRCIIinEAAgBKcLrgECAX8BfgJ/IwBBIGsiAiAANgIUIAIgATYCEAJAIAIoAhRFBEAgAkJ/NwMYDAELIAIoAhBBCHEEQCACIAIoAhQpAzA3AwgDQCACKQMIQgBSBH8gAigCFCgCQCACKQMIQgF9p0EEdGooAgAFQQELRQRAIAIgAikDCEIBfTcDCAwBCwsgAiACKQMINwMYDAELIAIgAigCFCkDMDcDGAsgAikDGCIDQiCIpwsQACADpwsTACAAIAGtIAKtQiCGhCADEMUBC4gCAgF/AX4CfyMAQSBrIgQkACAEIAA2AhQgBCABNgIQIAQgAq0gA61CIIaENwMIAkAgBCgCFEUEQCAEQn83AxgMAQsgBCgCFCgCBARAIARCfzcDGAwBCyAEKQMIQv///////////wBWBEAgBCgCFEEEakESQQAQFCAEQn83AxgMAQsCQCAEKAIULQAQQQFxRQRAIAQpAwhQRQ0BCyAEQgA3AxgMAQsgBCAEKAIUKAIUIAQoAhAgBCkDCBArIgU3AwAgBUIAUwRAIAQoAhRBBGogBCgCFCgCFBAXIARCfzcDGAwBCyAEIAQpAwA3AxgLIAQpAxghBSAEQSBqJAAgBUIgiKcLEAAgBacLTwEBfyMAQSBrIgQkACAEIAA2AhwgBCABrSACrUIghoQ3AxAgBCADNgIMIAQoAhwgBCkDECAEKAIMIAQoAhwoAhwQrQEhACAEQSBqJAAgAAvZAwEBfyMAQSBrIgUkACAFIAA2AhggBSABrSACrUIghoQ3AxAgBSADNgIMIAUgBDYCCAJAIAUoAhggBSkDEEEAQQAQP0UEQCAFQX82AhwMAQsgBSgCGCgCGEECcQRAIAUoAhhBCGpBGUEAEBQgBUF/NgIcDAELIAUoAhgoAkAgBSkDEKdBBHRqKAIIBEAgBSgCGCgCQCAFKQMQp0EEdGooAgggBSgCDBBnQQBIBEAgBSgCGEEIakEPQQAQFCAFQX82AhwMAgsgBUEANgIcDAELIAUgBSgCGCgCQCAFKQMQp0EEdGo2AgQgBSAFKAIEKAIABH8gBSgCDCAFKAIEKAIAKAIURwVBAQtBAXE2AgACQCAFKAIABEAgBSgCBCgCBEUEQCAFKAIEKAIAEEAhACAFKAIEIAA2AgQgAEUEQCAFKAIYQQhqQQ5BABAUIAVBfzYCHAwECwsgBSgCBCgCBCAFKAIMNgIUIAUoAgQoAgQiACAAKAIAQSByNgIADAELIAUoAgQoAgQEQCAFKAIEKAIEIgAgACgCAEFfcTYCACAFKAIEKAIEKAIARQRAIAUoAgQoAgQQNyAFKAIEQQA2AgQLCwsgBUEANgIcCyAFKAIcIQAgBUEgaiQAIAALFwAgACABrSACrUIghoQgAyAEIAUQmQELEgAgACABrSACrUIghoQgAxAnC48BAgF/AX4CfyMAQSBrIgQkACAEIAA2AhQgBCABNgIQIAQgAjYCDCAEIAM2AggCQAJAIAQoAhAEQCAEKAIMDQELIAQoAhRBCGpBEkEAEBQgBEJ/NwMYDAELIAQgBCgCFCAEKAIQIAQoAgwgBCgCCBCaATcDGAsgBCkDGCEFIARBIGokACAFQiCIpwsQACAFpwuFBQIBfwF+An8jAEEwayIDJAAgAyAANgIkIAMgATYCICADIAI2AhwCQCADKAIkKAIYQQJxBEAgAygCJEEIakEZQQAQFCADQn83AygMAQsgAygCIEUEQCADKAIkQQhqQRJBABAUIANCfzcDKAwBCyADQQA2AgwgAyADKAIgEC42AhggAygCICADKAIYQQFraiwAAEEvRwRAIAMgAygCGEECahAYIgA2AgwgAEUEQCADKAIkQQhqQQ5BABAUIANCfzcDKAwCCwJAAkAgAygCDCIBIAMoAiAiAHNBA3ENACAAQQNxBEADQCABIAAtAAAiAjoAACACRQ0DIAFBAWohASAAQQFqIgBBA3ENAAsLIAAoAgAiAkF/cyACQYGChAhrcUGAgYKEeHENAANAIAEgAjYCACAAKAIEIQIgAUEEaiEBIABBBGohACACQYGChAhrIAJBf3NxQYCBgoR4cUUNAAsLIAEgAC0AACICOgAAIAJFDQADQCABIAAtAAEiAjoAASABQQFqIQEgAEEBaiEAIAINAAsLIAMoAgwgAygCGGpBLzoAACADKAIMIAMoAhhBAWpqQQA6AAALIAMgAygCJEEAQgBBABB9IgA2AgggAEUEQCADKAIMEBUgA0J/NwMoDAELIAMgAygCJAJ/IAMoAgwEQCADKAIMDAELIAMoAiALIAMoAgggAygCHBCaATcDECADKAIMEBUCQCADKQMQQgBTBEAgAygCCBAbDAELIAMoAiQgAykDEEEAQQNBgID8jwQQmQFBAEgEQCADKAIkIAMpAxAQmAEaIANCfzcDKAwCCwsgAyADKQMQNwMoCyADKQMoIQQgA0EwaiQAIARCIIinCxAAIASnCxEAIAAgAa0gAq1CIIaEEJgBCxcAIAAgAa0gAq1CIIaEIAMgBCAFEIoBC38CAX8BfiMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIAMoAhggAygCFCADKAIQEHIiBDcDCAJAIARCAFMEQCADQQA2AhwMAQsgAyADKAIYIAMpAwggAygCECADKAIYKAIcEK0BNgIcCyADKAIcIQAgA0EgaiQAIAALEAAjACAAa0FwcSIAJAAgAAsGACAAJAALBAAjAAuCAQIBfwF+IwBBIGsiBCQAIAQgADYCGCAEIAE2AhQgBCACNgIQIAQgAzYCDCAEIAQoAhggBCgCFCAEKAIQEHIiBTcDAAJAIAVCAFMEQCAEQX82AhwMAQsgBCAEKAIYIAQpAwAgBCgCECAEKAIMEH42AhwLIAQoAhwhACAEQSBqJAAgAAvQRQMGfwF+AnwjAEHgAGsiASQAIAEgADYCWAJAIAEoAlhFBEAgAUF/NgJcDAELIwBBIGsiACABKAJYNgIcIAAgAUFAazYCGCAAQQA2AhQgAEIANwMAAkAgACgCHC0AKEEBcUUEQCAAKAIcKAIYIAAoAhwoAhRGDQELIABBATYCFAsgAEIANwMIA0AgACkDCCAAKAIcKQMwVARAAkACQCAAKAIcKAJAIAApAwinQQR0aigCCA0AIAAoAhwoAkAgACkDCKdBBHRqLQAMQQFxDQAgACgCHCgCQCAAKQMIp0EEdGooAgRFDQEgACgCHCgCQCAAKQMIp0EEdGooAgQoAgBFDQELIABBATYCFAsgACgCHCgCQCAAKQMIp0EEdGotAAxBAXFFBEAgACAAKQMAQgF8NwMACyAAIAApAwhCAXw3AwgMAQsLIAAoAhgEQCAAKAIYIAApAwA3AwALIAEgACgCFDYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCwJ/IAEoAlgoAgAhAiMAQRBrIgAkACAAIAI2AggCQCAAKAIIKAIkQQNGBEAgAEEANgIMDAELIAAoAggoAiAEQCAAKAIIEC9BAEgEQCAAQX82AgwMAgsLIAAoAggoAiQEQCAAKAIIEGILIAAoAghBAEIAQQ8QIEIAUwRAIABBfzYCDAwBCyAAKAIIQQM2AiQgAEEANgIMCyAAKAIMIQIgAEEQaiQAIAJBAEgLBEACQAJ/IwBBEGsiACABKAJYKAIANgIMIwBBEGsiAiAAKAIMQQxqNgIMIAIoAgwoAgBBFkYLBEAjAEEQayIAIAEoAlgoAgA2AgwjAEEQayICIAAoAgxBDGo2AgwgAigCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQFyABQX82AlwMBAsLCyABKAJYEDwgAUEANgJcDAELIAEoAiRFBEAgASgCWBA8IAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFCABQX82AlwMAQsgASABKQNAp0EDdBAYIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBUgASgCWEEIakEUQQAQFCABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQFSABKAJYQQhqQRRBABAUIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEoAlghAiABKQMYIQcgASgCWEEIaiEDIwBBMGsiACQAIAAgAjYCJCAAIAc3AxggACADNgIUIAAgACgCJCAAKQMYIAAoAhQQYCIHNwMIAkAgB1AEQCAAQgA3AygMAQsgACAAKAIkKAJAIAApAxinQQR0aigCADYCBAJAIAApAwggACkDCCAAKAIEKQMgfFgEQCAAKQMIIAAoAgQpAyB8Qv///////////wBYDQELIAAoAhRBBEEWEBQgAEIANwMoDAELIAAgACgCBCkDICAAKQMIfDcDCCAAKAIELwEMQQhxBEAgACgCJCgCACAAKQMIQQAQJ0EASARAIAAoAhQgACgCJCgCABAXIABCADcDKAwCCyAAKAIkKAIAIABCBBArQgRSBEAgACgCFCAAKAIkKAIAEBcgAEIANwMoDAILIAAoAABB0JadwABGBEAgACAAKQMIQgR8NwMICyAAIAApAwhCDHw3AwggACgCBEEAEGVBAXEEQCAAIAApAwhCCHw3AwgLIAApAwhC////////////AFYEQCAAKAIUQQRBFhAUIABCADcDKAwCCwsgACAAKQMINwMoCyAAKQMoIQcgAEEwaiQAIAEgBzcDOCAHUARAIAEoAigQFSABQX82AlwMBAsLCyABKQM4QgBSBEACfyABKAJYKAIAIQIgASkDOCEHIwBBEGsiACQAIAAgAjYCCCAAIAc3AwACQCAAKAIIKAIkQQFGBEAgACgCCEEMakESQQAQFCAAQX82AgwMAQsgACgCCEEAIAApAwBBERAgQgBTBEAgAEF/NgIMDAELIAAoAghBATYCJCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgAkEASAsEQCABQgA3AzgLCwsgASkDOFAEQAJ/IAEoAlgoAgAhAiMAQRBrIgAkACAAIAI2AggCQCAAKAIIKAIkQQFGBEAgACgCCEEMakESQQAQFCAAQX82AgwMAQsgACgCCEEAQgBBCBAgQgBTBEAgAEF/NgIMDAELIAAoAghBATYCJCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgAkEASAsEQCABKAJYQQhqIAEoAlgoAgAQFyABKAIoEBUgAUF/NgJcDAILCyABKAJYKAJUIQIjAEEQayIAJAAgACACNgIMIAAoAgwEQCAAKAIMRAAAAAAAAAAAOQMYIAAoAgwoAgBEAAAAAAAAAAAgACgCDCgCDCAAKAIMKAIEERYACyAAQRBqJAAgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQhAiABKQNIIge6IAEpA0C6IgijIQkjAEEgayIAJAAgACACNgIcIAAgCTkDECAAIAdCAXy6IAijOQMIIAAoAhwEQCAAKAIcIAArAxA5AyAgACgCHCAAKwMIOQMoIAAoAhxEAAAAAAAAAAAQVwsgAEEgaiQAIAEgASgCKCABKQNIp0EDdGopAwA3A1AgASABKAJYKAJAIAEpA1CnQQR0ajYCEAJAAkAgASgCECgCAEUNACABKAIQKAIAKQNIIAEpAzhaDQAMAQsgAQJ/QQEgASgCECgCCA0AGiABKAIQKAIEBEBBASABKAIQKAIEKAIAQQFxDQEaCyABKAIQKAIEBH8gASgCECgCBCgCAEHAAHFBAEcFQQALC0EBcTYCFCABKAIQKAIERQRAIAEoAhAoAgAQQCEAIAEoAhAgADYCBCAARQRAIAEoAlhBCGpBDkEAEBQgAUEBNgIsDAMLCyABIAEoAhAoAgQ2AgwCfyABKAJYIQIgASkDUCEHIwBBMGsiACQAIAAgAjYCKCAAIAc3AyACQCAAKQMgIAAoAigpAzBaBEAgACgCKEEIakESQQAQFCAAQX82AiwMAQsgACAAKAIoKAJAIAApAyCnQQR0ajYCHAJAIAAoAhwoAgAEQCAAKAIcKAIALQAEQQFxRQ0BCyAAQQA2AiwMAQsgACgCHCgCACkDSEIafEL///////////8AVgRAIAAoAihBCGpBBEEWEBQgAEF/NgIsDAELIAAoAigoAgAgACgCHCgCACkDSEIafEEAECdBAEgEQCAAKAIoQQhqIAAoAigoAgAQFyAAQX82AiwMAQsgACAAKAIoKAIAQgQgAEEYaiAAKAIoQQhqEEIiAjYCFCACRQRAIABBfzYCLAwBCyAAIAAoAhQQHTsBEiAAIAAoAhQQHTsBECAAKAIUEEdBAXFFBEAgACgCFBAWIAAoAihBCGpBFEEAEBQgAEF/NgIsDAELIAAoAhQQFiAALwEQBEAgACgCKCgCACAALwESrUEBECdBAEgEQCAAKAIoQQhqQQRBtJsBKAIAEBQgAEF/NgIsDAILIABBACAAKAIoKAIAIAAvARBBACAAKAIoQQhqEGM2AgggACgCCEUEQCAAQX82AiwMAgsgACgCCCAALwEQQYACIABBDGogACgCKEEIahCUAUEBcUUEQCAAKAIIEBUgAEF/NgIsDAILIAAoAggQFSAAKAIMBEAgACAAKAIMEJMBNgIMIAAoAhwoAgAoAjQgACgCDBCVASECIAAoAhwoAgAgAjYCNAsLIAAoAhwoAgBBAToABAJAIAAoAhwoAgRFDQAgACgCHCgCBC0ABEEBcQ0AIAAoAhwoAgQgACgCHCgCACgCNDYCNCAAKAIcKAIEQQE6AAQLIABBADYCLAsgACgCLCECIABBMGokACACQQBICwRAIAFBATYCLAwCCyABIAEoAlgoAgAQNSIHNwMwIAdCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEK4BIgA2AgggAEUEQCABQQE2AiwMBQsLAn8gASgCWCECAn8gASgCCARAIAEoAggMAQsgASgCECgCCAshAyABKAIMIQQjAEGgAWsiACQAIAAgAjYCmAEgACADNgKUASAAIAQ2ApABAkAgACgClAEgAEE4ahA5QQBIBEAgACgCmAFBCGogACgClAEQFyAAQX82ApwBDAELIAApAzhCwACDUARAIAAgACkDOELAAIQ3AzggAEEAOwFoCwJAAkAgACgCkAEoAhBBf0cEQCAAKAKQASgCEEF+Rw0BCyAALwFoRQ0AIAAoApABIAAvAWg2AhAMAQsCQAJAIAAoApABKAIQDQAgACkDOEIEg1ANACAAIAApAzhCCIQ3AzggACAAKQNQNwNYDAELIAAgACkDOEL3////D4M3AzgLCyAAKQM4QoABg1AEQCAAIAApAzhCgAGENwM4IABBADsBagsgAEGAAjYCJAJAIAApAzhCBINQBEAgACAAKAIkQYAIcjYCJCAAQn83A3AMAQsgACgCkAEgACkDUDcDKCAAIAApA1A3A3ACQCAAKQM4QgiDUARAAkACQAJAAkACQAJ/AkAgACgCkAEoAhBBf0cEQCAAKAKQASgCEEF+Rw0BC0EIDAELIAAoApABKAIQC0H//wNxDg0CAwMDAwMDAwEDAwMAAwsgAEKUwuTzDzcDEAwDCyAAQoODsP8PNwMQDAILIABC/////w83AxAMAQsgAEIANwMQCyAAKQNQIAApAxBWBEAgACAAKAIkQYAIcjYCJAsMAQsgACgCkAEgACkDWDcDIAsLIAAgACgCmAEoAgAQNSIHNwOIASAHQgBTBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAAoApABIgIgAi8BDEH3/wNxOwEMIAAgACgCmAEgACgCkAEgACgCJBBUIgI2AiggAkEASARAIABBfzYCnAEMAQsgACAALwFoAn8CQCAAKAKQASgCEEF/RwRAIAAoApABKAIQQX5HDQELQQgMAQsgACgCkAEoAhALQf//A3FHOgAiIAAgAC0AIkEBcQR/IAAvAWhBAEcFQQALQQFxOgAhIAAgAC8BaAR/IAAtACEFQQELQQFxOgAgIAAgAC0AIkEBcQR/IAAoApABKAIQQQBHBUEAC0EBcToAHyAAAn9BASAALQAiQQFxDQAaQQEgACgCkAEoAgBBgAFxDQAaIAAoApABLwFSIAAvAWpHC0EBcToAHiAAIAAtAB5BAXEEfyAALwFqQQBHBUEAC0EBcToAHSAAIAAtAB5BAXEEfyAAKAKQAS8BUkEARwVBAAtBAXE6ABwgACAAKAKUATYCNCMAQRBrIgIgACgCNDYCDCACKAIMIgIgAigCMEEBajYCMCAALQAdQQFxBEAgACAALwFqQQAQeyICNgIMIAJFBEAgACgCmAFBCGpBGEEAEBQgACgCNBAbIABBfzYCnAEMAgsgACAAKAKYASAAKAI0IAAvAWpBACAAKAKYASgCHCAAKAIMEQUAIgI2AjAgAkUEQCAAKAI0EBsgAEF/NgKcAQwCCyAAKAI0EBsgACAAKAIwNgI0CyAALQAhQQFxBEAgACAAKAKYASAAKAI0IAAvAWgQsAEiAjYCMCACRQRAIAAoAjQQGyAAQX82ApwBDAILIAAoAjQQGyAAIAAoAjA2AjQLIAAtACBBAXEEQCAAIAAoApgBIAAoAjRBABCvASICNgIwIAJFBEAgACgCNBAbIABBfzYCnAEMAgsgACgCNBAbIAAgACgCMDYCNAsgAC0AH0EBcQRAIAAoApgBIQMgACgCNCEEIAAoApABKAIQIQUgACgCkAEvAVAhBiMAQRBrIgIkACACIAM2AgwgAiAENgIIIAIgBTYCBCACIAY2AgAgAigCDCACKAIIIAIoAgRBASACKAIAELIBIQMgAkEQaiQAIAAgAyICNgIwIAJFBEAgACgCNBAbIABBfzYCnAEMAgsgACgCNBAbIAAgACgCMDYCNAsgAC0AHEEBcQRAIABBADYCBAJAIAAoApABKAJUBEAgACAAKAKQASgCVDYCBAwBCyAAKAKYASgCHARAIAAgACgCmAEoAhw2AgQLCyAAIAAoApABLwFSQQEQeyICNgIIIAJFBEAgACgCmAFBCGpBGEEAEBQgACgCNBAbIABBfzYCnAEMAgsgACAAKAKYASAAKAI0IAAoApABLwFSQQEgACgCBCAAKAIIEQUAIgI2AjAgAkUEQCAAKAI0EBsgAEF/NgKcAQwCCyAAKAI0EBsgACAAKAIwNgI0CyAAIAAoApgBKAIAEDUiBzcDgAEgB0IAUwRAIAAoApgBQQhqIAAoApgBKAIAEBcgAEF/NgKcAQwBCyAAKAKYASEDIAAoAjQhBCAAKQNwIQcjAEHAwABrIgIkACACIAM2ArhAIAIgBDYCtEAgAiAHNwOoQAJAIAIoArRAEEhBAEgEQCACKAK4QEEIaiACKAK0QBAXIAJBfzYCvEAMAQsgAkEANgIMIAJCADcDEANAAkAgAiACKAK0QCACQSBqQoDAABArIgc3AxggB0IAVw0AIAIoArhAIAJBIGogAikDGBA2QQBIBEAgAkF/NgIMBSACKQMYQoDAAFINAiACKAK4QCgCVEUNAiACKQOoQEIAVw0CIAIgAikDGCACKQMQfDcDECACKAK4QCgCVCACKQMQuSACKQOoQLmjEFcMAgsLCyACKQMYQgBTBEAgAigCuEBBCGogAigCtEAQFyACQX82AgwLIAIoArRAEC8aIAIgAigCDDYCvEALIAIoArxAIQMgAkHAwABqJAAgACADNgIsIAAoAjQgAEE4ahA5QQBIBEAgACgCmAFBCGogACgCNBAXIABBfzYCLAsgACgCNCEDIwBBEGsiAiQAIAIgAzYCCAJAA0AgAigCCARAIAIoAggpAxhCgIAEg0IAUgRAIAIgAigCCEEAQgBBEBAgNwMAIAIpAwBCAFMEQCACQf8BOgAPDAQLIAIpAwBCA1UEQCACKAIIQQxqQRRBABAUIAJB/wE6AA8MBAsgAiACKQMAPAAPDAMFIAIgAigCCCgCADYCCAwCCwALCyACQQA6AA8LIAIsAA8hAyACQRBqJAAgACADIgI6ACMgAkEYdEEYdUEASARAIAAoApgBQQhqIAAoAjQQFyAAQX82AiwLIAAoAjQQGyAAKAIsQQBIBEAgAEF/NgKcAQwBCyAAIAAoApgBKAIAEDUiBzcDeCAHQgBTBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAAoApgBKAIAIAApA4gBEJsBQQBIBEAgACgCmAFBCGogACgCmAEoAgAQFyAAQX82ApwBDAELIAApAzhC5ACDQuQAUgRAIAAoApgBQQhqQRRBABAUIABBfzYCnAEMAQsgACgCkAEoAgBBIHFFBEACQCAAKQM4QhCDQgBSBEAgACgCkAEgACgCYDYCFAwBCyAAKAKQAUEUahABGgsLIAAoApABIAAvAWg2AhAgACgCkAEgACgCZDYCGCAAKAKQASAAKQNQNwMoIAAoApABIAApA3ggACkDgAF9NwMgIAAoApABIAAoApABLwEMQfn/A3EgAC0AI0EBdHI7AQwgACgCkAEhAyAAKAIkQYAIcUEARyEEIwBBEGsiAiQAIAIgAzYCDCACIAQ6AAsCQCACKAIMKAIQQQ5GBEAgAigCDEE/OwEKDAELIAIoAgwoAhBBDEYEQCACKAIMQS47AQoMAQsCQCACLQALQQFxRQRAIAIoAgxBABBlQQFxRQ0BCyACKAIMQS07AQoMAQsCQCACKAIMKAIQQQhHBEAgAigCDC8BUkEBRw0BCyACKAIMQRQ7AQoMAQsgAiACKAIMKAIwEFEiAzsBCCADQf//A3EEQCACKAIMKAIwKAIAIAIvAQhBAWtqLQAAQS9GBEAgAigCDEEUOwEKDAILCyACKAIMQQo7AQoLIAJBEGokACAAIAAoApgBIAAoApABIAAoAiQQVCICNgIsIAJBAEgEQCAAQX82ApwBDAELIAAoAiggACgCLEcEQCAAKAKYAUEIakEUQQAQFCAAQX82ApwBDAELIAAoApgBKAIAIAApA3gQmwFBAEgEQCAAKAKYAUEIaiAAKAKYASgCABAXIABBfzYCnAEMAQsgAEEANgKcAQsgACgCnAEhAiAAQaABaiQAIAJBAEgLBEAgAUEBNgIsIAEoAggEQCABKAIIEBsLDAQLIAEoAggEQCABKAIIEBsLDAELIAEoAgwiACAALwEMQff/A3E7AQwgASgCWCABKAIMQYACEFRBAEgEQCABQQE2AiwMAwsgASABKAJYIAEpA1AgASgCWEEIahBgIgc3AwAgB1AEQCABQQE2AiwMAwsgASgCWCgCACABKQMAQQAQJ0EASARAIAEoAlhBCGogASgCWCgCABAXIAFBATYCLAwDCwJ/IAEoAlghAiABKAIMKQMgIQcjAEGgwABrIgAkACAAIAI2AphAIAAgBzcDkEAgACAAKQOQQLo5AwACQANAIAApA5BAUEUEQCAAIAApA5BAQoDAAFYEfkKAwAAFIAApA5BACz4CDCAAKAKYQCgCACAAQRBqIAAoAgytIAAoAphAQQhqEGRBAEgEQCAAQX82ApxADAMLIAAoAphAIABBEGogACgCDK0QNkEASARAIABBfzYCnEAMAwUgACAAKQOQQCAANQIMfTcDkEAgACgCmEAoAlQgACsDACAAKQOQQLqhIAArAwCjEFcMAgsACwsgAEEANgKcQAsgACgCnEAhAiAAQaDAAGokACACQQBICwRAIAFBATYCLAwDCwsLIAEgASkDSEIBfDcDSAwBCwsgASgCLEUEQAJ/IAEoAlghACABKAIoIQMgASkDQCEHIwBBMGsiAiQAIAIgADYCKCACIAM2AiQgAiAHNwMYIAIgAigCKCgCABA1Igc3AxACQCAHQgBTBEAgAkF/NgIsDAELIAIoAighAyACKAIkIQQgAikDGCEHIwBBwAFrIgAkACAAIAM2ArQBIAAgBDYCsAEgACAHNwOoASAAIAAoArQBKAIAEDUiBzcDIAJAIAdCAFMEQCAAKAK0AUEIaiAAKAK0ASgCABAXIABCfzcDuAEMAQsgACAAKQMgNwOgASAAQQA6ABcgAEIANwMYA0AgACkDGCAAKQOoAVQEQCAAIAAoArQBKAJAIAAoArABIAApAxinQQN0aikDAKdBBHRqNgIMIAAgACgCtAECfyAAKAIMKAIEBEAgACgCDCgCBAwBCyAAKAIMKAIAC0GABBBUIgM2AhAgA0EASARAIABCfzcDuAEMAwsgACgCEARAIABBAToAFwsgACAAKQMYQgF8NwMYDAELCyAAIAAoArQBKAIAEDUiBzcDICAHQgBTBEAgACgCtAFBCGogACgCtAEoAgAQFyAAQn83A7gBDAELIAAgACkDICAAKQOgAX03A5gBAkAgACkDoAFC/////w9YBEAgACkDqAFC//8DWA0BCyAAQQE6ABcLIAAgAEEwakLiABApIgM2AiwgA0UEQCAAKAK0AUEIakEOQQAQFCAAQn83A7gBDAELIAAtABdBAXEEQCAAKAIsQecSQQQQQSAAKAIsQiwQLSAAKAIsQS0QHyAAKAIsQS0QHyAAKAIsQQAQISAAKAIsQQAQISAAKAIsIAApA6gBEC0gACgCLCAAKQOoARAtIAAoAiwgACkDmAEQLSAAKAIsIAApA6ABEC0gACgCLEHiEkEEEEEgACgCLEEAECEgACgCLCAAKQOgASAAKQOYAXwQLSAAKAIsQQEQIQsgACgCLEHsEkEEEEEgACgCLEEAECEgACgCLCAAKQOoAUL//wNaBH5C//8DBSAAKQOoAQunQf//A3EQHyAAKAIsIAApA6gBQv//A1oEfkL//wMFIAApA6gBC6dB//8DcRAfIAAoAiwgACkDmAFC/////w9aBH9BfwUgACkDmAGnCxAhIAAoAiwgACkDoAFC/////w9aBH9BfwUgACkDoAGnCxAhIAACfyAAKAK0AS0AKEEBcQRAIAAoArQBKAIkDAELIAAoArQBKAIgCzYClAEgACgCLAJ/IAAoApQBBEAgACgClAEvAQQMAQtBAAtB//8DcRAfAn8jAEEQayIDIAAoAiw2AgwgAygCDC0AAEEBcUULBEAgACgCtAFBCGpBFEEAEBQgACgCLBAWIABCfzcDuAEMAQsgACgCtAECfyMAQRBrIgMgACgCLDYCDCADKAIMKAIECwJ+IwBBEGsiAyAAKAIsNgIMAn4gAygCDC0AAEEBcQRAIAMoAgwpAxAMAQtCAAsLEDZBAEgEQCAAKAIsEBYgAEJ/NwO4AQwBCyAAKAIsEBYgACgClAEEQCAAKAK0ASAAKAKUASgCACAAKAKUAS8BBK0QNkEASARAIABCfzcDuAEMAgsLIAAgACkDmAE3A7gBCyAAKQO4ASEHIABBwAFqJAAgAiAHNwMAIAdCAFMEQCACQX82AiwMAQsgAiACKAIoKAIAEDUiBzcDCCAHQgBTBEAgAkF/NgIsDAELIAJBADYCLAsgAigCLCEAIAJBMGokACAAQQBICwRAIAFBATYCLAsLIAEoAigQFSABKAIsRQRAAn8gASgCWCgCACECIwBBEGsiACQAIAAgAjYCCAJAIAAoAggoAiRBAUcEQCAAKAIIQQxqQRJBABAUIABBfzYCDAwBCyAAKAIIKAIgQQFLBEAgACgCCEEMakEdQQAQFCAAQX82AgwMAQsgACgCCCgCIARAIAAoAggQL0EASARAIABBfzYCDAwCCwsgACgCCEEAQgBBCRAgQgBTBEAgACgCCEECNgIkIABBfzYCDAwBCyAAKAIIQQA2AiQgAEEANgIMCyAAKAIMIQIgAEEQaiQAIAILBEAgASgCWEEIaiABKAJYKAIAEBcgAUEBNgIsCwsgASgCWCgCVCECIwBBEGsiACQAIAAgAjYCDCAAKAIMRAAAAAAAAPA/EFcgAEEQaiQAIAEoAiwEQCABKAJYKAIAEGIgAUF/NgJcDAELIAEoAlgQPCABQQA2AlwLIAEoAlwhACABQeAAaiQAIAAL0g4CB38CfiMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjYCICMAQRBrIgAgA0EIajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCADKAIoIQAjAEEgayIEJAAgBCAANgIYIARCADcDECAEQn83AwggBCADQQhqNgIEAkACQCAEKAIYBEAgBCkDCEJ/WQ0BCyAEKAIEQRJBABAUIARBADYCHAwBCyAEKAIYIQAgBCkDECEKIAQpAwghCyAEKAIEIQEjAEGgAWsiAiQAIAIgADYCmAEgAkEANgKUASACIAo3A4gBIAIgCzcDgAEgAkEANgJ8IAIgATYCeAJAAkAgAigClAENACACKAKYAQ0AIAIoAnhBEkEAEBQgAkEANgKcAQwBCyACKQOAAUIAUwRAIAJCADcDgAELAkAgAikDiAFC////////////AFgEQCACKQOIASACKQOIASACKQOAAXxYDQELIAIoAnhBEkEAEBQgAkEANgKcAQwBCyACQYgBEBgiADYCdCAARQRAIAIoAnhBDkEAEBQgAkEANgKcAQwBCyACKAJ0QQA2AhggAigCmAEEQCACKAKYASIAEC5BAWoiARAYIgUEfyAFIAAgARAZBUEACyEAIAIoAnQgADYCGCAARQRAIAIoAnhBDkEAEBQgAigCdBAVIAJBADYCnAEMAgsLIAIoAnQgAigClAE2AhwgAigCdCACKQOIATcDaCACKAJ0IAIpA4ABNwNwAkAgAigCfARAIAIoAnQiACACKAJ8IgEpAwA3AyAgACABKQMwNwNQIAAgASkDKDcDSCAAIAEpAyA3A0AgACABKQMYNwM4IAAgASkDEDcDMCAAIAEpAwg3AyggAigCdEEANgIoIAIoAnQiACAAKQMgQv7///8PgzcDIAwBCyACKAJ0QSBqEDsLIAIoAnQpA3BCAFIEQCACKAJ0IAIoAnQpA3A3AzggAigCdCIAIAApAyBCBIQ3AyALIwBBEGsiACACKAJ0QdgAajYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCACKAJ0QQA2AoABIAIoAnRBADYChAEjAEEQayIAIAIoAnQ2AgwgACgCDEEANgIAIAAoAgxBADYCBCAAKAIMQQA2AgggAkF/NgIEIAJBBzYCAEEOIAIQNEI/hCEKIAIoAnQgCjcDEAJAIAIoAnQoAhgEQCACIAIoAnQoAhggAkEYahCmAUEATjoAFyACLQAXQQFxRQRAAkAgAigCdCkDaFBFDQAgAigCdCkDcFBFDQAgAigCdEL//wM3AxALCwwBCwJAIAIoAnQoAhwiACgCTEEASA0ACyAAKAI8IQBBACEFIwBBIGsiBiQAAn8CQCAAIAJBGGoiCRAKIgFBeEYEQCMAQSBrIgckACAAIAdBCGoQCSIIBH9BtJsBIAg2AgBBAAVBAQshCCAHQSBqJAAgCA0BCyABQYFgTwR/QbSbAUEAIAFrNgIAQX8FIAELDAELA0AgBSAGaiIBIAVBxxJqLQAAOgAAIAVBDkchByAFQQFqIQUgBw0ACwJAIAAEQEEPIQUgACEBA0AgAUEKTwRAIAVBAWohBSABQQpuIQEMAQsLIAUgBmpBADoAAANAIAYgBUEBayIFaiAAIABBCm4iAUEKbGtBMHI6AAAgAEEJSyEHIAEhACAHDQALDAELIAFBMDoAACAGQQA6AA8LIAYgCRACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLIQAgBkEgaiQAIAIgAEEATjoAFwsCQCACLQAXQQFxRQRAIAIoAnRB2ABqQQVBtJsBKAIAEBQMAQsgAigCdCkDIEIQg1AEQCACKAJ0IAIoAlg2AkggAigCdCIAIAApAyBCEIQ3AyALIAIoAiRBgOADcUGAgAJGBEAgAigCdEL/gQE3AxAgAikDQCACKAJ0KQNoIAIoAnQpA3B8VARAIAIoAnhBEkEAEBQgAigCdCgCGBAVIAIoAnQQFSACQQA2ApwBDAMLIAIoAnQpA3BQBEAgAigCdCACKQNAIAIoAnQpA2h9NwM4IAIoAnQiACAAKQMgQgSENwMgAkAgAigCdCgCGEUNACACKQOIAVBFDQAgAigCdEL//wM3AxALCwsLIAIoAnQiACAAKQMQQoCAEIQ3AxAgAkEeIAIoAnQgAigCeBCDASIANgJwIABFBEAgAigCdCgCGBAVIAIoAnQQFSACQQA2ApwBDAELIAIgAigCcDYCnAELIAIoApwBIQAgAkGgAWokACAEIAA2AhwLIAQoAhwhACAEQSBqJAAgAyAANgIYAkAgAEUEQCADKAIgIANBCGoQnQEgA0EIahA4IANBADYCLAwBCyADIAMoAhggAygCJCADQQhqEJwBIgA2AhwgAEUEQCADKAIYEBsgAygCICADQQhqEJ0BIANBCGoQOCADQQA2AiwMAQsgA0EIahA4IAMgAygCHDYCLAsgAygCLCEAIANBMGokACAAC5IfAQZ/IwBB4ABrIgQkACAEIAA2AlQgBCABNgJQIAQgAjcDSCAEIAM2AkQgBCAEKAJUNgJAIAQgBCgCUDYCPAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQoAkQOEwYHAgwEBQoOAQMJEAsPDQgREQARCyAEQgA3A1gMEQsgBCgCQCgCGEUEQCAEKAJAQRxBABAUIARCfzcDWAwRCyAEKAJAIQAjAEGAAWsiASQAIAEgADYCeCABIAEoAngoAhgQLkEIahAYIgA2AnQCQCAARQRAIAEoAnhBDkEAEBQgAUF/NgJ8DAELAkAgASgCeCgCGCABQRBqEKYBRQRAIAEgASgCHDYCbAwBCyABQX82AmwLIAEoAnQhACABIAEoAngoAhg2AgAgAEGrEiABEG8gASgCdCEDIAEoAmwhByMAQTBrIgAkACAAIAM2AiggACAHNgIkIABBADYCECAAIAAoAiggACgCKBAuajYCGCAAIAAoAhhBAWs2AhwDQCAAKAIcIAAoAihPBH8gACgCHCwAAEHYAEYFQQALQQFxBEAgACAAKAIQQQFqNgIQIAAgACgCHEEBazYCHAwBCwsCQCAAKAIQRQRAQbSbAUEcNgIAIABBfzYCLAwBCyAAIAAoAhxBAWo2AhwDQCMAQRBrIgckAAJAAn8jAEEQayIDJAAgAyAHQQhqNgIIIANBBDsBBiADQegLQQBBABBsIgU2AgACQCAFQQBIBEAgA0EAOgAPDAELAn8gAygCACEGIAMoAgghCCADLwEGIQkjAEEQayIFJAAgBSAJNgIMIAUgCDYCCCAGIAVBCGpBASAFQQRqEAYiBgR/QbSbASAGNgIAQX8FQQALIQYgBSgCBCEIIAVBEGokACADLwEGQX8gCCAGG0cLBEAgAygCABBrIANBADoADwwBCyADKAIAEGsgA0EBOgAPCyADLQAPQQFxIQUgA0EQaiQAIAULBEAgByAHKAIINgIMDAELQcCgAS0AAEEBcUUEQEEAEAEhBgJAQciZASgCACIDRQRAQcyZASgCACAGNgIADAELQdCZAUEDQQNBASADQQdGGyADQR9GGzYCAEG8oAFBADYCAEHMmQEoAgAhBSADQQFOBEAgBq0hAkEAIQYDQCAFIAZBAnRqIAJCrf7V5NSF/ajYAH5CAXwiAkIgiD4CACAGQQFqIgYgA0cNAAsLIAUgBSgCAEEBcjYCAAsLQcyZASgCACEDAkBByJkBKAIAIgVFBEAgAyADKAIAQe2cmY4EbEG54ABqQf////8HcSIDNgIADAELIANB0JkBKAIAIgZBAnRqIgggCCgCACADQbygASgCACIIQQJ0aigCAGoiAzYCAEG8oAFBACAIQQFqIgggBSAIRhs2AgBB0JkBQQAgBkEBaiIGIAUgBkYbNgIAIANBAXYhAwsgByADNgIMCyAHKAIMIQMgB0EQaiQAIAAgAzYCDCAAIAAoAhw2AhQDQCAAKAIUIAAoAhhJBEAgACAAKAIMQSRwOgALAn8gACwAC0EKSARAIAAsAAtBMGoMAQsgACwAC0HXAGoLIQMgACAAKAIUIgdBAWo2AhQgByADOgAAIAAgACgCDEEkbjYCDAwBCwsgACgCKCEDIAAgACgCJEF/RgR/QbYDBSAAKAIkCzYCACAAIANBwoEgIAAQbCIDNgIgIANBAE4EQCAAKAIkQX9HBEAgACgCKCAAKAIkEA8iA0GBYE8Ef0G0mwFBACADazYCAEEABSADCxoLIAAgACgCIDYCLAwCC0G0mwEoAgBBFEYNAAsgAEF/NgIsCyAAKAIsIQMgAEEwaiQAIAEgAyIANgJwIABBf0YEQCABKAJ4QQxBtJsBKAIAEBQgASgCdBAVIAFBfzYCfAwBCyABIAEoAnBBoxIQoQEiADYCaCAARQRAIAEoAnhBDEG0mwEoAgAQFCABKAJwEGsgASgCdBBtGiABKAJ0EBUgAUF/NgJ8DAELIAEoAnggASgCaDYChAEgASgCeCABKAJ0NgKAASABQQA2AnwLIAEoAnwhACABQYABaiQAIAQgAKw3A1gMEAsgBCgCQCgCGARAIAQoAkAoAhwQVhogBCgCQEEANgIcCyAEQgA3A1gMDwsgBCgCQCgChAEQVkEASARAIAQoAkBBADYChAEgBCgCQEEGQbSbASgCABAUCyAEKAJAQQA2AoQBIAQoAkAoAoABIAQoAkAoAhgQCCIAQYFgTwR/QbSbAUEAIABrNgIAQX8FIAALQQBIBEAgBCgCQEECQbSbASgCABAUIARCfzcDWAwPCyAEKAJAKAKAARAVIAQoAkBBADYCgAEgBEIANwNYDA4LIAQgBCgCQCAEKAJQIAQpA0gQQzcDWAwNCyAEKAJAKAIYEBUgBCgCQCgCgAEQFSAEKAJAKAIcBEAgBCgCQCgCHBBWGgsgBCgCQBAVIARCADcDWAwMCyAEKAJAKAIYBEAgBCgCQCgCGCEBIwBBIGsiACQAIAAgATYCGCAAQQA6ABcgAEGAgCA2AgwCQCAALQAXQQFxBEAgACAAKAIMQQJyNgIMDAELIAAgACgCDDYCDAsgACgCGCEBIAAoAgwhAyAAQbYDNgIAIAAgASADIAAQbCIBNgIQAkAgAUEASARAIABBADYCHAwBCyAAIAAoAhBBoxJBoBIgAC0AF0EBcRsQoQEiATYCCCABRQRAIABBADYCHAwBCyAAIAAoAgg2AhwLIAAoAhwhASAAQSBqJAAgBCgCQCABNgIcIAFFBEAgBCgCQEELQbSbASgCABAUIARCfzcDWAwNCwsgBCgCQCkDaEIAUgRAIAQoAkAoAhwgBCgCQCkDaCAEKAJAEJ8BQQBIBEAgBEJ/NwNYDA0LCyAEKAJAQgA3A3ggBEIANwNYDAsLAkAgBCgCQCkDcEIAUgRAIAQgBCgCQCkDcCAEKAJAKQN4fTcDMCAEKQMwIAQpA0hWBEAgBCAEKQNINwMwCwwBCyAEIAQpA0g3AzALIAQpAzBC/////w9WBEAgBEL/////DzcDMAsgBAJ/IAQoAjwhByAEKQMwpyEAIAQoAkAoAhwiAygCTBogAyADLQBKIgFBAWsgAXI6AEogAygCCCADKAIEIgVrIgFBAUgEfyAABSAHIAUgASAAIAAgAUsbIgEQGRogAyADKAIEIAFqNgIEIAEgB2ohByAAIAFrCyIBBEADQAJAAn8gAyADLQBKIgVBAWsgBXI6AEogAygCFCADKAIcSwRAIANBAEEAIAMoAiQRAQAaCyADQQA2AhwgA0IANwMQIAMoAgAiBUEEcQRAIAMgBUEgcjYCAEF/DAELIAMgAygCLCADKAIwaiIGNgIIIAMgBjYCBCAFQRt0QR91C0UEQCADIAcgASADKAIgEQEAIgVBAWpBAUsNAQsgACABawwDCyAFIAdqIQcgASAFayIBDQALCyAACyIANgIsIABFBEACfyAEKAJAKAIcIgAoAkxBf0wEQCAAKAIADAELIAAoAgALQQV2QQFxBEAgBCgCQEEFQbSbASgCABAUIARCfzcDWAwMCwsgBCgCQCIAIAApA3ggBCgCLK18NwN4IAQgBCgCLK03A1gMCgsgBCgCQCgCGBBtQQBIBEAgBCgCQEEWQbSbASgCABAUIARCfzcDWAwKCyAEQgA3A1gMCQsgBCgCQCgChAEEQCAEKAJAKAKEARBWGiAEKAJAQQA2AoQBCyAEKAJAKAKAARBtGiAEKAJAKAKAARAVIAQoAkBBADYCgAEgBEIANwNYDAgLIAQCfyAEKQNIQhBUBEAgBCgCQEESQQAQFEEADAELIAQoAlALNgIYIAQoAhhFBEAgBEJ/NwNYDAgLIARBATYCHAJAAkACQAJAAkAgBCgCGCgCCA4DAAIBAwsgBCAEKAIYKQMANwMgDAMLAkAgBCgCQCkDcFAEQCAEKAJAKAIcIAQoAhgpAwBBAiAEKAJAEGpBAEgEQCAEQn83A1gMDQsgBCAEKAJAKAIcEKMBIgI3AyAgAkIAUwRAIAQoAkBBBEG0mwEoAgAQFCAEQn83A1gMDQsgBCAEKQMgIAQoAkApA2h9NwMgIARBADYCHAwBCyAEIAQoAkApA3AgBCgCGCkDAHw3AyALDAILIAQgBCgCQCkDeCAEKAIYKQMAfDcDIAwBCyAEKAJAQRJBABAUIARCfzcDWAwICwJAAkAgBCkDIEIAUw0AIAQoAkApA3BCAFIEQCAEKQMgIAQoAkApA3BWDQELIAQoAkApA2ggBCkDICAEKAJAKQNofFgNAQsgBCgCQEESQQAQFCAEQn83A1gMCAsgBCgCQCAEKQMgNwN4IAQoAhwEQCAEKAJAKAIcIAQoAkApA3ggBCgCQCkDaHwgBCgCQBCfAUEASARAIARCfzcDWAwJCwsgBEIANwNYDAcLIAQCfyAEKQNIQhBUBEAgBCgCQEESQQAQFEEADAELIAQoAlALNgIUIAQoAhRFBEAgBEJ/NwNYDAcLIAQoAkAoAoQBIAQoAhQpAwAgBCgCFCgCCCAEKAJAEGpBAEgEQCAEQn83A1gMBwsgBEIANwNYDAYLIAQpA0hCOFQEQCAEQn83A1gMBgsCfyMAQRBrIgAgBCgCQEHYAGo2AgwgACgCDCgCAAsEQCAEKAJAAn8jAEEQayIAIAQoAkBB2ABqNgIMIAAoAgwoAgALAn8jAEEQayIAIAQoAkBB2ABqNgIMIAAoAgwoAgQLEBQgBEJ/NwNYDAYLIAQoAlAiACAEKAJAIgEpACA3AAAgACABKQBQNwAwIAAgASkASDcAKCAAIAEpAEA3ACAgACABKQA4NwAYIAAgASkAMDcAECAAIAEpACg3AAggBEI4NwNYDAULIAQgBCgCQCkDEDcDWAwECyAEIAQoAkApA3g3A1gMAwsgBCAEKAJAKAKEARCjATcDCCAEKQMIQgBTBEAgBCgCQEEeQbSbASgCABAUIARCfzcDWAwDCyAEIAQpAwg3A1gMAgsgBCgCQCgChAEiACgCTEEAThogACAAKAIAQU9xNgIAIAQCfyAEKAJQIQEgBCkDSKciACAAAn8gBCgCQCgChAEiAygCTEF/TARAIAEgACADEHEMAQsgASAAIAMQcQsiAUYNABogAQs2AgQCQCAEKQNIIAQoAgStUQRAAn8gBCgCQCgChAEiACgCTEF/TARAIAAoAgAMAQsgACgCAAtBBXZBAXFFDQELIAQoAkBBBkG0mwEoAgAQFCAEQn83A1gMAgsgBCAEKAIErTcDWAwBCyAEKAJAQRxBABAUIARCfzcDWAsgBCkDWCECIARB4ABqJAAgAgsJACAAKAI8EAUL5AEBBH8jAEEgayIDJAAgAyABNgIQIAMgAiAAKAIwIgRBAEdrNgIUIAAoAiwhBSADIAQ2AhwgAyAFNgIYQX8hBAJAAkAgACgCPCADQRBqQQIgA0EMahAGIgUEf0G0mwEgBTYCAEF/BUEAC0UEQCADKAIMIgRBAEoNAQsgACAAKAIAIARBMHFBEHNyNgIADAELIAQgAygCFCIGTQ0AIAAgACgCLCIFNgIEIAAgBSAEIAZrajYCCCAAKAIwBEAgACAFQQFqNgIEIAEgAmpBAWsgBS0AADoAAAsgAiEECyADQSBqJAAgBAv0AgEHfyMAQSBrIgMkACADIAAoAhwiBTYCECAAKAIUIQQgAyACNgIcIAMgATYCGCADIAQgBWsiATYCFCABIAJqIQVBAiEHIANBEGohAQJ/AkACQCAAKAI8IANBEGpBAiADQQxqEAMiBAR/QbSbASAENgIAQX8FQQALRQRAA0AgBSADKAIMIgRGDQIgBEF/TA0DIAEgBCABKAIEIghLIgZBA3RqIgkgBCAIQQAgBhtrIgggCSgCAGo2AgAgAUEMQQQgBhtqIgkgCSgCACAIazYCACAFIARrIQUgACgCPCABQQhqIAEgBhsiASAHIAZrIgcgA0EMahADIgQEf0G0mwEgBDYCAEF/BUEAC0UNAAsLIAVBf0cNAQsgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCECACDAELIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgB0ECRg0AGiACIAEoAgRrCyEAIANBIGokACAAC1IBAX8jAEEQayIDJAAgACgCPCABpyABQiCIpyACQf8BcSADQQhqEA0iAAR/QbSbASAANgIAQX8FQQALIQAgAykDCCEBIANBEGokAEJ/IAEgABsL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQOAJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQbyABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyABKAJcQYUPNgIYIAEoAlRB0f4ANgIEDAQLDAILIAEoAgxBwABxRQRAIAEgASgCJCABLwESIAEoAixBASABKAIMdEEBa3FqQQJ0aigBADYBEAwBCwsgASgCDEEgcQRAIAEoAlRBv/4ANgIEDAILIAEoAlxB6Q42AhggASgCVEHR/gA2AgQMAQsgASgCUCABKAJMSQR/IAEoAkggASgCQEkFQQALQQFxDQELCyABIAEoAihBA3Y2AgggASABKAJQIAEoAghrNgJQIAEgASgCKCABKAIIQQN0azYCKCABIAEoAixBASABKAIodEEBa3E2AiwgASgCXCABKAJQNgIAIAEoAlwgASgCSDYCDCABKAJcAn8gASgCUCABKAJMSQRAIAEoAkwgASgCUGtBBWoMAQtBBSABKAJQIAEoAkxraws2AgQgASgCXAJ/IAEoAkggASgCQEkEQCABKAJAIAEoAkhrQYECagwBC0GBAiABKAJIIAEoAkBraws2AhAgASgCVCABKAIsNgI8IAEoAlQgASgCKDYCQCAAIAAoAlgoAgw2AkggACAAKAJYKAIQNgJAIAAgACgCWCgCADYCTCAAIAAoAlgoAgQ2AkQgACAAKAJQKAI8NgI8IAAgACgCUCgCQDYCOCAAKAJQKAIEQb/+AEYEQCAAKAJQQX82Asg3CwwNCyAAKAJQQQA2Asg3A0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDQ0gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC0AIEUNACAALQAgQfABcQ0AIAAgACgBIDYBGANAAkAgACAAKAJQKAJQIAAvARogACgCPEEBIAAtABkgAC0AGGp0QQFrcSAALQAZdmpBAnRqKAEANgEgIAAoAjggAC0AGSAALQAhak8NACAAKAJERQ0OIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AGXY2AjwgACAAKAI4IAAtABlrNgI4IAAoAlAiASAALQAZIAEoAsg3ajYCyDcLIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggACgCUCIBIAAtACEgASgCyDdqNgLINyAAKAJQIAAvASI2AkQgAC0AIEUEQCAAKAJQQc3+ADYCBAwNCyAALQAgQSBxBEAgACgCUEF/NgLINyAAKAJQQb/+ADYCBAwNCyAALQAgQcAAcQRAIAAoAlhB6Q42AhggACgCUEHR/gA2AgQMDQsgACgCUCAALQAgQQ9xNgJMIAAoAlBByf4ANgIECyAAKAJQKAJMBEADQCAAKAI4IAAoAlAoAkxJBEAgACgCREUNDSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCIBIAEoAkQgACgCPEEBIAAoAlAoAkx0QQFrcWo2AkQgACAAKAI8IAAoAlAoAkx2NgI8IAAgACgCOCAAKAJQKAJMazYCOCAAKAJQIgEgACgCUCgCTCABKALIN2o2Asg3CyAAKAJQIAAoAlAoAkQ2Asw3IAAoAlBByv4ANgIECwNAAkAgACAAKAJQKAJUIAAoAjxBASAAKAJQKAJcdEEBa3FBAnRqKAEANgEgIAAtACEgACgCOE0NACAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAALQAgQfABcUUEQCAAIAAoASA2ARgDQAJAIAAgACgCUCgCVCAALwEaIAAoAjxBASAALQAZIAAtABhqdEEBa3EgAC0AGXZqQQJ0aigBADYBICAAKAI4IAAtABkgAC0AIWpPDQAgACgCREUNDCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtABl2NgI8IAAgACgCOCAALQAZazYCOCAAKAJQIgEgAC0AGSABKALIN2o2Asg3CyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAiASAALQAhIAEoAsg3ajYCyDcgAC0AIEHAAHEEQCAAKAJYQYUPNgIYIAAoAlBB0f4ANgIEDAsLIAAoAlAgAC8BIjYCSCAAKAJQIAAtACBBD3E2AkwgACgCUEHL/gA2AgQLIAAoAlAoAkwEQANAIAAoAjggACgCUCgCTEkEQCAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIgEgASgCSCAAKAI8QQEgACgCUCgCTHRBAWtxajYCSCAAIAAoAjwgACgCUCgCTHY2AjwgACAAKAI4IAAoAlAoAkxrNgI4IAAoAlAiASAAKAJQKAJMIAEoAsg3ajYCyDcLIAAoAlBBzP4ANgIECyAAKAJARQ0HIAAgACgCMCAAKAJAazYCLAJAIAAoAlAoAkggACgCLEsEQCAAIAAoAlAoAkggACgCLGs2AiwgACgCLCAAKAJQKAIwSwRAIAAoAlAoAsQ3BEAgACgCWEHdDDYCGCAAKAJQQdH+ADYCBAwMCwsCQCAAKAIsIAAoAlAoAjRLBEAgACAAKAIsIAAoAlAoAjRrNgIsIAAgACgCUCgCOCAAKAJQKAIsIAAoAixrajYCKAwBCyAAIAAoAlAoAjggACgCUCgCNCAAKAIsa2o2AigLIAAoAiwgACgCUCgCREsEQCAAIAAoAlAoAkQ2AiwLDAELIAAgACgCSCAAKAJQKAJIazYCKCAAIAAoAlAoAkQ2AiwLIAAoAiwgACgCQEsEQCAAIAAoAkA2AiwLIAAgACgCQCAAKAIsazYCQCAAKAJQIgEgASgCRCAAKAIsazYCRANAIAAgACgCKCIBQQFqNgIoIAEtAAAhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAIsQQFrIgE2AiwgAQ0ACyAAKAJQKAJERQRAIAAoAlBByP4ANgIECwwICyAAKAJARQ0GIAAoAlAoAkQhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAJAQQFrNgJAIAAoAlBByP4ANgIEDAcLIAAoAlAoAgwEQANAIAAoAjhBIEkEQCAAKAJERQ0IIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjAgACgCQGs2AjAgACgCWCIBIAAoAjAgASgCFGo2AhQgACgCUCIBIAAoAjAgASgCIGo2AiACQCAAKAJQKAIMQQRxRQ0AIAAoAjBFDQACfyAAKAJQKAIUBEAgACgCUCgCHCAAKAJIIAAoAjBrIAAoAjAQGgwBCyAAKAJQKAIcIAAoAkggACgCMGsgACgCMBA9CyEBIAAoAlAgATYCHCAAKAJYIAE2AjALIAAgACgCQDYCMAJAIAAoAlAoAgxBBHFFDQACfyAAKAJQKAIUBEAgACgCPAwBCyAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoLIAAoAlAoAhxGDQAgACgCWEHIDDYCGCAAKAJQQdH+ADYCBAwICyAAQQA2AjwgAEEANgI4CyAAKAJQQc/+ADYCBAsCQCAAKAJQKAIMRQ0AIAAoAlAoAhRFDQADQCAAKAI4QSBJBEAgACgCREUNByAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPCAAKAJQKAIgRwRAIAAoAlhBsQw2AhggACgCUEHR/gA2AgQMBwsgAEEANgI8IABBADYCOAsgACgCUEHQ/gA2AgQLIABBATYCEAwDCyAAQX02AhAMAgsgAEF8NgJcDAMLIABBfjYCXAwCCwsgACgCWCAAKAJINgIMIAAoAlggACgCQDYCECAAKAJYIAAoAkw2AgAgACgCWCAAKAJENgIEIAAoAlAgACgCPDYCPCAAKAJQIAAoAjg2AkACQAJAIAAoAlAoAiwNACAAKAIwIAAoAlgoAhBGDQEgACgCUCgCBEHR/gBPDQEgACgCUCgCBEHO/gBJDQAgACgCVEEERg0BCwJ/IAAoAlghAiAAKAJYKAIMIQMgACgCMCAAKAJYKAIQayEEIwBBIGsiASQAIAEgAjYCGCABIAM2AhQgASAENgIQIAEgASgCGCgCHDYCDAJAIAEoAgwoAjhFBEAgASgCGCgCKEEBIAEoAgwoAih0QQEgASgCGCgCIBEBACECIAEoAgwgAjYCOCABKAIMKAI4RQRAIAFBATYCHAwCCwsgASgCDCgCLEUEQCABKAIMQQEgASgCDCgCKHQ2AiwgASgCDEEANgI0IAEoAgxBADYCMAsCQCABKAIQIAEoAgwoAixPBEAgASgCDCgCOCABKAIUIAEoAgwoAixrIAEoAgwoAiwQGRogASgCDEEANgI0IAEoAgwgASgCDCgCLDYCMAwBCyABIAEoAgwoAiwgASgCDCgCNGs2AgggASgCCCABKAIQSwRAIAEgASgCEDYCCAsgASgCDCgCOCABKAIMKAI0aiABKAIUIAEoAhBrIAEoAggQGRogASABKAIQIAEoAghrNgIQAkAgASgCEARAIAEoAgwoAjggASgCFCABKAIQayABKAIQEBkaIAEoAgwgASgCEDYCNCABKAIMIAEoAgwoAiw2AjAMAQsgASgCDCICIAEoAgggAigCNGo2AjQgASgCDCgCNCABKAIMKAIsRgRAIAEoAgxBADYCNAsgASgCDCgCMCABKAIMKAIsSQRAIAEoAgwiAiABKAIIIAIoAjBqNgIwCwsLIAFBADYCHAsgASgCHCECIAFBIGokACACCwRAIAAoAlBB0v4ANgIEIABBfDYCXAwCCwsgACAAKAI0IAAoAlgoAgRrNgI0IAAgACgCMCAAKAJYKAIQazYCMCAAKAJYIgEgACgCNCABKAIIajYCCCAAKAJYIgEgACgCMCABKAIUajYCFCAAKAJQIgEgACgCMCABKAIgajYCIAJAIAAoAlAoAgxBBHFFDQAgACgCMEUNAAJ/IAAoAlAoAhQEQCAAKAJQKAIcIAAoAlgoAgwgACgCMGsgACgCMBAaDAELIAAoAlAoAhwgACgCWCgCDCAAKAIwayAAKAIwED0LIQEgACgCUCABNgIcIAAoAlggATYCMAsgACgCWCAAKAJQKAJAQcAAQQAgACgCUCgCCBtqQYABQQAgACgCUCgCBEG//gBGG2pBgAJBACAAKAJQKAIEQcf+AEcEfyAAKAJQKAIEQcL+AEYFQQELQQFxG2o2AiwCQAJAIAAoAjRFBEAgACgCMEUNAQsgACgCVEEERw0BCyAAKAIQDQAgAEF7NgIQCyAAIAAoAhA2AlwLIAAoAlwhASAAQeAAaiQAIAUgATYCCAsgBSgCECIAIAApAwAgBSgCDDUCIH03AwACQAJAAkACQAJAIAUoAghBBWoOBwIDAwMDAAEDCyAFQQA2AhwMAwsgBUEBNgIcDAILIAUoAgwoAhRFBEAgBUEDNgIcDAILCyAFKAIMKAIAQQ0gBSgCCBAUIAVBAjYCHAsgBSgCHCEAIAVBIGokACAACyQBAX8jAEEQayIBIAA2AgwgASABKAIMNgIIIAEoAghBAToADAuXAQEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjcDCCADIAMoAhg2AgQCQAJAIAMpAwhC/////w9YBEAgAygCBCgCFEUNAQsgAygCBCgCAEESQQAQFCADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAukAgECfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahC4ATYCAAwBCyABKAIEQRBqIQIjAEEQayIAJAAgACACNgIIAkAgACgCCBBKBEAgAEF+NgIMDAELIAAgACgCCCgCHDYCBCAAKAIEKAI4BEAgACgCCCgCKCAAKAIEKAI4IAAoAggoAiQRBAALIAAoAggoAiggACgCCCgCHCAAKAIIKAIkEQQAIAAoAghBADYCHCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgASACNgIACwJAIAEoAgAEQCABKAIEKAIAQQ0gASgCABAUIAFBADoADwwBCyABQQE6AA8LIAEtAA9BAXEhACABQRBqJAAgAAuyGAEFfyMAQRBrIgQkACAEIAA2AgggBCAEKAIINgIEIAQoAgRBADYCFCAEKAIEQQA2AhAgBCgCBEEANgIgIAQoAgRBADYCHAJAIAQoAgQtAARBAXEEQCAEKAIEQRBqIQEgBCgCBCgCCCECIwBBMGsiACQAIAAgATYCKCAAIAI2AiQgAEEINgIgIABBcTYCHCAAQQk2AhggAEEANgIUIABBwBI2AhAgAEE4NgIMIABBATYCBAJAAkACQCAAKAIQRQ0AIAAoAhAsAABB+O4ALAAARw0AIAAoAgxBOEYNAQsgAEF6NgIsDAELIAAoAihFBEAgAEF+NgIsDAELIAAoAihBADYCGCAAKAIoKAIgRQRAIAAoAihBBTYCICAAKAIoQQA2AigLIAAoAigoAiRFBEAgACgCKEEGNgIkCyAAKAIkQX9GBEAgAEEGNgIkCwJAIAAoAhxBAEgEQCAAQQA2AgQgAEEAIAAoAhxrNgIcDAELIAAoAhxBD0oEQCAAQQI2AgQgACAAKAIcQRBrNgIcCwsCQAJAIAAoAhhBAUgNACAAKAIYQQlKDQAgACgCIEEIRw0AIAAoAhxBCEgNACAAKAIcQQ9KDQAgACgCJEEASA0AIAAoAiRBCUoNACAAKAIUQQBIDQAgACgCFEEESg0AIAAoAhxBCEcNASAAKAIEQQFGDQELIABBfjYCLAwBCyAAKAIcQQhGBEAgAEEJNgIcCyAAIAAoAigoAihBAUHELSAAKAIoKAIgEQEANgIIIAAoAghFBEAgAEF8NgIsDAELIAAoAiggACgCCDYCHCAAKAIIIAAoAig2AgAgACgCCEEqNgIEIAAoAgggACgCBDYCGCAAKAIIQQA2AhwgACgCCCAAKAIcNgIwIAAoAghBASAAKAIIKAIwdDYCLCAAKAIIIAAoAggoAixBAWs2AjQgACgCCCAAKAIYQQdqNgJQIAAoAghBASAAKAIIKAJQdDYCTCAAKAIIIAAoAggoAkxBAWs2AlQgACgCCCAAKAIIKAJQQQJqQQNuNgJYIAAoAigoAiggACgCCCgCLEECIAAoAigoAiARAQAhASAAKAIIIAE2AjggACgCKCgCKCAAKAIIKAIsQQIgACgCKCgCIBEBACEBIAAoAgggATYCQCAAKAIoKAIoIAAoAggoAkxBAiAAKAIoKAIgEQEAIQEgACgCCCABNgJEIAAoAghBADYCwC0gACgCCEEBIAAoAhhBBmp0NgKcLSAAIAAoAigoAiggACgCCCgCnC1BBCAAKAIoKAIgEQEANgIAIAAoAgggACgCADYCCCAAKAIIIAAoAggoApwtQQJ0NgIMAkACQCAAKAIIKAI4RQ0AIAAoAggoAkBFDQAgACgCCCgCREUNACAAKAIIKAIIDQELIAAoAghBmgU2AgQgACgCKEG42QAoAgA2AhggACgCKBC4ARogAEF8NgIsDAELIAAoAgggACgCACAAKAIIKAKcLUEBdkEBdGo2AqQtIAAoAgggACgCCCgCCCAAKAIIKAKcLUEDbGo2ApgtIAAoAgggACgCJDYChAEgACgCCCAAKAIUNgKIASAAKAIIIAAoAiA6ACQgACgCKCEBIwBBEGsiAyQAIAMgATYCDCADKAIMIQIjAEEQayIBJAAgASACNgIIAkAgASgCCBB4BEAgAUF+NgIMDAELIAEoAghBADYCFCABKAIIQQA2AgggASgCCEEANgIYIAEoAghBAjYCLCABIAEoAggoAhw2AgQgASgCBEEANgIUIAEoAgQgASgCBCgCCDYCECABKAIEKAIYQQBIBEAgASgCBEEAIAEoAgQoAhhrNgIYCyABKAIEIAEoAgQoAhhBAkYEf0E5BUEqQfEAIAEoAgQoAhgbCzYCBAJ/IAEoAgQoAhhBAkYEQEEAQQBBABAaDAELQQBBAEEAED0LIQIgASgCCCACNgIwIAEoAgRBADYCKCABKAIEIQUjAEEQayICJAAgAiAFNgIMIAIoAgwgAigCDEGUAWo2ApgWIAIoAgxB0N8ANgKgFiACKAIMIAIoAgxBiBNqNgKkFiACKAIMQeTfADYCrBYgAigCDCACKAIMQfwUajYCsBYgAigCDEH43wA2ArgWIAIoAgxBADsBuC0gAigCDEEANgK8LSACKAIMEL4BIAJBEGokACABQQA2AgwLIAEoAgwhAiABQRBqJAAgAyACNgIIIAMoAghFBEAgAygCDCgCHCECIwBBEGsiASQAIAEgAjYCDCABKAIMIAEoAgwoAixBAXQ2AjwgASgCDCgCRCABKAIMKAJMQQFrQQF0akEAOwEAIAEoAgwoAkRBACABKAIMKAJMQQFrQQF0EDMgASgCDCABKAIMKAKEAUEMbEGA7wBqLwECNgKAASABKAIMIAEoAgwoAoQBQQxsQYDvAGovAQA2AowBIAEoAgwgASgCDCgChAFBDGxBgO8Aai8BBDYCkAEgASgCDCABKAIMKAKEAUEMbEGA7wBqLwEGNgJ8IAEoAgxBADYCbCABKAIMQQA2AlwgASgCDEEANgJ0IAEoAgxBADYCtC0gASgCDEECNgJ4IAEoAgxBAjYCYCABKAIMQQA2AmggASgCDEEANgJIIAFBEGokAAsgAygCCCEBIANBEGokACAAIAE2AiwLIAAoAiwhASAAQTBqJAAgBCABNgIADAELIAQoAgRBEGohASMAQSBrIgAkACAAIAE2AhggAEFxNgIUIABBwBI2AhAgAEE4NgIMAkACQAJAIAAoAhBFDQAgACgCECwAAEHAEiwAAEcNACAAKAIMQThGDQELIABBejYCHAwBCyAAKAIYRQRAIABBfjYCHAwBCyAAKAIYQQA2AhggACgCGCgCIEUEQCAAKAIYQQU2AiAgACgCGEEANgIoCyAAKAIYKAIkRQRAIAAoAhhBBjYCJAsgACAAKAIYKAIoQQFB0DcgACgCGCgCIBEBADYCBCAAKAIERQRAIABBfDYCHAwBCyAAKAIYIAAoAgQ2AhwgACgCBCAAKAIYNgIAIAAoAgRBADYCOCAAKAIEQbT+ADYCBCAAKAIYIQIgACgCFCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQCABKAIYEEoEQCABQX42AhwMAQsgASABKAIYKAIcNgIMAkAgASgCFEEASARAIAFBADYCECABQQAgASgCFGs2AhQMAQsgASABKAIUQQR1QQVqNgIQIAEoAhRBMEgEQCABIAEoAhRBD3E2AhQLCwJAIAEoAhRFDQAgASgCFEEITgRAIAEoAhRBD0wNAQsgAUF+NgIcDAELAkAgASgCDCgCOEUNACABKAIMKAIoIAEoAhRGDQAgASgCGCgCKCABKAIMKAI4IAEoAhgoAiQRBAAgASgCDEEANgI4CyABKAIMIAEoAhA2AgwgASgCDCABKAIUNgIoIAEoAhghAiMAQRBrIgMkACADIAI2AggCQCADKAIIEEoEQCADQX42AgwMAQsgAyADKAIIKAIcNgIEIAMoAgRBADYCLCADKAIEQQA2AjAgAygCBEEANgI0IAMoAgghBSMAQRBrIgIkACACIAU2AggCQCACKAIIEEoEQCACQX42AgwMAQsgAiACKAIIKAIcNgIEIAIoAgRBADYCICACKAIIQQA2AhQgAigCCEEANgIIIAIoAghBADYCGCACKAIEKAIMBEAgAigCCCACKAIEKAIMQQFxNgIwCyACKAIEQbT+ADYCBCACKAIEQQA2AgggAigCBEEANgIQIAIoAgRBgIACNgIYIAIoAgRBADYCJCACKAIEQQA2AjwgAigCBEEANgJAIAIoAgQgAigCBEG0CmoiBTYCcCACKAIEIAU2AlQgAigCBCAFNgJQIAIoAgRBATYCxDcgAigCBEF/NgLINyACQQA2AgwLIAIoAgwhBSACQRBqJAAgAyAFNgIMCyADKAIMIQIgA0EQaiQAIAEgAjYCHAsgASgCHCECIAFBIGokACAAIAI2AgggACgCCARAIAAoAhgoAiggACgCBCAAKAIYKAIkEQQAIAAoAhhBADYCHAsgACAAKAIINgIcCyAAKAIcIQEgAEEgaiQAIAQgATYCAAsCQCAEKAIABEAgBCgCBCgCAEENIAQoAgAQFCAEQQA6AA8MAQsgBEEBOgAPCyAELQAPQQFxIQAgBEEQaiQAIAALbwEBfyMAQRBrIgEgADYCCCABIAEoAgg2AgQCQCABKAIELQAEQQFxRQRAIAFBADYCDAwBCyABKAIEKAIIQQNIBEAgAUECNgIMDAELIAEoAgQoAghBB0oEQCABQQE2AgwMAQsgAUEANgIMCyABKAIMCywBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABKAIIEBUgAUEQaiQACzwBAX8jAEEQayIDJAAgAyAAOwEOIAMgATYCCCADIAI2AgRBASADKAIIIAMoAgQQtAEhACADQRBqJAAgAAvBEAECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBcAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCACKAIYKAJgNgJ4IAIoAhggAigCGCgCcDYCZCACKAIYQQI2AmACQCACKAIQRQ0AIAIoAhgoAnggAigCGCgCgAFPDQAgAigCGCgCLEGGAmsgAigCGCgCbCACKAIQa0kNACACKAIYIAIoAhAQtgEhACACKAIYIAA2AmACQCACKAIYKAJgQQVLDQAgAigCGCgCiAFBAUcEQCACKAIYKAJgQQNHDQEgAigCGCgCbCACKAIYKAJwa0GAIE0NAQsgAigCGEECNgJgCwsCQAJAIAIoAhgoAnhBA0kNACACKAIYKAJgIAIoAhgoAnhLDQAgAiACKAIYIgAoAmwgACgCdGpBA2s2AgggAiACKAIYKAJ4QQNrOgAHIAIgAigCGCIAKAJsIAAoAmRBf3NqOwEEIAIoAhgiACgCpC0gACgCoC1BAXRqIAIvAQQ7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvAQRBAWs7AQQgAigCGCACLQAHQdDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCGEGIE2oCfyACLwEEQYACSQRAIAIvAQQtANBZDAELIAIvAQRBB3ZBgAJqLQDQWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYIgAgACgCdCACKAIYKAJ4QQFrazYCdCACKAIYIgAgACgCeEECazYCeANAIAIoAhgiASgCbEEBaiEAIAEgADYCbCAAIAIoAghNBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCIBKAJ4QQFrIQAgASAANgJ4IAANAAsgAigCGEEANgJoIAIoAhhBAjYCYCACKAIYIgAgACgCbEEBajYCbCACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBgsLDAELAkAgAigCGCgCaARAIAIgAigCGCIAKAI4IAAoAmxqQQFrLQAAOgADIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AAyEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAANBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAgwEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHAsgAigCGCIAIAAoAmxBAWo2AmwgAigCGCIAIAAoAnRBAWs2AnQgAigCGCgCACgCEEUEQCACQQA2AhwMBgsMAQsgAigCGEEBNgJoIAIoAhgiACAAKAJsQQFqNgJsIAIoAhgiACAAKAJ0QQFrNgJ0CwsMAQsLIAIoAhgoAmgEQCACIAIoAhgiACgCOCAAKAJsakEBay0AADoAAiACKAIYIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAAIhASACKAIYIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCGCACLQACQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYQQA2AmgLIAIoAhgCfyACKAIYKAJsQQJJBEAgAigCGCgCbAwBC0ECCzYCtC0gAigCFEEERgRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQEQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkECNgIcDAILIAJBAzYCHAwBCyACKAIYKAKgLQRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQAQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkEANgIcDAILCyACQQE2AhwLIAIoAhwhACACQSBqJAAgAAuVDQECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBcAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsCQCACKAIQRQ0AIAIoAhgoAixBhgJrIAIoAhgoAmwgAigCEGtJDQAgAigCGCACKAIQELYBIQAgAigCGCAANgJgCwJAIAIoAhgoAmBBA08EQCACIAIoAhgoAmBBA2s6AAsgAiACKAIYIgAoAmwgACgCcGs7AQggAigCGCIAKAKkLSAAKAKgLUEBdGogAi8BCDsBACACLQALIQEgAigCGCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BCEEBazsBCCACKAIYIAItAAtB0N0Aai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIYQYgTagJ/IAIvAQhBgAJJBEAgAi8BCC0A0FkMAQsgAi8BCEEHdkGAAmotANBZC0ECdGoiACAALwEAQQFqOwEAIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0IAIoAhgoAmBrNgJ0AkACQCACKAIYKAJgIAIoAhgoAoABSw0AIAIoAhgoAnRBA0kNACACKAIYIgAgACgCYEEBazYCYANAIAIoAhgiACAAKAJsQQFqNgJsIAIoAhggAigCGCgCVCACKAIYKAI4IAIoAhgoAmxBAmpqLQAAIAIoAhgoAkggAigCGCgCWHRzcTYCSCACKAIYKAJAIAIoAhgoAmwgAigCGCgCNHFBAXRqIAIoAhgoAkQgAigCGCgCSEEBdGovAQAiADsBACACIABB//8DcTYCECACKAIYKAJEIAIoAhgoAkhBAXRqIAIoAhgoAmw7AQAgAigCGCIBKAJgQQFrIQAgASAANgJgIAANAAsgAigCGCIAIAAoAmxBAWo2AmwMAQsgAigCGCIAIAIoAhgoAmAgACgCbGo2AmwgAigCGEEANgJgIAIoAhggAigCGCgCOCACKAIYKAJsai0AADYCSCACKAIYIAIoAhgoAlQgAigCGCgCOCACKAIYKAJsQQFqai0AACACKAIYKAJIIAIoAhgoAlh0c3E2AkgLDAELIAIgAigCGCIAKAI4IAAoAmxqLQAAOgAHIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAAdBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0QQFrNgJ0IAIoAhgiACAAKAJsQQFqNgJsCyACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBAsLDAELCyACKAIYAn8gAigCGCgCbEECSQRAIAIoAhgoAmwMAQtBAgs2ArQtIAIoAhRBBEYEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EBECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBAjYCHAwCCyACQQM2AhwMAQsgAigCGCgCoC0EQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBADYCHAwCCwsgAkEBNgIcCyACKAIcIQAgAkEgaiQAIAALBwAgAC8BMAspAQF/IwBBEGsiAiQAIAIgADYCDCACIAE2AgggAigCCBAVIAJBEGokAAs6AQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgggAygCBGwQGCEAIANBEGokACAAC84FAQF/IwBB0ABrIgUkACAFIAA2AkQgBSABNgJAIAUgAjYCPCAFIAM3AzAgBSAENgIsIAUgBSgCQDYCKAJAAkACQAJAAkACQAJAAkACQCAFKAIsDg8AAQIDBQYHBwcHBwcHBwQHCwJ/IAUoAkQhASAFKAIoIQIjAEHgAGsiACQAIAAgATYCWCAAIAI2AlQgACAAKAJYIABByABqQgwQKyIDNwMIAkAgA0IAUwRAIAAoAlQgACgCWBAXIABBfzYCXAwBCyAAKQMIQgxSBEAgACgCVEERQQAQFCAAQX82AlwMAQsgACgCVCAAQcgAaiAAQcgAakIMQQAQfCAAKAJYIABBEGoQOUEASARAIABBADYCXAwBCyAAKAI4IABBBmogAEEEahCNAQJAIAAtAFMgACgCPEEYdkYNACAALQBTIAAvAQZBCHZGDQAgACgCVEEbQQAQFCAAQX82AlwMAQsgAEEANgJcCyAAKAJcIQEgAEHgAGokACABQQBICwRAIAVCfzcDSAwICyAFQgA3A0gMBwsgBSAFKAJEIAUoAjwgBSkDMBArIgM3AyAgA0IAUwRAIAUoAiggBSgCRBAXIAVCfzcDSAwHCyAFKAJAIAUoAjwgBSgCPCAFKQMgQQAQfCAFIAUpAyA3A0gMBgsgBUIANwNIDAULIAUgBSgCPDYCHCAFKAIcQQA7ATIgBSgCHCIAIAApAwBCgAGENwMAIAUoAhwpAwBCCINCAFIEQCAFKAIcIgAgACkDIEIMfTcDIAsgBUIANwNIDAQLIAVBfzYCFCAFQQU2AhAgBUEENgIMIAVBAzYCCCAFQQI2AgQgBUEBNgIAIAVBACAFEDQ3A0gMAwsgBSAFKAIoIAUoAjwgBSkDMBBDNwNIDAILIAUoAigQvwEgBUIANwNIDAELIAUoAihBEkEAEBQgBUJ/NwNICyAFKQNIIQMgBUHQAGokACADC+4CAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAUgAzYCDCAFIAQ2AggCQAJAAkAgBSgCCEUNACAFKAIURQ0AIAUvARJBAUYNAQsgBSgCGEEIakESQQAQFCAFQQA2AhwMAQsgBSgCDEEBcQRAIAUoAhhBCGpBGEEAEBQgBUEANgIcDAELIAVBGBAYIgA2AgQgAEUEQCAFKAIYQQhqQQ5BABAUIAVBADYCHAwBCyMAQRBrIgAgBSgCBDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCAFKAIEQfis0ZEBNgIMIAUoAgRBic+VmgI2AhAgBSgCBEGQ8dmiAzYCFCAFKAIEQQAgBSgCCCAFKAIIEC6tQQEQfCAFIAUoAhggBSgCFEEDIAUoAgQQYSIANgIAIABFBEAgBSgCBBC/ASAFQQA2AhwMAQsgBSAFKAIANgIcCyAFKAIcIQAgBUEgaiQAIAALBwAgACgCIAu9GAECfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1ggBCADNgJUIAQgBCgCZDYCUAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCgCVA4UBgcCDAQFCg8AAwkRCxAOCBIBEg0SC0EAQgBBACAEKAJQEEwhACAEKAJQIAA2AhQgAEUEQCAEQn83A2gMEwsgBCgCUCgCFEIANwM4IAQoAlAoAhRCADcDQCAEQgA3A2gMEgsgBCgCUCgCECEBIAQpA1ghAiAEKAJQIQMjAEFAaiIAJAAgACABNgI4IAAgAjcDMCAAIAM2AiwCQCAAKQMwUARAIABBAEIAQQEgACgCLBBMNgI8DAELIAApAzAgACgCOCkDMFYEQCAAKAIsQRJBABAUIABBADYCPAwBCyAAKAI4KAIoBEAgACgCLEEdQQAQFCAAQQA2AjwMAQsgACAAKAI4IAApAzAQwAE3AyAgACAAKQMwIAAoAjgoAgQgACkDIKdBA3RqKQMAfTcDGCAAKQMYUARAIAAgACkDIEIBfTcDICAAIAAoAjgoAgAgACkDIKdBBHRqKQMINwMYCyAAIAAoAjgoAgAgACkDIKdBBHRqKQMIIAApAxh9NwMQIAApAxAgACkDMFYEQCAAKAIsQRxBABAUIABBADYCPAwBCyAAIAAoAjgoAgAgACkDIEIBfEEAIAAoAiwQTCIBNgIMIAFFBEAgAEEANgI8DAELIAAoAgwoAgAgACgCDCkDCEIBfadBBHRqIAApAxg3AwggACgCDCgCBCAAKAIMKQMIp0EDdGogACkDMDcDACAAKAIMIAApAzA3AzAgACgCDAJ+IAAoAjgpAxggACgCDCkDCEIBfVQEQCAAKAI4KQMYDAELIAAoAgwpAwhCAX0LNwMYIAAoAjggACgCDDYCKCAAKAIMIAAoAjg2AiggACgCOCAAKAIMKQMINwMgIAAoAgwgACkDIEIBfDcDICAAIAAoAgw2AjwLIAAoAjwhASAAQUBrJAAgASEAIAQoAlAgADYCFCAARQRAIARCfzcDaAwSCyAEKAJQKAIUIAQpA1g3AzggBCgCUCgCFCAEKAJQKAIUKQMINwNAIARCADcDaAwRCyAEQgA3A2gMEAsgBCgCUCgCEBAyIAQoAlAgBCgCUCgCFDYCECAEKAJQQQA2AhQgBEIANwNoDA8LIAQgBCgCUCAEKAJgIAQpA1gQQzcDaAwOCyAEKAJQKAIQEDIgBCgCUCgCFBAyIAQoAlAQFSAEQgA3A2gMDQsgBCgCUCgCEEIANwM4IAQoAlAoAhBCADcDQCAEQgA3A2gMDAsgBCkDWEL///////////8AVgRAIAQoAlBBEkEAEBQgBEJ/NwNoDAwLIAQoAlAoAhAhASAEKAJgIQMgBCkDWCECIwBBQGoiACQAIAAgATYCNCAAIAM2AjAgACACNwMoIAACfiAAKQMoIAAoAjQpAzAgACgCNCkDOH1UBEAgACkDKAwBCyAAKAI0KQMwIAAoAjQpAzh9CzcDKAJAIAApAyhQBEAgAEIANwM4DAELIAApAyhC////////////AFYEQCAAQn83AzgMAQsgACAAKAI0KQNANwMYIAAgACgCNCkDOCAAKAI0KAIEIAApAxinQQN0aikDAH03AxAgAEIANwMgA0AgACkDICAAKQMoVARAIAACfiAAKQMoIAApAyB9IAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9VARAIAApAyggACkDIH0MAQsgACgCNCgCACAAKQMYp0EEdGopAwggACkDEH0LNwMIIAAoAjAgACkDIKdqIAAoAjQoAgAgACkDGKdBBHRqKAIAIAApAxCnaiAAKQMIpxAZGiAAKQMIIAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9UQRAIAAgACkDGEIBfDcDGAsgACAAKQMIIAApAyB8NwMgIABCADcDEAwBCwsgACgCNCIBIAApAyAgASkDOHw3AzggACgCNCAAKQMYNwNAIAAgACkDIDcDOAsgACkDOCECIABBQGskACAEIAI3A2gMCwsgBEEAQgBBACAEKAJQEEw2AkwgBCgCTEUEQCAEQn83A2gMCwsgBCgCUCgCEBAyIAQoAlAgBCgCTDYCECAEQgA3A2gMCgsgBCgCUCgCFBAyIAQoAlBBADYCFCAEQgA3A2gMCQsgBCAEKAJQKAIQIAQoAmAgBCkDWCAEKAJQEMEBrDcDaAwICyAEIAQoAlAoAhQgBCgCYCAEKQNYIAQoAlAQwQGsNwNoDAcLIAQpA1hCOFQEQCAEKAJQQRJBABAUIARCfzcDaAwHCyAEIAQoAmA2AkggBCgCSBA7IAQoAkggBCgCUCgCDDYCKCAEKAJIIAQoAlAoAhApAzA3AxggBCgCSCAEKAJIKQMYNwMgIAQoAkhBADsBMCAEKAJIQQA7ATIgBCgCSELcATcDACAEQjg3A2gMBgsgBCgCUCAEKAJgKAIANgIMIARCADcDaAwFCyAEQX82AkAgBEETNgI8IARBCzYCOCAEQQ02AjQgBEEMNgIwIARBCjYCLCAEQQ82AiggBEEJNgIkIARBETYCICAEQQg2AhwgBEEHNgIYIARBBjYCFCAEQQU2AhAgBEEENgIMIARBAzYCCCAEQQI2AgQgBEEBNgIAIARBACAEEDQ3A2gMBAsgBCgCUCgCECkDOEL///////////8AVgRAIAQoAlBBHkE9EBQgBEJ/NwNoDAQLIAQgBCgCUCgCECkDODcDaAwDCyAEKAJQKAIUKQM4Qv///////////wBWBEAgBCgCUEEeQT0QFCAEQn83A2gMAwsgBCAEKAJQKAIUKQM4NwNoDAILIAQpA1hC////////////AFYEQCAEKAJQQRJBABAUIARCfzcDaAwCCyAEKAJQKAIUIQEgBCgCYCEDIAQpA1ghAiAEKAJQIQUjAEHgAGsiACQAIAAgATYCVCAAIAM2AlAgACACNwNIIAAgBTYCRAJAIAApA0ggACgCVCkDOCAAKQNIfEL//wN8VgRAIAAoAkRBEkEAEBQgAEJ/NwNYDAELIAAgACgCVCgCBCAAKAJUKQMIp0EDdGopAwA3AyAgACkDICAAKAJUKQM4IAApA0h8VARAIAAgACgCVCkDCCAAKQNIIAApAyAgACgCVCkDOH19Qv//A3xCEIh8NwMYIAApAxggACgCVCkDEFYEQCAAIAAoAlQpAxA3AxAgACkDEFAEQCAAQhA3AxALA0AgACkDECAAKQMYVARAIAAgACkDEEIBhjcDEAwBCwsgACgCVCAAKQMQIAAoAkQQwgFBAXFFBEAgACgCREEOQQAQFCAAQn83A1gMAwsLA0AgACgCVCkDCCAAKQMYVARAQYCABBAYIQEgACgCVCgCACAAKAJUKQMIp0EEdGogATYCACABBEAgACgCVCgCACAAKAJUKQMIp0EEdGpCgIAENwMIIAAoAlQiASABKQMIQgF8NwMIIAAgACkDIEKAgAR8NwMgIAAoAlQoAgQgACgCVCkDCKdBA3RqIAApAyA3AwAMAgUgACgCREEOQQAQFCAAQn83A1gMBAsACwsLIAAgACgCVCkDQDcDMCAAIAAoAlQpAzggACgCVCgCBCAAKQMwp0EDdGopAwB9NwMoIABCADcDOANAIAApAzggACkDSFQEQCAAAn4gACkDSCAAKQM4fSAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVQEQCAAKQNIIAApAzh9DAELIAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9CzcDCCAAKAJUKAIAIAApAzCnQQR0aigCACAAKQMop2ogACgCUCAAKQM4p2ogACkDCKcQGRogACkDCCAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVEEQCAAIAApAzBCAXw3AzALIAAgACkDCCAAKQM4fDcDOCAAQgA3AygMAQsLIAAoAlQiASAAKQM4IAEpAzh8NwM4IAAoAlQgACkDMDcDQCAAKAJUKQM4IAAoAlQpAzBWBEAgACgCVCAAKAJUKQM4NwMwCyAAIAApAzg3A1gLIAApA1ghAiAAQeAAaiQAIAQgAjcDaAwBCyAEKAJQQRxBABAUIARCfzcDaAsgBCkDaCECIARB8ABqJAAgAgsHACAAKAIACxgAQaibAUIANwIAQbCbAUEANgIAQaibAQuGAQIEfwF+IwBBEGsiASQAAkAgACkDMFAEQAwBCwNAAkAgACAFQQAgAUEPaiABQQhqEIoBIgRBf0YNACABLQAPQQNHDQAgAiABKAIIQYCAgIB/cUGAgICAekZqIQILQX8hAyAEQX9GDQEgAiEDIAVCAXwiBSAAKQMwVA0ACwsgAUEQaiQAIAMLC4GNASMAQYAIC4EMaW5zdWZmaWNpZW50IG1lbW9yeQBuZWVkIGRpY3Rpb25hcnkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQASW52YWxpZCBhcmd1bWVudABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABGaWxlIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMAJXMlcyVzAGJ1ZmZlciBlcnJvcgBObyBlcnJvcgBzdHJlYW0gZXJyb3IAVGVsbCBlcnJvcgBJbnRlcm5hbCBlcnJvcgBTZWVrIGVycm9yAFdyaXRlIGVycm9yAGZpbGUgZXJyb3IAUmVhZCBlcnJvcgBabGliIGVycm9yAGRhdGEgZXJyb3IAQ1JDIGVycm9yAGluY29tcGF0aWJsZSB2ZXJzaW9uAG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";ug(Io)||(Io=h(Io));function gg(d){try{if(d==Io&&V)return new Uint8Array(V);var E=Ca(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function Bp(d,E){var I,k,L;try{L=gg(d),k=new WebAssembly.Module(L),I=new WebAssembly.Instance(k,E)}catch(te){var Z=te.toString();throw D("failed to compile wasm module: "+Z),(Z.includes("imported Memory")||Z.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function bp(){var d={a:ma};function E(L,Z){var te=L.exports;t.asm=te,A=t.asm.u,Mr(A.buffer),gi=t.asm.pa,CA(t.asm.v),IA("wasm-instantiate")}if(EA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(L){return D("Module.instantiateWasm callback failed with error: "+L),!1}var k=Bp(Io,d);return E(k[0]),t.asm}var vr,se;function yo(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Fn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=L,Fn.GMTString||(Fn.GMTString=Be("GMT")),de[E+40>>2]=Fn.GMTString,E}function fg(d,E){return Fn(d,E)}var bt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var L=d[k];L==="."?d.splice(k,1):L===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=bt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=bt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=bt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return bt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return bt.normalize(d.join("/"))},join2:function(d,E){return bt.normalize(d+"/"+E)}};function Ll(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var Nn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=bt.normalizeArray(d.split("/").filter(function(L){return!!L}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Nn.resolve(d).substr(1),E=Nn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),L=I(E.split("/")),Z=Math.min(k.length,L.length),te=Z,we=0;we0?E=k.slice(0,L).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)}`}}};Yt.RequestError=ei;var oB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=oB;var aB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=aB;var AB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=AB;var lB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=lB;var cB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=cB;var bC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=bC;var uB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=uB;var IDe=["socket","connect","continue","information","upgrade","timeout"],gB=class extends c6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Yf]=0,this[qf]=0,this.requestInitialized=!1,this[iB]=new Set,this.redirects=[],this[Jf]=!1,this[nB]=!1,this[BC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof $Pe.ReadStream&&await CDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[BC])g();this[BC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new VA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([d6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=sDe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof VA.URLSearchParams)h=new VA.URLSearchParams(t.searchParams);else{pDe(t.searchParams),h=new VA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=p6.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=p6.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new VA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new VA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new uB(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=l6.promisify(h.bind(t.cookieJar)),p=l6.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(CR.has(g)||CR.set(g,new g6((h,p)=>{let C=h[Pi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)pR||(pR=new rDe.default),t.dnsCache=pR;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&XA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&XA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&XA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&XA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&XA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&XA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&XA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&XA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),gDe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof c6.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!f6.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(f6.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ZA]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[ZA]=new VA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[ZA]=e.stringifyJson(e.json));let c=await oDe.default(this[ZA],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[jf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[I6]=e,t.decompress&&(e=iDe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:u6.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[m6]=s.isFromCache,this[Gf]=Number(e.headers["content-length"])||void 0,this[sB]=e,e.once("end",()=>{this[Gf]=this[Yf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new bC(a,this))}),e.once("aborted",()=>{this._beforeError(new bC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&mDe.has(n)){if(e.resume(),this[Pi]&&(this[dR](),delete this[Pi],this[C6]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[ZA]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new oB(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new VA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!uDe.isResponseOk(s)){this._beforeError(new aB(s));return}e.on("readable",()=>{this[nB]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[iB])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;tDe.default(e),this[dR]=h6.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof h6.TimeoutError?new cB(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[C6]=aDe.default(e,this,IDe),this[Pi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[ZA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new lB(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,ADe.default(e)),delete t.url;let s,o=CR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=hDe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[ZA]!==o.body&&(this[ZA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=nDe.auto:h=f?eDe.request:u6.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Pi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=d6.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),dDe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof g6.CacheError?new AB(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Jf])return;let{options:t}=this,i=this.retryCount+1;this[Jf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await cDe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:fDe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[y6]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[nB]=!0;let e=this[sB];if(e&&!this[Jf]){e.readableLength&&(this[nB]=!1);let t;for(;(t=e.read())!==null;){this[Yf]+=t.length,this[E6]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[BC].push(n)}_writeRequest(e,t,i){this[Pi].destroyed||(this._progressCallbacks.push(()=>{this[qf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Pi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Pi in this)){e();return}if(this[Pi].destroyed){e();return}this[Pi].end(i=>{i||(this[jf]=this[qf],this.emit("uploadProgress",this.uploadProgress),this[Pi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[BC].push(t)}_destroy(e,t){var i;this[Jf]=!0,clearTimeout(this[y6]),Pi in this&&(this[dR](),!((i=this[sB])===null||i===void 0)&&i.complete||this[Pi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Jf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Pi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[I6])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[Pi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Gf]?e=this[Yf]/this[Gf]:this[Gf]===this[Yf]?e=1:e=0,{percent:e,transferred:this[Yf],total:this[Gf]}}get uploadProgress(){let e;return this[jf]?e=this[qf]/this[jf]:this[jf]===this[qf]?e=1:e=0,{percent:e,transferred:this[qf],total:this[jf]}}get timings(){var e;return(e=this[Pi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[m6]}pipe(e,t){if(this[E6])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hR.ServerResponse&&this[iB].add(e),super.pipe(e,t)}unpipe(e){return e instanceof hR.ServerResponse&&this[iB].delete(e),super.unpipe(e),this}};Yt.default=gB});var SC=w(Ao=>{"use strict";var yDe=Ao&&Ao.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),wDe=Ao&&Ao.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&yDe(e,r,t)};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.CancelError=Ao.ParseError=void 0;var w6=QC(),mR=class extends w6.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};Ao.ParseError=mR;var ER=class extends w6.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Ao.CancelError=ER;wDe(QC(),Ao)});var b6=w(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var B6=SC(),BDe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new B6.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new B6.ParseError(s,r)}};IR.default=BDe});var yR=w(_A=>{"use strict";var bDe=_A&&_A.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),QDe=_A&&_A.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&bDe(e,r,t)};Object.defineProperty(_A,"__esModule",{value:!0});var SDe=J("events"),vDe=Ya(),xDe=bz(),fB=SC(),Q6=b6(),S6=QC(),PDe=iR(),DDe=cR(),v6=uR(),kDe=["request","response","redirect","uploadProgress","downloadProgress"];function x6(r){let e,t,i=new SDe.EventEmitter,n=new xDe((o,a,l)=>{let c=u=>{let g=new S6.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new fB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await DDe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=Q6.default(p,D.responseType,D.parseJson,D.encoding)}catch(T){if(p.body=y.toString(),v6.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=S6.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let W of $.hooks.beforeRetry)await W($);let V=x6($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(T){g._beforeError(new fB.RequestError(T.message,T,g));return}if(!v6.isResponseOk(p)){g._beforeError(new fB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof fB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&vDe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),PDe.default(g,i,kDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return Q6.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}_A.default=x6;QDe(SC(),_A)});var P6=w(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var RDe=SC();function FDe(r,...e){let t=(async()=>{if(r instanceof RDe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}wR.default=FDe});var R6=w(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var D6=Ya();function k6(r){for(let e of Object.values(r))(D6.default.plainObject(e)||D6.default.array(e))&&k6(e);return Object.freeze(r)}BR.default=k6});var N6=w(F6=>{"use strict";Object.defineProperty(F6,"__esModule",{value:!0})});var bR=w(Qs=>{"use strict";var NDe=Qs&&Qs.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),TDe=Qs&&Qs.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&NDe(e,r,t)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.defaultHandler=void 0;var T6=Ya(),bs=yR(),LDe=P6(),pB=QC(),MDe=R6(),ODe={RequestError:bs.RequestError,CacheError:bs.CacheError,ReadError:bs.ReadError,HTTPError:bs.HTTPError,MaxRedirectsError:bs.MaxRedirectsError,TimeoutError:bs.TimeoutError,ParseError:bs.ParseError,CancelError:bs.CancelError,UnsupportedProtocolError:bs.UnsupportedProtocolError,UploadError:bs.UploadError},KDe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:hB}=pB.default,L6=(...r)=>{let e;for(let t of r)e=hB(void 0,t,e);return e},UDe=r=>r.isStream?new pB.default(void 0,r):bs.default(r),HDe=r=>"defaults"in r&&"options"in r.defaults,GDe=["get","post","put","patch","head","delete"];Qs.defaultHandler=(r,e)=>e(r);var M6=(r,e)=>{if(r)for(let t of r)t(e)},O6=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?UDe:c);if(T6.default.plainObject(i)){let u={...i,...n};pB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{M6(r.options.hooks.init,n),M6((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=hB(i,n,s!=null?s:r.options);if(g[pB.kIsNormalizedAlready]=!0,u)throw new bs.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return LDe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)HDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Qs.defaultHandler),s.length===0&&s.push(Qs.defaultHandler),O6({options:L6(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=hB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!T6.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of GDe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,ODe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:MDe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=L6,e};Qs.default=O6;TDe(N6(),Qs)});var CB=w((ja,dB)=>{"use strict";var YDe=ja&&ja.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),K6=ja&&ja.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&YDe(e,r,t)};Object.defineProperty(ja,"__esModule",{value:!0});var jDe=J("url"),U6=bR(),qDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new jDe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[U6.defaultHandler],mutableDefaults:!1},QR=U6.default(qDe);ja.default=QR;dB.exports=QR;dB.exports.default=QR;dB.exports.__esModule=!0;K6(bR(),ja);K6(yR(),ja)});var j6=w(Wf=>{"use strict";var ost=J("net"),JDe=J("tls"),SR=J("http"),H6=J("https"),WDe=J("events"),ast=J("assert"),zDe=J("util");Wf.httpOverHttp=VDe;Wf.httpsOverHttp=XDe;Wf.httpOverHttps=ZDe;Wf.httpsOverHttps=_De;function VDe(r){var e=new qa(r);return e.request=SR.request,e}function XDe(r){var e=new qa(r);return e.request=SR.request,e.createSocket=G6,e.defaultPort=443,e}function ZDe(r){var e=new qa(r);return e.request=H6.request,e}function _De(r){var e=new qa(r);return e.request=H6.request,e.createSocket=G6,e.defaultPort=443,e}function qa(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Y6(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};qa.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=vR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),$A("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){$A("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){$A("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return $A("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),$A(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};qa.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function G6(r,e){var t=this;qa.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=JDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function Y6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e{q6.exports=j6()});var iV=w((IB,FR)=>{var rV=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=Ca(E);return k?I?k:k.toString():(y||(y=rV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function H(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return he[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,Ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function M(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,L){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var be=(it.length<<2)+1;Et=b(be),oe(it,Et,be)}return Et},array:function(it){var Et=b(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var we=M(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++L;if(L-E>16&&d.subarray&&pe)return pe.decode(d.subarray(E,L));for(var Z="";E>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var L=I,Z=I+k-1,te=0;te=55296&&we<=57343){var me=d.charCodeAt(++te);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=Z)break;E[I++]=we}else if(we<=2047){if(I+1>=Z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=Z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=Z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-L}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function Be(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,he,ie,de,_e,Pt,It;function Mr(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=he=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=_e=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ks=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)fa(t.preRun.shift());wo(hr)}function Ii(){Ks=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ns.init(),wo(fi)}function rs(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)cg(t.postRun.shift());wo(ni)}function fa(d){hr.unshift(d)}function dA(d){fi.unshift(d)}function cg(d){ni.unshift(d)}var is=0,CA=null,ha=null;function wp(d){return d}function mA(d){is++,t.monitorRunDependencies&&t.monitorRunDependencies(is)}function EA(d){if(is--,t.monitorRunDependencies&&t.monitorRunDependencies(is),is==0&&(CA!==null&&(clearInterval(CA),CA=null),ha)){var E=ha;ha=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),Ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var Tl="data:application/octet-stream;base64,";function ug(d){return d.startsWith(Tl)}var yo="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyABKAJcQYUPNgIYIAEoAlRB0f4ANgIEDAQLDAILIAEoAgxBwABxRQRAIAEgASgCJCABLwESIAEoAixBASABKAIMdEEBa3FqQQJ0aigBADYBEAwBCwsgASgCDEEgcQRAIAEoAlRBv/4ANgIEDAILIAEoAlxB6Q42AhggASgCVEHR/gA2AgQMAQsgASgCUCABKAJMSQR/IAEoAkggASgCQEkFQQALQQFxDQELCyABIAEoAihBA3Y2AgggASABKAJQIAEoAghrNgJQIAEgASgCKCABKAIIQQN0azYCKCABIAEoAixBASABKAIodEEBa3E2AiwgASgCXCABKAJQNgIAIAEoAlwgASgCSDYCDCABKAJcAn8gASgCUCABKAJMSQRAIAEoAkwgASgCUGtBBWoMAQtBBSABKAJQIAEoAkxraws2AgQgASgCXAJ/IAEoAkggASgCQEkEQCABKAJAIAEoAkhrQYECagwBC0GBAiABKAJIIAEoAkBraws2AhAgASgCVCABKAIsNgI8IAEoAlQgASgCKDYCQCAAIAAoAlgoAgw2AkggACAAKAJYKAIQNgJAIAAgACgCWCgCADYCTCAAIAAoAlgoAgQ2AkQgACAAKAJQKAI8NgI8IAAgACgCUCgCQDYCOCAAKAJQKAIEQb/+AEYEQCAAKAJQQX82Asg3CwwNCyAAKAJQQQA2Asg3A0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDQ0gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC0AIEUNACAALQAgQfABcQ0AIAAgACgBIDYBGANAAkAgACAAKAJQKAJQIAAvARogACgCPEEBIAAtABkgAC0AGGp0QQFrcSAALQAZdmpBAnRqKAEANgEgIAAoAjggAC0AGSAALQAhak8NACAAKAJERQ0OIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AGXY2AjwgACAAKAI4IAAtABlrNgI4IAAoAlAiASAALQAZIAEoAsg3ajYCyDcLIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggACgCUCIBIAAtACEgASgCyDdqNgLINyAAKAJQIAAvASI2AkQgAC0AIEUEQCAAKAJQQc3+ADYCBAwNCyAALQAgQSBxBEAgACgCUEF/NgLINyAAKAJQQb/+ADYCBAwNCyAALQAgQcAAcQRAIAAoAlhB6Q42AhggACgCUEHR/gA2AgQMDQsgACgCUCAALQAgQQ9xNgJMIAAoAlBByf4ANgIECyAAKAJQKAJMBEADQCAAKAI4IAAoAlAoAkxJBEAgACgCREUNDSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCIBIAEoAkQgACgCPEEBIAAoAlAoAkx0QQFrcWo2AkQgACAAKAI8IAAoAlAoAkx2NgI8IAAgACgCOCAAKAJQKAJMazYCOCAAKAJQIgEgACgCUCgCTCABKALIN2o2Asg3CyAAKAJQIAAoAlAoAkQ2Asw3IAAoAlBByv4ANgIECwNAAkAgACAAKAJQKAJUIAAoAjxBASAAKAJQKAJcdEEBa3FBAnRqKAEANgEgIAAtACEgACgCOE0NACAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAALQAgQfABcUUEQCAAIAAoASA2ARgDQAJAIAAgACgCUCgCVCAALwEaIAAoAjxBASAALQAZIAAtABhqdEEBa3EgAC0AGXZqQQJ0aigBADYBICAAKAI4IAAtABkgAC0AIWpPDQAgACgCREUNDCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtABl2NgI8IAAgACgCOCAALQAZazYCOCAAKAJQIgEgAC0AGSABKALIN2o2Asg3CyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAiASAALQAhIAEoAsg3ajYCyDcgAC0AIEHAAHEEQCAAKAJYQYUPNgIYIAAoAlBB0f4ANgIEDAsLIAAoAlAgAC8BIjYCSCAAKAJQIAAtACBBD3E2AkwgACgCUEHL/gA2AgQLIAAoAlAoAkwEQANAIAAoAjggACgCUCgCTEkEQCAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIgEgASgCSCAAKAI8QQEgACgCUCgCTHRBAWtxajYCSCAAIAAoAjwgACgCUCgCTHY2AjwgACAAKAI4IAAoAlAoAkxrNgI4IAAoAlAiASAAKAJQKAJMIAEoAsg3ajYCyDcLIAAoAlBBzP4ANgIECyAAKAJARQ0HIAAgACgCMCAAKAJAazYCLAJAIAAoAlAoAkggACgCLEsEQCAAIAAoAlAoAkggACgCLGs2AiwgACgCLCAAKAJQKAIwSwRAIAAoAlAoAsQ3BEAgACgCWEHdDDYCGCAAKAJQQdH+ADYCBAwMCwsCQCAAKAIsIAAoAlAoAjRLBEAgACAAKAIsIAAoAlAoAjRrNgIsIAAgACgCUCgCOCAAKAJQKAIsIAAoAixrajYCKAwBCyAAIAAoAlAoAjggACgCUCgCNCAAKAIsa2o2AigLIAAoAiwgACgCUCgCREsEQCAAIAAoAlAoAkQ2AiwLDAELIAAgACgCSCAAKAJQKAJIazYCKCAAIAAoAlAoAkQ2AiwLIAAoAiwgACgCQEsEQCAAIAAoAkA2AiwLIAAgACgCQCAAKAIsazYCQCAAKAJQIgEgASgCRCAAKAIsazYCRANAIAAgACgCKCIBQQFqNgIoIAEtAAAhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAIsQQFrIgE2AiwgAQ0ACyAAKAJQKAJERQRAIAAoAlBByP4ANgIECwwICyAAKAJARQ0GIAAoAlAoAkQhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAJAQQFrNgJAIAAoAlBByP4ANgIEDAcLIAAoAlAoAgwEQANAIAAoAjhBIEkEQCAAKAJERQ0IIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjAgACgCQGs2AjAgACgCWCIBIAAoAjAgASgCFGo2AhQgACgCUCIBIAAoAjAgASgCIGo2AiACQCAAKAJQKAIMQQRxRQ0AIAAoAjBFDQACfyAAKAJQKAIUBEAgACgCUCgCHCAAKAJIIAAoAjBrIAAoAjAQGgwBCyAAKAJQKAIcIAAoAkggACgCMGsgACgCMBA9CyEBIAAoAlAgATYCHCAAKAJYIAE2AjALIAAgACgCQDYCMAJAIAAoAlAoAgxBBHFFDQACfyAAKAJQKAIUBEAgACgCPAwBCyAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoLIAAoAlAoAhxGDQAgACgCWEHIDDYCGCAAKAJQQdH+ADYCBAwICyAAQQA2AjwgAEEANgI4CyAAKAJQQc/+ADYCBAsCQCAAKAJQKAIMRQ0AIAAoAlAoAhRFDQADQCAAKAI4QSBJBEAgACgCREUNByAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPCAAKAJQKAIgRwRAIAAoAlhBsQw2AhggACgCUEHR/gA2AgQMBwsgAEEANgI8IABBADYCOAsgACgCUEHQ/gA2AgQLIABBATYCEAwDCyAAQX02AhAMAgsgAEF8NgJcDAMLIABBfjYCXAwCCwsgACgCWCAAKAJINgIMIAAoAlggACgCQDYCECAAKAJYIAAoAkw2AgAgACgCWCAAKAJENgIEIAAoAlAgACgCPDYCPCAAKAJQIAAoAjg2AkACQAJAIAAoAlAoAiwNACAAKAIwIAAoAlgoAhBGDQEgACgCUCgCBEHR/gBPDQEgACgCUCgCBEHO/gBJDQAgACgCVEEERg0BCwJ/IAAoAlghAiAAKAJYKAIMIQMgACgCMCAAKAJYKAIQayEEIwBBIGsiASQAIAEgAjYCGCABIAM2AhQgASAENgIQIAEgASgCGCgCHDYCDAJAIAEoAgwoAjhFBEAgASgCGCgCKEEBIAEoAgwoAih0QQEgASgCGCgCIBEBACECIAEoAgwgAjYCOCABKAIMKAI4RQRAIAFBATYCHAwCCwsgASgCDCgCLEUEQCABKAIMQQEgASgCDCgCKHQ2AiwgASgCDEEANgI0IAEoAgxBADYCMAsCQCABKAIQIAEoAgwoAixPBEAgASgCDCgCOCABKAIUIAEoAgwoAixrIAEoAgwoAiwQGRogASgCDEEANgI0IAEoAgwgASgCDCgCLDYCMAwBCyABIAEoAgwoAiwgASgCDCgCNGs2AgggASgCCCABKAIQSwRAIAEgASgCEDYCCAsgASgCDCgCOCABKAIMKAI0aiABKAIUIAEoAhBrIAEoAggQGRogASABKAIQIAEoAghrNgIQAkAgASgCEARAIAEoAgwoAjggASgCFCABKAIQayABKAIQEBkaIAEoAgwgASgCEDYCNCABKAIMIAEoAgwoAiw2AjAMAQsgASgCDCICIAEoAgggAigCNGo2AjQgASgCDCgCNCABKAIMKAIsRgRAIAEoAgxBADYCNAsgASgCDCgCMCABKAIMKAIsSQRAIAEoAgwiAiABKAIIIAIoAjBqNgIwCwsLIAFBADYCHAsgASgCHCECIAFBIGokACACCwRAIAAoAlBB0v4ANgIEIABBfDYCXAwCCwsgACAAKAI0IAAoAlgoAgRrNgI0IAAgACgCMCAAKAJYKAIQazYCMCAAKAJYIgEgACgCNCABKAIIajYCCCAAKAJYIgEgACgCMCABKAIUajYCFCAAKAJQIgEgACgCMCABKAIgajYCIAJAIAAoAlAoAgxBBHFFDQAgACgCMEUNAAJ/IAAoAlAoAhQEQCAAKAJQKAIcIAAoAlgoAgwgACgCMGsgACgCMBAaDAELIAAoAlAoAhwgACgCWCgCDCAAKAIwayAAKAIwED0LIQEgACgCUCABNgIcIAAoAlggATYCMAsgACgCWCAAKAJQKAJAQcAAQQAgACgCUCgCCBtqQYABQQAgACgCUCgCBEG//gBGG2pBgAJBACAAKAJQKAIEQcf+AEcEfyAAKAJQKAIEQcL+AEYFQQELQQFxG2o2AiwCQAJAIAAoAjRFBEAgACgCMEUNAQsgACgCVEEERw0BCyAAKAIQDQAgAEF7NgIQCyAAIAAoAhA2AlwLIAAoAlwhASAAQeAAaiQAIAUgATYCCAsgBSgCECIAIAApAwAgBSgCDDUCIH03AwACQAJAAkACQAJAIAUoAghBBWoOBwIDAwMDAAEDCyAFQQA2AhwMAwsgBUEBNgIcDAILIAUoAgwoAhRFBEAgBUEDNgIcDAILCyAFKAIMKAIAQQ0gBSgCCBAUIAVBAjYCHAsgBSgCHCEAIAVBIGokACAACyQBAX8jAEEQayIBIAA2AgwgASABKAIMNgIIIAEoAghBAToADAuXAQEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjcDCCADIAMoAhg2AgQCQAJAIAMpAwhC/////w9YBEAgAygCBCgCFEUNAQsgAygCBCgCAEESQQAQFCADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAukAgECfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahC4ATYCAAwBCyABKAIEQRBqIQIjAEEQayIAJAAgACACNgIIAkAgACgCCBBKBEAgAEF+NgIMDAELIAAgACgCCCgCHDYCBCAAKAIEKAI4BEAgACgCCCgCKCAAKAIEKAI4IAAoAggoAiQRBAALIAAoAggoAiggACgCCCgCHCAAKAIIKAIkEQQAIAAoAghBADYCHCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgASACNgIACwJAIAEoAgAEQCABKAIEKAIAQQ0gASgCABAUIAFBADoADwwBCyABQQE6AA8LIAEtAA9BAXEhACABQRBqJAAgAAuyGAEFfyMAQRBrIgQkACAEIAA2AgggBCAEKAIINgIEIAQoAgRBADYCFCAEKAIEQQA2AhAgBCgCBEEANgIgIAQoAgRBADYCHAJAIAQoAgQtAARBAXEEQCAEKAIEQRBqIQEgBCgCBCgCCCECIwBBMGsiACQAIAAgATYCKCAAIAI2AiQgAEEINgIgIABBcTYCHCAAQQk2AhggAEEANgIUIABBwBI2AhAgAEE4NgIMIABBATYCBAJAAkACQCAAKAIQRQ0AIAAoAhAsAABB+O4ALAAARw0AIAAoAgxBOEYNAQsgAEF6NgIsDAELIAAoAihFBEAgAEF+NgIsDAELIAAoAihBADYCGCAAKAIoKAIgRQRAIAAoAihBBTYCICAAKAIoQQA2AigLIAAoAigoAiRFBEAgACgCKEEGNgIkCyAAKAIkQX9GBEAgAEEGNgIkCwJAIAAoAhxBAEgEQCAAQQA2AgQgAEEAIAAoAhxrNgIcDAELIAAoAhxBD0oEQCAAQQI2AgQgACAAKAIcQRBrNgIcCwsCQAJAIAAoAhhBAUgNACAAKAIYQQlKDQAgACgCIEEIRw0AIAAoAhxBCEgNACAAKAIcQQ9KDQAgACgCJEEASA0AIAAoAiRBCUoNACAAKAIUQQBIDQAgACgCFEEESg0AIAAoAhxBCEcNASAAKAIEQQFGDQELIABBfjYCLAwBCyAAKAIcQQhGBEAgAEEJNgIcCyAAIAAoAigoAihBAUHELSAAKAIoKAIgEQEANgIIIAAoAghFBEAgAEF8NgIsDAELIAAoAiggACgCCDYCHCAAKAIIIAAoAig2AgAgACgCCEEqNgIEIAAoAgggACgCBDYCGCAAKAIIQQA2AhwgACgCCCAAKAIcNgIwIAAoAghBASAAKAIIKAIwdDYCLCAAKAIIIAAoAggoAixBAWs2AjQgACgCCCAAKAIYQQdqNgJQIAAoAghBASAAKAIIKAJQdDYCTCAAKAIIIAAoAggoAkxBAWs2AlQgACgCCCAAKAIIKAJQQQJqQQNuNgJYIAAoAigoAiggACgCCCgCLEECIAAoAigoAiARAQAhASAAKAIIIAE2AjggACgCKCgCKCAAKAIIKAIsQQIgACgCKCgCIBEBACEBIAAoAgggATYCQCAAKAIoKAIoIAAoAggoAkxBAiAAKAIoKAIgEQEAIQEgACgCCCABNgJEIAAoAghBADYCwC0gACgCCEEBIAAoAhhBBmp0NgKcLSAAIAAoAigoAiggACgCCCgCnC1BBCAAKAIoKAIgEQEANgIAIAAoAgggACgCADYCCCAAKAIIIAAoAggoApwtQQJ0NgIMAkACQCAAKAIIKAI4RQ0AIAAoAggoAkBFDQAgACgCCCgCREUNACAAKAIIKAIIDQELIAAoAghBmgU2AgQgACgCKEG42QAoAgA2AhggACgCKBC4ARogAEF8NgIsDAELIAAoAgggACgCACAAKAIIKAKcLUEBdkEBdGo2AqQtIAAoAgggACgCCCgCCCAAKAIIKAKcLUEDbGo2ApgtIAAoAgggACgCJDYChAEgACgCCCAAKAIUNgKIASAAKAIIIAAoAiA6ACQgACgCKCEBIwBBEGsiAyQAIAMgATYCDCADKAIMIQIjAEEQayIBJAAgASACNgIIAkAgASgCCBB4BEAgAUF+NgIMDAELIAEoAghBADYCFCABKAIIQQA2AgggASgCCEEANgIYIAEoAghBAjYCLCABIAEoAggoAhw2AgQgASgCBEEANgIUIAEoAgQgASgCBCgCCDYCECABKAIEKAIYQQBIBEAgASgCBEEAIAEoAgQoAhhrNgIYCyABKAIEIAEoAgQoAhhBAkYEf0E5BUEqQfEAIAEoAgQoAhgbCzYCBAJ/IAEoAgQoAhhBAkYEQEEAQQBBABAaDAELQQBBAEEAED0LIQIgASgCCCACNgIwIAEoAgRBADYCKCABKAIEIQUjAEEQayICJAAgAiAFNgIMIAIoAgwgAigCDEGUAWo2ApgWIAIoAgxB0N8ANgKgFiACKAIMIAIoAgxBiBNqNgKkFiACKAIMQeTfADYCrBYgAigCDCACKAIMQfwUajYCsBYgAigCDEH43wA2ArgWIAIoAgxBADsBuC0gAigCDEEANgK8LSACKAIMEL4BIAJBEGokACABQQA2AgwLIAEoAgwhAiABQRBqJAAgAyACNgIIIAMoAghFBEAgAygCDCgCHCECIwBBEGsiASQAIAEgAjYCDCABKAIMIAEoAgwoAixBAXQ2AjwgASgCDCgCRCABKAIMKAJMQQFrQQF0akEAOwEAIAEoAgwoAkRBACABKAIMKAJMQQFrQQF0EDMgASgCDCABKAIMKAKEAUEMbEGA7wBqLwECNgKAASABKAIMIAEoAgwoAoQBQQxsQYDvAGovAQA2AowBIAEoAgwgASgCDCgChAFBDGxBgO8Aai8BBDYCkAEgASgCDCABKAIMKAKEAUEMbEGA7wBqLwEGNgJ8IAEoAgxBADYCbCABKAIMQQA2AlwgASgCDEEANgJ0IAEoAgxBADYCtC0gASgCDEECNgJ4IAEoAgxBAjYCYCABKAIMQQA2AmggASgCDEEANgJIIAFBEGokAAsgAygCCCEBIANBEGokACAAIAE2AiwLIAAoAiwhASAAQTBqJAAgBCABNgIADAELIAQoAgRBEGohASMAQSBrIgAkACAAIAE2AhggAEFxNgIUIABBwBI2AhAgAEE4NgIMAkACQAJAIAAoAhBFDQAgACgCECwAAEHAEiwAAEcNACAAKAIMQThGDQELIABBejYCHAwBCyAAKAIYRQRAIABBfjYCHAwBCyAAKAIYQQA2AhggACgCGCgCIEUEQCAAKAIYQQU2AiAgACgCGEEANgIoCyAAKAIYKAIkRQRAIAAoAhhBBjYCJAsgACAAKAIYKAIoQQFB0DcgACgCGCgCIBEBADYCBCAAKAIERQRAIABBfDYCHAwBCyAAKAIYIAAoAgQ2AhwgACgCBCAAKAIYNgIAIAAoAgRBADYCOCAAKAIEQbT+ADYCBCAAKAIYIQIgACgCFCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQCABKAIYEEoEQCABQX42AhwMAQsgASABKAIYKAIcNgIMAkAgASgCFEEASARAIAFBADYCECABQQAgASgCFGs2AhQMAQsgASABKAIUQQR1QQVqNgIQIAEoAhRBMEgEQCABIAEoAhRBD3E2AhQLCwJAIAEoAhRFDQAgASgCFEEITgRAIAEoAhRBD0wNAQsgAUF+NgIcDAELAkAgASgCDCgCOEUNACABKAIMKAIoIAEoAhRGDQAgASgCGCgCKCABKAIMKAI4IAEoAhgoAiQRBAAgASgCDEEANgI4CyABKAIMIAEoAhA2AgwgASgCDCABKAIUNgIoIAEoAhghAiMAQRBrIgMkACADIAI2AggCQCADKAIIEEoEQCADQX42AgwMAQsgAyADKAIIKAIcNgIEIAMoAgRBADYCLCADKAIEQQA2AjAgAygCBEEANgI0IAMoAgghBSMAQRBrIgIkACACIAU2AggCQCACKAIIEEoEQCACQX42AgwMAQsgAiACKAIIKAIcNgIEIAIoAgRBADYCICACKAIIQQA2AhQgAigCCEEANgIIIAIoAghBADYCGCACKAIEKAIMBEAgAigCCCACKAIEKAIMQQFxNgIwCyACKAIEQbT+ADYCBCACKAIEQQA2AgggAigCBEEANgIQIAIoAgRBgIACNgIYIAIoAgRBADYCJCACKAIEQQA2AjwgAigCBEEANgJAIAIoAgQgAigCBEG0CmoiBTYCcCACKAIEIAU2AlQgAigCBCAFNgJQIAIoAgRBATYCxDcgAigCBEF/NgLINyACQQA2AgwLIAIoAgwhBSACQRBqJAAgAyAFNgIMCyADKAIMIQIgA0EQaiQAIAEgAjYCHAsgASgCHCECIAFBIGokACAAIAI2AgggACgCCARAIAAoAhgoAiggACgCBCAAKAIYKAIkEQQAIAAoAhhBADYCHAsgACAAKAIINgIcCyAAKAIcIQEgAEEgaiQAIAQgATYCAAsCQCAEKAIABEAgBCgCBCgCAEENIAQoAgAQFCAEQQA6AA8MAQsgBEEBOgAPCyAELQAPQQFxIQAgBEEQaiQAIAALbwEBfyMAQRBrIgEgADYCCCABIAEoAgg2AgQCQCABKAIELQAEQQFxRQRAIAFBADYCDAwBCyABKAIEKAIIQQNIBEAgAUECNgIMDAELIAEoAgQoAghBB0oEQCABQQE2AgwMAQsgAUEANgIMCyABKAIMCywBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABKAIIEBUgAUEQaiQACzwBAX8jAEEQayIDJAAgAyAAOwEOIAMgATYCCCADIAI2AgRBASADKAIIIAMoAgQQtAEhACADQRBqJAAgAAvBEAECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBcAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCACKAIYKAJgNgJ4IAIoAhggAigCGCgCcDYCZCACKAIYQQI2AmACQCACKAIQRQ0AIAIoAhgoAnggAigCGCgCgAFPDQAgAigCGCgCLEGGAmsgAigCGCgCbCACKAIQa0kNACACKAIYIAIoAhAQtgEhACACKAIYIAA2AmACQCACKAIYKAJgQQVLDQAgAigCGCgCiAFBAUcEQCACKAIYKAJgQQNHDQEgAigCGCgCbCACKAIYKAJwa0GAIE0NAQsgAigCGEECNgJgCwsCQAJAIAIoAhgoAnhBA0kNACACKAIYKAJgIAIoAhgoAnhLDQAgAiACKAIYIgAoAmwgACgCdGpBA2s2AgggAiACKAIYKAJ4QQNrOgAHIAIgAigCGCIAKAJsIAAoAmRBf3NqOwEEIAIoAhgiACgCpC0gACgCoC1BAXRqIAIvAQQ7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvAQRBAWs7AQQgAigCGCACLQAHQdDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCGEGIE2oCfyACLwEEQYACSQRAIAIvAQQtANBZDAELIAIvAQRBB3ZBgAJqLQDQWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYIgAgACgCdCACKAIYKAJ4QQFrazYCdCACKAIYIgAgACgCeEECazYCeANAIAIoAhgiASgCbEEBaiEAIAEgADYCbCAAIAIoAghNBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCIBKAJ4QQFrIQAgASAANgJ4IAANAAsgAigCGEEANgJoIAIoAhhBAjYCYCACKAIYIgAgACgCbEEBajYCbCACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBgsLDAELAkAgAigCGCgCaARAIAIgAigCGCIAKAI4IAAoAmxqQQFrLQAAOgADIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AAyEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAANBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAgwEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHAsgAigCGCIAIAAoAmxBAWo2AmwgAigCGCIAIAAoAnRBAWs2AnQgAigCGCgCACgCEEUEQCACQQA2AhwMBgsMAQsgAigCGEEBNgJoIAIoAhgiACAAKAJsQQFqNgJsIAIoAhgiACAAKAJ0QQFrNgJ0CwsMAQsLIAIoAhgoAmgEQCACIAIoAhgiACgCOCAAKAJsakEBay0AADoAAiACKAIYIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAAIhASACKAIYIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCGCACLQACQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYQQA2AmgLIAIoAhgCfyACKAIYKAJsQQJJBEAgAigCGCgCbAwBC0ECCzYCtC0gAigCFEEERgRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQEQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkECNgIcDAILIAJBAzYCHAwBCyACKAIYKAKgLQRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQAQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkEANgIcDAILCyACQQE2AhwLIAIoAhwhACACQSBqJAAgAAuVDQECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBcAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsCQCACKAIQRQ0AIAIoAhgoAixBhgJrIAIoAhgoAmwgAigCEGtJDQAgAigCGCACKAIQELYBIQAgAigCGCAANgJgCwJAIAIoAhgoAmBBA08EQCACIAIoAhgoAmBBA2s6AAsgAiACKAIYIgAoAmwgACgCcGs7AQggAigCGCIAKAKkLSAAKAKgLUEBdGogAi8BCDsBACACLQALIQEgAigCGCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BCEEBazsBCCACKAIYIAItAAtB0N0Aai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIYQYgTagJ/IAIvAQhBgAJJBEAgAi8BCC0A0FkMAQsgAi8BCEEHdkGAAmotANBZC0ECdGoiACAALwEAQQFqOwEAIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0IAIoAhgoAmBrNgJ0AkACQCACKAIYKAJgIAIoAhgoAoABSw0AIAIoAhgoAnRBA0kNACACKAIYIgAgACgCYEEBazYCYANAIAIoAhgiACAAKAJsQQFqNgJsIAIoAhggAigCGCgCVCACKAIYKAI4IAIoAhgoAmxBAmpqLQAAIAIoAhgoAkggAigCGCgCWHRzcTYCSCACKAIYKAJAIAIoAhgoAmwgAigCGCgCNHFBAXRqIAIoAhgoAkQgAigCGCgCSEEBdGovAQAiADsBACACIABB//8DcTYCECACKAIYKAJEIAIoAhgoAkhBAXRqIAIoAhgoAmw7AQAgAigCGCIBKAJgQQFrIQAgASAANgJgIAANAAsgAigCGCIAIAAoAmxBAWo2AmwMAQsgAigCGCIAIAIoAhgoAmAgACgCbGo2AmwgAigCGEEANgJgIAIoAhggAigCGCgCOCACKAIYKAJsai0AADYCSCACKAIYIAIoAhgoAlQgAigCGCgCOCACKAIYKAJsQQFqai0AACACKAIYKAJIIAIoAhgoAlh0c3E2AkgLDAELIAIgAigCGCIAKAI4IAAoAmxqLQAAOgAHIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAAdBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0QQFrNgJ0IAIoAhgiACAAKAJsQQFqNgJsCyACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBAsLDAELCyACKAIYAn8gAigCGCgCbEECSQRAIAIoAhgoAmwMAQtBAgs2ArQtIAIoAhRBBEYEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EBECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBAjYCHAwCCyACQQM2AhwMAQsgAigCGCgCoC0EQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBADYCHAwCCwsgAkEBNgIcCyACKAIcIQAgAkEgaiQAIAALBwAgAC8BMAspAQF/IwBBEGsiAiQAIAIgADYCDCACIAE2AgggAigCCBAVIAJBEGokAAs6AQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgggAygCBGwQGCEAIANBEGokACAAC84FAQF/IwBB0ABrIgUkACAFIAA2AkQgBSABNgJAIAUgAjYCPCAFIAM3AzAgBSAENgIsIAUgBSgCQDYCKAJAAkACQAJAAkACQAJAAkACQCAFKAIsDg8AAQIDBQYHBwcHBwcHBwQHCwJ/IAUoAkQhASAFKAIoIQIjAEHgAGsiACQAIAAgATYCWCAAIAI2AlQgACAAKAJYIABByABqQgwQKyIDNwMIAkAgA0IAUwRAIAAoAlQgACgCWBAXIABBfzYCXAwBCyAAKQMIQgxSBEAgACgCVEERQQAQFCAAQX82AlwMAQsgACgCVCAAQcgAaiAAQcgAakIMQQAQfCAAKAJYIABBEGoQOUEASARAIABBADYCXAwBCyAAKAI4IABBBmogAEEEahCNAQJAIAAtAFMgACgCPEEYdkYNACAALQBTIAAvAQZBCHZGDQAgACgCVEEbQQAQFCAAQX82AlwMAQsgAEEANgJcCyAAKAJcIQEgAEHgAGokACABQQBICwRAIAVCfzcDSAwICyAFQgA3A0gMBwsgBSAFKAJEIAUoAjwgBSkDMBArIgM3AyAgA0IAUwRAIAUoAiggBSgCRBAXIAVCfzcDSAwHCyAFKAJAIAUoAjwgBSgCPCAFKQMgQQAQfCAFIAUpAyA3A0gMBgsgBUIANwNIDAULIAUgBSgCPDYCHCAFKAIcQQA7ATIgBSgCHCIAIAApAwBCgAGENwMAIAUoAhwpAwBCCINCAFIEQCAFKAIcIgAgACkDIEIMfTcDIAsgBUIANwNIDAQLIAVBfzYCFCAFQQU2AhAgBUEENgIMIAVBAzYCCCAFQQI2AgQgBUEBNgIAIAVBACAFEDQ3A0gMAwsgBSAFKAIoIAUoAjwgBSkDMBBDNwNIDAILIAUoAigQvwEgBUIANwNIDAELIAUoAihBEkEAEBQgBUJ/NwNICyAFKQNIIQMgBUHQAGokACADC+4CAQF/IwBBIGsiBSQAIAUgADYCGCAFIAE2AhQgBSACOwESIAUgAzYCDCAFIAQ2AggCQAJAAkAgBSgCCEUNACAFKAIURQ0AIAUvARJBAUYNAQsgBSgCGEEIakESQQAQFCAFQQA2AhwMAQsgBSgCDEEBcQRAIAUoAhhBCGpBGEEAEBQgBUEANgIcDAELIAVBGBAYIgA2AgQgAEUEQCAFKAIYQQhqQQ5BABAUIAVBADYCHAwBCyMAQRBrIgAgBSgCBDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCAFKAIEQfis0ZEBNgIMIAUoAgRBic+VmgI2AhAgBSgCBEGQ8dmiAzYCFCAFKAIEQQAgBSgCCCAFKAIIEC6tQQEQfCAFIAUoAhggBSgCFEEDIAUoAgQQYSIANgIAIABFBEAgBSgCBBC/ASAFQQA2AhwMAQsgBSAFKAIANgIcCyAFKAIcIQAgBUEgaiQAIAALBwAgACgCIAu9GAECfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1ggBCADNgJUIAQgBCgCZDYCUAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCgCVA4UBgcCDAQFCg8AAwkRCxAOCBIBEg0SC0EAQgBBACAEKAJQEEwhACAEKAJQIAA2AhQgAEUEQCAEQn83A2gMEwsgBCgCUCgCFEIANwM4IAQoAlAoAhRCADcDQCAEQgA3A2gMEgsgBCgCUCgCECEBIAQpA1ghAiAEKAJQIQMjAEFAaiIAJAAgACABNgI4IAAgAjcDMCAAIAM2AiwCQCAAKQMwUARAIABBAEIAQQEgACgCLBBMNgI8DAELIAApAzAgACgCOCkDMFYEQCAAKAIsQRJBABAUIABBADYCPAwBCyAAKAI4KAIoBEAgACgCLEEdQQAQFCAAQQA2AjwMAQsgACAAKAI4IAApAzAQwAE3AyAgACAAKQMwIAAoAjgoAgQgACkDIKdBA3RqKQMAfTcDGCAAKQMYUARAIAAgACkDIEIBfTcDICAAIAAoAjgoAgAgACkDIKdBBHRqKQMINwMYCyAAIAAoAjgoAgAgACkDIKdBBHRqKQMIIAApAxh9NwMQIAApAxAgACkDMFYEQCAAKAIsQRxBABAUIABBADYCPAwBCyAAIAAoAjgoAgAgACkDIEIBfEEAIAAoAiwQTCIBNgIMIAFFBEAgAEEANgI8DAELIAAoAgwoAgAgACgCDCkDCEIBfadBBHRqIAApAxg3AwggACgCDCgCBCAAKAIMKQMIp0EDdGogACkDMDcDACAAKAIMIAApAzA3AzAgACgCDAJ+IAAoAjgpAxggACgCDCkDCEIBfVQEQCAAKAI4KQMYDAELIAAoAgwpAwhCAX0LNwMYIAAoAjggACgCDDYCKCAAKAIMIAAoAjg2AiggACgCOCAAKAIMKQMINwMgIAAoAgwgACkDIEIBfDcDICAAIAAoAgw2AjwLIAAoAjwhASAAQUBrJAAgASEAIAQoAlAgADYCFCAARQRAIARCfzcDaAwSCyAEKAJQKAIUIAQpA1g3AzggBCgCUCgCFCAEKAJQKAIUKQMINwNAIARCADcDaAwRCyAEQgA3A2gMEAsgBCgCUCgCEBAyIAQoAlAgBCgCUCgCFDYCECAEKAJQQQA2AhQgBEIANwNoDA8LIAQgBCgCUCAEKAJgIAQpA1gQQzcDaAwOCyAEKAJQKAIQEDIgBCgCUCgCFBAyIAQoAlAQFSAEQgA3A2gMDQsgBCgCUCgCEEIANwM4IAQoAlAoAhBCADcDQCAEQgA3A2gMDAsgBCkDWEL///////////8AVgRAIAQoAlBBEkEAEBQgBEJ/NwNoDAwLIAQoAlAoAhAhASAEKAJgIQMgBCkDWCECIwBBQGoiACQAIAAgATYCNCAAIAM2AjAgACACNwMoIAACfiAAKQMoIAAoAjQpAzAgACgCNCkDOH1UBEAgACkDKAwBCyAAKAI0KQMwIAAoAjQpAzh9CzcDKAJAIAApAyhQBEAgAEIANwM4DAELIAApAyhC////////////AFYEQCAAQn83AzgMAQsgACAAKAI0KQNANwMYIAAgACgCNCkDOCAAKAI0KAIEIAApAxinQQN0aikDAH03AxAgAEIANwMgA0AgACkDICAAKQMoVARAIAACfiAAKQMoIAApAyB9IAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9VARAIAApAyggACkDIH0MAQsgACgCNCgCACAAKQMYp0EEdGopAwggACkDEH0LNwMIIAAoAjAgACkDIKdqIAAoAjQoAgAgACkDGKdBBHRqKAIAIAApAxCnaiAAKQMIpxAZGiAAKQMIIAAoAjQoAgAgACkDGKdBBHRqKQMIIAApAxB9UQRAIAAgACkDGEIBfDcDGAsgACAAKQMIIAApAyB8NwMgIABCADcDEAwBCwsgACgCNCIBIAApAyAgASkDOHw3AzggACgCNCAAKQMYNwNAIAAgACkDIDcDOAsgACkDOCECIABBQGskACAEIAI3A2gMCwsgBEEAQgBBACAEKAJQEEw2AkwgBCgCTEUEQCAEQn83A2gMCwsgBCgCUCgCEBAyIAQoAlAgBCgCTDYCECAEQgA3A2gMCgsgBCgCUCgCFBAyIAQoAlBBADYCFCAEQgA3A2gMCQsgBCAEKAJQKAIQIAQoAmAgBCkDWCAEKAJQEMEBrDcDaAwICyAEIAQoAlAoAhQgBCgCYCAEKQNYIAQoAlAQwQGsNwNoDAcLIAQpA1hCOFQEQCAEKAJQQRJBABAUIARCfzcDaAwHCyAEIAQoAmA2AkggBCgCSBA7IAQoAkggBCgCUCgCDDYCKCAEKAJIIAQoAlAoAhApAzA3AxggBCgCSCAEKAJIKQMYNwMgIAQoAkhBADsBMCAEKAJIQQA7ATIgBCgCSELcATcDACAEQjg3A2gMBgsgBCgCUCAEKAJgKAIANgIMIARCADcDaAwFCyAEQX82AkAgBEETNgI8IARBCzYCOCAEQQ02AjQgBEEMNgIwIARBCjYCLCAEQQ82AiggBEEJNgIkIARBETYCICAEQQg2AhwgBEEHNgIYIARBBjYCFCAEQQU2AhAgBEEENgIMIARBAzYCCCAEQQI2AgQgBEEBNgIAIARBACAEEDQ3A2gMBAsgBCgCUCgCECkDOEL///////////8AVgRAIAQoAlBBHkE9EBQgBEJ/NwNoDAQLIAQgBCgCUCgCECkDODcDaAwDCyAEKAJQKAIUKQM4Qv///////////wBWBEAgBCgCUEEeQT0QFCAEQn83A2gMAwsgBCAEKAJQKAIUKQM4NwNoDAILIAQpA1hC////////////AFYEQCAEKAJQQRJBABAUIARCfzcDaAwCCyAEKAJQKAIUIQEgBCgCYCEDIAQpA1ghAiAEKAJQIQUjAEHgAGsiACQAIAAgATYCVCAAIAM2AlAgACACNwNIIAAgBTYCRAJAIAApA0ggACgCVCkDOCAAKQNIfEL//wN8VgRAIAAoAkRBEkEAEBQgAEJ/NwNYDAELIAAgACgCVCgCBCAAKAJUKQMIp0EDdGopAwA3AyAgACkDICAAKAJUKQM4IAApA0h8VARAIAAgACgCVCkDCCAAKQNIIAApAyAgACgCVCkDOH19Qv//A3xCEIh8NwMYIAApAxggACgCVCkDEFYEQCAAIAAoAlQpAxA3AxAgACkDEFAEQCAAQhA3AxALA0AgACkDECAAKQMYVARAIAAgACkDEEIBhjcDEAwBCwsgACgCVCAAKQMQIAAoAkQQwgFBAXFFBEAgACgCREEOQQAQFCAAQn83A1gMAwsLA0AgACgCVCkDCCAAKQMYVARAQYCABBAYIQEgACgCVCgCACAAKAJUKQMIp0EEdGogATYCACABBEAgACgCVCgCACAAKAJUKQMIp0EEdGpCgIAENwMIIAAoAlQiASABKQMIQgF8NwMIIAAgACkDIEKAgAR8NwMgIAAoAlQoAgQgACgCVCkDCKdBA3RqIAApAyA3AwAMAgUgACgCREEOQQAQFCAAQn83A1gMBAsACwsLIAAgACgCVCkDQDcDMCAAIAAoAlQpAzggACgCVCgCBCAAKQMwp0EDdGopAwB9NwMoIABCADcDOANAIAApAzggACkDSFQEQCAAAn4gACkDSCAAKQM4fSAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVQEQCAAKQNIIAApAzh9DAELIAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9CzcDCCAAKAJUKAIAIAApAzCnQQR0aigCACAAKQMop2ogACgCUCAAKQM4p2ogACkDCKcQGRogACkDCCAAKAJUKAIAIAApAzCnQQR0aikDCCAAKQMofVEEQCAAIAApAzBCAXw3AzALIAAgACkDCCAAKQM4fDcDOCAAQgA3AygMAQsLIAAoAlQiASAAKQM4IAEpAzh8NwM4IAAoAlQgACkDMDcDQCAAKAJUKQM4IAAoAlQpAzBWBEAgACgCVCAAKAJUKQM4NwMwCyAAIAApAzg3A1gLIAApA1ghAiAAQeAAaiQAIAQgAjcDaAwBCyAEKAJQQRxBABAUIARCfzcDaAsgBCkDaCECIARB8ABqJAAgAgsHACAAKAIACxgAQaibAUIANwIAQbCbAUEANgIAQaibAQuGAQIEfwF+IwBBEGsiASQAAkAgACkDMFAEQAwBCwNAAkAgACAFQQAgAUEPaiABQQhqEIoBIgRBf0YNACABLQAPQQNHDQAgAiABKAIIQYCAgIB/cUGAgICAekZqIQILQX8hAyAEQX9GDQEgAiEDIAVCAXwiBSAAKQMwVA0ACwsgAUEQaiQAIAMLC4GNASMAQYAIC4EMaW5zdWZmaWNpZW50IG1lbW9yeQBuZWVkIGRpY3Rpb25hcnkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABaaXAgYXJjaGl2ZSBpbmNvbnNpc3RlbnQASW52YWxpZCBhcmd1bWVudABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABGaWxlIGFscmVhZHkgZXhpc3RzAHRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMAJXMlcyVzAGJ1ZmZlciBlcnJvcgBObyBlcnJvcgBzdHJlYW0gZXJyb3IAVGVsbCBlcnJvcgBJbnRlcm5hbCBlcnJvcgBTZWVrIGVycm9yAFdyaXRlIGVycm9yAGZpbGUgZXJyb3IAUmVhZCBlcnJvcgBabGliIGVycm9yAGRhdGEgZXJyb3IAQ1JDIGVycm9yAGluY29tcGF0aWJsZSB2ZXJzaW9uAG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";ug(yo)||(yo=h(yo));function gg(d){try{if(d==yo&&V)return new Uint8Array(V);var E=Ca(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function Bp(d,E){var I,k,L;try{L=gg(d),k=new WebAssembly.Module(L),I=new WebAssembly.Instance(k,E)}catch(te){var Z=te.toString();throw D("failed to compile wasm module: "+Z),(Z.includes("imported Memory")||Z.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function bp(){var d={a:ma};function E(L,Z){var te=L.exports;t.asm=te,A=t.asm.u,Mr(A.buffer),gi=t.asm.pa,dA(t.asm.v),EA("wasm-instantiate")}if(mA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(L){return D("Module.instantiateWasm callback failed with error: "+L),!1}var k=Bp(yo,d);return E(k[0]),t.asm}var vr,se;function wo(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Fn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=L,Fn.GMTString||(Fn.GMTString=Be("GMT")),de[E+40>>2]=Fn.GMTString,E}function fg(d,E){return Fn(d,E)}var bt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var L=d[k];L==="."?d.splice(k,1):L===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=bt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=bt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=bt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return bt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return bt.normalize(d.join("/"))},join2:function(d,E){return bt.normalize(d+"/"+E)}};function Ll(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var Nn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=bt.normalizeArray(d.split("/").filter(function(L){return!!L}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Nn.resolve(d).substr(1),E=Nn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),L=I(E.split("/")),Z=Math.min(k.length,L.length),te=Z,we=0;we0?E=k.slice(0,L).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` `)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` -`));if(!E)return null;d.input=wA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function ss(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var L=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(L.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var L in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,L){var Z=d.node.contents;if(L>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-L,k);if(te>8&&Z.subarray)E.set(Z.subarray(L,L+te),I);else for(var we=0;we0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),bt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Le.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Le.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Le.utimesSync(I,k,k)}E.size!==void 0&&Le.truncateSync(I,E.size)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},lookup:function(d,E){var I=bt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var L=At.createNode(d,E,I,k),Z=At.realPath(L);try{S.isDir(L.mode)?Le.mkdirSync(Z,L.mode):Le.writeFileSync(Z,"",{mode:L.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return L},rename:function(d,E,I){var k=At.realPath(d),L=bt.join2(At.realPath(E),I);try{Le.renameSync(k,L)}catch(Z){throw Z.code?new S.ErrnoError(At.convertNodeCode(Z)):Z}d.name=I},unlink:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Le.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=bt.join2(At.realPath(d),E);try{Le.symlinkSync(I,k)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},readlink:function(d){var E=At.realPath(d);try{return E=Le.readlinkSync(E),E=dg.relative(dg.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Le.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Le.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,L){if(k===0)return 0;try{return Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},write:function(d,E,I,k,L){try{return Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var L=Le.fstatSync(d.nfd);k+=L.size}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,L,Z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=ss(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(L&2)return 0;var Z=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},ln={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Le.mkdirSync(d,E):Le.writeFileSync(d,"",{mode:E})},mkdir:function(){Le.mkdirSync.apply(void 0,arguments)},symlink:function(){Le.symlinkSync.apply(void 0,arguments)},rename:function(){Le.renameSync.apply(void 0,arguments)},rmdir:function(){Le.rmdirSync.apply(void 0,arguments)},readdir:function(){Le.readdirSync.apply(void 0,arguments)},unlink:function(){Le.unlinkSync.apply(void 0,arguments)},readlink:function(){return Le.readlinkSync.apply(void 0,arguments)},stat:function(){return Le.statSync.apply(void 0,arguments)},lstat:function(){return Le.lstatSync.apply(void 0,arguments)},chmod:function(){Le.chmodSync.apply(void 0,arguments)},fchmod:function(){Le.fchmodSync.apply(void 0,arguments)},chown:function(){Le.chownSync.apply(void 0,arguments)},fchown:function(){Le.fchownSync.apply(void 0,arguments)},truncate:function(){Le.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Le.ftruncateSync.apply(void 0,arguments)},utime:function(){Le.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Hs.modeStringToFlags(E));var L=Le.openSync(d,At.flagsForNode(E),I),Z=k!=null?k:S.nextfd(L),te={fd:Z,nfd:L,position:0,path:d,flags:E,seekable:!0};return S.streams[Z]=te,te},close:function(d){d.stream_ops||Le.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Hs.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Le.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(wo.EINVAL);if(k<0)throw new S.ErrnoError(wo.EINVAL);return d.position=k,k},read:function(d,E,I,k,L){if(d.stream_ops)return Hs.read(d,E,I,k,L);var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L){if(d.stream_ops)return Hs.write(d,E,I,k,L);d.flags&+"1024"&&S.llseek(d,0,+"2");var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(wo.EOPNOTSUPP)},mmap:function(d,E,I,k,L,Z){if(d.stream_ops)return Hs.mmap(d,E,I,k,L,Z);if(E!==0)throw new S.ErrnoError(28);var te=ss(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){return d.stream_ops?Hs.msync(d,E,I,k,L):(L&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(wo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Nn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var L=bt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),Z=S.root,te="/",we=0;we40)throw new S.ErrnoError(32)}}return{path:te,node:Z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),L=S.nameTable[k];L;L=L.name_next){var Z=L.name;if(L.parent.id===d.id&&Z===E)return L}return S.lookup(d,E)},createNode:function(d,E,I,k){var L=new S.FSNode(d,E,I,k);return S.hashAddNode(L),L},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(Z){return Z.errno}var L=S.nodePermissions(d,"wx");if(L)return L;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var L in d)k[L]=d[L];d=k;var Z=S.nextfd(E,I);return d.fd=Z,S.streams[Z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function L(te){return S.syncFSRequests--,E(te)}function Z(te){if(te)return Z.errored?void 0:(Z.errored=!0,L(te));++k>=I.length&&L(null)}I.forEach(function(te){if(!te.type.syncfs)return Z(null);te.type.syncfs(te,d,Z)})},mount:function(d,E,I){var k=I==="/",L=!I,Z;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!L){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,Z=te.node,S.isMountpoint(Z))throw new S.ErrnoError(10);if(!S.isDir(Z.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,k?S.root=me:Z&&(Z.mounted=we,Z.mount&&Z.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,L=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var we=S.nameTable[te];we;){var me=we.name_next;L.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var Z=I.mount.mounts.indexOf(k);I.mount.mounts.splice(Z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),L=k.node,Z=bt.basename(d);if(!Z||Z==="."||Z==="..")throw new S.ErrnoError(28);var te=S.mayCreate(L,Z);if(te)throw new S.ErrnoError(te);if(!L.node_ops.mknod)throw new S.ErrnoError(63);return L.node_ops.mknod(L,Z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",L=0;L"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!Nn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var L=bt.basename(E),Z=S.mayCreate(k,L);if(Z)throw new S.ErrnoError(Z);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,L,d)},rename:function(d,E){var I=bt.dirname(d),k=bt.dirname(E),L=bt.basename(d),Z=bt.basename(E),te,we,me;if(te=S.lookupPath(d,{parent:!0}),we=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!we||!me)throw new S.ErrnoError(44);if(we.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(we,L),nt=Nn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=Nn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,Z)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(we,L,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,Z,lt):S.mayCreate(me,Z),it)throw new S.ErrnoError(it);if(!we.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==we&&(it=S.nodePermissions(we,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{we.node_ops.rename(Je,me,Z)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!0);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!1);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return Nn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var L=S.lookupPath(d,{follow:!I});k=L.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var L;if(typeof d=="string"){var Z=S.lookupPath(d,{follow:!k});L=Z.node}else L=d;if(!L.node_ops.setattr)throw new S.ErrnoError(63);L.node_ops.setattr(L,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var L=S.nodePermissions(I,"w");if(L)throw new S.ErrnoError(L);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),L=k.node;L.node_ops.setattr(L,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,L){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var Z;if(typeof d=="object")Z=d;else{d=bt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});Z=te.node}catch{}}var we=!1;if(E&64)if(Z){if(E&128)throw new S.ErrnoError(20)}else Z=S.mknod(d,I,0),we=!0;if(!Z)throw new S.ErrnoError(44);if(S.isChrdev(Z.mode)&&(E&=-513),E&65536&&!S.isDir(Z.mode))throw new S.ErrnoError(54);if(!we){var me=S.mayOpen(Z,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(Z,0),E&=-131713;var Je=S.createStream({node:Z,path:S.getPath(Z),flags:E,seekable:!0,position:0,stream_ops:Z.stream_ops,ungotten:[],error:!1},k,L);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,L){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var Z=typeof L<"u";if(!Z)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L,Z){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof L<"u";if(!te)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var we=d.stream_ops.write(d,E,I,k,L,Z);te||(d.position+=we);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return we},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,L,Z){if((L&2)!==0&&(Z&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,L,Z)},msync:function(d,E,I,k,L){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,L)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),L=S.stat(d),Z=L.size,te=new Uint8Array(Z);return S.read(k,te,0,Z,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var L=new Uint8Array(le(E)+1),Z=Ne(E,L,0,L.length);S.write(k,L,0,Z,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,L,Z){return L}}),S.mkdev("/dev/null",S.makedev(1,3)),ns.register(S.makedev(5,0),ns.default_tty_ops),ns.register(S.makedev(6,0),ns.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Ll();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var L=+k,Z=S.getStream(L);if(!Z)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return Z.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},Z.prototype.setDataGetter=function(lt){this.getter=lt},Z.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,be=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",Mn=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",Ri=1024*1024;be||(Ri=it);var vA=function(os,Ea){if(os>Ea)throw new Error("invalid range ("+os+", "+Ea+") or no bytes requested!");if(Ea>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==Ri&&Kr.setRequestHeader("Range","bytes="+os+"-"+Ea),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):wA(Kr.responseText||"",!0)},Or=this;Or.setDataGetter(function(os){var Ea=os*Ri,Kr=(os+1)*Ri-1;if(Kr=Math.min(Kr,it-1),typeof Or.chunks[os]>"u"&&(Or.chunks[os]=vA(Ea,Kr)),typeof Or.chunks[os]>"u")throw new Error("doXHR failed!");return Or.chunks[os]}),(Mn||!it)&&(Ri=it=1,it=this.getter(0).length,Ri=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=Ri,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new Z;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:te}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,k,L);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,be,Mn){S.forceLoadFile(me);var Ri=lt.node.contents;if(Mn>=Ri.length)return 0;var vA=Math.min(Ri.length-Mn,be);if(Ri.slice)for(var Or=0;Or>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,L){var Z=Y.slice(d,d+I);S.msync(E,Z,L,I,k)},doMkdir:function(d,E){return d=bt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),L=Math.min(I,le(k)),Z=ne[E+L];return oe(k,E,I+1),ne[E+L]=Z,L},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var L="";return E&4&&(L+="r"),E&2&&(L+="w"),E&1&&(L+="x"),L&&S.nodePermissions(I,L)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var L=0,Z=0;Z>2],we=de[E+(Z*8+4)>>2],me=S.read(d,ne,te,we,k);if(me<0)return-1;if(L+=me,me>2],we=de[E+(Z*8+4)>>2],me=S.write(d,ne,te,we,k);if(me<0)return-1;L+=me}return L},varargs:void 0,get:function(){Lt.varargs+=4;var d=de[Lt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function hg(d,E){try{return d=Lt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ml(d){return de[Ft()>>2]=d,d}function Qp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 0:{var L=Lt.get();if(L<0)return-28;var Z;return Z=S.open(k.path,k.flags,0,L),Z.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var L=Lt.get();return k.flags|=L,0}case 12:{var L=Lt.get(),te=0;return he[L+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ml(28),-1;default:return-28}}catch(we){return(typeof S>"u"||!(we instanceof S.ErrnoError))&&wr(we),-we.errno}}function Sp(d,E){try{var I=Lt.getStreamFromFD(d);return Lt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function vp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var L=Lt.get();return de[L>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var L=Lt.get();return S.ioctl(k,E,L)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(Z){return(typeof S>"u"||!(Z instanceof S.ErrnoError))&&wr(Z),-Z.errno}}function xp(d,E,I){Lt.varargs=I;try{var k=Lt.getStr(d),L=I?Lt.get():0,Z=S.open(k,E,L);return Z.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function Pp(d,E){try{return d=Lt.getStr(d),E=Lt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Lt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Lt.getStr(d),Lt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function yA(d){try{return d=Lt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function zi(d,E,I){Y.copyWithin(d,E,E+I)}function Ol(d){try{return A.grow(d-qe.byteLength+65535>>>16),Mr(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var L=E*(1+.2/k);L=Math.min(L,d+100663296);var Z=Math.min(I,ae(Math.max(d,L),65536)),te=Ol(Z);if(te)return!0}return!1}function pa(d){try{var E=Lt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function pg(d,E){try{var I=Lt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(L){return(typeof S>"u"||!(L instanceof S.ErrnoError))&&wr(L),L.errno}}function ME(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doReadv(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Dp(d,E,I,k,L){try{var Z=Lt.getStreamFromFD(d),te=4294967296,we=I*te+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(Z,we,k),se=[Z.position>>>0,(vr=Z.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[L>>2]=se[0],de[L+4>>2]=se[1],Z.getdents&&we===0&&k===0&&(Z.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function OE(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doWritev(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Tn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Kl(){if(Kl.called)return;Kl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),L=I.getTimezoneOffset(),Z=Math.max(k,L);de[iS()>>2]=Z*60,de[rS()>>2]=Number(k!=L);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var we=te(E),me=te(I),Je=Be(we),nt=Be(me);L>2]=Je,de[wg()+4>>2]=nt):(de[wg()>>2]=nt,de[wg()+4>>2]=Je)}function kp(d){Kl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=L,I.getTime()/1e3|0}var Us=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},da=365,cn=146;if(Object.defineProperties(Us.prototype,{read:{get:function(){return(this.mode&da)===da},set:function(d){d?this.mode|=da:this.mode&=~da}},write:{get:function(){return(this.mode&cn)===cn},set:function(d){d?this.mode|=cn:this.mode&=~cn}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Us,S.staticInit(),g){var Le=eV,dg=J("path");At.staticInit()}if(g){var Ul=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(wo[E.code]):E}}},Hs=Object.assign({},S);for(var Hl in ln)S[Hl]=Ul(ln[Hl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function wA(d,E,I){var k=I>0?I:le(d)+1,L=new Array(k),Z=Ne(d,L,0,L.length);return E&&(L.length=Z),L}var Cg=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,L,Z,te,we,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),we=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|we>>4,L=(we&15)<<4|me>>2,Z=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(L)),Je!==64&&(I=I+String.fromCharCode(Z));while(nt0||(pr(),is>0))return;function E(){Oe||(Oe=!0,t.calledRun=!0,!Ae&&(Ii(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),rs()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=SA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return SA(),e}}();typeof IB=="object"&&typeof FR=="object"?FR.exports=RR:typeof define=="function"&&define.amd?define([],function(){return RR}):typeof IB=="object"&&(IB.createModule=RR)});var QV=w((Gst,bV)=>{function hke(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var pke=Array.isArray;SV.exports=pke});var RV=w((jst,kV)=>{var vV=Rc(),dke=QV(),Cke=vs(),mke=gC(),Eke=1/0,xV=vV?vV.prototype:void 0,PV=xV?xV.toString:void 0;function DV(r){if(typeof r=="string")return r;if(Cke(r))return dke(r,DV)+"";if(mke(r))return PV?PV.call(r):"";var e=r+"";return e=="0"&&1/r==-Eke?"-0":e}kV.exports=DV});var Vf=w((qst,FV)=>{var Ike=RV();function yke(r){return r==null?"":Ike(r)}FV.exports=yke});var HR=w((Jst,NV)=>{function wke(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var Bke=HR();function bke(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:Bke(r,e,t)}TV.exports=bke});var GR=w((zst,MV)=>{var Qke="\\ud800-\\udfff",Ske="\\u0300-\\u036f",vke="\\ufe20-\\ufe2f",xke="\\u20d0-\\u20ff",Pke=Ske+vke+xke,Dke="\\ufe0e\\ufe0f",kke="\\u200d",Rke=RegExp("["+kke+Qke+Pke+Dke+"]");function Fke(r){return Rke.test(r)}MV.exports=Fke});var KV=w((Vst,OV)=>{function Nke(r){return r.split("")}OV.exports=Nke});var WV=w((Xst,JV)=>{var UV="\\ud800-\\udfff",Tke="\\u0300-\\u036f",Lke="\\ufe20-\\ufe2f",Mke="\\u20d0-\\u20ff",Oke=Tke+Lke+Mke,Kke="\\ufe0e\\ufe0f",Uke="["+UV+"]",YR="["+Oke+"]",jR="\\ud83c[\\udffb-\\udfff]",Hke="(?:"+YR+"|"+jR+")",HV="[^"+UV+"]",GV="(?:\\ud83c[\\udde6-\\uddff]){2}",YV="[\\ud800-\\udbff][\\udc00-\\udfff]",Gke="\\u200d",jV=Hke+"?",qV="["+Kke+"]?",Yke="(?:"+Gke+"(?:"+[HV,GV,YV].join("|")+")"+qV+jV+")*",jke=qV+jV+Yke,qke="(?:"+[HV+YR+"?",YR,GV,YV,Uke].join("|")+")",Jke=RegExp(jR+"(?="+jR+")|"+qke+jke,"g");function Wke(r){return r.match(Jke)||[]}JV.exports=Wke});var VV=w((Zst,zV)=>{var zke=KV(),Vke=GR(),Xke=WV();function Zke(r){return Vke(r)?Xke(r):zke(r)}zV.exports=Zke});var ZV=w((_st,XV)=>{var _ke=LV(),$ke=GR(),eRe=VV(),tRe=Vf();function rRe(r){return function(e){e=tRe(e);var t=$ke(e)?eRe(e):void 0,i=t?t[0]:e.charAt(0),n=t?_ke(t,1).join(""):e.slice(1);return i[r]()+n}}XV.exports=rRe});var $V=w(($st,_V)=>{var iRe=ZV(),nRe=iRe("toUpperCase");_V.exports=nRe});var PB=w((eot,e9)=>{var sRe=Vf(),oRe=$V();function aRe(r){return oRe(sRe(r).toLowerCase())}e9.exports=aRe});var t9=w((tot,DB)=>{function ARe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,T=2,H=3,j=4;function $(A,Ae){return 55296<=A.charCodeAt(Ae)&&A.charCodeAt(Ae)<=56319&&56320<=A.charCodeAt(Ae+1)&&A.charCodeAt(Ae+1)<=57343}function V(A,Ae){Ae===void 0&&(Ae=0);var ge=A.charCodeAt(Ae);if(55296<=ge&&ge<=56319&&Ae=1){var re=A.charCodeAt(Ae-1),M=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(M-56320)+65536:M}return ge}function W(A,Ae,ge){var re=[A].concat(Ae).concat([ge]),M=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return T;var pe=re.lastIndexOf(n);if(pe>0&&re.slice(1,pe).every(function(Fe){return Fe==n})&&[f,n].indexOf(M)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(M==r&&F==e)return v;if(M==t||M==r||M==e)return F==p&&Ae.every(function(Fe){return Fe==i})?T:D;if(F==t||F==r||F==e)return D;if(M==o&&(F==o||F==a||F==c||F==u))return v;if((M==c||M==a)&&(F==a||F==l))return v;if((M==u||M==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(M==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||M==C&&[y,B].indexOf(F)!=-1?v:Ae.indexOf(n)!=-1?T:M==n&&F==n?v:D}this.nextBreak=function(A,Ae){if(Ae===void 0&&(Ae=0),Ae<0)return 0;if(Ae>=A.length-1)return A.length;for(var ge=_(V(A,Ae)),re=[],M=Ae+1;M{var lRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,kB;function cRe(){if(kB)return kB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return kB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=t9(),e=new r;return kB=t=>e.splitGraphemes(t)}}r9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(lRe)||[r,r,void 0],l=cRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Xf=w((wot,E9)=>{"use strict";var m9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);E9.exports=r=>r?Object.keys(r).map(e=>[m9.has(e)?m9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var _f=w((Bot,x9)=>{"use strict";var I9=typeof process=="object"&&process?process:{stdout:null,stderr:null},BRe=J("events"),y9=J("stream"),w9=J("string_decoder").StringDecoder,za=Symbol("EOF"),Va=Symbol("maybeEmitEnd"),rl=Symbol("emittedEnd"),MB=Symbol("emittingEnd"),NC=Symbol("emittedError"),OB=Symbol("closed"),B9=Symbol("read"),KB=Symbol("flush"),b9=Symbol("flushChunk"),xn=Symbol("encoding"),Xa=Symbol("decoder"),UB=Symbol("flowing"),TC=Symbol("paused"),Zf=Symbol("resume"),Ci=Symbol("bufferLength"),zR=Symbol("bufferPush"),VR=Symbol("bufferShift"),Hi=Symbol("objectMode"),Gi=Symbol("destroyed"),XR=Symbol("emitData"),Q9=Symbol("emitEnd"),ZR=Symbol("emitEnd2"),Za=Symbol("async"),LC=r=>Promise.resolve().then(r),S9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",bRe=S9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),QRe=S9&&Symbol.iterator||Symbol("iterator not implemented"),SRe=r=>r==="end"||r==="finish"||r==="prefinish",vRe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,xRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r),HB=class{constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[Zf](),t.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},_R=class extends HB{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=n=>t.emit("error",n),e.on("error",this.proxyErrors)}};x9.exports=class v9 extends y9{constructor(e){super(),this[UB]=!1,this[TC]=!1,this.pipes=[],this.buffer=[],this[Hi]=e&&e.objectMode||!1,this[Hi]?this[xn]=null:this[xn]=e&&e.encoding||null,this[xn]==="buffer"&&(this[xn]=null),this[Za]=e&&!!e.async||!1,this[Xa]=this[xn]?new w9(this[xn]):null,this[za]=!1,this[rl]=!1,this[MB]=!1,this[OB]=!1,this[NC]=null,this.writable=!0,this.readable=!0,this[Ci]=0,this[Gi]=!1}get bufferLength(){return this[Ci]}get encoding(){return this[xn]}set encoding(e){if(this[Hi])throw new Error("cannot set encoding in objectMode");if(this[xn]&&e!==this[xn]&&(this[Xa]&&this[Xa].lastNeed||this[Ci]))throw new Error("cannot change encoding");this[xn]!==e&&(this[Xa]=e?new w9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Xa].write(t)))),this[xn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hi]}set objectMode(e){this[Hi]=this[Hi]||!!e}get async(){return this[Za]}set async(e){this[Za]=this[Za]||!!e}write(e,t,i){if(this[za])throw new Error("write after end");if(this[Gi])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8");let n=this[Za]?LC:s=>s();return!this[Hi]&&!Buffer.isBuffer(e)&&(xRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):vRe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Hi]?(this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[zR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):e.length?(typeof e=="string"&&!(t===this[xn]&&!this[Xa].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[xn]&&(e=this[Xa].write(e)),this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[zR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):(this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing)}read(e){if(this[Gi])return null;if(this[Ci]===0||e===0||e>this[Ci])return this[Va](),null;this[Hi]&&(e=null),this.buffer.length>1&&!this[Hi]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ci])]);let t=this[B9](e||null,this.buffer[0]);return this[Va](),t}[B9](e,t){return e===t.length||e===null?this[VR]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[Ci]-=e),this.emit("data",t),!this.buffer.length&&!this[za]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[za]=!0,this.writable=!1,(this.flowing||!this[TC])&&this[Va](),this}[Zf](){this[Gi]||(this[TC]=!1,this[UB]=!0,this.emit("resume"),this.buffer.length?this[KB]():this[za]?this[Va]():this.emit("drain"))}resume(){return this[Zf]()}pause(){this[UB]=!1,this[TC]=!0}get destroyed(){return this[Gi]}get flowing(){return this[UB]}get paused(){return this[TC]}[zR](e){this[Hi]?this[Ci]+=1:this[Ci]+=e.length,this.buffer.push(e)}[VR](){return this.buffer.length&&(this[Hi]?this[Ci]-=1:this[Ci]-=this.buffer[0].length),this.buffer.shift()}[KB](e){do;while(this[b9](this[VR]()));!e&&!this.buffer.length&&!this[za]&&this.emit("drain")}[b9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Gi])return;let i=this[rl];return t=t||{},e===I9.stdout||e===I9.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this.pipes.push(t.proxyErrors?new _R(this,e,t):new HB(this,e,t)),this[Za]?LC(()=>this[Zf]()):this[Zf]()),e}unpipe(e){let t=this.pipes.find(i=>i.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return e==="data"&&!this.pipes.length&&!this.flowing?this[Zf]():e==="readable"&&this[Ci]!==0?super.emit("readable"):SRe(e)&&this[rl]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[NC]&&(this[Za]?LC(()=>t.call(this,this[NC])):t.call(this,this[NC])),i}get emittedEnd(){return this[rl]}[Va](){!this[MB]&&!this[rl]&&!this[Gi]&&this.buffer.length===0&&this[za]&&(this[MB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[OB]&&this.emit("close"),this[MB]=!1)}emit(e,t,...i){if(e!=="error"&&e!=="close"&&e!==Gi&&this[Gi])return;if(e==="data")return t?this[Za]?LC(()=>this[XR](t)):this[XR](t):!1;if(e==="end")return this[Q9]();if(e==="close"){if(this[OB]=!0,!this[rl]&&!this[Gi])return;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(e==="error"){this[NC]=t;let s=super.emit("error",t);return this[Va](),s}else if(e==="resume"){let s=super.emit("resume");return this[Va](),s}else if(e==="finish"||e==="prefinish"){let s=super.emit(e);return this.removeAllListeners(e),s}let n=super.emit(e,t,...i);return this[Va](),n}[XR](e){for(let i of this.pipes)i.dest.write(e)===!1&&this.pause();let t=super.emit("data",e);return this[Va](),t}[Q9](){this[rl]||(this[rl]=!0,this.readable=!1,this[Za]?LC(()=>this[ZR]()):this[ZR]())}[ZR](){if(this[Xa]){let t=this[Xa].end();if(t){for(let i of this.pipes)i.dest.write(t);super.emit("data",t)}}for(let t of this.pipes)t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Hi]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[Hi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this[xn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Gi,()=>t(new Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[bRe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[za])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[za]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Gi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[QRe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Gi]?(e?this.emit("error",e):this.emit(Gi),this):(this[Gi]=!0,this.buffer.length=0,this[Ci]=0,typeof this.close=="function"&&!this[OB]&&this.close(),e?this.emit("error",e):this.emit(Gi),this)}static isStream(e){return!!e&&(e instanceof v9||e instanceof y9||e instanceof BRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var D9=w((bot,P9)=>{var PRe=J("zlib").constants||{ZLIB_VERNUM:4736};P9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},PRe))});var hF=w(Xn=>{"use strict";var iF=J("assert"),il=J("buffer").Buffer,F9=J("zlib"),Uc=Xn.constants=D9(),DRe=_f(),k9=il.concat,Hc=Symbol("_superWrite"),eh=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},kRe=Symbol("opts"),MC=Symbol("flushFlag"),R9=Symbol("finishFlushFlag"),fF=Symbol("fullFlushFlag"),cr=Symbol("handle"),GB=Symbol("onError"),$f=Symbol("sawError"),$R=Symbol("level"),eF=Symbol("strategy"),tF=Symbol("ended"),Qot=Symbol("_defaultFullFlush"),YB=class extends DRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[$f]=!1,this[tF]=!1,this[kRe]=e,this[MC]=e.flush,this[R9]=e.finishFlush;try{this[cr]=new F9[t](e)}catch(i){throw new eh(i)}this[GB]=i=>{this[$f]||(this[$f]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[GB](new eh(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[$f])return iF(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[fF]),this.write(Object.assign(il.alloc(0),{[MC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[R9]),this[tF]=!0,super.end(null,null,i)}get ended(){return this[tF]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=il.from(e,t)),this[$f])return;iF(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},il.concat=c=>c;let a;try{let c=typeof e[MC]=="number"?e[MC]:this[MC];a=this[cr]._processChunk(e,c),il.concat=k9}catch(c){il.concat=k9,this[GB](new eh(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[GB](new eh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[Hc](il.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[$R]=e,this[eF]=t)}}}},nF=class extends _a{constructor(e){super(e,"Deflate")}},sF=class extends _a{constructor(e){super(e,"Inflate")}},rF=Symbol("_portable"),oF=class extends _a{constructor(e){super(e,"Gzip"),this[rF]=e&&!!e.portable}[Hc](e){return this[rF]?(this[rF]=!1,e[9]=255,super[Hc](e)):super[Hc](e)}},aF=class extends _a{constructor(e){super(e,"Gunzip")}},AF=class extends _a{constructor(e){super(e,"DeflateRaw")}},lF=class extends _a{constructor(e){super(e,"InflateRaw")}},cF=class extends _a{constructor(e){super(e,"Unzip")}},jB=class extends YB{constructor(e,t){e=e||{},e.flush=e.flush||Uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Uc.BROTLI_OPERATION_FINISH,super(e,t),this[fF]=Uc.BROTLI_OPERATION_FLUSH}},uF=class extends jB{constructor(e){super(e,"BrotliCompress")}},gF=class extends jB{constructor(e){super(e,"BrotliDecompress")}};Xn.Deflate=nF;Xn.Inflate=sF;Xn.Gzip=oF;Xn.Gunzip=aF;Xn.DeflateRaw=AF;Xn.InflateRaw=lF;Xn.Unzip=cF;typeof F9.BrotliCompress=="function"?(Xn.BrotliCompress=uF,Xn.BrotliDecompress=gF):Xn.BrotliCompress=Xn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var th=w((xot,N9)=>{var RRe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;N9.exports=RRe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var qB=w((Dot,T9)=>{"use strict";var FRe=_f(),pF=th(),dF=Symbol("slurp");T9.exports=class extends FRe{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=pF(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=pF(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[dF](t),i&&this[dF](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[dF](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?pF(e[i]):e[i])}}});var CF=w(JB=>{"use strict";JB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);JB.code=new Map(Array.from(JB.name).map(r=>[r[1],r[0]]))});var K9=w((Rot,O9)=>{"use strict";var NRe=(r,e)=>{if(Number.isSafeInteger(r))r<0?LRe(r,e):TRe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},TRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},LRe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=L9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=M9(n))}},MRe=r=>{let e=r[0],t=e===128?KRe(r.slice(1,r.length)):e===255?ORe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},ORe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=L9(s):s===0?o=s:(i=!0,o=M9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},KRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},L9=r=>(255^r)&255,M9=r=>(255^r)+1&255;O9.exports={encode:NRe,parse:MRe}});var ih=w((Fot,H9)=>{"use strict";var mF=CF(),rh=J("path").posix,U9=K9(),EF=Symbol("slurp"),Zn=Symbol("type"),wF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Zn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=Gc(e,t,100),this.mode=nl(e,t+100,8),this.uid=nl(e,t+108,8),this.gid=nl(e,t+116,8),this.size=nl(e,t+124,12),this.mtime=IF(e,t+136,12),this.cksum=nl(e,t+148,12),this[EF](i),this[EF](n,!0),this[Zn]=Gc(e,t+156,1),this[Zn]===""&&(this[Zn]="0"),this[Zn]==="0"&&this.path.substr(-1)==="/"&&(this[Zn]="5"),this[Zn]==="5"&&(this.size=0),this.linkpath=Gc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=Gc(e,t+265,32),this.gname=Gc(e,t+297,32),this.devmaj=nl(e,t+329,8),this.devmin=nl(e,t+337,8),e[t+475]!==0){let o=Gc(e,t+345,155);this.path=o+"/"+this.path}else{let o=Gc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=IF(e,t+476,12),this.ctime=IF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=URe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Yc(e,t,100,s)||this.needPax,this.needPax=sl(e,t+100,8,this.mode)||this.needPax,this.needPax=sl(e,t+108,8,this.uid)||this.needPax,this.needPax=sl(e,t+116,8,this.gid)||this.needPax,this.needPax=sl(e,t+124,12,this.size)||this.needPax,this.needPax=yF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Zn].charCodeAt(0),this.needPax=Yc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Yc(e,t+265,32,this.uname)||this.needPax,this.needPax=Yc(e,t+297,32,this.gname)||this.needPax,this.needPax=sl(e,t+329,8,this.devmaj)||this.needPax,this.needPax=sl(e,t+337,8,this.devmin)||this.needPax,this.needPax=Yc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Yc(e,t+345,155,o)||this.needPax:(this.needPax=Yc(e,t+345,130,o)||this.needPax,this.needPax=yF(e,t+476,12,this.atime)||this.needPax,this.needPax=yF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=rh.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=rh.dirname(i),i=rh.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=rh.join(rh.basename(n),i),n=rh.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},Gc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),IF=(r,e,t)=>HRe(nl(r,e,t)),HRe=r=>r===null?null:new Date(r*1e3),nl=(r,e,t)=>r[e]&128?U9.parse(r.slice(e,e+t)):YRe(r,e,t),GRe=r=>isNaN(r)?null:r,YRe=(r,e,t)=>GRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),jRe={12:8589934591,8:2097151},sl=(r,e,t,i)=>i===null?!1:i>jRe[t]||i<0?(U9.encode(i,r.slice(e,e+t)),!0):(qRe(r,e,t,i),!1),qRe=(r,e,t,i)=>r.write(JRe(i,t),e,t,"ascii"),JRe=(r,e)=>WRe(Math.floor(r).toString(8),e),WRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",yF=(r,e,t,i)=>i===null?!1:sl(r,e,t,i.getTime()/1e3),zRe=new Array(156).join("\0"),Yc=(r,e,t,i)=>i===null?!1:(r.write(i+zRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);H9.exports=wF});var WB=w((Not,G9)=>{"use strict";var VRe=ih(),XRe=J("path"),OC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new VRe({path:("PaxHeader/"+XRe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};OC.parse=(r,e,t)=>new OC(ZRe(_Re(r),e),t);var ZRe=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,_Re=r=>r.replace(/\n$/,"").split(` -`).reduce($Re,Object.create(null)),$Re=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};G9.exports=OC});var nh=w((Tot,Y9)=>{Y9.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var zB=w((Lot,j9)=>{"use strict";j9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var bF=w((Oot,q9)=>{"use strict";var VB=["|","<",">","?",":"],BF=VB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),eFe=new Map(VB.map((r,e)=>[r,BF[e]])),tFe=new Map(BF.map((r,e)=>[r,VB[e]]));q9.exports={encode:r=>VB.reduce((e,t)=>e.split(t).join(eFe.get(t)),r),decode:r=>BF.reduce((e,t)=>e.split(t).join(tFe.get(t)),r)}});var QF=w((Kot,W9)=>{var{isAbsolute:rFe,parse:J9}=J("path").win32;W9.exports=r=>{let e="",t=J9(r);for(;rFe(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=J9(r)}return[e,r]}});var V9=w((Uot,z9)=>{"use strict";z9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var TF=w((Yot,l7)=>{"use strict";var r7=_f(),i7=WB(),n7=ih(),Zo=J("fs"),X9=J("path"),Xo=th(),iFe=nh(),s7=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),iFe(e)+"/"+r):Xo(r),nFe=16*1024*1024,Z9=Symbol("process"),_9=Symbol("file"),$9=Symbol("directory"),vF=Symbol("symlink"),e7=Symbol("hardlink"),KC=Symbol("header"),XB=Symbol("read"),xF=Symbol("lstat"),ZB=Symbol("onlstat"),PF=Symbol("onread"),DF=Symbol("onreadlink"),kF=Symbol("openfile"),RF=Symbol("onopenfile"),ol=Symbol("close"),_B=Symbol("mode"),FF=Symbol("awaitDrain"),SF=Symbol("ondrain"),_o=Symbol("prefix"),t7=Symbol("hadError"),o7=zB(),sFe=bF(),a7=QF(),A7=V9(),$B=o7(class extends r7{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||nFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=a7(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=sFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||X9.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[ZB](this.statCache.get(this.absolute)):this[xF]()}emit(e,...t){return e==="error"&&(this[t7]=!0),super.emit(e,...t)}[xF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[ZB](t)})}[ZB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=aFe(e),this.emit("stat",e),this[Z9]()}[Z9](){switch(this.type){case"File":return this[_9]();case"Directory":return this[$9]();case"SymbolicLink":return this[vF]();default:return this.end()}}[_B](e){return A7(e,this.type==="Directory",this.portable)}[_o](e){return s7(e,this.prefix)}[KC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new n7({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[_B](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new i7({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[$9](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[KC](),this.end()}[vF](){Zo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[DF](t)})}[DF](e){this.linkpath=Xo(e),this[KC](),this.end()}[e7](e){this.type="Link",this.linkpath=Xo(X9.relative(this.cwd,e)),this.stat.size=0,this[KC](),this.end()}[_9](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[e7](t)}this.linkCache.set(e,this.absolute)}if(this[KC](),this.stat.size===0)return this.end();this[kF]()}[kF](){Zo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[RF](t)})}[RF](e){if(this.fd=e,this[t7])return this[ol]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[XB]()}[XB](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Zo.read(e,t,i,n,s,(o,a)=>{if(o)return this[ol](()=>this.emit("error",o));this[PF](a)})}[ol](e){Zo.close(this.fd,e)}[PF](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[SF]())}[FF](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[XB]()}}),NF=class extends $B{[xF](){this[ZB](Zo.lstatSync(this.absolute))}[vF](){this[DF](Zo.readlinkSync(this.absolute))}[kF](){this[RF](Zo.openSync(this.absolute,"r"))}[XB](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Zo.readSync(t,i,n,s,o);this[PF](a),e=!1}finally{if(e)try{this[ol](()=>{})}catch{}}}[FF](e){e()}[ol](e){Zo.closeSync(this.fd),e()}},oFe=o7(class extends r7{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Xo(e.path),this.mode=this[_B](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Xo(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=a7(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new n7({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new i7({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[_o](e){return s7(e,this.prefix)}[_B](e){return A7(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});$B.Sync=NF;$B.Tar=oFe;var aFe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";l7.exports=$B});var A0=w((qot,d7)=>{"use strict";var o0=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},AFe=_f(),lFe=hF(),cFe=qB(),jF=TF(),uFe=jF.Sync,gFe=jF.Tar,fFe=WI(),c7=Buffer.alloc(1024),r0=Symbol("onStat"),e0=Symbol("ended"),$o=Symbol("queue"),sh=Symbol("current"),jc=Symbol("process"),t0=Symbol("processing"),u7=Symbol("processJob"),ea=Symbol("jobs"),LF=Symbol("jobDone"),i0=Symbol("addFSEntry"),g7=Symbol("addTarEntry"),UF=Symbol("stat"),HF=Symbol("readdir"),n0=Symbol("onreaddir"),s0=Symbol("pipe"),f7=Symbol("entry"),MF=Symbol("entryOpt"),GF=Symbol("writeEntryClass"),p7=Symbol("write"),OF=Symbol("ondrain"),a0=J("fs"),h7=J("path"),hFe=zB(),KF=th(),qF=hFe(class extends AFe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=KF(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[GF]=jF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new lFe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[OF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[OF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[$o]=new fFe,this[ea]=0,this.jobs=+e.jobs||4,this[t0]=!1,this[e0]=!1}[p7](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[e0]=!0,this[jc](),this}write(e){if(this[e0])throw new Error("write after end");return e instanceof cFe?this[g7](e):this[i0](e),this.flowing}[g7](e){let t=KF(h7.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new o0(e.path,t,!1);i.entry=new gFe(e,this[MF](i)),i.entry.on("end",n=>this[LF](i)),this[ea]+=1,this[$o].push(i)}this[jc]()}[i0](e){let t=KF(h7.resolve(this.cwd,e));this[$o].push(new o0(e,t)),this[jc]()}[UF](e){e.pending=!0,this[ea]+=1;let t=this.follow?"stat":"lstat";a0[t](e.absolute,(i,n)=>{e.pending=!1,this[ea]-=1,i?this.emit("error",i):this[r0](e,n)})}[r0](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[jc]()}[HF](e){e.pending=!0,this[ea]+=1,a0.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ea]-=1,t)return this.emit("error",t);this[n0](e,i)})}[n0](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[jc]()}[jc](){if(!this[t0]){this[t0]=!0;for(let e=this[$o].head;e!==null&&this[ea]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[f7](e){this[ea]+=1;try{return new this[GF](e.path,this[MF](e)).on("end",()=>this[LF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[OF](){this[sh]&&this[sh].entry&&this[sh].entry.resume()}[s0](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),YF=class extends qF{constructor(e){super(e),this[GF]=uFe}pause(){}resume(){}[UF](e){let t=this.follow?"statSync":"lstatSync";this[r0](e,a0[t](e.absolute))}[HF](e,t){this[n0](e,a0.readdirSync(e.absolute))}[s0](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[p7](n)})}};qF.Sync=YF;d7.exports=qF});var fh=w(HC=>{"use strict";var pFe=_f(),dFe=J("events").EventEmitter,Pn=J("fs"),zF=Pn.writev;if(!zF){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;zF=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var uh=Symbol("_autoClose"),Ao=Symbol("_close"),UC=Symbol("_ended"),rr=Symbol("_fd"),C7=Symbol("_finished"),Al=Symbol("_flags"),JF=Symbol("_flush"),VF=Symbol("_handleChunk"),XF=Symbol("_makeBuf"),f0=Symbol("_mode"),l0=Symbol("_needDrain"),lh=Symbol("_onerror"),gh=Symbol("_onopen"),WF=Symbol("_onread"),ah=Symbol("_onwrite"),ll=Symbol("_open"),$a=Symbol("_path"),qc=Symbol("_pos"),ta=Symbol("_queue"),Ah=Symbol("_read"),m7=Symbol("_readSize"),al=Symbol("_reading"),c0=Symbol("_remain"),E7=Symbol("_size"),u0=Symbol("_write"),oh=Symbol("_writing"),g0=Symbol("_defaultFlag"),ch=Symbol("_errored"),h0=class extends pFe{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[ch]=!1,this[rr]=typeof t.fd=="number"?t.fd:null,this[$a]=e,this[m7]=t.readSize||16*1024*1024,this[al]=!1,this[E7]=typeof t.size=="number"?t.size:1/0,this[c0]=this[E7],this[uh]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[Ah]():this[ll]()}get fd(){return this[rr]}get path(){return this[$a]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ll](){Pn.open(this[$a],"r",(e,t)=>this[gh](e,t))}[gh](e,t){e?this[lh](e):(this[rr]=t,this.emit("open",t),this[Ah]())}[XF](){return Buffer.allocUnsafe(Math.min(this[m7],this[c0]))}[Ah](){if(!this[al]){this[al]=!0;let e=this[XF]();if(e.length===0)return process.nextTick(()=>this[WF](null,0,e));Pn.read(this[rr],e,0,e.length,null,(t,i,n)=>this[WF](t,i,n))}}[WF](e,t,i){this[al]=!1,e?this[lh](e):this[VF](t,i)&&this[Ah]()}[Ao](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[lh](e){this[al]=!0,this[Ao](),this.emit("error",e)}[VF](e,t){let i=!1;return this[c0]-=e,e>0&&(i=super.write(ethis[gh](e,t))}[gh](e,t){this[g0]&&this[Al]==="r+"&&e&&e.code==="ENOENT"?(this[Al]="w",this[ll]()):e?this[lh](e):(this[rr]=t,this.emit("open",t),this[JF]())}end(e,t){return e&&this.write(e,t),this[UC]=!0,!this[oh]&&!this[ta].length&&typeof this[rr]=="number"&&this[ah](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[UC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[oh]||this[ta].length?(this[ta].push(e),this[l0]=!0,!1):(this[oh]=!0,this[u0](e),!0)}[u0](e){Pn.write(this[rr],e,0,e.length,this[qc],(t,i)=>this[ah](t,i))}[ah](e,t){e?this[lh](e):(this[qc]!==null&&(this[qc]+=t),this[ta].length?this[JF]():(this[oh]=!1,this[UC]&&!this[C7]?(this[C7]=!0,this[Ao](),this.emit("finish")):this[l0]&&(this[l0]=!1,this.emit("drain"))))}[JF](){if(this[ta].length===0)this[UC]&&this[ah](null,0);else if(this[ta].length===1)this[u0](this[ta].pop());else{let e=this[ta];this[ta]=[],zF(this[rr],e,this[qc],(t,i)=>this[ah](t,i))}}[Ao](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},_F=class extends p0{[ll](){let e;if(this[g0]&&this[Al]==="r+")try{e=Pn.openSync(this[$a],this[Al],this[f0])}catch(t){if(t.code==="ENOENT")return this[Al]="w",this[ll]();throw t}else e=Pn.openSync(this[$a],this[Al],this[f0]);this[gh](null,e)}[Ao](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.closeSync(e),this.emit("close")}}[u0](e){let t=!0;try{this[ah](null,Pn.writeSync(this[rr],e,0,e.length,this[qc])),t=!1}finally{if(t)try{this[Ao]()}catch{}}}};HC.ReadStream=h0;HC.ReadStreamSync=ZF;HC.WriteStream=p0;HC.WriteStreamSync=_F});var w0=w((zot,S7)=>{"use strict";var CFe=zB(),mFe=ih(),EFe=J("events"),IFe=WI(),yFe=1024*1024,wFe=qB(),I7=WB(),BFe=hF(),$F=Buffer.from([31,139]),xs=Symbol("state"),Jc=Symbol("writeEntry"),eA=Symbol("readEntry"),eN=Symbol("nextEntry"),y7=Symbol("processEntry"),Ps=Symbol("extendedHeader"),GC=Symbol("globalExtendedHeader"),cl=Symbol("meta"),w7=Symbol("emitMeta"),Er=Symbol("buffer"),tA=Symbol("queue"),Wc=Symbol("ended"),B7=Symbol("emittedEnd"),zc=Symbol("emit"),Dn=Symbol("unzip"),d0=Symbol("consumeChunk"),C0=Symbol("consumeChunkSub"),tN=Symbol("consumeBody"),b7=Symbol("consumeMeta"),Q7=Symbol("consumeHeader"),m0=Symbol("consuming"),rN=Symbol("bufferConcat"),iN=Symbol("maybeEnd"),YC=Symbol("writing"),ul=Symbol("aborted"),E0=Symbol("onDone"),Vc=Symbol("sawValidEntry"),I0=Symbol("sawNullBlock"),y0=Symbol("sawEOF"),bFe=r=>!0;S7.exports=CFe(class extends EFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Vc]=null,this.on(E0,t=>{(this[xs]==="begin"||this[Vc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(E0,e.ondone):this.on(E0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||yFe,this.filter=typeof e.filter=="function"?e.filter:bFe,this.writable=!0,this.readable=!1,this[tA]=new IFe,this[Er]=null,this[eA]=null,this[Jc]=null,this[xs]="begin",this[cl]="",this[Ps]=null,this[GC]=null,this[Wc]=!1,this[Dn]=null,this[ul]=!1,this[I0]=!1,this[y0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[Q7](e,t){this[Vc]===null&&(this[Vc]=!1);let i;try{i=new mFe(e,t,this[Ps],this[GC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[I0]?(this[y0]=!0,this[xs]==="begin"&&(this[xs]="header"),this[zc]("eof")):(this[I0]=!0,this[zc]("nullBlock"));else if(this[I0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Jc]=new wFe(i,this[Ps],this[GC]);if(!this[Vc])if(s.remain){let o=()=>{s.invalid||(this[Vc]=!0)};s.on("end",o)}else this[Vc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[zc]("ignoredEntry",s),this[xs]="ignore",s.resume()):s.size>0&&(this[cl]="",s.on("data",o=>this[cl]+=o),this[xs]="meta"):(this[Ps]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[zc]("ignoredEntry",s),this[xs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[xs]="body":(this[xs]="header",s.end()),this[eA]?this[tA].push(s):(this[tA].push(s),this[eN]())))}}}[y7](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[eA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[eN]()),t=!1)):(this[eA]=null,t=!1),t}[eN](){do;while(this[y7](this[tA].shift()));if(!this[tA].length){let e=this[eA];!e||e.flowing||e.size===e.remain?this[YC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[tN](e,t){let i=this[Jc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[xs]="header",this[Jc]=null,i.end()),s.length}[b7](e,t){let i=this[Jc],n=this[tN](e,t);return this[Jc]||this[w7](i),n}[zc](e,t,i){!this[tA].length&&!this[eA]?this.emit(e,t,i):this[tA].push([e,t,i])}[w7](e){switch(this[zc]("meta",this[cl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ps]=I7.parse(this[cl],this[Ps],!1);break;case"GlobalExtendedHeader":this[GC]=I7.parse(this[cl],this[GC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ps]=this[Ps]||Object.create(null),this[Ps].path=this[cl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ps]=this[Ps]||Object.create(null),this[Ps].linkpath=this[cl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[ul]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[ul])return;if(this[Dn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.length<$F.length)return this[Er]=e,!0;for(let i=0;this[Dn]===null&&i<$F.length;i++)e[i]!==$F[i]&&(this[Dn]=!1);if(this[Dn]===null){let i=this[Wc];this[Wc]=!1,this[Dn]=new BFe.Unzip,this[Dn].on("data",s=>this[d0](s)),this[Dn].on("error",s=>this.abort(s)),this[Dn].on("end",s=>{this[Wc]=!0,this[d0]()}),this[YC]=!0;let n=this[Dn][i?"end":"write"](e);return this[YC]=!1,n}}this[YC]=!0,this[Dn]?this[Dn].write(e):this[d0](e),this[YC]=!1;let t=this[tA].length?!1:this[eA]?this[eA].flowing:!0;return!t&&!this[tA].length&&this[eA].once("drain",i=>this.emit("drain")),t}[rN](e){e&&!this[ul]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[iN](){if(this[Wc]&&!this[B7]&&!this[ul]&&!this[m0]){this[B7]=!0;let e=this[Jc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[zc](E0)}}[d0](e){if(this[m0])this[rN](e);else if(!e&&!this[Er])this[iN]();else{if(this[m0]=!0,this[Er]){this[rN](e);let t=this[Er];this[Er]=null,this[C0](t)}else this[C0](e);for(;this[Er]&&this[Er].length>=512&&!this[ul]&&!this[y0];){let t=this[Er];this[Er]=null,this[C0](t)}this[m0]=!1}(!this[Er]||this[Wc])&&this[iN]()}[C0](e){let t=0,i=e.length;for(;t+512<=i&&!this[ul]&&!this[y0];)switch(this[xs]){case"begin":case"header":this[Q7](e,t),t+=512;break;case"ignore":case"body":t+=this[tN](e,t);break;case"meta":t+=this[b7](e,t);break;default:throw new Error("invalid state: "+this[xs])}t{"use strict";var QFe=Xf(),x7=w0(),hh=J("fs"),SFe=fh(),v7=J("path"),nN=nh();D7.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=QFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&xFe(i,e),i.noResume||vFe(i),i.file&&i.sync?PFe(i):i.file?DFe(i,t):P7(i)};var vFe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},xFe=(r,e)=>{let t=new Map(e.map(s=>[nN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||v7.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(v7.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(nN(s)):s=>n(nN(s))},PFe=r=>{let e=P7(r),t=r.file,i=!0,n;try{let s=hh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new x7(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),hh.stat(n,(l,c)=>{if(l)a(l);else{let u=new SFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},P7=r=>new x7(r)});var L7=w((Xot,T7)=>{"use strict";var kFe=Xf(),b0=A0(),k7=fh(),R7=B0(),F7=J("path");T7.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=kFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?RFe(i,e):i.file?FFe(i,e,t):i.sync?NFe(i,e):TFe(i,e)};var RFe=(r,e)=>{let t=new b0.Sync(r),i=new k7.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),N7(t,e)},FFe=(r,e,t)=>{let i=new b0(r),n=new k7.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return sN(i,e),t?s.then(t,t):s},N7=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?R7({file:F7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},sN=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return R7({file:F7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>sN(r,e));r.add(t)}r.end()},NFe=(r,e)=>{let t=new b0.Sync(r);return N7(t,e),t},TFe=(r,e)=>{let t=new b0(r);return sN(t,e),t}});var oN=w((Zot,Y7)=>{"use strict";var LFe=Xf(),M7=A0(),_n=J("fs"),O7=fh(),K7=B0(),U7=J("path"),H7=ih();Y7.exports=(r,e,t)=>{let i=LFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?MFe(i,e):KFe(i,e,t)};var MFe=(r,e)=>{let t=new M7.Sync(r),i=!0,n,s;try{try{n=_n.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=_n.openSync(r.file,"w+");else throw l}let o=_n.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,OFe(r,t,s,n,e)}finally{if(i)try{_n.closeSync(n)}catch{}}},OFe=(r,e,t,i,n)=>{let s=new O7.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),UFe(e,n)},KFe=(r,e,t)=>{e=Array.from(e);let i=new M7(r),n=(o,a,l)=>{let c=(p,C)=>{p?_n.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return _n.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new H7(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,_n.read(o,f,0,512,u,h)};_n.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",_n.open(r.file,l,c);if(u)return a(u);_n.fstat(g,(f,h)=>{if(f)return _n.close(g,()=>a(f));n(g,h.size,(p,C)=>{if(p)return a(p);let y=new O7.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),G7(i,e)})})};_n.open(r.file,l,c)});return t?s.then(t,t):s},UFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?K7({file:U7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},G7=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return K7({file:U7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>G7(r,e));r.add(t)}r.end()}});var q7=w((_ot,j7)=>{"use strict";var HFe=Xf(),GFe=oN();j7.exports=(r,e,t)=>{let i=HFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),YFe(i),GFe(i,e,t)};var YFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var z7=w(($ot,W7)=>{var{promisify:J7}=J("util"),gl=J("fs"),jFe=r=>{if(!r)r={mode:511,fs:gl};else if(typeof r=="object")r={mode:511,fs:gl,...r};else if(typeof r=="number")r={mode:r,fs:gl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:gl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||gl.mkdir,r.mkdirAsync=J7(r.mkdir),r.stat=r.stat||r.fs.stat||gl.stat,r.statAsync=J7(r.stat),r.statSync=r.statSync||r.fs.statSync||gl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||gl.mkdirSync,r};W7.exports=jFe});var X7=w((eat,V7)=>{var qFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:JFe,parse:WFe}=J("path"),zFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=JFe(r),qFe==="win32"){let e=/[*|"<>?:]/,{root:t}=WFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};V7.exports=zFe});var tX=w((tat,eX)=>{var{dirname:Z7}=J("path"),_7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?_7(r,Z7(e),e):void 0),$7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?$7(r,Z7(e),e):void 0}};eX.exports={findMade:_7,findMadeSync:$7}});var lN=w((rat,iX)=>{var{dirname:rX}=J("path"),aN=(r,e,t)=>{e.recursive=!1;let i=rX(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return aN(i,e).then(s=>aN(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},AN=(r,e,t)=>{let i=rX(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return AN(r,e,AN(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};iX.exports={mkdirpManual:aN,mkdirpManualSync:AN}});var oX=w((iat,sX)=>{var{dirname:nX}=J("path"),{findMade:VFe,findMadeSync:XFe}=tX(),{mkdirpManual:ZFe,mkdirpManualSync:_Fe}=lN(),$Fe=(r,e)=>(e.recursive=!0,nX(r)===r?e.mkdirAsync(r,e):VFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return ZFe(r,e);throw n}))),eNe=(r,e)=>{if(e.recursive=!0,nX(r)===r)return e.mkdirSync(r,e);let i=XFe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return _Fe(r,e);throw n}};sX.exports={mkdirpNative:$Fe,mkdirpNativeSync:eNe}});var cX=w((nat,lX)=>{var aX=J("fs"),tNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,cN=tNe.replace(/^v/,"").split("."),AX=+cN[0]>10||+cN[0]==10&&+cN[1]>=12,rNe=AX?r=>r.mkdir===aX.mkdir:()=>!1,iNe=AX?r=>r.mkdirSync===aX.mkdirSync:()=>!1;lX.exports={useNative:rNe,useNativeSync:iNe}});var dX=w((sat,pX)=>{var ph=z7(),dh=X7(),{mkdirpNative:uX,mkdirpNativeSync:gX}=oX(),{mkdirpManual:fX,mkdirpManualSync:hX}=lN(),{useNative:nNe,useNativeSync:sNe}=cX(),Ch=(r,e)=>(r=dh(r),e=ph(e),nNe(e)?uX(r,e):fX(r,e)),oNe=(r,e)=>(r=dh(r),e=ph(e),sNe(e)?gX(r,e):hX(r,e));Ch.sync=oNe;Ch.native=(r,e)=>uX(dh(r),ph(e));Ch.manual=(r,e)=>fX(dh(r),ph(e));Ch.nativeSync=(r,e)=>gX(dh(r),ph(e));Ch.manualSync=(r,e)=>hX(dh(r),ph(e));pX.exports=Ch});var BX=w((oat,wX)=>{"use strict";var Ds=J("fs"),Xc=J("path"),aNe=Ds.lchown?"lchown":"chown",ANe=Ds.lchownSync?"lchownSync":"chownSync",mX=Ds.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),CX=(r,e,t)=>{try{return Ds[ANe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},lNe=(r,e,t)=>{try{return Ds.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},cNe=mX?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):Ds.chown(r,e,t,i)}:(r,e,t,i)=>i,uN=mX?(r,e,t)=>{try{return CX(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;lNe(r,e,t)}}:(r,e,t)=>CX(r,e,t),uNe=process.version,EX=(r,e,t)=>Ds.readdir(r,e,t),gNe=(r,e)=>Ds.readdirSync(r,e);/^v4\./.test(uNe)&&(EX=(r,e,t)=>Ds.readdir(r,t));var Q0=(r,e,t,i)=>{Ds[aNe](r,e,t,cNe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},IX=(r,e,t,i,n)=>{if(typeof e=="string")return Ds.lstat(Xc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,IX(r,o,t,i,n)});if(e.isDirectory())gN(Xc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Xc.resolve(r,e.name);Q0(o,t,i,n)});else{let s=Xc.resolve(r,e.name);Q0(s,t,i,n)}},gN=(r,e,t,i)=>{EX(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return Q0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return Q0(r,e,t,i)}};s.forEach(c=>IX(r,c,e,t,l))})},fNe=(r,e,t,i)=>{if(typeof e=="string")try{let n=Ds.lstatSync(Xc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&yX(Xc.resolve(r,e.name),t,i),uN(Xc.resolve(r,e.name),t,i)},yX=(r,e,t)=>{let i;try{i=gNe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return uN(r,e,t);throw n}return i&&i.length&&i.forEach(n=>fNe(r,n,e,t)),uN(r,e,t)};wX.exports=gN;gN.sync=yX});var vX=w((aat,fN)=>{"use strict";var bX=dX(),ks=J("fs"),S0=J("path"),QX=BX(),lo=th(),v0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},x0=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},P0=(r,e)=>r.get(lo(e)),jC=(r,e,t)=>r.set(lo(e),t),hNe=(r,e)=>{ks.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new x0(r,t&&t.code||"ENOTDIR")),e(t)})};fN.exports=(r,e,t)=>{r=lo(r);let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=lo(e.cwd),h=(y,B)=>{y?t(y):(jC(g,r,!0),B&&l?QX(B,o,a,v=>h(v)):s?ks.chmod(r,n,t):t())};if(g&&P0(g,r)===!0)return h();if(r===f)return hNe(r,h);if(c)return bX(r,{mode:n}).then(y=>h(null,y),h);let C=lo(S0.relative(f,r)).split("/");D0(f,C,n,g,u,f,null,h)};var D0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=lo(S0.resolve(r+"/"+l));if(P0(i,c))return D0(c,e,t,i,n,s,o,a);ks.mkdir(c,t,SX(c,e,t,i,n,s,o,a))},SX=(r,e,t,i,n,s,o,a)=>l=>{l?ks.lstat(r,(c,u)=>{if(c)c.path=c.path&&lo(c.path),a(c);else if(u.isDirectory())D0(r,e,t,i,n,s,o,a);else if(n)ks.unlink(r,g=>{if(g)return a(g);ks.mkdir(r,t,SX(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new v0(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,D0(r,e,t,i,n,s,o,a))},pNe=r=>{let e=!1,t="ENOTDIR";try{e=ks.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new x0(r,t)}};fN.exports.sync=(r,e)=>{r=lo(r);let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=lo(e.cwd),f=y=>{jC(u,r,!0),y&&a&&QX.sync(y,s,o),n&&ks.chmodSync(r,i)};if(u&&P0(u,r)===!0)return f();if(r===g)return pNe(g),f();if(l)return f(bX.sync(r,i));let p=lo(S0.relative(g,r)).split("/"),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(B=lo(S0.resolve(B)),!P0(u,B))try{ks.mkdirSync(B,i),C=C||B,jC(u,B,!0)}catch{let D=ks.lstatSync(B);if(D.isDirectory()){jC(u,B,!0);continue}else if(c){ks.unlinkSync(B),ks.mkdirSync(B,i),C=C||B,jC(u,B,!0);continue}else if(D.isSymbolicLink())return new v0(B,B+"/"+p.join("/"))}return f(C)}});var pN=w((Aat,xX)=>{var hN=Object.create(null),{hasOwnProperty:dNe}=Object.prototype;xX.exports=r=>(dNe.call(hN,r)||(hN[r]=r.normalize("NFKD")),hN[r])});var RX=w((lat,kX)=>{var PX=J("assert"),CNe=pN(),mNe=nh(),{join:DX}=J("path"),ENe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,INe=ENe==="win32";kX.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((g,f)=>(g.length&&(f=DX(g[g.length-1],f)),g.push(f||"/"),g),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(g=>r.get(g)),dirs:[...u.dirs].map(g=>r.get(g))}},s=c=>{let{paths:u,dirs:g}=n(c);return u.every(f=>f[0]===c)&&g.every(f=>f[0]instanceof Set&&f[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:g}=e.get(c),f=new Set;return u.forEach(h=>{let p=r.get(h);PX.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?f.add(p[0]):p[0].forEach(C=>f.add(C)))}),g.forEach(h=>{let p=r.get(h);PX(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),f.add(p[0])):p[0].delete(c)}),i.delete(c),f.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=INe?["win32 parallelization disabled"]:c.map(f=>CNe(mNe(DX(f))).toLowerCase());let g=new Set(c.map(f=>t(f)).reduce((f,h)=>f.concat(h)));return e.set(u,{dirs:g,paths:c}),c.forEach(f=>{let h=r.get(f);h?h.push(u):r.set(f,[u])}),g.forEach(f=>{let h=r.get(f);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(f,[new Set([u])])}),o(u)}}}});var TX=w((cat,NX)=>{var yNe=process.env.__FAKE_PLATFORM__||process.platform,wNe=yNe==="win32",BNe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:bNe,O_TRUNC:QNe,O_WRONLY:SNe,UV_FS_O_FILEMAP:FX=0}=BNe.constants,vNe=wNe&&!!FX,xNe=512*1024,PNe=FX|QNe|bNe|SNe;NX.exports=vNe?r=>r"w"});var bN=w((uat,VX)=>{"use strict";var DNe=J("assert"),kNe=w0(),jt=J("fs"),RNe=fh(),rA=J("path"),JX=vX(),LX=bF(),FNe=RX(),NNe=QF(),$n=th(),TNe=nh(),LNe=pN(),MX=Symbol("onEntry"),mN=Symbol("checkFs"),OX=Symbol("checkFs2"),F0=Symbol("pruneCache"),EN=Symbol("isReusable"),Rs=Symbol("makeFs"),IN=Symbol("file"),yN=Symbol("directory"),N0=Symbol("link"),KX=Symbol("symlink"),UX=Symbol("hardlink"),HX=Symbol("unsupported"),GX=Symbol("checkPath"),fl=Symbol("mkdir"),Yi=Symbol("onError"),k0=Symbol("pending"),YX=Symbol("pend"),mh=Symbol("unpend"),dN=Symbol("ended"),CN=Symbol("maybeClose"),wN=Symbol("skip"),qC=Symbol("doChown"),JC=Symbol("uid"),WC=Symbol("gid"),zC=Symbol("checkedCwd"),WX=J("crypto"),zX=TX(),MNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,VC=MNe==="win32",ONe=(r,e)=>{if(!VC)return jt.unlink(r,e);let t=r+".DELETE."+WX.randomBytes(16).toString("hex");jt.rename(r,t,i=>{if(i)return e(i);jt.unlink(t,e)})},KNe=r=>{if(!VC)return jt.unlinkSync(r);let e=r+".DELETE."+WX.randomBytes(16).toString("hex");jt.renameSync(r,e),jt.unlinkSync(e)},jX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,qX=r=>LNe(TNe($n(r))).toLowerCase(),UNe=(r,e)=>{e=qX(e);for(let t of r.keys()){let i=qX(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},HNe=r=>{for(let e of r.keys())r.delete(e)},XC=class extends kNe{constructor(e){if(e||(e={}),e.ondone=t=>{this[dN]=!0,this[CN]()},super(e),this[zC]=!1,this.reservations=FNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[k0]=0,this[dN]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||VC,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=$n(rA.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[MX](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[CN](){this[dN]&&this[k0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[GX](e){if(this.strip){let t=$n(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=$n(e.path),i=t.split("/");if(i.includes("..")||VC&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=NNe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(rA.isAbsolute(e.path)?e.absolute=$n(rA.resolve(e.path)):e.absolute=$n(rA.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:$n(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=rA.win32.parse(e.absolute);e.absolute=t+LX.encode(e.absolute.substr(t.length));let{root:i}=rA.win32.parse(e.path);e.path=i+LX.encode(e.path.substr(i.length))}return!0}[MX](e){if(!this[GX](e))return e.resume();switch(DNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[mN](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[HX](e)}}[Yi](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[mh](),t.resume())}[fl](e,t,i){JX($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[qC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[JC](e){return jX(this.uid,e.uid,this.processUid)}[WC](e){return jX(this.gid,e.gid,this.processGid)}[IN](e,t){let i=e.mode&4095||this.fmode,n=new RNe.WriteStream(e.absolute,{flags:zX(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&jt.close(n.fd,()=>{}),n.write=()=>!0,this[Yi](l,e),t()});let s=1,o=l=>{if(l){n.fd&&jt.close(n.fd,()=>{}),this[Yi](l,e),t();return}--s===0&&jt.close(n.fd,c=>{c?this[Yi](c,e):this[mh](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;jt.futimes(u,g,f,h=>h?jt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[qC](e)){s++;let g=this[JC](e),f=this[WC](e);jt.fchown(u,g,f,h=>h?jt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Yi](l,e),t()}),e.pipe(a)),a.pipe(n)}[yN](e,t){let i=e.mode&4095||this.dmode;this[fl](e.absolute,i,n=>{if(n){this[Yi](n,e),t();return}let s=1,o=a=>{--s===0&&(t(),this[mh](),e.resume())};e.mtime&&!this.noMtime&&(s++,jt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[qC](e)&&(s++,jt.chown(e.absolute,this[JC](e),this[WC](e),o)),o()})}[HX](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[KX](e,t){this[N0](e,e.linkpath,"symlink",t)}[UX](e,t){let i=$n(rA.resolve(this.cwd,e.linkpath));this[N0](e,i,"link",t)}[YX](){this[k0]++}[mh](){this[k0]--,this[CN]()}[wN](e){this[mh](),e.resume()}[EN](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!VC}[mN](e){this[YX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[OX](e,i))}[F0](e){e.type==="SymbolicLink"?HNe(this.dirCache):e.type!=="Directory"&&UNe(this.dirCache,e.absolute)}[OX](e,t){this[F0](e);let i=a=>{this[F0](e),t(a)},n=()=>{this[fl](this.cwd,this.dmode,a=>{if(a){this[Yi](a,e),i();return}this[zC]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=$n(rA.dirname(e.absolute));if(a!==this.cwd)return this[fl](a,this.dmode,l=>{if(l){this[Yi](l,e),i();return}o()})}o()},o=()=>{jt.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[wN](e),i();return}if(a||this[EN](e,l))return this[Rs](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=g=>this[Rs](g,e,i);return c?jt.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return jt.rmdir(e.absolute,c=>this[Rs](c,e,i))}if(e.absolute===this.cwd)return this[Rs](null,e,i);ONe(e.absolute,c=>this[Rs](c,e,i))})};this[zC]?s():n()}[Rs](e,t,i){if(e){this[Yi](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[IN](t,i);case"Link":return this[UX](t,i);case"SymbolicLink":return this[KX](t,i);case"Directory":case"GNUDumpDir":return this[yN](t,i)}}[N0](e,t,i,n){jt[i](t,e.absolute,s=>{s?this[Yi](s,e):(this[mh](),e.resume()),n()})}},R0=r=>{try{return[null,r()]}catch(e){return[e,null]}},BN=class extends XC{[Rs](e,t){return super[Rs](e,t,()=>{})}[mN](e){if(this[F0](e),!this[zC]){let s=this[fl](this.cwd,this.dmode);if(s)return this[Yi](s,e);this[zC]=!0}if(e.absolute!==this.cwd){let s=$n(rA.dirname(e.absolute));if(s!==this.cwd){let o=this[fl](s,this.dmode);if(o)return this[Yi](o,e)}}let[t,i]=R0(()=>jt.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[wN](e);if(t||this[EN](e,i))return this[Rs](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?R0(()=>{jt.chmodSync(e.absolute,e.mode)}):[];return this[Rs](a,e)}let[s]=R0(()=>jt.rmdirSync(e.absolute));this[Rs](s,e)}let[n]=e.absolute===this.cwd?[]:R0(()=>KNe(e.absolute));this[Rs](n,e)}[IN](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{jt.closeSync(s)}catch(c){l=c}(a||l)&&this[Yi](a||l,e),t()},s;try{s=jt.openSync(e.absolute,zX(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Yi](a,e)),e.pipe(o)),o.on("data",a=>{try{jt.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{jt.futimesSync(s,c,u)}catch(g){try{jt.utimesSync(e.absolute,c,u)}catch{l=g}}}if(this[qC](e)){let c=this[JC](e),u=this[WC](e);try{jt.fchownSync(s,c,u)}catch(g){try{jt.chownSync(e.absolute,c,u)}catch{l=l||g}}}n(l)})}[yN](e,t){let i=e.mode&4095||this.dmode,n=this[fl](e.absolute,i);if(n){this[Yi](n,e),t();return}if(e.mtime&&!this.noMtime)try{jt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[qC](e))try{jt.chownSync(e.absolute,this[JC](e),this[WC](e))}catch{}t(),e.resume()}[fl](e,t){try{return JX.sync($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[N0](e,t,i,n){try{jt[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Yi](s,e)}}};XC.Sync=BN;VX.exports=XC});var eZ=w((gat,$X)=>{"use strict";var GNe=Xf(),T0=bN(),ZX=J("fs"),_X=fh(),XX=J("path"),QN=nh();$X.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=GNe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&YNe(i,e),i.file&&i.sync?jNe(i):i.file?qNe(i,t):i.sync?JNe(i):WNe(i)};var YNe=(r,e)=>{let t=new Map(e.map(s=>[QN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||XX.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(XX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(QN(s)):s=>n(QN(s))},jNe=r=>{let e=new T0.Sync(r),t=r.file,i=ZX.statSync(t),n=r.maxReadSize||16*1024*1024;new _X.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},qNe=(r,e)=>{let t=new T0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),ZX.stat(n,(l,c)=>{if(l)a(l);else{let u=new _X.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},JNe=r=>new T0.Sync(r),WNe=r=>new T0(r)});var tZ=w(ci=>{"use strict";ci.c=ci.create=L7();ci.r=ci.replace=oN();ci.t=ci.list=B0();ci.u=ci.update=q7();ci.x=ci.extract=eZ();ci.Pack=A0();ci.Unpack=bN();ci.Parse=w0();ci.ReadEntry=qB();ci.WriteEntry=TF();ci.Header=ih();ci.Pax=WB();ci.types=CF()});var sZ=w((pat,nZ)=>{var SN;nZ.exports.getContent=()=>(typeof SN>"u"&&(SN=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),SN)});var uZ=w((vN,cZ)=>{(function(r,e){typeof vN=="object"?cZ.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(vN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var K0=w((Oat,yZ)=>{var uTe=vs(),gTe=gC(),fTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hTe=/^\w*$/;function pTe(r,e){if(uTe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||gTe(r)?!0:hTe.test(r)||!fTe.test(r)||e!=null&&r in Object(e)}yZ.exports=pTe});var U0=w((Kat,wZ)=>{var dTe=Fc(),CTe=vn(),mTe="[object AsyncFunction]",ETe="[object Function]",ITe="[object GeneratorFunction]",yTe="[object Proxy]";function wTe(r){if(!CTe(r))return!1;var e=dTe(r);return e==ETe||e==ITe||e==mTe||e==yTe}wZ.exports=wTe});var bZ=w((Uat,BZ)=>{var BTe=ys(),bTe=BTe["__core-js_shared__"];BZ.exports=bTe});var vZ=w((Hat,SZ)=>{var TN=bZ(),QZ=function(){var r=/[^.]+$/.exec(TN&&TN.keys&&TN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function QTe(r){return!!QZ&&QZ in r}SZ.exports=QTe});var LN=w((Gat,xZ)=>{var STe=Function.prototype,vTe=STe.toString;function xTe(r){if(r!=null){try{return vTe.call(r)}catch{}try{return r+""}catch{}}return""}xZ.exports=xTe});var DZ=w((Yat,PZ)=>{var PTe=U0(),DTe=vZ(),kTe=vn(),RTe=LN(),FTe=/[\\^$.*+?()[\]{}|]/g,NTe=/^\[object .+?Constructor\]$/,TTe=Function.prototype,LTe=Object.prototype,MTe=TTe.toString,OTe=LTe.hasOwnProperty,KTe=RegExp("^"+MTe.call(OTe).replace(FTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function UTe(r){if(!kTe(r)||DTe(r))return!1;var e=PTe(r)?KTe:NTe;return e.test(RTe(r))}PZ.exports=UTe});var RZ=w((jat,kZ)=>{function HTe(r,e){return r==null?void 0:r[e]}kZ.exports=HTe});var pl=w((qat,FZ)=>{var GTe=DZ(),YTe=RZ();function jTe(r,e){var t=YTe(r,e);return GTe(t)?t:void 0}FZ.exports=jTe});var _C=w((Jat,NZ)=>{var qTe=pl(),JTe=qTe(Object,"create");NZ.exports=JTe});var MZ=w((Wat,LZ)=>{var TZ=_C();function WTe(){this.__data__=TZ?TZ(null):{},this.size=0}LZ.exports=WTe});var KZ=w((zat,OZ)=>{function zTe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}OZ.exports=zTe});var HZ=w((Vat,UZ)=>{var VTe=_C(),XTe="__lodash_hash_undefined__",ZTe=Object.prototype,_Te=ZTe.hasOwnProperty;function $Te(r){var e=this.__data__;if(VTe){var t=e[r];return t===XTe?void 0:t}return _Te.call(e,r)?e[r]:void 0}UZ.exports=$Te});var YZ=w((Xat,GZ)=>{var eLe=_C(),tLe=Object.prototype,rLe=tLe.hasOwnProperty;function iLe(r){var e=this.__data__;return eLe?e[r]!==void 0:rLe.call(e,r)}GZ.exports=iLe});var qZ=w((Zat,jZ)=>{var nLe=_C(),sLe="__lodash_hash_undefined__";function oLe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=nLe&&e===void 0?sLe:e,this}jZ.exports=oLe});var WZ=w((_at,JZ)=>{var aLe=MZ(),ALe=KZ(),lLe=HZ(),cLe=YZ(),uLe=qZ();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function gLe(){this.__data__=[],this.size=0}zZ.exports=gLe});var Ih=w((eAt,XZ)=>{function fLe(r,e){return r===e||r!==r&&e!==e}XZ.exports=fLe});var $C=w((tAt,ZZ)=>{var hLe=Ih();function pLe(r,e){for(var t=r.length;t--;)if(hLe(r[t][0],e))return t;return-1}ZZ.exports=pLe});var $Z=w((rAt,_Z)=>{var dLe=$C(),CLe=Array.prototype,mLe=CLe.splice;function ELe(r){var e=this.__data__,t=dLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():mLe.call(e,t,1),--this.size,!0}_Z.exports=ELe});var t_=w((iAt,e_)=>{var ILe=$C();function yLe(r){var e=this.__data__,t=ILe(e,r);return t<0?void 0:e[t][1]}e_.exports=yLe});var i_=w((nAt,r_)=>{var wLe=$C();function BLe(r){return wLe(this.__data__,r)>-1}r_.exports=BLe});var s_=w((sAt,n_)=>{var bLe=$C();function QLe(r,e){var t=this.__data__,i=bLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}n_.exports=QLe});var em=w((oAt,o_)=>{var SLe=VZ(),vLe=$Z(),xLe=t_(),PLe=i_(),DLe=s_();function yh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var kLe=pl(),RLe=ys(),FLe=kLe(RLe,"Map");a_.exports=FLe});var c_=w((AAt,l_)=>{var A_=WZ(),NLe=em(),TLe=H0();function LLe(){this.size=0,this.__data__={hash:new A_,map:new(TLe||NLe),string:new A_}}l_.exports=LLe});var g_=w((lAt,u_)=>{function MLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}u_.exports=MLe});var tm=w((cAt,f_)=>{var OLe=g_();function KLe(r,e){var t=r.__data__;return OLe(e)?t[typeof e=="string"?"string":"hash"]:t.map}f_.exports=KLe});var p_=w((uAt,h_)=>{var ULe=tm();function HLe(r){var e=ULe(this,r).delete(r);return this.size-=e?1:0,e}h_.exports=HLe});var C_=w((gAt,d_)=>{var GLe=tm();function YLe(r){return GLe(this,r).get(r)}d_.exports=YLe});var E_=w((fAt,m_)=>{var jLe=tm();function qLe(r){return jLe(this,r).has(r)}m_.exports=qLe});var y_=w((hAt,I_)=>{var JLe=tm();function WLe(r,e){var t=JLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}I_.exports=WLe});var G0=w((pAt,w_)=>{var zLe=c_(),VLe=p_(),XLe=C_(),ZLe=E_(),_Le=y_();function wh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var B_=G0(),$Le="Expected a function";function MN(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError($Le);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(MN.Cache||B_),t}MN.Cache=B_;b_.exports=MN});var v_=w((CAt,S_)=>{var eMe=Q_(),tMe=500;function rMe(r){var e=eMe(r,function(i){return t.size===tMe&&t.clear(),i}),t=e.cache;return e}S_.exports=rMe});var P_=w((mAt,x_)=>{var iMe=v_(),nMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,sMe=/\\(\\)?/g,oMe=iMe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(nMe,function(t,i,n,s){e.push(n?s.replace(sMe,"$1"):i||t)}),e});x_.exports=oMe});var Bh=w((EAt,D_)=>{var aMe=vs(),AMe=K0(),lMe=P_(),cMe=Vf();function uMe(r,e){return aMe(r)?r:AMe(r,e)?[r]:lMe(cMe(r))}D_.exports=uMe});var Zc=w((IAt,k_)=>{var gMe=gC(),fMe=1/0;function hMe(r){if(typeof r=="string"||gMe(r))return r;var e=r+"";return e=="0"&&1/r==-fMe?"-0":e}k_.exports=hMe});var rm=w((yAt,R_)=>{var pMe=Bh(),dMe=Zc();function CMe(r,e){e=pMe(e,r);for(var t=0,i=e.length;r!=null&&t{var mMe=pl(),EMe=function(){try{var r=mMe(Object,"defineProperty");return r({},"",{}),r}catch{}}();F_.exports=EMe});var bh=w((BAt,T_)=>{var N_=ON();function IMe(r,e,t){e=="__proto__"&&N_?N_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}T_.exports=IMe});var Y0=w((bAt,L_)=>{var yMe=bh(),wMe=Ih(),BMe=Object.prototype,bMe=BMe.hasOwnProperty;function QMe(r,e,t){var i=r[e];(!(bMe.call(r,e)&&wMe(i,t))||t===void 0&&!(e in r))&&yMe(r,e,t)}L_.exports=QMe});var im=w((QAt,M_)=>{var SMe=9007199254740991,vMe=/^(?:0|[1-9]\d*)$/;function xMe(r,e){var t=typeof r;return e=e==null?SMe:e,!!e&&(t=="number"||t!="symbol"&&vMe.test(r))&&r>-1&&r%1==0&&r{var PMe=Y0(),DMe=Bh(),kMe=im(),O_=vn(),RMe=Zc();function FMe(r,e,t,i){if(!O_(r))return r;e=DMe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var NMe=rm(),TMe=KN(),LMe=Bh();function MMe(r,e,t){for(var i=-1,n=e.length,s={};++i{function OMe(r,e){return r!=null&&e in Object(r)}G_.exports=OMe});var q_=w((PAt,j_)=>{var KMe=Fc(),UMe=Jo(),HMe="[object Arguments]";function GMe(r){return UMe(r)&&KMe(r)==HMe}j_.exports=GMe});var nm=w((DAt,z_)=>{var J_=q_(),YMe=Jo(),W_=Object.prototype,jMe=W_.hasOwnProperty,qMe=W_.propertyIsEnumerable,JMe=J_(function(){return arguments}())?J_:function(r){return YMe(r)&&jMe.call(r,"callee")&&!qMe.call(r,"callee")};z_.exports=JMe});var j0=w((kAt,V_)=>{var WMe=9007199254740991;function zMe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=WMe}V_.exports=zMe});var UN=w((RAt,X_)=>{var VMe=Bh(),XMe=nm(),ZMe=vs(),_Me=im(),$Me=j0(),eOe=Zc();function tOe(r,e,t){e=VMe(e,r);for(var i=-1,n=e.length,s=!1;++i{var rOe=Y_(),iOe=UN();function nOe(r,e){return r!=null&&iOe(r,e,rOe)}Z_.exports=nOe});var $_=w((NAt,__)=>{var sOe=H_(),oOe=HN();function aOe(r,e){return sOe(r,e,function(t,i){return oOe(r,i)})}__.exports=aOe});var q0=w((TAt,e$)=>{function AOe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var t$=Rc(),lOe=nm(),cOe=vs(),r$=t$?t$.isConcatSpreadable:void 0;function uOe(r){return cOe(r)||lOe(r)||!!(r$&&r&&r[r$])}i$.exports=uOe});var a$=w((MAt,o$)=>{var gOe=q0(),fOe=n$();function s$(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=fOe),n||(n=[]);++s0&&t(a)?e>1?s$(a,e-1,t,i,n):gOe(n,a):i||(n[n.length]=a)}return n}o$.exports=s$});var l$=w((OAt,A$)=>{var hOe=a$();function pOe(r){var e=r==null?0:r.length;return e?hOe(r,1):[]}A$.exports=pOe});var u$=w((KAt,c$)=>{function dOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}c$.exports=dOe});var GN=w((UAt,f$)=>{var COe=u$(),g$=Math.max;function mOe(r,e,t){return e=g$(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=g$(i.length-e,0),o=Array(s);++n{function EOe(r){return function(){return r}}h$.exports=EOe});var J0=w((GAt,d$)=>{function IOe(r){return r}d$.exports=IOe});var E$=w((YAt,m$)=>{var yOe=p$(),C$=ON(),wOe=J0(),BOe=C$?function(r,e){return C$(r,"toString",{configurable:!0,enumerable:!1,value:yOe(e),writable:!0})}:wOe;m$.exports=BOe});var y$=w((jAt,I$)=>{var bOe=800,QOe=16,SOe=Date.now;function vOe(r){var e=0,t=0;return function(){var i=SOe(),n=QOe-(i-t);if(t=i,n>0){if(++e>=bOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}I$.exports=vOe});var YN=w((qAt,w$)=>{var xOe=E$(),POe=y$(),DOe=POe(xOe);w$.exports=DOe});var b$=w((JAt,B$)=>{var kOe=l$(),ROe=GN(),FOe=YN();function NOe(r){return FOe(ROe(r,void 0,kOe),r+"")}B$.exports=NOe});var S$=w((WAt,Q$)=>{var TOe=$_(),LOe=b$(),MOe=LOe(function(r,e){return r==null?{}:TOe(r,e)});Q$.exports=MOe});var M$=w((dct,L$)=>{"use strict";var XN;try{XN=Map}catch{}var ZN;try{ZN=Set}catch{}function N$(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(T$);if(XN&&r instanceof XN)return new Map(Array.from(r.entries()));if(ZN&&r instanceof ZN)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:N$(r[n],e,t)}return i}return r}function T$(r){return N$(r,[],[])}L$.exports=T$});var om=w(_N=>{"use strict";Object.defineProperty(_N,"__esModule",{value:!0});_N.default=_Oe;var JOe=Object.prototype.toString,WOe=Error.prototype.toString,zOe=RegExp.prototype.toString,VOe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",XOe=/^Symbol\((.*)\)(.*)$/;function ZOe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function O$(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return ZOe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return VOe.call(r).replace(XOe,"Symbol($1)");let i=JOe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+WOe.call(r)+"]":i==="RegExp"?zOe.call(r):null}function _Oe(r,e){let t=O$(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=O$(this[i],e);return s!==null?s:n},2)}});var nA=w(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=Ei.array=Ei.object=Ei.boolean=Ei.date=Ei.number=Ei.string=Ei.mixed=void 0;var K$=$Oe(om());function $Oe(r){return r&&r.__esModule?r:{default:r}}var U$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,K$.default)(t,!0)}\``+(n?` (cast from the value \`${(0,K$.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Ei.mixed=U$;var H$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Ei.string=H$;var G$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Ei.number=G$;var Y$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Ei.date=Y$;var j$={isValue:"${path} field must be ${value}"};Ei.boolean=j$;var q$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Ei.object=q$;var J$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Ei.array=J$;var e1e=Object.assign(Object.create(null),{mixed:U$,string:H$,number:G$,date:Y$,object:q$,array:J$,boolean:j$});Ei.default=e1e});var z$=w((Ect,W$)=>{var t1e=Object.prototype,r1e=t1e.hasOwnProperty;function i1e(r,e){return r!=null&&r1e.call(r,e)}W$.exports=i1e});var am=w((Ict,V$)=>{var n1e=z$(),s1e=UN();function o1e(r,e){return r!=null&&s1e(r,e,n1e)}V$.exports=o1e});var xh=w(eb=>{"use strict";Object.defineProperty(eb,"__esModule",{value:!0});eb.default=void 0;var a1e=r=>r&&r.__isYupSchema__;eb.default=a1e});var Z$=w(tb=>{"use strict";Object.defineProperty(tb,"__esModule",{value:!0});tb.default=void 0;var A1e=X$(am()),l1e=X$(xh());function X$(r){return r&&r.__esModule?r:{default:r}}var $N=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,A1e.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,l1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},c1e=$N;tb.default=c1e});var tT=w(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});eT.default=u1e;function u1e(r){return r==null?[]:[].concat(r)}});var _c=w(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});rb.default=void 0;var g1e=_$(om()),f1e=_$(tT());function _$(r){return r&&r.__esModule?r:{default:r}}function rT(){return rT=Object.assign||function(r){for(var e=1;e(0,g1e.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,f1e.default)(e).forEach(s=>{Ph.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ph)}};rb.default=Ph});var ib=w(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});nT.default=C1e;var iT=p1e(_c());function p1e(r){return r&&r.__esModule?r:{default:r}}var d1e=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function C1e(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=d1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new iT.default(o,s,l)):c(null,s);for(let f=0;f{function m1e(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}$$.exports=m1e});var sT=w((vct,tee)=>{var E1e=eee(),I1e=E1e();tee.exports=I1e});var iee=w((xct,ree)=>{function y1e(r,e){for(var t=-1,i=Array(r);++t{function w1e(){return!1}nee.exports=w1e});var lm=w((Am,Dh)=>{var B1e=ys(),b1e=see(),Aee=typeof Am=="object"&&Am&&!Am.nodeType&&Am,oee=Aee&&typeof Dh=="object"&&Dh&&!Dh.nodeType&&Dh,Q1e=oee&&oee.exports===Aee,aee=Q1e?B1e.Buffer:void 0,S1e=aee?aee.isBuffer:void 0,v1e=S1e||b1e;Dh.exports=v1e});var cee=w((Dct,lee)=>{var x1e=Fc(),P1e=j0(),D1e=Jo(),k1e="[object Arguments]",R1e="[object Array]",F1e="[object Boolean]",N1e="[object Date]",T1e="[object Error]",L1e="[object Function]",M1e="[object Map]",O1e="[object Number]",K1e="[object Object]",U1e="[object RegExp]",H1e="[object Set]",G1e="[object String]",Y1e="[object WeakMap]",j1e="[object ArrayBuffer]",q1e="[object DataView]",J1e="[object Float32Array]",W1e="[object Float64Array]",z1e="[object Int8Array]",V1e="[object Int16Array]",X1e="[object Int32Array]",Z1e="[object Uint8Array]",_1e="[object Uint8ClampedArray]",$1e="[object Uint16Array]",eKe="[object Uint32Array]",Ir={};Ir[J1e]=Ir[W1e]=Ir[z1e]=Ir[V1e]=Ir[X1e]=Ir[Z1e]=Ir[_1e]=Ir[$1e]=Ir[eKe]=!0;Ir[k1e]=Ir[R1e]=Ir[j1e]=Ir[F1e]=Ir[q1e]=Ir[N1e]=Ir[T1e]=Ir[L1e]=Ir[M1e]=Ir[O1e]=Ir[K1e]=Ir[U1e]=Ir[H1e]=Ir[G1e]=Ir[Y1e]=!1;function tKe(r){return D1e(r)&&P1e(r.length)&&!!Ir[x1e(r)]}lee.exports=tKe});var nb=w((kct,uee)=>{function rKe(r){return function(e){return r(e)}}uee.exports=rKe});var sb=w((cm,kh)=>{var iKe=WD(),gee=typeof cm=="object"&&cm&&!cm.nodeType&&cm,um=gee&&typeof kh=="object"&&kh&&!kh.nodeType&&kh,nKe=um&&um.exports===gee,oT=nKe&&iKe.process,sKe=function(){try{var r=um&&um.require&&um.require("util").types;return r||oT&&oT.binding&&oT.binding("util")}catch{}}();kh.exports=sKe});var ob=w((Rct,pee)=>{var oKe=cee(),aKe=nb(),fee=sb(),hee=fee&&fee.isTypedArray,AKe=hee?aKe(hee):oKe;pee.exports=AKe});var aT=w((Fct,dee)=>{var lKe=iee(),cKe=nm(),uKe=vs(),gKe=lm(),fKe=im(),hKe=ob(),pKe=Object.prototype,dKe=pKe.hasOwnProperty;function CKe(r,e){var t=uKe(r),i=!t&&cKe(r),n=!t&&!i&&gKe(r),s=!t&&!i&&!n&&hKe(r),o=t||i||n||s,a=o?lKe(r.length,String):[],l=a.length;for(var c in r)(e||dKe.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||fKe(c,l)))&&a.push(c);return a}dee.exports=CKe});var ab=w((Nct,Cee)=>{var mKe=Object.prototype;function EKe(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||mKe;return r===t}Cee.exports=EKe});var AT=w((Tct,mee)=>{function IKe(r,e){return function(t){return r(e(t))}}mee.exports=IKe});var Iee=w((Lct,Eee)=>{var yKe=AT(),wKe=yKe(Object.keys,Object);Eee.exports=wKe});var wee=w((Mct,yee)=>{var BKe=ab(),bKe=Iee(),QKe=Object.prototype,SKe=QKe.hasOwnProperty;function vKe(r){if(!BKe(r))return bKe(r);var e=[];for(var t in Object(r))SKe.call(r,t)&&t!="constructor"&&e.push(t);return e}yee.exports=vKe});var gm=w((Oct,Bee)=>{var xKe=U0(),PKe=j0();function DKe(r){return r!=null&&PKe(r.length)&&!xKe(r)}Bee.exports=DKe});var Rh=w((Kct,bee)=>{var kKe=aT(),RKe=wee(),FKe=gm();function NKe(r){return FKe(r)?kKe(r):RKe(r)}bee.exports=NKe});var lT=w((Uct,Qee)=>{var TKe=sT(),LKe=Rh();function MKe(r,e){return r&&TKe(r,e,LKe)}Qee.exports=MKe});var vee=w((Hct,See)=>{var OKe=em();function KKe(){this.__data__=new OKe,this.size=0}See.exports=KKe});var Pee=w((Gct,xee)=>{function UKe(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}xee.exports=UKe});var kee=w((Yct,Dee)=>{function HKe(r){return this.__data__.get(r)}Dee.exports=HKe});var Fee=w((jct,Ree)=>{function GKe(r){return this.__data__.has(r)}Ree.exports=GKe});var Tee=w((qct,Nee)=>{var YKe=em(),jKe=H0(),qKe=G0(),JKe=200;function WKe(r,e){var t=this.__data__;if(t instanceof YKe){var i=t.__data__;if(!jKe||i.length{var zKe=em(),VKe=vee(),XKe=Pee(),ZKe=kee(),_Ke=Fee(),$Ke=Tee();function Fh(r){var e=this.__data__=new zKe(r);this.size=e.size}Fh.prototype.clear=VKe;Fh.prototype.delete=XKe;Fh.prototype.get=ZKe;Fh.prototype.has=_Ke;Fh.prototype.set=$Ke;Lee.exports=Fh});var Oee=w((Wct,Mee)=>{var eUe="__lodash_hash_undefined__";function tUe(r){return this.__data__.set(r,eUe),this}Mee.exports=tUe});var Uee=w((zct,Kee)=>{function rUe(r){return this.__data__.has(r)}Kee.exports=rUe});var Gee=w((Vct,Hee)=>{var iUe=G0(),nUe=Oee(),sUe=Uee();function Ab(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new iUe;++e{function oUe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function aUe(r,e){return r.has(e)}qee.exports=aUe});var cT=w((_ct,Wee)=>{var AUe=Gee(),lUe=jee(),cUe=Jee(),uUe=1,gUe=2;function fUe(r,e,t,i,n,s){var o=t&uUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&gUe?new AUe:void 0;for(s.set(r,e),s.set(e,r);++g{var hUe=ys(),pUe=hUe.Uint8Array;zee.exports=pUe});var Xee=w((eut,Vee)=>{function dUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Vee.exports=dUe});var _ee=w((tut,Zee)=>{function CUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}Zee.exports=CUe});var ite=w((rut,rte)=>{var $ee=Rc(),ete=uT(),mUe=Ih(),EUe=cT(),IUe=Xee(),yUe=_ee(),wUe=1,BUe=2,bUe="[object Boolean]",QUe="[object Date]",SUe="[object Error]",vUe="[object Map]",xUe="[object Number]",PUe="[object RegExp]",DUe="[object Set]",kUe="[object String]",RUe="[object Symbol]",FUe="[object ArrayBuffer]",NUe="[object DataView]",tte=$ee?$ee.prototype:void 0,gT=tte?tte.valueOf:void 0;function TUe(r,e,t,i,n,s,o){switch(t){case NUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case FUe:return!(r.byteLength!=e.byteLength||!s(new ete(r),new ete(e)));case bUe:case QUe:case xUe:return mUe(+r,+e);case SUe:return r.name==e.name&&r.message==e.message;case PUe:case kUe:return r==e+"";case vUe:var a=IUe;case DUe:var l=i&wUe;if(a||(a=yUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=BUe,o.set(r,e);var u=EUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case RUe:if(gT)return gT.call(r)==gT.call(e)}return!1}rte.exports=TUe});var fT=w((iut,nte)=>{var LUe=q0(),MUe=vs();function OUe(r,e,t){var i=e(r);return MUe(r)?i:LUe(i,t(r))}nte.exports=OUe});var ote=w((nut,ste)=>{function KUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function UUe(){return[]}ate.exports=UUe});var lb=w((out,lte)=>{var HUe=ote(),GUe=hT(),YUe=Object.prototype,jUe=YUe.propertyIsEnumerable,Ate=Object.getOwnPropertySymbols,qUe=Ate?function(r){return r==null?[]:(r=Object(r),HUe(Ate(r),function(e){return jUe.call(r,e)}))}:GUe;lte.exports=qUe});var pT=w((aut,cte)=>{var JUe=fT(),WUe=lb(),zUe=Rh();function VUe(r){return JUe(r,zUe,WUe)}cte.exports=VUe});var fte=w((Aut,gte)=>{var ute=pT(),XUe=1,ZUe=Object.prototype,_Ue=ZUe.hasOwnProperty;function $Ue(r,e,t,i,n,s){var o=t&XUe,a=ute(r),l=a.length,c=ute(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:_Ue.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var e2e=pl(),t2e=ys(),r2e=e2e(t2e,"DataView");hte.exports=r2e});var Cte=w((cut,dte)=>{var i2e=pl(),n2e=ys(),s2e=i2e(n2e,"Promise");dte.exports=s2e});var Ete=w((uut,mte)=>{var o2e=pl(),a2e=ys(),A2e=o2e(a2e,"Set");mte.exports=A2e});var yte=w((gut,Ite)=>{var l2e=pl(),c2e=ys(),u2e=l2e(c2e,"WeakMap");Ite.exports=u2e});var hm=w((fut,xte)=>{var dT=pte(),CT=H0(),mT=Cte(),ET=Ete(),IT=yte(),vte=Fc(),Nh=LN(),wte="[object Map]",g2e="[object Object]",Bte="[object Promise]",bte="[object Set]",Qte="[object WeakMap]",Ste="[object DataView]",f2e=Nh(dT),h2e=Nh(CT),p2e=Nh(mT),d2e=Nh(ET),C2e=Nh(IT),$c=vte;(dT&&$c(new dT(new ArrayBuffer(1)))!=Ste||CT&&$c(new CT)!=wte||mT&&$c(mT.resolve())!=Bte||ET&&$c(new ET)!=bte||IT&&$c(new IT)!=Qte)&&($c=function(r){var e=vte(r),t=e==g2e?r.constructor:void 0,i=t?Nh(t):"";if(i)switch(i){case f2e:return Ste;case h2e:return wte;case p2e:return Bte;case d2e:return bte;case C2e:return Qte}return e});xte.exports=$c});var Lte=w((hut,Tte)=>{var yT=fm(),m2e=cT(),E2e=ite(),I2e=fte(),Pte=hm(),Dte=vs(),kte=lm(),y2e=ob(),w2e=1,Rte="[object Arguments]",Fte="[object Array]",cb="[object Object]",B2e=Object.prototype,Nte=B2e.hasOwnProperty;function b2e(r,e,t,i,n,s){var o=Dte(r),a=Dte(e),l=o?Fte:Pte(r),c=a?Fte:Pte(e);l=l==Rte?cb:l,c=c==Rte?cb:c;var u=l==cb,g=c==cb,f=l==c;if(f&&kte(r)){if(!kte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new yT),o||y2e(r)?m2e(r,e,t,i,n,s):E2e(r,e,l,t,i,n,s);if(!(t&w2e)){var h=u&&Nte.call(r,"__wrapped__"),p=g&&Nte.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new yT),n(C,y,t,i,s)}}return f?(s||(s=new yT),I2e(r,e,t,i,n,s)):!1}Tte.exports=b2e});var wT=w((put,Kte)=>{var Q2e=Lte(),Mte=Jo();function Ote(r,e,t,i,n){return r===e?!0:r==null||e==null||!Mte(r)&&!Mte(e)?r!==r&&e!==e:Q2e(r,e,t,i,Ote,n)}Kte.exports=Ote});var Hte=w((dut,Ute)=>{var S2e=fm(),v2e=wT(),x2e=1,P2e=2;function D2e(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var k2e=vn();function R2e(r){return r===r&&!k2e(r)}Gte.exports=R2e});var jte=w((mut,Yte)=>{var F2e=BT(),N2e=Rh();function T2e(r){for(var e=N2e(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,F2e(n)]}return e}Yte.exports=T2e});var bT=w((Eut,qte)=>{function L2e(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}qte.exports=L2e});var Wte=w((Iut,Jte)=>{var M2e=Hte(),O2e=jte(),K2e=bT();function U2e(r){var e=O2e(r);return e.length==1&&e[0][2]?K2e(e[0][0],e[0][1]):function(t){return t===r||M2e(t,r,e)}}Jte.exports=U2e});var ub=w((yut,zte)=>{var H2e=rm();function G2e(r,e,t){var i=r==null?void 0:H2e(r,e);return i===void 0?t:i}zte.exports=G2e});var Xte=w((wut,Vte)=>{var Y2e=wT(),j2e=ub(),q2e=HN(),J2e=K0(),W2e=BT(),z2e=bT(),V2e=Zc(),X2e=1,Z2e=2;function _2e(r,e){return J2e(r)&&W2e(e)?z2e(V2e(r),e):function(t){var i=j2e(t,r);return i===void 0&&i===e?q2e(t,r):Y2e(e,i,X2e|Z2e)}}Vte.exports=_2e});var _te=w((But,Zte)=>{function $2e(r){return function(e){return e==null?void 0:e[r]}}Zte.exports=$2e});var ere=w((but,$te)=>{var eHe=rm();function tHe(r){return function(e){return eHe(e,r)}}$te.exports=tHe});var rre=w((Qut,tre)=>{var rHe=_te(),iHe=ere(),nHe=K0(),sHe=Zc();function oHe(r){return nHe(r)?rHe(sHe(r)):iHe(r)}tre.exports=oHe});var QT=w((Sut,ire)=>{var aHe=Wte(),AHe=Xte(),lHe=J0(),cHe=vs(),uHe=rre();function gHe(r){return typeof r=="function"?r:r==null?lHe:typeof r=="object"?cHe(r)?AHe(r[0],r[1]):aHe(r):uHe(r)}ire.exports=gHe});var ST=w((vut,nre)=>{var fHe=bh(),hHe=lT(),pHe=QT();function dHe(r,e){var t={};return e=pHe(e,3),hHe(r,function(i,n,s){fHe(t,n,e(i,n,s))}),t}nre.exports=dHe});var pm=w((xut,lre)=>{"use strict";function eu(r){this._maxSize=r,this.clear()}eu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};eu.prototype.get=function(r){return this._values[r]};eu.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var CHe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Are=/^\d+$/,mHe=/^\d/,EHe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,IHe=/^\s*(['"]?)(.*?)(\1)\s*$/,PT=512,sre=new eu(PT),ore=new eu(PT),are=new eu(PT);lre.exports={Cache:eu,split:xT,normalizePath:vT,setter:function(r){var e=vT(r);return ore.get(r)||ore.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.create=SHe;Cm.default=void 0;var QHe=pm(),gb={context:"$",value:"."};function SHe(r,e){return new dm(r,e)}var dm=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===gb.context,this.isValue=this.key[0]===gb.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?gb.context:this.isValue?gb.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,QHe.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Cm.default=dm;dm.prototype.__isYupRef=!0});var cre=w(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});RT.default=DHe;var vHe=kT(ST()),fb=kT(_c()),xHe=kT(tu());function kT(r){return r&&r.__esModule?r:{default:r}}function hb(){return hb=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function DHe(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=PHe(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return xHe.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,vHe.default)(hb({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new fb.default(fb.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=hb({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{fb.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let T;try{var H;if(T=f.call(D,n,D),typeof((H=T)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}fb.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var FT=w(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.getIn=ure;mm.default=void 0;var kHe=pm(),RHe=r=>r.substr(0,r.length-1).substr(1);function ure(r,e,t,i=t){let n,s,o;return e?((0,kHe.forEach)(e,(a,l,c)=>{let u=l?RHe(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var FHe=(r,e,t,i)=>ure(r,e,t,i).schema,NHe=FHe;mm.default=NHe});var fre=w(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.default=void 0;var gre=THe(tu());function THe(r){return r&&r.__esModule?r:{default:r}}var Em=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){gre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){gre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new Em;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};pb.default=Em});var oA=w(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});Cb.default=void 0;var hre=sA(M$()),Th=nA(),LHe=sA(Z$()),pre=sA(ib()),db=sA(cre()),dre=sA(om()),MHe=sA(tu()),OHe=FT(),KHe=sA(tT()),Cre=sA(_c()),mre=sA(fre());function sA(r){return r&&r.__esModule?r:{default:r}}function Fs(){return Fs=Object.assign||function(r){for(var e=1;e{this.typeError(Th.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Fs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Fs({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,hre.default)(Fs({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Fs({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Fs({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,dre.default)(e),o=(0,dre.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". +`));if(!E)return null;d.input=yA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function ss(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var L=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(L.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var L in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,L){var Z=d.node.contents;if(L>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-L,k);if(te>8&&Z.subarray)E.set(Z.subarray(L,L+te),I);else for(var we=0;we0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),bt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Le.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Le.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Le.utimesSync(I,k,k)}E.size!==void 0&&Le.truncateSync(I,E.size)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},lookup:function(d,E){var I=bt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var L=At.createNode(d,E,I,k),Z=At.realPath(L);try{S.isDir(L.mode)?Le.mkdirSync(Z,L.mode):Le.writeFileSync(Z,"",{mode:L.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return L},rename:function(d,E,I){var k=At.realPath(d),L=bt.join2(At.realPath(E),I);try{Le.renameSync(k,L)}catch(Z){throw Z.code?new S.ErrnoError(At.convertNodeCode(Z)):Z}d.name=I},unlink:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Le.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=bt.join2(At.realPath(d),E);try{Le.symlinkSync(I,k)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},readlink:function(d){var E=At.realPath(d);try{return E=Le.readlinkSync(E),E=dg.relative(dg.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Le.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Le.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,L){if(k===0)return 0;try{return Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},write:function(d,E,I,k,L){try{return Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var L=Le.fstatSync(d.nfd);k+=L.size}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,L,Z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=ss(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(L&2)return 0;var Z=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},ln={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Le.mkdirSync(d,E):Le.writeFileSync(d,"",{mode:E})},mkdir:function(){Le.mkdirSync.apply(void 0,arguments)},symlink:function(){Le.symlinkSync.apply(void 0,arguments)},rename:function(){Le.renameSync.apply(void 0,arguments)},rmdir:function(){Le.rmdirSync.apply(void 0,arguments)},readdir:function(){Le.readdirSync.apply(void 0,arguments)},unlink:function(){Le.unlinkSync.apply(void 0,arguments)},readlink:function(){return Le.readlinkSync.apply(void 0,arguments)},stat:function(){return Le.statSync.apply(void 0,arguments)},lstat:function(){return Le.lstatSync.apply(void 0,arguments)},chmod:function(){Le.chmodSync.apply(void 0,arguments)},fchmod:function(){Le.fchmodSync.apply(void 0,arguments)},chown:function(){Le.chownSync.apply(void 0,arguments)},fchown:function(){Le.fchownSync.apply(void 0,arguments)},truncate:function(){Le.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Le.ftruncateSync.apply(void 0,arguments)},utime:function(){Le.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Hs.modeStringToFlags(E));var L=Le.openSync(d,At.flagsForNode(E),I),Z=k!=null?k:S.nextfd(L),te={fd:Z,nfd:L,position:0,path:d,flags:E,seekable:!0};return S.streams[Z]=te,te},close:function(d){d.stream_ops||Le.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Hs.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Le.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(Bo.EINVAL);if(k<0)throw new S.ErrnoError(Bo.EINVAL);return d.position=k,k},read:function(d,E,I,k,L){if(d.stream_ops)return Hs.read(d,E,I,k,L);var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L){if(d.stream_ops)return Hs.write(d,E,I,k,L);d.flags&+"1024"&&S.llseek(d,0,+"2");var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(Bo.EOPNOTSUPP)},mmap:function(d,E,I,k,L,Z){if(d.stream_ops)return Hs.mmap(d,E,I,k,L,Z);if(E!==0)throw new S.ErrnoError(28);var te=ss(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){return d.stream_ops?Hs.msync(d,E,I,k,L):(L&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(Bo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Nn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var L=bt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),Z=S.root,te="/",we=0;we40)throw new S.ErrnoError(32)}}return{path:te,node:Z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),L=S.nameTable[k];L;L=L.name_next){var Z=L.name;if(L.parent.id===d.id&&Z===E)return L}return S.lookup(d,E)},createNode:function(d,E,I,k){var L=new S.FSNode(d,E,I,k);return S.hashAddNode(L),L},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(Z){return Z.errno}var L=S.nodePermissions(d,"wx");if(L)return L;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var L in d)k[L]=d[L];d=k;var Z=S.nextfd(E,I);return d.fd=Z,S.streams[Z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function L(te){return S.syncFSRequests--,E(te)}function Z(te){if(te)return Z.errored?void 0:(Z.errored=!0,L(te));++k>=I.length&&L(null)}I.forEach(function(te){if(!te.type.syncfs)return Z(null);te.type.syncfs(te,d,Z)})},mount:function(d,E,I){var k=I==="/",L=!I,Z;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!L){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,Z=te.node,S.isMountpoint(Z))throw new S.ErrnoError(10);if(!S.isDir(Z.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,k?S.root=me:Z&&(Z.mounted=we,Z.mount&&Z.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,L=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var we=S.nameTable[te];we;){var me=we.name_next;L.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var Z=I.mount.mounts.indexOf(k);I.mount.mounts.splice(Z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),L=k.node,Z=bt.basename(d);if(!Z||Z==="."||Z==="..")throw new S.ErrnoError(28);var te=S.mayCreate(L,Z);if(te)throw new S.ErrnoError(te);if(!L.node_ops.mknod)throw new S.ErrnoError(63);return L.node_ops.mknod(L,Z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",L=0;L"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!Nn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var L=bt.basename(E),Z=S.mayCreate(k,L);if(Z)throw new S.ErrnoError(Z);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,L,d)},rename:function(d,E){var I=bt.dirname(d),k=bt.dirname(E),L=bt.basename(d),Z=bt.basename(E),te,we,me;if(te=S.lookupPath(d,{parent:!0}),we=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!we||!me)throw new S.ErrnoError(44);if(we.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(we,L),nt=Nn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=Nn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,Z)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(we,L,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,Z,lt):S.mayCreate(me,Z),it)throw new S.ErrnoError(it);if(!we.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==we&&(it=S.nodePermissions(we,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{we.node_ops.rename(Je,me,Z)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!0);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!1);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return Nn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var L=S.lookupPath(d,{follow:!I});k=L.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var L;if(typeof d=="string"){var Z=S.lookupPath(d,{follow:!k});L=Z.node}else L=d;if(!L.node_ops.setattr)throw new S.ErrnoError(63);L.node_ops.setattr(L,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var L=S.nodePermissions(I,"w");if(L)throw new S.ErrnoError(L);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),L=k.node;L.node_ops.setattr(L,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,L){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var Z;if(typeof d=="object")Z=d;else{d=bt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});Z=te.node}catch{}}var we=!1;if(E&64)if(Z){if(E&128)throw new S.ErrnoError(20)}else Z=S.mknod(d,I,0),we=!0;if(!Z)throw new S.ErrnoError(44);if(S.isChrdev(Z.mode)&&(E&=-513),E&65536&&!S.isDir(Z.mode))throw new S.ErrnoError(54);if(!we){var me=S.mayOpen(Z,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(Z,0),E&=-131713;var Je=S.createStream({node:Z,path:S.getPath(Z),flags:E,seekable:!0,position:0,stream_ops:Z.stream_ops,ungotten:[],error:!1},k,L);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,L){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var Z=typeof L<"u";if(!Z)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L,Z){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof L<"u";if(!te)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var we=d.stream_ops.write(d,E,I,k,L,Z);te||(d.position+=we);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return we},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,L,Z){if((L&2)!==0&&(Z&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,L,Z)},msync:function(d,E,I,k,L){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,L)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),L=S.stat(d),Z=L.size,te=new Uint8Array(Z);return S.read(k,te,0,Z,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var L=new Uint8Array(le(E)+1),Z=Ne(E,L,0,L.length);S.write(k,L,0,Z,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,L,Z){return L}}),S.mkdev("/dev/null",S.makedev(1,3)),ns.register(S.makedev(5,0),ns.default_tty_ops),ns.register(S.makedev(6,0),ns.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Ll();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var L=+k,Z=S.getStream(L);if(!Z)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return Z.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},Z.prototype.setDataGetter=function(lt){this.getter=lt},Z.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,be=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",Mn=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",Ri=1024*1024;be||(Ri=it);var SA=function(os,Ea){if(os>Ea)throw new Error("invalid range ("+os+", "+Ea+") or no bytes requested!");if(Ea>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==Ri&&Kr.setRequestHeader("Range","bytes="+os+"-"+Ea),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):yA(Kr.responseText||"",!0)},Or=this;Or.setDataGetter(function(os){var Ea=os*Ri,Kr=(os+1)*Ri-1;if(Kr=Math.min(Kr,it-1),typeof Or.chunks[os]>"u"&&(Or.chunks[os]=SA(Ea,Kr)),typeof Or.chunks[os]>"u")throw new Error("doXHR failed!");return Or.chunks[os]}),(Mn||!it)&&(Ri=it=1,it=this.getter(0).length,Ri=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=Ri,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new Z;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:te}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,k,L);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,be,Mn){S.forceLoadFile(me);var Ri=lt.node.contents;if(Mn>=Ri.length)return 0;var SA=Math.min(Ri.length-Mn,be);if(Ri.slice)for(var Or=0;Or>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,L){var Z=Y.slice(d,d+I);S.msync(E,Z,L,I,k)},doMkdir:function(d,E){return d=bt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),L=Math.min(I,le(k)),Z=ne[E+L];return oe(k,E,I+1),ne[E+L]=Z,L},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var L="";return E&4&&(L+="r"),E&2&&(L+="w"),E&1&&(L+="x"),L&&S.nodePermissions(I,L)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var L=0,Z=0;Z>2],we=de[E+(Z*8+4)>>2],me=S.read(d,ne,te,we,k);if(me<0)return-1;if(L+=me,me>2],we=de[E+(Z*8+4)>>2],me=S.write(d,ne,te,we,k);if(me<0)return-1;L+=me}return L},varargs:void 0,get:function(){Lt.varargs+=4;var d=de[Lt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function hg(d,E){try{return d=Lt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ml(d){return de[Ft()>>2]=d,d}function Qp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 0:{var L=Lt.get();if(L<0)return-28;var Z;return Z=S.open(k.path,k.flags,0,L),Z.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var L=Lt.get();return k.flags|=L,0}case 12:{var L=Lt.get(),te=0;return he[L+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ml(28),-1;default:return-28}}catch(we){return(typeof S>"u"||!(we instanceof S.ErrnoError))&&wr(we),-we.errno}}function Sp(d,E){try{var I=Lt.getStreamFromFD(d);return Lt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function vp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var L=Lt.get();return de[L>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var L=Lt.get();return S.ioctl(k,E,L)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(Z){return(typeof S>"u"||!(Z instanceof S.ErrnoError))&&wr(Z),-Z.errno}}function xp(d,E,I){Lt.varargs=I;try{var k=Lt.getStr(d),L=I?Lt.get():0,Z=S.open(k,E,L);return Z.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function Pp(d,E){try{return d=Lt.getStr(d),E=Lt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Lt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Lt.getStr(d),Lt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function IA(d){try{return d=Lt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function zi(d,E,I){Y.copyWithin(d,E,E+I)}function Ol(d){try{return A.grow(d-qe.byteLength+65535>>>16),Mr(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var L=E*(1+.2/k);L=Math.min(L,d+100663296);var Z=Math.min(I,ae(Math.max(d,L),65536)),te=Ol(Z);if(te)return!0}return!1}function pa(d){try{var E=Lt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function pg(d,E){try{var I=Lt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(L){return(typeof S>"u"||!(L instanceof S.ErrnoError))&&wr(L),L.errno}}function ME(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doReadv(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Dp(d,E,I,k,L){try{var Z=Lt.getStreamFromFD(d),te=4294967296,we=I*te+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(Z,we,k),se=[Z.position>>>0,(vr=Z.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[L>>2]=se[0],de[L+4>>2]=se[1],Z.getdents&&we===0&&k===0&&(Z.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function OE(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doWritev(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Tn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Kl(){if(Kl.called)return;Kl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),L=I.getTimezoneOffset(),Z=Math.max(k,L);de[iS()>>2]=Z*60,de[rS()>>2]=Number(k!=L);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var we=te(E),me=te(I),Je=Be(we),nt=Be(me);L>2]=Je,de[wg()+4>>2]=nt):(de[wg()>>2]=nt,de[wg()+4>>2]=Je)}function kp(d){Kl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=L,I.getTime()/1e3|0}var Us=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},da=365,cn=146;if(Object.defineProperties(Us.prototype,{read:{get:function(){return(this.mode&da)===da},set:function(d){d?this.mode|=da:this.mode&=~da}},write:{get:function(){return(this.mode&cn)===cn},set:function(d){d?this.mode|=cn:this.mode&=~cn}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Us,S.staticInit(),g){var Le=rV,dg=J("path");At.staticInit()}if(g){var Ul=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(Bo[E.code]):E}}},Hs=Object.assign({},S);for(var Hl in ln)S[Hl]=Ul(ln[Hl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function yA(d,E,I){var k=I>0?I:le(d)+1,L=new Array(k),Z=Ne(d,L,0,L.length);return E&&(L.length=Z),L}var Cg=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,L,Z,te,we,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),we=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|we>>4,L=(we&15)<<4|me>>2,Z=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(L)),Je!==64&&(I=I+String.fromCharCode(Z));while(nt0||(pr(),is>0))return;function E(){Oe||(Oe=!0,t.calledRun=!0,!Ae&&(Ii(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),rs()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=QA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return QA(),e}}();typeof IB=="object"&&typeof FR=="object"?FR.exports=RR:typeof define=="function"&&define.amd?define([],function(){return RR}):typeof IB=="object"&&(IB.createModule=RR)});var vV=w((jst,SV)=>{function dke(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var Cke=Array.isArray;xV.exports=Cke});var NV=w((Jst,FV)=>{var PV=Rc(),mke=vV(),Eke=vs(),Ike=gC(),yke=1/0,DV=PV?PV.prototype:void 0,kV=DV?DV.toString:void 0;function RV(r){if(typeof r=="string")return r;if(Eke(r))return mke(r,RV)+"";if(Ike(r))return kV?kV.call(r):"";var e=r+"";return e=="0"&&1/r==-yke?"-0":e}FV.exports=RV});var Vf=w((Wst,TV)=>{var wke=NV();function Bke(r){return r==null?"":wke(r)}TV.exports=Bke});var HR=w((zst,LV)=>{function bke(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var Qke=HR();function Ske(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:Qke(r,e,t)}MV.exports=Ske});var GR=w((Xst,KV)=>{var vke="\\ud800-\\udfff",xke="\\u0300-\\u036f",Pke="\\ufe20-\\ufe2f",Dke="\\u20d0-\\u20ff",kke=xke+Pke+Dke,Rke="\\ufe0e\\ufe0f",Fke="\\u200d",Nke=RegExp("["+Fke+vke+kke+Rke+"]");function Tke(r){return Nke.test(r)}KV.exports=Tke});var HV=w((Zst,UV)=>{function Lke(r){return r.split("")}UV.exports=Lke});var VV=w((_st,zV)=>{var GV="\\ud800-\\udfff",Mke="\\u0300-\\u036f",Oke="\\ufe20-\\ufe2f",Kke="\\u20d0-\\u20ff",Uke=Mke+Oke+Kke,Hke="\\ufe0e\\ufe0f",Gke="["+GV+"]",YR="["+Uke+"]",jR="\\ud83c[\\udffb-\\udfff]",Yke="(?:"+YR+"|"+jR+")",YV="[^"+GV+"]",jV="(?:\\ud83c[\\udde6-\\uddff]){2}",qV="[\\ud800-\\udbff][\\udc00-\\udfff]",jke="\\u200d",JV=Yke+"?",WV="["+Hke+"]?",qke="(?:"+jke+"(?:"+[YV,jV,qV].join("|")+")"+WV+JV+")*",Jke=WV+JV+qke,Wke="(?:"+[YV+YR+"?",YR,jV,qV,Gke].join("|")+")",zke=RegExp(jR+"(?="+jR+")|"+Wke+Jke,"g");function Vke(r){return r.match(zke)||[]}zV.exports=Vke});var ZV=w(($st,XV)=>{var Xke=HV(),Zke=GR(),_ke=VV();function $ke(r){return Zke(r)?_ke(r):Xke(r)}XV.exports=$ke});var $V=w((eot,_V)=>{var eRe=OV(),tRe=GR(),rRe=ZV(),iRe=Vf();function nRe(r){return function(e){e=iRe(e);var t=tRe(e)?rRe(e):void 0,i=t?t[0]:e.charAt(0),n=t?eRe(t,1).join(""):e.slice(1);return i[r]()+n}}_V.exports=nRe});var t9=w((tot,e9)=>{var sRe=$V(),oRe=sRe("toUpperCase");e9.exports=oRe});var PB=w((rot,r9)=>{var aRe=Vf(),ARe=t9();function lRe(r){return ARe(aRe(r).toLowerCase())}r9.exports=lRe});var i9=w((iot,DB)=>{function cRe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,T=2,H=3,j=4;function $(A,Ae){return 55296<=A.charCodeAt(Ae)&&A.charCodeAt(Ae)<=56319&&56320<=A.charCodeAt(Ae+1)&&A.charCodeAt(Ae+1)<=57343}function V(A,Ae){Ae===void 0&&(Ae=0);var ge=A.charCodeAt(Ae);if(55296<=ge&&ge<=56319&&Ae=1){var re=A.charCodeAt(Ae-1),M=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(M-56320)+65536:M}return ge}function W(A,Ae,ge){var re=[A].concat(Ae).concat([ge]),M=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return T;var pe=re.lastIndexOf(n);if(pe>0&&re.slice(1,pe).every(function(Fe){return Fe==n})&&[f,n].indexOf(M)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(M==r&&F==e)return v;if(M==t||M==r||M==e)return F==p&&Ae.every(function(Fe){return Fe==i})?T:D;if(F==t||F==r||F==e)return D;if(M==o&&(F==o||F==a||F==c||F==u))return v;if((M==c||M==a)&&(F==a||F==l))return v;if((M==u||M==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(M==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||M==C&&[y,B].indexOf(F)!=-1?v:Ae.indexOf(n)!=-1?T:M==n&&F==n?v:D}this.nextBreak=function(A,Ae){if(Ae===void 0&&(Ae=0),Ae<0)return 0;if(Ae>=A.length-1)return A.length;for(var ge=_(V(A,Ae)),re=[],M=Ae+1;M{var uRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,kB;function gRe(){if(kB)return kB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return kB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=i9(),e=new r;return kB=t=>e.splitGraphemes(t)}}n9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(uRe)||[r,r,void 0],l=gRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Xf=w((bot,y9)=>{"use strict";var I9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);y9.exports=r=>r?Object.keys(r).map(e=>[I9.has(e)?I9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var _f=w((Qot,D9)=>{"use strict";var w9=typeof process=="object"&&process?process:{stdout:null,stderr:null},QRe=J("events"),B9=J("stream"),b9=J("string_decoder").StringDecoder,Wa=Symbol("EOF"),za=Symbol("maybeEmitEnd"),rl=Symbol("emittedEnd"),MB=Symbol("emittingEnd"),NC=Symbol("emittedError"),OB=Symbol("closed"),Q9=Symbol("read"),KB=Symbol("flush"),S9=Symbol("flushChunk"),xn=Symbol("encoding"),Va=Symbol("decoder"),UB=Symbol("flowing"),TC=Symbol("paused"),Zf=Symbol("resume"),Ci=Symbol("bufferLength"),XR=Symbol("bufferPush"),ZR=Symbol("bufferShift"),Hi=Symbol("objectMode"),Gi=Symbol("destroyed"),_R=Symbol("emitData"),v9=Symbol("emitEnd"),$R=Symbol("emitEnd2"),Xa=Symbol("async"),LC=r=>Promise.resolve().then(r),x9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",SRe=x9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),vRe=x9&&Symbol.iterator||Symbol("iterator not implemented"),xRe=r=>r==="end"||r==="finish"||r==="prefinish",PRe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,DRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r),HB=class{constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[Zf](),t.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},eF=class extends HB{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=n=>t.emit("error",n),e.on("error",this.proxyErrors)}};D9.exports=class P9 extends B9{constructor(e){super(),this[UB]=!1,this[TC]=!1,this.pipes=[],this.buffer=[],this[Hi]=e&&e.objectMode||!1,this[Hi]?this[xn]=null:this[xn]=e&&e.encoding||null,this[xn]==="buffer"&&(this[xn]=null),this[Xa]=e&&!!e.async||!1,this[Va]=this[xn]?new b9(this[xn]):null,this[Wa]=!1,this[rl]=!1,this[MB]=!1,this[OB]=!1,this[NC]=null,this.writable=!0,this.readable=!0,this[Ci]=0,this[Gi]=!1}get bufferLength(){return this[Ci]}get encoding(){return this[xn]}set encoding(e){if(this[Hi])throw new Error("cannot set encoding in objectMode");if(this[xn]&&e!==this[xn]&&(this[Va]&&this[Va].lastNeed||this[Ci]))throw new Error("cannot change encoding");this[xn]!==e&&(this[Va]=e?new b9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Va].write(t)))),this[xn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hi]}set objectMode(e){this[Hi]=this[Hi]||!!e}get async(){return this[Xa]}set async(e){this[Xa]=this[Xa]||!!e}write(e,t,i){if(this[Wa])throw new Error("write after end");if(this[Gi])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8");let n=this[Xa]?LC:s=>s();return!this[Hi]&&!Buffer.isBuffer(e)&&(DRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):PRe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Hi]?(this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):e.length?(typeof e=="string"&&!(t===this[xn]&&!this[Va].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[xn]&&(e=this[Va].write(e)),this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):(this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing)}read(e){if(this[Gi])return null;if(this[Ci]===0||e===0||e>this[Ci])return this[za](),null;this[Hi]&&(e=null),this.buffer.length>1&&!this[Hi]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ci])]);let t=this[Q9](e||null,this.buffer[0]);return this[za](),t}[Q9](e,t){return e===t.length||e===null?this[ZR]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[Ci]-=e),this.emit("data",t),!this.buffer.length&&!this[Wa]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[Wa]=!0,this.writable=!1,(this.flowing||!this[TC])&&this[za](),this}[Zf](){this[Gi]||(this[TC]=!1,this[UB]=!0,this.emit("resume"),this.buffer.length?this[KB]():this[Wa]?this[za]():this.emit("drain"))}resume(){return this[Zf]()}pause(){this[UB]=!1,this[TC]=!0}get destroyed(){return this[Gi]}get flowing(){return this[UB]}get paused(){return this[TC]}[XR](e){this[Hi]?this[Ci]+=1:this[Ci]+=e.length,this.buffer.push(e)}[ZR](){return this.buffer.length&&(this[Hi]?this[Ci]-=1:this[Ci]-=this.buffer[0].length),this.buffer.shift()}[KB](e){do;while(this[S9](this[ZR]()));!e&&!this.buffer.length&&!this[Wa]&&this.emit("drain")}[S9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Gi])return;let i=this[rl];return t=t||{},e===w9.stdout||e===w9.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this.pipes.push(t.proxyErrors?new eF(this,e,t):new HB(this,e,t)),this[Xa]?LC(()=>this[Zf]()):this[Zf]()),e}unpipe(e){let t=this.pipes.find(i=>i.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return e==="data"&&!this.pipes.length&&!this.flowing?this[Zf]():e==="readable"&&this[Ci]!==0?super.emit("readable"):xRe(e)&&this[rl]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[NC]&&(this[Xa]?LC(()=>t.call(this,this[NC])):t.call(this,this[NC])),i}get emittedEnd(){return this[rl]}[za](){!this[MB]&&!this[rl]&&!this[Gi]&&this.buffer.length===0&&this[Wa]&&(this[MB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[OB]&&this.emit("close"),this[MB]=!1)}emit(e,t,...i){if(e!=="error"&&e!=="close"&&e!==Gi&&this[Gi])return;if(e==="data")return t?this[Xa]?LC(()=>this[_R](t)):this[_R](t):!1;if(e==="end")return this[v9]();if(e==="close"){if(this[OB]=!0,!this[rl]&&!this[Gi])return;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(e==="error"){this[NC]=t;let s=super.emit("error",t);return this[za](),s}else if(e==="resume"){let s=super.emit("resume");return this[za](),s}else if(e==="finish"||e==="prefinish"){let s=super.emit(e);return this.removeAllListeners(e),s}let n=super.emit(e,t,...i);return this[za](),n}[_R](e){for(let i of this.pipes)i.dest.write(e)===!1&&this.pause();let t=super.emit("data",e);return this[za](),t}[v9](){this[rl]||(this[rl]=!0,this.readable=!1,this[Xa]?LC(()=>this[$R]()):this[$R]())}[$R](){if(this[Va]){let t=this[Va].end();if(t){for(let i of this.pipes)i.dest.write(t);super.emit("data",t)}}for(let t of this.pipes)t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Hi]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[Hi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this[xn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Gi,()=>t(new Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[SRe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Wa])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Wa]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Gi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[vRe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Gi]?(e?this.emit("error",e):this.emit(Gi),this):(this[Gi]=!0,this.buffer.length=0,this[Ci]=0,typeof this.close=="function"&&!this[OB]&&this.close(),e?this.emit("error",e):this.emit(Gi),this)}static isStream(e){return!!e&&(e instanceof P9||e instanceof B9||e instanceof QRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var R9=w((Sot,k9)=>{var kRe=J("zlib").constants||{ZLIB_VERNUM:4736};k9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},kRe))});var dF=w(Xn=>{"use strict";var sF=J("assert"),il=J("buffer").Buffer,T9=J("zlib"),Uc=Xn.constants=R9(),RRe=_f(),F9=il.concat,Hc=Symbol("_superWrite"),eh=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},FRe=Symbol("opts"),MC=Symbol("flushFlag"),N9=Symbol("finishFlushFlag"),pF=Symbol("fullFlushFlag"),cr=Symbol("handle"),GB=Symbol("onError"),$f=Symbol("sawError"),tF=Symbol("level"),rF=Symbol("strategy"),iF=Symbol("ended"),vot=Symbol("_defaultFullFlush"),YB=class extends RRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[$f]=!1,this[iF]=!1,this[FRe]=e,this[MC]=e.flush,this[N9]=e.finishFlush;try{this[cr]=new T9[t](e)}catch(i){throw new eh(i)}this[GB]=i=>{this[$f]||(this[$f]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[GB](new eh(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[$f])return sF(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[pF]),this.write(Object.assign(il.alloc(0),{[MC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[N9]),this[iF]=!0,super.end(null,null,i)}get ended(){return this[iF]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=il.from(e,t)),this[$f])return;sF(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},il.concat=c=>c;let a;try{let c=typeof e[MC]=="number"?e[MC]:this[MC];a=this[cr]._processChunk(e,c),il.concat=F9}catch(c){il.concat=F9,this[GB](new eh(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[GB](new eh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[Hc](il.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[tF]=e,this[rF]=t)}}}},oF=class extends Za{constructor(e){super(e,"Deflate")}},aF=class extends Za{constructor(e){super(e,"Inflate")}},nF=Symbol("_portable"),AF=class extends Za{constructor(e){super(e,"Gzip"),this[nF]=e&&!!e.portable}[Hc](e){return this[nF]?(this[nF]=!1,e[9]=255,super[Hc](e)):super[Hc](e)}},lF=class extends Za{constructor(e){super(e,"Gunzip")}},cF=class extends Za{constructor(e){super(e,"DeflateRaw")}},uF=class extends Za{constructor(e){super(e,"InflateRaw")}},gF=class extends Za{constructor(e){super(e,"Unzip")}},jB=class extends YB{constructor(e,t){e=e||{},e.flush=e.flush||Uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Uc.BROTLI_OPERATION_FINISH,super(e,t),this[pF]=Uc.BROTLI_OPERATION_FLUSH}},fF=class extends jB{constructor(e){super(e,"BrotliCompress")}},hF=class extends jB{constructor(e){super(e,"BrotliDecompress")}};Xn.Deflate=oF;Xn.Inflate=aF;Xn.Gzip=AF;Xn.Gunzip=lF;Xn.DeflateRaw=cF;Xn.InflateRaw=uF;Xn.Unzip=gF;typeof T9.BrotliCompress=="function"?(Xn.BrotliCompress=fF,Xn.BrotliDecompress=hF):Xn.BrotliCompress=Xn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var th=w((Dot,L9)=>{var NRe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;L9.exports=NRe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var qB=w((Rot,M9)=>{"use strict";var TRe=_f(),CF=th(),mF=Symbol("slurp");M9.exports=class extends TRe{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=CF(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=CF(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[mF](t),i&&this[mF](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[mF](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?CF(e[i]):e[i])}}});var EF=w(JB=>{"use strict";JB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);JB.code=new Map(Array.from(JB.name).map(r=>[r[1],r[0]]))});var H9=w((Not,U9)=>{"use strict";var LRe=(r,e)=>{if(Number.isSafeInteger(r))r<0?ORe(r,e):MRe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},MRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},ORe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=O9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=K9(n))}},KRe=r=>{let e=r[0],t=e===128?HRe(r.slice(1,r.length)):e===255?URe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},URe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=O9(s):s===0?o=s:(i=!0,o=K9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},HRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},O9=r=>(255^r)&255,K9=r=>(255^r)+1&255;U9.exports={encode:LRe,parse:KRe}});var ih=w((Tot,Y9)=>{"use strict";var IF=EF(),rh=J("path").posix,G9=H9(),yF=Symbol("slurp"),Zn=Symbol("type"),bF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Zn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=Gc(e,t,100),this.mode=nl(e,t+100,8),this.uid=nl(e,t+108,8),this.gid=nl(e,t+116,8),this.size=nl(e,t+124,12),this.mtime=wF(e,t+136,12),this.cksum=nl(e,t+148,12),this[yF](i),this[yF](n,!0),this[Zn]=Gc(e,t+156,1),this[Zn]===""&&(this[Zn]="0"),this[Zn]==="0"&&this.path.substr(-1)==="/"&&(this[Zn]="5"),this[Zn]==="5"&&(this.size=0),this.linkpath=Gc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=Gc(e,t+265,32),this.gname=Gc(e,t+297,32),this.devmaj=nl(e,t+329,8),this.devmin=nl(e,t+337,8),e[t+475]!==0){let o=Gc(e,t+345,155);this.path=o+"/"+this.path}else{let o=Gc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=wF(e,t+476,12),this.ctime=wF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=GRe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Yc(e,t,100,s)||this.needPax,this.needPax=sl(e,t+100,8,this.mode)||this.needPax,this.needPax=sl(e,t+108,8,this.uid)||this.needPax,this.needPax=sl(e,t+116,8,this.gid)||this.needPax,this.needPax=sl(e,t+124,12,this.size)||this.needPax,this.needPax=BF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Zn].charCodeAt(0),this.needPax=Yc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Yc(e,t+265,32,this.uname)||this.needPax,this.needPax=Yc(e,t+297,32,this.gname)||this.needPax,this.needPax=sl(e,t+329,8,this.devmaj)||this.needPax,this.needPax=sl(e,t+337,8,this.devmin)||this.needPax,this.needPax=Yc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Yc(e,t+345,155,o)||this.needPax:(this.needPax=Yc(e,t+345,130,o)||this.needPax,this.needPax=BF(e,t+476,12,this.atime)||this.needPax,this.needPax=BF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=rh.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=rh.dirname(i),i=rh.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=rh.join(rh.basename(n),i),n=rh.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},Gc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),wF=(r,e,t)=>YRe(nl(r,e,t)),YRe=r=>r===null?null:new Date(r*1e3),nl=(r,e,t)=>r[e]&128?G9.parse(r.slice(e,e+t)):qRe(r,e,t),jRe=r=>isNaN(r)?null:r,qRe=(r,e,t)=>jRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),JRe={12:8589934591,8:2097151},sl=(r,e,t,i)=>i===null?!1:i>JRe[t]||i<0?(G9.encode(i,r.slice(e,e+t)),!0):(WRe(r,e,t,i),!1),WRe=(r,e,t,i)=>r.write(zRe(i,t),e,t,"ascii"),zRe=(r,e)=>VRe(Math.floor(r).toString(8),e),VRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",BF=(r,e,t,i)=>i===null?!1:sl(r,e,t,i.getTime()/1e3),XRe=new Array(156).join("\0"),Yc=(r,e,t,i)=>i===null?!1:(r.write(i+XRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);Y9.exports=bF});var WB=w((Lot,j9)=>{"use strict";var ZRe=ih(),_Re=J("path"),OC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new ZRe({path:("PaxHeader/"+_Re.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};OC.parse=(r,e,t)=>new OC($Re(eFe(r),e),t);var $Re=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,eFe=r=>r.replace(/\n$/,"").split(` +`).reduce(tFe,Object.create(null)),tFe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};j9.exports=OC});var nh=w((Mot,q9)=>{q9.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var zB=w((Oot,J9)=>{"use strict";J9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var SF=w((Uot,W9)=>{"use strict";var VB=["|","<",">","?",":"],QF=VB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),rFe=new Map(VB.map((r,e)=>[r,QF[e]])),iFe=new Map(QF.map((r,e)=>[r,VB[e]]));W9.exports={encode:r=>VB.reduce((e,t)=>e.split(t).join(rFe.get(t)),r),decode:r=>QF.reduce((e,t)=>e.split(t).join(iFe.get(t)),r)}});var vF=w((Hot,V9)=>{var{isAbsolute:nFe,parse:z9}=J("path").win32;V9.exports=r=>{let e="",t=z9(r);for(;nFe(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=z9(r)}return[e,r]}});var Z9=w((Got,X9)=>{"use strict";X9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var MF=w((qot,uX)=>{"use strict";var nX=_f(),sX=WB(),oX=ih(),Zo=J("fs"),_9=J("path"),Xo=th(),sFe=nh(),aX=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),sFe(e)+"/"+r):Xo(r),oFe=16*1024*1024,$9=Symbol("process"),eX=Symbol("file"),tX=Symbol("directory"),PF=Symbol("symlink"),rX=Symbol("hardlink"),KC=Symbol("header"),XB=Symbol("read"),DF=Symbol("lstat"),ZB=Symbol("onlstat"),kF=Symbol("onread"),RF=Symbol("onreadlink"),FF=Symbol("openfile"),NF=Symbol("onopenfile"),ol=Symbol("close"),_B=Symbol("mode"),TF=Symbol("awaitDrain"),xF=Symbol("ondrain"),_o=Symbol("prefix"),iX=Symbol("hadError"),AX=zB(),aFe=SF(),lX=vF(),cX=Z9(),$B=AX(class extends nX{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||oFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=lX(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=aFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||_9.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[ZB](this.statCache.get(this.absolute)):this[DF]()}emit(e,...t){return e==="error"&&(this[iX]=!0),super.emit(e,...t)}[DF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[ZB](t)})}[ZB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lFe(e),this.emit("stat",e),this[$9]()}[$9](){switch(this.type){case"File":return this[eX]();case"Directory":return this[tX]();case"SymbolicLink":return this[PF]();default:return this.end()}}[_B](e){return cX(e,this.type==="Directory",this.portable)}[_o](e){return aX(e,this.prefix)}[KC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new oX({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[_B](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new sX({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[tX](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[KC](),this.end()}[PF](){Zo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[RF](t)})}[RF](e){this.linkpath=Xo(e),this[KC](),this.end()}[rX](e){this.type="Link",this.linkpath=Xo(_9.relative(this.cwd,e)),this.stat.size=0,this[KC](),this.end()}[eX](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[rX](t)}this.linkCache.set(e,this.absolute)}if(this[KC](),this.stat.size===0)return this.end();this[FF]()}[FF](){Zo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[NF](t)})}[NF](e){if(this.fd=e,this[iX])return this[ol]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[XB]()}[XB](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Zo.read(e,t,i,n,s,(o,a)=>{if(o)return this[ol](()=>this.emit("error",o));this[kF](a)})}[ol](e){Zo.close(this.fd,e)}[kF](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[xF]())}[TF](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[XB]()}}),LF=class extends $B{[DF](){this[ZB](Zo.lstatSync(this.absolute))}[PF](){this[RF](Zo.readlinkSync(this.absolute))}[FF](){this[NF](Zo.openSync(this.absolute,"r"))}[XB](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Zo.readSync(t,i,n,s,o);this[kF](a),e=!1}finally{if(e)try{this[ol](()=>{})}catch{}}}[TF](e){e()}[ol](e){Zo.closeSync(this.fd),e()}},AFe=AX(class extends nX{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Xo(e.path),this.mode=this[_B](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Xo(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=lX(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new oX({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new sX({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[_o](e){return aX(e,this.prefix)}[_B](e){return cX(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});$B.Sync=LF;$B.Tar=AFe;var lFe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";uX.exports=$B});var A0=w((Wot,mX)=>{"use strict";var o0=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cFe=_f(),uFe=dF(),gFe=qB(),JF=MF(),fFe=JF.Sync,hFe=JF.Tar,pFe=WI(),gX=Buffer.alloc(1024),r0=Symbol("onStat"),e0=Symbol("ended"),$o=Symbol("queue"),sh=Symbol("current"),jc=Symbol("process"),t0=Symbol("processing"),fX=Symbol("processJob"),ea=Symbol("jobs"),OF=Symbol("jobDone"),i0=Symbol("addFSEntry"),hX=Symbol("addTarEntry"),GF=Symbol("stat"),YF=Symbol("readdir"),n0=Symbol("onreaddir"),s0=Symbol("pipe"),pX=Symbol("entry"),KF=Symbol("entryOpt"),jF=Symbol("writeEntryClass"),CX=Symbol("write"),UF=Symbol("ondrain"),a0=J("fs"),dX=J("path"),dFe=zB(),HF=th(),WF=dFe(class extends cFe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=HF(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[jF]=JF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uFe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[UF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[UF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[$o]=new pFe,this[ea]=0,this.jobs=+e.jobs||4,this[t0]=!1,this[e0]=!1}[CX](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[e0]=!0,this[jc](),this}write(e){if(this[e0])throw new Error("write after end");return e instanceof gFe?this[hX](e):this[i0](e),this.flowing}[hX](e){let t=HF(dX.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new o0(e.path,t,!1);i.entry=new hFe(e,this[KF](i)),i.entry.on("end",n=>this[OF](i)),this[ea]+=1,this[$o].push(i)}this[jc]()}[i0](e){let t=HF(dX.resolve(this.cwd,e));this[$o].push(new o0(e,t)),this[jc]()}[GF](e){e.pending=!0,this[ea]+=1;let t=this.follow?"stat":"lstat";a0[t](e.absolute,(i,n)=>{e.pending=!1,this[ea]-=1,i?this.emit("error",i):this[r0](e,n)})}[r0](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[jc]()}[YF](e){e.pending=!0,this[ea]+=1,a0.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ea]-=1,t)return this.emit("error",t);this[n0](e,i)})}[n0](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[jc]()}[jc](){if(!this[t0]){this[t0]=!0;for(let e=this[$o].head;e!==null&&this[ea]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[pX](e){this[ea]+=1;try{return new this[jF](e.path,this[KF](e)).on("end",()=>this[OF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[UF](){this[sh]&&this[sh].entry&&this[sh].entry.resume()}[s0](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),qF=class extends WF{constructor(e){super(e),this[jF]=fFe}pause(){}resume(){}[GF](e){let t=this.follow?"statSync":"lstatSync";this[r0](e,a0[t](e.absolute))}[YF](e,t){this[n0](e,a0.readdirSync(e.absolute))}[s0](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[CX](n)})}};WF.Sync=qF;mX.exports=WF});var fh=w(HC=>{"use strict";var CFe=_f(),mFe=J("events").EventEmitter,Pn=J("fs"),XF=Pn.writev;if(!XF){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;XF=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var uh=Symbol("_autoClose"),lo=Symbol("_close"),UC=Symbol("_ended"),rr=Symbol("_fd"),EX=Symbol("_finished"),Al=Symbol("_flags"),zF=Symbol("_flush"),ZF=Symbol("_handleChunk"),_F=Symbol("_makeBuf"),f0=Symbol("_mode"),l0=Symbol("_needDrain"),lh=Symbol("_onerror"),gh=Symbol("_onopen"),VF=Symbol("_onread"),ah=Symbol("_onwrite"),ll=Symbol("_open"),_a=Symbol("_path"),qc=Symbol("_pos"),ta=Symbol("_queue"),Ah=Symbol("_read"),IX=Symbol("_readSize"),al=Symbol("_reading"),c0=Symbol("_remain"),yX=Symbol("_size"),u0=Symbol("_write"),oh=Symbol("_writing"),g0=Symbol("_defaultFlag"),ch=Symbol("_errored"),h0=class extends CFe{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[ch]=!1,this[rr]=typeof t.fd=="number"?t.fd:null,this[_a]=e,this[IX]=t.readSize||16*1024*1024,this[al]=!1,this[yX]=typeof t.size=="number"?t.size:1/0,this[c0]=this[yX],this[uh]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[Ah]():this[ll]()}get fd(){return this[rr]}get path(){return this[_a]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ll](){Pn.open(this[_a],"r",(e,t)=>this[gh](e,t))}[gh](e,t){e?this[lh](e):(this[rr]=t,this.emit("open",t),this[Ah]())}[_F](){return Buffer.allocUnsafe(Math.min(this[IX],this[c0]))}[Ah](){if(!this[al]){this[al]=!0;let e=this[_F]();if(e.length===0)return process.nextTick(()=>this[VF](null,0,e));Pn.read(this[rr],e,0,e.length,null,(t,i,n)=>this[VF](t,i,n))}}[VF](e,t,i){this[al]=!1,e?this[lh](e):this[ZF](t,i)&&this[Ah]()}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[lh](e){this[al]=!0,this[lo](),this.emit("error",e)}[ZF](e,t){let i=!1;return this[c0]-=e,e>0&&(i=super.write(ethis[gh](e,t))}[gh](e,t){this[g0]&&this[Al]==="r+"&&e&&e.code==="ENOENT"?(this[Al]="w",this[ll]()):e?this[lh](e):(this[rr]=t,this.emit("open",t),this[zF]())}end(e,t){return e&&this.write(e,t),this[UC]=!0,!this[oh]&&!this[ta].length&&typeof this[rr]=="number"&&this[ah](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[UC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[oh]||this[ta].length?(this[ta].push(e),this[l0]=!0,!1):(this[oh]=!0,this[u0](e),!0)}[u0](e){Pn.write(this[rr],e,0,e.length,this[qc],(t,i)=>this[ah](t,i))}[ah](e,t){e?this[lh](e):(this[qc]!==null&&(this[qc]+=t),this[ta].length?this[zF]():(this[oh]=!1,this[UC]&&!this[EX]?(this[EX]=!0,this[lo](),this.emit("finish")):this[l0]&&(this[l0]=!1,this.emit("drain"))))}[zF](){if(this[ta].length===0)this[UC]&&this[ah](null,0);else if(this[ta].length===1)this[u0](this[ta].pop());else{let e=this[ta];this[ta]=[],XF(this[rr],e,this[qc],(t,i)=>this[ah](t,i))}}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},eN=class extends p0{[ll](){let e;if(this[g0]&&this[Al]==="r+")try{e=Pn.openSync(this[_a],this[Al],this[f0])}catch(t){if(t.code==="ENOENT")return this[Al]="w",this[ll]();throw t}else e=Pn.openSync(this[_a],this[Al],this[f0]);this[gh](null,e)}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.closeSync(e),this.emit("close")}}[u0](e){let t=!0;try{this[ah](null,Pn.writeSync(this[rr],e,0,e.length,this[qc])),t=!1}finally{if(t)try{this[lo]()}catch{}}}};HC.ReadStream=h0;HC.ReadStreamSync=$F;HC.WriteStream=p0;HC.WriteStreamSync=eN});var w0=w((Xot,xX)=>{"use strict";var EFe=zB(),IFe=ih(),yFe=J("events"),wFe=WI(),BFe=1024*1024,bFe=qB(),wX=WB(),QFe=dF(),tN=Buffer.from([31,139]),xs=Symbol("state"),Jc=Symbol("writeEntry"),$a=Symbol("readEntry"),rN=Symbol("nextEntry"),BX=Symbol("processEntry"),Ps=Symbol("extendedHeader"),GC=Symbol("globalExtendedHeader"),cl=Symbol("meta"),bX=Symbol("emitMeta"),Er=Symbol("buffer"),eA=Symbol("queue"),Wc=Symbol("ended"),QX=Symbol("emittedEnd"),zc=Symbol("emit"),Dn=Symbol("unzip"),d0=Symbol("consumeChunk"),C0=Symbol("consumeChunkSub"),iN=Symbol("consumeBody"),SX=Symbol("consumeMeta"),vX=Symbol("consumeHeader"),m0=Symbol("consuming"),nN=Symbol("bufferConcat"),sN=Symbol("maybeEnd"),YC=Symbol("writing"),ul=Symbol("aborted"),E0=Symbol("onDone"),Vc=Symbol("sawValidEntry"),I0=Symbol("sawNullBlock"),y0=Symbol("sawEOF"),SFe=r=>!0;xX.exports=EFe(class extends yFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Vc]=null,this.on(E0,t=>{(this[xs]==="begin"||this[Vc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(E0,e.ondone):this.on(E0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||BFe,this.filter=typeof e.filter=="function"?e.filter:SFe,this.writable=!0,this.readable=!1,this[eA]=new wFe,this[Er]=null,this[$a]=null,this[Jc]=null,this[xs]="begin",this[cl]="",this[Ps]=null,this[GC]=null,this[Wc]=!1,this[Dn]=null,this[ul]=!1,this[I0]=!1,this[y0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vX](e,t){this[Vc]===null&&(this[Vc]=!1);let i;try{i=new IFe(e,t,this[Ps],this[GC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[I0]?(this[y0]=!0,this[xs]==="begin"&&(this[xs]="header"),this[zc]("eof")):(this[I0]=!0,this[zc]("nullBlock"));else if(this[I0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Jc]=new bFe(i,this[Ps],this[GC]);if(!this[Vc])if(s.remain){let o=()=>{s.invalid||(this[Vc]=!0)};s.on("end",o)}else this[Vc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[zc]("ignoredEntry",s),this[xs]="ignore",s.resume()):s.size>0&&(this[cl]="",s.on("data",o=>this[cl]+=o),this[xs]="meta"):(this[Ps]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[zc]("ignoredEntry",s),this[xs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[xs]="body":(this[xs]="header",s.end()),this[$a]?this[eA].push(s):(this[eA].push(s),this[rN]())))}}}[BX](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[$a]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[rN]()),t=!1)):(this[$a]=null,t=!1),t}[rN](){do;while(this[BX](this[eA].shift()));if(!this[eA].length){let e=this[$a];!e||e.flowing||e.size===e.remain?this[YC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[iN](e,t){let i=this[Jc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[xs]="header",this[Jc]=null,i.end()),s.length}[SX](e,t){let i=this[Jc],n=this[iN](e,t);return this[Jc]||this[bX](i),n}[zc](e,t,i){!this[eA].length&&!this[$a]?this.emit(e,t,i):this[eA].push([e,t,i])}[bX](e){switch(this[zc]("meta",this[cl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ps]=wX.parse(this[cl],this[Ps],!1);break;case"GlobalExtendedHeader":this[GC]=wX.parse(this[cl],this[GC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ps]=this[Ps]||Object.create(null),this[Ps].path=this[cl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ps]=this[Ps]||Object.create(null),this[Ps].linkpath=this[cl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[ul]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[ul])return;if(this[Dn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.lengththis[d0](s)),this[Dn].on("error",s=>this.abort(s)),this[Dn].on("end",s=>{this[Wc]=!0,this[d0]()}),this[YC]=!0;let n=this[Dn][i?"end":"write"](e);return this[YC]=!1,n}}this[YC]=!0,this[Dn]?this[Dn].write(e):this[d0](e),this[YC]=!1;let t=this[eA].length?!1:this[$a]?this[$a].flowing:!0;return!t&&!this[eA].length&&this[$a].once("drain",i=>this.emit("drain")),t}[nN](e){e&&!this[ul]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[sN](){if(this[Wc]&&!this[QX]&&!this[ul]&&!this[m0]){this[QX]=!0;let e=this[Jc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[zc](E0)}}[d0](e){if(this[m0])this[nN](e);else if(!e&&!this[Er])this[sN]();else{if(this[m0]=!0,this[Er]){this[nN](e);let t=this[Er];this[Er]=null,this[C0](t)}else this[C0](e);for(;this[Er]&&this[Er].length>=512&&!this[ul]&&!this[y0];){let t=this[Er];this[Er]=null,this[C0](t)}this[m0]=!1}(!this[Er]||this[Wc])&&this[sN]()}[C0](e){let t=0,i=e.length;for(;t+512<=i&&!this[ul]&&!this[y0];)switch(this[xs]){case"begin":case"header":this[vX](e,t),t+=512;break;case"ignore":case"body":t+=this[iN](e,t);break;case"meta":t+=this[SX](e,t);break;default:throw new Error("invalid state: "+this[xs])}t{"use strict";var vFe=Xf(),DX=w0(),hh=J("fs"),xFe=fh(),PX=J("path"),oN=nh();RX.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=vFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&DFe(i,e),i.noResume||PFe(i),i.file&&i.sync?kFe(i):i.file?RFe(i,t):kX(i)};var PFe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},DFe=(r,e)=>{let t=new Map(e.map(s=>[oN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||PX.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(PX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(oN(s)):s=>n(oN(s))},kFe=r=>{let e=kX(r),t=r.file,i=!0,n;try{let s=hh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new DX(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),hh.stat(n,(l,c)=>{if(l)a(l);else{let u=new xFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},kX=r=>new DX(r)});var OX=w((_ot,MX)=>{"use strict";var FFe=Xf(),b0=A0(),FX=fh(),NX=B0(),TX=J("path");MX.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=FFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?NFe(i,e):i.file?TFe(i,e,t):i.sync?LFe(i,e):MFe(i,e)};var NFe=(r,e)=>{let t=new b0.Sync(r),i=new FX.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),LX(t,e)},TFe=(r,e,t)=>{let i=new b0(r),n=new FX.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return aN(i,e),t?s.then(t,t):s},LX=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?NX({file:TX.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},aN=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return NX({file:TX.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>aN(r,e));r.add(t)}r.end()},LFe=(r,e)=>{let t=new b0.Sync(r);return LX(t,e),t},MFe=(r,e)=>{let t=new b0(r);return aN(t,e),t}});var AN=w(($ot,qX)=>{"use strict";var OFe=Xf(),KX=A0(),_n=J("fs"),UX=fh(),HX=B0(),GX=J("path"),YX=ih();qX.exports=(r,e,t)=>{let i=OFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?KFe(i,e):HFe(i,e,t)};var KFe=(r,e)=>{let t=new KX.Sync(r),i=!0,n,s;try{try{n=_n.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=_n.openSync(r.file,"w+");else throw l}let o=_n.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,UFe(r,t,s,n,e)}finally{if(i)try{_n.closeSync(n)}catch{}}},UFe=(r,e,t,i,n)=>{let s=new UX.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),GFe(e,n)},HFe=(r,e,t)=>{e=Array.from(e);let i=new KX(r),n=(o,a,l)=>{let c=(p,C)=>{p?_n.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return _n.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new YX(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,_n.read(o,f,0,512,u,h)};_n.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",_n.open(r.file,l,c);if(u)return a(u);_n.fstat(g,(f,h)=>{if(f)return _n.close(g,()=>a(f));n(g,h.size,(p,C)=>{if(p)return a(p);let y=new UX.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),jX(i,e)})})};_n.open(r.file,l,c)});return t?s.then(t,t):s},GFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?HX({file:GX.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},jX=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return HX({file:GX.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>jX(r,e));r.add(t)}r.end()}});var WX=w((eat,JX)=>{"use strict";var YFe=Xf(),jFe=AN();JX.exports=(r,e,t)=>{let i=YFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),qFe(i),jFe(i,e,t)};var qFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var XX=w((tat,VX)=>{var{promisify:zX}=J("util"),gl=J("fs"),JFe=r=>{if(!r)r={mode:511,fs:gl};else if(typeof r=="object")r={mode:511,fs:gl,...r};else if(typeof r=="number")r={mode:r,fs:gl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:gl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||gl.mkdir,r.mkdirAsync=zX(r.mkdir),r.stat=r.stat||r.fs.stat||gl.stat,r.statAsync=zX(r.stat),r.statSync=r.statSync||r.fs.statSync||gl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||gl.mkdirSync,r};VX.exports=JFe});var _X=w((rat,ZX)=>{var WFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:zFe,parse:VFe}=J("path"),XFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=zFe(r),WFe==="win32"){let e=/[*|"<>?:]/,{root:t}=VFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};ZX.exports=XFe});var i7=w((iat,r7)=>{var{dirname:$X}=J("path"),e7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?e7(r,$X(e),e):void 0),t7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?t7(r,$X(e),e):void 0}};r7.exports={findMade:e7,findMadeSync:t7}});var uN=w((nat,s7)=>{var{dirname:n7}=J("path"),lN=(r,e,t)=>{e.recursive=!1;let i=n7(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return lN(i,e).then(s=>lN(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},cN=(r,e,t)=>{let i=n7(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return cN(r,e,cN(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};s7.exports={mkdirpManual:lN,mkdirpManualSync:cN}});var A7=w((sat,a7)=>{var{dirname:o7}=J("path"),{findMade:ZFe,findMadeSync:_Fe}=i7(),{mkdirpManual:$Fe,mkdirpManualSync:eNe}=uN(),tNe=(r,e)=>(e.recursive=!0,o7(r)===r?e.mkdirAsync(r,e):ZFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return $Fe(r,e);throw n}))),rNe=(r,e)=>{if(e.recursive=!0,o7(r)===r)return e.mkdirSync(r,e);let i=_Fe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return eNe(r,e);throw n}};a7.exports={mkdirpNative:tNe,mkdirpNativeSync:rNe}});var g7=w((oat,u7)=>{var l7=J("fs"),iNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,gN=iNe.replace(/^v/,"").split("."),c7=+gN[0]>10||+gN[0]==10&&+gN[1]>=12,nNe=c7?r=>r.mkdir===l7.mkdir:()=>!1,sNe=c7?r=>r.mkdirSync===l7.mkdirSync:()=>!1;u7.exports={useNative:nNe,useNativeSync:sNe}});var m7=w((aat,C7)=>{var ph=XX(),dh=_X(),{mkdirpNative:f7,mkdirpNativeSync:h7}=A7(),{mkdirpManual:p7,mkdirpManualSync:d7}=uN(),{useNative:oNe,useNativeSync:aNe}=g7(),Ch=(r,e)=>(r=dh(r),e=ph(e),oNe(e)?f7(r,e):p7(r,e)),ANe=(r,e)=>(r=dh(r),e=ph(e),aNe(e)?h7(r,e):d7(r,e));Ch.sync=ANe;Ch.native=(r,e)=>f7(dh(r),ph(e));Ch.manual=(r,e)=>p7(dh(r),ph(e));Ch.nativeSync=(r,e)=>h7(dh(r),ph(e));Ch.manualSync=(r,e)=>d7(dh(r),ph(e));C7.exports=Ch});var Q7=w((Aat,b7)=>{"use strict";var Ds=J("fs"),Xc=J("path"),lNe=Ds.lchown?"lchown":"chown",cNe=Ds.lchownSync?"lchownSync":"chownSync",I7=Ds.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(r,e,t)=>{try{return Ds[cNe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},uNe=(r,e,t)=>{try{return Ds.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},gNe=I7?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):Ds.chown(r,e,t,i)}:(r,e,t,i)=>i,fN=I7?(r,e,t)=>{try{return E7(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;uNe(r,e,t)}}:(r,e,t)=>E7(r,e,t),fNe=process.version,y7=(r,e,t)=>Ds.readdir(r,e,t),hNe=(r,e)=>Ds.readdirSync(r,e);/^v4\./.test(fNe)&&(y7=(r,e,t)=>Ds.readdir(r,t));var Q0=(r,e,t,i)=>{Ds[lNe](r,e,t,gNe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},w7=(r,e,t,i,n)=>{if(typeof e=="string")return Ds.lstat(Xc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,w7(r,o,t,i,n)});if(e.isDirectory())hN(Xc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Xc.resolve(r,e.name);Q0(o,t,i,n)});else{let s=Xc.resolve(r,e.name);Q0(s,t,i,n)}},hN=(r,e,t,i)=>{y7(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return Q0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return Q0(r,e,t,i)}};s.forEach(c=>w7(r,c,e,t,l))})},pNe=(r,e,t,i)=>{if(typeof e=="string")try{let n=Ds.lstatSync(Xc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&B7(Xc.resolve(r,e.name),t,i),fN(Xc.resolve(r,e.name),t,i)},B7=(r,e,t)=>{let i;try{i=hNe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return fN(r,e,t);throw n}return i&&i.length&&i.forEach(n=>pNe(r,n,e,t)),fN(r,e,t)};b7.exports=hN;hN.sync=B7});var P7=w((lat,pN)=>{"use strict";var S7=m7(),ks=J("fs"),S0=J("path"),v7=Q7(),co=th(),v0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},x0=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},P0=(r,e)=>r.get(co(e)),jC=(r,e,t)=>r.set(co(e),t),dNe=(r,e)=>{ks.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new x0(r,t&&t.code||"ENOTDIR")),e(t)})};pN.exports=(r,e,t)=>{r=co(r);let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=co(e.cwd),h=(y,B)=>{y?t(y):(jC(g,r,!0),B&&l?v7(B,o,a,v=>h(v)):s?ks.chmod(r,n,t):t())};if(g&&P0(g,r)===!0)return h();if(r===f)return dNe(r,h);if(c)return S7(r,{mode:n}).then(y=>h(null,y),h);let C=co(S0.relative(f,r)).split("/");D0(f,C,n,g,u,f,null,h)};var D0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=co(S0.resolve(r+"/"+l));if(P0(i,c))return D0(c,e,t,i,n,s,o,a);ks.mkdir(c,t,x7(c,e,t,i,n,s,o,a))},x7=(r,e,t,i,n,s,o,a)=>l=>{l?ks.lstat(r,(c,u)=>{if(c)c.path=c.path&&co(c.path),a(c);else if(u.isDirectory())D0(r,e,t,i,n,s,o,a);else if(n)ks.unlink(r,g=>{if(g)return a(g);ks.mkdir(r,t,x7(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new v0(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,D0(r,e,t,i,n,s,o,a))},CNe=r=>{let e=!1,t="ENOTDIR";try{e=ks.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new x0(r,t)}};pN.exports.sync=(r,e)=>{r=co(r);let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=co(e.cwd),f=y=>{jC(u,r,!0),y&&a&&v7.sync(y,s,o),n&&ks.chmodSync(r,i)};if(u&&P0(u,r)===!0)return f();if(r===g)return CNe(g),f();if(l)return f(S7.sync(r,i));let p=co(S0.relative(g,r)).split("/"),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(B=co(S0.resolve(B)),!P0(u,B))try{ks.mkdirSync(B,i),C=C||B,jC(u,B,!0)}catch{let D=ks.lstatSync(B);if(D.isDirectory()){jC(u,B,!0);continue}else if(c){ks.unlinkSync(B),ks.mkdirSync(B,i),C=C||B,jC(u,B,!0);continue}else if(D.isSymbolicLink())return new v0(B,B+"/"+p.join("/"))}return f(C)}});var CN=w((cat,D7)=>{var dN=Object.create(null),{hasOwnProperty:mNe}=Object.prototype;D7.exports=r=>(mNe.call(dN,r)||(dN[r]=r.normalize("NFKD")),dN[r])});var N7=w((uat,F7)=>{var k7=J("assert"),ENe=CN(),INe=nh(),{join:R7}=J("path"),yNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,wNe=yNe==="win32";F7.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((g,f)=>(g.length&&(f=R7(g[g.length-1],f)),g.push(f||"/"),g),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(g=>r.get(g)),dirs:[...u.dirs].map(g=>r.get(g))}},s=c=>{let{paths:u,dirs:g}=n(c);return u.every(f=>f[0]===c)&&g.every(f=>f[0]instanceof Set&&f[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:g}=e.get(c),f=new Set;return u.forEach(h=>{let p=r.get(h);k7.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?f.add(p[0]):p[0].forEach(C=>f.add(C)))}),g.forEach(h=>{let p=r.get(h);k7(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),f.add(p[0])):p[0].delete(c)}),i.delete(c),f.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=wNe?["win32 parallelization disabled"]:c.map(f=>ENe(INe(R7(f))).toLowerCase());let g=new Set(c.map(f=>t(f)).reduce((f,h)=>f.concat(h)));return e.set(u,{dirs:g,paths:c}),c.forEach(f=>{let h=r.get(f);h?h.push(u):r.set(f,[u])}),g.forEach(f=>{let h=r.get(f);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(f,[new Set([u])])}),o(u)}}}});var M7=w((gat,L7)=>{var BNe=process.env.__FAKE_PLATFORM__||process.platform,bNe=BNe==="win32",QNe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:SNe,O_TRUNC:vNe,O_WRONLY:xNe,UV_FS_O_FILEMAP:T7=0}=QNe.constants,PNe=bNe&&!!T7,DNe=512*1024,kNe=T7|vNe|SNe|xNe;L7.exports=PNe?r=>r"w"});var SN=w((fat,Z7)=>{"use strict";var RNe=J("assert"),FNe=w0(),jt=J("fs"),NNe=fh(),tA=J("path"),z7=P7(),O7=SF(),TNe=N7(),LNe=vF(),$n=th(),MNe=nh(),ONe=CN(),K7=Symbol("onEntry"),IN=Symbol("checkFs"),U7=Symbol("checkFs2"),F0=Symbol("pruneCache"),yN=Symbol("isReusable"),Rs=Symbol("makeFs"),wN=Symbol("file"),BN=Symbol("directory"),N0=Symbol("link"),H7=Symbol("symlink"),G7=Symbol("hardlink"),Y7=Symbol("unsupported"),j7=Symbol("checkPath"),fl=Symbol("mkdir"),Yi=Symbol("onError"),k0=Symbol("pending"),q7=Symbol("pend"),mh=Symbol("unpend"),mN=Symbol("ended"),EN=Symbol("maybeClose"),bN=Symbol("skip"),qC=Symbol("doChown"),JC=Symbol("uid"),WC=Symbol("gid"),zC=Symbol("checkedCwd"),V7=J("crypto"),X7=M7(),KNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,VC=KNe==="win32",UNe=(r,e)=>{if(!VC)return jt.unlink(r,e);let t=r+".DELETE."+V7.randomBytes(16).toString("hex");jt.rename(r,t,i=>{if(i)return e(i);jt.unlink(t,e)})},HNe=r=>{if(!VC)return jt.unlinkSync(r);let e=r+".DELETE."+V7.randomBytes(16).toString("hex");jt.renameSync(r,e),jt.unlinkSync(e)},J7=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,W7=r=>ONe(MNe($n(r))).toLowerCase(),GNe=(r,e)=>{e=W7(e);for(let t of r.keys()){let i=W7(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},YNe=r=>{for(let e of r.keys())r.delete(e)},XC=class extends FNe{constructor(e){if(e||(e={}),e.ondone=t=>{this[mN]=!0,this[EN]()},super(e),this[zC]=!1,this.reservations=TNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[k0]=0,this[mN]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||VC,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=$n(tA.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[K7](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[EN](){this[mN]&&this[k0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[j7](e){if(this.strip){let t=$n(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=$n(e.path),i=t.split("/");if(i.includes("..")||VC&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=LNe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(tA.isAbsolute(e.path)?e.absolute=$n(tA.resolve(e.path)):e.absolute=$n(tA.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:$n(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=tA.win32.parse(e.absolute);e.absolute=t+O7.encode(e.absolute.substr(t.length));let{root:i}=tA.win32.parse(e.path);e.path=i+O7.encode(e.path.substr(i.length))}return!0}[K7](e){if(!this[j7](e))return e.resume();switch(RNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[IN](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Y7](e)}}[Yi](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[mh](),t.resume())}[fl](e,t,i){z7($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[qC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[JC](e){return J7(this.uid,e.uid,this.processUid)}[WC](e){return J7(this.gid,e.gid,this.processGid)}[wN](e,t){let i=e.mode&4095||this.fmode,n=new NNe.WriteStream(e.absolute,{flags:X7(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&jt.close(n.fd,()=>{}),n.write=()=>!0,this[Yi](l,e),t()});let s=1,o=l=>{if(l){n.fd&&jt.close(n.fd,()=>{}),this[Yi](l,e),t();return}--s===0&&jt.close(n.fd,c=>{c?this[Yi](c,e):this[mh](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;jt.futimes(u,g,f,h=>h?jt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[qC](e)){s++;let g=this[JC](e),f=this[WC](e);jt.fchown(u,g,f,h=>h?jt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Yi](l,e),t()}),e.pipe(a)),a.pipe(n)}[BN](e,t){let i=e.mode&4095||this.dmode;this[fl](e.absolute,i,n=>{if(n){this[Yi](n,e),t();return}let s=1,o=a=>{--s===0&&(t(),this[mh](),e.resume())};e.mtime&&!this.noMtime&&(s++,jt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[qC](e)&&(s++,jt.chown(e.absolute,this[JC](e),this[WC](e),o)),o()})}[Y7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[H7](e,t){this[N0](e,e.linkpath,"symlink",t)}[G7](e,t){let i=$n(tA.resolve(this.cwd,e.linkpath));this[N0](e,i,"link",t)}[q7](){this[k0]++}[mh](){this[k0]--,this[EN]()}[bN](e){this[mh](),e.resume()}[yN](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!VC}[IN](e){this[q7]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[U7](e,i))}[F0](e){e.type==="SymbolicLink"?YNe(this.dirCache):e.type!=="Directory"&&GNe(this.dirCache,e.absolute)}[U7](e,t){this[F0](e);let i=a=>{this[F0](e),t(a)},n=()=>{this[fl](this.cwd,this.dmode,a=>{if(a){this[Yi](a,e),i();return}this[zC]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=$n(tA.dirname(e.absolute));if(a!==this.cwd)return this[fl](a,this.dmode,l=>{if(l){this[Yi](l,e),i();return}o()})}o()},o=()=>{jt.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[bN](e),i();return}if(a||this[yN](e,l))return this[Rs](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=g=>this[Rs](g,e,i);return c?jt.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return jt.rmdir(e.absolute,c=>this[Rs](c,e,i))}if(e.absolute===this.cwd)return this[Rs](null,e,i);UNe(e.absolute,c=>this[Rs](c,e,i))})};this[zC]?s():n()}[Rs](e,t,i){if(e){this[Yi](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[wN](t,i);case"Link":return this[G7](t,i);case"SymbolicLink":return this[H7](t,i);case"Directory":case"GNUDumpDir":return this[BN](t,i)}}[N0](e,t,i,n){jt[i](t,e.absolute,s=>{s?this[Yi](s,e):(this[mh](),e.resume()),n()})}},R0=r=>{try{return[null,r()]}catch(e){return[e,null]}},QN=class extends XC{[Rs](e,t){return super[Rs](e,t,()=>{})}[IN](e){if(this[F0](e),!this[zC]){let s=this[fl](this.cwd,this.dmode);if(s)return this[Yi](s,e);this[zC]=!0}if(e.absolute!==this.cwd){let s=$n(tA.dirname(e.absolute));if(s!==this.cwd){let o=this[fl](s,this.dmode);if(o)return this[Yi](o,e)}}let[t,i]=R0(()=>jt.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[bN](e);if(t||this[yN](e,i))return this[Rs](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?R0(()=>{jt.chmodSync(e.absolute,e.mode)}):[];return this[Rs](a,e)}let[s]=R0(()=>jt.rmdirSync(e.absolute));this[Rs](s,e)}let[n]=e.absolute===this.cwd?[]:R0(()=>HNe(e.absolute));this[Rs](n,e)}[wN](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{jt.closeSync(s)}catch(c){l=c}(a||l)&&this[Yi](a||l,e),t()},s;try{s=jt.openSync(e.absolute,X7(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Yi](a,e)),e.pipe(o)),o.on("data",a=>{try{jt.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{jt.futimesSync(s,c,u)}catch(g){try{jt.utimesSync(e.absolute,c,u)}catch{l=g}}}if(this[qC](e)){let c=this[JC](e),u=this[WC](e);try{jt.fchownSync(s,c,u)}catch(g){try{jt.chownSync(e.absolute,c,u)}catch{l=l||g}}}n(l)})}[BN](e,t){let i=e.mode&4095||this.dmode,n=this[fl](e.absolute,i);if(n){this[Yi](n,e),t();return}if(e.mtime&&!this.noMtime)try{jt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[qC](e))try{jt.chownSync(e.absolute,this[JC](e),this[WC](e))}catch{}t(),e.resume()}[fl](e,t){try{return z7.sync($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[N0](e,t,i,n){try{jt[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Yi](s,e)}}};XC.Sync=QN;Z7.exports=XC});var rZ=w((hat,tZ)=>{"use strict";var jNe=Xf(),T0=SN(),$7=J("fs"),eZ=fh(),_7=J("path"),vN=nh();tZ.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=jNe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&qNe(i,e),i.file&&i.sync?JNe(i):i.file?WNe(i,t):i.sync?zNe(i):VNe(i)};var qNe=(r,e)=>{let t=new Map(e.map(s=>[vN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(_7.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(vN(s)):s=>n(vN(s))},JNe=r=>{let e=new T0.Sync(r),t=r.file,i=$7.statSync(t),n=r.maxReadSize||16*1024*1024;new eZ.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},WNe=(r,e)=>{let t=new T0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),$7.stat(n,(l,c)=>{if(l)a(l);else{let u=new eZ.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},zNe=r=>new T0.Sync(r),VNe=r=>new T0(r)});var iZ=w(ci=>{"use strict";ci.c=ci.create=OX();ci.r=ci.replace=AN();ci.t=ci.list=B0();ci.u=ci.update=WX();ci.x=ci.extract=rZ();ci.Pack=A0();ci.Unpack=SN();ci.Parse=w0();ci.ReadEntry=qB();ci.WriteEntry=MF();ci.Header=ih();ci.Pax=WB();ci.types=EF()});var aZ=w((Cat,oZ)=>{var xN;oZ.exports.getContent=()=>(typeof xN>"u"&&(xN=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),xN)});var fZ=w((PN,gZ)=>{(function(r,e){typeof PN=="object"?gZ.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(PN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var K0=w((Uat,BZ)=>{var fTe=vs(),hTe=gC(),pTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dTe=/^\w*$/;function CTe(r,e){if(fTe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||hTe(r)?!0:dTe.test(r)||!pTe.test(r)||e!=null&&r in Object(e)}BZ.exports=CTe});var U0=w((Hat,bZ)=>{var mTe=Fc(),ETe=vn(),ITe="[object AsyncFunction]",yTe="[object Function]",wTe="[object GeneratorFunction]",BTe="[object Proxy]";function bTe(r){if(!ETe(r))return!1;var e=mTe(r);return e==yTe||e==wTe||e==ITe||e==BTe}bZ.exports=bTe});var SZ=w((Gat,QZ)=>{var QTe=ys(),STe=QTe["__core-js_shared__"];QZ.exports=STe});var PZ=w((Yat,xZ)=>{var MN=SZ(),vZ=function(){var r=/[^.]+$/.exec(MN&&MN.keys&&MN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function vTe(r){return!!vZ&&vZ in r}xZ.exports=vTe});var ON=w((jat,DZ)=>{var xTe=Function.prototype,PTe=xTe.toString;function DTe(r){if(r!=null){try{return PTe.call(r)}catch{}try{return r+""}catch{}}return""}DZ.exports=DTe});var RZ=w((qat,kZ)=>{var kTe=U0(),RTe=PZ(),FTe=vn(),NTe=ON(),TTe=/[\\^$.*+?()[\]{}|]/g,LTe=/^\[object .+?Constructor\]$/,MTe=Function.prototype,OTe=Object.prototype,KTe=MTe.toString,UTe=OTe.hasOwnProperty,HTe=RegExp("^"+KTe.call(UTe).replace(TTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function GTe(r){if(!FTe(r)||RTe(r))return!1;var e=kTe(r)?HTe:LTe;return e.test(NTe(r))}kZ.exports=GTe});var NZ=w((Jat,FZ)=>{function YTe(r,e){return r==null?void 0:r[e]}FZ.exports=YTe});var pl=w((Wat,TZ)=>{var jTe=RZ(),qTe=NZ();function JTe(r,e){var t=qTe(r,e);return jTe(t)?t:void 0}TZ.exports=JTe});var _C=w((zat,LZ)=>{var WTe=pl(),zTe=WTe(Object,"create");LZ.exports=zTe});var KZ=w((Vat,OZ)=>{var MZ=_C();function VTe(){this.__data__=MZ?MZ(null):{},this.size=0}OZ.exports=VTe});var HZ=w((Xat,UZ)=>{function XTe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}UZ.exports=XTe});var YZ=w((Zat,GZ)=>{var ZTe=_C(),_Te="__lodash_hash_undefined__",$Te=Object.prototype,eLe=$Te.hasOwnProperty;function tLe(r){var e=this.__data__;if(ZTe){var t=e[r];return t===_Te?void 0:t}return eLe.call(e,r)?e[r]:void 0}GZ.exports=tLe});var qZ=w((_at,jZ)=>{var rLe=_C(),iLe=Object.prototype,nLe=iLe.hasOwnProperty;function sLe(r){var e=this.__data__;return rLe?e[r]!==void 0:nLe.call(e,r)}jZ.exports=sLe});var WZ=w(($at,JZ)=>{var oLe=_C(),aLe="__lodash_hash_undefined__";function ALe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=oLe&&e===void 0?aLe:e,this}JZ.exports=ALe});var VZ=w((eAt,zZ)=>{var lLe=KZ(),cLe=HZ(),uLe=YZ(),gLe=qZ(),fLe=WZ();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function hLe(){this.__data__=[],this.size=0}XZ.exports=hLe});var Ih=w((rAt,_Z)=>{function pLe(r,e){return r===e||r!==r&&e!==e}_Z.exports=pLe});var $C=w((iAt,$Z)=>{var dLe=Ih();function CLe(r,e){for(var t=r.length;t--;)if(dLe(r[t][0],e))return t;return-1}$Z.exports=CLe});var t_=w((nAt,e_)=>{var mLe=$C(),ELe=Array.prototype,ILe=ELe.splice;function yLe(r){var e=this.__data__,t=mLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():ILe.call(e,t,1),--this.size,!0}e_.exports=yLe});var i_=w((sAt,r_)=>{var wLe=$C();function BLe(r){var e=this.__data__,t=wLe(e,r);return t<0?void 0:e[t][1]}r_.exports=BLe});var s_=w((oAt,n_)=>{var bLe=$C();function QLe(r){return bLe(this.__data__,r)>-1}n_.exports=QLe});var a_=w((aAt,o_)=>{var SLe=$C();function vLe(r,e){var t=this.__data__,i=SLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}o_.exports=vLe});var em=w((AAt,A_)=>{var xLe=ZZ(),PLe=t_(),DLe=i_(),kLe=s_(),RLe=a_();function yh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var FLe=pl(),NLe=ys(),TLe=FLe(NLe,"Map");l_.exports=TLe});var g_=w((cAt,u_)=>{var c_=VZ(),LLe=em(),MLe=H0();function OLe(){this.size=0,this.__data__={hash:new c_,map:new(MLe||LLe),string:new c_}}u_.exports=OLe});var h_=w((uAt,f_)=>{function KLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}f_.exports=KLe});var tm=w((gAt,p_)=>{var ULe=h_();function HLe(r,e){var t=r.__data__;return ULe(e)?t[typeof e=="string"?"string":"hash"]:t.map}p_.exports=HLe});var C_=w((fAt,d_)=>{var GLe=tm();function YLe(r){var e=GLe(this,r).delete(r);return this.size-=e?1:0,e}d_.exports=YLe});var E_=w((hAt,m_)=>{var jLe=tm();function qLe(r){return jLe(this,r).get(r)}m_.exports=qLe});var y_=w((pAt,I_)=>{var JLe=tm();function WLe(r){return JLe(this,r).has(r)}I_.exports=WLe});var B_=w((dAt,w_)=>{var zLe=tm();function VLe(r,e){var t=zLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}w_.exports=VLe});var G0=w((CAt,b_)=>{var XLe=g_(),ZLe=C_(),_Le=E_(),$Le=y_(),eMe=B_();function wh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var Q_=G0(),tMe="Expected a function";function KN(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(tMe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(KN.Cache||Q_),t}KN.Cache=Q_;S_.exports=KN});var P_=w((EAt,x_)=>{var rMe=v_(),iMe=500;function nMe(r){var e=rMe(r,function(i){return t.size===iMe&&t.clear(),i}),t=e.cache;return e}x_.exports=nMe});var k_=w((IAt,D_)=>{var sMe=P_(),oMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,aMe=/\\(\\)?/g,AMe=sMe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(oMe,function(t,i,n,s){e.push(n?s.replace(aMe,"$1"):i||t)}),e});D_.exports=AMe});var Bh=w((yAt,R_)=>{var lMe=vs(),cMe=K0(),uMe=k_(),gMe=Vf();function fMe(r,e){return lMe(r)?r:cMe(r,e)?[r]:uMe(gMe(r))}R_.exports=fMe});var Zc=w((wAt,F_)=>{var hMe=gC(),pMe=1/0;function dMe(r){if(typeof r=="string"||hMe(r))return r;var e=r+"";return e=="0"&&1/r==-pMe?"-0":e}F_.exports=dMe});var rm=w((BAt,N_)=>{var CMe=Bh(),mMe=Zc();function EMe(r,e){e=CMe(e,r);for(var t=0,i=e.length;r!=null&&t{var IMe=pl(),yMe=function(){try{var r=IMe(Object,"defineProperty");return r({},"",{}),r}catch{}}();T_.exports=yMe});var bh=w((QAt,M_)=>{var L_=UN();function wMe(r,e,t){e=="__proto__"&&L_?L_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}M_.exports=wMe});var Y0=w((SAt,O_)=>{var BMe=bh(),bMe=Ih(),QMe=Object.prototype,SMe=QMe.hasOwnProperty;function vMe(r,e,t){var i=r[e];(!(SMe.call(r,e)&&bMe(i,t))||t===void 0&&!(e in r))&&BMe(r,e,t)}O_.exports=vMe});var im=w((vAt,K_)=>{var xMe=9007199254740991,PMe=/^(?:0|[1-9]\d*)$/;function DMe(r,e){var t=typeof r;return e=e==null?xMe:e,!!e&&(t=="number"||t!="symbol"&&PMe.test(r))&&r>-1&&r%1==0&&r{var kMe=Y0(),RMe=Bh(),FMe=im(),U_=vn(),NMe=Zc();function TMe(r,e,t,i){if(!U_(r))return r;e=RMe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var LMe=rm(),MMe=HN(),OMe=Bh();function KMe(r,e,t){for(var i=-1,n=e.length,s={};++i{function UMe(r,e){return r!=null&&e in Object(r)}j_.exports=UMe});var W_=w((kAt,J_)=>{var HMe=Fc(),GMe=Wo(),YMe="[object Arguments]";function jMe(r){return GMe(r)&&HMe(r)==YMe}J_.exports=jMe});var nm=w((RAt,X_)=>{var z_=W_(),qMe=Wo(),V_=Object.prototype,JMe=V_.hasOwnProperty,WMe=V_.propertyIsEnumerable,zMe=z_(function(){return arguments}())?z_:function(r){return qMe(r)&&JMe.call(r,"callee")&&!WMe.call(r,"callee")};X_.exports=zMe});var j0=w((FAt,Z_)=>{var VMe=9007199254740991;function XMe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=VMe}Z_.exports=XMe});var GN=w((NAt,__)=>{var ZMe=Bh(),_Me=nm(),$Me=vs(),eOe=im(),tOe=j0(),rOe=Zc();function iOe(r,e,t){e=ZMe(e,r);for(var i=-1,n=e.length,s=!1;++i{var nOe=q_(),sOe=GN();function oOe(r,e){return r!=null&&sOe(r,e,nOe)}$_.exports=oOe});var t$=w((LAt,e$)=>{var aOe=Y_(),AOe=YN();function lOe(r,e){return aOe(r,e,function(t,i){return AOe(r,i)})}e$.exports=lOe});var q0=w((MAt,r$)=>{function cOe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var i$=Rc(),uOe=nm(),gOe=vs(),n$=i$?i$.isConcatSpreadable:void 0;function fOe(r){return gOe(r)||uOe(r)||!!(n$&&r&&r[n$])}s$.exports=fOe});var l$=w((KAt,A$)=>{var hOe=q0(),pOe=o$();function a$(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=pOe),n||(n=[]);++s0&&t(a)?e>1?a$(a,e-1,t,i,n):hOe(n,a):i||(n[n.length]=a)}return n}A$.exports=a$});var u$=w((UAt,c$)=>{var dOe=l$();function COe(r){var e=r==null?0:r.length;return e?dOe(r,1):[]}c$.exports=COe});var f$=w((HAt,g$)=>{function mOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}g$.exports=mOe});var jN=w((GAt,p$)=>{var EOe=f$(),h$=Math.max;function IOe(r,e,t){return e=h$(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=h$(i.length-e,0),o=Array(s);++n{function yOe(r){return function(){return r}}d$.exports=yOe});var J0=w((jAt,m$)=>{function wOe(r){return r}m$.exports=wOe});var y$=w((qAt,I$)=>{var BOe=C$(),E$=UN(),bOe=J0(),QOe=E$?function(r,e){return E$(r,"toString",{configurable:!0,enumerable:!1,value:BOe(e),writable:!0})}:bOe;I$.exports=QOe});var B$=w((JAt,w$)=>{var SOe=800,vOe=16,xOe=Date.now;function POe(r){var e=0,t=0;return function(){var i=xOe(),n=vOe-(i-t);if(t=i,n>0){if(++e>=SOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}w$.exports=POe});var qN=w((WAt,b$)=>{var DOe=y$(),kOe=B$(),ROe=kOe(DOe);b$.exports=ROe});var S$=w((zAt,Q$)=>{var FOe=u$(),NOe=jN(),TOe=qN();function LOe(r){return TOe(NOe(r,void 0,FOe),r+"")}Q$.exports=LOe});var x$=w((VAt,v$)=>{var MOe=t$(),OOe=S$(),KOe=OOe(function(r,e){return r==null?{}:MOe(r,e)});v$.exports=KOe});var K$=w((mct,O$)=>{"use strict";var _N;try{_N=Map}catch{}var $N;try{$N=Set}catch{}function L$(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(M$);if(_N&&r instanceof _N)return new Map(Array.from(r.entries()));if($N&&r instanceof $N)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:L$(r[n],e,t)}return i}return r}function M$(r){return L$(r,[],[])}O$.exports=M$});var om=w(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});eT.default=e1e;var zOe=Object.prototype.toString,VOe=Error.prototype.toString,XOe=RegExp.prototype.toString,ZOe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",_Oe=/^Symbol\((.*)\)(.*)$/;function $Oe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function U$(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return $Oe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return ZOe.call(r).replace(_Oe,"Symbol($1)");let i=zOe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+VOe.call(r)+"]":i==="RegExp"?XOe.call(r):null}function e1e(r,e){let t=U$(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=U$(this[i],e);return s!==null?s:n},2)}});var iA=w(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=Ei.array=Ei.object=Ei.boolean=Ei.date=Ei.number=Ei.string=Ei.mixed=void 0;var H$=t1e(om());function t1e(r){return r&&r.__esModule?r:{default:r}}var G$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,H$.default)(t,!0)}\``+(n?` (cast from the value \`${(0,H$.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Ei.mixed=G$;var Y$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Ei.string=Y$;var j$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Ei.number=j$;var q$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Ei.date=q$;var J$={isValue:"${path} field must be ${value}"};Ei.boolean=J$;var W$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Ei.object=W$;var z$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Ei.array=z$;var r1e=Object.assign(Object.create(null),{mixed:G$,string:Y$,number:j$,date:q$,object:W$,array:z$,boolean:J$});Ei.default=r1e});var X$=w((yct,V$)=>{var i1e=Object.prototype,n1e=i1e.hasOwnProperty;function s1e(r,e){return r!=null&&n1e.call(r,e)}V$.exports=s1e});var am=w((wct,Z$)=>{var o1e=X$(),a1e=GN();function A1e(r,e){return r!=null&&a1e(r,e,o1e)}Z$.exports=A1e});var xh=w(eb=>{"use strict";Object.defineProperty(eb,"__esModule",{value:!0});eb.default=void 0;var l1e=r=>r&&r.__isYupSchema__;eb.default=l1e});var $$=w(tb=>{"use strict";Object.defineProperty(tb,"__esModule",{value:!0});tb.default=void 0;var c1e=_$(am()),u1e=_$(xh());function _$(r){return r&&r.__esModule?r:{default:r}}var tT=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,c1e.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,u1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},g1e=tT;tb.default=g1e});var iT=w(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});rT.default=f1e;function f1e(r){return r==null?[]:[].concat(r)}});var _c=w(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});rb.default=void 0;var h1e=eee(om()),p1e=eee(iT());function eee(r){return r&&r.__esModule?r:{default:r}}function nT(){return nT=Object.assign||function(r){for(var e=1;e(0,h1e.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,p1e.default)(e).forEach(s=>{Ph.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ph)}};rb.default=Ph});var ib=w(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});oT.default=E1e;var sT=C1e(_c());function C1e(r){return r&&r.__esModule?r:{default:r}}var m1e=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function E1e(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=m1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new sT.default(o,s,l)):c(null,s);for(let f=0;f{function I1e(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}tee.exports=I1e});var aT=w((Pct,iee)=>{var y1e=ree(),w1e=y1e();iee.exports=w1e});var see=w((Dct,nee)=>{function B1e(r,e){for(var t=-1,i=Array(r);++t{function b1e(){return!1}oee.exports=b1e});var lm=w((Am,Dh)=>{var Q1e=ys(),S1e=aee(),cee=typeof Am=="object"&&Am&&!Am.nodeType&&Am,Aee=cee&&typeof Dh=="object"&&Dh&&!Dh.nodeType&&Dh,v1e=Aee&&Aee.exports===cee,lee=v1e?Q1e.Buffer:void 0,x1e=lee?lee.isBuffer:void 0,P1e=x1e||S1e;Dh.exports=P1e});var gee=w((Rct,uee)=>{var D1e=Fc(),k1e=j0(),R1e=Wo(),F1e="[object Arguments]",N1e="[object Array]",T1e="[object Boolean]",L1e="[object Date]",M1e="[object Error]",O1e="[object Function]",K1e="[object Map]",U1e="[object Number]",H1e="[object Object]",G1e="[object RegExp]",Y1e="[object Set]",j1e="[object String]",q1e="[object WeakMap]",J1e="[object ArrayBuffer]",W1e="[object DataView]",z1e="[object Float32Array]",V1e="[object Float64Array]",X1e="[object Int8Array]",Z1e="[object Int16Array]",_1e="[object Int32Array]",$1e="[object Uint8Array]",eKe="[object Uint8ClampedArray]",tKe="[object Uint16Array]",rKe="[object Uint32Array]",Ir={};Ir[z1e]=Ir[V1e]=Ir[X1e]=Ir[Z1e]=Ir[_1e]=Ir[$1e]=Ir[eKe]=Ir[tKe]=Ir[rKe]=!0;Ir[F1e]=Ir[N1e]=Ir[J1e]=Ir[T1e]=Ir[W1e]=Ir[L1e]=Ir[M1e]=Ir[O1e]=Ir[K1e]=Ir[U1e]=Ir[H1e]=Ir[G1e]=Ir[Y1e]=Ir[j1e]=Ir[q1e]=!1;function iKe(r){return R1e(r)&&k1e(r.length)&&!!Ir[D1e(r)]}uee.exports=iKe});var nb=w((Fct,fee)=>{function nKe(r){return function(e){return r(e)}}fee.exports=nKe});var sb=w((cm,kh)=>{var sKe=WD(),hee=typeof cm=="object"&&cm&&!cm.nodeType&&cm,um=hee&&typeof kh=="object"&&kh&&!kh.nodeType&&kh,oKe=um&&um.exports===hee,AT=oKe&&sKe.process,aKe=function(){try{var r=um&&um.require&&um.require("util").types;return r||AT&&AT.binding&&AT.binding("util")}catch{}}();kh.exports=aKe});var ob=w((Nct,Cee)=>{var AKe=gee(),lKe=nb(),pee=sb(),dee=pee&&pee.isTypedArray,cKe=dee?lKe(dee):AKe;Cee.exports=cKe});var lT=w((Tct,mee)=>{var uKe=see(),gKe=nm(),fKe=vs(),hKe=lm(),pKe=im(),dKe=ob(),CKe=Object.prototype,mKe=CKe.hasOwnProperty;function EKe(r,e){var t=fKe(r),i=!t&&gKe(r),n=!t&&!i&&hKe(r),s=!t&&!i&&!n&&dKe(r),o=t||i||n||s,a=o?uKe(r.length,String):[],l=a.length;for(var c in r)(e||mKe.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||pKe(c,l)))&&a.push(c);return a}mee.exports=EKe});var ab=w((Lct,Eee)=>{var IKe=Object.prototype;function yKe(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||IKe;return r===t}Eee.exports=yKe});var cT=w((Mct,Iee)=>{function wKe(r,e){return function(t){return r(e(t))}}Iee.exports=wKe});var wee=w((Oct,yee)=>{var BKe=cT(),bKe=BKe(Object.keys,Object);yee.exports=bKe});var bee=w((Kct,Bee)=>{var QKe=ab(),SKe=wee(),vKe=Object.prototype,xKe=vKe.hasOwnProperty;function PKe(r){if(!QKe(r))return SKe(r);var e=[];for(var t in Object(r))xKe.call(r,t)&&t!="constructor"&&e.push(t);return e}Bee.exports=PKe});var gm=w((Uct,Qee)=>{var DKe=U0(),kKe=j0();function RKe(r){return r!=null&&kKe(r.length)&&!DKe(r)}Qee.exports=RKe});var Rh=w((Hct,See)=>{var FKe=lT(),NKe=bee(),TKe=gm();function LKe(r){return TKe(r)?FKe(r):NKe(r)}See.exports=LKe});var uT=w((Gct,vee)=>{var MKe=aT(),OKe=Rh();function KKe(r,e){return r&&MKe(r,e,OKe)}vee.exports=KKe});var Pee=w((Yct,xee)=>{var UKe=em();function HKe(){this.__data__=new UKe,this.size=0}xee.exports=HKe});var kee=w((jct,Dee)=>{function GKe(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}Dee.exports=GKe});var Fee=w((qct,Ree)=>{function YKe(r){return this.__data__.get(r)}Ree.exports=YKe});var Tee=w((Jct,Nee)=>{function jKe(r){return this.__data__.has(r)}Nee.exports=jKe});var Mee=w((Wct,Lee)=>{var qKe=em(),JKe=H0(),WKe=G0(),zKe=200;function VKe(r,e){var t=this.__data__;if(t instanceof qKe){var i=t.__data__;if(!JKe||i.length{var XKe=em(),ZKe=Pee(),_Ke=kee(),$Ke=Fee(),eUe=Tee(),tUe=Mee();function Fh(r){var e=this.__data__=new XKe(r);this.size=e.size}Fh.prototype.clear=ZKe;Fh.prototype.delete=_Ke;Fh.prototype.get=$Ke;Fh.prototype.has=eUe;Fh.prototype.set=tUe;Oee.exports=Fh});var Uee=w((Vct,Kee)=>{var rUe="__lodash_hash_undefined__";function iUe(r){return this.__data__.set(r,rUe),this}Kee.exports=iUe});var Gee=w((Xct,Hee)=>{function nUe(r){return this.__data__.has(r)}Hee.exports=nUe});var jee=w((Zct,Yee)=>{var sUe=G0(),oUe=Uee(),aUe=Gee();function Ab(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new sUe;++e{function AUe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function lUe(r,e){return r.has(e)}Wee.exports=lUe});var gT=w((eut,Vee)=>{var cUe=jee(),uUe=Jee(),gUe=zee(),fUe=1,hUe=2;function pUe(r,e,t,i,n,s){var o=t&fUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&hUe?new cUe:void 0;for(s.set(r,e),s.set(e,r);++g{var dUe=ys(),CUe=dUe.Uint8Array;Xee.exports=CUe});var _ee=w((rut,Zee)=>{function mUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Zee.exports=mUe});var ete=w((iut,$ee)=>{function EUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}$ee.exports=EUe});var ste=w((nut,nte)=>{var tte=Rc(),rte=fT(),IUe=Ih(),yUe=gT(),wUe=_ee(),BUe=ete(),bUe=1,QUe=2,SUe="[object Boolean]",vUe="[object Date]",xUe="[object Error]",PUe="[object Map]",DUe="[object Number]",kUe="[object RegExp]",RUe="[object Set]",FUe="[object String]",NUe="[object Symbol]",TUe="[object ArrayBuffer]",LUe="[object DataView]",ite=tte?tte.prototype:void 0,hT=ite?ite.valueOf:void 0;function MUe(r,e,t,i,n,s,o){switch(t){case LUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case TUe:return!(r.byteLength!=e.byteLength||!s(new rte(r),new rte(e)));case SUe:case vUe:case DUe:return IUe(+r,+e);case xUe:return r.name==e.name&&r.message==e.message;case kUe:case FUe:return r==e+"";case PUe:var a=wUe;case RUe:var l=i&bUe;if(a||(a=BUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=QUe,o.set(r,e);var u=yUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case NUe:if(hT)return hT.call(r)==hT.call(e)}return!1}nte.exports=MUe});var pT=w((sut,ote)=>{var OUe=q0(),KUe=vs();function UUe(r,e,t){var i=e(r);return KUe(r)?i:OUe(i,t(r))}ote.exports=UUe});var Ate=w((out,ate)=>{function HUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function GUe(){return[]}lte.exports=GUe});var lb=w((Aut,ute)=>{var YUe=Ate(),jUe=dT(),qUe=Object.prototype,JUe=qUe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,WUe=cte?function(r){return r==null?[]:(r=Object(r),YUe(cte(r),function(e){return JUe.call(r,e)}))}:jUe;ute.exports=WUe});var CT=w((lut,gte)=>{var zUe=pT(),VUe=lb(),XUe=Rh();function ZUe(r){return zUe(r,XUe,VUe)}gte.exports=ZUe});var pte=w((cut,hte)=>{var fte=CT(),_Ue=1,$Ue=Object.prototype,e2e=$Ue.hasOwnProperty;function t2e(r,e,t,i,n,s){var o=t&_Ue,a=fte(r),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:e2e.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var r2e=pl(),i2e=ys(),n2e=r2e(i2e,"DataView");dte.exports=n2e});var Ete=w((gut,mte)=>{var s2e=pl(),o2e=ys(),a2e=s2e(o2e,"Promise");mte.exports=a2e});var yte=w((fut,Ite)=>{var A2e=pl(),l2e=ys(),c2e=A2e(l2e,"Set");Ite.exports=c2e});var Bte=w((hut,wte)=>{var u2e=pl(),g2e=ys(),f2e=u2e(g2e,"WeakMap");wte.exports=f2e});var hm=w((put,Dte)=>{var mT=Cte(),ET=H0(),IT=Ete(),yT=yte(),wT=Bte(),Pte=Fc(),Nh=ON(),bte="[object Map]",h2e="[object Object]",Qte="[object Promise]",Ste="[object Set]",vte="[object WeakMap]",xte="[object DataView]",p2e=Nh(mT),d2e=Nh(ET),C2e=Nh(IT),m2e=Nh(yT),E2e=Nh(wT),$c=Pte;(mT&&$c(new mT(new ArrayBuffer(1)))!=xte||ET&&$c(new ET)!=bte||IT&&$c(IT.resolve())!=Qte||yT&&$c(new yT)!=Ste||wT&&$c(new wT)!=vte)&&($c=function(r){var e=Pte(r),t=e==h2e?r.constructor:void 0,i=t?Nh(t):"";if(i)switch(i){case p2e:return xte;case d2e:return bte;case C2e:return Qte;case m2e:return Ste;case E2e:return vte}return e});Dte.exports=$c});var Ote=w((dut,Mte)=>{var BT=fm(),I2e=gT(),y2e=ste(),w2e=pte(),kte=hm(),Rte=vs(),Fte=lm(),B2e=ob(),b2e=1,Nte="[object Arguments]",Tte="[object Array]",cb="[object Object]",Q2e=Object.prototype,Lte=Q2e.hasOwnProperty;function S2e(r,e,t,i,n,s){var o=Rte(r),a=Rte(e),l=o?Tte:kte(r),c=a?Tte:kte(e);l=l==Nte?cb:l,c=c==Nte?cb:c;var u=l==cb,g=c==cb,f=l==c;if(f&&Fte(r)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new BT),o||B2e(r)?I2e(r,e,t,i,n,s):y2e(r,e,l,t,i,n,s);if(!(t&b2e)){var h=u&&Lte.call(r,"__wrapped__"),p=g&&Lte.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new BT),n(C,y,t,i,s)}}return f?(s||(s=new BT),w2e(r,e,t,i,n,s)):!1}Mte.exports=S2e});var bT=w((Cut,Hte)=>{var v2e=Ote(),Kte=Wo();function Ute(r,e,t,i,n){return r===e?!0:r==null||e==null||!Kte(r)&&!Kte(e)?r!==r&&e!==e:v2e(r,e,t,i,Ute,n)}Hte.exports=Ute});var Yte=w((mut,Gte)=>{var x2e=fm(),P2e=bT(),D2e=1,k2e=2;function R2e(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var F2e=vn();function N2e(r){return r===r&&!F2e(r)}jte.exports=N2e});var Jte=w((Iut,qte)=>{var T2e=QT(),L2e=Rh();function M2e(r){for(var e=L2e(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,T2e(n)]}return e}qte.exports=M2e});var ST=w((yut,Wte)=>{function O2e(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Wte.exports=O2e});var Vte=w((wut,zte)=>{var K2e=Yte(),U2e=Jte(),H2e=ST();function G2e(r){var e=U2e(r);return e.length==1&&e[0][2]?H2e(e[0][0],e[0][1]):function(t){return t===r||K2e(t,r,e)}}zte.exports=G2e});var ub=w((But,Xte)=>{var Y2e=rm();function j2e(r,e,t){var i=r==null?void 0:Y2e(r,e);return i===void 0?t:i}Xte.exports=j2e});var _te=w((but,Zte)=>{var q2e=bT(),J2e=ub(),W2e=YN(),z2e=K0(),V2e=QT(),X2e=ST(),Z2e=Zc(),_2e=1,$2e=2;function eHe(r,e){return z2e(r)&&V2e(e)?X2e(Z2e(r),e):function(t){var i=J2e(t,r);return i===void 0&&i===e?W2e(t,r):q2e(e,i,_2e|$2e)}}Zte.exports=eHe});var ere=w((Qut,$te)=>{function tHe(r){return function(e){return e==null?void 0:e[r]}}$te.exports=tHe});var rre=w((Sut,tre)=>{var rHe=rm();function iHe(r){return function(e){return rHe(e,r)}}tre.exports=iHe});var nre=w((vut,ire)=>{var nHe=ere(),sHe=rre(),oHe=K0(),aHe=Zc();function AHe(r){return oHe(r)?nHe(aHe(r)):sHe(r)}ire.exports=AHe});var vT=w((xut,sre)=>{var lHe=Vte(),cHe=_te(),uHe=J0(),gHe=vs(),fHe=nre();function hHe(r){return typeof r=="function"?r:r==null?uHe:typeof r=="object"?gHe(r)?cHe(r[0],r[1]):lHe(r):fHe(r)}sre.exports=hHe});var xT=w((Put,ore)=>{var pHe=bh(),dHe=uT(),CHe=vT();function mHe(r,e){var t={};return e=CHe(e,3),dHe(r,function(i,n,s){pHe(t,n,e(i,n,s))}),t}ore.exports=mHe});var pm=w((Dut,ure)=>{"use strict";function eu(r){this._maxSize=r,this.clear()}eu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};eu.prototype.get=function(r){return this._values[r]};eu.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var EHe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,cre=/^\d+$/,IHe=/^\d/,yHe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,wHe=/^\s*(['"]?)(.*?)(\1)\s*$/,kT=512,are=new eu(kT),Are=new eu(kT),lre=new eu(kT);ure.exports={Cache:eu,split:DT,normalizePath:PT,setter:function(r){var e=PT(r);return Are.get(r)||Are.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.create=xHe;Cm.default=void 0;var vHe=pm(),gb={context:"$",value:"."};function xHe(r,e){return new dm(r,e)}var dm=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===gb.context,this.isValue=this.key[0]===gb.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?gb.context:this.isValue?gb.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,vHe.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Cm.default=dm;dm.prototype.__isYupRef=!0});var gre=w(NT=>{"use strict";Object.defineProperty(NT,"__esModule",{value:!0});NT.default=RHe;var PHe=FT(xT()),fb=FT(_c()),DHe=FT(tu());function FT(r){return r&&r.__esModule?r:{default:r}}function hb(){return hb=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function RHe(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=kHe(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return DHe.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,PHe.default)(hb({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new fb.default(fb.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=hb({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{fb.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let T;try{var H;if(T=f.call(D,n,D),typeof((H=T)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}fb.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var TT=w(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.getIn=fre;mm.default=void 0;var FHe=pm(),NHe=r=>r.substr(0,r.length-1).substr(1);function fre(r,e,t,i=t){let n,s,o;return e?((0,FHe.forEach)(e,(a,l,c)=>{let u=l?NHe(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var THe=(r,e,t,i)=>fre(r,e,t,i).schema,LHe=THe;mm.default=LHe});var pre=w(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.default=void 0;var hre=MHe(tu());function MHe(r){return r&&r.__esModule?r:{default:r}}var Em=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){hre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){hre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new Em;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};pb.default=Em});var sA=w(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});Cb.default=void 0;var dre=nA(K$()),Th=iA(),OHe=nA($$()),Cre=nA(ib()),db=nA(gre()),mre=nA(om()),KHe=nA(tu()),UHe=TT(),HHe=nA(iT()),Ere=nA(_c()),Ire=nA(pre());function nA(r){return r&&r.__esModule?r:{default:r}}function Fs(){return Fs=Object.assign||function(r){for(var e=1;e{this.typeError(Th.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Fs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Fs({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,dre.default)(Fs({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Fs({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Fs({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,mre.default)(e),o=(0,mre.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Fs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,pre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,pre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Fs({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Fs({},t,{value:e})),n;return i._validate(e,Fs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Cre.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Cre.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,hre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Th.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Th.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Th.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,db.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,KHe.default)(e).map(s=>new MHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new LHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,db.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Th.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,db.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Th.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,db.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Cb.default=co;co.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])co.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,OHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],Fs({},i,{parent:n,path:e}))};for(let r of["equals","is"])co.prototype[r]=co.prototype.oneOf;for(let r of["not","nope"])co.prototype[r]=co.prototype.notOneOf;co.prototype.optional=co.prototype.notRequired});var Ire=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=Ere;Im.default=void 0;var UHe=HHe(oA());function HHe(r){return r&&r.__esModule?r:{default:r}}var NT=UHe.default,GHe=NT;Im.default=GHe;function Ere(){return new NT}Ere.prototype=NT.prototype});var Lh=w(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});mb.default=void 0;var YHe=r=>r==null;mb.default=YHe});var Qre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=bre;wm.default=void 0;var jHe=Bre(oA()),yre=nA(),wre=Bre(Lh());function Bre(r){return r&&r.__esModule?r:{default:r}}function bre(){return new ym}var ym=class extends jHe.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=yre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,wre.default)(t)||t===!0}})}isFalse(e=yre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,wre.default)(t)||t===!1}})}};wm.default=ym;bre.prototype=ym.prototype});var xre=w(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});bm.create=vre;bm.default=void 0;var ia=nA(),aA=Sre(Lh()),qHe=Sre(oA());function Sre(r){return r&&r.__esModule?r:{default:r}}var JHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,WHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,zHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,VHe=r=>(0,aA.default)(r)||r===r.trim(),XHe={}.toString();function vre(){return new Bm}var Bm=class extends qHe.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===XHe?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ia.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,aA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ia.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,aA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ia.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,aA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ia.string.matches,params:{regex:e},test:o=>(0,aA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ia.string.email){return this.matches(JHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ia.string.url){return this.matches(WHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ia.string.uuid){return this.matches(zHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ia.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:VHe})}lowercase(e=ia.string.lowercase){return this.transform(t=>(0,aA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,aA.default)(t)||t===t.toLowerCase()})}uppercase(e=ia.string.uppercase){return this.transform(t=>(0,aA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,aA.default)(t)||t===t.toUpperCase()})}};bm.default=Bm;vre.prototype=Bm.prototype});var kre=w(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.create=Dre;Sm.default=void 0;var ru=nA(),iu=Pre(Lh()),ZHe=Pre(oA());function Pre(r){return r&&r.__esModule?r:{default:r}}var _He=r=>r!=+r;function Dre(){return new Qm}var Qm=class extends ZHe.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!_He(e)}min(e,t=ru.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iu.default)(i)||i>=this.resolve(e)}})}max(e,t=ru.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=ru.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,iu.default)(i)||ithis.resolve(e)}})}positive(e=ru.number.positive){return this.moreThan(0,e)}negative(e=ru.number.negative){return this.lessThan(0,e)}integer(e=ru.number.integer){return this.test({name:"integer",message:e,test:t=>(0,iu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,iu.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,iu.default)(n)?n:Math[e](n))}};Sm.default=Qm;Dre.prototype=Qm.prototype});var Rre=w(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0});TT.default=eGe;var $He=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function eGe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=$He.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Tre=w(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.create=MT;vm.default=void 0;var tGe=Eb(Rre()),Fre=nA(),Nre=Eb(Lh()),rGe=Eb(tu()),iGe=Eb(oA());function Eb(r){return r&&r.__esModule?r:{default:r}}var LT=new Date(""),nGe=r=>Object.prototype.toString.call(r)==="[object Date]";function MT(){return new Mh}var Mh=class extends iGe.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,tGe.default)(e),isNaN(e)?LT:new Date(e))})})}_typeCheck(e){return nGe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(rGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=Fre.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Nre.default)(n)||n>=this.resolve(i)}})}max(e,t=Fre.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Nre.default)(n)||n<=this.resolve(i)}})}};vm.default=Mh;Mh.INVALID_DATE=LT;MT.prototype=Mh.prototype;MT.INVALID_DATE=LT});var Mre=w((Hut,Lre)=>{function sGe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function oGe(r){return function(e){return r==null?void 0:r[e]}}Ore.exports=oGe});var Hre=w((Yut,Ure)=>{var aGe=Kre(),AGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},lGe=aGe(AGe);Ure.exports=lGe});var Yre=w((jut,Gre)=>{var cGe=Hre(),uGe=Vf(),gGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,fGe="\\u0300-\\u036f",hGe="\\ufe20-\\ufe2f",pGe="\\u20d0-\\u20ff",dGe=fGe+hGe+pGe,CGe="["+dGe+"]",mGe=RegExp(CGe,"g");function EGe(r){return r=uGe(r),r&&r.replace(gGe,cGe).replace(mGe,"")}Gre.exports=EGe});var qre=w((qut,jre)=>{var IGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function yGe(r){return r.match(IGe)||[]}jre.exports=yGe});var Wre=w((Jut,Jre)=>{var wGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function BGe(r){return wGe.test(r)}Jre.exports=BGe});var gie=w((Wut,uie)=>{var _re="\\ud800-\\udfff",bGe="\\u0300-\\u036f",QGe="\\ufe20-\\ufe2f",SGe="\\u20d0-\\u20ff",vGe=bGe+QGe+SGe,$re="\\u2700-\\u27bf",eie="a-z\\xdf-\\xf6\\xf8-\\xff",xGe="\\xac\\xb1\\xd7\\xf7",PGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",DGe="\\u2000-\\u206f",kGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",tie="A-Z\\xc0-\\xd6\\xd8-\\xde",RGe="\\ufe0e\\ufe0f",rie=xGe+PGe+DGe+kGe,iie="['\u2019]",zre="["+rie+"]",FGe="["+vGe+"]",nie="\\d+",NGe="["+$re+"]",sie="["+eie+"]",oie="[^"+_re+rie+nie+$re+eie+tie+"]",TGe="\\ud83c[\\udffb-\\udfff]",LGe="(?:"+FGe+"|"+TGe+")",MGe="[^"+_re+"]",aie="(?:\\ud83c[\\udde6-\\uddff]){2}",Aie="[\\ud800-\\udbff][\\udc00-\\udfff]",Oh="["+tie+"]",OGe="\\u200d",Vre="(?:"+sie+"|"+oie+")",KGe="(?:"+Oh+"|"+oie+")",Xre="(?:"+iie+"(?:d|ll|m|re|s|t|ve))?",Zre="(?:"+iie+"(?:D|LL|M|RE|S|T|VE))?",lie=LGe+"?",cie="["+RGe+"]?",UGe="(?:"+OGe+"(?:"+[MGe,aie,Aie].join("|")+")"+cie+lie+")*",HGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",GGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",YGe=cie+lie+UGe,jGe="(?:"+[NGe,aie,Aie].join("|")+")"+YGe,qGe=RegExp([Oh+"?"+sie+"+"+Xre+"(?="+[zre,Oh,"$"].join("|")+")",KGe+"+"+Zre+"(?="+[zre,Oh+Vre,"$"].join("|")+")",Oh+"?"+Vre+"+"+Xre,Oh+"+"+Zre,GGe,HGe,nie,jGe].join("|"),"g");function JGe(r){return r.match(qGe)||[]}uie.exports=JGe});var hie=w((zut,fie)=>{var WGe=qre(),zGe=Wre(),VGe=Vf(),XGe=gie();function ZGe(r,e,t){return r=VGe(r),e=t?void 0:e,e===void 0?zGe(r)?XGe(r):WGe(r):r.match(e)||[]}fie.exports=ZGe});var OT=w((Vut,pie)=>{var _Ge=Mre(),$Ge=Yre(),eYe=hie(),tYe="['\u2019]",rYe=RegExp(tYe,"g");function iYe(r){return function(e){return _Ge(eYe($Ge(e).replace(rYe,"")),r,"")}}pie.exports=iYe});var Cie=w((Xut,die)=>{var nYe=OT(),sYe=nYe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});die.exports=sYe});var Eie=w((Zut,mie)=>{var oYe=PB(),aYe=OT(),AYe=aYe(function(r,e,t){return e=e.toLowerCase(),r+(t?oYe(e):e)});mie.exports=AYe});var yie=w((_ut,Iie)=>{var lYe=bh(),cYe=lT(),uYe=QT();function gYe(r,e){var t={};return e=uYe(e,3),cYe(r,function(i,n,s){lYe(t,e(i,n,s),i)}),t}Iie.exports=gYe});var Bie=w(($ut,KT)=>{KT.exports=function(r){return wie(fYe(r),r)};KT.exports.array=wie;function wie(r,e){var t=r.length,i=new Array(t),n={},s=t,o=hYe(e),a=pYe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function fYe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(UT,"__esModule",{value:!0});UT.default=yYe;var dYe=Ib(am()),CYe=Ib(Bie()),mYe=pm(),EYe=Ib(tu()),IYe=Ib(xh());function Ib(r){return r&&r.__esModule?r:{default:r}}function yYe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,mYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,dYe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),EYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,IYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return CYe.default.array(i,t).reverse()}});var Sie=w(HT=>{"use strict";Object.defineProperty(HT,"__esModule",{value:!0});HT.default=wYe;function Qie(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function wYe(r){return(e,t)=>Qie(r,e)-Qie(r,t)}});var Fie=w(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.create=Rie;Pm.default=void 0;var vie=na(am()),xie=na(Cie()),BYe=na(Eie()),bYe=na(yie()),QYe=na(ST()),SYe=pm(),Pie=nA(),vYe=na(bie()),kie=na(Sie()),xYe=na(ib()),PYe=na(_c()),GT=na(oA());function na(r){return r&&r.__esModule?r:{default:r}}function Kh(){return Kh=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function DYe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var kYe=(0,kie.default)([]),xm=class extends GT.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=kYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Die(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Kh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,vie.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!PYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Die(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],Kh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,xYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Kh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof GT.default&&s instanceof GT.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,kie.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,vYe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,SYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,vie.default)(s,e)&&(o=Kh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=Pie.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=DYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=Pie.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,bYe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(BYe.default)}snakeCase(){return this.transformKeys(xie.default)}constantCase(){return this.transformKeys(e=>(0,xie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,QYe.default)(this.fields,t=>t.describe()),e}};Pm.default=xm;function Rie(r){return new xm(r)}Rie.prototype=xm.prototype});var Tie=w(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.create=Nie;km.default=void 0;var YT=Uh(Lh()),RYe=Uh(xh()),FYe=Uh(om()),jT=nA(),NYe=Uh(ib()),TYe=Uh(_c()),LYe=Uh(oA());function Uh(r){return r&&r.__esModule?r:{default:r}}function yb(){return yb=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,yb({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!TYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,NYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,RYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,FYe.default)(e));return t.innerType=e,t}length(e,t=jT.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,YT.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||jT.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,YT.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||jT.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,YT.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};km.default=Dm;Nie.prototype=Dm.prototype});var Lie=w(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.create=KYe;Rm.default=void 0;var MYe=OYe(xh());function OYe(r){return r&&r.__esModule?r:{default:r}}function KYe(r){return new wb(r)}var wb=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,MYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},UYe=wb;Rm.default=UYe});var Mie=w(qT=>{"use strict";Object.defineProperty(qT,"__esModule",{value:!0});qT.default=YYe;var HYe=GYe(nA());function GYe(r){return r&&r.__esModule?r:{default:r}}function YYe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{HYe.default[e][t]=r[e][t]})})}});var WT=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=XYe;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return Oie.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return Oie.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return JT.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return JT.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return JT.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Kie.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Kie.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return jYe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return qYe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return JYe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return WYe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return zYe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return VYe.default}});var Oie=nu(Ire()),JT=nu(Qre()),Kie=nu(xre()),Uie=nu(kre()),Hie=nu(Tre()),Gie=nu(Fie()),Yie=nu(Tie()),jYe=tu(),qYe=Lie(),JYe=Fm(_c()),WYe=Fm(FT()),jie=Fm(xh()),zYe=Fm(Mie()),VYe=Fm(oA());function Fm(r){return r&&r.__esModule?r:{default:r}}function qie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return qie=function(){return r},r}function nu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=qie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function XYe(r,e,t){if(!r||!(0,jie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var Xie=w((Egt,Tm)=>{"use strict";var $Ye=process.env.TERM_PROGRAM==="Hyper",eje=process.platform==="win32",Wie=process.platform==="linux",zT={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},zie=Object.assign({},zT,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Vie=Object.assign({},zT,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Wie?"\u25B8":"\u276F",pointerSmall:Wie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Tm.exports=eje&&!$Ye?zie:Vie;Reflect.defineProperty(Tm.exports,"common",{enumerable:!1,value:zT});Reflect.defineProperty(Tm.exports,"windows",{enumerable:!1,value:zie});Reflect.defineProperty(Tm.exports,"other",{enumerable:!1,value:Vie})});var uo=w((Igt,VT)=>{"use strict";var tje=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),rje=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Zie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` -`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=rje,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!tje(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=Xie(),r.define=n,r};VT.exports=Zie();VT.exports.create=Zie});var ji=w(Tt=>{"use strict";var ije=Object.prototype.toString,Ns=uo(),_ie=!1,XT=[],$ie={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Tt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Tt.hasColor=r=>!!r&&Ns.hasColor(r);var bb=Tt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Tt.nativeType=r=>ije.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Tt.isAsyncFn=r=>Tt.nativeType(r)==="asyncfunction";Tt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Tt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Tt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Tt.scrollUp=(r=[])=>[r.pop(),...r];Tt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Tt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Tt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Tt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` -`+t,width:n=80}=e,s=(i+t).match(/[^\S\n]/g)||[];n-=s.length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Tt.unmute=r=>{let e=r.stack.find(i=>Ns.keys.color.includes(i));return e?Ns[e]:r.stack.find(i=>i.slice(2)==="bg")?Ns[e.slice(2)]:i=>i};Tt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Tt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i));if(e){let i=Ns["bg"+Tt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ns[t.slice(2).toLowerCase()]||r:Ns.none};Tt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ns[$ie[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=$ie[i];return n&&Ns["bg"+Tt.pascal(n)]||r}return Ns.none};Tt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Tt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Tt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Tt.mixin=(r,e)=>{if(!bb(r))return e;if(!bb(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&bb(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);bb(n.value)?r[t]=Tt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Tt.merge=(...r)=>{let e={};for(let t of r)Tt.mixin(e,t);return e};Tt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Tt.define(r,i,n.bind(e)):Tt.define(r,i,n)}};Tt.onExit=r=>{let e=(t,i)=>{_ie||(_ie=!0,XT.forEach(n=>n()),t===!0&&process.exit(128+i))};XT.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),XT.push(r)};Tt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Tt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var ene=w(Gh=>{"use strict";Gh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Gh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Gh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Gh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Gh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var ine=w((Bgt,rne)=>{"use strict";var tne=J("readline"),nje=ene(),sje=/^(?:\x1b)([a-zA-Z0-9])$/,oje=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,aje={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Aje(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function lje(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var Qb=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` -`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=sje.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=oje.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=aje[s],i.shift=Aje(s)||i.shift,i.ctrl=lje(s)||i.ctrl}return i};Qb.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=tne.createInterface({terminal:!0,input:t});tne.emitKeypressEvents(t,i);let n=(a,l)=>e(a,Qb(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};Qb.action=(r,e,t)=>{let i={...nje,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};rne.exports=Qb});var sne=w((bgt,nne)=>{"use strict";nne.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),cje(r,t,i)}};function cje(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var ane=w((Qgt,one)=>{"use strict";var{define:uje,width:gje}=ji(),ZT=class{constructor(e){let t=e.options;uje(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=gje(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};one.exports=ZT});var lne=w((Sgt,Ane)=>{"use strict";var _T=ji(),Di=uo(),$T={default:Di.noop,noop:Di.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||_T.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||_T.complement(this.primary)},primary:Di.cyan,success:Di.green,danger:Di.magenta,strong:Di.bold,warning:Di.yellow,muted:Di.dim,disabled:Di.gray,dark:Di.dim.gray,underline:Di.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};$T.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Di.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Di.visible=r.styles.visible);let e=_T.merge({},$T,r.styles);delete e.merge;for(let t of Object.keys(Di))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});for(let t of Object.keys(Di.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});return e};Ane.exports=$T});var une=w((vgt,cne)=>{"use strict";var eL=process.platform==="win32",AA=uo(),fje=ji(),tL={...AA.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:AA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:AA.symbols.question,submitted:AA.symbols.check,cancelled:AA.symbols.cross},separator:{pending:AA.symbols.pointerSmall,submitted:AA.symbols.middot,cancelled:AA.symbols.middot},radio:{off:eL?"( )":"\u25EF",on:eL?"(*)":"\u25C9",disabled:eL?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};tL.merge=r=>{let e=fje.merge({},AA.symbols,tL,r.symbols);return delete e.merge,e};cne.exports=tL});var fne=w((xgt,gne)=>{"use strict";var hje=lne(),pje=une(),dje=ji();gne.exports=r=>{r.options=dje.merge({},r.options.theme,r.options),r.symbols=pje.merge(r.options),r.styles=hje.merge(r.options)}});var mne=w((dne,Cne)=>{"use strict";var hne=process.env.TERM_PROGRAM==="Apple_Terminal",Cje=uo(),rL=ji(),go=Cne.exports=dne,Dr="\x1B[",pne="\x07",iL=!1,dl=go.code={bell:pne,beep:pne,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(hne?"8":"u"),savePosition:Dr+(hne?"7":"s"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},su=go.cursor={get hidden(){return iL},hide(){return iL=!0,dl.hide},show(){return iL=!1,dl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:"",down:(r=1)=>r?`${Dr}${r}B`:"",right:(r=1)=>r?`${Dr}${r}C`:"",left:(r=1)=>r?`${Dr}${r}D`:"",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?su.left(-r):r>0?su.right(r):"",t+=e<0?su.up(-e):e>0?su.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=rL.isPrimitive(i)?String(i):"",n=rL.isPrimitive(n)?String(n):"",a=rL.isPrimitive(a)?String(a):"",o){let l=go.cursor.up(o)+go.cursor.to(s.length),c=n.length-t;return c>0&&(l+=go.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),go.cursor.move(l)}}},nL=go.erase={screen:dl.screen,up:dl.up,down:dl.down,line:dl.line,lineEnd:dl.lineEnd,lineStart:dl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return nL.line+su.to(0);let t=s=>[...Cje.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(nL.line+su.prevLine()).repeat(n-1)+nL.line+su.to(0)}});var Yh=w((Pgt,Ine)=>{"use strict";var mje=J("events"),Ene=uo(),sL=ine(),Eje=sne(),Ije=ane(),yje=fne(),kn=ji(),ou=mne(),Lm=class extends mje{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,yje(this),Eje(this),this.state=new Ije(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Bje(this.options.margin),this.setMaxListeners(0),wje(this)}async keypress(e,t={}){this.keypressed=!0;let i=sL.action(e,sL(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ou.code.beep)}cursorHide(){this.stdout.write(ou.cursor.hide()),kn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ou.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(ou.cursor.down(e)+ou.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ou.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=Ene.unstyle(i);let n=Ene.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Fs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Cre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Cre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Fs({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Fs({},t,{value:e})),n;return i._validate(e,Fs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Ere.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Ere.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,dre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Th.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Th.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Th.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,db.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,HHe.default)(e).map(s=>new KHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new OHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,db.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Th.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,db.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Th.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,db.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Cb.default=uo;uo.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])uo.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,UHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],Fs({},i,{parent:n,path:e}))};for(let r of["equals","is"])uo.prototype[r]=uo.prototype.oneOf;for(let r of["not","nope"])uo.prototype[r]=uo.prototype.notOneOf;uo.prototype.optional=uo.prototype.notRequired});var wre=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=yre;Im.default=void 0;var GHe=YHe(sA());function YHe(r){return r&&r.__esModule?r:{default:r}}var LT=GHe.default,jHe=LT;Im.default=jHe;function yre(){return new LT}yre.prototype=LT.prototype});var Lh=w(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});mb.default=void 0;var qHe=r=>r==null;mb.default=qHe});var vre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=Sre;wm.default=void 0;var JHe=Qre(sA()),Bre=iA(),bre=Qre(Lh());function Qre(r){return r&&r.__esModule?r:{default:r}}function Sre(){return new ym}var ym=class extends JHe.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,bre.default)(t)||t===!0}})}isFalse(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,bre.default)(t)||t===!1}})}};wm.default=ym;Sre.prototype=ym.prototype});var Dre=w(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});bm.create=Pre;bm.default=void 0;var ia=iA(),oA=xre(Lh()),WHe=xre(sA());function xre(r){return r&&r.__esModule?r:{default:r}}var zHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,VHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,XHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ZHe=r=>(0,oA.default)(r)||r===r.trim(),_He={}.toString();function Pre(){return new Bm}var Bm=class extends WHe.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===_He?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ia.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,oA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ia.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,oA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ia.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,oA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ia.string.matches,params:{regex:e},test:o=>(0,oA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ia.string.email){return this.matches(zHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ia.string.url){return this.matches(VHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ia.string.uuid){return this.matches(XHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ia.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:ZHe})}lowercase(e=ia.string.lowercase){return this.transform(t=>(0,oA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toLowerCase()})}uppercase(e=ia.string.uppercase){return this.transform(t=>(0,oA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toUpperCase()})}};bm.default=Bm;Pre.prototype=Bm.prototype});var Fre=w(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.create=Rre;Sm.default=void 0;var ru=iA(),iu=kre(Lh()),$He=kre(sA());function kre(r){return r&&r.__esModule?r:{default:r}}var eGe=r=>r!=+r;function Rre(){return new Qm}var Qm=class extends $He.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!eGe(e)}min(e,t=ru.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iu.default)(i)||i>=this.resolve(e)}})}max(e,t=ru.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=ru.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,iu.default)(i)||ithis.resolve(e)}})}positive(e=ru.number.positive){return this.moreThan(0,e)}negative(e=ru.number.negative){return this.lessThan(0,e)}integer(e=ru.number.integer){return this.test({name:"integer",message:e,test:t=>(0,iu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,iu.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,iu.default)(n)?n:Math[e](n))}};Sm.default=Qm;Rre.prototype=Qm.prototype});var Nre=w(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.default=rGe;var tGe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function rGe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=tGe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Mre=w(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.create=KT;vm.default=void 0;var iGe=Eb(Nre()),Tre=iA(),Lre=Eb(Lh()),nGe=Eb(tu()),sGe=Eb(sA());function Eb(r){return r&&r.__esModule?r:{default:r}}var OT=new Date(""),oGe=r=>Object.prototype.toString.call(r)==="[object Date]";function KT(){return new Mh}var Mh=class extends sGe.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,iGe.default)(e),isNaN(e)?OT:new Date(e))})})}_typeCheck(e){return oGe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(nGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=Tre.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,t=Tre.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};vm.default=Mh;Mh.INVALID_DATE=OT;KT.prototype=Mh.prototype;KT.INVALID_DATE=OT});var Kre=w((Yut,Ore)=>{function aGe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function AGe(r){return function(e){return r==null?void 0:r[e]}}Ure.exports=AGe});var Yre=w((qut,Gre)=>{var lGe=Hre(),cGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},uGe=lGe(cGe);Gre.exports=uGe});var qre=w((Jut,jre)=>{var gGe=Yre(),fGe=Vf(),hGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,pGe="\\u0300-\\u036f",dGe="\\ufe20-\\ufe2f",CGe="\\u20d0-\\u20ff",mGe=pGe+dGe+CGe,EGe="["+mGe+"]",IGe=RegExp(EGe,"g");function yGe(r){return r=fGe(r),r&&r.replace(hGe,gGe).replace(IGe,"")}jre.exports=yGe});var Wre=w((Wut,Jre)=>{var wGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function BGe(r){return r.match(wGe)||[]}Jre.exports=BGe});var Vre=w((zut,zre)=>{var bGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function QGe(r){return bGe.test(r)}zre.exports=QGe});var hie=w((Vut,fie)=>{var eie="\\ud800-\\udfff",SGe="\\u0300-\\u036f",vGe="\\ufe20-\\ufe2f",xGe="\\u20d0-\\u20ff",PGe=SGe+vGe+xGe,tie="\\u2700-\\u27bf",rie="a-z\\xdf-\\xf6\\xf8-\\xff",DGe="\\xac\\xb1\\xd7\\xf7",kGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",RGe="\\u2000-\\u206f",FGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iie="A-Z\\xc0-\\xd6\\xd8-\\xde",NGe="\\ufe0e\\ufe0f",nie=DGe+kGe+RGe+FGe,sie="['\u2019]",Xre="["+nie+"]",TGe="["+PGe+"]",oie="\\d+",LGe="["+tie+"]",aie="["+rie+"]",Aie="[^"+eie+nie+oie+tie+rie+iie+"]",MGe="\\ud83c[\\udffb-\\udfff]",OGe="(?:"+TGe+"|"+MGe+")",KGe="[^"+eie+"]",lie="(?:\\ud83c[\\udde6-\\uddff]){2}",cie="[\\ud800-\\udbff][\\udc00-\\udfff]",Oh="["+iie+"]",UGe="\\u200d",Zre="(?:"+aie+"|"+Aie+")",HGe="(?:"+Oh+"|"+Aie+")",_re="(?:"+sie+"(?:d|ll|m|re|s|t|ve))?",$re="(?:"+sie+"(?:D|LL|M|RE|S|T|VE))?",uie=OGe+"?",gie="["+NGe+"]?",GGe="(?:"+UGe+"(?:"+[KGe,lie,cie].join("|")+")"+gie+uie+")*",YGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qGe=gie+uie+GGe,JGe="(?:"+[LGe,lie,cie].join("|")+")"+qGe,WGe=RegExp([Oh+"?"+aie+"+"+_re+"(?="+[Xre,Oh,"$"].join("|")+")",HGe+"+"+$re+"(?="+[Xre,Oh+Zre,"$"].join("|")+")",Oh+"?"+Zre+"+"+_re,Oh+"+"+$re,jGe,YGe,oie,JGe].join("|"),"g");function zGe(r){return r.match(WGe)||[]}fie.exports=zGe});var die=w((Xut,pie)=>{var VGe=Wre(),XGe=Vre(),ZGe=Vf(),_Ge=hie();function $Ge(r,e,t){return r=ZGe(r),e=t?void 0:e,e===void 0?XGe(r)?_Ge(r):VGe(r):r.match(e)||[]}pie.exports=$Ge});var UT=w((Zut,Cie)=>{var eYe=Kre(),tYe=qre(),rYe=die(),iYe="['\u2019]",nYe=RegExp(iYe,"g");function sYe(r){return function(e){return eYe(rYe(tYe(e).replace(nYe,"")),r,"")}}Cie.exports=sYe});var Eie=w((_ut,mie)=>{var oYe=UT(),aYe=oYe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});mie.exports=aYe});var yie=w(($ut,Iie)=>{var AYe=PB(),lYe=UT(),cYe=lYe(function(r,e,t){return e=e.toLowerCase(),r+(t?AYe(e):e)});Iie.exports=cYe});var Bie=w((egt,wie)=>{var uYe=bh(),gYe=uT(),fYe=vT();function hYe(r,e){var t={};return e=fYe(e,3),gYe(r,function(i,n,s){uYe(t,e(i,n,s),i)}),t}wie.exports=hYe});var Qie=w((tgt,HT)=>{HT.exports=function(r){return bie(pYe(r),r)};HT.exports.array=bie;function bie(r,e){var t=r.length,i=new Array(t),n={},s=t,o=dYe(e),a=CYe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function pYe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(GT,"__esModule",{value:!0});GT.default=BYe;var mYe=Ib(am()),EYe=Ib(Qie()),IYe=pm(),yYe=Ib(tu()),wYe=Ib(xh());function Ib(r){return r&&r.__esModule?r:{default:r}}function BYe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,IYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,mYe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),yYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,wYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return EYe.default.array(i,t).reverse()}});var xie=w(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0});YT.default=bYe;function vie(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function bYe(r){return(e,t)=>vie(r,e)-vie(r,t)}});var Tie=w(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.create=Nie;Pm.default=void 0;var Pie=na(am()),Die=na(Eie()),QYe=na(yie()),SYe=na(Bie()),vYe=na(xT()),xYe=pm(),kie=iA(),PYe=na(Sie()),Fie=na(xie()),DYe=na(ib()),kYe=na(_c()),jT=na(sA());function na(r){return r&&r.__esModule?r:{default:r}}function Kh(){return Kh=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function RYe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var FYe=(0,Fie.default)([]),xm=class extends jT.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=FYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Rie(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Kh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Pie.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!kYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Rie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],Kh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,DYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Kh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof jT.default&&s instanceof jT.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Fie.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,PYe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,xYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Pie.default)(s,e)&&(o=Kh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=kie.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=RYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=kie.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,SYe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(QYe.default)}snakeCase(){return this.transformKeys(Die.default)}constantCase(){return this.transformKeys(e=>(0,Die.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,vYe.default)(this.fields,t=>t.describe()),e}};Pm.default=xm;function Nie(r){return new xm(r)}Nie.prototype=xm.prototype});var Mie=w(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.create=Lie;km.default=void 0;var qT=Uh(Lh()),NYe=Uh(xh()),TYe=Uh(om()),JT=iA(),LYe=Uh(ib()),MYe=Uh(_c()),OYe=Uh(sA());function Uh(r){return r&&r.__esModule?r:{default:r}}function yb(){return yb=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,yb({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!MYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,LYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,NYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,TYe.default)(e));return t.innerType=e,t}length(e,t=JT.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,qT.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||JT.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,qT.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||JT.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,qT.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};km.default=Dm;Lie.prototype=Dm.prototype});var Oie=w(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.create=HYe;Rm.default=void 0;var KYe=UYe(xh());function UYe(r){return r&&r.__esModule?r:{default:r}}function HYe(r){return new wb(r)}var wb=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,KYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},GYe=wb;Rm.default=GYe});var Kie=w(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});WT.default=qYe;var YYe=jYe(iA());function jYe(r){return r&&r.__esModule?r:{default:r}}function qYe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{YYe.default[e][t]=r[e][t]})})}});var VT=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=_Ye;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return zT.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return qie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return JYe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return WYe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return zYe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return VYe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return Jie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return XYe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return ZYe.default}});var Uie=nu(wre()),zT=nu(vre()),Hie=nu(Dre()),Gie=nu(Fre()),Yie=nu(Mre()),jie=nu(Tie()),qie=nu(Mie()),JYe=tu(),WYe=Oie(),zYe=Fm(_c()),VYe=Fm(TT()),Jie=Fm(xh()),XYe=Fm(Kie()),ZYe=Fm(sA());function Fm(r){return r&&r.__esModule?r:{default:r}}function Wie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return Wie=function(){return r},r}function nu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=Wie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function _Ye(r,e,t){if(!r||!(0,Jie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var _ie=w((ygt,Tm)=>{"use strict";var tje=process.env.TERM_PROGRAM==="Hyper",rje=process.platform==="win32",Vie=process.platform==="linux",XT={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Xie=Object.assign({},XT,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Zie=Object.assign({},XT,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Vie?"\u25B8":"\u276F",pointerSmall:Vie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Tm.exports=rje&&!tje?Xie:Zie;Reflect.defineProperty(Tm.exports,"common",{enumerable:!1,value:XT});Reflect.defineProperty(Tm.exports,"windows",{enumerable:!1,value:Xie});Reflect.defineProperty(Tm.exports,"other",{enumerable:!1,value:Zie})});var go=w((wgt,ZT)=>{"use strict";var ije=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),nje=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,$ie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=nje,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!ije(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=_ie(),r.define=n,r};ZT.exports=$ie();ZT.exports.create=$ie});var ji=w(Tt=>{"use strict";var sje=Object.prototype.toString,Ns=go(),ene=!1,_T=[],tne={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Tt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Tt.hasColor=r=>!!r&&Ns.hasColor(r);var bb=Tt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Tt.nativeType=r=>sje.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Tt.isAsyncFn=r=>Tt.nativeType(r)==="asyncfunction";Tt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Tt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Tt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Tt.scrollUp=(r=[])=>[r.pop(),...r];Tt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Tt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Tt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Tt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` +`+t,width:n=80}=e,s=(i+t).match(/[^\S\n]/g)||[];n-=s.length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Tt.unmute=r=>{let e=r.stack.find(i=>Ns.keys.color.includes(i));return e?Ns[e]:r.stack.find(i=>i.slice(2)==="bg")?Ns[e.slice(2)]:i=>i};Tt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Tt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i));if(e){let i=Ns["bg"+Tt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ns[t.slice(2).toLowerCase()]||r:Ns.none};Tt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ns[tne[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=tne[i];return n&&Ns["bg"+Tt.pascal(n)]||r}return Ns.none};Tt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Tt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Tt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Tt.mixin=(r,e)=>{if(!bb(r))return e;if(!bb(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&bb(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);bb(n.value)?r[t]=Tt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Tt.merge=(...r)=>{let e={};for(let t of r)Tt.mixin(e,t);return e};Tt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Tt.define(r,i,n.bind(e)):Tt.define(r,i,n)}};Tt.onExit=r=>{let e=(t,i)=>{ene||(ene=!0,_T.forEach(n=>n()),t===!0&&process.exit(128+i))};_T.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),_T.push(r)};Tt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Tt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var rne=w(Gh=>{"use strict";Gh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Gh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Gh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Gh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Gh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var sne=w((Qgt,nne)=>{"use strict";var ine=J("readline"),oje=rne(),aje=/^(?:\x1b)([a-zA-Z0-9])$/,Aje=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,lje={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function cje(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function uje(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var Qb=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` +`)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=aje.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=Aje.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=lje[s],i.shift=cje(s)||i.shift,i.ctrl=uje(s)||i.ctrl}return i};Qb.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:t});ine.emitKeypressEvents(t,i);let n=(a,l)=>e(a,Qb(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};Qb.action=(r,e,t)=>{let i={...oje,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};nne.exports=Qb});var ane=w((Sgt,one)=>{"use strict";one.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),gje(r,t,i)}};function gje(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var lne=w((vgt,Ane)=>{"use strict";var{define:fje,width:hje}=ji(),$T=class{constructor(e){let t=e.options;fje(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=hje(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Ane.exports=$T});var une=w((xgt,cne)=>{"use strict";var eL=ji(),Di=go(),tL={default:Di.noop,noop:Di.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||eL.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||eL.complement(this.primary)},primary:Di.cyan,success:Di.green,danger:Di.magenta,strong:Di.bold,warning:Di.yellow,muted:Di.dim,disabled:Di.gray,dark:Di.dim.gray,underline:Di.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};tL.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Di.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Di.visible=r.styles.visible);let e=eL.merge({},tL,r.styles);delete e.merge;for(let t of Object.keys(Di))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});for(let t of Object.keys(Di.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});return e};cne.exports=tL});var fne=w((Pgt,gne)=>{"use strict";var rL=process.platform==="win32",aA=go(),pje=ji(),iL={...aA.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:aA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:aA.symbols.question,submitted:aA.symbols.check,cancelled:aA.symbols.cross},separator:{pending:aA.symbols.pointerSmall,submitted:aA.symbols.middot,cancelled:aA.symbols.middot},radio:{off:rL?"( )":"\u25EF",on:rL?"(*)":"\u25C9",disabled:rL?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};iL.merge=r=>{let e=pje.merge({},aA.symbols,iL,r.symbols);return delete e.merge,e};gne.exports=iL});var pne=w((Dgt,hne)=>{"use strict";var dje=une(),Cje=fne(),mje=ji();hne.exports=r=>{r.options=mje.merge({},r.options.theme,r.options),r.symbols=Cje.merge(r.options),r.styles=dje.merge(r.options)}});var Ine=w((mne,Ene)=>{"use strict";var dne=process.env.TERM_PROGRAM==="Apple_Terminal",Eje=go(),nL=ji(),fo=Ene.exports=mne,Dr="\x1B[",Cne="\x07",sL=!1,dl=fo.code={bell:Cne,beep:Cne,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(dne?"8":"u"),savePosition:Dr+(dne?"7":"s"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},su=fo.cursor={get hidden(){return sL},hide(){return sL=!0,dl.hide},show(){return sL=!1,dl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:"",down:(r=1)=>r?`${Dr}${r}B`:"",right:(r=1)=>r?`${Dr}${r}C`:"",left:(r=1)=>r?`${Dr}${r}D`:"",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?su.left(-r):r>0?su.right(r):"",t+=e<0?su.up(-e):e>0?su.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=nL.isPrimitive(i)?String(i):"",n=nL.isPrimitive(n)?String(n):"",a=nL.isPrimitive(a)?String(a):"",o){let l=fo.cursor.up(o)+fo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=fo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),fo.cursor.move(l)}}},oL=fo.erase={screen:dl.screen,up:dl.up,down:dl.down,line:dl.line,lineEnd:dl.lineEnd,lineStart:dl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return oL.line+su.to(0);let t=s=>[...Eje.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(oL.line+su.prevLine()).repeat(n-1)+oL.line+su.to(0)}});var Yh=w((kgt,wne)=>{"use strict";var Ije=J("events"),yne=go(),aL=sne(),yje=ane(),wje=lne(),Bje=pne(),kn=ji(),ou=Ine(),Lm=class extends Ije{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,Bje(this),yje(this),this.state=new wje(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Qje(this.options.margin),this.setMaxListeners(0),bje(this)}async keypress(e,t={}){this.keypressed=!0;let i=aL.action(e,aL(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ou.code.beep)}cursorHide(){this.stdout.write(ou.cursor.hide()),kn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ou.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(ou.cursor.down(e)+ou.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ou.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=yne.unstyle(i);let n=yne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` `),c=l[0],u=l[l.length-1],f=(i+(t?" "+t:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,kn.isObject(e)&&(e=e[i.status]||e.pending),kn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return kn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return kn.isObject(s)&&(s=s[i.status]||s.pending),kn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=kn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return kn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return kn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return kn.resolve(this,e,...t)}get base(){return Lm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||kn.height(this.stdout,25)}get width(){return this.options.columns||kn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function wje(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function Bje(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Ine.exports=Lm});var Bne=w((Dgt,wne)=>{"use strict";var bje=ji(),yne={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return yne.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};wne.exports=(r,e={})=>{let t=bje.merge({},yne,e.roles);return t[r]||t.default}});var Mm=w((kgt,Sne)=>{"use strict";var Qje=uo(),Sje=Yh(),vje=Bne(),Sb=ji(),{reorder:oL,scrollUp:xje,scrollDown:Pje,isObject:bne,swap:Dje}=Sb,aL=class extends Sje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");bne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=vje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,Sb.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,Qje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return Qne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=oL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=oL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=oL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=xje(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=Pje(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Dje(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(bne(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=Sb.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return Qne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Qne(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Sb.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}Sne.exports=aL});var Cl=w((Rgt,vne)=>{"use strict";var kje=Mm(),AL=ji(),lL=class extends kje{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!AL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!AL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(AL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` +`.repeat(t))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=aL.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,kn.isObject(e)&&(e=e[i.status]||e.pending),kn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return kn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return kn.isObject(s)&&(s=s[i.status]||s.pending),kn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=kn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return kn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return kn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return kn.resolve(this,e,...t)}get base(){return Lm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||kn.height(this.stdout,25)}get width(){return this.options.columns||kn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function bje(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function Qje(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}wne.exports=Lm});var Qne=w((Rgt,bne)=>{"use strict";var Sje=ji(),Bne={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return Bne.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};bne.exports=(r,e={})=>{let t=Sje.merge({},Bne,e.roles);return t[r]||t.default}});var Mm=w((Fgt,xne)=>{"use strict";var vje=go(),xje=Yh(),Pje=Qne(),Sb=ji(),{reorder:AL,scrollUp:Dje,scrollDown:kje,isObject:Sne,swap:Rje}=Sb,lL=class extends xje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Pje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,Sb.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,vje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return vne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=AL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=AL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=AL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Dje(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=kje(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Rje(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Sne(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=Sb.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return vne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function vne(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Sb.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}xne.exports=lL});var Cl=w((Ngt,Pne)=>{"use strict";var Fje=Mm(),cL=ji(),uL=class extends Fje{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!cL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!cL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(cL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` `),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};vne.exports=lL});var Pne=w((Fgt,xne)=>{"use strict";var Rje=Cl(),Fje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},cL=class extends Rje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Fje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};xne.exports=cL});var gL=w((Ngt,Dne)=>{"use strict";var uL=ji();Dne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=uL.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=uL.isPrimitive(i)?`${i}`:"",t=uL.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var vb=w((Tgt,kne)=>{"use strict";var Nje=uo(),Tje=Cl(),Lje=gL(),fL=class extends Tje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(T="danger");let H=n[T],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=Nje.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=Lje(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};kne.exports=fL});var hL=w((Lgt,Fne)=>{"use strict";var Mje=vb(),Oje=()=>{throw new Error("expected prompt to have a custom authenticate method")},Rne=(r=Oje)=>{class e extends Mje{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Rne(i)}}return e};Fne.exports=Rne()});var Lne=w((Mgt,Tne)=>{"use strict";var Kje=hL();function Uje(r,e){return r.username===this.options.username&&r.password===this.options.password}var Nne=(r=Uje)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends Kje.create(r){constructor(n){super({...n,choices:e})}static create(n){return Nne(n)}}return t};Tne.exports=Nne()});var xb=w((Ogt,Mne)=>{"use strict";var Hje=Yh(),{isPrimitive:Gje,hasColor:Yje}=ji(),pL=class extends Hje{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Gje(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Yje(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Mne.exports=pL});var Kne=w((Kgt,One)=>{"use strict";var jje=xb(),dL=class extends jje{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};One.exports=dL});var Hne=w((Ugt,Une)=>{"use strict";var qje=Cl(),Jje=vb(),jh=Jje.prototype,CL=class extends qje{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():jh.dispatch.call(this,e,t)}append(e,t){return jh.append.call(this,e,t)}delete(e,t){return jh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?jh.next.call(this):super.next()}prev(){return this.focused.editable?jh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?jh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Une.exports=CL});var au=w((Hgt,Gne)=>{"use strict";var Wje=Yh(),zje=gL(),{isPrimitive:Vje}=ji(),mL=class extends Wje{constructor(e){super(e),this.initial=Vje(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` -`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):zje(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};Gne.exports=mL});var jne=w((Ggt,Yne)=>{"use strict";var Xje=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),Pb=r=>Xje(r).filter(Boolean);Yne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Pb([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Pb([...s,t]),present:o};case"save":return{past:Pb([...i,t]),present:""};case"remove":return o=Pb(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var IL=w((Ygt,Jne)=>{"use strict";var Zje=au(),qne=jne(),EL=class extends Zje{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=qne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=qne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Jne.exports=EL});var zne=w((jgt,Wne)=>{"use strict";var _je=au(),yL=class extends _je{format(){return""}};Wne.exports=yL});var Xne=w((qgt,Vne)=>{"use strict";var $je=au(),wL=class extends $je{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Vne.exports=wL});var _ne=w((Jgt,Zne)=>{"use strict";var eqe=Cl(),BL=class extends eqe{constructor(e){super({...e,multiple:!0})}};Zne.exports=BL});var QL=w((Wgt,$ne)=>{"use strict";var tqe=au(),bL=class extends tqe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};$ne.exports=bL});var tse=w((zgt,ese)=>{ese.exports=QL()});var ise=w((Vgt,rse)=>{"use strict";var rqe=au(),SL=class extends rqe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};rse.exports=SL});var ose=w((Xgt,sse)=>{"use strict";var iqe=uo(),nqe=Mm(),nse=ji(),vL=class extends nqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=uL});var kne=w((Tgt,Dne)=>{"use strict";var Nje=Cl(),Tje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},gL=class extends Nje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Tje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Dne.exports=gL});var hL=w((Lgt,Rne)=>{"use strict";var fL=ji();Rne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=fL.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=fL.isPrimitive(i)?`${i}`:"",t=fL.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var vb=w((Mgt,Fne)=>{"use strict";var Lje=go(),Mje=Cl(),Oje=hL(),pL=class extends Mje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(T="danger");let H=n[T],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=Lje.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=Oje(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Fne.exports=pL});var dL=w((Ogt,Tne)=>{"use strict";var Kje=vb(),Uje=()=>{throw new Error("expected prompt to have a custom authenticate method")},Nne=(r=Uje)=>{class e extends Kje{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Nne(i)}}return e};Tne.exports=Nne()});var One=w((Kgt,Mne)=>{"use strict";var Hje=dL();function Gje(r,e){return r.username===this.options.username&&r.password===this.options.password}var Lne=(r=Gje)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends Hje.create(r){constructor(n){super({...n,choices:e})}static create(n){return Lne(n)}}return t};Mne.exports=Lne()});var xb=w((Ugt,Kne)=>{"use strict";var Yje=Yh(),{isPrimitive:jje,hasColor:qje}=ji(),CL=class extends Yje{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return jje(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return qje(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Kne.exports=CL});var Hne=w((Hgt,Une)=>{"use strict";var Jje=xb(),mL=class extends Jje{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Une.exports=mL});var Yne=w((Ggt,Gne)=>{"use strict";var Wje=Cl(),zje=vb(),jh=zje.prototype,EL=class extends Wje{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():jh.dispatch.call(this,e,t)}append(e,t){return jh.append.call(this,e,t)}delete(e,t){return jh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?jh.next.call(this):super.next()}prev(){return this.focused.editable?jh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?jh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Gne.exports=EL});var au=w((Ygt,jne)=>{"use strict";var Vje=Yh(),Xje=hL(),{isPrimitive:Zje}=ji(),IL=class extends Vje{constructor(e){super(e),this.initial=Zje(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` +`,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):Xje(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};jne.exports=IL});var Jne=w((jgt,qne)=>{"use strict";var _je=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),Pb=r=>_je(r).filter(Boolean);qne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Pb([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Pb([...s,t]),present:o};case"save":return{past:Pb([...i,t]),present:""};case"remove":return o=Pb(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var wL=w((qgt,zne)=>{"use strict";var $je=au(),Wne=Jne(),yL=class extends $je{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Wne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Wne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};zne.exports=yL});var Xne=w((Jgt,Vne)=>{"use strict";var eqe=au(),BL=class extends eqe{format(){return""}};Vne.exports=BL});var _ne=w((Wgt,Zne)=>{"use strict";var tqe=au(),bL=class extends tqe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Zne.exports=bL});var ese=w((zgt,$ne)=>{"use strict";var rqe=Cl(),QL=class extends rqe{constructor(e){super({...e,multiple:!0})}};$ne.exports=QL});var vL=w((Vgt,tse)=>{"use strict";var iqe=au(),SL=class extends iqe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};tse.exports=SL});var ise=w((Xgt,rse)=>{rse.exports=vL()});var sse=w((Zgt,nse)=>{"use strict";var nqe=au(),xL=class extends nqe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};nse.exports=xL});var Ase=w((_gt,ase)=>{"use strict";var sqe=go(),oqe=Mm(),ose=ji(),PL=class extends oqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` `;let t=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(i=>` ${i.name} - ${i.message}`)].map(i=>this.styles.muted(i)).join(` -`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!nse.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=iqe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=nse.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!ose.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=sqe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=ose.wordWrap(c,{width:this.widths[0],newline:a}).split(` `).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` `)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),t=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...t.map(n=>n.join(" "))].join(` `)}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(t),this.write([a,o,c,g,f].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};sse.exports=vL});var lse=w((Zgt,Ase)=>{"use strict";var ase=uo(),sqe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",PL=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=sqe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},oqe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uT.name===B.key);B.field=n.find(T=>T.name===B.key),D||(D=new PL(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type==="text"&&C.line===c?C.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};Ase.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await oqe(e,i),a=xL("result",r,e),l=xL("format",r,e),c=xL("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,D,T,H)=>{let j=await c(v,D,T,H);return j===!1?"Invalid field "+T.name:j};for(let v of n){let D=v.value,T=v.key;if(v.type!=="template"){D&&(g.output+=D);continue}if(v.type==="template"){let H=s.find(_=>_.name===T);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let _=await p(g.values[T],g,H,h);if(_&&typeof _=="string"||_===!1){g.invalid.set(T,_);continue}g.invalid.delete(T);let A=await a(g.values[T],g,H,h);g.output+=ase.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[T]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[T]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(T)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(T)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(ase.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};ase.exports=PL});var use=w(($gt,cse)=>{"use strict";var lse=go(),aqe=(r="")=>typeof r=="string"?r.replace(/^['"]|['"]$/g,""):"",kL=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=aqe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Aqe=async(r={},e={},t=i=>i)=>{let i=new Set,n=r.fields||[],s=r.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uT.name===B.key);B.field=n.find(T=>T.name===B.key),D||(D=new kL(B),a.push(D)),D.lines.push(B.line-1);continue}let C=o[o.length-1];C.type==="text"&&C.line===c?C.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};cse.exports=async r=>{let e=r.options,t=new Set(e.required===!0?[]:e.required||[]),i={...e.values,...e.initial},{tabstops:n,items:s,keys:o}=await Aqe(e,i),a=DL("result",r,e),l=DL("format",r,e),c=DL("validate",r,e,!0),u=r.isValue.bind(r);return async(g={},f=!1)=>{let h=0;g.required=t,g.items=s,g.keys=o,g.output="";let p=async(v,D,T,H)=>{let j=await c(v,D,T,H);return j===!1?"Invalid field "+T.name:j};for(let v of n){let D=v.value,T=v.key;if(v.type!=="template"){D&&(g.output+=D);continue}if(v.type==="template"){let H=s.find(_=>_.name===T);e.required===!0&&g.required.add(H.name);let j=[H.input,g.values[H.value],H.value,D].find(u),V=(H.field||{}).message||v.inner;if(f){let _=await p(g.values[T],g,H,h);if(_&&typeof _=="string"||_===!1){g.invalid.set(T,_);continue}g.invalid.delete(T);let A=await a(g.values[T],g,H,h);g.output+=lse.unstyle(A);continue}H.placeholder=!1;let W=D;D=await l(D,g,H,h),j!==D?(g.values[T]=j,D=r.styles.typing(j),g.missing.delete(V)):(g.values[T]=void 0,j=`<${V}>`,D=r.styles.primary(j),H.placeholder=!0,g.required.has(T)&&g.missing.add(V)),g.missing.has(V)&&g.validating&&(D=r.styles.warning(j)),g.invalid.has(T)&&g.validating&&(D=r.styles.danger(j)),h===g.index&&(W!==D?D=r.styles.underline(D):D=r.styles.heading(lse.unstyle(D))),h++}D&&(g.output+=D)}let C=g.output.split(` `).map(v=>" "+v),y=s.length,B=0;for(let v of s)g.invalid.has(v.name)&&v.lines.forEach(D=>{C[D][0]===" "&&(C[D]=g.styles.danger(g.symbols.bullet)+C[D].slice(1))}),r.isValue(g.values[v.name])&&B++;return g.completed=(B/y*100).toFixed(0),g.output=C.join(` -`),g.output}};function xL(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var use=w((_gt,cse)=>{"use strict";var aqe=uo(),Aqe=lse(),lqe=Yh(),DL=class extends lqe{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Aqe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`),g.output}};function DL(r,e,t,i){return(n,s,o,a)=>typeof o.field[r]=="function"?o.field[r].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var fse=w((eft,gse)=>{"use strict";var lqe=go(),cqe=use(),uqe=Yh(),RL=class extends uqe{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await cqe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(t=this.styles.danger),t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:i,size:n}=this.state,s=[this.options.newline,` `].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=t[e]||"",C=await this.format(p),y=await this.footer();C&&(c+=" "+C),f&&!C&&this.state.completed===0&&(c+=" "+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} -`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=aqe.unstyle(i).split(` +`;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=lqe.unstyle(i).split(` `).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};cse.exports=DL});var fse=w(($gt,gse)=>{"use strict";var cqe="(Use + to sort)",uqe=Cl(),kL=class extends uqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,cqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};gse.exports=kL});var pse=w((eft,hse)=>{"use strict";var gqe=Mm(),RL=class extends gqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=fqe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,T)=>c(T===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,T)=>C(T)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(` +`);return this.value={values:n,result:o},super.submit()}};gse.exports=RL});var pse=w((tft,hse)=>{"use strict";var gqe="(Use + to sort)",fqe=Cl(),FL=class extends fqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,gqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};hse.exports=FL});var Cse=w((rft,dse)=>{"use strict";var hqe=Mm(),NL=class extends hqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=pqe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,T)=>c(T===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,T)=>C(T)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(` `);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(` `)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function fqe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{dse.exports=IL()});var Ese=w((rft,mse)=>{"use strict";var hqe=xb(),FL=class extends hqe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};mse.exports=FL});var yse=w((ift,Ise)=>{"use strict";var pqe=Cl(),NL=class extends pqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ise.exports=NL});var Bse=w(TL=>{"use strict";var wse=ji(),ui=(r,e)=>{wse.defineExport(TL,r,e),wse.defineExport(TL,r.toLowerCase(),e)};ui("AutoComplete",()=>Pne());ui("BasicAuth",()=>Lne());ui("Confirm",()=>Kne());ui("Editable",()=>Hne());ui("Form",()=>vb());ui("Input",()=>IL());ui("Invisible",()=>zne());ui("List",()=>Xne());ui("MultiSelect",()=>_ne());ui("Numeral",()=>tse());ui("Password",()=>ise());ui("Scale",()=>ose());ui("Select",()=>Cl());ui("Snippet",()=>use());ui("Sort",()=>fse());ui("Survey",()=>pse());ui("Text",()=>Cse());ui("Toggle",()=>Ese());ui("Quiz",()=>yse())});var Qse=w((sft,bse)=>{bse.exports={ArrayPrompt:Mm(),AuthPrompt:hL(),BooleanPrompt:xb(),NumberPrompt:QL(),StringPrompt:au()}});var Km=w((oft,vse)=>{"use strict";var Sse=J("assert"),ML=J("events"),ml=ji(),fo=class extends ML{constructor(e,t){super(),this.options=ml.merge({},e),this.answers={...t}}register(e,t){if(ml.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Sse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(ml.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=ml.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ml;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Sse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Yh()}static get prompts(){return Bse()}static get types(){return Qse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return ml.mixinEmitter(e,new ML),e}};ml.mixinEmitter(fo,new ML);var LL=fo.prompts;for(let r of Object.keys(LL)){let e=r.toLowerCase(),t=i=>new LL[r](i).run();fo.prompt[e]=t,fo[e]=t,fo[r]||Reflect.defineProperty(fo,r,{get:()=>LL[r]})}var Om=r=>{ml.defineExport(fo,r,()=>fo.types[r])};Om("ArrayPrompt");Om("AuthPrompt");Om("BooleanPrompt");Om("NumberPrompt");Om("StringPrompt");vse.exports=fo});var Mse=w((Wft,Lse)=>{function Iqe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var yqe=Y0(),wqe=bh();function Bqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var bqe=Jh(),Qqe=Rh();function Sqe(r,e){return r&&bqe(e,Qqe(e),r)}Kse.exports=Sqe});var Gse=w((Xft,Hse)=>{function vqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Hse.exports=vqe});var jse=w((Zft,Yse)=>{var xqe=vn(),Pqe=ab(),Dqe=Gse(),kqe=Object.prototype,Rqe=kqe.hasOwnProperty;function Fqe(r){if(!xqe(r))return Dqe(r);var e=Pqe(r),t=[];for(var i in r)i=="constructor"&&(e||!Rqe.call(r,i))||t.push(i);return t}Yse.exports=Fqe});var Wh=w((_ft,qse)=>{var Nqe=aT(),Tqe=jse(),Lqe=gm();function Mqe(r){return Lqe(r)?Nqe(r,!0):Tqe(r)}qse.exports=Mqe});var Wse=w(($ft,Jse)=>{var Oqe=Jh(),Kqe=Wh();function Uqe(r,e){return r&&Oqe(e,Kqe(e),r)}Jse.exports=Uqe});var YL=w((Ym,zh)=>{var Hqe=ys(),Zse=typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,zse=Zse&&typeof zh=="object"&&zh&&!zh.nodeType&&zh,Gqe=zse&&zse.exports===Zse,Vse=Gqe?Hqe.Buffer:void 0,Xse=Vse?Vse.allocUnsafe:void 0;function Yqe(r,e){if(e)return r.slice();var t=r.length,i=Xse?Xse(t):new r.constructor(t);return r.copy(i),i}zh.exports=Yqe});var jL=w((eht,_se)=>{function jqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var qqe=Jh(),Jqe=lb();function Wqe(r,e){return qqe(r,Jqe(r),e)}$se.exports=Wqe});var kb=w((rht,toe)=>{var zqe=AT(),Vqe=zqe(Object.getPrototypeOf,Object);toe.exports=Vqe});var qL=w((iht,roe)=>{var Xqe=q0(),Zqe=kb(),_qe=lb(),$qe=hT(),eJe=Object.getOwnPropertySymbols,tJe=eJe?function(r){for(var e=[];r;)Xqe(e,_qe(r)),r=Zqe(r);return e}:$qe;roe.exports=tJe});var noe=w((nht,ioe)=>{var rJe=Jh(),iJe=qL();function nJe(r,e){return rJe(r,iJe(r),e)}ioe.exports=nJe});var ooe=w((sht,soe)=>{var sJe=fT(),oJe=qL(),aJe=Wh();function AJe(r){return sJe(r,aJe,oJe)}soe.exports=AJe});var Aoe=w((oht,aoe)=>{var lJe=Object.prototype,cJe=lJe.hasOwnProperty;function uJe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&cJe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}aoe.exports=uJe});var Rb=w((aht,coe)=>{var loe=uT();function gJe(r){var e=new r.constructor(r.byteLength);return new loe(e).set(new loe(r)),e}coe.exports=gJe});var goe=w((Aht,uoe)=>{var fJe=Rb();function hJe(r,e){var t=e?fJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}uoe.exports=hJe});var hoe=w((lht,foe)=>{var pJe=/\w*$/;function dJe(r){var e=new r.constructor(r.source,pJe.exec(r));return e.lastIndex=r.lastIndex,e}foe.exports=dJe});var Eoe=w((cht,moe)=>{var poe=Rc(),doe=poe?poe.prototype:void 0,Coe=doe?doe.valueOf:void 0;function CJe(r){return Coe?Object(Coe.call(r)):{}}moe.exports=CJe});var JL=w((uht,Ioe)=>{var mJe=Rb();function EJe(r,e){var t=e?mJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}Ioe.exports=EJe});var woe=w((ght,yoe)=>{var IJe=Rb(),yJe=goe(),wJe=hoe(),BJe=Eoe(),bJe=JL(),QJe="[object Boolean]",SJe="[object Date]",vJe="[object Map]",xJe="[object Number]",PJe="[object RegExp]",DJe="[object Set]",kJe="[object String]",RJe="[object Symbol]",FJe="[object ArrayBuffer]",NJe="[object DataView]",TJe="[object Float32Array]",LJe="[object Float64Array]",MJe="[object Int8Array]",OJe="[object Int16Array]",KJe="[object Int32Array]",UJe="[object Uint8Array]",HJe="[object Uint8ClampedArray]",GJe="[object Uint16Array]",YJe="[object Uint32Array]";function jJe(r,e,t){var i=r.constructor;switch(e){case FJe:return IJe(r);case QJe:case SJe:return new i(+r);case NJe:return yJe(r,t);case TJe:case LJe:case MJe:case OJe:case KJe:case UJe:case HJe:case GJe:case YJe:return bJe(r,t);case vJe:return new i;case xJe:case kJe:return new i(r);case PJe:return wJe(r);case DJe:return new i;case RJe:return BJe(r)}}yoe.exports=jJe});var Qoe=w((fht,boe)=>{var qJe=vn(),Boe=Object.create,JJe=function(){function r(){}return function(e){if(!qJe(e))return{};if(Boe)return Boe(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();boe.exports=JJe});var WL=w((hht,Soe)=>{var WJe=Qoe(),zJe=kb(),VJe=ab();function XJe(r){return typeof r.constructor=="function"&&!VJe(r)?WJe(zJe(r)):{}}Soe.exports=XJe});var xoe=w((pht,voe)=>{var ZJe=hm(),_Je=Jo(),$Je="[object Map]";function eWe(r){return _Je(r)&&ZJe(r)==$Je}voe.exports=eWe});var Roe=w((dht,koe)=>{var tWe=xoe(),rWe=nb(),Poe=sb(),Doe=Poe&&Poe.isMap,iWe=Doe?rWe(Doe):tWe;koe.exports=iWe});var Noe=w((Cht,Foe)=>{var nWe=hm(),sWe=Jo(),oWe="[object Set]";function aWe(r){return sWe(r)&&nWe(r)==oWe}Foe.exports=aWe});var Ooe=w((mht,Moe)=>{var AWe=Noe(),lWe=nb(),Toe=sb(),Loe=Toe&&Toe.isSet,cWe=Loe?lWe(Loe):AWe;Moe.exports=cWe});var Yoe=w((Eht,Goe)=>{var uWe=fm(),gWe=Mse(),fWe=Y0(),hWe=Use(),pWe=Wse(),dWe=YL(),CWe=jL(),mWe=eoe(),EWe=noe(),IWe=pT(),yWe=ooe(),wWe=hm(),BWe=Aoe(),bWe=woe(),QWe=WL(),SWe=vs(),vWe=lm(),xWe=Roe(),PWe=vn(),DWe=Ooe(),kWe=Rh(),RWe=Wh(),FWe=1,NWe=2,TWe=4,Koe="[object Arguments]",LWe="[object Array]",MWe="[object Boolean]",OWe="[object Date]",KWe="[object Error]",Uoe="[object Function]",UWe="[object GeneratorFunction]",HWe="[object Map]",GWe="[object Number]",Hoe="[object Object]",YWe="[object RegExp]",jWe="[object Set]",qWe="[object String]",JWe="[object Symbol]",WWe="[object WeakMap]",zWe="[object ArrayBuffer]",VWe="[object DataView]",XWe="[object Float32Array]",ZWe="[object Float64Array]",_We="[object Int8Array]",$We="[object Int16Array]",e3e="[object Int32Array]",t3e="[object Uint8Array]",r3e="[object Uint8ClampedArray]",i3e="[object Uint16Array]",n3e="[object Uint32Array]",ur={};ur[Koe]=ur[LWe]=ur[zWe]=ur[VWe]=ur[MWe]=ur[OWe]=ur[XWe]=ur[ZWe]=ur[_We]=ur[$We]=ur[e3e]=ur[HWe]=ur[GWe]=ur[Hoe]=ur[YWe]=ur[jWe]=ur[qWe]=ur[JWe]=ur[t3e]=ur[r3e]=ur[i3e]=ur[n3e]=!0;ur[KWe]=ur[Uoe]=ur[WWe]=!1;function Fb(r,e,t,i,n,s){var o,a=e&FWe,l=e&NWe,c=e&TWe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!PWe(r))return r;var u=SWe(r);if(u){if(o=BWe(r),!a)return CWe(r,o)}else{var g=wWe(r),f=g==Uoe||g==UWe;if(vWe(r))return dWe(r,a);if(g==Hoe||g==Koe||f&&!n){if(o=l||f?{}:QWe(r),!a)return l?EWe(r,pWe(o,r)):mWe(r,hWe(o,r))}else{if(!ur[g])return n?r:{};o=bWe(r,g,a)}}s||(s=new uWe);var h=s.get(r);if(h)return h;s.set(r,o),DWe(r)?r.forEach(function(y){o.add(Fb(y,e,t,y,r,s))}):xWe(r)&&r.forEach(function(y,B){o.set(B,Fb(y,e,t,B,r,s))});var p=c?l?yWe:IWe:l?RWe:kWe,C=u?void 0:p(r);return gWe(C||r,function(y,B){C&&(B=y,y=r[B]),fWe(o,B,Fb(y,e,t,B,r,s))}),o}Goe.exports=Fb});var zL=w((Iht,joe)=>{var s3e=Yoe(),o3e=1,a3e=4;function A3e(r){return s3e(r,o3e|a3e)}joe.exports=A3e});var Joe=w((yht,qoe)=>{var l3e=KN();function c3e(r,e,t){return r==null?r:l3e(r,e,t)}qoe.exports=c3e});var Zoe=w((vht,Xoe)=>{function u3e(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}Xoe.exports=u3e});var $oe=w((xht,_oe)=>{var g3e=rm(),f3e=HR();function h3e(r,e){return e.length<2?r:g3e(r,f3e(e,0,-1))}_oe.exports=h3e});var tae=w((Pht,eae)=>{var p3e=Bh(),d3e=Zoe(),C3e=$oe(),m3e=Zc();function E3e(r,e){return e=p3e(e,r),r=C3e(r,e),r==null||delete r[m3e(d3e(e))]}eae.exports=E3e});var iae=w((Dht,rae)=>{var I3e=tae();function y3e(r,e){return r==null?!0:I3e(r,e)}rae.exports=y3e});var Aae=w((npt,b3e)=>{b3e.exports={name:"@yarnpkg/cli",version:"3.6.1",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var nM=w((Pmt,wae)=>{"use strict";wae.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var bae=w((Dmt,Bae)=>{"use strict";var Y3e=nM();function j3e(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=Y3e(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Bae.exports=j3e});var vae=w((kmt,Sae)=>{"use strict";var q3e=bae();function J3e(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var W3e=J3e(q3e),z3e="text/plain",V3e="us-ascii",Qae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),X3e=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===V3e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==z3e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function Z3e(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return X3e(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index,h=n.pathname.slice(a,f);l+=h.replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}let c=n.pathname.slice(a,n.pathname.length);l+=c.replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];Qae(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])Qae(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var sM=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>sM.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=Z3e(r,e));let n=W3e.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};sM.MAX_INPUT_LENGTH=2048;Sae.exports=sM});var Dae=w((Rmt,Pae)=>{"use strict";var _3e=nM();function xae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=_3e(r);if(r=r.substring(r.indexOf("://")+3),xae(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var $3e=vae(),kae=Dae();function e4e(r){var e=$3e(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),kae(e.protocols)||e.protocols.length===0&&kae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Rae.exports=e4e});var Tae=w((Nmt,Nae)=>{"use strict";var t4e=Fae();function oM(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=t4e(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return oM.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}oM.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?r4e(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+i4e(r)+n;default:return r.href}};function r4e(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function i4e(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Nae.exports=oM});var xM=w((byt,tAe)=>{var b4e=bh(),Q4e=Ih();function S4e(r,e,t){(t!==void 0&&!Q4e(r[e],t)||t===void 0&&!(e in r))&&b4e(r,e,t)}tAe.exports=S4e});var iAe=w((Qyt,rAe)=>{var v4e=gm(),x4e=Jo();function P4e(r){return x4e(r)&&v4e(r)}rAe.exports=P4e});var oAe=w((Syt,sAe)=>{var D4e=Fc(),k4e=kb(),R4e=Jo(),F4e="[object Object]",N4e=Function.prototype,T4e=Object.prototype,nAe=N4e.toString,L4e=T4e.hasOwnProperty,M4e=nAe.call(Object);function O4e(r){if(!R4e(r)||D4e(r)!=F4e)return!1;var e=k4e(r);if(e===null)return!0;var t=L4e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&nAe.call(t)==M4e}sAe.exports=O4e});var PM=w((vyt,aAe)=>{function K4e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}aAe.exports=K4e});var lAe=w((xyt,AAe)=>{var U4e=Jh(),H4e=Wh();function G4e(r){return U4e(r,H4e(r))}AAe.exports=G4e});var pAe=w((Pyt,hAe)=>{var cAe=xM(),Y4e=YL(),j4e=JL(),q4e=jL(),J4e=WL(),uAe=nm(),gAe=vs(),W4e=iAe(),z4e=lm(),V4e=U0(),X4e=vn(),Z4e=oAe(),_4e=ob(),fAe=PM(),$4e=lAe();function e8e(r,e,t,i,n,s,o){var a=fAe(r,t),l=fAe(e,t),c=o.get(l);if(c){cAe(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=gAe(l),h=!f&&z4e(l),p=!f&&!h&&_4e(l);u=l,f||h||p?gAe(a)?u=a:W4e(a)?u=q4e(a):h?(g=!1,u=Y4e(l,!0)):p?(g=!1,u=j4e(l,!0)):u=[]:Z4e(l)||uAe(l)?(u=a,uAe(a)?u=$4e(a):(!X4e(a)||V4e(a))&&(u=J4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),cAe(r,t,u)}hAe.exports=e8e});var mAe=w((Dyt,CAe)=>{var t8e=fm(),r8e=xM(),i8e=sT(),n8e=pAe(),s8e=vn(),o8e=Wh(),a8e=PM();function dAe(r,e,t,i,n){r!==e&&i8e(e,function(s,o){if(n||(n=new t8e),s8e(s))n8e(r,e,o,t,dAe,i,n);else{var a=i?i(a8e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),r8e(r,o,a)}},o8e)}CAe.exports=dAe});var IAe=w((kyt,EAe)=>{var A8e=J0(),l8e=GN(),c8e=YN();function u8e(r,e){return c8e(l8e(r,e,A8e),r+"")}EAe.exports=u8e});var wAe=w((Ryt,yAe)=>{var g8e=Ih(),f8e=gm(),h8e=im(),p8e=vn();function d8e(r,e,t){if(!p8e(t))return!1;var i=typeof e;return(i=="number"?f8e(t)&&h8e(e,t.length):i=="string"&&e in t)?g8e(t[e],r):!1}yAe.exports=d8e});var bAe=w((Fyt,BAe)=>{var C8e=IAe(),m8e=wAe();function E8e(r){return C8e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&m8e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var I8e=mAe(),y8e=bAe(),w8e=y8e(function(r,e,t){I8e(r,e,t)});QAe.exports=w8e});var UAe=w((Fwt,KAe)=>{var KM;KAe.exports=()=>(typeof KM>"u"&&(KM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),KM)});var ale=w((iBt,ole)=>{var zM=Symbol("arg flag"),Rn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Rn.prototype)}};function uE(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Rn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Rn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Rn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Rn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[zM]===!0}else if(typeof l=="function")c=l===Boolean||l[zM]===!0;else throw new Rn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Rn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Rn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}uE.flag=r=>(r[zM]=!0,r);uE.COUNT=uE.flag((r,e,t)=>(t||0)+1);uE.ArgError=Rn;ole.exports=uE});var mle=w((NBt,Cle)=>{var _M;Cle.exports=()=>(typeof _M>"u"&&(_M=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),_M)});var Qle=w((nO,sO)=>{(function(r){nO&&typeof nO=="object"&&typeof sO<"u"?sO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Ple=w((F0t,xle)=>{"use strict";oO.ifExists=Ize;var np=J("util"),Ts=J("path"),Sle=Qle(),Cze=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,mze={createPwshFile:!0,createCmdFile:Sle(),fs:J("fs")},Eze=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function vle(r){let e={...mze,...r},t=e.fs;return e.fs_={chmod:t.chmod?np.promisify(t.chmod):async()=>{},mkdir:np.promisify(t.mkdir),readFile:np.promisify(t.readFile),stat:np.promisify(t.stat),unlink:np.promisify(t.unlink),writeFile:np.promisify(t.writeFile)},e}async function oO(r,e,t){let i=vle(t);await i.fs_.stat(r),await wze(r,e,i)}function Ize(r,e,t){return oO(r,e,t).catch(()=>{})}function yze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function wze(r,e,t){let i=await vze(r,t);return await Bze(e,t),bze(r,e,i,t)}function Bze(r,e){return e.fs_.mkdir(Ts.dirname(r),{recursive:!0})}function bze(r,e,t,i){let n=vle(i),s=[{generator:Dze,extension:""}];return n.createCmdFile&&s.push({generator:Pze,extension:".cmd"}),n.createPwshFile&&s.push({generator:kze,extension:".ps1"}),Promise.all(s.map(o=>xze(r,e+o.extension,t,o.generator,n)))}function Qze(r,e){return yze(r,e)}function Sze(r,e){return Rze(r,e)}async function vze(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(Cze);if(!n){let s=Ts.extname(r).toLowerCase();return{program:Eze.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function xze(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await Qze(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),Sze(e,n)}function Pze(r,e,t){let n=Ts.relative(Ts.dirname(e),r).split("/").join("\\"),s=Ts.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=aO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function pqe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{mse.exports=wL()});var yse=w((nft,Ise)=>{"use strict";var dqe=xb(),TL=class extends dqe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Ise.exports=TL});var Bse=w((sft,wse)=>{"use strict";var Cqe=Cl(),LL=class extends Cqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};wse.exports=LL});var Qse=w(ML=>{"use strict";var bse=ji(),ui=(r,e)=>{bse.defineExport(ML,r,e),bse.defineExport(ML,r.toLowerCase(),e)};ui("AutoComplete",()=>kne());ui("BasicAuth",()=>One());ui("Confirm",()=>Hne());ui("Editable",()=>Yne());ui("Form",()=>vb());ui("Input",()=>wL());ui("Invisible",()=>Xne());ui("List",()=>_ne());ui("MultiSelect",()=>ese());ui("Numeral",()=>ise());ui("Password",()=>sse());ui("Scale",()=>Ase());ui("Select",()=>Cl());ui("Snippet",()=>fse());ui("Sort",()=>pse());ui("Survey",()=>Cse());ui("Text",()=>Ese());ui("Toggle",()=>yse());ui("Quiz",()=>Bse())});var vse=w((aft,Sse)=>{Sse.exports={ArrayPrompt:Mm(),AuthPrompt:dL(),BooleanPrompt:xb(),NumberPrompt:vL(),StringPrompt:au()}});var Km=w((Aft,Pse)=>{"use strict";var xse=J("assert"),KL=J("events"),ml=ji(),ho=class extends KL{constructor(e,t){super(),this.options=ml.merge({},e),this.answers={...t}}register(e,t){if(ml.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}xse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(ml.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=ml.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ml;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];xse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Yh()}static get prompts(){return Qse()}static get types(){return vse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return ml.mixinEmitter(e,new KL),e}};ml.mixinEmitter(ho,new KL);var OL=ho.prompts;for(let r of Object.keys(OL)){let e=r.toLowerCase(),t=i=>new OL[r](i).run();ho.prompt[e]=t,ho[e]=t,ho[r]||Reflect.defineProperty(ho,r,{get:()=>OL[r]})}var Om=r=>{ml.defineExport(ho,r,()=>ho.types[r])};Om("ArrayPrompt");Om("AuthPrompt");Om("BooleanPrompt");Om("NumberPrompt");Om("StringPrompt");Pse.exports=ho});var Kse=w((Vft,Ose)=>{function wqe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var Bqe=Y0(),bqe=bh();function Qqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var Sqe=Jh(),vqe=Rh();function xqe(r,e){return r&&Sqe(e,vqe(e),r)}Hse.exports=xqe});var jse=w((_ft,Yse)=>{function Pqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Yse.exports=Pqe});var Jse=w(($ft,qse)=>{var Dqe=vn(),kqe=ab(),Rqe=jse(),Fqe=Object.prototype,Nqe=Fqe.hasOwnProperty;function Tqe(r){if(!Dqe(r))return Rqe(r);var e=kqe(r),t=[];for(var i in r)i=="constructor"&&(e||!Nqe.call(r,i))||t.push(i);return t}qse.exports=Tqe});var Wh=w((eht,Wse)=>{var Lqe=lT(),Mqe=Jse(),Oqe=gm();function Kqe(r){return Oqe(r)?Lqe(r,!0):Mqe(r)}Wse.exports=Kqe});var Vse=w((tht,zse)=>{var Uqe=Jh(),Hqe=Wh();function Gqe(r,e){return r&&Uqe(e,Hqe(e),r)}zse.exports=Gqe});var qL=w((Ym,zh)=>{var Yqe=ys(),$se=typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,Xse=$se&&typeof zh=="object"&&zh&&!zh.nodeType&&zh,jqe=Xse&&Xse.exports===$se,Zse=jqe?Yqe.Buffer:void 0,_se=Zse?Zse.allocUnsafe:void 0;function qqe(r,e){if(e)return r.slice();var t=r.length,i=_se?_se(t):new r.constructor(t);return r.copy(i),i}zh.exports=qqe});var JL=w((rht,eoe)=>{function Jqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Wqe=Jh(),zqe=lb();function Vqe(r,e){return Wqe(r,zqe(r),e)}toe.exports=Vqe});var kb=w((nht,ioe)=>{var Xqe=cT(),Zqe=Xqe(Object.getPrototypeOf,Object);ioe.exports=Zqe});var WL=w((sht,noe)=>{var _qe=q0(),$qe=kb(),eJe=lb(),tJe=dT(),rJe=Object.getOwnPropertySymbols,iJe=rJe?function(r){for(var e=[];r;)_qe(e,eJe(r)),r=$qe(r);return e}:tJe;noe.exports=iJe});var ooe=w((oht,soe)=>{var nJe=Jh(),sJe=WL();function oJe(r,e){return nJe(r,sJe(r),e)}soe.exports=oJe});var Aoe=w((aht,aoe)=>{var aJe=pT(),AJe=WL(),lJe=Wh();function cJe(r){return aJe(r,lJe,AJe)}aoe.exports=cJe});var coe=w((Aht,loe)=>{var uJe=Object.prototype,gJe=uJe.hasOwnProperty;function fJe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&gJe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}loe.exports=fJe});var Rb=w((lht,goe)=>{var uoe=fT();function hJe(r){var e=new r.constructor(r.byteLength);return new uoe(e).set(new uoe(r)),e}goe.exports=hJe});var hoe=w((cht,foe)=>{var pJe=Rb();function dJe(r,e){var t=e?pJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}foe.exports=dJe});var doe=w((uht,poe)=>{var CJe=/\w*$/;function mJe(r){var e=new r.constructor(r.source,CJe.exec(r));return e.lastIndex=r.lastIndex,e}poe.exports=mJe});var yoe=w((ght,Ioe)=>{var Coe=Rc(),moe=Coe?Coe.prototype:void 0,Eoe=moe?moe.valueOf:void 0;function EJe(r){return Eoe?Object(Eoe.call(r)):{}}Ioe.exports=EJe});var zL=w((fht,woe)=>{var IJe=Rb();function yJe(r,e){var t=e?IJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}woe.exports=yJe});var boe=w((hht,Boe)=>{var wJe=Rb(),BJe=hoe(),bJe=doe(),QJe=yoe(),SJe=zL(),vJe="[object Boolean]",xJe="[object Date]",PJe="[object Map]",DJe="[object Number]",kJe="[object RegExp]",RJe="[object Set]",FJe="[object String]",NJe="[object Symbol]",TJe="[object ArrayBuffer]",LJe="[object DataView]",MJe="[object Float32Array]",OJe="[object Float64Array]",KJe="[object Int8Array]",UJe="[object Int16Array]",HJe="[object Int32Array]",GJe="[object Uint8Array]",YJe="[object Uint8ClampedArray]",jJe="[object Uint16Array]",qJe="[object Uint32Array]";function JJe(r,e,t){var i=r.constructor;switch(e){case TJe:return wJe(r);case vJe:case xJe:return new i(+r);case LJe:return BJe(r,t);case MJe:case OJe:case KJe:case UJe:case HJe:case GJe:case YJe:case jJe:case qJe:return SJe(r,t);case PJe:return new i;case DJe:case FJe:return new i(r);case kJe:return bJe(r);case RJe:return new i;case NJe:return QJe(r)}}Boe.exports=JJe});var voe=w((pht,Soe)=>{var WJe=vn(),Qoe=Object.create,zJe=function(){function r(){}return function(e){if(!WJe(e))return{};if(Qoe)return Qoe(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Soe.exports=zJe});var VL=w((dht,xoe)=>{var VJe=voe(),XJe=kb(),ZJe=ab();function _Je(r){return typeof r.constructor=="function"&&!ZJe(r)?VJe(XJe(r)):{}}xoe.exports=_Je});var Doe=w((Cht,Poe)=>{var $Je=hm(),eWe=Wo(),tWe="[object Map]";function rWe(r){return eWe(r)&&$Je(r)==tWe}Poe.exports=rWe});var Noe=w((mht,Foe)=>{var iWe=Doe(),nWe=nb(),koe=sb(),Roe=koe&&koe.isMap,sWe=Roe?nWe(Roe):iWe;Foe.exports=sWe});var Loe=w((Eht,Toe)=>{var oWe=hm(),aWe=Wo(),AWe="[object Set]";function lWe(r){return aWe(r)&&oWe(r)==AWe}Toe.exports=lWe});var Uoe=w((Iht,Koe)=>{var cWe=Loe(),uWe=nb(),Moe=sb(),Ooe=Moe&&Moe.isSet,gWe=Ooe?uWe(Ooe):cWe;Koe.exports=gWe});var qoe=w((yht,joe)=>{var fWe=fm(),hWe=Kse(),pWe=Y0(),dWe=Gse(),CWe=Vse(),mWe=qL(),EWe=JL(),IWe=roe(),yWe=ooe(),wWe=CT(),BWe=Aoe(),bWe=hm(),QWe=coe(),SWe=boe(),vWe=VL(),xWe=vs(),PWe=lm(),DWe=Noe(),kWe=vn(),RWe=Uoe(),FWe=Rh(),NWe=Wh(),TWe=1,LWe=2,MWe=4,Hoe="[object Arguments]",OWe="[object Array]",KWe="[object Boolean]",UWe="[object Date]",HWe="[object Error]",Goe="[object Function]",GWe="[object GeneratorFunction]",YWe="[object Map]",jWe="[object Number]",Yoe="[object Object]",qWe="[object RegExp]",JWe="[object Set]",WWe="[object String]",zWe="[object Symbol]",VWe="[object WeakMap]",XWe="[object ArrayBuffer]",ZWe="[object DataView]",_We="[object Float32Array]",$We="[object Float64Array]",e3e="[object Int8Array]",t3e="[object Int16Array]",r3e="[object Int32Array]",i3e="[object Uint8Array]",n3e="[object Uint8ClampedArray]",s3e="[object Uint16Array]",o3e="[object Uint32Array]",ur={};ur[Hoe]=ur[OWe]=ur[XWe]=ur[ZWe]=ur[KWe]=ur[UWe]=ur[_We]=ur[$We]=ur[e3e]=ur[t3e]=ur[r3e]=ur[YWe]=ur[jWe]=ur[Yoe]=ur[qWe]=ur[JWe]=ur[WWe]=ur[zWe]=ur[i3e]=ur[n3e]=ur[s3e]=ur[o3e]=!0;ur[HWe]=ur[Goe]=ur[VWe]=!1;function Fb(r,e,t,i,n,s){var o,a=e&TWe,l=e&LWe,c=e&MWe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!kWe(r))return r;var u=xWe(r);if(u){if(o=QWe(r),!a)return EWe(r,o)}else{var g=bWe(r),f=g==Goe||g==GWe;if(PWe(r))return mWe(r,a);if(g==Yoe||g==Hoe||f&&!n){if(o=l||f?{}:vWe(r),!a)return l?yWe(r,CWe(o,r)):IWe(r,dWe(o,r))}else{if(!ur[g])return n?r:{};o=SWe(r,g,a)}}s||(s=new fWe);var h=s.get(r);if(h)return h;s.set(r,o),RWe(r)?r.forEach(function(y){o.add(Fb(y,e,t,y,r,s))}):DWe(r)&&r.forEach(function(y,B){o.set(B,Fb(y,e,t,B,r,s))});var p=c?l?BWe:wWe:l?NWe:FWe,C=u?void 0:p(r);return hWe(C||r,function(y,B){C&&(B=y,y=r[B]),pWe(o,B,Fb(y,e,t,B,r,s))}),o}joe.exports=Fb});var XL=w((wht,Joe)=>{var a3e=qoe(),A3e=1,l3e=4;function c3e(r){return a3e(r,A3e|l3e)}Joe.exports=c3e});var zoe=w((Bht,Woe)=>{var u3e=HN();function g3e(r,e,t){return r==null?r:u3e(r,e,t)}Woe.exports=g3e});var $oe=w((Pht,_oe)=>{function f3e(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}_oe.exports=f3e});var tae=w((Dht,eae)=>{var h3e=rm(),p3e=HR();function d3e(r,e){return e.length<2?r:h3e(r,p3e(e,0,-1))}eae.exports=d3e});var iae=w((kht,rae)=>{var C3e=Bh(),m3e=$oe(),E3e=tae(),I3e=Zc();function y3e(r,e){return e=C3e(e,r),r=E3e(r,e),r==null||delete r[I3e(m3e(e))]}rae.exports=y3e});var sae=w((Rht,nae)=>{var w3e=iae();function B3e(r,e){return r==null?!0:w3e(r,e)}nae.exports=B3e});var cae=w((opt,S3e)=>{S3e.exports={name:"@yarnpkg/cli",version:"3.6.3",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var oM=w((kmt,bae)=>{"use strict";bae.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Sae=w((Rmt,Qae)=>{"use strict";var q3e=oM();function J3e(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=q3e(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Qae.exports=J3e});var Pae=w((Fmt,xae)=>{"use strict";var W3e=Sae();function z3e(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var V3e=z3e(W3e),X3e="text/plain",Z3e="us-ascii",vae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),_3e=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===Z3e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==X3e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function $3e(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return _3e(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index,h=n.pathname.slice(a,f);l+=h.replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}let c=n.pathname.slice(a,n.pathname.length);l+=c.replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];vae(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])vae(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var aM=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>aM.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=$3e(r,e));let n=V3e.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};aM.MAX_INPUT_LENGTH=2048;xae.exports=aM});var Rae=w((Nmt,kae)=>{"use strict";var e4e=oM();function Dae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=e4e(r);if(r=r.substring(r.indexOf("://")+3),Dae(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var t4e=Pae(),Fae=Rae();function r4e(r){var e=t4e(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Fae(e.protocols)||e.protocols.length===0&&Fae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Nae.exports=r4e});var Mae=w((Lmt,Lae)=>{"use strict";var i4e=Tae();function AM(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=i4e(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return AM.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}AM.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?n4e(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+s4e(r)+n;default:return r.href}};function n4e(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function s4e(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Lae.exports=AM});var DM=w((Syt,iAe)=>{var S4e=bh(),v4e=Ih();function x4e(r,e,t){(t!==void 0&&!v4e(r[e],t)||t===void 0&&!(e in r))&&S4e(r,e,t)}iAe.exports=x4e});var sAe=w((vyt,nAe)=>{var P4e=gm(),D4e=Wo();function k4e(r){return D4e(r)&&P4e(r)}nAe.exports=k4e});var AAe=w((xyt,aAe)=>{var R4e=Fc(),F4e=kb(),N4e=Wo(),T4e="[object Object]",L4e=Function.prototype,M4e=Object.prototype,oAe=L4e.toString,O4e=M4e.hasOwnProperty,K4e=oAe.call(Object);function U4e(r){if(!N4e(r)||R4e(r)!=T4e)return!1;var e=F4e(r);if(e===null)return!0;var t=O4e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&oAe.call(t)==K4e}aAe.exports=U4e});var kM=w((Pyt,lAe)=>{function H4e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}lAe.exports=H4e});var uAe=w((Dyt,cAe)=>{var G4e=Jh(),Y4e=Wh();function j4e(r){return G4e(r,Y4e(r))}cAe.exports=j4e});var CAe=w((kyt,dAe)=>{var gAe=DM(),q4e=qL(),J4e=zL(),W4e=JL(),z4e=VL(),fAe=nm(),hAe=vs(),V4e=sAe(),X4e=lm(),Z4e=U0(),_4e=vn(),$4e=AAe(),e8e=ob(),pAe=kM(),t8e=uAe();function r8e(r,e,t,i,n,s,o){var a=pAe(r,t),l=pAe(e,t),c=o.get(l);if(c){gAe(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=hAe(l),h=!f&&X4e(l),p=!f&&!h&&e8e(l);u=l,f||h||p?hAe(a)?u=a:V4e(a)?u=W4e(a):h?(g=!1,u=q4e(l,!0)):p?(g=!1,u=J4e(l,!0)):u=[]:$4e(l)||fAe(l)?(u=a,fAe(a)?u=t8e(a):(!_4e(a)||Z4e(a))&&(u=z4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),gAe(r,t,u)}dAe.exports=r8e});var IAe=w((Ryt,EAe)=>{var i8e=fm(),n8e=DM(),s8e=aT(),o8e=CAe(),a8e=vn(),A8e=Wh(),l8e=kM();function mAe(r,e,t,i,n){r!==e&&s8e(e,function(s,o){if(n||(n=new i8e),a8e(s))o8e(r,e,o,t,mAe,i,n);else{var a=i?i(l8e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),n8e(r,o,a)}},A8e)}EAe.exports=mAe});var wAe=w((Fyt,yAe)=>{var c8e=J0(),u8e=jN(),g8e=qN();function f8e(r,e){return g8e(u8e(r,e,c8e),r+"")}yAe.exports=f8e});var bAe=w((Nyt,BAe)=>{var h8e=Ih(),p8e=gm(),d8e=im(),C8e=vn();function m8e(r,e,t){if(!C8e(t))return!1;var i=typeof e;return(i=="number"?p8e(t)&&d8e(e,t.length):i=="string"&&e in t)?h8e(t[e],r):!1}BAe.exports=m8e});var SAe=w((Tyt,QAe)=>{var E8e=wAe(),I8e=bAe();function y8e(r){return E8e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&I8e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var w8e=IAe(),B8e=SAe(),b8e=B8e(function(r,e,t){w8e(r,e,t)});vAe.exports=b8e});var GAe=w((Twt,HAe)=>{var HM;HAe.exports=()=>(typeof HM>"u"&&(HM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),HM)});var lle=w((sBt,Ale)=>{var XM=Symbol("arg flag"),Rn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Rn.prototype)}};function uE(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Rn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Rn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Rn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Rn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[XM]===!0}else if(typeof l=="function")c=l===Boolean||l[XM]===!0;else throw new Rn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Rn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Rn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}uE.flag=r=>(r[XM]=!0,r);uE.COUNT=uE.flag((r,e,t)=>(t||0)+1);uE.ArgError=Rn;Ale.exports=uE});var Ile=w((LBt,Ele)=>{var eO;Ele.exports=()=>(typeof eO>"u"&&(eO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eO)});var vle=w((oO,aO)=>{(function(r){oO&&typeof oO=="object"&&typeof aO<"u"?aO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var kle=w((T0t,Dle)=>{"use strict";AO.ifExists=wze;var np=J("util"),Ts=J("path"),xle=vle(),Eze=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Ize={createPwshFile:!0,createCmdFile:xle(),fs:J("fs")},yze=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Ple(r){let e={...Ize,...r},t=e.fs;return e.fs_={chmod:t.chmod?np.promisify(t.chmod):async()=>{},mkdir:np.promisify(t.mkdir),readFile:np.promisify(t.readFile),stat:np.promisify(t.stat),unlink:np.promisify(t.unlink),writeFile:np.promisify(t.writeFile)},e}async function AO(r,e,t){let i=Ple(t);await i.fs_.stat(r),await bze(r,e,i)}function wze(r,e,t){return AO(r,e,t).catch(()=>{})}function Bze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function bze(r,e,t){let i=await Pze(r,t);return await Qze(e,t),Sze(r,e,i,t)}function Qze(r,e){return e.fs_.mkdir(Ts.dirname(r),{recursive:!0})}function Sze(r,e,t,i){let n=Ple(i),s=[{generator:Rze,extension:""}];return n.createCmdFile&&s.push({generator:kze,extension:".cmd"}),n.createPwshFile&&s.push({generator:Fze,extension:".ps1"}),Promise.all(s.map(o=>Dze(r,e+o.extension,t,o.generator,n)))}function vze(r,e){return Bze(r,e)}function xze(r,e){return Nze(r,e)}async function Pze(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(Eze);if(!n){let s=Ts.extname(r).toLowerCase();return{program:yze.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Dze(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await vze(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),xze(e,n)}function kze(r,e,t){let n=Ts.relative(Ts.dirname(e),r).split("/").join("\\"),s=Ts.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=lO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r `:"";return o?g+=`@IF EXIST ${o} (\r ${o} ${l} ${n} ${u}%*\r ) ELSE (\r @@ -242,7 +242,7 @@ attempted value: ${s} ${a} ${l} ${n} ${u}%*\r )\r `:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function Dze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=aO(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh +`,g}function Rze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=lO(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") case \`uname\` in @@ -257,7 +257,7 @@ else fi `:u+=`${g}${n} ${a} ${i} ${c}"$@" exit $? -`,u}function kze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=aO(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +`,u}function Fze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=lO(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent $exe="" @@ -299,32 +299,32 @@ if ($MyInvocation.ExpectingInput) { } ${t.nodePath?`$env:NODE_PATH=$env_node_path `:""}exit $LASTEXITCODE -`,h}function Rze(r,e){return e.fs_.chmod(r,493)}function aO(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Ts.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}xle.exports=oO});var EO=w((Zbt,Vle)=>{Vle.exports=J("stream")});var $le=w((_bt,_le)=>{"use strict";function Xle(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function _ze(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return pQ.alloc(0);for(var i=pQ.allocUnsafe(t>>>0),n=this.head,s=0;n;)s5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=pQ.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:n5e,value:function(t,i){return IO(this,_ze({},i,{depth:0,customInspect:!1}))}}]),r}()});var wO=w(($bt,tce)=>{"use strict";function o5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(yO,this,r)):process.nextTick(yO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(dQ,t):(t._writableState.errorEmitted=!0,process.nextTick(ece,t,s)):process.nextTick(ece,t,s):e?(process.nextTick(dQ,t),e(s)):process.nextTick(dQ,t)}),this)}function ece(r,e){yO(r,e),dQ(r)}function dQ(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function a5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function yO(r,e){r.emit("error",e)}function A5e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}tce.exports={destroy:o5e,undestroy:a5e,errorOrDestroy:A5e}});var Sl=w((eQt,nce)=>{"use strict";var ice={};function Ms(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,ice[r]=n}function rce(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function l5e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function c5e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function u5e(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Ms("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Ms("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&l5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(c5e(r," argument"))n=`The ${r} ${i} ${rce(e,"type")}`;else{let s=u5e(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${rce(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Ms("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ms("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Ms("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ms("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Ms("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ms("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ms("ERR_STREAM_WRITE_AFTER_END","write after end");Ms("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ms("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Ms("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");nce.exports.codes=ice});var BO=w((tQt,sce)=>{"use strict";var g5e=Sl().codes.ERR_INVALID_OPT_VALUE;function f5e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function h5e(r,e,t,i){var n=f5e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new g5e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}sce.exports={getHighWaterMark:h5e}});var oce=w((rQt,bO)=>{typeof Object.create=="function"?bO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:bO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var vl=w((iQt,SO)=>{try{if(QO=J("util"),typeof QO.inherits!="function")throw"";SO.exports=QO.inherits}catch{SO.exports=oce()}var QO});var Ace=w((nQt,ace)=>{ace.exports=J("util").deprecate});var PO=w((sQt,hce)=>{"use strict";hce.exports=Lr;function cce(r){var e=this;this.next=null,this.entry=null,this.finish=function(){H5e(e,r)}}var ap;Lr.WritableState=dE;var p5e={deprecate:Ace()},uce=EO(),mQ=J("buffer").Buffer,d5e=global.Uint8Array||function(){};function C5e(r){return mQ.from(r)}function m5e(r){return mQ.isBuffer(r)||r instanceof d5e}var xO=wO(),E5e=BO(),I5e=E5e.getHighWaterMark,xl=Sl().codes,y5e=xl.ERR_INVALID_ARG_TYPE,w5e=xl.ERR_METHOD_NOT_IMPLEMENTED,B5e=xl.ERR_MULTIPLE_CALLBACK,b5e=xl.ERR_STREAM_CANNOT_PIPE,Q5e=xl.ERR_STREAM_DESTROYED,S5e=xl.ERR_STREAM_NULL_VALUES,v5e=xl.ERR_STREAM_WRITE_AFTER_END,x5e=xl.ERR_UNKNOWN_ENCODING,Ap=xO.errorOrDestroy;vl()(Lr,uce);function P5e(){}function dE(r,e,t){ap=ap||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof ap),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=I5e(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){L5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new cce(this)}dE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(dE.prototype,"buffer",{get:p5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var CQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(CQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Lr,Symbol.hasInstance,{value:function(e){return CQ.call(this,e)?!0:this!==Lr?!1:e&&e._writableState instanceof dE}})):CQ=function(e){return e instanceof this};function Lr(r){ap=ap||qu();var e=this instanceof ap;if(!e&&!CQ.call(Lr,this))return new Lr(r);this._writableState=new dE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),uce.call(this)}Lr.prototype.pipe=function(){Ap(this,new b5e)};function D5e(r,e){var t=new v5e;Ap(r,t),process.nextTick(e,t)}function k5e(r,e,t,i){var n;return t===null?n=new S5e:typeof t!="string"&&!e.objectMode&&(n=new y5e("chunk",["string","Buffer"],t)),n?(Ap(r,n),process.nextTick(i,n),!1):!0}Lr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&m5e(r);return s&&!mQ.isBuffer(r)&&(r=C5e(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=P5e),i.ending?D5e(this,t):(s||k5e(this,i,r,t))&&(i.pendingcb++,n=F5e(this,i,s,r,e,t)),n};Lr.prototype.cork=function(){this._writableState.corked++};Lr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&gce(this,r))};Lr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new x5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Lr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function R5e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=mQ.from(e,t)),e}Object.defineProperty(Lr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function F5e(r,e,t,i,n,s){if(!t){var o=R5e(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var G5e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};dce.exports=Aa;var pce=RO(),kO=PO();vl()(Aa,pce);for(DO=G5e(kO.prototype),EQ=0;EQ{var yQ=J("buffer"),hA=yQ.Buffer;function Cce(r,e){for(var t in r)e[t]=r[t]}hA.from&&hA.alloc&&hA.allocUnsafe&&hA.allocUnsafeSlow?mce.exports=yQ:(Cce(yQ,FO),FO.Buffer=lp);function lp(r,e,t){return hA(r,e,t)}Cce(hA,lp);lp.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return hA(r,e,t)};lp.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=hA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};lp.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return hA(r)};lp.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return yQ.SlowBuffer(r)}});var LO=w(yce=>{"use strict";var TO=Ece().Buffer,Ice=TO.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function q5e(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function J5e(r){var e=q5e(r);if(typeof e!="string"&&(TO.isEncoding===Ice||!Ice(r)))throw new Error("Unknown encoding: "+r);return e||r}yce.StringDecoder=CE;function CE(r){this.encoding=J5e(r);var e;switch(this.encoding){case"utf16le":this.text=_5e,this.end=$5e,e=4;break;case"utf8":this.fillLast=V5e,e=4;break;case"base64":this.text=e6e,this.end=t6e,e=3;break;default:this.write=r6e,this.end=i6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=TO.allocUnsafe(e)}CE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function W5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function z5e(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function V5e(r){var e=this.lastTotal-this.lastNeed,t=z5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function X5e(r,e){var t=W5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function Z5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function _5e(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function $5e(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function e6e(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function t6e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function r6e(r){return r.toString(this.encoding)}function i6e(r){return r&&r.length?this.write(r):""}});var wQ=w((AQt,bce)=>{"use strict";var wce=Sl().codes.ERR_STREAM_PREMATURE_CLOSE;function n6e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var BQ;function Pl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var a6e=wQ(),Dl=Symbol("lastResolve"),Ju=Symbol("lastReject"),mE=Symbol("error"),bQ=Symbol("ended"),Wu=Symbol("lastPromise"),MO=Symbol("handlePromise"),zu=Symbol("stream");function kl(r,e){return{value:r,done:e}}function A6e(r){var e=r[Dl];if(e!==null){var t=r[zu].read();t!==null&&(r[Wu]=null,r[Dl]=null,r[Ju]=null,e(kl(t,!1)))}}function l6e(r){process.nextTick(A6e,r)}function c6e(r,e){return function(t,i){r.then(function(){if(e[bQ]){t(kl(void 0,!0));return}e[MO](t,i)},i)}}var u6e=Object.getPrototypeOf(function(){}),g6e=Object.setPrototypeOf((BQ={get stream(){return this[zu]},next:function(){var e=this,t=this[mE];if(t!==null)return Promise.reject(t);if(this[bQ])return Promise.resolve(kl(void 0,!0));if(this[zu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[mE]?a(e[mE]):o(kl(void 0,!0))})});var i=this[Wu],n;if(i)n=new Promise(c6e(i,this));else{var s=this[zu].read();if(s!==null)return Promise.resolve(kl(s,!1));n=new Promise(this[MO])}return this[Wu]=n,n}},Pl(BQ,Symbol.asyncIterator,function(){return this}),Pl(BQ,"return",function(){var e=this;return new Promise(function(t,i){e[zu].destroy(null,function(n){if(n){i(n);return}t(kl(void 0,!0))})})}),BQ),u6e),f6e=function(e){var t,i=Object.create(g6e,(t={},Pl(t,zu,{value:e,writable:!0}),Pl(t,Dl,{value:null,writable:!0}),Pl(t,Ju,{value:null,writable:!0}),Pl(t,mE,{value:null,writable:!0}),Pl(t,bQ,{value:e._readableState.endEmitted,writable:!0}),Pl(t,MO,{value:function(s,o){var a=i[zu].read();a?(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(kl(a,!1))):(i[Dl]=s,i[Ju]=o)},writable:!0}),t));return i[Wu]=null,a6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Ju];s!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(n)),i[mE]=n;return}var o=i[Dl];o!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,o(kl(void 0,!0))),i[bQ]=!0}),e.on("readable",l6e.bind(null,i)),i};Qce.exports=f6e});var Dce=w((cQt,Pce)=>{"use strict";function vce(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function h6e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){vce(s,i,n,o,a,"next",l)}function a(l){vce(s,i,n,o,a,"throw",l)}o(void 0)})}}function xce(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function p6e(r){for(var e=1;e{"use strict";Uce.exports=Ut;var cp;Ut.ReadableState=Nce;var uQt=J("events").EventEmitter,Fce=function(e,t){return e.listeners(t).length},IE=EO(),QQ=J("buffer").Buffer,E6e=global.Uint8Array||function(){};function I6e(r){return QQ.from(r)}function y6e(r){return QQ.isBuffer(r)||r instanceof E6e}var OO=J("util"),Dt;OO&&OO.debuglog?Dt=OO.debuglog("stream"):Dt=function(){};var w6e=$le(),qO=wO(),B6e=BO(),b6e=B6e.getHighWaterMark,SQ=Sl().codes,Q6e=SQ.ERR_INVALID_ARG_TYPE,S6e=SQ.ERR_STREAM_PUSH_AFTER_EOF,v6e=SQ.ERR_METHOD_NOT_IMPLEMENTED,x6e=SQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,up,KO,UO;vl()(Ut,IE);var EE=qO.errorOrDestroy,HO=["error","close","destroy","pause","resume"];function P6e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Nce(r,e,t){cp=cp||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof cp),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=b6e(this,r,"readableHighWaterMark",t),this.buffer=new w6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(up||(up=LO().StringDecoder),this.decoder=new up(r.encoding),this.encoding=r.encoding)}function Ut(r){if(cp=cp||qu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof cp;this._readableState=new Nce(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),IE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=qO.destroy;Ut.prototype._undestroy=qO.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=QQ.from(r,e),e=""),i=!0),Tce(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Tce(this,r,null,!0,!1)};function Tce(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,R6e(r,s);else{var o;if(n||(o=D6e(s,e)),o)EE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==QQ.prototype&&(e=I6e(e)),i)s.endEmitted?EE(r,new x6e):GO(r,s,e,!0);else if(s.ended)EE(r,new S6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?GO(r,s,e,!1):jO(r,s)):GO(r,s,e,!1)}else i||(s.reading=!1,jO(r,s))}return!s.ended&&(s.length=kce?r=kce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function Rce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=k6e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?YO(this):vQ(this),null;if(r=Rce(r,e),r===0&&e.ended)return e.length===0&&YO(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Oce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&YO(this)),n!==null&&this.emit("data",n),n};function R6e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?vQ(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Lce(r)))}}function vQ(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Lce,r))}function Lce(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,JO(r)}function jO(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(F6e,r,e))}function F6e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&Kce(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),Fce(r,"error")===0&&EE(r,y)}P6e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function N6e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&Fce(r,"data")&&(t.flowing=!0,JO(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?vQ(this):i.reading||process.nextTick(T6e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=IE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Mce,this),t};Ut.prototype.removeAllListeners=function(r){var e=IE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Mce,this),e};function Mce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function T6e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,L6e(this,r)),r.paused=!1,this};function L6e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(M6e,r,e))}function M6e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),JO(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function JO(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function YO(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(O6e,e,r))}function O6e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return UO===void 0&&(UO=Dce()),UO(Ut,r,e)});function Kce(r,e){for(var t=0,i=r.length;t{"use strict";Gce.exports=pA;var xQ=Sl().codes,K6e=xQ.ERR_METHOD_NOT_IMPLEMENTED,U6e=xQ.ERR_MULTIPLE_CALLBACK,H6e=xQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,G6e=xQ.ERR_TRANSFORM_WITH_LENGTH_0,PQ=qu();vl()(pA,PQ);function Y6e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new U6e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";jce.exports=yE;var Yce=WO();vl()(yE,Yce);function yE(r){if(!(this instanceof yE))return new yE(r);Yce.call(this,r)}yE.prototype._transform=function(r,e,t){t(null,r)}});var Xce=w((pQt,Vce)=>{"use strict";var zO;function q6e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var zce=Sl().codes,J6e=zce.ERR_MISSING_ARGS,W6e=zce.ERR_STREAM_DESTROYED;function Jce(r){if(r)throw r}function z6e(r){return r.setHeader&&typeof r.abort=="function"}function V6e(r,e,t,i){i=q6e(i);var n=!1;r.on("close",function(){n=!0}),zO===void 0&&(zO=wQ()),zO(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,z6e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new W6e("pipe"))}}}function Wce(r){r()}function X6e(r,e){return r.pipe(e)}function Z6e(r){return!r.length||typeof r[r.length-1]!="function"?Jce:r.pop()}function _6e(){for(var r=arguments.length,e=new Array(r),t=0;t0;return V6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Wce),!l&&(s.forEach(Wce),i(n))})});return e.reduce(X6e)}Vce.exports=_6e});var gp=w((Os,BE)=>{var wE=J("stream");process.env.READABLE_STREAM==="disable"&&wE?(BE.exports=wE.Readable,Object.assign(BE.exports,wE),BE.exports.Stream=wE):(Os=BE.exports=RO(),Os.Stream=wE||Os,Os.Readable=Os,Os.Writable=PO(),Os.Duplex=qu(),Os.Transform=WO(),Os.PassThrough=qce(),Os.finished=wQ(),Os.pipeline=Xce())});var $ce=w((dQt,_ce)=>{"use strict";var{Buffer:Eo}=J("buffer"),Zce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,Zce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Eo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Eo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var VO=gp().Duplex,$6e=vl(),bE=$ce();function Wi(r){if(!(this instanceof Wi))return new Wi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}bE._init.call(this,r),VO.call(this)}$6e(Wi,VO);Object.assign(Wi.prototype,bE.prototype);Wi.prototype._new=function(e){return new Wi(e)};Wi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Wi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Wi.prototype.end=function(e){VO.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Wi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Wi.prototype._isBufferList=function(e){return e instanceof Wi||e instanceof bE||Wi.isBufferList(e)};Wi.isBufferList=bE.isBufferList;DQ.exports=Wi;DQ.exports.BufferListStream=Wi;DQ.exports.BufferList=bE});var _O=w(hp=>{var eVe=Buffer.alloc,tVe="0000000000000000000",rVe="7777777777777777777",tue="0".charCodeAt(0),rue=Buffer.from("ustar\0","binary"),iVe=Buffer.from("00","binary"),nVe=Buffer.from("ustar ","binary"),sVe=Buffer.from(" \0","binary"),oVe=parseInt("7777",8),QE=257,ZO=263,aVe=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},AVe=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},lVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},iue=function(r,e,t,i){for(;te?rVe.slice(0,e)+" ":tVe.slice(0,e-r.length)+r+" "};function cVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};hp.decodeLongPath=function(r,e){return fp(r,0,r.length,e)};hp.encodePax=function(r){var e="";r.name&&(e+=XO(" path="+r.name+` -`)),r.linkname&&(e+=XO(" linkpath="+r.linkname+` -`));var t=r.pax;if(t)for(var i in t)e+=XO(" "+i+"="+t[i]+` -`);return Buffer.from(e)};hp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Rl(r.mode&oVe,6),100),e.write(Rl(r.uid,6),108),e.write(Rl(r.gid,6),116),e.write(Rl(r.size,11),124),e.write(Rl(r.mtime.getTime()/1e3|0,11),136),e[156]=tue+lVe(r.type),r.linkname&&e.write(r.linkname,157),rue.copy(e,QE),iVe.copy(e,ZO),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Rl(r.devmajor||0,6),329),e.write(Rl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Rl(nue(e),6),148),e)};hp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-tue,n=fp(r,0,100,e),s=Fl(r,100,8),o=Fl(r,108,8),a=Fl(r,116,8),l=Fl(r,124,12),c=Fl(r,136,12),u=AVe(i),g=r[157]===0?null:fp(r,157,100,e),f=fp(r,265,32),h=fp(r,297,32),p=Fl(r,329,8),C=Fl(r,337,8),y=nue(r);if(y===8*32)return null;if(y!==Fl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(rue.compare(r,QE,QE+6)===0)r[345]&&(n=fp(r,345,155,e)+"/"+n);else if(!(nVe.compare(r,QE,QE+6)===0&&sVe.compare(r,ZO,ZO+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var uue=w((EQt,cue)=>{var oue=J("util"),uVe=eue(),SE=_O(),aue=gp().Writable,Aue=gp().PassThrough,lue=function(){},sue=function(r){return r&=511,r&&512-r},gVe=function(r,e){var t=new kQ(r,e);return t.end(),t},fVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},kQ=function(r,e){this._parent=r,this.offset=e,Aue.call(this,{autoDestroy:!1})};oue.inherits(kQ,Aue);kQ.prototype.destroy=function(r){this._parent.destroy(r)};var dA=function(r){if(!(this instanceof dA))return new dA(r);aue.call(this,r),r=r||{},this._offset=0,this._buffer=uVe(),this._missing=0,this._partial=!1,this._onparse=lue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=sue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(sue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=SE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=SE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=SE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=fVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,gVe(e,f),n);return}e._stream=new kQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};oue.inherits(dA,aue);dA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};dA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};dA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=lue,this._overflow?this._write(this._overflow,void 0,r):r()}};dA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};dA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};cue.exports=dA});var fue=w((IQt,gue)=>{gue.exports=J("fs").constants||J("constants")});var mue=w((yQt,Cue)=>{var pp=fue(),hue=Pk(),FQ=vl(),hVe=Buffer.alloc,pue=gp().Readable,dp=gp().Writable,pVe=J("string_decoder").StringDecoder,RQ=_O(),dVe=parseInt("755",8),CVe=parseInt("644",8),due=hVe(1024),e1=function(){},$O=function(r,e){e&=511,e&&r.push(due.slice(0,512-e))};function mVe(r){switch(r&pp.S_IFMT){case pp.S_IFBLK:return"block-device";case pp.S_IFCHR:return"character-device";case pp.S_IFDIR:return"directory";case pp.S_IFIFO:return"fifo";case pp.S_IFLNK:return"symlink"}return"file"}var NQ=function(r){dp.call(this),this.written=0,this._to=r,this._destroyed=!1};FQ(NQ,dp);NQ.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};NQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var TQ=function(){dp.call(this),this.linkname="",this._decoder=new pVe("utf-8"),this._destroyed=!1};FQ(TQ,dp);TQ.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};TQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var vE=function(){dp.call(this),this._destroyed=!1};FQ(vE,dp);vE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};vE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var la=function(r){if(!(this instanceof la))return new la(r);pue.call(this,r),this._drain=e1,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FQ(la,pue);la.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=e1);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=mVe(r.mode)),r.mode||(r.mode=r.type==="directory"?dVe:CVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return $O(i,r.size),n?process.nextTick(t):this._drain=t,new vE}if(r.type==="symlink"&&!r.linkname){var s=new TQ;return hue(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new vE;var o=new NQ(this);return this._stream=o,hue(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));$O(i,r.size),i._finalizing&&i.finalize(),t()}),o}};la.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(due),this.push(null))};la.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};la.prototype._encode=function(r){if(!r.pax){var e=RQ.encode(r);if(e){this.push(e);return}}this._encodePax(r)};la.prototype._encodePax=function(r){var e=RQ.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(RQ.encode(t)),this.push(e),$O(this,e.length),t.size=r.size,t.type=r.type,this.push(RQ.encode(t))};la.prototype._read=function(r){var e=this._drain;this._drain=e1,e()};Cue.exports=la});var Eue=w(t1=>{t1.extract=uue();t1.pack=mue()});var kue=w((YQt,Due)=>{"use strict";var Xu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=xue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return a1(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):FVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Xu(this.__specs,this.__opts,xue(this.__providers).concat(e)),Pue)}};try{let r=J("util");Xu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function kVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function a1(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))kVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=vue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=vue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function vue(r,e){let t;return e.__isFiggyPudding?t=a1(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var Pue={has(r,e){return e in r.__specs&&a1(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Xu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Due.exports=RVe;function RVe(r,e){function t(...i){return new Proxy(new Xu(r,e,i),Pue)}return t}function xue(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function FVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Nue=w((jQt,ga)=>{"use strict";var PE=J("crypto"),NVe=kue(),TVe=J("stream").Transform,Rue=["sha256","sha384","sha512"],LVe=/^[a-z0-9+/]+(?:=?=?)$/i,MVe=/^([^-]+)-([^?]+)([?\S*]*)$/,OVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,KVe=/^[\x21-\x7E]+$/,An=NVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>WVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Nl=class{get isHash(){return!0}constructor(e,t){t=An(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?OVe:MVe);if(!n||i&&!Rue.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=An(e),e.strict&&!(Rue.some(i=>i===this.algorithm)&&this.digest.match(LVe)&&(this.options||[]).every(i=>i.match(KVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},Zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=An(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Nl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=An(t);let i=typeof e=="string"?e:xE(e,t);return ua(`${this.toString(t)} ${i}`,t)}hexDigest(){return ua(this,{single:!0}).hexDigest()}match(e,t){t=An(t);let i=ua(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=An(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ga.exports.parse=ua;function ua(r,e){if(e=An(e),typeof r=="string")return A1(r,e);if(r.algorithm&&r.digest){let t=new Zu;return t[r.algorithm]=[r],A1(xE(t,e),e)}else return A1(xE(r,e),e)}function A1(r,e){return e.single?new Nl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Nl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Zu)}ga.exports.stringify=xE;function xE(r,e){return e=An(e),r.algorithm&&r.digest?Nl.prototype.toString.call(r,e):typeof r=="string"?xE(ua(r,e),e):Zu.prototype.toString.call(r,e)}ga.exports.fromHex=UVe;function UVe(r,e,t){t=An(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return ua(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ga.exports.fromData=HVe;function HVe(r,e){e=An(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=PE.createHash(s).update(r).digest("base64"),a=new Nl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Zu)}ga.exports.fromStream=GVe;function GVe(r,e){e=An(e);let t=e.Promise||Promise,i=l1(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ga.exports.checkData=YVe;function YVe(r,e,t){if(t=An(t),e=ua(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=PE.createHash(i).update(r).digest("base64"),s=ua({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. +`,h}function Nze(r,e){return e.fs_.chmod(r,493)}function lO(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Ts.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}Dle.exports=AO});var yO=w(($bt,Zle)=>{Zle.exports=J("stream")});var tce=w((eQt,ece)=>{"use strict";function _le(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function e5e(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return pQ.alloc(0);for(var i=pQ.allocUnsafe(t>>>0),n=this.head,s=0;n;)a5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=pQ.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:o5e,value:function(t,i){return wO(this,e5e({},i,{depth:0,customInspect:!1}))}}]),r}()});var bO=w((tQt,ice)=>{"use strict";function A5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(BO,this,r)):process.nextTick(BO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(dQ,t):(t._writableState.errorEmitted=!0,process.nextTick(rce,t,s)):process.nextTick(rce,t,s):e?(process.nextTick(dQ,t),e(s)):process.nextTick(dQ,t)}),this)}function rce(r,e){BO(r,e),dQ(r)}function dQ(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function l5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function BO(r,e){r.emit("error",e)}function c5e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}ice.exports={destroy:A5e,undestroy:l5e,errorOrDestroy:c5e}});var Sl=w((rQt,oce)=>{"use strict";var sce={};function Ms(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,sce[r]=n}function nce(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function u5e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function g5e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function f5e(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Ms("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Ms("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&u5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(g5e(r," argument"))n=`The ${r} ${i} ${nce(e,"type")}`;else{let s=f5e(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${nce(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Ms("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ms("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Ms("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ms("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Ms("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ms("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ms("ERR_STREAM_WRITE_AFTER_END","write after end");Ms("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ms("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Ms("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");oce.exports.codes=sce});var QO=w((iQt,ace)=>{"use strict";var h5e=Sl().codes.ERR_INVALID_OPT_VALUE;function p5e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function d5e(r,e,t,i){var n=p5e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new h5e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}ace.exports={getHighWaterMark:d5e}});var Ace=w((nQt,SO)=>{typeof Object.create=="function"?SO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:SO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var vl=w((sQt,xO)=>{try{if(vO=J("util"),typeof vO.inherits!="function")throw"";xO.exports=vO.inherits}catch{xO.exports=Ace()}var vO});var cce=w((oQt,lce)=>{lce.exports=J("util").deprecate});var kO=w((aQt,dce)=>{"use strict";dce.exports=Lr;function gce(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Y5e(e,r)}}var ap;Lr.WritableState=dE;var C5e={deprecate:cce()},fce=yO(),mQ=J("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(r){return mQ.from(r)}function I5e(r){return mQ.isBuffer(r)||r instanceof m5e}var DO=bO(),y5e=QO(),w5e=y5e.getHighWaterMark,xl=Sl().codes,B5e=xl.ERR_INVALID_ARG_TYPE,b5e=xl.ERR_METHOD_NOT_IMPLEMENTED,Q5e=xl.ERR_MULTIPLE_CALLBACK,S5e=xl.ERR_STREAM_CANNOT_PIPE,v5e=xl.ERR_STREAM_DESTROYED,x5e=xl.ERR_STREAM_NULL_VALUES,P5e=xl.ERR_STREAM_WRITE_AFTER_END,D5e=xl.ERR_UNKNOWN_ENCODING,Ap=DO.errorOrDestroy;vl()(Lr,fce);function k5e(){}function dE(r,e,t){ap=ap||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof ap),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=w5e(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){O5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new gce(this)}dE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(dE.prototype,"buffer",{get:C5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var CQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(CQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Lr,Symbol.hasInstance,{value:function(e){return CQ.call(this,e)?!0:this!==Lr?!1:e&&e._writableState instanceof dE}})):CQ=function(e){return e instanceof this};function Lr(r){ap=ap||qu();var e=this instanceof ap;if(!e&&!CQ.call(Lr,this))return new Lr(r);this._writableState=new dE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),fce.call(this)}Lr.prototype.pipe=function(){Ap(this,new S5e)};function R5e(r,e){var t=new P5e;Ap(r,t),process.nextTick(e,t)}function F5e(r,e,t,i){var n;return t===null?n=new x5e:typeof t!="string"&&!e.objectMode&&(n=new B5e("chunk",["string","Buffer"],t)),n?(Ap(r,n),process.nextTick(i,n),!1):!0}Lr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&I5e(r);return s&&!mQ.isBuffer(r)&&(r=E5e(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=k5e),i.ending?R5e(this,t):(s||F5e(this,i,r,t))&&(i.pendingcb++,n=T5e(this,i,s,r,e,t)),n};Lr.prototype.cork=function(){this._writableState.corked++};Lr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&hce(this,r))};Lr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new D5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Lr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function N5e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=mQ.from(e,t)),e}Object.defineProperty(Lr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function T5e(r,e,t,i,n,s){if(!t){var o=N5e(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j5e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};mce.exports=Aa;var Cce=NO(),FO=kO();vl()(Aa,Cce);for(RO=j5e(FO.prototype),EQ=0;EQ{var yQ=J("buffer"),fA=yQ.Buffer;function Ece(r,e){for(var t in r)e[t]=r[t]}fA.from&&fA.alloc&&fA.allocUnsafe&&fA.allocUnsafeSlow?Ice.exports=yQ:(Ece(yQ,TO),TO.Buffer=lp);function lp(r,e,t){return fA(r,e,t)}Ece(fA,lp);lp.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return fA(r,e,t)};lp.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=fA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};lp.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return fA(r)};lp.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return yQ.SlowBuffer(r)}});var OO=w(Bce=>{"use strict";var MO=yce().Buffer,wce=MO.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function W5e(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function z5e(r){var e=W5e(r);if(typeof e!="string"&&(MO.isEncoding===wce||!wce(r)))throw new Error("Unknown encoding: "+r);return e||r}Bce.StringDecoder=CE;function CE(r){this.encoding=z5e(r);var e;switch(this.encoding){case"utf16le":this.text=e6e,this.end=t6e,e=4;break;case"utf8":this.fillLast=Z5e,e=4;break;case"base64":this.text=r6e,this.end=i6e,e=3;break;default:this.write=n6e,this.end=s6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=MO.allocUnsafe(e)}CE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function V5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function X5e(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function Z5e(r){var e=this.lastTotal-this.lastNeed,t=X5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function _5e(r,e){var t=V5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function $5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function e6e(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function t6e(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function r6e(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function i6e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function n6e(r){return r.toString(this.encoding)}function s6e(r){return r&&r.length?this.write(r):""}});var wQ=w((cQt,Sce)=>{"use strict";var bce=Sl().codes.ERR_STREAM_PREMATURE_CLOSE;function o6e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var BQ;function Pl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l6e=wQ(),Dl=Symbol("lastResolve"),Ju=Symbol("lastReject"),mE=Symbol("error"),bQ=Symbol("ended"),Wu=Symbol("lastPromise"),KO=Symbol("handlePromise"),zu=Symbol("stream");function kl(r,e){return{value:r,done:e}}function c6e(r){var e=r[Dl];if(e!==null){var t=r[zu].read();t!==null&&(r[Wu]=null,r[Dl]=null,r[Ju]=null,e(kl(t,!1)))}}function u6e(r){process.nextTick(c6e,r)}function g6e(r,e){return function(t,i){r.then(function(){if(e[bQ]){t(kl(void 0,!0));return}e[KO](t,i)},i)}}var f6e=Object.getPrototypeOf(function(){}),h6e=Object.setPrototypeOf((BQ={get stream(){return this[zu]},next:function(){var e=this,t=this[mE];if(t!==null)return Promise.reject(t);if(this[bQ])return Promise.resolve(kl(void 0,!0));if(this[zu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[mE]?a(e[mE]):o(kl(void 0,!0))})});var i=this[Wu],n;if(i)n=new Promise(g6e(i,this));else{var s=this[zu].read();if(s!==null)return Promise.resolve(kl(s,!1));n=new Promise(this[KO])}return this[Wu]=n,n}},Pl(BQ,Symbol.asyncIterator,function(){return this}),Pl(BQ,"return",function(){var e=this;return new Promise(function(t,i){e[zu].destroy(null,function(n){if(n){i(n);return}t(kl(void 0,!0))})})}),BQ),f6e),p6e=function(e){var t,i=Object.create(h6e,(t={},Pl(t,zu,{value:e,writable:!0}),Pl(t,Dl,{value:null,writable:!0}),Pl(t,Ju,{value:null,writable:!0}),Pl(t,mE,{value:null,writable:!0}),Pl(t,bQ,{value:e._readableState.endEmitted,writable:!0}),Pl(t,KO,{value:function(s,o){var a=i[zu].read();a?(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(kl(a,!1))):(i[Dl]=s,i[Ju]=o)},writable:!0}),t));return i[Wu]=null,l6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Ju];s!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(n)),i[mE]=n;return}var o=i[Dl];o!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,o(kl(void 0,!0))),i[bQ]=!0}),e.on("readable",u6e.bind(null,i)),i};vce.exports=p6e});var Rce=w((gQt,kce)=>{"use strict";function Pce(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function d6e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Pce(s,i,n,o,a,"next",l)}function a(l){Pce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Dce(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function C6e(r){for(var e=1;e{"use strict";Gce.exports=Ut;var cp;Ut.ReadableState=Lce;var fQt=J("events").EventEmitter,Tce=function(e,t){return e.listeners(t).length},IE=yO(),QQ=J("buffer").Buffer,y6e=global.Uint8Array||function(){};function w6e(r){return QQ.from(r)}function B6e(r){return QQ.isBuffer(r)||r instanceof y6e}var UO=J("util"),Dt;UO&&UO.debuglog?Dt=UO.debuglog("stream"):Dt=function(){};var b6e=tce(),WO=bO(),Q6e=QO(),S6e=Q6e.getHighWaterMark,SQ=Sl().codes,v6e=SQ.ERR_INVALID_ARG_TYPE,x6e=SQ.ERR_STREAM_PUSH_AFTER_EOF,P6e=SQ.ERR_METHOD_NOT_IMPLEMENTED,D6e=SQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,up,HO,GO;vl()(Ut,IE);var EE=WO.errorOrDestroy,YO=["error","close","destroy","pause","resume"];function k6e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Lce(r,e,t){cp=cp||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof cp),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=S6e(this,r,"readableHighWaterMark",t),this.buffer=new b6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(up||(up=OO().StringDecoder),this.decoder=new up(r.encoding),this.encoding=r.encoding)}function Ut(r){if(cp=cp||qu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof cp;this._readableState=new Lce(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),IE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=WO.destroy;Ut.prototype._undestroy=WO.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=QQ.from(r,e),e=""),i=!0),Mce(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Mce(this,r,null,!0,!1)};function Mce(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,N6e(r,s);else{var o;if(n||(o=R6e(s,e)),o)EE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==QQ.prototype&&(e=w6e(e)),i)s.endEmitted?EE(r,new D6e):jO(r,s,e,!0);else if(s.ended)EE(r,new x6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?jO(r,s,e,!1):JO(r,s)):jO(r,s,e,!1)}else i||(s.reading=!1,JO(r,s))}return!s.ended&&(s.length=Fce?r=Fce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function Nce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=F6e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?qO(this):vQ(this),null;if(r=Nce(r,e),r===0&&e.ended)return e.length===0&&qO(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Uce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&qO(this)),n!==null&&this.emit("data",n),n};function N6e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?vQ(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Oce(r)))}}function vQ(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Oce,r))}function Oce(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zO(r)}function JO(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(T6e,r,e))}function T6e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&Hce(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),Tce(r,"error")===0&&EE(r,y)}k6e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function L6e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&Tce(r,"data")&&(t.flowing=!0,zO(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?vQ(this):i.reading||process.nextTick(M6e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=IE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Kce,this),t};Ut.prototype.removeAllListeners=function(r){var e=IE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Kce,this),e};function Kce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function M6e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,O6e(this,r)),r.paused=!1,this};function O6e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(K6e,r,e))}function K6e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),zO(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zO(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function qO(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(U6e,e,r))}function U6e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return GO===void 0&&(GO=Rce()),GO(Ut,r,e)});function Hce(r,e){for(var t=0,i=r.length;t{"use strict";jce.exports=hA;var xQ=Sl().codes,H6e=xQ.ERR_METHOD_NOT_IMPLEMENTED,G6e=xQ.ERR_MULTIPLE_CALLBACK,Y6e=xQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,j6e=xQ.ERR_TRANSFORM_WITH_LENGTH_0,PQ=qu();vl()(hA,PQ);function q6e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new G6e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Jce.exports=yE;var qce=VO();vl()(yE,qce);function yE(r){if(!(this instanceof yE))return new yE(r);qce.call(this,r)}yE.prototype._transform=function(r,e,t){t(null,r)}});var _ce=w((CQt,Zce)=>{"use strict";var XO;function W6e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var Xce=Sl().codes,z6e=Xce.ERR_MISSING_ARGS,V6e=Xce.ERR_STREAM_DESTROYED;function zce(r){if(r)throw r}function X6e(r){return r.setHeader&&typeof r.abort=="function"}function Z6e(r,e,t,i){i=W6e(i);var n=!1;r.on("close",function(){n=!0}),XO===void 0&&(XO=wQ()),XO(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,X6e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new V6e("pipe"))}}}function Vce(r){r()}function _6e(r,e){return r.pipe(e)}function $6e(r){return!r.length||typeof r[r.length-1]!="function"?zce:r.pop()}function eVe(){for(var r=arguments.length,e=new Array(r),t=0;t0;return Z6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Vce),!l&&(s.forEach(Vce),i(n))})});return e.reduce(_6e)}Zce.exports=eVe});var gp=w((Os,BE)=>{var wE=J("stream");process.env.READABLE_STREAM==="disable"&&wE?(BE.exports=wE.Readable,Object.assign(BE.exports,wE),BE.exports.Stream=wE):(Os=BE.exports=NO(),Os.Stream=wE||Os,Os.Readable=Os,Os.Writable=kO(),Os.Duplex=qu(),Os.Transform=VO(),Os.PassThrough=Wce(),Os.finished=wQ(),Os.pipeline=_ce())});var tue=w((mQt,eue)=>{"use strict";var{Buffer:Io}=J("buffer"),$ce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,$ce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Io.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Io.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var ZO=gp().Duplex,tVe=vl(),bE=tue();function Wi(r){if(!(this instanceof Wi))return new Wi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}bE._init.call(this,r),ZO.call(this)}tVe(Wi,ZO);Object.assign(Wi.prototype,bE.prototype);Wi.prototype._new=function(e){return new Wi(e)};Wi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Wi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Wi.prototype.end=function(e){ZO.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Wi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Wi.prototype._isBufferList=function(e){return e instanceof Wi||e instanceof bE||Wi.isBufferList(e)};Wi.isBufferList=bE.isBufferList;DQ.exports=Wi;DQ.exports.BufferListStream=Wi;DQ.exports.BufferList=bE});var e1=w(hp=>{var rVe=Buffer.alloc,iVe="0000000000000000000",nVe="7777777777777777777",iue="0".charCodeAt(0),nue=Buffer.from("ustar\0","binary"),sVe=Buffer.from("00","binary"),oVe=Buffer.from("ustar ","binary"),aVe=Buffer.from(" \0","binary"),AVe=parseInt("7777",8),QE=257,$O=263,lVe=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},cVe=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},uVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},sue=function(r,e,t,i){for(;te?nVe.slice(0,e)+" ":iVe.slice(0,e-r.length)+r+" "};function gVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};hp.decodeLongPath=function(r,e){return fp(r,0,r.length,e)};hp.encodePax=function(r){var e="";r.name&&(e+=_O(" path="+r.name+` +`)),r.linkname&&(e+=_O(" linkpath="+r.linkname+` +`));var t=r.pax;if(t)for(var i in t)e+=_O(" "+i+"="+t[i]+` +`);return Buffer.from(e)};hp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Rl(r.mode&AVe,6),100),e.write(Rl(r.uid,6),108),e.write(Rl(r.gid,6),116),e.write(Rl(r.size,11),124),e.write(Rl(r.mtime.getTime()/1e3|0,11),136),e[156]=iue+uVe(r.type),r.linkname&&e.write(r.linkname,157),nue.copy(e,QE),sVe.copy(e,$O),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Rl(r.devmajor||0,6),329),e.write(Rl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Rl(oue(e),6),148),e)};hp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-iue,n=fp(r,0,100,e),s=Fl(r,100,8),o=Fl(r,108,8),a=Fl(r,116,8),l=Fl(r,124,12),c=Fl(r,136,12),u=cVe(i),g=r[157]===0?null:fp(r,157,100,e),f=fp(r,265,32),h=fp(r,297,32),p=Fl(r,329,8),C=Fl(r,337,8),y=oue(r);if(y===8*32)return null;if(y!==Fl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(nue.compare(r,QE,QE+6)===0)r[345]&&(n=fp(r,345,155,e)+"/"+n);else if(!(oVe.compare(r,QE,QE+6)===0&&aVe.compare(r,$O,$O+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var fue=w((yQt,gue)=>{var Aue=J("util"),fVe=rue(),SE=e1(),lue=gp().Writable,cue=gp().PassThrough,uue=function(){},aue=function(r){return r&=511,r&&512-r},hVe=function(r,e){var t=new kQ(r,e);return t.end(),t},pVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},kQ=function(r,e){this._parent=r,this.offset=e,cue.call(this,{autoDestroy:!1})};Aue.inherits(kQ,cue);kQ.prototype.destroy=function(r){this._parent.destroy(r)};var pA=function(r){if(!(this instanceof pA))return new pA(r);lue.call(this,r),r=r||{},this._offset=0,this._buffer=fVe(),this._missing=0,this._partial=!1,this._onparse=uue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=aue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(aue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=SE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=SE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=SE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=pVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,hVe(e,f),n);return}e._stream=new kQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Aue.inherits(pA,lue);pA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};pA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};pA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=uue,this._overflow?this._write(this._overflow,void 0,r):r()}};pA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};pA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};gue.exports=pA});var pue=w((wQt,hue)=>{hue.exports=J("fs").constants||J("constants")});var Iue=w((BQt,Eue)=>{var pp=pue(),due=Pk(),FQ=vl(),dVe=Buffer.alloc,Cue=gp().Readable,dp=gp().Writable,CVe=J("string_decoder").StringDecoder,RQ=e1(),mVe=parseInt("755",8),EVe=parseInt("644",8),mue=dVe(1024),r1=function(){},t1=function(r,e){e&=511,e&&r.push(mue.slice(0,512-e))};function IVe(r){switch(r&pp.S_IFMT){case pp.S_IFBLK:return"block-device";case pp.S_IFCHR:return"character-device";case pp.S_IFDIR:return"directory";case pp.S_IFIFO:return"fifo";case pp.S_IFLNK:return"symlink"}return"file"}var NQ=function(r){dp.call(this),this.written=0,this._to=r,this._destroyed=!1};FQ(NQ,dp);NQ.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};NQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var TQ=function(){dp.call(this),this.linkname="",this._decoder=new CVe("utf-8"),this._destroyed=!1};FQ(TQ,dp);TQ.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};TQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var vE=function(){dp.call(this),this._destroyed=!1};FQ(vE,dp);vE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};vE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var la=function(r){if(!(this instanceof la))return new la(r);Cue.call(this,r),this._drain=r1,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FQ(la,Cue);la.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=r1);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=IVe(r.mode)),r.mode||(r.mode=r.type==="directory"?mVe:EVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return t1(i,r.size),n?process.nextTick(t):this._drain=t,new vE}if(r.type==="symlink"&&!r.linkname){var s=new TQ;return due(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new vE;var o=new NQ(this);return this._stream=o,due(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));t1(i,r.size),i._finalizing&&i.finalize(),t()}),o}};la.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(mue),this.push(null))};la.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};la.prototype._encode=function(r){if(!r.pax){var e=RQ.encode(r);if(e){this.push(e);return}}this._encodePax(r)};la.prototype._encodePax=function(r){var e=RQ.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(RQ.encode(t)),this.push(e),t1(this,e.length),t.size=r.size,t.type=r.type,this.push(RQ.encode(t))};la.prototype._read=function(r){var e=this._drain;this._drain=r1,e()};Eue.exports=la});var yue=w(i1=>{i1.extract=fue();i1.pack=Iue()});var Fue=w((qQt,Rue)=>{"use strict";var Xu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Due(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return l1(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):TVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Xu(this.__specs,this.__opts,Due(this.__providers).concat(e)),kue)}};try{let r=J("util");Xu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function FVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function l1(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))FVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Pue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Pue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function Pue(r,e){let t;return e.__isFiggyPudding?t=l1(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var kue={has(r,e){return e in r.__specs&&l1(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Xu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Rue.exports=NVe;function NVe(r,e){function t(...i){return new Proxy(new Xu(r,e,i),kue)}return t}function Due(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function TVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Lue=w((JQt,ga)=>{"use strict";var PE=J("crypto"),LVe=Fue(),MVe=J("stream").Transform,Nue=["sha256","sha384","sha512"],OVe=/^[a-z0-9+/]+(?:=?=?)$/i,KVe=/^([^-]+)-([^?]+)([?\S*]*)$/,UVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,HVe=/^[\x21-\x7E]+$/,An=LVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>VVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Nl=class{get isHash(){return!0}constructor(e,t){t=An(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?UVe:KVe);if(!n||i&&!Nue.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=An(e),e.strict&&!(Nue.some(i=>i===this.algorithm)&&this.digest.match(OVe)&&(this.options||[]).every(i=>i.match(HVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},Zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=An(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Nl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=An(t);let i=typeof e=="string"?e:xE(e,t);return ua(`${this.toString(t)} ${i}`,t)}hexDigest(){return ua(this,{single:!0}).hexDigest()}match(e,t){t=An(t);let i=ua(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=An(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ga.exports.parse=ua;function ua(r,e){if(e=An(e),typeof r=="string")return c1(r,e);if(r.algorithm&&r.digest){let t=new Zu;return t[r.algorithm]=[r],c1(xE(t,e),e)}else return c1(xE(r,e),e)}function c1(r,e){return e.single?new Nl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Nl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Zu)}ga.exports.stringify=xE;function xE(r,e){return e=An(e),r.algorithm&&r.digest?Nl.prototype.toString.call(r,e):typeof r=="string"?xE(ua(r,e),e):Zu.prototype.toString.call(r,e)}ga.exports.fromHex=GVe;function GVe(r,e,t){t=An(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return ua(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ga.exports.fromData=YVe;function YVe(r,e){e=An(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=PE.createHash(s).update(r).digest("base64"),a=new Nl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Zu)}ga.exports.fromStream=jVe;function jVe(r,e){e=An(e);let t=e.Promise||Promise,i=u1(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ga.exports.checkData=qVe;function qVe(r,e,t){if(t=An(t),e=ua(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=PE.createHash(i).update(r).digest("base64"),s=ua({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. Wanted: ${t.size} - Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ga.exports.checkStream=jVe;function jVe(r,e,t){t=An(t);let i=t.Promise||Promise,n=l1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ga.exports.integrityStream=l1;function l1(r){r=An(r);let e=r.integrity&&ua(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(PE.createHash),a=0,l=new TVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=ua(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. + Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ga.exports.checkStream=JVe;function JVe(r,e,t){t=An(t);let i=t.Promise||Promise,n=u1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ga.exports.integrityStream=u1;function u1(r){r=An(r);let e=r.integrity&&ua(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(PE.createHash),a=0,l=new MVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=ua(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. Wanted: ${r.size} - Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ga.exports.create=qVe;function qVe(r){r=An(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(PE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Nl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Zu)}}}var JVe=new Set(PE.getHashes()),Fue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>JVe.has(r));function WVe(r,e){return Fue.indexOf(r.toLowerCase())>=Fue.indexOf(e.toLowerCase())?r:e}});var sm={};ut(sm,{BuildType:()=>M0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>ts,LightReport:()=>ra,LinkType:()=>Ef,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>Df,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Rf,TelemetryManager:()=>Sh,ThrowReport:()=>ti,VirtualFetcher:()=>Ff,Workspace:()=>Qh,WorkspaceFetcher:()=>Tf,WorkspaceResolver:()=>jr,YarnVersion:()=>Tr,execUtils:()=>Cr,folderUtils:()=>Tw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>ws,parseMessageName:()=>LI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>NA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>es});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Yw,PipeError:()=>dC,execvp:()=>tk,pipevp:()=>Wo});var Wp={};ut(Wp,{AliasFS:()=>Qo,CustomDir:()=>Hp,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Xl,FakeFS:()=>ya,Filename:()=>xt,JailFS:()=>So,LazyFS:()=>Sg,LinkStrategy:()=>CS,NoFS:()=>jp,NodeFS:()=>$t,PortablePath:()=>Me,PosixFS:()=>vg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Kn,constants:()=>xr,extendFs:()=>AI,normalizeLineEndings:()=>Vl,npath:()=>K,opendir:()=>tI,patchFs:()=>bS,ppath:()=>x,statUtils:()=>Mp,toFilename:()=>Ur,xfs:()=>O});var xr={};ut(xr,{SAFE_TIME:()=>iK,S_IFDIR:()=>Jl,S_IFLNK:()=>zl,S_IFMT:()=>qs,S_IFREG:()=>Wl});var qs=61440,Jl=16384,Wl=32768,zl=40960,iK=456789e3;var Mp={};ut(Mp,{BigIntStatsEntry:()=>Bg,DEFAULT_MODE:()=>Tp,DirEntry:()=>cS,StatEntry:()=>Ia,areStatsEqual:()=>gS,clearStats:()=>WE,convertToBigIntStats:()=>zE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>Tge});var uS=Pe(J("util"));var Tp=33188,cS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ia=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Tp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Bg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Tp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new Ia}function Tge(){return WE(Lp())}function WE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):uS.types.isDate(t)&&(r[e]=new Date(0))}return r}function zE(r){let e=new Bg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):uS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function gS(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var XE=Pe(J("fs"));var Op=Pe(J("path"));var Me={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(Op.default),x=Object.create(Op.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>fS(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Op.default.posix.resolve(...r):Op.default.posix.resolve(x.cwd(),...r);var nK=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=sK;K.toPortablePath=fS;K.contains=(r,e)=>nK(K,r,e);x.contains=(r,e)=>nK(x,r,e);var Lge=/^([a-zA-Z]:.*)$/,Mge=/^\/\/(\.\/)?(.*)$/,Oge=/^\/([a-zA-Z]:.*)$/,Kge=/^\/unc\/(\.dot\/)?(.*)$/;function sK(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(Oge))r=e[1];else if(t=r.match(Kge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function fS(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Lge))?r=`/${e[1]}`:(t=r.match(Mge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function VE(r,e){return r===K?sK(e):fS(e)}function Ur(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var ZE=new Date(456789e3*1e3),CS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(CS||{});async function oK(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:ZE,mtime:ZE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await pS(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pS(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Uge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:ZE,mtime:ZE}:c,f;switch(!0){case c.isDirectory():f=await Hge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await Yge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await jge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Uge(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function Hge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await pS(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pS(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var hS=new WeakMap;function dS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function Gge(r,e,t,i,n){let s=hS.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE),hS.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")hS.set(r,!1),await dS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE):dS(r,e,t,i,n)}async function Yge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Gge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,XE.default.constants.COPYFILE_FICLONE):u!==null?dS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function jge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(VE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function As(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function $E(r){return As("EBUSY",r)}function Kp(r,e){return As("ENOSYS",`${r}, ${e}`)}function xA(r){return As("EINVAL",`invalid argument, ${r}`)}function Hr(r){return As("EBADF",`bad file descriptor, ${r}`)}function Js(r){return As("ENOENT",`no such file or directory, ${r}`)}function bo(r){return As("ENOTDIR",`not a directory, ${r}`)}function Up(r){return As("EISDIR",`illegal operation on a directory, ${r}`)}function eI(r){return As("EEXIST",`file already exists, ${r}`)}function un(r){return As("EROFS",`read-only filesystem, ${r}`)}function aK(r){return As("ENOTEMPTY",`directory not empty, ${r}`)}function AK(r){return As("EOPNOTSUPP",`operation not supported, ${r}`)}function lK(){return As("ERR_DIR_CLOSED","Directory handle was closed")}var _E=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var Hp=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw lK()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function tI(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new Hp(e,n,i)}var cK=J("os");var ya=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await oK(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(VE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ga.exports.create=WVe;function WVe(r){r=An(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(PE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Nl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Zu)}}}var zVe=new Set(PE.getHashes()),Tue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>zVe.has(r));function VVe(r,e){return Tue.indexOf(r.toLowerCase())>=Tue.indexOf(e.toLowerCase())?r:e}});var sm={};ut(sm,{BuildType:()=>M0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>ts,LightReport:()=>ra,LinkType:()=>Ef,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>Df,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Rf,TelemetryManager:()=>Sh,ThrowReport:()=>ti,VirtualFetcher:()=>Ff,Workspace:()=>Qh,WorkspaceFetcher:()=>Tf,WorkspaceResolver:()=>Yr,YarnVersion:()=>Tr,execUtils:()=>Cr,folderUtils:()=>Tw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>ws,parseMessageName:()=>LI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>FA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>es});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Yw,PipeError:()=>dC,execvp:()=>tk,pipevp:()=>oo});var Wp={};ut(Wp,{AliasFS:()=>So,CustomDir:()=>Hp,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Xl,FakeFS:()=>ya,Filename:()=>xt,JailFS:()=>vo,LazyFS:()=>Sg,LinkStrategy:()=>CS,NoFS:()=>jp,NodeFS:()=>$t,PortablePath:()=>Me,PosixFS:()=>vg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Kn,constants:()=>xr,extendFs:()=>AI,normalizeLineEndings:()=>Vl,npath:()=>K,opendir:()=>tI,patchFs:()=>bS,ppath:()=>x,statUtils:()=>Mp,toFilename:()=>Jr,xfs:()=>O});var xr={};ut(xr,{SAFE_TIME:()=>sK,S_IFDIR:()=>Jl,S_IFLNK:()=>zl,S_IFMT:()=>qs,S_IFREG:()=>Wl});var qs=61440,Jl=16384,Wl=32768,zl=40960,sK=456789e3;var Mp={};ut(Mp,{BigIntStatsEntry:()=>Bg,DEFAULT_MODE:()=>Tp,DirEntry:()=>cS,StatEntry:()=>Ia,areStatsEqual:()=>gS,clearStats:()=>WE,convertToBigIntStats:()=>zE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>Mge});var uS=Pe(J("util"));var Tp=33188,cS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ia=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Tp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Bg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Tp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new Ia}function Mge(){return WE(Lp())}function WE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):uS.types.isDate(t)&&(r[e]=new Date(0))}return r}function zE(r){let e=new Bg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):uS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function gS(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var XE=Pe(J("fs"));var Op=Pe(J("path"));var Me={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(Op.default),x=Object.create(Op.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>fS(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Op.default.posix.resolve(...r):Op.default.posix.resolve(x.cwd(),...r);var oK=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=aK;K.toPortablePath=fS;K.contains=(r,e)=>oK(K,r,e);x.contains=(r,e)=>oK(x,r,e);var Oge=/^([a-zA-Z]:.*)$/,Kge=/^\/\/(\.\/)?(.*)$/,Uge=/^\/([a-zA-Z]:.*)$/,Hge=/^\/unc\/(\.dot\/)?(.*)$/;function aK(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(Uge))r=e[1];else if(t=r.match(Hge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function fS(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Oge))?r=`/${e[1]}`:(t=r.match(Kge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function VE(r,e){return r===K?aK(e):fS(e)}function Jr(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var ZE=new Date(456789e3*1e3),CS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(CS||{});async function AK(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:ZE,mtime:ZE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await pS(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pS(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Gge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:ZE,mtime:ZE}:c,f;switch(!0){case c.isDirectory():f=await Yge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await qge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Jge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Gge(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function Yge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await pS(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pS(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var hS=new WeakMap;function dS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function jge(r,e,t,i,n){let s=hS.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE),hS.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")hS.set(r,!1),await dS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE):dS(r,e,t,i,n)}async function qge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?jge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,XE.default.constants.COPYFILE_FICLONE):u!==null?dS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function Jge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(VE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function As(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function $E(r){return As("EBUSY",r)}function Kp(r,e){return As("ENOSYS",`${r}, ${e}`)}function vA(r){return As("EINVAL",`invalid argument, ${r}`)}function Ur(r){return As("EBADF",`bad file descriptor, ${r}`)}function Js(r){return As("ENOENT",`no such file or directory, ${r}`)}function Qo(r){return As("ENOTDIR",`not a directory, ${r}`)}function Up(r){return As("EISDIR",`illegal operation on a directory, ${r}`)}function eI(r){return As("EEXIST",`file already exists, ${r}`)}function un(r){return As("EROFS",`read-only filesystem, ${r}`)}function lK(r){return As("ENOTEMPTY",`directory not empty, ${r}`)}function cK(r){return As("EOPNOTSUPP",`operation not supported, ${r}`)}function uK(){return As("ERR_DIR_CLOSED","Directory handle was closed")}var _E=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var Hp=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw uK()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function tI(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new Hp(e,n,i)}var gK=J("os");var ya=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await AK(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(VE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} `)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)} -`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},PA=class extends ya{constructor(){super(x)}};function qge(r){let e=r.match(/\r?\n/g);if(e===null)return cK.EOL;let t=e.filter(n=>n===`\r +`)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},xA=class extends ya{constructor(){super(x)}};function Wge(r){let e=r.match(/\r?\n/g);if(e===null)return gK.EOL;let t=e.filter(n=>n===`\r `).length,i=e.length-t;return t>i?`\r `:` -`}function Vl(r,e){return e.replace(/\r?\n/g,qge(r))}var Qg=J("fs"),IS=J("stream"),hK=J("util"),yS=Pe(J("zlib"));var uK=Pe(J("fs"));var $t=class extends PA{constructor(t=uK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var fK=J("events");function gK(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var bg=class extends fK.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new bg(t,i,n);return s.start(),s}start(){gK(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){gK(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new Bg:new Ia;return WE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;gS(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var rI=new WeakMap;function iI(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=rI.get(r);typeof l>"u"&&rI.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=bg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Gp(r,e,t){let i=rI.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Yp(r){let e=rI.get(r);if(!(typeof e>"u"))for(let t of e.keys())Gp(r,t)}var Xl="mixed";function Jge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(typeof r=="number"&&Number.isFinite(r))return r<0?Date.now()/1e3:r;if(hK.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function ES(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends PA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Xl,t!=null||(t=ES()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=Lp();else throw a}else this.stats=Lp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Me.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw $E("archive closed, close");Yp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Tp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,ES(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Me.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw bo(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return tI(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Hr("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Hr("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Hr("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new IS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw un(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new IS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw $E(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Me.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=Qg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`access '${t}'`);if(this.readOnly&&i&Qg.constants.W_OK)throw un(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw bo(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Hr("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Js(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw bo(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw bo(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),T=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new Ia,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:T,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?zE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,T=0,H=Object.assign(new Ia,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:T});return n.bigint===!0?zE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw $E(`archive closed, ${t}`);let o=x.resolve(Me.root,i);if(o==="/")return Me.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Js(t)}if(!c)throw bo(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1),0);if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,1,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,1);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Me.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{yS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=yS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw un(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw un(`copyfile '${t} -> '${i}'`);if((n&Qg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Kp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw xA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(Qg.constants.COPYFILE_EXCL|Qg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw eI(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Hr(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw un(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Up(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw un(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Up(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw xA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw un(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw un(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,Jge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw un(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw eI(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw un(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw bo(`rmdir '${t}'`);if(s.size>0)throw aK(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw xA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Me.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw AK(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw un(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Up(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw eI(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw bo(`open '${t}'`);if(this.listings.has(n))throw Up("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw bo(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw bo(`open '${t}'`);if(this.listings.has(i))throw xA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw xA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw xA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw xA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Me.root,t);return iI(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Me.root,t);return Gp(this,n,i)}};var pi=class extends ya{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Qo=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var qt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var pK=Me.root,So=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Me.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(pK,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(pK,this.pathUtils.relative(this.target,t))}};var Sg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var Ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),wS=class extends ya{constructor(){super(x)}getExtractHint(){throw Ze()}getRealPath(){throw Ze()}resolve(){throw Ze()}async openPromise(){throw Ze()}openSync(){throw Ze()}async opendirPromise(){throw Ze()}opendirSync(){throw Ze()}async readPromise(){throw Ze()}readSync(){throw Ze()}async writePromise(){throw Ze()}writeSync(){throw Ze()}async closePromise(){throw Ze()}closeSync(){throw Ze()}createWriteStream(){throw Ze()}createReadStream(){throw Ze()}async realpathPromise(){throw Ze()}realpathSync(){throw Ze()}async readdirPromise(){throw Ze()}readdirSync(){throw Ze()}async existsPromise(e){throw Ze()}existsSync(e){throw Ze()}async accessPromise(){throw Ze()}accessSync(){throw Ze()}async statPromise(){throw Ze()}statSync(){throw Ze()}async fstatPromise(e){throw Ze()}fstatSync(e){throw Ze()}async lstatPromise(e){throw Ze()}lstatSync(e){throw Ze()}async fchmodPromise(){throw Ze()}fchmodSync(){throw Ze()}async chmodPromise(){throw Ze()}chmodSync(){throw Ze()}async fchownPromise(){throw Ze()}fchownSync(){throw Ze()}async chownPromise(){throw Ze()}chownSync(){throw Ze()}async mkdirPromise(){throw Ze()}mkdirSync(){throw Ze()}async rmdirPromise(){throw Ze()}rmdirSync(){throw Ze()}async linkPromise(){throw Ze()}linkSync(){throw Ze()}async symlinkPromise(){throw Ze()}symlinkSync(){throw Ze()}async renamePromise(){throw Ze()}renameSync(){throw Ze()}async copyFilePromise(){throw Ze()}copyFileSync(){throw Ze()}async appendFilePromise(){throw Ze()}appendFileSync(){throw Ze()}async writeFilePromise(){throw Ze()}writeFileSync(){throw Ze()}async unlinkPromise(){throw Ze()}unlinkSync(){throw Ze()}async utimesPromise(){throw Ze()}utimesSync(){throw Ze()}async readFilePromise(){throw Ze()}readFileSync(){throw Ze()}async readlinkPromise(){throw Ze()}readlinkSync(){throw Ze()}async truncatePromise(){throw Ze()}truncateSync(){throw Ze()}async ftruncatePromise(e,t){throw Ze()}ftruncateSync(e,t){throw Ze()}watch(){throw Ze()}watchFile(){throw Ze()}unwatchFile(){throw Ze()}},jp=wS;jp.instance=new wS;var vg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var Wge=/^[0-9]+$/,BS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,zge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(zge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Kn=class extends PA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Kn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|Vi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&gn)!==Vi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&gn)!==Vi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Hr("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&gn)!==Vi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&gn)!==Vi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Hr("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&gn)!==Vi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Hr("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Hr("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>iI(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Gp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=dK(n,".zip");else for(let o of this.fileExtensions)if(s=dK(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Me.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Pg=J("util");var sI=J("url"),CK=J("util");var nI=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof sI.URL)return(0,sI.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,CK.inspect)(t)}`)}};var mK=J("readline"),Fi=Symbol("kBaseFs"),wa=Symbol("kFd"),DA=Symbol("kClosePromise"),oI=Symbol("kCloseResolve"),aI=Symbol("kCloseReject"),xg=Symbol("kRefs"),Ws=Symbol("kRef"),zs=Symbol("kUnref"),Vge,Xge,Zge,_ge,Jp=class{constructor(e,t){this[Vge]=1;this[Xge]=void 0;this[Zge]=void 0;this[_ge]=void 0;this[Fi]=t,this[wa]=e}get fd(){return this[wa]}async appendFile(e,t){var i;try{this[Ws](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Fi].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[zs]()}}async chown(e,t){try{return this[Ws](this.chown),await this[Fi].fchownPromise(this.fd,e,t)}finally{this[zs]()}}async chmod(e){try{return this[Ws](this.chmod),await this[Fi].fchmodPromise(this.fd,e)}finally{this[zs]()}}createReadStream(e){return this[Fi].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Fi].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Ws](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Fi].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[zs]()}}async readFile(e){var t;try{this[Ws](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Fi].readFilePromise(this.fd,i)}finally{this[zs]()}}readLines(e){return(0,mK.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ws](this.stat),await this[Fi].fstatPromise(this.fd,e)}finally{this[zs]()}}async truncate(e){try{return this[Ws](this.truncate),await this[Fi].ftruncatePromise(this.fd,e)}finally{this[zs]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Ws](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Fi].writeFilePromise(this.fd,e,n)}finally{this[zs]()}}async write(...e){try{if(this[Ws](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[zs]()}}async writev(e,t){try{this[Ws](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e){let s=await this.write(n);i+=s.bytesWritten}return{buffers:e,bytesWritten:i}}finally{this[zs]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[wa]===-1)return Promise.resolve();if(this[DA])return this[DA];if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[DA]=this[Fi].closePromise(e).finally(()=>{this[DA]=void 0})}else this[DA]=new Promise((e,t)=>{this[oI]=e,this[aI]=t}).finally(()=>{this[DA]=void 0,this[aI]=void 0,this[oI]=void 0});return this[DA]}[(Fi,wa,Vge=xg,Xge=DA,Zge=oI,_ge=aI,Ws)](e){if(this[wa]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[xg]++}[zs](){if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[Fi].closePromise(e).then(this[oI],this[aI])}}};var $ge=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),EK=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function bS(r,e){e=new nI(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Pg.promisify.custom])<"u"&&(s[Pg.promisify.custom]=o[Pg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of EK){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of $ge){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of EK){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof Jp?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new Jp(o,e)})}}r.read[Pg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Pg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function AI(r,e){let t=Object.create(r);return bS(t,e),t}var wK=Pe(J("os"));function IK(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var Vs=new Set,QS=null;function yK(){if(QS)return QS;let r=K.toPortablePath(wK.default.tmpdir()),e=O.realpathSync(r);return process.once("exit",()=>{O.rmtempSync()}),QS={tmpdir:r,realTmpdir:e}}var O=Object.assign(new $t,{detachTemp(r){Vs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=yK();for(;;){let i=IK("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=yK();for(;;){let i=IK("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Vs.values()).map(async r=>{try{await O.removePromise(r,{maxRetries:0}),Vs.delete(r)}catch{}}))},rmtempSync(){for(let r of Vs)try{O.removeSync(r),Vs.delete(r)}catch{}}});var fk=Pe(TS());var td={};ut(td,{parseResolution:()=>hI,parseShell:()=>uI,parseSyml:()=>yi,stringifyArgument:()=>KS,stringifyArgumentSegment:()=>US,stringifyArithmeticExpression:()=>fI,stringifyCommand:()=>OS,stringifyCommandChain:()=>Fg,stringifyCommandChainThen:()=>MS,stringifyCommandLine:()=>gI,stringifyCommandLineThen:()=>LS,stringifyEnvSegment:()=>cI,stringifyRedirectArgument:()=>zp,stringifyResolution:()=>pI,stringifyShell:()=>Rg,stringifyShellLine:()=>Rg,stringifySyml:()=>ba,stringifyValueArgument:()=>_l});var gU=Pe(uU());function uI(r,e={isGlobPattern:()=>!1}){try{return(0,gU.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Rg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${gI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function gI(r){return`${Fg(r.chain)}${r.then?` ${LS(r.then)}`:""}`}function LS(r){return`${r.type} ${gI(r.line)}`}function Fg(r){return`${OS(r)}${r.then?` ${MS(r.then)}`:""}`}function MS(r){return`${r.type} ${Fg(r.chain)}`}function OS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>cI(e)).join(" ")} `:""}${r.args.map(e=>KS(e)).join(" ")}`;case"subshell":return`(${Rg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"group":return`{ ${Rg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>cI(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function cI(r){return`${r.name}=${r.args[0]?_l(r.args[0]):""}`}function KS(r){switch(r.type){case"redirection":return zp(r);case"argument":return _l(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function zp(r){return`${r.subtype} ${r.args.map(e=>_l(e)).join(" ")}`}function _l(r){return r.segments.map(e=>US(e)).join("")}function US(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${Rg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>_l(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>_l(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${fI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function fI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(fI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var pU=Pe(hU());function hI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,pU.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function pI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var vI=Pe(sH()),cH=Pe(aH()),Ade=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,AH=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],SI=class{constructor(e){this.data=e}};function lH(r){return r.match(Ade)?r:JSON.stringify(r)}function uH(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>uH(r[e])):!1}function $S(r,e,t){if(r===null)return`null +`}function Vl(r,e){return e.replace(/\r?\n/g,Wge(r))}var Qg=J("fs"),IS=J("stream"),dK=J("util"),yS=Pe(J("zlib"));var fK=Pe(J("fs"));var $t=class extends xA{constructor(t=fK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var pK=J("events");function hK(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var bg=class extends pK.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new bg(t,i,n);return s.start(),s}start(){hK(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){hK(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new Bg:new Ia;return WE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;gS(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var rI=new WeakMap;function iI(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=rI.get(r);typeof l>"u"&&rI.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=bg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Gp(r,e,t){let i=rI.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Yp(r){let e=rI.get(r);if(!(typeof e>"u"))for(let t of e.keys())Gp(r,t)}var Xl="mixed";function zge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(typeof r=="number"&&Number.isFinite(r))return r<0?Date.now()/1e3:r;if(dK.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function ES(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends xA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Xl,t!=null||(t=ES()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=Lp();else throw a}else this.stats=Lp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Me.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw $E("archive closed, close");Yp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Tp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,ES(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Me.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return tI(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Ur("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Ur("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Ur("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new IS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw un(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new IS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw $E(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Me.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=Qg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`access '${t}'`);if(this.readOnly&&i&Qg.constants.W_OK)throw un(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Ur("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Js(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw Qo(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),T=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new Ia,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:T,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?zE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,T=0,H=Object.assign(new Ia,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:T});return n.bigint===!0?zE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw $E(`archive closed, ${t}`);let o=x.resolve(Me.root,i);if(o==="/")return Me.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Js(t)}if(!c)throw Qo(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1),0);if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,1,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,1);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Me.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{yS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=yS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw un(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw un(`copyfile '${t} -> '${i}'`);if((n&Qg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Kp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw vA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(Qg.constants.COPYFILE_EXCL|Qg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw eI(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Ur(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw un(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Up(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw un(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Up(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw vA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw un(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw un(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,zge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw un(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw eI(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw un(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Qo(`rmdir '${t}'`);if(s.size>0)throw lK(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw vA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Me.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw cK(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw un(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Up(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw eI(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`open '${t}'`);if(this.listings.has(n))throw Up("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw Qo(`open '${t}'`);if(this.listings.has(i))throw vA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw vA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Me.root,t);return iI(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Me.root,t);return Gp(this,n,i)}};var pi=class extends ya{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var So=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var qt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var CK=Me.root,vo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Me.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(CK,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(CK,this.pathUtils.relative(this.target,t))}};var Sg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var Ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),wS=class extends ya{constructor(){super(x)}getExtractHint(){throw Ze()}getRealPath(){throw Ze()}resolve(){throw Ze()}async openPromise(){throw Ze()}openSync(){throw Ze()}async opendirPromise(){throw Ze()}opendirSync(){throw Ze()}async readPromise(){throw Ze()}readSync(){throw Ze()}async writePromise(){throw Ze()}writeSync(){throw Ze()}async closePromise(){throw Ze()}closeSync(){throw Ze()}createWriteStream(){throw Ze()}createReadStream(){throw Ze()}async realpathPromise(){throw Ze()}realpathSync(){throw Ze()}async readdirPromise(){throw Ze()}readdirSync(){throw Ze()}async existsPromise(e){throw Ze()}existsSync(e){throw Ze()}async accessPromise(){throw Ze()}accessSync(){throw Ze()}async statPromise(){throw Ze()}statSync(){throw Ze()}async fstatPromise(e){throw Ze()}fstatSync(e){throw Ze()}async lstatPromise(e){throw Ze()}lstatSync(e){throw Ze()}async fchmodPromise(){throw Ze()}fchmodSync(){throw Ze()}async chmodPromise(){throw Ze()}chmodSync(){throw Ze()}async fchownPromise(){throw Ze()}fchownSync(){throw Ze()}async chownPromise(){throw Ze()}chownSync(){throw Ze()}async mkdirPromise(){throw Ze()}mkdirSync(){throw Ze()}async rmdirPromise(){throw Ze()}rmdirSync(){throw Ze()}async linkPromise(){throw Ze()}linkSync(){throw Ze()}async symlinkPromise(){throw Ze()}symlinkSync(){throw Ze()}async renamePromise(){throw Ze()}renameSync(){throw Ze()}async copyFilePromise(){throw Ze()}copyFileSync(){throw Ze()}async appendFilePromise(){throw Ze()}appendFileSync(){throw Ze()}async writeFilePromise(){throw Ze()}writeFileSync(){throw Ze()}async unlinkPromise(){throw Ze()}unlinkSync(){throw Ze()}async utimesPromise(){throw Ze()}utimesSync(){throw Ze()}async readFilePromise(){throw Ze()}readFileSync(){throw Ze()}async readlinkPromise(){throw Ze()}readlinkSync(){throw Ze()}async truncatePromise(){throw Ze()}truncateSync(){throw Ze()}async ftruncatePromise(e,t){throw Ze()}ftruncateSync(e,t){throw Ze()}watch(){throw Ze()}watchFile(){throw Ze()}unwatchFile(){throw Ze()}},jp=wS;jp.instance=new wS;var vg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var Vge=/^[0-9]+$/,BS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Xge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(Xge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Kn=class extends xA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Kn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|Vi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&gn)!==Vi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&gn)!==Vi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&gn)!==Vi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&gn)!==Vi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&gn)!==Vi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>iI(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Gp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=mK(n,".zip");else for(let o of this.fileExtensions)if(s=mK(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Me.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Pg=J("util");var sI=J("url"),EK=J("util");var nI=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof sI.URL)return(0,sI.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,EK.inspect)(t)}`)}};var IK=J("readline"),Fi=Symbol("kBaseFs"),wa=Symbol("kFd"),PA=Symbol("kClosePromise"),oI=Symbol("kCloseResolve"),aI=Symbol("kCloseReject"),xg=Symbol("kRefs"),Ws=Symbol("kRef"),zs=Symbol("kUnref"),Zge,_ge,$ge,efe,Jp=class{constructor(e,t){this[Zge]=1;this[_ge]=void 0;this[$ge]=void 0;this[efe]=void 0;this[Fi]=t,this[wa]=e}get fd(){return this[wa]}async appendFile(e,t){var i;try{this[Ws](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Fi].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[zs]()}}async chown(e,t){try{return this[Ws](this.chown),await this[Fi].fchownPromise(this.fd,e,t)}finally{this[zs]()}}async chmod(e){try{return this[Ws](this.chmod),await this[Fi].fchmodPromise(this.fd,e)}finally{this[zs]()}}createReadStream(e){return this[Fi].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Fi].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Ws](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Fi].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[zs]()}}async readFile(e){var t;try{this[Ws](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Fi].readFilePromise(this.fd,i)}finally{this[zs]()}}readLines(e){return(0,IK.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ws](this.stat),await this[Fi].fstatPromise(this.fd,e)}finally{this[zs]()}}async truncate(e){try{return this[Ws](this.truncate),await this[Fi].ftruncatePromise(this.fd,e)}finally{this[zs]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Ws](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Fi].writeFilePromise(this.fd,e,n)}finally{this[zs]()}}async write(...e){try{if(this[Ws](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[zs]()}}async writev(e,t){try{this[Ws](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e){let s=await this.write(n);i+=s.bytesWritten}return{buffers:e,bytesWritten:i}}finally{this[zs]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[wa]===-1)return Promise.resolve();if(this[PA])return this[PA];if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[PA]=this[Fi].closePromise(e).finally(()=>{this[PA]=void 0})}else this[PA]=new Promise((e,t)=>{this[oI]=e,this[aI]=t}).finally(()=>{this[PA]=void 0,this[aI]=void 0,this[oI]=void 0});return this[PA]}[(Fi,wa,Zge=xg,_ge=PA,$ge=oI,efe=aI,Ws)](e){if(this[wa]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[xg]++}[zs](){if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[Fi].closePromise(e).then(this[oI],this[aI])}}};var tfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),yK=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function bS(r,e){e=new nI(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Pg.promisify.custom])<"u"&&(s[Pg.promisify.custom]=o[Pg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of yK){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of tfe){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of yK){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof Jp?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new Jp(o,e)})}}r.read[Pg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Pg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function AI(r,e){let t=Object.create(r);return bS(t,e),t}var bK=Pe(J("os"));function wK(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var Vs=new Set,QS=null;function BK(){if(QS)return QS;let r=K.toPortablePath(bK.default.tmpdir()),e=O.realpathSync(r);return process.once("exit",()=>{O.rmtempSync()}),QS={tmpdir:r,realTmpdir:e}}var O=Object.assign(new $t,{detachTemp(r){Vs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Vs.values()).map(async r=>{try{await O.removePromise(r,{maxRetries:0}),Vs.delete(r)}catch{}}))},rmtempSync(){for(let r of Vs)try{O.removeSync(r),Vs.delete(r)}catch{}}});var fk=Pe(TS());var td={};ut(td,{parseResolution:()=>hI,parseShell:()=>uI,parseSyml:()=>yi,stringifyArgument:()=>KS,stringifyArgumentSegment:()=>US,stringifyArithmeticExpression:()=>fI,stringifyCommand:()=>OS,stringifyCommandChain:()=>Fg,stringifyCommandChainThen:()=>MS,stringifyCommandLine:()=>gI,stringifyCommandLineThen:()=>LS,stringifyEnvSegment:()=>cI,stringifyRedirectArgument:()=>zp,stringifyResolution:()=>pI,stringifyShell:()=>Rg,stringifyShellLine:()=>Rg,stringifySyml:()=>ba,stringifyValueArgument:()=>_l});var hU=Pe(fU());function uI(r,e={isGlobPattern:()=>!1}){try{return(0,hU.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Rg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${gI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function gI(r){return`${Fg(r.chain)}${r.then?` ${LS(r.then)}`:""}`}function LS(r){return`${r.type} ${gI(r.line)}`}function Fg(r){return`${OS(r)}${r.then?` ${MS(r.then)}`:""}`}function MS(r){return`${r.type} ${Fg(r.chain)}`}function OS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>cI(e)).join(" ")} `:""}${r.args.map(e=>KS(e)).join(" ")}`;case"subshell":return`(${Rg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"group":return`{ ${Rg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>cI(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function cI(r){return`${r.name}=${r.args[0]?_l(r.args[0]):""}`}function KS(r){switch(r.type){case"redirection":return zp(r);case"argument":return _l(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function zp(r){return`${r.subtype} ${r.args.map(e=>_l(e)).join(" ")}`}function _l(r){return r.segments.map(e=>US(e)).join("")}function US(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${Rg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>_l(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>_l(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${fI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function fI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(fI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var CU=Pe(dU());function hI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,CU.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function pI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var vI=Pe(aH()),gH=Pe(lH()),cde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,cH=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],SI=class{constructor(e){this.data=e}};function uH(r){return r.match(cde)?r:JSON.stringify(r)}function fH(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>fH(r[e])):!1}function $S(r,e,t){if(r===null)return`null `;if(typeof r=="number"||typeof r=="boolean")return`${r.toString()} -`;if(typeof r=="string")return`${lH(r)} +`;if(typeof r=="string")return`${uH(r)} `;if(Array.isArray(r)){if(r.length===0)return`[] `;let i=" ".repeat(e);return` -${r.map(s=>`${i}- ${$S(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof SI?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=AH.indexOf(l),g=AH.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!uH(i[l])).map((l,c)=>{let u=i[l],g=lH(l),f=$S(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g} +${r.map(s=>`${i}- ${$S(s,e+1,!1)}`).join("")}`}if(typeof r=="object"&&r){let i,n;r instanceof SI?(i=r.data,n=!1):(i=r,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=cH.indexOf(l),g=cH.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!fH(i[l])).map((l,c)=>{let u=i[l],g=uH(l),f=$S(u,e+1,!0),h=c>0||t?s:"",p=g.length>1024?`? ${g} ${h}:`:`${g}:`,C=f.startsWith(` `)?f:` ${f}`;return`${h}${p}${C}`}).join(e===0?` `:"")||` `;return t?` ${a}`:`${a}`}throw new Error(`Unsupported value type (${r})`)}function ba(r){try{let e=$S(r,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}ba.PreserveOrdering=SI;function lde(r){return r.endsWith(` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}ba.PreserveOrdering=SI;function ude(r){return r.endsWith(` `)||(r+=` -`),(0,cH.parse)(r)}var cde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function ude(r){if(cde.test(r))return lde(r);let e=(0,vI.safeLoad)(r,{schema:vI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function yi(r){return ude(r)}var dz=Pe(fH()),Kw=Pe(Ac());var ud={};ut(ud,{Builtins:()=>hv,Cli:()=>Gn,Command:()=>ve,Option:()=>z,UsageError:()=>Qe,formatMarkdownish:()=>Ti});var tv="",wi="\0";var rv=/^(-h|--help)(?:=([0-9]+))?$/,xI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,CH=/^-[a-zA-Z]{2,}$/,iv=/^([^=]+)=([\s\S]*)$/,nv=process.env.DEBUG_CLI==="1";var Qe=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Hg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} +`),(0,gH.parse)(r)}var gde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function fde(r){if(gde.test(r))return ude(r);let e=(0,vI.safeLoad)(r,{schema:vI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function yi(r){return fde(r)}var mz=Pe(pH()),Kw=Pe(Ac());var ud={};ut(ud,{Builtins:()=>hv,Cli:()=>Gn,Command:()=>ve,Option:()=>z,UsageError:()=>Qe,formatMarkdownish:()=>Ti});var tv="",wi="\0";var rv=/^(-h|--help)(?:=([0-9]+))?$/,xI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,EH=/^-[a-zA-Z]{2,}$/,iv=/^([^=]+)=([\s\S]*)$/,nv=process.env.DEBUG_CLI==="1";var Qe=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Hg=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} ${this.candidates.map(({usage:n})=>`$ ${n}`).join(` `)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: @@ -340,23 +340,23 @@ ${sv(e)}`}},PI=class extends Error{constructor(e,t){super(),this.input=e,this.us ${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` `)} -${sv(e)}`}},sv=r=>`While running ${r.filter(e=>e!==wi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var rd=Symbol("clipanion/isOption");function Xi(r){return{...r,[rd]:!0}}function Po(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function DI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function id(r,e){return e.length===1?new Qe(`${r}: ${DI(e[0],!0)}`):new Qe(`${r}: +${sv(e)}`}},sv=r=>`While running ${r.filter(e=>e!==wi).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;var rd=Symbol("clipanion/isOption");function Xi(r){return{...r,[rd]:!0}}function Do(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function DI(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function id(r,e){return e.length===1?new Qe(`${r}: ${DI(e[0],!0)}`):new Qe(`${r}: ${e.map(t=>` -- ${DI(t)}`).join("")}`)}function nd(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw id(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ls(),hn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw id("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};ve.isOption=rd;ve.Default=[];var Av=Array(80).fill("\u2501");for(let r=0;r<=24;++r)Av[Av.length-r]=`\x1B[38;5;${232+r}m\u2501`;var lv={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length<80-5?` ${Av.slice(r.length+5).join("")}`:":"}\x1B[0m`,bold:r=>`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},vH={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function zde(r){let e=r.split(` +- ${DI(t)}`).join("")}`)}function nd(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw id(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}var ve=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(ls(),hn)),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw id("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};ve.isOption=rd;ve.Default=[];var Av=Array(80).fill("\u2501");for(let r=0;r<=24;++r)Av[Av.length-r]=`\x1B[38;5;${232+r}m\u2501`;var lv={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length<80-5?` ${Av.slice(r.length+5).join("")}`:":"}\x1B[0m`,bold:r=>`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},PH={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function Xde(r){let e=r.split(` `),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` `)}function Ti(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` -`),r=zde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 +`),r=Xde(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 `),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` `);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` `)}).join(` `)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r} -`:""}var fv=Pe(J("tty"),1);function pn(r){nv&&console.log(r)}var xH={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function PH(){return{nodes:[_i(),_i(),_i()]}}function Vde(r){let e=PH(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function Zde(r,{prefix:e=""}={}){if(nv){pn(`${e}Nodes are:`);for(let t=0;tl!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new Hg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=tCe(a)}if(i.length>0){pn(" Results:");for(let s of i)pn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else pn(" No results");return i}function _de(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,wi)){for(let{to:t}of r.statics[wi])if(t===1)return!0}return!1}function $de(r,e,t){let i=t&&e.length>0?[""]:[],n=DH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:T}of C.statics[v])T==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=_de(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==wi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=sCe(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function eCe(r,e){let t=DH(r,[...e,wi]);return rCe(e,t.map(({state:i})=>i))}function tCe(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function rCe(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Hg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=iCe(c);if(u.length>1)throw new PI(r,u.map(g=>g.candidateUsage));return u[0]}function iCe(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...xH,path:kH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function kH(r,e,...t){return e===void 0?Array.from(r):kH(r.filter((i,n)=>i===e[n]),...t)}function _i(){return{dynamics:[],shortcuts:[],statics:{}}}function RH(r){return r===1||r===2}function cv(r,e=0){return{to:RH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function nCe(r,e=0){let t=_i();for(let[i,n]of r.dynamics)t.dynamics.push([i,cv(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(cv(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>cv(s,e));return t}function Bi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Gg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function Qa(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function RI(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function sCe(r,e){let t=Array.isArray(r)?NI[r[0]]:NI[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var NI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&CH.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(iv);return!r.ignoreOptions&&!!n&&xI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&rv.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&&xI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!xI.test(e)};NI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var uv={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(iv);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Hn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(rv);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===wi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Hn=Symbol(),gv=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Hn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Hn?this.arity.extra.push(e):this.arity.extra!==Hn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Hn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Hn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=PH(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=Xs(e,_i()),Qa(e,0,tv,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=Xs(e,_i());Gg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=Xs(e,_i());Bi(e,l,"isHelp",f,["useHelp",this.cliIndex]),Qa(e,f,wi,1,["setSelectedIndex",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&Qa(e,l,wi,2,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Qa(e,h,wi,2,["setError","Not enough positional arguments"]),Bi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Hn||this.arity.extra.length>0){let f=Xs(e,_i());if(Gg(e,c,f),this.arity.extra===Hn){let h=Xs(e,_i());this.arity.proxy||this.registerOptions(e,h),Bi(e,c,s,h,"pushExtraNoLimits"),Bi(e,h,s,h,"pushExtraNoLimits"),Gg(e,h,f)}else for(let h=0;h0&&Qa(e,u,wi,2,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Bi(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Bi(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=Xs(e,_i());for(let o of i.names)Bi(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eeCe(i,n),suggest:(n,s)=>$de(i,n,s)}}};var qg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new qg(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`:""}var fv=Pe(J("tty"),1);function pn(r){nv&&console.log(r)}var DH={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:-1};function kH(){return{nodes:[_i(),_i(),_i()]}}function Zde(r){let e=kH(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(0)}function $de(r,{prefix:e=""}={}){if(nv){pn(`${e}Nodes are:`);for(let t=0;tl!==2).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===2))throw new Hg(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=iCe(a)}if(i.length>0){pn(" Results:");for(let s of i)pn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else pn(" No results");return i}function eCe(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,wi)){for(let{to:t}of r.statics[wi])if(t===1)return!0}return!1}function tCe(r,e,t){let i=t&&e.length>0?[""]:[],n=RH(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],y=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=y[0];for(let{to:D,reducer:T}of C.statics[v])T==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=eCe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==wi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===2)continue;let p=aCe(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function rCe(r,e){let t=RH(r,[...e,wi]);return nCe(e,t.map(({state:i})=>i))}function iCe(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function nCe(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Hg(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=sCe(c);if(u.length>1)throw new PI(r,u.map(g=>g.candidateUsage));return u[0]}function sCe(r){let e=[],t=[];for(let i of r)i.selectedIndex===-1?t.push(i):e.push(i);return t.length>0&&e.push({...DH,path:FH(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function FH(r,e,...t){return e===void 0?Array.from(r):FH(r.filter((i,n)=>i===e[n]),...t)}function _i(){return{dynamics:[],shortcuts:[],statics:{}}}function NH(r){return r===1||r===2}function cv(r,e=0){return{to:NH(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function oCe(r,e=0){let t=_i();for(let[i,n]of r.dynamics)t.dynamics.push([i,cv(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(cv(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>cv(s,e));return t}function Bi(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Gg(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function Qa(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function RI(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function aCe(r,e){let t=Array.isArray(r)?NI[r[0]]:NI[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var NI={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&&EH.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(iv);return!r.ignoreOptions&&!!n&&xI.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&&rv.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&&xI.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!xI.test(e)};NI.isOption.suggest=(r,e,t=!0)=>t?null:[e];var uv={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(iv);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Hn})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(rv);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===wi?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Hn=Symbol(),gv=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Hn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Hn?this.arity.extra.push(e):this.arity.extra!==Hn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Hn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Hn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=kH(),t=0,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=Xs(e,_i()),Qa(e,0,tv,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=Xs(e,_i());Gg(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=Xs(e,_i());Bi(e,l,"isHelp",f,["useHelp",this.cliIndex]),Qa(e,f,wi,1,["setSelectedIndex",-1]),this.registerOptions(e,l)}this.arity.leading.length>0&&Qa(e,l,wi,2,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Qa(e,h,wi,2,["setError","Not enough positional arguments"]),Bi(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Hn||this.arity.extra.length>0){let f=Xs(e,_i());if(Gg(e,c,f),this.arity.extra===Hn){let h=Xs(e,_i());this.arity.proxy||this.registerOptions(e,h),Bi(e,c,s,h,"pushExtraNoLimits"),Bi(e,h,s,h,"pushExtraNoLimits"),Gg(e,h,f)}else for(let h=0;h0&&Qa(e,u,wi,2,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Bi(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Bi(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=Xs(e,_i());for(let o of i.names)Bi(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&erCe(i,n),suggest:(n,s)=>tCe(i,n,s)}}};var qg=class extends ve{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new qg(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: `),this.context.stdout.write(` `);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` `),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var FH=Symbol("clipanion/errorCommand");function oCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Gn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new jg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Gn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return qg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[FH]=a,l}}break}}async run(e,t){var i;let n,s={...Gn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?aCe(s):TH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ti(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ti(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ti(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ti(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ti(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`)}}};var TH=Symbol("clipanion/errorCommand");function ACe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Gn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new jg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Gn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return qg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[TH]=a,l}}break}}async run(e,t){var i;let n,s={...Gn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?lCe(s):MH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ti(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ti(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ti(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ti(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ti(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` `),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} `,a+=` `);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} @@ -382,99 +382,99 @@ ${e.map(t=>` `;for(let{commandClass:C,usage:y}of h){let B=C.usage.description||"undocumented";a+=` `,a+=` ${this.format(t).bold(y)} `,a+=` ${Ti(B,{format:this.format(t),paragraphs:!1})}`}}a+=` -`,a+=Ti("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[FH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`,a+=Ti("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[TH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} `;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=` `,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Gn.defaultContext.colorDepth>1)?lv:vH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Gn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():oCe()};var NH;function aCe(r){let e=NH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return TH;let{AsyncLocalStorage:t}=J("async_hooks");e=NH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function TH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>Ad,HelpCommand:()=>ld,VersionCommand:()=>cd});var Ad=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Gn.defaultContext.colorDepth>1)?lv:PH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Gn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():ACe()};var LH;function lCe(r){let e=LH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return MH;let{AsyncLocalStorage:t}=J("async_hooks");e=LH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function MH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>Ad,HelpCommand:()=>ld,VersionCommand:()=>cd});var Ad=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} `)}};Ad.paths=[["--clipanion=definitions"]];var ld=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};ld.paths=[["-h"],["--help"]];var cd=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};cd.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>LH,Boolean:()=>MH,Counter:()=>OH,Proxy:()=>KH,Rest:()=>UH,String:()=>HH,applyValidator:()=>nd,cleanValidationError:()=>DI,formatError:()=>id,isOptionSymbol:()=>rd,makeCommandOption:()=>Xi,rerouteArguments:()=>Po});function LH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function MH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function OH(r,e,t){let[i,n]=Po(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function KH(r={}){return Xi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function UH(r={}){return Xi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Hn||a.extra===!1&&oo)}})}function ACe(r,e,t){let[i,n]=Po(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?nd(g!=null?g:c,f,n.validator):f}})}function lCe(r={}){let{required:e=!0}=r;return Xi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function NA(r){return`YN${r.toString(10).padStart(4,"0")}`}function LI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>b8,areIdentsEqual:()=>sC,areLocatorsEqual:()=>oC,areVirtualPackagesEquivalent:()=>NSe,bindDescriptor:()=>RSe,bindLocator:()=>FSe,convertDescriptorToLocator:()=>Sw,convertLocatorToDescriptor:()=>HD,convertPackageToLocator:()=>kSe,convertToIdent:()=>DSe,convertToManifestRange:()=>MSe,copyPackage:()=>rC,devirtualizeDescriptor:()=>iC,devirtualizeLocator:()=>nC,getIdentVendorPath:()=>qD,isPackageCompatible:()=>kw,isVirtualDescriptor:()=>WA,isVirtualLocator:()=>jo,makeDescriptor:()=>_t,makeIdent:()=>qo,makeLocator:()=>nn,makeRange:()=>xw,parseDescriptor:()=>zA,parseFileStyleRange:()=>TSe,parseIdent:()=>tn,parseLocator:()=>Dc,parseRange:()=>vf,prettyDependent:()=>nP,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>jD,prettyRange:()=>Dw,prettyReference:()=>AC,prettyResolution:()=>iP,prettyWorkspace:()=>lC,renamePackage:()=>tC,slugifyIdent:()=>UD,slugifyLocator:()=>xf,sortDescriptors:()=>Pf,stringifyDescriptor:()=>Sn,stringifyIdent:()=>Mt,stringifyLocator:()=>Es,tryParseDescriptor:()=>aC,tryParseIdent:()=>Q8,tryParseLocator:()=>vw,virtualizeDescriptor:()=>GD,virtualizePackage:()=>YD});var Sf=Pe(J("querystring")),y8=Pe(Xr()),w8=Pe(dJ());var ee={};ut(ee,{LogLevel:()=>Xy,Style:()=>_x,Type:()=>Ue,addLogFilterSupport:()=>Xd,applyColor:()=>Qn,applyHyperlink:()=>If,applyStyle:()=>Vy,json:()=>Bc,jsonOrPretty:()=>g0e,mark:()=>rP,pretty:()=>$e,prettyField:()=>Ho,prettyList:()=>tP,supportsColor:()=>zy,supportsHyperlinks:()=>eP,tuple:()=>no});var Vd=Pe(wx()),zd=Pe(Ac());var f3=Pe(Bn()),h3=Pe(r3());var Ie={};ut(Ie,{AsyncActions:()=>Gx,BufferStream:()=>Hx,CachingStrategy:()=>u3,DefaultStream:()=>Yx,allSettledSafe:()=>io,assertNever:()=>qx,bufferStream:()=>Cf,buildIgnorePattern:()=>A0e,convertMapsToIndexableObjects:()=>Jy,dynamicRequire:()=>mf,escapeRegExp:()=>r0e,getArrayWithDefault:()=>hf,getFactoryWithDefault:()=>Ta,getMapWithDefault:()=>pf,getSetWithDefault:()=>wc,isIndexableObject:()=>Ux,isPathLike:()=>l0e,isTaggedYarnVersion:()=>t0e,mapAndFilter:()=>Uo,mapAndFind:()=>Jd,overrideType:()=>i0e,parseBoolean:()=>Wd,parseOptionalBoolean:()=>g3,prettifyAsyncErrors:()=>df,prettifySyncErrors:()=>Jx,releaseAfterUseAsync:()=>s0e,replaceEnvVariables:()=>Wx,sortMap:()=>bn,tryParseOptionalBoolean:()=>zx,validateEnum:()=>n0e});var n3=Pe(Bn()),s3=Pe(Jg()),o3=Pe(Xr()),jx=J("stream");function t0e(r){return!!(o3.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function r0e(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function i0e(r){}function qx(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function n0e(r,e){let t=Object.values(r);if(!t.includes(e))throw new Qe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function Uo(r,e){let t=[];for(let i of r){let n=e(i);n!==a3&&t.push(n)}return t}var a3=Symbol();Uo.skip=a3;function Jd(r,e){for(let t of r){let i=e(t);if(i!==A3)return i}}var A3=Symbol();Jd.skip=A3;function Ux(r){return typeof r=="object"&&r!==null}async function io(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Jy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Ux(r))for(let e of Object.keys(r)){let t=r[e];Ux(t)&&(r[e]=Jy(t))}return r}function Ta(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function hf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function wc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function pf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function s0e(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function df(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Jx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Cf(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Hx=class extends jx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function o0e(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Gx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,s3.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=o0e());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},Yx=class extends jx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},qd=eval("require");function l3(r){return qd(K.fromPortablePath(r))}function c3(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=qd.cache[physicalPath];delete qd.cache[physicalPath];let result;try{result=l3(physicalPath);let freshCacheEntry=qd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{qd.cache[physicalPath]=currentCacheEntry}return result}var i3=new Map;function a0e(r){let e=i3.get(r),t=O.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=c3(r);return i3.set(r,{mtime:t.mtimeMs,instance:i}),i}var u3=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(u3||{});function mf(r,{cachingStrategy:e=2}={}){switch(e){case 0:return c3(r);case 1:return a0e(r);case 2:return l3(r);default:throw new Error("Unsupported caching strategy")}}function bn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function A0e(r){return r.length===0?null:r.map(e=>`(${n3.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Wx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Qe(`Environment variable not found (${n})`)})}function Wd(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function g3(r){return typeof r>"u"?r:Wd(r)}function zx(r){try{return g3(r)}catch{return null}}function l0e(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var Ef=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(Ef||{}),Vx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Vx||{}),Xx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Xx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},_x=(e=>(e[e.BOLD=2]="BOLD",e))(_x||{}),$x=zd.default.GITHUB_ACTIONS?{level:2}:Vd.default.supportsColor?{level:Vd.default.supportsColor.level}:{level:0},zy=$x.level!==0,eP=zy&&!zd.default.GITHUB_ACTIONS&&!zd.default.CIRCLE&&!zd.default.GITLAB,Zx=new Vd.default.Instance($x),c0e=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),ms=r=>r,Wy={[Ue.NUMBER]:ms({pretty:(r,e)=>Qn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:ms({pretty:(r,e)=>Ai(r,e),json:r=>Mt(r)}),[Ue.LOCATOR]:ms({pretty:(r,e)=>mt(r,e),json:r=>Es(r)}),[Ue.DESCRIPTOR]:ms({pretty:(r,e)=>tr(r,e),json:r=>Sn(r)}),[Ue.RESOLUTION]:ms({pretty:(r,{descriptor:e,locator:t})=>iP(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Sn(r),locator:e!==null?Es(e):null})}),[Ue.DEPENDENT]:ms({pretty:(r,{locator:e,descriptor:t})=>nP(r,e,t),json:({locator:r,descriptor:e})=>({locator:Es(r),descriptor:Sn(e)})}),[Ue.PACKAGE_EXTENSION]:ms({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,tn(e.selector))} \u27A4 ${Qn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Mt(r.parentDescriptor)} > ${Mt(r.descriptor)}`;case"PeerDependency":return`${Mt(r.parentDescriptor)} >> ${Mt(r.descriptor)}`;case"PeerDependencyMeta":return`${Mt(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:ms({pretty:(r,e)=>(r.get(e),If(r,Qn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:ms({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:ms({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Qn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:ms({pretty:(r,e)=>Qn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:ms({pretty:(r,{text:e,format:t,paragraphs:i})=>Ti(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function no(r,e){return[e,r]}function Vy(r,e,t){return r.get("enableColors")&&t&2&&(e=Vd.default.bold(e)),e}function Qn(r,e,t){if(!r.get("enableColors"))return e;let i=c0e.get(t);if(i===null)return e;let n=typeof i>"u"?t:$x.level>=3?i[0]:i[1],s=typeof n=="number"?Zx.ansi256(n):n.startsWith("#")?Zx.hex(n):Zx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var u0e=!!process.env.KONSOLE_VERSION;function If(r,e,t){return r.get("enableHyperlinks")?u0e?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function $e(r,e,t){if(e===null)return Qn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Wy,t))return Wy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Qn(r,e,t)}function tP(r,e,t,{separator:i=", "}={}){return[...e].map(n=>$e(r,n,t)).join(i)}function Bc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Wy,e))return Wy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function g0e(r,e,[t,i]){return r?Bc(t,i):$e(e,t,i)}function rP(r){return{Check:Qn(r,"\u2713","green"),Cross:Qn(r,"\u2718","red"),Question:Qn(r,"?","cyan")}}function Ho(r,{label:e,value:[t,i]}){return`${$e(r,e,Ue.CODE)}: ${$e(r,t,i)}`}var Xy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Xy||{});function Xd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([f3.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,h3.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(NA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>bw,checksumPattern:()=>Qw,makeHash:()=>rn});var Bw=J("crypto"),KD=Pe(OD());function rn(...r){let e=(0,Bw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function bw(r,{baseFs:e,algorithm:t}={baseFs:O,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,Bw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Qw(r,{cwd:e}){let i=(await(0,KD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,KD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await O.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await O.readlinkPromise(c))):u.isFile()&&l.push(await O.readFilePromise(c)),l.join("\0")})),o=(0,Bw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var eC="virtual:",xSe=5,B8=/(os|cpu|libc)=([a-z0-9_-]+)/,PSe=(0,w8.makeParser)(B8);function qo(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:rn(r,e),scope:r,name:e}}function _t(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:rn(r.identHash,e),range:e}}function nn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:rn(r.identHash,e),reference:e}}function DSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function Sw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function HD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function kSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function tC(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function rC(r){return tC(r,r)}function GD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return _t(r,`virtual:${e}#${r.range}`)}function YD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return tC(r,nn(r,`virtual:${e}#${r.reference}`))}function WA(r){return r.range.startsWith(eC)}function jo(r){return r.reference.startsWith(eC)}function iC(r){if(!WA(r))throw new Error("Not a virtual descriptor");return _t(r,r.range.replace(/^[^#]*#/,""))}function nC(r){if(!jo(r))throw new Error("Not a virtual descriptor");return nn(r,r.reference.replace(/^[^#]*#/,""))}function RSe(r,e){return r.range.includes("::")?r:_t(r,`${r.range}::${Sf.default.stringify(e)}`)}function FSe(r,e){return r.reference.includes("::")?r:nn(r,`${r.reference}::${Sf.default.stringify(e)}`)}function sC(r,e){return r.identHash===e.identHash}function b8(r,e){return r.descriptorHash===e.descriptorHash}function oC(r,e){return r.locatorHash===e.locatorHash}function NSe(r,e){if(!jo(r))throw new Error("Invalid package type");if(!jo(e))throw new Error("Invalid package type");if(!sC(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!b8(t,i))return!1}return!0}function tn(r){let e=Q8(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function Q8(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return qo(typeof t<"u"?t:null,i)}function zA(r,e=!1){let t=aC(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function aC(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return _t(qo(o,n),a)}function Dc(r,e=!1){let t=vw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function vw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return nn(qo(o,n),a)}function vf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?Sf.default.parse(s):s,a=typeof t[4]<"u"?Sf.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function TSe(r,{protocol:e}){let{selector:t,params:i}=vf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Dc(i.locator,!0),path:t}}function I8(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function LSe(r){return r===null?!1:Object.entries(r).length>0}function xw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${I8(e)}#`),n+=I8(t),LSe(i)&&(n+=`::${Sf.default.stringify(i)}`),n}function MSe(r){let{params:e,protocol:t,source:i,selector:n}=vf(r);for(let s in e)s.startsWith("__")&&delete e[s];return xw({protocol:t,source:i,params:e,selector:n})}function Mt(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Sn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Es(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function UD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function xf(r){let{protocol:e,selector:t}=vf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=y8.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Ur(a)}function Ai(r,e){return e.scope?`${$e(r,`@${e.scope}/`,Ue.SCOPE)}${$e(r,e.name,Ue.NAME)}`:`${$e(r,e.name,Ue.NAME)}`}function Pw(r){if(r.startsWith(eC)){let e=Pw(r.substring(r.indexOf("#")+1)),t=r.substring(eC.length,eC.length+xSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Dw(r,e){return`${$e(r,Pw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.RANGE)}${Dw(r,e.range)}`}function AC(r,e){return`${$e(r,Pw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.REFERENCE)}${AC(r,e.reference)}`}function jD(r){return`${Mt(r)}@${Pw(r.reference)}`}function Pf(r){return bn(r,[e=>Mt(e),e=>e.range])}function lC(r,e){return Ai(r,e.locator)}function iP(r,e,t){let i=WA(e)?iC(e):e;return t===null?`${tr(r,i)} \u2192 ${rP(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${AC(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function nP(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Dw(r,t.range)})`}function qD(r){return`node_modules/${Mt(r)}`}function kw(r,e){return r.conditions?PSe(r.conditions,t=>{let[,i,n]=t.match(B8),s=e[i];return s?s.includes(n):!0}):!0}var S8={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Mt(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Mt(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(_t(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=lC(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var F8=Pe(Xr());var cC=class{supportsDescriptor(e,t){return!!(e.range.startsWith(cC.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(cC.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(cC.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},jr=cC;jr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>P8.SemVer,clean:()=>KSe,satisfiesWithPrereleases:()=>kc,validRange:()=>so});var Rw=Pe(Xr()),P8=Pe(Xr()),v8=new Map;function kc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=v8.get(i);if(typeof n>"u")try{n=new Rw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{v8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Rw.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var x8=new Map;function so(r){if(r.indexOf(":")!==-1)return null;let e=x8.get(r);if(typeof e<"u")return e;try{e=new Rw.default.Range(r)}catch{e=null}return x8.set(r,e),e}var OSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function KSe(r){let e=OSe.exec(r);return e?e[1]:null}var VA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await VA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await VA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new VA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new VA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(k8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=D8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(k8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=D8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=tn(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=sn(e.main):this.main=null,typeof e.module=="string"?this.module=sn(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=sn(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(sn(s),typeof o=="string"?sn(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,sn(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=tn(s);this.bin.set(a.name,sn(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(jr.protocol)&&!so(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=_t(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=zA(s),l=this.ensureDependencyMeta(a),c=Fw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Fw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Fw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=zA(s),l=this.ensurePeerDependencyMeta(a),c=Fw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:hI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=sn(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=sn(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=sn(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(sn(s),typeof o=="string"?sn(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,sn(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,sn(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(sn(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l);let c=_t(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(JD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(JD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(JD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return VA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return VA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!F8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Mt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Mt(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Pf(i).map(o=>({[Mt(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Pf(n).map(o=>({[Mt(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Pf(this.devDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Pf(this.peerDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of bn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of bn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Sn(_t(tn(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[pI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=VA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function D8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function k8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function sn(r){return r.replace(/\\/g,"/")}function Fw(r,{yamlCompatibilityMode:e}){return e?zx(r):typeof r>"u"||typeof r=="boolean"?r:null}function R8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function JD(r,e){return e.length===1?R8(r,e[0]):`(${e.map(t=>R8(r,t)).join(" | ")})`}var cz=Pe(lz()),uz=J("stream"),gz=J("string_decoder");var Rve=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function Fve(r){return typeof r.reportCode<"u"}var vi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,cz.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/Rve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){Fve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new uz.PassThrough,i=new gz.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var Df=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var kf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var fz=Pe(Xr());var Rf=/^(?!v)[a-z0-9._-]+$/i,Nw=class{supportsDescriptor(e,t){return!!(so(e.range)||Rf.test(e.range))}supportsLocator(e,t){return!!(fz.default.valid(e.reference)||Rf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return tC(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return nn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ff=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return xf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new Qo(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Nf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Nf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Nf.protocol)}supportsDescriptor(e,t){return Nf.isVirtualDescriptor(e)}supportsLocator(e,t){return Nf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},fC=Nf;fC.protocol="virtual:";var Tf=class{supports(e){return!!e.reference.startsWith(jr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(jr.protocol.length))}};var Tw={};ut(Tw,{getDefaultGlobalFolder:()=>XD,getHomeFolder:()=>hC,isFolderInside:()=>ZD});var VD=J("os");function XD(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,VD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(hC(),".yarn/berry")}function hC(){return K.toPortablePath((0,VD.homedir)()||"/usr/local/share")}function ZD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var ws={};ut(ws,{availableParallelism:()=>ek,builtinModules:()=>_D,getArchitecture:()=>pC,getArchitectureName:()=>Lve,getArchitectureSet:()=>$D,openUrl:()=>Nve});var pz=Pe(J("module")),Ow=Pe(J("os"));var hz=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Nve=typeof hz<"u"?async r=>{try{return await tk(hz,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function _D(){return new Set(pz.default.builtinModules||Object.keys(process.binding("natives")))}function Tve(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=Jd(e,a=>{let l=a.match(t);if(!l)return Jd.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Lw,Mw;function pC(){return Lw=Lw!=null?Lw:{os:process.platform,cpu:process.arch,libc:Tve()}}function Lve(r=pC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function $D(){let r=pC();return Mw=Mw!=null?Mw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function ek(){return"availableParallelism"in Ow.default?Ow.default.availableParallelism():Math.max(1,Ow.default.cpus().length)}var Mve=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),Gw="yarn_",sk=".yarnrc.yml",ok="yarn.lock",Ove="********",ak=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(ak||{}),xi=Ue,rk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:XD()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Xl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Hw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:zy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:eP,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Kw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Kw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Kw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Xy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function Ak(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>ik(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>ik(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return ik(r,e,t,i,n)}function ik(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return Kve(r,e,t,i,n);case"MAP":return Uve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return Wd(t);if(typeof t!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof t}`);let l=Wx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Dc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Dc(l);case"BOOLEAN":return Wd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function Kve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new Qe(`Object configuration settings "${e}" must be an object`);let s=lk(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Qe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Ak(r,l,a,i.properties[o],n))}return s}function Uve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new Qe(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Ak(r,c,a,u,n))}return s}function lk(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,lk(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function Uw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return Ove;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(Uw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,Uw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,Uw(s,o,t))}return i}return r}function Hve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Gw)&&(e=(0,dz.default)(e.slice(Gw.length)),r[e]=t);return r}function Hw(){let r=`${Gw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return sk}var ck=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(ck||{}),Ha=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Ha(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(rk);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Hve();delete a.rcFilename;let l=await Ha.findRcFiles(e),c=await Ha.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T,...H})=>H,f=new Ha(e);f.importSettings(u(rk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ha.findProjectCwd(e,h);break;case 1:p=await Ha.findProjectCwd(e,null);break;case 2:O.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(rk));let C=new Map([["@@core",S8]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let T of t.plugins.keys())C.set(T,y(t.modules.get(T)));let B=new Map;for(let T of _D())B.set(T,()=>mf(T));for(let[T,H]of t.modules)B.set(T,()=>H);let v=new Set,D=async(T,H)=>{let{factory:j,name:$}=mf(T);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new Qe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},_=await df(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>_),v.add($),C.set($,_)};if(a.plugins)for(let T of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(T));await D(H,"")}for(let{path:T,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,T)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:T}of l)f.useWithSource(B,g(D),v,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Hw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(O.existsSync(o)){let a=await O.readFilePromise(o,"utf8"),l;try{l=yi(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Qe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=Hw(),t=hC(),i=x.join(t,e);if(O.existsSync(i)){let n=await O.readFilePromise(i,"utf8"),s=yi(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,O.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(O.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=Hw(),n=x.join(e,i),s=O.existsSync(n)?yi(await O.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await O.changeFilePromise(n,ba(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=hC();return await Ha.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,lk(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${$e(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&Mve.has(o))continue;if(o==="rcFilename")throw new Qe(`The rcFilename settings can only be set via ${`${Gw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Qe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=Ak(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${$e(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new Qe(`Couldn't find a configuration settings named "${e}"`);return Uw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=O.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${$e(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${$e(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new kf([new fC,new jr,new Nw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new Df([new Ff,new Tf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=pC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Uo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Uo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!so(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=hf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(zA(i,!0),Jy(n),{userProvided:!0})}normalizePackage(e){let t=rC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!kc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Ta(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=tn(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=qo("types",o),l=Mt(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(bn(t.dependencies,([,s])=>Sn(s))),t.peerDependencies=new Map(bn(t.peerDependencies,([,s])=>Sn(s))),t}getLimit(e){return Ta(this.limits,e,()=>(0,Cz.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ha;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),dC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{Yve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Yw=class extends dC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Nc(r){return r!==null&&typeof r.fd=="number"}var Tc=new Set;function uk(){}function gk(){for(let r of Tc)r.kill()}async function Wo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Nc(s)&&(c[0]=s),Nc(o)&&(c[1]=o),Nc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});Tc.add(u),Tc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Nc(s)&&s!==null&&s.pipe(u.stdin),Nc(o)||u.stdout.pipe(o,{end:!1}),Nc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Nc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:pk(p,C)}):h(new dC({fileName:r,code:p,signal:C}))})})}async function tk(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,fk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=$e(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Ho(p,{label:"Thrown Error",value:no(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:pk(h,p),stdout:C,stderr:y}):f(new Yw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var Gve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function pk(r,e){let t=Gve.get(e);return typeof t<"u"?128+t:r!=null?r:1}function Yve(r,e,{configuration:t,report:i}){i.reportError(1,` ${Ho(t,r!==null?{label:"Exit Code",value:no(Ue.NUMBER,r)}:{label:"Exit Signal",value:no(Ue.CODE,e)})}`)}var Xt={};ut(Xt,{Method:()=>_6,RequestError:()=>$6.RequestError,del:()=>rke,get:()=>eke,getNetworkSettings:()=>Z6,post:()=>kR,put:()=>tke,request:()=>vC});var z6=Pe(CB()),V6=J("https"),X6=J("http"),DR=Pe(Bn()),PR=Pe(j6()),mB=J("url");var $6=Pe(CB()),q6=new Map,J6=new Map,ZDe=new X6.Agent({keepAlive:!0}),_De=new V6.Agent({keepAlive:!0});function W6(r){let e=new mB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function xR(r){return Ta(J6,r,()=>O.readFilePromise(r).then(e=>(J6.set(r,e),e)))}function $De({statusCode:r,statusMessage:e},t){let i=$e(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return If(t,`${i}${e?` (${e})`:""}`,n)}async function EB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof z6.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${$e(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Ho(e,{label:"Response Code",value:no(Ue.NO_HINT,$De(s.response,e))})}`),s.request&&(l.reportError(35,` ${Ho(e,{label:"Request Method",value:no(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Ho(e,{label:"Request URL",value:no(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Ho(e,{label:"Request Redirects",value:no(Ue.NO_HINT,tP(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Ho(e,{label:"Request Retry Count",value:no(Ue.NO_HINT,`${$e(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${$e(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function Z6(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new mB.URL(r):r;for(let[o,a]of t)if(DR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var _6=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(_6||{});async function vC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await ike(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function eke(r,{configuration:e,jsonResponse:t,...i}){let n=Ta(q6,r,()=>EB(vC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(q6.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function tke(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"PUT"}),i)).body}async function kR(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"POST"}),i)).body}async function rke(r,{customErrorMessage:e,...t}){return(await EB(vC(r,null,{...t,method:"DELETE"}),t)).body}async function ike(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new mB.URL(r):r,l=Z6(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!DR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?PR.default.httpOverHttp(W6(l.httpProxy)):ZDe,https:l.httpsProxy?PR.default.httpsOverHttp(W6(l.httpsProxy)):_De},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(CB())),v=p?await xR(p):void 0,D=C?await xR(C):void 0,T=y?await xR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:T},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Wt={};ut(Wt,{PackageManager:()=>u9,detectPackageManager:()=>g9,executePackageAccessibleBinary:()=>C9,executePackageScript:()=>TB,executePackageShellcode:()=>JR,executeWorkspaceAccessibleBinary:()=>wRe,executeWorkspaceLifecycleScript:()=>p9,executeWorkspaceScript:()=>h9,getPackageAccessibleBinaries:()=>LB,getWorkspaceAccessibleBinaries:()=>d9,hasPackageScript:()=>ERe,hasWorkspaceScript:()=>WR,makeScriptEnv:()=>FC,maybeExecuteWorkspaceLifecycleScript:()=>yRe,prepareExternalProject:()=>mRe});var xC={};ut(xC,{getLibzipPromise:()=>an,getLibzipSync:()=>sV});var nV=Pe(tV());var Ja=["number","number"],rV=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))(rV||{}),iV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:rV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...Ja,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...Ja,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...Ja,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...Ja,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...Ja,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...Ja,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number",...Ja,"number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...Ja,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...Ja,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var NR=null;function sV(){return NR===null&&(NR=iV((0,nV.default)())),NR}async function an(){return sV()}var RC={};ut(RC,{ShellError:()=>zn,execute:()=>xB,globUtils:()=>BB});var EV=Pe(wx()),IV=J("os"),Vn=J("stream"),yV=J("util");var zn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var BB={};ut(BB,{fastGlobOptions:()=>AV,isBraceExpansion:()=>TR,isGlobPattern:()=>nke,match:()=>ske,micromatchOptions:()=>wB});var oV=Pe(dw()),aV=Pe(J("fs")),yB=Pe(Bn()),wB={strictBrackets:!0},AV={onlyDirectories:!1,onlyFiles:!1};function nke(r){if(!yB.default.scan(r,wB).isGlob)return!1;try{yB.default.parse(r,wB)}catch{return!1}return!0}function ske(r,{cwd:e,baseFs:t}){return(0,oV.default)(r,{...AV,cwd:K.fromPortablePath(e),fs:AI(aV.default,new vg(t))})}function TR(r){return yB.default.scan(r,wB).isBrace}var cV=Pe(TS()),Vo=J("stream"),uV=J("string_decoder");var Oc=new Set;function LR(){}function MR(){for(let r of Oc)r.kill()}function gV(r,e,t,i){return n=>{let s=n[0]instanceof Vo.Transform?"pipe":n[0],o=n[1]instanceof Vo.Transform?"pipe":n[1],a=n[2]instanceof Vo.Transform?"pipe":n[2],l=(0,cV.default)(r,e,{...i,stdio:[s,o,a]});return Oc.add(l),Oc.size===1&&(process.on("SIGINT",LR),process.on("SIGTERM",MR)),n[0]instanceof Vo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Vo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Vo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} +`)}};cd.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>OH,Boolean:()=>KH,Counter:()=>UH,Proxy:()=>HH,Rest:()=>GH,String:()=>YH,applyValidator:()=>nd,cleanValidationError:()=>DI,formatError:()=>id,isOptionSymbol:()=>rd,makeCommandOption:()=>Xi,rerouteArguments:()=>Do});function OH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function KH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function UH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function HH(r={}){return Xi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function GH(r={}){return Xi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Hn||a.extra===!1&&oo)}})}function cCe(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?nd(g!=null?g:c,f,n.validator):f}})}function uCe(r={}){let{required:e=!0}=r;return Xi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function FA(r){return`YN${r.toString(10).padStart(4,"0")}`}function LI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>S8,areIdentsEqual:()=>sC,areLocatorsEqual:()=>oC,areVirtualPackagesEquivalent:()=>LSe,bindDescriptor:()=>NSe,bindLocator:()=>TSe,convertDescriptorToLocator:()=>Sw,convertLocatorToDescriptor:()=>HD,convertPackageToLocator:()=>FSe,convertToIdent:()=>RSe,convertToManifestRange:()=>KSe,copyPackage:()=>rC,devirtualizeDescriptor:()=>iC,devirtualizeLocator:()=>nC,getIdentVendorPath:()=>qD,isPackageCompatible:()=>kw,isVirtualDescriptor:()=>JA,isVirtualLocator:()=>qo,makeDescriptor:()=>_t,makeIdent:()=>Jo,makeLocator:()=>nn,makeRange:()=>xw,parseDescriptor:()=>WA,parseFileStyleRange:()=>MSe,parseIdent:()=>tn,parseLocator:()=>Dc,parseRange:()=>vf,prettyDependent:()=>nP,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>jD,prettyRange:()=>Dw,prettyReference:()=>AC,prettyResolution:()=>iP,prettyWorkspace:()=>lC,renamePackage:()=>tC,slugifyIdent:()=>UD,slugifyLocator:()=>xf,sortDescriptors:()=>Pf,stringifyDescriptor:()=>Sn,stringifyIdent:()=>Mt,stringifyLocator:()=>Es,tryParseDescriptor:()=>aC,tryParseIdent:()=>v8,tryParseLocator:()=>vw,virtualizeDescriptor:()=>GD,virtualizePackage:()=>YD});var Sf=Pe(J("querystring")),B8=Pe(Xr()),b8=Pe(mJ());var ee={};ut(ee,{LogLevel:()=>Xy,Style:()=>_x,Type:()=>Ue,addLogFilterSupport:()=>Xd,applyColor:()=>Qn,applyHyperlink:()=>If,applyStyle:()=>Vy,json:()=>Bc,jsonOrPretty:()=>h0e,mark:()=>rP,pretty:()=>$e,prettyField:()=>Go,prettyList:()=>tP,supportsColor:()=>zy,supportsHyperlinks:()=>eP,tuple:()=>no});var Vd=Pe(wx()),zd=Pe(Ac());var p3=Pe(Bn()),d3=Pe(n3());var Ie={};ut(Ie,{AsyncActions:()=>Gx,BufferStream:()=>Hx,CachingStrategy:()=>f3,DefaultStream:()=>Yx,allSettledSafe:()=>io,assertNever:()=>qx,bufferStream:()=>Cf,buildIgnorePattern:()=>c0e,convertMapsToIndexableObjects:()=>Jy,dynamicRequire:()=>mf,escapeRegExp:()=>n0e,getArrayWithDefault:()=>hf,getFactoryWithDefault:()=>Ta,getMapWithDefault:()=>pf,getSetWithDefault:()=>wc,isIndexableObject:()=>Ux,isPathLike:()=>u0e,isTaggedYarnVersion:()=>i0e,mapAndFilter:()=>Ho,mapAndFind:()=>Jd,overrideType:()=>s0e,parseBoolean:()=>Wd,parseOptionalBoolean:()=>h3,prettifyAsyncErrors:()=>df,prettifySyncErrors:()=>Jx,releaseAfterUseAsync:()=>a0e,replaceEnvVariables:()=>Wx,sortMap:()=>bn,tryParseOptionalBoolean:()=>zx,validateEnum:()=>o0e});var o3=Pe(Bn()),a3=Pe(Jg()),A3=Pe(Xr()),jx=J("stream");function i0e(r){return!!(A3.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function n0e(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0e(r){}function qx(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function o0e(r,e){let t=Object.values(r);if(!t.includes(e))throw new Qe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function Ho(r,e){let t=[];for(let i of r){let n=e(i);n!==l3&&t.push(n)}return t}var l3=Symbol();Ho.skip=l3;function Jd(r,e){for(let t of r){let i=e(t);if(i!==c3)return i}}var c3=Symbol();Jd.skip=c3;function Ux(r){return typeof r=="object"&&r!==null}async function io(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Jy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Ux(r))for(let e of Object.keys(r)){let t=r[e];Ux(t)&&(r[e]=Jy(t))}return r}function Ta(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function hf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function wc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function pf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function a0e(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function df(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Jx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Cf(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Hx=class extends jx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function A0e(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Gx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,a3.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=A0e());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},Yx=class extends jx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},qd=eval("require");function u3(r){return qd(K.fromPortablePath(r))}function g3(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=qd.cache[physicalPath];delete qd.cache[physicalPath];let result;try{result=u3(physicalPath);let freshCacheEntry=qd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{qd.cache[physicalPath]=currentCacheEntry}return result}var s3=new Map;function l0e(r){let e=s3.get(r),t=O.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=g3(r);return s3.set(r,{mtime:t.mtimeMs,instance:i}),i}var f3=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(f3||{});function mf(r,{cachingStrategy:e=2}={}){switch(e){case 0:return g3(r);case 1:return l0e(r);case 2:return u3(r);default:throw new Error("Unsupported caching strategy")}}function bn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function c0e(r){return r.length===0?null:r.map(e=>`(${o3.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Wx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Qe(`Environment variable not found (${n})`)})}function Wd(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function h3(r){return typeof r>"u"?r:Wd(r)}function zx(r){try{return h3(r)}catch{return null}}function u0e(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var Ef=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(Ef||{}),Vx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Vx||{}),Xx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Xx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},_x=(e=>(e[e.BOLD=2]="BOLD",e))(_x||{}),$x=zd.default.GITHUB_ACTIONS?{level:2}:Vd.default.supportsColor?{level:Vd.default.supportsColor.level}:{level:0},zy=$x.level!==0,eP=zy&&!zd.default.GITHUB_ACTIONS&&!zd.default.CIRCLE&&!zd.default.GITLAB,Zx=new Vd.default.Instance($x),g0e=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),ms=r=>r,Wy={[Ue.NUMBER]:ms({pretty:(r,e)=>Qn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:ms({pretty:(r,e)=>Ai(r,e),json:r=>Mt(r)}),[Ue.LOCATOR]:ms({pretty:(r,e)=>mt(r,e),json:r=>Es(r)}),[Ue.DESCRIPTOR]:ms({pretty:(r,e)=>tr(r,e),json:r=>Sn(r)}),[Ue.RESOLUTION]:ms({pretty:(r,{descriptor:e,locator:t})=>iP(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Sn(r),locator:e!==null?Es(e):null})}),[Ue.DEPENDENT]:ms({pretty:(r,{locator:e,descriptor:t})=>nP(r,e,t),json:({locator:r,descriptor:e})=>({locator:Es(r),descriptor:Sn(e)})}),[Ue.PACKAGE_EXTENSION]:ms({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,tn(e.selector))} \u27A4 ${Qn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Mt(r.parentDescriptor)} > ${Mt(r.descriptor)}`;case"PeerDependency":return`${Mt(r.parentDescriptor)} >> ${Mt(r.descriptor)}`;case"PeerDependencyMeta":return`${Mt(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:ms({pretty:(r,e)=>(r.get(e),If(r,Qn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:ms({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:ms({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Qn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:ms({pretty:(r,e)=>Qn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:ms({pretty:(r,{text:e,format:t,paragraphs:i})=>Ti(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function no(r,e){return[e,r]}function Vy(r,e,t){return r.get("enableColors")&&t&2&&(e=Vd.default.bold(e)),e}function Qn(r,e,t){if(!r.get("enableColors"))return e;let i=g0e.get(t);if(i===null)return e;let n=typeof i>"u"?t:$x.level>=3?i[0]:i[1],s=typeof n=="number"?Zx.ansi256(n):n.startsWith("#")?Zx.hex(n):Zx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var f0e=!!process.env.KONSOLE_VERSION;function If(r,e,t){return r.get("enableHyperlinks")?f0e?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function $e(r,e,t){if(e===null)return Qn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Wy,t))return Wy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Qn(r,e,t)}function tP(r,e,t,{separator:i=", "}={}){return[...e].map(n=>$e(r,n,t)).join(i)}function Bc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Wy,e))return Wy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function h0e(r,e,[t,i]){return r?Bc(t,i):$e(e,t,i)}function rP(r){return{Check:Qn(r,"\u2713","green"),Cross:Qn(r,"\u2718","red"),Question:Qn(r,"?","cyan")}}function Go(r,{label:e,value:[t,i]}){return`${$e(r,e,Ue.CODE)}: ${$e(r,t,i)}`}var Xy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Xy||{});function Xd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([p3.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,d3.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(FA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>bw,checksumPattern:()=>Qw,makeHash:()=>rn});var Bw=J("crypto"),KD=Pe(OD());function rn(...r){let e=(0,Bw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function bw(r,{baseFs:e,algorithm:t}={baseFs:O,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,Bw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Qw(r,{cwd:e}){let i=(await(0,KD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,KD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await O.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await O.readlinkPromise(c))):u.isFile()&&l.push(await O.readFilePromise(c)),l.join("\0")})),o=(0,Bw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var eC="virtual:",DSe=5,Q8=/(os|cpu|libc)=([a-z0-9_-]+)/,kSe=(0,b8.makeParser)(Q8);function Jo(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:rn(r,e),scope:r,name:e}}function _t(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:rn(r.identHash,e),range:e}}function nn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:rn(r.identHash,e),reference:e}}function RSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function Sw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function HD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function FSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function tC(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function rC(r){return tC(r,r)}function GD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return _t(r,`virtual:${e}#${r.range}`)}function YD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return tC(r,nn(r,`virtual:${e}#${r.reference}`))}function JA(r){return r.range.startsWith(eC)}function qo(r){return r.reference.startsWith(eC)}function iC(r){if(!JA(r))throw new Error("Not a virtual descriptor");return _t(r,r.range.replace(/^[^#]*#/,""))}function nC(r){if(!qo(r))throw new Error("Not a virtual descriptor");return nn(r,r.reference.replace(/^[^#]*#/,""))}function NSe(r,e){return r.range.includes("::")?r:_t(r,`${r.range}::${Sf.default.stringify(e)}`)}function TSe(r,e){return r.reference.includes("::")?r:nn(r,`${r.reference}::${Sf.default.stringify(e)}`)}function sC(r,e){return r.identHash===e.identHash}function S8(r,e){return r.descriptorHash===e.descriptorHash}function oC(r,e){return r.locatorHash===e.locatorHash}function LSe(r,e){if(!qo(r))throw new Error("Invalid package type");if(!qo(e))throw new Error("Invalid package type");if(!sC(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!S8(t,i))return!1}return!0}function tn(r){let e=v8(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function v8(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Jo(typeof t<"u"?t:null,i)}function WA(r,e=!1){let t=aC(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function aC(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return _t(Jo(o,n),a)}function Dc(r,e=!1){let t=vw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function vw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return nn(Jo(o,n),a)}function vf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?Sf.default.parse(s):s,a=typeof t[4]<"u"?Sf.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function MSe(r,{protocol:e}){let{selector:t,params:i}=vf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Dc(i.locator,!0),path:t}}function w8(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function OSe(r){return r===null?!1:Object.entries(r).length>0}function xw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${w8(e)}#`),n+=w8(t),OSe(i)&&(n+=`::${Sf.default.stringify(i)}`),n}function KSe(r){let{params:e,protocol:t,source:i,selector:n}=vf(r);for(let s in e)s.startsWith("__")&&delete e[s];return xw({protocol:t,source:i,params:e,selector:n})}function Mt(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Sn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Es(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function UD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function xf(r){let{protocol:e,selector:t}=vf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=B8.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Jr(a)}function Ai(r,e){return e.scope?`${$e(r,`@${e.scope}/`,Ue.SCOPE)}${$e(r,e.name,Ue.NAME)}`:`${$e(r,e.name,Ue.NAME)}`}function Pw(r){if(r.startsWith(eC)){let e=Pw(r.substring(r.indexOf("#")+1)),t=r.substring(eC.length,eC.length+DSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Dw(r,e){return`${$e(r,Pw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.RANGE)}${Dw(r,e.range)}`}function AC(r,e){return`${$e(r,Pw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.REFERENCE)}${AC(r,e.reference)}`}function jD(r){return`${Mt(r)}@${Pw(r.reference)}`}function Pf(r){return bn(r,[e=>Mt(e),e=>e.range])}function lC(r,e){return Ai(r,e.locator)}function iP(r,e,t){let i=JA(e)?iC(e):e;return t===null?`${tr(r,i)} \u2192 ${rP(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${AC(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function nP(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Dw(r,t.range)})`}function qD(r){return`node_modules/${Mt(r)}`}function kw(r,e){return r.conditions?kSe(r.conditions,t=>{let[,i,n]=t.match(Q8),s=e[i];return s?s.includes(n):!0}):!0}var x8={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Mt(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Mt(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(_t(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=lC(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var T8=Pe(Xr());var cC=class{supportsDescriptor(e,t){return!!(e.range.startsWith(cC.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(cC.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(cC.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},Yr=cC;Yr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>k8.SemVer,clean:()=>HSe,satisfiesWithPrereleases:()=>kc,validRange:()=>so});var Rw=Pe(Xr()),k8=Pe(Xr()),P8=new Map;function kc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=P8.get(i);if(typeof n>"u")try{n=new Rw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{P8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Rw.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var D8=new Map;function so(r){if(r.indexOf(":")!==-1)return null;let e=D8.get(r);if(typeof e<"u")return e;try{e=new Rw.default.Range(r)}catch{e=null}return D8.set(r,e),e}var USe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function HSe(r){let e=USe.exec(r);return e?e[1]:null}var zA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await zA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await zA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new zA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new zA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(F8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=R8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(F8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=R8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=tn(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=sn(e.main):this.main=null,typeof e.module=="string"?this.module=sn(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=sn(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(sn(s),typeof o=="string"?sn(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,sn(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=tn(s);this.bin.set(a.name,sn(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!so(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=_t(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=WA(s),l=this.ensureDependencyMeta(a),c=Fw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Fw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Fw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=WA(s),l=this.ensurePeerDependencyMeta(a),c=Fw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:hI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=sn(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=sn(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=sn(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(sn(s),typeof o=="string"?sn(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,sn(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,sn(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(sn(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l);let c=_t(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(JD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(JD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(JD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return zA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return zA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!T8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Mt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Mt(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Pf(i).map(o=>({[Mt(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Pf(n).map(o=>({[Mt(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Pf(this.devDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Pf(this.peerDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of bn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of bn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Sn(_t(tn(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[pI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=zA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function R8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function F8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function sn(r){return r.replace(/\\/g,"/")}function Fw(r,{yamlCompatibilityMode:e}){return e?zx(r):typeof r>"u"||typeof r=="boolean"?r:null}function N8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function JD(r,e){return e.length===1?N8(r,e[0]):`(${e.map(t=>N8(r,t)).join(" | ")})`}var gz=Pe(uz()),fz=J("stream"),hz=J("string_decoder");var Nve=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function Tve(r){return typeof r.reportCode<"u"}var vi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,gz.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/Nve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){Tve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new fz.PassThrough,i=new hz.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var Df=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var kf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var pz=Pe(Xr());var Rf=/^(?!v)[a-z0-9._-]+$/i,Nw=class{supportsDescriptor(e,t){return!!(so(e.range)||Rf.test(e.range))}supportsLocator(e,t){return!!(pz.default.valid(e.reference)||Rf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return tC(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return nn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ff=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return xf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new So(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Nf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Nf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Nf.protocol)}supportsDescriptor(e,t){return Nf.isVirtualDescriptor(e)}supportsLocator(e,t){return Nf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},fC=Nf;fC.protocol="virtual:";var Tf=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var Tw={};ut(Tw,{getDefaultGlobalFolder:()=>XD,getHomeFolder:()=>hC,isFolderInside:()=>ZD});var VD=J("os");function XD(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,VD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(hC(),".yarn/berry")}function hC(){return K.toPortablePath((0,VD.homedir)()||"/usr/local/share")}function ZD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var ws={};ut(ws,{availableParallelism:()=>ek,builtinModules:()=>_D,getArchitecture:()=>pC,getArchitectureName:()=>Ove,getArchitectureSet:()=>$D,openUrl:()=>Lve});var Cz=Pe(J("module")),Ow=Pe(J("os"));var dz=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Lve=typeof dz<"u"?async r=>{try{return await tk(dz,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function _D(){return new Set(Cz.default.builtinModules||Object.keys(process.binding("natives")))}function Mve(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=Jd(e,a=>{let l=a.match(t);if(!l)return Jd.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Lw,Mw;function pC(){return Lw=Lw!=null?Lw:{os:process.platform,cpu:process.arch,libc:Mve()}}function Ove(r=pC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function $D(){let r=pC();return Mw=Mw!=null?Mw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function ek(){return"availableParallelism"in Ow.default?Ow.default.availableParallelism():Math.max(1,Ow.default.cpus().length)}var Kve=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),Gw="yarn_",sk=".yarnrc.yml",ok="yarn.lock",Uve="********",ak=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(ak||{}),xi=Ue,rk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:XD()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Xl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Hw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:zy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:eP,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Kw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Kw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Kw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Xy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function Ak(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>ik(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>ik(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return ik(r,e,t,i,n)}function ik(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return Hve(r,e,t,i,n);case"MAP":return Gve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return Wd(t);if(typeof t!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof t}`);let l=Wx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Dc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Dc(l);case"BOOLEAN":return Wd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function Hve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new Qe(`Object configuration settings "${e}" must be an object`);let s=lk(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Qe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Ak(r,l,a,i.properties[o],n))}return s}function Gve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new Qe(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Ak(r,c,a,u,n))}return s}function lk(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,lk(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function Uw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return Uve;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(Uw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,Uw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,Uw(s,o,t))}return i}return r}function Yve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Gw)&&(e=(0,mz.default)(e.slice(Gw.length)),r[e]=t);return r}function Hw(){let r=`${Gw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return sk}var ck=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(ck||{}),Ha=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Ha(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(rk);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Yve();delete a.rcFilename;let l=await Ha.findRcFiles(e),c=await Ha.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T,...H})=>H,f=new Ha(e);f.importSettings(u(rk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ha.findProjectCwd(e,h);break;case 1:p=await Ha.findProjectCwd(e,null);break;case 2:O.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(rk));let C=new Map([["@@core",x8]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let T of t.plugins.keys())C.set(T,y(t.modules.get(T)));let B=new Map;for(let T of _D())B.set(T,()=>mf(T));for(let[T,H]of t.modules)B.set(T,()=>H);let v=new Set,D=async(T,H)=>{let{factory:j,name:$}=mf(T);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new Qe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},_=await df(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>_),v.add($),C.set($,_)};if(a.plugins)for(let T of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(T));await D(H,"")}for(let{path:T,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,T)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:T}of l)f.useWithSource(B,g(D),v,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Hw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(O.existsSync(o)){let a=await O.readFilePromise(o,"utf8"),l;try{l=yi(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Qe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=Hw(),t=hC(),i=x.join(t,e);if(O.existsSync(i)){let n=await O.readFilePromise(i,"utf8"),s=yi(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,O.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(O.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=Hw(),n=x.join(e,i),s=O.existsSync(n)?yi(await O.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await O.changeFilePromise(n,ba(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=hC();return await Ha.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,lk(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${$e(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&Kve.has(o))continue;if(o==="rcFilename")throw new Qe(`The rcFilename settings can only be set via ${`${Gw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Qe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=Ak(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${$e(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new Qe(`Couldn't find a configuration settings named "${e}"`);return Uw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=O.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${$e(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${$e(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new kf([new fC,new Yr,new Nw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new Df([new Ff,new Tf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=pC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Ho(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Ho.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!so(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=hf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(WA(i,!0),Jy(n),{userProvided:!0})}normalizePackage(e){let t=rC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!kc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Ta(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=tn(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Jo("types",o),l=Mt(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(bn(t.dependencies,([,s])=>Sn(s))),t.peerDependencies=new Map(bn(t.peerDependencies,([,s])=>Sn(s))),t}getLimit(e){return Ta(this.limits,e,()=>(0,Ez.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ha;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),dC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{qve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Yw=class extends dC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Nc(r){return r!==null&&typeof r.fd=="number"}var Tc=new Set;function uk(){}function gk(){for(let r of Tc)r.kill()}async function oo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Nc(s)&&(c[0]=s),Nc(o)&&(c[1]=o),Nc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});Tc.add(u),Tc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Nc(s)&&s!==null&&s.pipe(u.stdin),Nc(o)||u.stdout.pipe(o,{end:!1}),Nc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Nc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:pk(p,C)}):h(new dC({fileName:r,code:p,signal:C}))})})}async function tk(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,fk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=$e(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Go(p,{label:"Thrown Error",value:no(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:pk(h,p),stdout:C,stderr:y}):f(new Yw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var jve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function pk(r,e){let t=jve.get(e);return typeof t<"u"?128+t:r!=null?r:1}function qve(r,e,{configuration:t,report:i}){i.reportError(1,` ${Go(t,r!==null?{label:"Exit Code",value:no(Ue.NUMBER,r)}:{label:"Exit Signal",value:no(Ue.CODE,e)})}`)}var Xt={};ut(Xt,{Method:()=>eV,RequestError:()=>tV.RequestError,del:()=>nke,get:()=>rke,getNetworkSettings:()=>$6,post:()=>kR,put:()=>ike,request:()=>vC});var X6=Pe(CB()),Z6=J("https"),_6=J("http"),DR=Pe(Bn()),PR=Pe(J6()),mB=J("url");var tV=Pe(CB()),W6=new Map,z6=new Map,$De=new _6.Agent({keepAlive:!0}),eke=new Z6.Agent({keepAlive:!0});function V6(r){let e=new mB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function xR(r){return Ta(z6,r,()=>O.readFilePromise(r).then(e=>(z6.set(r,e),e)))}function tke({statusCode:r,statusMessage:e},t){let i=$e(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return If(t,`${i}${e?` (${e})`:""}`,n)}async function EB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof X6.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${$e(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Go(e,{label:"Response Code",value:no(Ue.NO_HINT,tke(s.response,e))})}`),s.request&&(l.reportError(35,` ${Go(e,{label:"Request Method",value:no(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Go(e,{label:"Request URL",value:no(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Go(e,{label:"Request Redirects",value:no(Ue.NO_HINT,tP(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Go(e,{label:"Request Retry Count",value:no(Ue.NO_HINT,`${$e(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${$e(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function $6(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new mB.URL(r):r;for(let[o,a]of t)if(DR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var eV=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(eV||{});async function vC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function rke(r,{configuration:e,jsonResponse:t,...i}){let n=Ta(W6,r,()=>EB(vC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(W6.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function ike(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"PUT"}),i)).body}async function kR(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"POST"}),i)).body}async function nke(r,{customErrorMessage:e,...t}){return(await EB(vC(r,null,{...t,method:"DELETE"}),t)).body}async function ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new mB.URL(r):r,l=$6(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!DR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?PR.default.httpOverHttp(V6(l.httpProxy)):$De,https:l.httpsProxy?PR.default.httpsOverHttp(V6(l.httpsProxy)):eke},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(CB())),v=p?await xR(p):void 0,D=C?await xR(C):void 0,T=y?await xR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:T},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Wt={};ut(Wt,{PackageManager:()=>f9,detectPackageManager:()=>h9,executePackageAccessibleBinary:()=>E9,executePackageScript:()=>TB,executePackageShellcode:()=>JR,executeWorkspaceAccessibleBinary:()=>bRe,executeWorkspaceLifecycleScript:()=>C9,executeWorkspaceScript:()=>d9,getPackageAccessibleBinaries:()=>LB,getWorkspaceAccessibleBinaries:()=>m9,hasPackageScript:()=>yRe,hasWorkspaceScript:()=>WR,isNodeScript:()=>zR,makeScriptEnv:()=>FC,maybeExecuteWorkspaceLifecycleScript:()=>BRe,prepareExternalProject:()=>IRe});var xC={};ut(xC,{getLibzipPromise:()=>an,getLibzipSync:()=>aV});var oV=Pe(iV());var Ja=["number","number"],nV=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))(nV||{}),sV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:nV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...Ja,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...Ja,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...Ja,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...Ja,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...Ja,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...Ja,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number",...Ja,"number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...Ja,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...Ja,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var NR=null;function aV(){return NR===null&&(NR=sV((0,oV.default)())),NR}async function an(){return aV()}var RC={};ut(RC,{ShellError:()=>zn,execute:()=>xB,globUtils:()=>BB});var yV=Pe(wx()),wV=J("os"),Vn=J("stream"),BV=J("util");var zn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var BB={};ut(BB,{fastGlobOptions:()=>cV,isBraceExpansion:()=>TR,isGlobPattern:()=>oke,match:()=>ake,micromatchOptions:()=>wB});var AV=Pe(dw()),lV=Pe(J("fs")),yB=Pe(Bn()),wB={strictBrackets:!0},cV={onlyDirectories:!1,onlyFiles:!1};function oke(r){if(!yB.default.scan(r,wB).isGlob)return!1;try{yB.default.parse(r,wB)}catch{return!1}return!0}function ake(r,{cwd:e,baseFs:t}){return(0,AV.default)(r,{...cV,cwd:K.fromPortablePath(e),fs:AI(lV.default,new vg(t))})}function TR(r){return yB.default.scan(r,wB).isBrace}var gV=Pe(TS()),Vo=J("stream"),fV=J("string_decoder");var Oc=new Set;function LR(){}function MR(){for(let r of Oc)r.kill()}function hV(r,e,t,i){return n=>{let s=n[0]instanceof Vo.Transform?"pipe":n[0],o=n[1]instanceof Vo.Transform?"pipe":n[1],a=n[2]instanceof Vo.Transform?"pipe":n[2],l=(0,gV.default)(r,e,{...i,stdio:[s,o,a]});return Oc.add(l),Oc.size===1&&(process.on("SIGINT",LR),process.on("SIGTERM",MR)),n[0]instanceof Vo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Vo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Vo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} `),c(127);break;case"EACCES":n[2].write(`permission denied: ${r} `),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("close",u=>{Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),c(u!==null?u:129)})})}}}function fV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Ss=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},OR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new zf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new zf(this,e),n=new OR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function bB(r,e){return zf.start(r,e)}function lV(r,e=null){let t=new Vo.PassThrough,i=new uV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function hV(r,{prefix:e}){return{stdout:lV(t=>r.stdout.write(`${t} -`),r.stdout.isTTY?e:null),stderr:lV(t=>r.stderr.write(`${t} -`),r.stderr.isTTY?e:null)}}var oke=(0,yV.promisify)(setTimeout);function pV(r,e,t){let i=new Vn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Vn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new zn(`Bad file descriptor: "${r}"`)}return i}function SB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var ake=new Map([["cd",async([r=(0,IV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new zn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new zn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)} +`),c(1);break}}),l.on("close",u=>{Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),c(u!==null?u:129)})})}}}function pV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Ss=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},OR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new zf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new zf(this,e),n=new OR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function bB(r,e){return zf.start(r,e)}function uV(r,e=null){let t=new Vo.PassThrough,i=new fV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function dV(r,{prefix:e}){return{stdout:uV(t=>r.stdout.write(`${t} +`),r.stdout.isTTY?e:null),stderr:uV(t=>r.stderr.write(`${t} +`),r.stderr.isTTY?e:null)}}var Ake=(0,BV.promisify)(setTimeout);function CV(r,e,t){let i=new Vn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Vn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new zn(`Bad file descriptor: "${r}"`)}return i}function SB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var lke=new Map([["cd",async([r=(0,wV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new zn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new zn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)} `),0)],[":",async(r,e,t)=>0],["true",async(r,e,t)=>0],["false",async(r,e,t)=>1],["exit",async([r,...e],t,i)=>i.exitCode=parseInt(r!=null?r:i.variables["?"],10)],["echo",async(r,e,t)=>(t.stdout.write(`${r.join(" ")} -`),0)],["sleep",async([r],e,t)=>{if(typeof r>"u")throw new zn("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new zn(`sleep: invalid time interval '${r}'`);return await oke(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await bB(i,{stdin:new Ss(t.stdin),stdout:new Ss(t.stdout),stderr:new Ss(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),B=c+y;for(let v=c;ve.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case"<<<":p(()=>{let D=new Vn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]} -`),D.end()}),D});break;case"<&":p(()=>pV(Number(r[v]),1,t));break;case">":case">>":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D==="/dev/null"?new Vn.Writable({autoDestroy:!0,emitClose:!0,write(T,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===">>"?{flags:"a"}:void 0))}break;case">&":C(pV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Vn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Vn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Vn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await bB(DC(r.slice(c+1),e,t),{stdin:new Ss(i),stdout:new Ss(n),stderr:new Ss(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function Ake(r,e,t){let i=[],n=new Vn.PassThrough;return n.on("data",s=>i.push(s)),await vB(r,e,SB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function dV(r,e,t){let i=r.map(async s=>{let o=await Kc(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function QB(r){return r.match(/[^ \r\n\t]+/g)||[]}async function wV(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=QB(s);for(let a=0;a=0&&s"u"&&(r.defaultValue?o=(await Kc(r.defaultValue,e,t)).join(" "):r.alternativeValue&&(o="")),typeof o>"u")throw a?new zn(`Unbound argument #${s}`):new zn(`Unbound variable "${r.name}"`);if(r.quoted)i(o);else{let l=QB(o);for(let u=0;ur+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function PC(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await wV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?PC({type:"variable",name:i.join(" ")},e,t):PC({type:"number",value:n},e,t)}else return lke[r.type](await PC(r.left,e,t),await PC(r.right,e,t))}async function Kc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>"u"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await Kc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await Ake(f.shell,e,t);if(f.quoted)o(h);else{let p=QB(h);for(let C=0;C"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=TR(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new zn(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function DC(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<"u"&&(n={...n,PWD:i});let[s,...o]=r;if(s==="command")return gV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>"u")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return fV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function cke(r,e,t){return i=>{let n=new Vn.PassThrough,s=vB(r,e,SB(t,{stdin:n}));return{stdin:n,promise:s}}}function uke(r,e,t){return i=>{let n=new Vn.PassThrough,s=vB(r,e,t);return{stdin:n,promise:s}}}function CV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,DC([...e,"__ysh_run_procedure",n],t,i)}}async function mV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case"command":{let l=await Kc(i.args,e,t),c=await dV(i.envs,e,t);a=i.envs.length?DC(l,e,SB(o,{environment:c})):DC(l,e,o)}break;case"subshell":{let l=await Kc(i.args,e,t),c=cke(i.subshell,e,o);a=CV(c,l,e,o)}break;case"group":{let l=await Kc(i.args,e,t),c=uke(i.group,e,o);a=CV(c,l,e,o)}break;case"envs":{let l=await dV(i.envs,e,t);o.environment={...o.environment,...l},a=DC(["true"],e,o)}break}if(typeof a>"u")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=bB(a,{stdin:new Ss(o.stdin),stdout:new Ss(o.stdout),stderr:new Ss(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,1);break;case"|&":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function gke(r,e,t,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return EV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=hV(t,{prefix:l});return t.backgroundJobs.push(mV(r,e,SB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`),0)],["sleep",async([r],e,t)=>{if(typeof r>"u")throw new zn("sleep: missing operand");let i=Number(r);if(Number.isNaN(i))throw new zn(`sleep: invalid time interval '${r}'`);return await Ake(1e3*i,0)}],["__ysh_run_procedure",async(r,e,t)=>{let i=t.procedures[r[0]];return await bB(i,{stdin:new Ss(t.stdin),stdout:new Ss(t.stdout),stderr:new Ss(t.stderr)}).run()}],["__ysh_set_redirects",async(r,e,t)=>{let i=t.stdin,n=t.stdout,s=t.stderr,o=[],a=[],l=[],c=0;for(;r[c]!=="--";){let g=r[c++],{type:f,fd:h}=JSON.parse(g),p=v=>{switch(h){case null:case 0:o.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},C=v=>{switch(h){case null:case 1:a.push(v);break;case 2:l.push(v);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(r[c++]),B=c+y;for(let v=c;ve.baseFs.createReadStream(x.resolve(t.cwd,K.toPortablePath(r[v]))));break;case"<<<":p(()=>{let D=new Vn.PassThrough;return process.nextTick(()=>{D.write(`${r[v]} +`),D.end()}),D});break;case"<&":p(()=>CV(Number(r[v]),1,t));break;case">":case">>":{let D=x.resolve(t.cwd,K.toPortablePath(r[v]));C(D==="/dev/null"?new Vn.Writable({autoDestroy:!0,emitClose:!0,write(T,H,j){setImmediate(j)}}):e.baseFs.createWriteStream(D,f===">>"?{flags:"a"}:void 0))}break;case">&":C(CV(Number(r[v]),2,t));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new Vn.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new Vn.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new Vn.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await bB(DC(r.slice(c+1),e,t),{stdin:new Ss(i),stdout:new Ss(n),stderr:new Ss(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function cke(r,e,t){let i=[],n=new Vn.PassThrough;return n.on("data",s=>i.push(s)),await vB(r,e,SB(t,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function mV(r,e,t){let i=r.map(async s=>{let o=await Kc(s.args,e,t);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function QB(r){return r.match(/[^ \r\n\t]+/g)||[]}async function bV(r,e,t,i,n=i){switch(r.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(r.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=QB(s);for(let a=0;a=0&&s"u"&&(r.defaultValue?o=(await Kc(r.defaultValue,e,t)).join(" "):r.alternativeValue&&(o="")),typeof o>"u")throw a?new zn(`Unbound argument #${s}`):new zn(`Unbound variable "${r.name}"`);if(r.quoted)i(o);else{let l=QB(o);for(let u=0;ur+e,subtraction:(r,e)=>r-e,multiplication:(r,e)=>r*e,division:(r,e)=>Math.trunc(r/e)};async function PC(r,e,t){if(r.type==="number"){if(Number.isInteger(r.value))return r.value;throw new Error(`Invalid number: "${r.value}", only integers are allowed`)}else if(r.type==="variable"){let i=[];await bV({...r,quoted:!0},e,t,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?PC({type:"variable",name:i.join(" ")},e,t):PC({type:"number",value:n},e,t)}else return uke[r.type](await PC(r.left,e,t),await PC(r.right,e,t))}async function Kc(r,e,t){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p>"u"&&i.set(h,p=[]),p.push(f)};for(let u of r){let g=!1;switch(u.type){case"redirection":{let f=await Kc(u.args,e,t);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await cke(f.shell,e,t);if(f.quoted)o(h);else{let p=QB(h);for(let C=0;C"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let h=await e.glob.match(f,{cwd:t.cwd,baseFs:e.baseFs});if(h.length===0){let p=TR(f)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new zn(`No matches found: "${f}"${p}`)}for(let p of h.sort())l(p)}}if(i.size>0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function DC(r,e,t){e.builtins.has(r[0])||(r=["command",...r]);let i=K.fromPortablePath(t.cwd),n=t.environment;typeof n.PWD<"u"&&(n={...n,PWD:i});let[s,...o]=r;if(s==="command")return hV(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a>"u")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return pV(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=t;t.stdin=l,t.stdout=c,t.stderr=u;try{return await a(o,e,t)}finally{t.stdin=g,t.stdout=f,t.stderr=h}})}function gke(r,e,t){return i=>{let n=new Vn.PassThrough,s=vB(r,e,SB(t,{stdin:n}));return{stdin:n,promise:s}}}function fke(r,e,t){return i=>{let n=new Vn.PassThrough,s=vB(r,e,t);return{stdin:n,promise:s}}}function EV(r,e,t,i){if(e.length===0)return r;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures={...i.procedures},i.procedures[n]=r,DC([...e,"__ysh_run_procedure",n],t,i)}}async function IV(r,e,t){let i=r,n=null,s=null;for(;i;){let o=i.then?{...t}:t,a;switch(i.type){case"command":{let l=await Kc(i.args,e,t),c=await mV(i.envs,e,t);a=i.envs.length?DC(l,e,SB(o,{environment:c})):DC(l,e,o)}break;case"subshell":{let l=await Kc(i.args,e,t),c=gke(i.subshell,e,o);a=EV(c,l,e,o)}break;case"group":{let l=await Kc(i.args,e,t),c=fke(i.group,e,o);a=EV(c,l,e,o)}break;case"envs":{let l=await mV(i.envs,e,t);o.environment={...o.environment,...l},a=DC(["true"],e,o)}break}if(typeof a>"u")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=bB(a,{stdin:new Ss(o.stdin),stdout:new Ss(o.stdout),stderr:new Ss(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,1);break;case"|&":s=s.pipeTo(a,3);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function hke(r,e,t,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return yV.default.hex(a)}if(i){let s=t.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=dV(t,{prefix:l});return t.backgroundJobs.push(IV(r,e,SB(t,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} `)).finally(()=>{t.stdout.isTTY&&t.stdout.write(`Job ${l}, '${o(Fg(r))}' has ended -`)})),0}return await mV(r,e,t)}async function fke(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await gke(a.chain,e,t,{background:i&&typeof a.then>"u"})}catch(l){if(!(l instanceof zn))throw l;return t.stderr.write(`${l.message} -`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function vB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await fke(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function BV(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>kC(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>kC(e));case"arithmetic":return KR(r.arithmetic);case"shell":return UR(r.shell);default:return!1}}function kC(r){switch(r.type){case"redirection":return r.args.some(e=>kC(e));case"argument":return r.segments.some(e=>BV(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function KR(r){switch(r.type){case"variable":return BV(r);case"number":return!1;default:return KR(r.left)||KR(r.right)}}function UR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=UR(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>kC(s)))||t.args.some(n=>kC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function xB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=BB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<"u"&&(g[p]=C);let f=new Map(ake);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Vn.PassThrough,o.end());let h=uI(r,u);if(!UR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type==="command"&&(C.args=C.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await vB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var l9=Pe(PB()),c9=Pe(Jg()),tl=J("stream");var a9=Pe(i9()),FB=Pe(Ac());var n9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],s9=80,uRe=new Set([13,19]),gRe=5,RB=FB.default.GITHUB_ACTIONS?{start:r=>`::group::${r} +`)})),0}return await IV(r,e,t)}async function pke(r,e,t,{background:i=!1}={}){let n,s=a=>{n=a,t.variables["?"]=String(a)},o=async a=>{try{return await hke(a.chain,e,t,{background:i&&typeof a.then>"u"})}catch(l){if(!(l instanceof zn))throw l;return t.stderr.write(`${l.message} +`),1}};for(s(await o(r));r.then;){if(t.exitCode!==null)return t.exitCode;switch(r.then.type){case"&&":n===0&&s(await o(r.then.line));break;case"||":n!==0&&s(await o(r.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${r.then.type}"`)}r=r.then.line}return n}async function vB(r,e,t){let i=t.backgroundJobs;t.backgroundJobs=[];let n=0;for(let{command:s,type:o}of r){if(n=await pke(s,e,t,{background:o==="&"}),t.exitCode!==null)return t.exitCode;t.variables["?"]=String(n)}return await Promise.all(t.backgroundJobs),t.backgroundJobs=i,n}function QV(r){switch(r.type){case"variable":return r.name==="@"||r.name==="#"||r.name==="*"||Number.isFinite(parseInt(r.name,10))||"defaultValue"in r&&!!r.defaultValue&&r.defaultValue.some(e=>kC(e))||"alternativeValue"in r&&!!r.alternativeValue&&r.alternativeValue.some(e=>kC(e));case"arithmetic":return KR(r.arithmetic);case"shell":return UR(r.shell);default:return!1}}function kC(r){switch(r.type){case"redirection":return r.args.some(e=>kC(e));case"argument":return r.segments.some(e=>QV(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${r.type}"`)}}function KR(r){switch(r.type){case"variable":return QV(r);case"number":return!1;default:return KR(r.left)||KR(r.right)}}function UR(r){return r.some(({command:e})=>{for(;e;){let t=e.chain;for(;t;){let i;switch(t.type){case"subshell":i=UR(t.subshell);break;case"command":i=t.envs.some(n=>n.args.some(s=>kC(s)))||t.args.some(n=>kC(n));break}if(i)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function xB(r,e=[],{baseFs:t=new $t,builtins:i={},cwd:n=K.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=BB}={}){let g={};for(let[p,C]of Object.entries(s))typeof C<"u"&&(g[p]=C);let f=new Map(lke);for(let[p,C]of Object.entries(i))f.set(p,C);o===null&&(o=new Vn.PassThrough,o.end());let h=uI(r,u);if(!UR(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let C=p.chain;for(;C.then;)C=C.then.chain;C.type==="command"&&(C.args=C.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await vB(h,{args:e,baseFs:t,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var u9=Pe(PB()),g9=Pe(Jg()),tl=J("stream");var l9=Pe(s9()),FB=Pe(Ac());var o9=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],a9=80,fRe=new Set([13,19]),hRe=5,RB=FB.default.GITHUB_ACTIONS?{start:r=>`::group::${r} `,end:r=>`::endgroup:: `}:FB.default.TRAVIS?{start:r=>`travis_fold:start:${r} `,end:r=>`travis_fold:end:${r} `}:FB.default.GITLAB?{start:r=>`section_start:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${r} -`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,o9=new Date,fRe=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,hRe=r=>r,NB=hRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),pRe=fRe&&Object.keys(NB).find(r=>{let e=NB[r];return!(e.date&&(e.date[0]!==o9.getDate()||e.date[1]!==o9.getMonth()+1))})||"default";function A9(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=NA(r===null?0:r);return!t&&r===null?$e(e,n,"grey"):n}function qR(r,{configuration:e,json:t}){let i=A9(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return If(e,i,s)}var Ge=class extends vi{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=gRe,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errors=[];this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Xd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...uRe]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||pRe;if(!Object.prototype.hasOwnProperty.call(NB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=NB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errors.length>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,RB!==null&&!this.json&&this.includeInfos&&this.stdout.write(RB.start(t))},reportFooter:a=>{if(this.indent-=1,RB!==null&&!this.json&&this.includeInfos){this.stdout.write(RB.end(t));for(let[l,c]of this.errors)this.reportErrorImpl(l,c)}this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${$e(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errors.push([t,i]),this.reportErrorImpl(t,i)}reportErrorImpl(t,i){this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errors.length>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=$e(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errors.length>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} +`,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,A9=new Date,pRe=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,dRe=r=>r,NB=dRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),CRe=pRe&&Object.keys(NB).find(r=>{let e=NB[r];return!(e.date&&(e.date[0]!==A9.getDate()||e.date[1]!==A9.getMonth()+1))})||"default";function c9(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=FA(r===null?0:r);return!t&&r===null?$e(e,n,"grey"):n}function qR(r,{configuration:e,json:t}){let i=c9(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return If(e,i,s)}var Ge=class extends vi{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=hRe,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errors=[];this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Xd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...fRe]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||CRe;if(!Object.prototype.hasOwnProperty.call(NB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=NB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errors.length>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,RB!==null&&!this.json&&this.includeInfos&&this.stdout.write(RB.start(t))},reportFooter:a=>{if(this.indent-=1,RB!==null&&!this.json&&this.includeInfos){this.stdout.write(RB.end(t));for(let[l,c]of this.errors)this.reportErrorImpl(l,c)}this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${$e(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errors.push([t,i]),this.reportErrorImpl(t,i)}reportErrorImpl(t,i){this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errors.length>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=$e(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errors.length>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} `),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})} -`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>s9&&(this.progressFrame=(this.progressFrame+1)%n9.length,this.progressTime=t);let i=n9[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${$e(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},s9)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,a9.default)(t,0,this.stdout.columns-1)),t}formatName(t){return A9(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Tr="3.6.1";var u9=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(u9||{});async function Wa(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await O.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await O.writeFilePromise(x.join(r,e),`#!/bin/sh +`);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>a9&&(this.progressFrame=(this.progressFrame+1)%o9.length,this.progressTime=t);let i=o9[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${$e(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},a9)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,l9.default)(t,0,this.stdout.columns-1)),t}formatName(t){return c9(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Tr="3.6.3";var f9=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(f9||{});async function el(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await O.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await O.writeFilePromise(x.join(r,e),`#!/bin/sh exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`,{mode:493})}async function g9(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=vw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManagerField:!0,packageManager:Number(s)===1?"Yarn Classic":"Yarn",reason:n};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await O.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:O.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:O.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function FC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([Wa(t,"node",process.execPath),...Tr!==null?[Wa(t,"run",process.execPath,[a,"run"]),Wa(t,"yarn",process.execPath,[a]),Wa(t,"yarnpkg",process.execPath,[a]),Wa(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Mt(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new tl.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Tr!==null?`yarn/${Tr}`:`yarn/${mf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await Wa(t,Ur(g),f,h)),s}var dRe=2,CRe=(0,c9.default)(dRe);async function mRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await CRe(async()=>{await O.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&jo(s)?nC(s):s,f=g?Es(g):"an external project";c.write(`Packing ${f} from sources -`);let h=await g9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} +`,{mode:493})}async function h9(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=vw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManagerField:!0,packageManager:Number(s)===1?"Yarn Classic":"Yarn",reason:n};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await O.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:O.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:O.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function FC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([el(t,"node",process.execPath),...Tr!==null?[el(t,"run",process.execPath,[a,"run"]),el(t,"yarn",process.execPath,[a]),el(t,"yarnpkg",process.execPath,[a]),el(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Mt(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new tl.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Tr!==null?`yarn/${Tr}`:`yarn/${mf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await el(t,Jr(g),f,h)),s}var mRe=2,ERe=(0,g9.default)(mRe);async function IRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await ERe(async()=>{await O.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&qo(s)?nC(s):s,f=g?Es(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await h9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} `),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn -`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await O.mktempPromise(async y=>{let B=await FC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await O.readFilePromise(j),V=await Wo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await O.writeFilePromise(j,$),await O.appendFilePromise(x.join(r,".npmignore"),`/.yarn +`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await O.mktempPromise(async y=>{let B=await FC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await O.readFilePromise(j),V=await oo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await O.writeFilePromise(j,$),await O.appendFilePromise(x.join(r,".npmignore"),`/.yarn `),c.write(` -`),delete B.NODE_ENV;let W=await Wo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(` -`);let _=await Wo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await O.existsPromise(j)||await O.writeFilePromise(j,"");let $=await Wo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let Ae=new tl.PassThrough,ge=Cf(Ae);Ae.pipe(c,{end:!1});let re=await Wo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:Ae,stderr:u,end:0});if(Ae.end(),re.code!==0)return c.end(),u.end(),re.code;let M=(await ge).toString().trim();if(!kc(M,">=7.x")){let F=qo(null,"npm"),ue=_t(F,M),pe=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,pe)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await Wo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new tl.PassThrough,V=Cf($);$.pipe(c);let W=await Wo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await O.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let T=await D();if(!(T===0||typeof T>"u"))throw O.detachTemp(o),new at(58,`Packing the package failed (exit code ${T}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function ERe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Kn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new tl.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await an()})}async function TB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await f9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await xB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{env:c,cwd:u}=await f9(r,{project:n,binFolder:l,cwd:i});return await xB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function IRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await FC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await d9(r),([s,[,o]])=>Wa(e,Ur(s),process.execPath,[o]))),typeof t>"u"&&(t=x.dirname(await O.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function f9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return IRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Kn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new tl.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await FC({project:e,locator:r,binFolder:t,lifecycleScript:n});await Promise.all(Array.from(await LB(r,{project:e}),([y,[,B]])=>Wa(t,Ur(y),process.execPath,[B])));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Me.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await an()})}async function h9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await TB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function p9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await O.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await h9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw O.detachTemp(o),new at(36,`${(0,l9.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function yRe(r,e,t){WR(r,e)&&await p9(r,e,t)}async function LB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new tl.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Uo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Uo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Uo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Uo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,K.fromPortablePath(x.resolve(f,p))])}return i}async function d9(r){return await LB(r.anchoredLocator,{project:r.project})}async function C9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await LB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await O.mktempPromise(async g=>{let[,f]=u,h=await FC({project:n,locator:r,binFolder:g});await Promise.all(Array.from(c,([C,[,y]])=>Wa(h.BERRY_BIN_FOLDER,Ur(C),process.execPath,[y])));let p;try{p=await Wo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await O.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function wRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await C9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>VNe,extractArchiveTo:()=>ZNe,makeArchiveFromDirectory:()=>zNe});var aZ=J("stream"),AZ=Pe(tZ());var rZ=Pe(Jg()),iZ=J("worker_threads");var hl=Symbol("kTaskInfo"),L0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,rZ.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new iZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[hl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[hl].resolve(t),e[hl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[hl])==null||i.reject(t),e[hl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[hl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[hl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[hl]={resolve:n,reject:s},t.postMessage(e)})})}};var lZ=Pe(sZ());async function zNe(r,{baseFs:e=new $t,prefixPath:t=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await an(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await O.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Me.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var oZ;async function VNe(r,e){let t=await O.mktempPromise(),i=x.join(t,"archive.zip");return oZ||(oZ=new L0((0,lZ.getContent)())),await oZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await an(),level:e.compressionLevel})}async function*XNe(r){let e=new AZ.default.Parse,t=new aZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function ZNe(r,e,{stripComponents:t=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of XNe(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await Cf(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var es={};ut(es,{emitList:()=>_Ne,emitTree:()=>pZ,treeNodeToJson:()=>hZ,treeNodeToTreeify:()=>fZ});var gZ=Pe(uZ());function fZ(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(Vy(e,l,2)),typeof c<"u"&&g.push($e(e,c[0],c[1])),g.length===0&&g.push(Vy(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function hZ(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Bc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:Bc(t.value[0],t.value[1]),children:n}};return e(r)}function _Ne(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));pZ({children:n},{configuration:e,stdout:t,json:i})}function pZ(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(hZ(l))} -`);return}let s=(0,gZ.asTree)(fZ(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +`),delete B.NODE_ENV;let W=await oo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(` +`);let _=await oo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await O.existsPromise(j)||await O.writeFilePromise(j,"");let $=await oo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let Ae=new tl.PassThrough,ge=Cf(Ae);Ae.pipe(c,{end:!1});let re=await oo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:Ae,stderr:u,end:0});if(Ae.end(),re.code!==0)return c.end(),u.end(),re.code;let M=(await ge).toString().trim();if(!kc(M,">=7.x")){let F=Jo(null,"npm"),ue=_t(F,M),pe=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,pe)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await oo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new tl.PassThrough,V=Cf($);$.pipe(c);let W=await oo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await O.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let T=await D();if(!(T===0||typeof T>"u"))throw O.detachTemp(o),new at(58,`Packing the package failed (exit code ${T}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function yRe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Kn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new tl.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await an()})}async function TB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await p9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await xB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{env:c,cwd:u}=await p9(r,{project:n,binFolder:l,cwd:i});return await xB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function wRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await FC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await VR(e,await m9(r)),typeof t>"u"&&(t=x.dirname(await O.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function p9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return wRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Kn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new tl.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await FC({project:e,locator:r,binFolder:t,lifecycleScript:n});await VR(t,await LB(r,{project:e}));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Me.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await an()})}async function d9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await TB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function C9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await O.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await d9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw O.detachTemp(o),new at(36,`${(0,u9.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function BRe(r,e,t){WR(r,e)&&await C9(r,e,t)}function zR(r){let e=x.extname(r);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let t=Buffer.alloc(4),i;try{i=O.openSync(r,"r")}catch{return!0}try{O.readSync(i,t,0,t.length,0)}finally{O.closeSync(i)}let n=t.readUint32BE();return!(n===3405691582||n===3489328638||n===2135247942||(n&4294901760)===1297743872)}async function LB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new tl.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Ho.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Ho.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Ho.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Ho.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin){let C=x.resolve(f,p);i.set(h,[g,K.fromPortablePath(C),zR(C)])}}return i}async function m9(r){return await LB(r.anchoredLocator,{project:r.project})}async function VR(r,e){await Promise.all(Array.from(e,([t,[,i,n]])=>n?el(r,Jr(t),process.execPath,[i]):el(r,Jr(t),i,[])))}async function E9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await LB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await O.mktempPromise(async g=>{let[,f]=u,h=await FC({project:n,locator:r,binFolder:g});await VR(h.BERRY_BIN_FOLDER,c);let p=zR(K.toPortablePath(f))?oo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a}):oo(f,t,{cwd:i,env:h,stdin:s,stdout:o,stderr:a}),C;try{C=await p}finally{await O.removePromise(h.BERRY_BIN_FOLDER)}return C.code})}async function bRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await E9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>ZNe,extractArchiveTo:()=>$Ne,makeArchiveFromDirectory:()=>XNe});var lZ=J("stream"),cZ=Pe(iZ());var nZ=Pe(Jg()),sZ=J("worker_threads");var hl=Symbol("kTaskInfo"),L0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,nZ.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new sZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[hl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[hl].resolve(t),e[hl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[hl])==null||i.reject(t),e[hl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[hl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[hl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[hl]={resolve:n,reject:s},t.postMessage(e)})})}};var uZ=Pe(aZ());async function XNe(r,{baseFs:e=new $t,prefixPath:t=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await an(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await O.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Me.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var AZ;async function ZNe(r,e){let t=await O.mktempPromise(),i=x.join(t,"archive.zip");return AZ||(AZ=new L0((0,uZ.getContent)())),await AZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await an(),level:e.compressionLevel})}async function*_Ne(r){let e=new cZ.default.Parse,t=new lZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function $Ne(r,e,{stripComponents:t=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of _Ne(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await Cf(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var es={};ut(es,{emitList:()=>eTe,emitTree:()=>CZ,treeNodeToJson:()=>dZ,treeNodeToTreeify:()=>pZ});var hZ=Pe(fZ());function pZ(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(Vy(e,l,2)),typeof c<"u"&&g.push($e(e,c[0],c[1])),g.length===0&&g.push(Vy(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function dZ(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Bc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:Bc(t.value[0],t.value[1]),children:n}};return e(r)}function eTe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));CZ({children:n},{configuration:e,stdout:t,json:i})}function CZ(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(dZ(l))} +`);return}let s=(0,hZ.asTree)(pZ(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 $1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var dZ=J("crypto"),PN=Pe(J("fs"));var $Ne=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,dZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Xl?`c${o}`:"";this.cacheKey=[$Ne,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${xf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=eTe(t).slice(0,10);return`${xf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||xN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await O.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await O.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await O.changeFilePromise(e,`/.gitignore +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var mZ=J("crypto"),kN=Pe(J("fs"));var tTe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,mZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Xl?`c${o}`:"";this.cacheKey=[tTe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${xf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=rTe(t).slice(0,10);return`${xf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||DN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await O.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await O.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await O.changeFilePromise(e,`/.gitignore *.flock *.tmp -`)}(this.mirrorCwd||!this.immutable)&&await O.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Me.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Mt(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let Ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(A)}`:t;if(Ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Ae!==t){let re;switch(this.check?re="throw":xN(t)!==xN(Ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:Ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:Ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),Ae=A.getRealPath();A.saveAndClose(),await O.chmodPromise(Ae,420);let ge=await u(_,Ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await O.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),Ae=(await u(_)).hash,ge=this.getLocatorPath(e,Ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await O.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await O.copyFilePromise(_,F,PN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,ge)});let M=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,M,Ae]},p=async()=>{let A=(async()=>{var ue;let Ae=this.getLocatorPath(e,t,o),ge=Ae!==null?await l.existsPromise(Ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),M=re||ge,F=M?i:n;if(F&&F(),M){let pe=null,ke=Ae;if(!re)if(this.check)pe=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)pe=Fe.hash;else return h()}return[re,ke,pe]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await an(),T=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Sg(()=>Jx(()=>v=T(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new Qo(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function xN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function eTe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var M0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(M0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Xd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} +`)}(this.mirrorCwd||!this.immutable)&&await O.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Me.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Mt(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let Ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(A)}`:t;if(Ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Ae!==t){let re;switch(this.check?re="throw":DN(t)!==DN(Ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:Ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:Ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),Ae=A.getRealPath();A.saveAndClose(),await O.chmodPromise(Ae,420);let ge=await u(_,Ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await O.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),Ae=(await u(_)).hash,ge=this.getLocatorPath(e,Ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await O.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await O.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,ge)});let M=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,M,Ae]},p=async()=>{let A=(async()=>{var ue;let Ae=this.getLocatorPath(e,t,o),ge=Ae!==null?await l.existsPromise(Ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),M=re||ge,F=M?i:n;if(F&&F(),M){let pe=null,ke=Ae;if(!re)if(this.check)pe=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)pe=Fe.hash;else return h()}return[re,ke,pe]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await an(),T=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Sg(()=>Jx(()=>v=T(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new So(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function DN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function rTe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var M0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(M0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Xd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} `)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(` `),this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. `),this.suggestInstall&&this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var X0=J("crypto");function iA(){}iA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var T=B&&B.newPos+1=a&&D+1>=l)return o(tTe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function rTe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Lat=new iA;var CZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,mZ=/\S/,EZ=new iA;EZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!mZ.test(r)&&!mZ.test(e)};EZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(RN(r,null,null,n),n," ")};ZC.equals=function(r,e){return iA.prototype.equals.call(ZC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function RN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=iTe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],T=D.lines||D.value.replace(/\n$/,"").split(` -`);if(D.lines=T,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,DN(T.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),Ae=/\n$/.test(i),ge=T.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!Ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>xw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],W0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!O.existsSync(i))return;let n=await O.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=aC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=so(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of OOe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=vf(c.range),C=aC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,nn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var z0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Sw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Sw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var V0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends vi{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var v$=Pe(OD());var Qh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:qo(null,`${this.computeCandidateName()}-${rn(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=nn(e,t),this.anchoredDescriptor=_t(this.locator,`${jr.protocol}${this.relativeCwd}`),this.anchoredLocator=nn(this.locator,`${jr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o);if(i.length===0)return;let n=await(0,v$.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort(),await n.reduce(async(o,a)=>{let l=x.resolve(this.cwd,K.toPortablePath(a)),c=await O.existsPromise(x.join(l,"package.json"));await o,c&&this.workspacesCwds.add(l)},Promise.resolve())}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===jr.protocol&&x.normalize(n)===this.relativeCwd||i===jr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=so(n);return s?i===jr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&oC(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await O.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var x$=6,KOe=1,UOe=/ *, */g,P$=/\/$/,HOe=32,GOe=(0,JN.promisify)(WN.default.gzip),YOe=(0,JN.promisify)(WN.default.gunzip),ts=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(ts||{}),jN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},D$=r=>rn(`${KOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new Qe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,O.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Qe(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}. +`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var X0=J("crypto");function rA(){}rA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var T=B&&B.newPos+1=a&&D+1>=l)return o(iTe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function nTe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Oat=new rA;var EZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,IZ=/\S/,yZ=new rA;yZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!IZ.test(r)&&!IZ.test(e)};yZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(NN(r,null,null,n),n," ")};ZC.equals=function(r,e){return rA.prototype.equals.call(ZC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function NN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=sTe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],T=D.lines||D.value.replace(/\n$/,"").split(` +`);if(D.lines=T,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,RN(T.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),Ae=/\n$/.test(i),ge=T.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!Ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>xw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],W0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!O.existsSync(i))return;let n=await O.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=aC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=so(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of UOe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=vf(c.range),C=aC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,nn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var z0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Sw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Sw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var V0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends vi{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var P$=Pe(OD());var Qh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:Jo(null,`${this.computeCandidateName()}-${rn(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=nn(e,t),this.anchoredDescriptor=_t(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=nn(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o);if(i.length===0)return;let n=await(0,P$.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort(),await n.reduce(async(o,a)=>{let l=x.resolve(this.cwd,K.toPortablePath(a)),c=await O.existsPromise(x.join(l,"package.json"));await o,c&&this.workspacesCwds.add(l)},Promise.resolve())}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===Yr.protocol&&x.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=so(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&oC(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await O.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var D$=6,HOe=1,GOe=/ *, */g,k$=/\/$/,YOe=32,jOe=(0,zN.promisify)(VN.default.gzip),qOe=(0,zN.promisify)(VN.default.gunzip),ts=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(ts||{}),JN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},R$=r=>rn(`${HOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new Qe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,O.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Qe(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}. ${[g,f,h].join(` -`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(O.existsSync(e)){let n=await O.readFilePromise(e,"utf8");this.lockFileChecksum=D$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Dc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:T};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(UOe)){let $=zA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,t=(0,_0.default)(4),i=async(n,s)=>{if(e.has(s))return n;e.add(s);let o=new Qh(s,{project:this});await t(()=>o.setup());let a=n.then(()=>{this.addWorkspace(o);let l=this.storedPackages.get(o.anchoredLocator.locatorHash);l&&(o.dependencies=l.dependencies)});return Array.from(o.workspacesCwds).reduce(i,a)};await i(Promise.resolve(),this.cwd)}addWorkspace(e){let t=this.workspacesByIdent.get(e.locator.identHash);if(typeof t<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,e.locator)}: ${K.fromPortablePath(e.cwd)} conflicts with ${K.fromPortablePath(t.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.locator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(WA(e)&&(e=iC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(jo(e)&&(e=nC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${lC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let t=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let i=new Set(this.storedResolutions.values());typeof t<"u"&&!i.has(t)&&this.deleteLocator(t)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[t,i]of this.storedResolutions)i===e.locatorHash&&this.deleteDescriptor(t)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),t=new Map;for(let[i,n]of this.storedResolutions.entries()){let s=t.get(n);s||t.set(n,s=new Set),s.add(i)}for(let i of this.originalPackages.values()){let n;try{n=e.shouldPersistResolution(i,{project:this,resolver:e})}catch{n=!1}if(!n){this.deleteLocator(i.locatorHash);let s=t.get(i.locatorHash);if(s){t.delete(i.locatorHash);for(let o of s)this.deleteDescriptor(o)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)WA(i)&&e.dependencies.set(t,iC(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Mt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!k$.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(P$,"")!==e.replace(P$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new W0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new V0(t)]:[i,t],s=new kf([new z0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=$D(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(vi.progressViaTitle(),async W=>{let _=async M=>{let F=await df(async()=>await s.resolve(M,a),ke=>`${mt(this.configuration,M)}: ${ke}`);if(!oC(M,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,M)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!sC(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,M,a);ue.dependencies.set(ke,oe)}let pe=io([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(pe),pe.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async M=>{let F=f.get(M.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>_(M));return f.set(M.locatorHash,ue),ue},Ae=async(M,F)=>{let ue=await re(F);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,ue.locatorHash),ue},ge=async M=>{W.setTitle(tr(this.configuration,M));let F=this.resolutionAliases.get(M.descriptorHash);if(typeof F<"u")return Ae(M,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(M,a),pe=new Map(await io(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await df(async()=>await s.getCandidates(M,pe,a),Ne=>`${tr(this.configuration,M)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,M)}: No candidates found`);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,Fe.locatorHash),A(Fe)},re=M=>{let F=h.get(M.descriptorHash);if(typeof F<"u")return F;l.set(M.descriptorHash,M);let ue=Promise.resolve().then(()=>ge(M));return h.set(M.descriptorHash,ue),ue};for(let M of this.workspaces){let F=M.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let M=[...y];y.length=0,await io(M)}});let D=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),H=new Set,j=new Map;jOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)T.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!T.has(W.locatorHash)||(kw(W,v)||(kw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${$e(this.configuration,"supportedArchitectures",xi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(bn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Es(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=vi.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,_0.default)(HOe);if(await t.startCacheReport(async()=>{await io(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(jo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var Ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(M=>{let F=M.makeInstaller(c),ue=F.getCustomDataKey(),pe=this.installersCustomData.get(ue);return typeof pe<"u"&&F.attachCustomData(pe),[M,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await io([...this.accessibleLocators].map(async M=>{let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[M,await o.fetch(F,a)]}))),C=[];for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],ke=Ne=>{pe.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let Be of["preinstall","install","postinstall"])oe.has(Be)&&Ne.push([0,Be]);try{for(let[Be,fe]of u)if(Be.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(Ae=ue.releaseFs)==null||Ae.call(ue):C.push(io(pe).catch(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!jo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(Be=>Be.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{pe.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push(io(pe).then(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,pe=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let Be=this.storedResolutions.get(le.descriptorHash);if(typeof Be>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(Be);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);let ae=this.tryWorkspaceByLocator(fe)===null?g.get(Be):null;if(typeof ae>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);ae===ke||ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&hf(y,Be).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await pe(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await pe(ke,Fe)}}for(let[M,F]of y){let ue=this.storedPackages.get(M);if(!ue)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(ue.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(pe);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let M of u.values()){let F=await M.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(M.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await io(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let M of D)v.delete(M);let T=(0,X0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(M=>M.globalHashGeneration,this,M=>{T.update("\0"),T.update(M)});let H=T.digest("hex"),j=new Map,$=M=>{let F=j.get(M.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(M.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let pe=(0,X0.createHash)("sha512");pe.update(M.locatorHash),j.set(M.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");pe.update($(Ne))}return F=pe.digest("hex"),j.set(M.locatorHash,F),F},V=(M,F)=>{let ue=(0,X0.createHash)("sha512");ue.update(H),ue.update($(M));for(let pe of F)ue.update(pe);return ue.digest("hex")},W=new Map,_=!1,A=M=>{let F=new Set([M.locatorHash]);for(let ue of F){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");for(let ke of pe.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==M.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==M.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let M=D.size,F=[];for(let ue of D){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");if(!A(pe))continue;let ke=h.get(pe.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(pe,ke.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===Fe){W.set(pe.locatorHash,Fe),D.delete(ue);continue}_||(await this.persistInstallStateFile(),_=!0),this.storedBuildState.has(pe.locatorHash)?t.reportInfo(8,`${mt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,pe)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,Be]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${Es(pe)}) +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(O.existsSync(e)){let n=await O.readFilePromise(e,"utf8");this.lockFileChecksum=R$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Dc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:T};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(GOe)){let $=WA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,t=(0,_0.default)(4),i=async(n,s)=>{if(e.has(s))return n;e.add(s);let o=new Qh(s,{project:this});await t(()=>o.setup());let a=n.then(()=>{this.addWorkspace(o);let l=this.storedPackages.get(o.anchoredLocator.locatorHash);l&&(o.dependencies=l.dependencies)});return Array.from(o.workspacesCwds).reduce(i,a)};await i(Promise.resolve(),this.cwd)}addWorkspace(e){let t=this.workspacesByIdent.get(e.locator.identHash);if(typeof t<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,e.locator)}: ${K.fromPortablePath(e.cwd)} conflicts with ${K.fromPortablePath(t.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.locator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(JA(e)&&(e=iC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(qo(e)&&(e=nC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${lC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let t=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let i=new Set(this.storedResolutions.values());typeof t<"u"&&!i.has(t)&&this.deleteLocator(t)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[t,i]of this.storedResolutions)i===e.locatorHash&&this.deleteDescriptor(t)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),t=new Map;for(let[i,n]of this.storedResolutions.entries()){let s=t.get(n);s||t.set(n,s=new Set),s.add(i)}for(let i of this.originalPackages.values()){let n;try{n=e.shouldPersistResolution(i,{project:this,resolver:e})}catch{n=!1}if(!n){this.deleteLocator(i.locatorHash);let s=t.get(i.locatorHash);if(s){t.delete(i.locatorHash);for(let o of s)this.deleteDescriptor(o)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)JA(i)&&e.dependencies.set(t,iC(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Mt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!F$.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(k$,"")!==e.replace(k$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new W0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new V0(t)]:[i,t],s=new kf([new z0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=$D(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(vi.progressViaTitle(),async W=>{let _=async M=>{let F=await df(async()=>await s.resolve(M,a),ke=>`${mt(this.configuration,M)}: ${ke}`);if(!oC(M,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,M)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!sC(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,M,a);ue.dependencies.set(ke,oe)}let pe=io([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(pe),pe.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async M=>{let F=f.get(M.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>_(M));return f.set(M.locatorHash,ue),ue},Ae=async(M,F)=>{let ue=await re(F);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,ue.locatorHash),ue},ge=async M=>{W.setTitle(tr(this.configuration,M));let F=this.resolutionAliases.get(M.descriptorHash);if(typeof F<"u")return Ae(M,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(M,a),pe=new Map(await io(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await df(async()=>await s.getCandidates(M,pe,a),Ne=>`${tr(this.configuration,M)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,M)}: No candidates found`);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,Fe.locatorHash),A(Fe)},re=M=>{let F=h.get(M.descriptorHash);if(typeof F<"u")return F;l.set(M.descriptorHash,M);let ue=Promise.resolve().then(()=>ge(M));return h.set(M.descriptorHash,ue),ue};for(let M of this.workspaces){let F=M.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let M=[...y];y.length=0,await io(M)}});let D=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),H=new Set,j=new Map;JOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)T.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!T.has(W.locatorHash)||(kw(W,v)||(kw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${$e(this.configuration,"supportedArchitectures",xi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(bn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Es(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=vi.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,_0.default)(YOe);if(await t.startCacheReport(async()=>{await io(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(qo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var Ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(M=>{let F=M.makeInstaller(c),ue=F.getCustomDataKey(),pe=this.installersCustomData.get(ue);return typeof pe<"u"&&F.attachCustomData(pe),[M,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await io([...this.accessibleLocators].map(async M=>{let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[M,await o.fetch(F,a)]}))),C=[];for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],ke=Ne=>{pe.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let Be of["preinstall","install","postinstall"])oe.has(Be)&&Ne.push([0,Be]);try{for(let[Be,fe]of u)if(Be.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(Ae=ue.releaseFs)==null||Ae.call(ue):C.push(io(pe).catch(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!qo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(Be=>Be.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{pe.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push(io(pe).then(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,pe=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let Be=this.storedResolutions.get(le.descriptorHash);if(typeof Be>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(Be);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);let ae=this.tryWorkspaceByLocator(fe)===null?g.get(Be):null;if(typeof ae>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);ae===ke||ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&hf(y,Be).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await pe(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await pe(ke,Fe)}}for(let[M,F]of y){let ue=this.storedPackages.get(M);if(!ue)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(ue.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(pe);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let M of u.values()){let F=await M.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(M.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await io(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let M of D)v.delete(M);let T=(0,X0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(M=>M.globalHashGeneration,this,M=>{T.update("\0"),T.update(M)});let H=T.digest("hex"),j=new Map,$=M=>{let F=j.get(M.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(M.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let pe=(0,X0.createHash)("sha512");pe.update(M.locatorHash),j.set(M.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");pe.update($(Ne))}return F=pe.digest("hex"),j.set(M.locatorHash,F),F},V=(M,F)=>{let ue=(0,X0.createHash)("sha512");ue.update(H),ue.update($(M));for(let pe of F)ue.update(pe);return ue.digest("hex")},W=new Map,_=!1,A=M=>{let F=new Set([M.locatorHash]);for(let ue of F){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");for(let ke of pe.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==M.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==M.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let M=D.size,F=[];for(let ue of D){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");if(!A(pe))continue;let ke=h.get(pe.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(pe,ke.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===Fe){W.set(pe.locatorHash,Fe),D.delete(ue);continue}_||(await this.persistInstallStateFile(),_=!0),this.storedBuildState.has(pe.locatorHash)?t.reportInfo(8,`${mt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,pe)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,Be]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${Es(pe)}) `;switch(le){case 0:fe+=`# Script name: ${Be} `;break;case 1:fe+=`# Script code: ${Be} -`;break}let ae=null;if(!await O.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:he,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,pe),report:t}),de;try{switch(le){case 0:de=await TB(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break;case 1:de=await JR(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(he.end(),ie.end(),de===0)return!0;O.detachTemp(ne);let _e=`${mt(this.configuration,pe)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(pe.locatorHash,Fe)}))}if(await io(F),M===D.size){let ue=Array.from(D).map(pe=>{let ke=this.storedPackages.get(pe);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await O.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Vl(n,this.generateLockfile());if(c!==n){let u=IZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Bc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Qw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Qw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:x$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Sn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:Es(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`;break}let ae=null;if(!await O.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:he,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,pe),report:t}),de;try{switch(le){case 0:de=await TB(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break;case 1:de=await JR(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(he.end(),ie.end(),de===0)return!0;O.detachTemp(ne);let _e=`${mt(this.configuration,pe)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(pe.locatorHash,Fe)}))}if(await io(F),M===D.size){let ue=Array.from(D).map(pe=>{let ke=this.storedPackages.get(pe);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await O.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Vl(n,this.generateLockfile());if(c!==n){let u=wZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Bc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Qw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Qw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:D$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Sn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:Es(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. `,`# Manual changes might be lost - proceed with caution! `].join("")} -`+ba(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await O.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Vl(t,i);n!==t&&(await O.writeFilePromise(e,n),this.lockFileChecksum=D$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(jN))e.push(...o);let t=(0,Z0.default)(this,e),i=qN.default.serialize(t),n=rn(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await O.mkdirPromise(x.dirname(s),{recursive:!0}),await O.writeFilePromise(s,await GOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await YOe(await O.readFilePromise(n));s=qN.default.deserialize(o),this.installStateChecksum=rn(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,Z0.default)(s,jN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,Z0.default)(s,jN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){let e=(0,_0.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(t=>e(()=>t.persistManifest()))])}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await O.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await O.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await O.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function jOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,rC(A)]})),B=()=>{let W=O.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,Ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Es(ge)} -`).join("");throw O.writeFileSync(_,Ae),O.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:Ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=T(W,_,A,{top:Ae,optional:ge});return u.pop(),re},T=(W,_,A,{top:Ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let M=[],F=[],ue=[],pe=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==Ae)continue;if(WA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Mt(Ne));if(typeof Y<"u"){let he=Y.get(null);typeof he<"u"&&he.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let Be=y.get(le)||i.get(le);if(!Be)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(Be.peerDependencies.size===0){D(Ne,Be,new Map,{top:Ae,optional:oe});continue}let fe,ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),ae=YD(Be,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(ae.locatorHash,ae),M.push([Be,fe,ae])}),ue.push(()=>{var Y;ne=new Map;for(let he of ae.peerDependencies.values()){let ie=re.dependencies.get(he.identHash);if(!ie&&sC(_,he)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&ae.dependencies.has(he.identHash)){ae.peerDependencies.delete(he.identHash);continue}ie||(ie=_t(he,"missing:")),ae.dependencies.set(ie.identHash,ie),WA(ie)&&wc(h,ie.descriptorHash).add(ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(he.identHash,(Y=A.get(he.identHash))!=null?Y:ae.locatorHash)}ae.dependencies=new Map(bn(ae.dependencies,([he,ie])=>Mt(ie)))}),pe.push(()=>{if(!i.has(ae.locatorHash))return;let Y=c.get(Be.locatorHash);typeof Y=="number"&&Y>=2&&B();let he=c.get(Be.locatorHash),ie=typeof he<"u"?he+1:1;c.set(Be.locatorHash,ie),D(fe,ae,ne,{top:Ae,optional:oe}),c.set(Be.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let he=t.get(Y.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(wc(C,he).add(_.locatorHash),!!i.has(ae.locatorHash)){for(let ie of ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hf(pf(p,de),Mt(ie)).push(ae.locatorHash)}for(let ie of qe)ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of M){let Be=pf(f,Ne.locatorHash),fe=rn(...[...le.dependencies.values()].map(Y=>{let he=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof he>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return he===Ae?`${he} (top)`:he}),oe.identHash),ae=Be.get(fe);if(typeof ae>"u"){Be.set(fe,oe);continue}if(ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let he=i.get(Y);typeof he>"u"||(he.dependencies.get(oe.identHash).descriptorHash!==ae.descriptorHash&&(Fe=!1),he.dependencies.set(oe.identHash,ae))}}}while(!Fe);for(let Ne of[...pe,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let Ae=p.get(W);if(!(typeof Ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[M,F]of Ae){let ue=tn(M);if(re.peerDependencies.has(ue.identHash))continue;let pe=`p${rn(ge,M,W).slice(0,5)}`;o.set(pe,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let Be of F){let fe=i.get(Be);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let ae=fe.peerDependencies.get(ue.identHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(ae.range)}[...oe].every(Be=>{if(Be.startsWith(jr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;Be=Be.slice(jr.protocol.length),(Be==="^"||Be==="~")&&(Be="*")}return kc(Ne,Be)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:pe,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(M);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:pe})}}}}let $=[W=>jD(W.subject),W=>Mt(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${$e(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${$e(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of bn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let _=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}) with version ${AC(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${_}`)}break}})}var Sh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!O.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){wc(this.values,e).add(t)}reportEnumerator(e,t){wc(this.enumerators,e).add(rn(t))}reportHit(e,t="*"){let i=pf(this.hits,e),n=Ta(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=O.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{O.mkdirSync(x.dirname(t),{recursive:!0}),O.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>kR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,T]of y)v.metrics[D]=T.shift(),T.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=O.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}O.mkdirSync(x.dirname(e),{recursive:!0}),O.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var zN=J("child_process"),R$=Pe(Ac());var VN=J("fs");var vh=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function qOe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,zN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,zN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function $0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Gn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new Qe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=T=>O.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!O.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{qOe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!R$.isCI&&process.stdout.isTTY&&(ye.telemetry=new Sh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){vh.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,VN.realpathSync)(process.cwd()),V=(0,VN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>O.rmtempPromise())}function F$(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Nm={};ut(Nm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>Jie,getPluginConfiguration:()=>Bb,main:()=>$0,openWorkspace:()=>Hh,pluginCommands:()=>vh});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends Qe{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var ZYe=Pe(Xr());ls();var _Ye=Pe(WT()),Jie=()=>new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",ud],["semver",ZYe],["typanion",hn],["yup",_Ye]]);async function Hh(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var v9e=Pe(Xr());ls();var x9e=Pe(WT());var pM={};ut(pM,{dedupeUtils:()=>Nb,default:()=>c4e,suggestUtils:()=>qh});var qae=Pe(Ac());var Nse=Pe(Km());ls();var qh={};ut(qh,{Modifier:()=>KL,Strategy:()=>Db,Target:()=>Um,WorkspaceModifier:()=>xse,applyModifier:()=>Dse,extractDescriptorFromPath:()=>UL,extractRangeModifier:()=>Pse,fetchDescriptorFrom:()=>HL,findProjectDescriptors:()=>Fse,getModifier:()=>Hm,getSuggestedDescriptors:()=>Gm,makeWorkspaceDescriptor:()=>Rse,toWorkspaceModifier:()=>kse});var OL=Pe(Xr()),dqe="workspace:",Um=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Um||{}),KL=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(KL||{}),xse=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(xse||{}),Db=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(Db||{});function Hm(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Cqe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function Pse(r,{project:e}){let t=r.match(Cqe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function Dse(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return OL.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function kse(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Rse(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${dqe}${kse(e)}`)}async function Fse(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function UL(r,{cwd:e,workspace:t}){return await mqe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await HL(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Gm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await Fse(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Rse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await HL(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Dse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function HL(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),OL.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=Pse(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function mqe(r){return await O.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var Au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await UL(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new Qe(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,xi.RANGE)} url; we now require package names to be explicitly specified. -Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",xi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),xi.DESCRIPTOR)}`);if(!v)throw new Qe(`The ${ee.pretty(t,B,xi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let T=Eqe(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(T.map(async j=>{let $=await Gm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:T}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,T=B.filter(V=>V.descriptor!==null),H=T[0].descriptor,j=T.every(V=>P.areDescriptorsEqual(V.descriptor,H));T.length===1||j?D=H:(f=!0,{answer:D}=await(0,Nse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:_})=>V?{name:W,hint:_,descriptor:V}:{name:W,hint:_,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(` -`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Au.paths=[["add"]],Au.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function Eqe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"].has(e.identHash);if((t||i)&&o)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push("peerDependencies"),(t||n)&&c.push("devDependencies"),s&&c.push("dependencies"),c.length>0?c:a?["devDependencies"]:l?["peerDependencies"]:["dependencies"]}var lu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Wt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new Qe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(t,n)}"`);let[,l]=a;return this.context.stdout.write(`${l} +`+ba(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await O.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Vl(t,i);n!==t&&(await O.writeFilePromise(e,n),this.lockFileChecksum=R$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(JN))e.push(...o);let t=(0,Z0.default)(this,e),i=WN.default.serialize(t),n=rn(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await O.mkdirPromise(x.dirname(s),{recursive:!0}),await O.writeFilePromise(s,await jOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await qOe(await O.readFilePromise(n));s=WN.default.deserialize(o),this.installStateChecksum=rn(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,Z0.default)(s,JN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,Z0.default)(s,JN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){let e=(0,_0.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(t=>e(()=>t.persistManifest()))])}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await O.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await O.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await O.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function JOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,rC(A)]})),B=()=>{let W=O.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,Ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Es(ge)} +`).join("");throw O.writeFileSync(_,Ae),O.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:Ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=T(W,_,A,{top:Ae,optional:ge});return u.pop(),re},T=(W,_,A,{top:Ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let M=[],F=[],ue=[],pe=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==Ae)continue;if(JA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Mt(Ne));if(typeof Y<"u"){let he=Y.get(null);typeof he<"u"&&he.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let Be=y.get(le)||i.get(le);if(!Be)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(Be.peerDependencies.size===0){D(Ne,Be,new Map,{top:Ae,optional:oe});continue}let fe,ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),ae=YD(Be,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(ae.locatorHash,ae),M.push([Be,fe,ae])}),ue.push(()=>{var Y;ne=new Map;for(let he of ae.peerDependencies.values()){let ie=re.dependencies.get(he.identHash);if(!ie&&sC(_,he)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&ae.dependencies.has(he.identHash)){ae.peerDependencies.delete(he.identHash);continue}ie||(ie=_t(he,"missing:")),ae.dependencies.set(ie.identHash,ie),JA(ie)&&wc(h,ie.descriptorHash).add(ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(he.identHash,(Y=A.get(he.identHash))!=null?Y:ae.locatorHash)}ae.dependencies=new Map(bn(ae.dependencies,([he,ie])=>Mt(ie)))}),pe.push(()=>{if(!i.has(ae.locatorHash))return;let Y=c.get(Be.locatorHash);typeof Y=="number"&&Y>=2&&B();let he=c.get(Be.locatorHash),ie=typeof he<"u"?he+1:1;c.set(Be.locatorHash,ie),D(fe,ae,ne,{top:Ae,optional:oe}),c.set(Be.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let he=t.get(Y.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(wc(C,he).add(_.locatorHash),!!i.has(ae.locatorHash)){for(let ie of ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hf(pf(p,de),Mt(ie)).push(ae.locatorHash)}for(let ie of qe)ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of M){let Be=pf(f,Ne.locatorHash),fe=rn(...[...le.dependencies.values()].map(Y=>{let he=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof he>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return he===Ae?`${he} (top)`:he}),oe.identHash),ae=Be.get(fe);if(typeof ae>"u"){Be.set(fe,oe);continue}if(ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let he=i.get(Y);typeof he>"u"||(he.dependencies.get(oe.identHash).descriptorHash!==ae.descriptorHash&&(Fe=!1),he.dependencies.set(oe.identHash,ae))}}}while(!Fe);for(let Ne of[...pe,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let Ae=p.get(W);if(!(typeof Ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[M,F]of Ae){let ue=tn(M);if(re.peerDependencies.has(ue.identHash))continue;let pe=`p${rn(ge,M,W).slice(0,5)}`;o.set(pe,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let Be of F){let fe=i.get(Be);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let ae=fe.peerDependencies.get(ue.identHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(ae.range)}[...oe].every(Be=>{if(Be.startsWith(Yr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;Be=Be.slice(Yr.protocol.length),(Be==="^"||Be==="~")&&(Be="*")}return kc(Ne,Be)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:pe,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(M);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:pe})}}}}let $=[W=>jD(W.subject),W=>Mt(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${$e(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${$e(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of bn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let _=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}) with version ${AC(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${_}`)}break}})}var Sh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!O.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){wc(this.values,e).add(t)}reportEnumerator(e,t){wc(this.enumerators,e).add(rn(t))}reportHit(e,t="*"){let i=pf(this.hits,e),n=Ta(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=O.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{O.mkdirSync(x.dirname(t),{recursive:!0}),O.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>kR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,T]of y)v.metrics[D]=T.shift(),T.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=O.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}O.mkdirSync(x.dirname(e),{recursive:!0}),O.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var XN=J("child_process"),N$=Pe(Ac());var ZN=J("fs");var vh=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function WOe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,XN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,XN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function $0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Gn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new Qe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=T=>O.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!O.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{WOe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!N$.isCI&&process.stdout.isTTY&&(ye.telemetry=new Sh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){vh.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,ZN.realpathSync)(process.cwd()),V=(0,ZN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>O.rmtempPromise())}function T$(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Nm={};ut(Nm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>zie,getPluginConfiguration:()=>Bb,main:()=>$0,openWorkspace:()=>Hh,pluginCommands:()=>vh});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends Qe{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var $Ye=Pe(Xr());ls();var eje=Pe(VT()),zie=()=>new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",ud],["semver",$Ye],["typanion",hn],["yup",eje]]);async function Hh(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var P9e=Pe(Xr());ls();var D9e=Pe(VT());var CM={};ut(CM,{dedupeUtils:()=>Nb,default:()=>g4e,suggestUtils:()=>qh});var Wae=Pe(Ac());var Lse=Pe(Km());ls();var qh={};ut(qh,{Modifier:()=>HL,Strategy:()=>Db,Target:()=>Um,WorkspaceModifier:()=>Dse,applyModifier:()=>Rse,extractDescriptorFromPath:()=>GL,extractRangeModifier:()=>kse,fetchDescriptorFrom:()=>YL,findProjectDescriptors:()=>Tse,getModifier:()=>Hm,getSuggestedDescriptors:()=>Gm,makeWorkspaceDescriptor:()=>Nse,toWorkspaceModifier:()=>Fse});var UL=Pe(Xr()),mqe="workspace:",Um=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Um||{}),HL=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(HL||{}),Dse=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(Dse||{}),Db=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(Db||{});function Hm(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Eqe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function kse(r,{project:e}){let t=r.match(Eqe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function Rse(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return UL.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Fse(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Nse(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${mqe}${Fse(e)}`)}async function Tse(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function GL(r,{cwd:e,workspace:t}){return await Iqe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await YL(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Gm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await Tse(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Nse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await YL(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Rse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function YL(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),UL.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=kse(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function Iqe(r){return await O.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var Au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await GL(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new Qe(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,xi.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",xi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),xi.DESCRIPTOR)}`);if(!v)throw new Qe(`The ${ee.pretty(t,B,xi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let T=yqe(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(T.map(async j=>{let $=await Gm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:T}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,T=B.filter(V=>V.descriptor!==null),H=T[0].descriptor,j=T.every(V=>P.areDescriptorsEqual(V.descriptor,H));T.length===1||j?D=H:(f=!0,{answer:D}=await(0,Lse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:_})=>V?{name:W,hint:_,descriptor:V}:{name:W,hint:_,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(` +`),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Au.paths=[["add"]],Au.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function yqe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"].has(e.identHash);if((t||i)&&o)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push("peerDependencies"),(t||n)&&c.push("devDependencies"),s&&c.push("dependencies"),c.length>0?c:a?["devDependencies"]:l?["peerDependencies"]:["dependencies"]}var lu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Wt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new Qe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(t,n)}"`);let[,l]=a;return this.context.stdout.write(`${l} `),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Wt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c," ")} ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};lu.paths=[["bin"]],lu.usage=ve.Usage({description:"get the path to a binary script",details:` When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var cu=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await O.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await O.removePromise(i.cwd)})).exitCode()}};cu.paths=[["cache","clean"],["cache","clear"]],cu.usage=ve.Usage({description:"remove the shared cache files",details:` This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Tse=Pe(ub()),GL=J("util"),uu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new Qe(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Tse.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} -`),c.exitCode();GL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,GL.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})} + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Mse=Pe(ub()),jL=J("util"),uu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new Qe(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Mse.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} +`),c.exitCode();jL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,jL.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})} `)}return c.exitCode()}};uu.paths=[["config","get"]],uu.usage=ve.Usage({description:"read a configuration settings",details:` This command will print a configuration setting. Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Woe=Pe(zL()),zoe=Pe(ub()),Voe=Pe(Joe()),VL=J("util"),gu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new Qe("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new Qe(`Couldn't find a configuration settings named "${n}"`);if(n==="enableStrictSettings")throw new Qe("This setting only affects the file it's in, and thus cannot be set from the CLI");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,Woe.default)(p);return(0,Voe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,zoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{VL.inspect.styles.name="cyan",p.reportInfo(0,`Successfully set ${this.name} to ${(0,VL.inspect)(f,{depth:1/0,colors:t.get("enableColors"),compact:!1})}`)})).exitCode()}};gu.paths=[["config","set"]],gu.usage=ve.Usage({description:"change a configuration settings",details:` + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Voe=Pe(XL()),Xoe=Pe(ub()),Zoe=Pe(zoe()),ZL=J("util"),gu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new Qe("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new Qe(`Couldn't find a configuration settings named "${n}"`);if(n==="enableStrictSettings")throw new Qe("This setting only affects the file it's in, and thus cannot be set from the CLI");let a=this.json?JSON.parse(this.value):this.value;await(this.home?p=>ye.updateHomeConfiguration(p):p=>ye.updateConfiguration(i(),p))(p=>{if(s){let C=(0,Voe.default)(p);return(0,Zoe.default)(C,this.name,a),C}else return{...p,[n]:a}});let u=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(n,{hideSecrets:!0,getNativePaths:!0}),g=Ie.convertMapsToIndexableObjects(u),f=s?(0,Xoe.default)(g,s):g;return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async p=>{ZL.inspect.styles.name="cyan",p.reportInfo(0,`Successfully set ${this.name} to ${(0,ZL.inspect)(f,{depth:1/0,colors:t.get("enableColors"),compact:!1})}`)})).exitCode()}};gu.paths=[["config","set"]],gu.usage=ve.Usage({description:"change a configuration settings",details:` This command will set a configuration setting. When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var nae=Pe(zL()),sae=Pe(am()),oae=Pe(iae()),fu=class extends De{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new Qe("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new Qe(`Couldn't find a configuration settings named "${n}"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,sae.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,nae.default)(g):{...g};return(0,oae.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};fu.paths=[["config","unset"]],fu.usage=ve.Usage({description:"unset a configuration setting",details:` + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var oae=Pe(XL()),aae=Pe(am()),Aae=Pe(sae()),fu=class extends De{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=()=>{if(!t.projectCwd)throw new Qe("This command must be run from within a project folder");return t.projectCwd},n=this.name.replace(/[.[].*$/,""),s=this.name.replace(/^[^.[]*\.?/,"");if(typeof t.settings.get(n)>"u")throw new Qe(`Couldn't find a configuration settings named "${n}"`);let a=this.home?c=>ye.updateHomeConfiguration(c):c=>ye.updateConfiguration(i(),c);return(await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout},async c=>{let u=!1;await a(g=>{if(!(0,aae.default)(g,this.name))return c.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),u=!0,g;let f=s?(0,oae.default)(g):{...g};return(0,Aae.default)(f,this.name),f}),u||c.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};fu.paths=[["config","unset"]],fu.usage=ve.Usage({description:"unset a configuration setting",details:` This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var XL=J("util"),hu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,XL.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,XL.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};hu.paths=[["config"]],hu.usage=ve.Usage({description:"display the current configuration",details:` + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var _L=J("util"),hu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,_L.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,_L.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};hu.paths=[["config"]],hu.usage=ve.Usage({description:"display the current configuration",details:` This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});ls();var Nb={};ut(Nb,{Strategy:()=>jm,acceptedStrategies:()=>w3e,dedupe:()=>ZL});var aae=Pe(Bn()),jm=(e=>(e.HIGHEST="highest",e))(jm||{}),w3e=new Set(Object.values(jm)),B3e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!aae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function ZL(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=B3e[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:T,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var pu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Zi(jm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await ZL(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};pu.paths=[["dedupe"]],pu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Vh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Gn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=Aae()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} + `,examples:[["Print the active configuration settings","$0 config"]]});ls();var Nb={};ut(Nb,{Strategy:()=>jm,acceptedStrategies:()=>b3e,dedupe:()=>$L});var lae=Pe(Bn()),jm=(e=>(e.HIGHEST="highest",e))(jm||{}),b3e=new Set(Object.values(jm)),Q3e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!lae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function $L(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=Q3e[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:T,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var pu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Zi(jm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await $L(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};pu.paths=[["dedupe"]],pu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Vh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Gn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=cae()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} `)}};Vh.paths=[["--clipanion=definitions"]];var Xh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Xh.paths=[["help"],["--help"],["-h"]];var qm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};var Zh=class extends De{async execute(){this.context.stdout.write(`${Tr||""} `)}};Zh.paths=[["-v"],["--version"]];var du=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Wt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};du.paths=[["exec"]],du.usage=ve.Usage({description:"execute a shell script",details:` This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ls();var Cu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:od(sd(),[ad(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await Q3e(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",T=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${T} ${C} to ${y}${D}`)}})).exitCode()}};Cu.paths=[["explain","peer-requirements"]],Cu.usage=ve.Usage({description:"explain a set of peer requirements",details:` + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ls();var Cu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:od(sd(),[ad(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await v3e(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",T=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${T} ${C} to ${y}${D}`)}})).exitCode()}};Cu.paths=[["explain","peer-requirements"]],Cu.usage=ve.Usage({description:"explain a set of peer requirements",details:` A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. @@ -482,9 +482,9 @@ Try running the command again with the package name prefixed: ${ee.pretty(t,"yar When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function Q3e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let T=e.storedPackages.get(D);if(typeof T>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(T),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:T})=>vt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:T}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,T.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:T,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(C+(T.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ls();var lae=Pe(Xr()),mu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Tr>"u")throw new Qe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await S3e(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Qe(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await O.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await _L(t,null,c,{report:a})})).exitCode()}};mu.paths=[["set","version"]],mu.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function S3e(r,e){let i=(await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Qe(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Jm(r,e){let t=await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Qe(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function _L(r,e,t,{report:i}){var h;e===null&&await O.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await O.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!lae.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function v3e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let T=e.storedPackages.get(D);if(typeof T>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(T),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:T})=>vt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:T}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,T.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:T,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(C+(T.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ls();var uae=Pe(Xr()),mu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Tr>"u")throw new Qe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await x3e(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Qe(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await O.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await eM(t,null,c,{report:a})})).exitCode()}};mu.paths=[["set","version"]],mu.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function x3e(r,e){let i=(await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Qe(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Jm(r,e){let t=await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Qe(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function eM(r,e,t,{report:i}){var h;e===null&&await O.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await O.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!uae.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: ${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await O.removePromise(x.dirname(o)),await O.mkdirPromise(x.dirname(o),{recursive:!0}),await O.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Jm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)} -`;await O.changeFilePromise(g,f,{automaticNewlines:!0})}function cae(r){return Ct[LI(r)]}var v3e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?

(?:.(?!##))+)/gs;async function x3e(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Tr)?Tr:await Jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(v3e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=cae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Eu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:od(sd(),[ad(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=cae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await x3e(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. +`;await O.changeFilePromise(g,f,{automaticNewlines:!0})}function gae(r){return Ct[LI(r)]}var P3e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function D3e(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Tr)?Tr:await Jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(P3e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=gae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Eu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:od(sd(),[ad(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=gae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await D3e(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. You can help us by editing this page on GitHub \u{1F642}: ${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} @@ -492,11 +492,11 @@ ${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/b `):this.context.stdout.write(`${s} ${l} -`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:NA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};es.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Eu.paths=[["explain"]],Eu.usage=ve.Usage({description:"explain an error code",details:` +`)}else{let i={children:Ie.mapAndFilter(Object.entries(Ct),([n,s])=>Number.isNaN(Number(n))?Ie.mapAndFilter.skip:{label:FA(Number(n)),value:ee.tuple(ee.Type.CODE,s)})};es.emitTree(i,{configuration:t,stdout:this.context.stdout,json:this.json})}}};Eu.paths=[["explain"]],Eu.usage=ve.Usage({description:"explain an error code",details:` When the code argument is specified, this command prints its name and its details. When used without arguments, this command lists all error codes and their names. - `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var uae=Pe(Bn()),Iu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(T,{recursive:H})=>{let j=T.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let Ae=i.storedResolutions.get(A.descriptorHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(Ae)}}return $.values()},l=({recursive:T})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:T}))H.set($.locatorHash,$);return H.values()},c=({all:T,recursive:H})=>T&&H?i.storedPackages.values():T?l({recursive:H}):a(n,{recursive:H}),u=({all:T,recursive:H})=>{let j=c({all:T,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),Ae=uae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return M=>{let F=P.stringifyIdent(M);if(!Ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(M),pe=ue?P.devirtualizeLocator(M):M;return!(ge&&ue&&A.reference!==M.reference||re.reference!==pe.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new Qe("No package matched your request");let h=new Map;if(this.dependents)for(let T of f)for(let H of T.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(T)}let p=new Map;for(let T of f){if(!P.isVirtualLocator(T))continue;let H=P.devirtualizeLocator(T);Ie.getArrayWithDefault(p,H.locatorHash).push(T)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(T,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(T,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(T,H,j)=>{var Ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(Ae=i.storedChecksums.get(T.locatorHash))!=null?Ae:null,W=s.getLocatorPath(T,V,$),_;if(W!==null)try{_=O.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let T of g){let H=P.isVirtualLocator(T);if(!this.virtuals&&H)continue;let j={},$={value:[T,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(T)]=$,this.nameOnly){delete $.children;continue}let V=p.get(T.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,T.version)};let W=(A,Ae)=>{let ge={};if(j[A]=ge,Array.isArray(Ae))ge.children=Ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[M,F]of Object.entries(Ae))typeof F>"u"||(re[M]={label:M,value:F})}};if(!H){for(let A of D)await A(T,o,W);await t.triggerHook(A=>A.fetchPackageInfo,T,o,W)}T.bin.size>0&&!H&&W("Exported Binaries",[...T.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let _=h.get(T.locatorHash);typeof _<"u"&&_.length>0&&W("Dependents",_.map(A=>ee.tuple(ee.Type.LOCATOR,A))),T.dependencies.size>0&&!H&&W("Dependencies",[...T.dependencies.values()].map(A=>{var re;let Ae=i.storedResolutions.get(A.descriptorHash),ge=typeof Ae<"u"&&(re=i.storedPackages.get(Ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),T.peerDependencies.size>0&&H&&W("Peer dependencies",[...T.peerDependencies.values()].map(A=>{var M,F;let Ae=T.dependencies.get(A.identHash),ge=typeof Ae<"u"&&(M=i.storedResolutions.get(Ae.descriptorHash))!=null?M:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}es.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Iu.paths=[["info"]],Iu.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Tb=Pe(Ac());ls();var yu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!Tb.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new Qe(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await R3e(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await O.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};yu.paths=[["install"],ve.Default],yu.usage=ve.Usage({description:"install the project dependencies",details:` + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var fae=Pe(Bn()),Iu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(T,{recursive:H})=>{let j=T.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let Ae=i.storedResolutions.get(A.descriptorHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(Ae)}}return $.values()},l=({recursive:T})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:T}))H.set($.locatorHash,$);return H.values()},c=({all:T,recursive:H})=>T&&H?i.storedPackages.values():T?l({recursive:H}):a(n,{recursive:H}),u=({all:T,recursive:H})=>{let j=c({all:T,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),Ae=fae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return M=>{let F=P.stringifyIdent(M);if(!Ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(M),pe=ue?P.devirtualizeLocator(M):M;return!(ge&&ue&&A.reference!==M.reference||re.reference!==pe.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new Qe("No package matched your request");let h=new Map;if(this.dependents)for(let T of f)for(let H of T.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(T)}let p=new Map;for(let T of f){if(!P.isVirtualLocator(T))continue;let H=P.devirtualizeLocator(T);Ie.getArrayWithDefault(p,H.locatorHash).push(T)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(T,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(T,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(T,H,j)=>{var Ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(Ae=i.storedChecksums.get(T.locatorHash))!=null?Ae:null,W=s.getLocatorPath(T,V,$),_;if(W!==null)try{_=O.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let T of g){let H=P.isVirtualLocator(T);if(!this.virtuals&&H)continue;let j={},$={value:[T,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(T)]=$,this.nameOnly){delete $.children;continue}let V=p.get(T.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,T.version)};let W=(A,Ae)=>{let ge={};if(j[A]=ge,Array.isArray(Ae))ge.children=Ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[M,F]of Object.entries(Ae))typeof F>"u"||(re[M]={label:M,value:F})}};if(!H){for(let A of D)await A(T,o,W);await t.triggerHook(A=>A.fetchPackageInfo,T,o,W)}T.bin.size>0&&!H&&W("Exported Binaries",[...T.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let _=h.get(T.locatorHash);typeof _<"u"&&_.length>0&&W("Dependents",_.map(A=>ee.tuple(ee.Type.LOCATOR,A))),T.dependencies.size>0&&!H&&W("Dependencies",[...T.dependencies.values()].map(A=>{var re;let Ae=i.storedResolutions.get(A.descriptorHash),ge=typeof Ae<"u"&&(re=i.storedPackages.get(Ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),T.peerDependencies.size>0&&H&&W("Peer dependencies",[...T.peerDependencies.values()].map(A=>{var M,F;let Ae=T.dependencies.get(A.identHash),ge=typeof Ae<"u"&&(M=i.storedResolutions.get(Ae.descriptorHash))!=null?M:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}es.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Iu.paths=[["info"]],Iu.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Tb=Pe(Ac());ls();var yu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!Tb.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new Qe(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await N3e(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await O.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};yu.paths=[["install"],ve.Default],yu.usage=ve.Usage({description:"install the project dependencies",details:` This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). @@ -522,18 +522,18 @@ ${l} - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var P3e="|||||||",D3e=">>>>>>>",k3e="=======",gae="<<<<<<<";async function R3e(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await O.existsPromise(t))return!1;let i=await O.readFilePromise(t,"utf8");if(!i.includes(gae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=F3e(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await O.changeFilePromise(t,ba(l),{automaticNewlines:!0}),!0}function F3e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(gae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===k3e){i=!1;break}else if(i||s.startsWith(P3e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(D3e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var k3e="|||||||",R3e=">>>>>>>",F3e="=======",hae="<<<<<<<";async function N3e(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await O.existsPromise(t))return!1;let i=await O.readFilePromise(t,"utf8");if(!i.includes(hae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=T3e(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await O.changeFilePromise(t,ba(l),{automaticNewlines:!0}),!0}function T3e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(hae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===F3e){i=!1;break}else if(i||s.startsWith(k3e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(R3e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` `),e[1].join(` `)]}var wu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new Qe("Invalid destination; Can't link the project to itself");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new Qe("No workspace found to be linked in the target project")}else{if(!c.manifest.name)throw new Qe("The target workspace doesn't have a name and thus cannot be linked");if(c.manifest.private&&!this.private)throw new Qe("The target workspace is marked private - use the --private flag to link it anyway");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};wu.paths=[["link"]],wu.usage=ve.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Bu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Bu.paths=[["node"]],Bu.usage=ve.Usage({description:"run node with the hook already setup",details:` This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var mae=J("os");var fae=J("os");var N3e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Qu(r){let e=await Xt.get(N3e,{configuration:r});return yi(e.toString())}var bu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await Qu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};bu.paths=[["plugin","list"]],bu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var T3e=/^[0-9]+$/;function hae(r){return T3e.test(r)?`pull/${r}/head`:r}var L3e=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",hae(e)],["git","reset","--hard","FETCH_HEAD"]],M3e=({branch:r})=>[["git","fetch","origin","--depth=1",hae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],O3e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],Su=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,fae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await $L(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Wm(O3e(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await O.readFilePromise(a);await _L(t,"sources",l,{report:o}),this.skipPlugins||await K3e(this,{project:i,report:o,target:n})})).exitCode()}};Su.paths=[["set","version","from","sources"]],Su.usage=ve.Usage({description:"build Yarn from master",details:` + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Iae=J("os");var pae=J("os");var L3e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Qu(r){let e=await Xt.get(L3e,{configuration:r});return yi(e.toString())}var bu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await Qu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};bu.paths=[["plugin","list"]],bu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var M3e=/^[0-9]+$/;function dae(r){return M3e.test(r)?`pull/${r}/head`:r}var O3e=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",dae(e)],["git","reset","--hard","FETCH_HEAD"]],K3e=({branch:r})=>[["git","fetch","origin","--depth=1",dae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],U3e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],Su=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,pae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await tM(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Wm(U3e(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await O.readFilePromise(a);await eM(t,"sources",l,{report:o}),this.skipPlugins||await H3e(this,{project:i,report:o,target:n})})).exitCode()}};Su.paths=[["set","version","from","sources"]],Su.usage=ve.Usage({description:"build Yarn from master",details:` This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function Wm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function $L(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&O.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Wm(M3e(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await O.removePromise(i),await O.mkdirPromise(i,{recursive:!0}),await Wm(L3e(r,i),{configuration:e,context:r.context,target:i}))}async function K3e(r,{project:e,report:t,target:i}){let n=await Qu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await eM(o,r,{project:e,report:t,target:i})}var pae=Pe(Xr()),dae=J("url"),Cae=J("vm");var vu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await O.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new dae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!pae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await Qu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Tr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Tr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await tM(o,a,{project:s,report:n})})).exitCode()}};vu.paths=[["plugin","import"]],vu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` +`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function tM(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&O.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Wm(K3e(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await O.removePromise(i),await O.mkdirPromise(i,{recursive:!0}),await Wm(O3e(r,i),{configuration:e,context:r.context,target:i}))}async function H3e(r,{project:e,report:t,target:i}){let n=await Qu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await rM(o,r,{project:e,report:t,target:i})}var Cae=Pe(Xr()),mae=J("url"),Eae=J("vm");var vu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await O.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new mae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!Cae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await Qu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Tr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Tr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await iM(o,a,{project:s,report:n})})).exitCode()}};vu.paths=[["plugin","import"]],vu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. Three types of plugin references are accepted: @@ -543,11 +543,11 @@ ${l} - Local plugins can be referenced by their path on the disk. Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function tM(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Cae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await O.mkdirPromise(x.dirname(c),{recursive:!0}),await O.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var U3e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],xu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,mae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await Qu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await $L(this,{configuration:t,report:s,target:i}),await eM(u,this,{project:o,report:s,target:i})})).exitCode()}};xu.paths=[["plugin","import","from","sources"]],xu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function iM(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Eae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await O.mkdirPromise(x.dirname(c),{recursive:!0}),await O.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var G3e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],xu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Iae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await Qu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await tM(this,{configuration:t,report:s,target:i}),await rM(u,this,{project:o,report:s,target:i})})).exitCode()}};xu.paths=[["plugin","import","from","sources"]],xu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function eM(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Wm(U3e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await O.readFilePromise(l);await tM(r,c,{project:i,report:n})}var Pu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new Qe(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);O.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await O.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};Pu.paths=[["plugin","remove"]],Pu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function rM(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Wm(G3e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await O.readFilePromise(l);await iM(r,c,{project:i,report:n})}var Pu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new Qe(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);O.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await O.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};Pu.paths=[["plugin","remove"]],Pu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. @@ -559,7 +559,7 @@ ${l} Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var rM=Pe(Bn());ls();var Ru=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,rM.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let T=B.manifest.getForScope(D),H=[...T.values()].map(j=>P.stringifyIdent(j));for(let j of(0,rM.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=T.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new Qe(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};Ru.paths=[["remove"]],Ru.usage=ve.Usage({description:"remove dependencies from the project",details:` + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var nM=Pe(Bn());ls();var Ru=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,nM.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let T=B.manifest.getForScope(D),H=[...T.values()].map(j=>P.stringifyIdent(j));for(let j of(0,nM.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=T.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new Qe(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};Ru.paths=[["remove"]],Ru.usage=ve.Usage({description:"remove dependencies from the project",details:` This command will remove the packages matching the specified patterns from the current workspace. If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: @@ -569,7 +569,7 @@ ${l} - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Eae=J("util"),_h=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Eae.inspect)(g,l)}`)})).exitCode()}};_h.paths=[["run"]];var Fu=class extends De{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Wt.hasPackageScript(o,this.scriptName,{project:i}))return await Wt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Wt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect=="string"?c.push(`--inspect=${this.inspect}`):c.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push("--inspect-brk")),await Wt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Wt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Qe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Qe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName==="global")throw new Qe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let c=[this.scriptName].concat(this.args);for(let[u,g]of vh)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new Qe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${u} plugin. You can install it with "yarn plugin import ${u}".`);throw new Qe(`Couldn't find a script named "${this.scriptName}".`)}}};Fu.paths=[["run"]],Fu.usage=ve.Usage({description:"run a script defined in the package.json",details:` + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var yae=J("util"),_h=class extends De{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:t,workspace:i}=await je.find(e,this.context.cwd);if(!i)throw new ct(t.cwd,this.context.cwd);return(await Ge.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Ie.sortMap(o.keys(),u=>u),l={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,yae.inspect)(g,l)}`)})).exitCode()}};_h.paths=[["run"]];var Fu=class extends De{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n,locator:s}=await je.find(t,this.context.cwd);await i.restoreInstallState();let o=this.topLevel?i.topLevelWorkspace.anchoredLocator:s;if(!this.binariesOnly&&await Wt.hasPackageScript(o,this.scriptName,{project:i}))return await Wt.executePackageScript(o,this.scriptName,this.args,{project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let a=await Wt.getPackageAccessibleBinaries(o,{project:i});if(a.get(this.scriptName)){let c=[];return this.inspect&&(typeof this.inspect=="string"?c.push(`--inspect=${this.inspect}`):c.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?c.push(`--inspect-brk=${this.inspectBrk}`):c.push("--inspect-brk")),await Wt.executePackageAccessibleBinary(o,this.scriptName,this.args,{cwd:this.context.cwd,project:i,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:c,packageAccessibleBinaries:a})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let u=(await Promise.all(i.workspaces.map(async g=>g.manifest.scripts.has(this.scriptName)?g:null))).filter(g=>g!==null);if(u.length===1)return await Wt.executeWorkspaceScript(u[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Qe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Qe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(t,s)}).`);{if(this.scriptName==="global")throw new Qe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let c=[this.scriptName].concat(this.args);for(let[u,g]of vh)for(let f of g)if(c.length>=f.length&&JSON.stringify(c.slice(0,f.length))===JSON.stringify(f))throw new Qe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${u} plugin. You can install it with "yarn plugin import ${u}".`);throw new Qe(`Couldn't find a script named "${this.scriptName}".`)}}};Fu.paths=[["run"]],Fu.usage=ve.Usage({description:"run a script defined in the package.json",details:` This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. @@ -579,62 +579,62 @@ ${l} - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Nu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Nu.paths=[["set","resolution"]],Nu.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Iae=Pe(Bn()),Tu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new Qe("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new Qe("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,Iae.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Tu.paths=[["unlink"]],Tu.usage=ve.Usage({description:"disconnect the local project from another one",details:` + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Nu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Nu.paths=[["set","resolution"]],Nu.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var wae=Pe(Bn()),Tu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new Qe("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new Qe("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,wae.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Tu.paths=[["unlink"]],Tu.usage=ve.Usage({description:"disconnect the local project from another one",details:` This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var yae=Pe(Km()),iM=Pe(Bn());ls();var El=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new Qe("Ranges aren't allowed when using --recursive");for(let f of(0,iM.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let T of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...T.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,iM.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=T.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[T,H,_,await Gm(A,{project:i,workspace:T,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new Qe(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new Qe(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:T}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Bae=Pe(Km()),sM=Pe(Bn());ls();var El=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new Qe("Ranges aren't allowed when using --recursive");for(let f of(0,sM.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let T of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...T.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,sM.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=T.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[T,H,_,await Gm(A,{project:i,workspace:T,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new Qe(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new Qe(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:T}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range ${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled) -${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let T,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?T=j:(h=!0,{answer:T}=await(0,yae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:_,reason:A})=>W?{name:_,hint:A,descriptor:W}:{name:_,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(T.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==T.descriptorHash)B.manifest[v].set(T.identHash,T),p.push([B,v,V,T]);else{let W=t.makeResolver(),_={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,_);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(` -`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};El.paths=[["up"]],El.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),El.schema=[av("recursive",lc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Lu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?G3e(i,s,{configuration:t,peers:this.peers}):H3e(i,s,{configuration:t,peers:this.peers});es.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Lu.paths=[["why"]],Lu.usage=ve.Usage({description:"display the reason why a package is needed",details:` +${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let T,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?T=j:(h=!0,{answer:T}=await(0,Bae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:_,reason:A})=>W?{name:_,hint:A,descriptor:W}:{name:_,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(T.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==T.descriptorHash)B.manifest[v].set(T.identHash,T),p.push([B,v,V,T]);else{let W=t.makeResolver(),_={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,_);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(` +`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};El.paths=[["up"]],El.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),El.schema=[av("recursive",lc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Lu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?j3e(i,s,{configuration:t,peers:this.peers}):Y3e(i,s,{configuration:t,peers:this.peers});es.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Lu.paths=[["why"]],Lu.usage=ve.Usage({description:"display the reason why a package is needed",details:` This command prints the exact reasons why a package appears in the dependency tree. If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function H3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function G3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let T=r.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var hM={};ut(hM,{default:()=>A4e,gitUtils:()=>lA});var lA={};ut(lA,{TreeishProtocols:()=>Lb,clone:()=>fM,fetchBase:()=>Yae,fetchChangedFiles:()=>jae,fetchChangedWorkspaces:()=>o4e,fetchRoot:()=>Gae,isGitUrl:()=>ep,lsRemote:()=>Hae,normalizeLocator:()=>uM,normalizeRepoUrl:()=>Vm,resolveUrl:()=>gM,splitRepoUrl:()=>zm});var cM=Pe(Tae()),Kae=Pe(PB()),$h=Pe(J("querystring")),AM=Pe(Xr());var Mae=J("url");function aM(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Lae(r){try{return new Mae.URL(r)}catch{return}}function n4e(r){let e=aM(r,"@","#"),t=aM(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),aM(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Oae(r){return Lae(r)||Lae(n4e(r))}function Uae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var s4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Lb=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(Lb||{});function ep(r){return r?s4e.some(e=>!!r.match(e)):!1}function zm(r){r=Vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=$h.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Lb).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(Lb))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Vm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Oae(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function uM(r){return P.makeLocator(r,Vm(r.reference))}async function Hae(r,e){let t=Vm(r,{git:!0});if(!Xt.getNetworkSettings(`https://${(0,cM.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await lM("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Uae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function gM(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=zm(r),o=await Hae(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return $h.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return $h.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return $h.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[AM.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=AM.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return $h.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function fM(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=zm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Vm(t,{git:!0});if(Xt.getNetworkSettings(`https://${(0,cM.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await O.mktempPromise(),a={cwd:o,env:Uae()};return await lM("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await lM("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function Gae(r){let e=null,t,i=r;do t=i,await O.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function Yae(r,{baseRefs:e}){if(e.length===0)throw new Qe("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Qe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function jae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function o4e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Qe("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await Gae(e.configuration.projectCwd);if(i==null)throw new Qe("This command can only be run on Git repositories");let n=await Yae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await jae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function lM(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Kae.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var Mb=class{supports(e,t){return ep(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=uM(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await fM(e.reference,t.project.configuration),n=zm(e.reference),s=x.join(i,"package.tgz");await Wt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await O.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var Ob=class{supportsDescriptor(e,t){return ep(e.range)}supportsLocator(e,t){return ep(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await gM(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var a4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[Mb],resolvers:[Ob]};var A4e=a4e;var Mu=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await lA.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Mu.paths=[["workspaces","list"]],Mu.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Ou=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new Qe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function Y3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function j3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let T=r.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var dM={};ut(dM,{default:()=>c4e,gitUtils:()=>AA});var AA={};ut(AA,{TreeishProtocols:()=>Lb,clone:()=>pM,fetchBase:()=>qae,fetchChangedFiles:()=>Jae,fetchChangedWorkspaces:()=>A4e,fetchRoot:()=>jae,isGitUrl:()=>ep,lsRemote:()=>Yae,normalizeLocator:()=>fM,normalizeRepoUrl:()=>Vm,resolveUrl:()=>hM,splitRepoUrl:()=>zm});var gM=Pe(Mae()),Hae=Pe(PB()),$h=Pe(J("querystring")),cM=Pe(Xr());var Kae=J("url");function lM(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Oae(r){try{return new Kae.URL(r)}catch{return}}function o4e(r){let e=lM(r,"@","#"),t=lM(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),lM(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Uae(r){return Oae(r)||Oae(o4e(r))}function Gae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var a4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Lb=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(Lb||{});function ep(r){return r?a4e.some(e=>!!r.match(e)):!1}function zm(r){r=Vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=$h.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Lb).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(Lb))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Vm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Uae(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function fM(r){return P.makeLocator(r,Vm(r.reference))}async function Yae(r,e){let t=Vm(r,{git:!0});if(!Xt.getNetworkSettings(`https://${(0,gM.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await uM("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Gae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function hM(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=zm(r),o=await Yae(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return $h.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return $h.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return $h.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[cM.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=cM.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return $h.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function pM(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=zm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Vm(t,{git:!0});if(Xt.getNetworkSettings(`https://${(0,gM.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await O.mktempPromise(),a={cwd:o,env:Gae()};return await uM("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await uM("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function jae(r){let e=null,t,i=r;do t=i,await O.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function qae(r,{baseRefs:e}){if(e.length===0)throw new Qe("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Qe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function Jae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function A4e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Qe("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await jae(e.configuration.projectCwd);if(i==null)throw new Qe("This command can only be run on Git repositories");let n=await qae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await Jae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function uM(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Hae.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var Mb=class{supports(e,t){return ep(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=fM(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await pM(e.reference,t.project.configuration),n=zm(e.reference),s=x.join(i,"package.tgz");await Wt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await O.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var Ob=class{supportsDescriptor(e,t){return ep(e.range)}supportsLocator(e,t){return ep(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await hM(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var l4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[Mb],resolvers:[Ob]};var c4e=l4e;var Mu=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await AA.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Mu.paths=[["workspaces","list"]],Mu.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Ou=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new Qe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - ${l.join(` - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};Ou.paths=[["workspace"]],Ou.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var l4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:qae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[cu,uu,gu,fu,Nu,Su,mu,Mu,Vh,Xh,qm,Zh,Au,lu,hu,pu,du,Cu,Eu,Iu,yu,wu,Tu,Bu,xu,vu,Pu,bu,Du,ku,Ru,_h,Fu,El,Lu,Ou]},c4e=l4e;var IM={};ut(IM,{default:()=>g4e});var Te={optional:!0},dM=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Te}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Te,["postcss-jsx"]:Te,["postcss-less"]:Te,["postcss-markdown"]:Te,["postcss-scss"]:Te}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Te}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Te}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Te,"vue-template-compiler":Te}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Te,"utf-8-validate":Te}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te,"vuetify-loader":Te}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Te}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Te}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Te}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Te,tinyliquid:Te,"liquid-node":Te,jade:Te,"then-jade":Te,dust:Te,"dustjs-helpers":Te,"dustjs-linkedin":Te,swig:Te,"swig-templates":Te,"razor-tmpl":Te,atpl:Te,liquor:Te,twig:Te,ejs:Te,eco:Te,jazz:Te,jqtpl:Te,hamljs:Te,hamlet:Te,whiskers:Te,"haml-coffee":Te,"hogan.js":Te,templayed:Te,handlebars:Te,underscore:Te,lodash:Te,pug:Te,"then-pug":Te,qejs:Te,walrus:Te,mustache:Te,just:Te,ect:Te,mote:Te,toffee:Te,dot:Te,"bracket-template":Te,ractive:Te,nunjucks:Te,htmling:Te,"babel-core":Te,plates:Te,"react-dom":Te,react:Te,"arc-templates":Te,vash:Te,slm:Te,marko:Te,teacup:Te,"coffee-script":Te,squirrelly:Te,twing:Te}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Te}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Te,vue:Te}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Te}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Te}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Te,"webpack-command":Te}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Te}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Te}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Te,jimp:Te}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Te,"eslint-import-resolver-typescript":Te,"eslint-import-resolver-webpack":Te,"@typescript-eslint/parser":Te}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Te}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Te}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Te}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Te}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Te}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Te}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Te}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Te}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Te}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var CM;function Jae(){return typeof CM>"u"&&(CM=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),CM}var mM;function Wae(){return typeof mM>"u"&&(mM=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),mM}var EM;function zae(){return typeof EM>"u"&&(EM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),EM}var Vae=new Map([[P.makeIdent(null,"fsevents").identHash,Jae],[P.makeIdent(null,"resolve").identHash,Wae],[P.makeIdent(null,"typescript").identHash,zae]]),u4e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of dM)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Vae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof Vae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},g4e=u4e;var yM={};ut(yM,{default:()=>h4e});var tp=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};tp.paths=[["create"]];var Ku=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await O.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await O.mkdirPromise(i),await O.writeFilePromise(x.join(i,"package.json"),`{} + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var u4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Wae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[cu,uu,gu,fu,Nu,Su,mu,Mu,Vh,Xh,qm,Zh,Au,lu,hu,pu,du,Cu,Eu,Iu,yu,wu,Tu,Bu,xu,vu,Pu,bu,Du,ku,Ru,_h,Fu,El,Lu,Ou]},g4e=u4e;var wM={};ut(wM,{default:()=>h4e});var Te={optional:!0},mM=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Te}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Te,["postcss-jsx"]:Te,["postcss-less"]:Te,["postcss-markdown"]:Te,["postcss-scss"]:Te}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Te}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Te}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Te,"vue-template-compiler":Te}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Te,"utf-8-validate":Te}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te,"vuetify-loader":Te}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Te}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Te}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Te}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Te,tinyliquid:Te,"liquid-node":Te,jade:Te,"then-jade":Te,dust:Te,"dustjs-helpers":Te,"dustjs-linkedin":Te,swig:Te,"swig-templates":Te,"razor-tmpl":Te,atpl:Te,liquor:Te,twig:Te,ejs:Te,eco:Te,jazz:Te,jqtpl:Te,hamljs:Te,hamlet:Te,whiskers:Te,"haml-coffee":Te,"hogan.js":Te,templayed:Te,handlebars:Te,underscore:Te,lodash:Te,pug:Te,"then-pug":Te,qejs:Te,walrus:Te,mustache:Te,just:Te,ect:Te,mote:Te,toffee:Te,dot:Te,"bracket-template":Te,ractive:Te,nunjucks:Te,htmling:Te,"babel-core":Te,plates:Te,"react-dom":Te,react:Te,"arc-templates":Te,vash:Te,slm:Te,marko:Te,teacup:Te,"coffee-script":Te,squirrelly:Te,twing:Te}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Te}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Te,vue:Te}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Te}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Te}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Te,"webpack-command":Te}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Te}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Te}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Te,jimp:Te}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Te,"eslint-import-resolver-typescript":Te,"eslint-import-resolver-webpack":Te,"@typescript-eslint/parser":Te}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Te}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Te}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Te}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Te}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Te}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Te}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Te}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Te}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Te}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var EM;function zae(){return typeof EM>"u"&&(EM=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),EM}var IM;function Vae(){return typeof IM>"u"&&(IM=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),IM}var yM;function Xae(){return typeof yM>"u"&&(yM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yM}var Zae=new Map([[P.makeIdent(null,"fsevents").identHash,zae],[P.makeIdent(null,"resolve").identHash,Vae],[P.makeIdent(null,"typescript").identHash,Xae]]),f4e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of mM)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Zae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof Zae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},h4e=f4e;var BM={};ut(BM,{default:()=>d4e});var tp=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};tp.paths=[["create"]];var Ku=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await O.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await O.mkdirPromise(i),await O.writeFilePromise(x.join(i,"package.json"),`{} `),await O.writeFilePromise(x.join(i,"yarn.lock"),"");let n=x.join(i,".yarnrc.yml"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),a=s!==null?x.join(s,".yarnrc.yml"):null;a!==null&&O.existsSync(a)?(await O.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v=="string"?v:v.path,T=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v=="string"?T:{path:T,spec:v.spec}})),B})):await O.writeFilePromise(n,`enableGlobalCache: ${o} enableTelemetry: false `);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run(["add","--",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(` -`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ku.paths=[["dlx"]],Ku.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var f4e={commands:[tp,Ku]},h4e=f4e;var QM={};ut(QM,{default:()=>C4e,fileUtils:()=>Zm});var rp=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,qr="file:";var Zm={};ut(Zm,{makeArchiveFromLocator:()=>Kb,makeBufferFromLocator:()=>bM,makeLocator:()=>BM,makeSpec:()=>Xae,parseSpec:()=>wM});function wM(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function Xae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function BM(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,Xae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function Kb(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function bM(r,{protocol:e,fetchOptions:t}){return(await Kb(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var Ub=class{supports(e,t){return!!e.reference.startsWith(qr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return Kb(e,{protocol:qr,fetchOptions:t})}};var p4e=2,Hb=class{supportsDescriptor(e,t){return e.range.match(rp)?!0:!!e.range.startsWith(qr)}supportsLocator(e,t){return!!e.reference.startsWith(qr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=wM(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await bM(P.makeLocator(e,P.makeRange({protocol:qr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:qr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${p4e}`,o).slice(0,6);return[BM(e,{parentLocator:s,path:n,folderHash:a,protocol:qr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Gb=class{supports(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(qr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:qr}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Yb=class{supportsDescriptor(e,t){return Xm.test(e.range)?!!(e.range.startsWith(qr)||rp.test(e.range)):!1}supportsLocator(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(qr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${qr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(qr)&&(n=n.slice(qr.length)),[P.makeLocator(e,`${qr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var d4e={fetchers:[Gb,Ub],resolvers:[Yb,Hb]},C4e=d4e;var SM={};ut(SM,{default:()=>y4e});var Zae=Pe(J("querystring")),_ae=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function $ae(r){return r?_ae.some(e=>!!r.match(e)):!1}function eAe(r){let e;for(let a of _ae)if(e=r.match(a),e)break;if(!e)throw new Error(m4e(r));let[,t,i,n,s="master"]=e,{commit:o}=Zae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function m4e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var jb=class{supports(e,t){return!!$ae(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await O.mktempPromise(async n=>{let s=new qt(n);await mi.extractArchiveTo(i,s,{stripComponents:1});let o=lA.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Wt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await O.readFilePromise(a);return await mi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=eAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var I4e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new jb;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},y4e=I4e;var vM={};ut(vM,{default:()=>B4e});var _m=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,$m=/^https?:/;var qb=class{supports(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(e.reference,{configuration:t.project.configuration});return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var Jb=class{supportsDescriptor(e,t){return _m.test(e.range)?!!$m.test(e.range):!1}supportsLocator(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var w4e={fetchers:[qb],resolvers:[Jb]},B4e=w4e;var kM={};ut(kM,{default:()=>b8e});var vAe=Pe(SAe()),DM=J("util"),Uu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new Qe("Cannot use the --install flag from within a project subdirectory");O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));O.existsSync(n)||await O.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await O.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Wt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Tr&&Ie.isTaggedYarnVersion(Tr)?`yarn@${Tr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await O.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),DM.inspect.styles.name="cyan",this.context.stdout.write(`${(0,DM.inspect)(o,{depth:1/0,colors:!0,compact:!1})} +`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ku.paths=[["dlx"]],Ku.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var p4e={commands:[tp,Ku]},d4e=p4e;var vM={};ut(vM,{default:()=>E4e,fileUtils:()=>Zm});var rp=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,jr="file:";var Zm={};ut(Zm,{makeArchiveFromLocator:()=>Kb,makeBufferFromLocator:()=>SM,makeLocator:()=>QM,makeSpec:()=>_ae,parseSpec:()=>bM});function bM(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function _ae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function QM(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,_ae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function Kb(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function SM(r,{protocol:e,fetchOptions:t}){return(await Kb(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var Ub=class{supports(e,t){return!!e.reference.startsWith(jr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return Kb(e,{protocol:jr,fetchOptions:t})}};var C4e=2,Hb=class{supportsDescriptor(e,t){return e.range.match(rp)?!0:!!e.range.startsWith(jr)}supportsLocator(e,t){return!!e.reference.startsWith(jr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=bM(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await SM(P.makeLocator(e,P.makeRange({protocol:jr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:jr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${C4e}`,o).slice(0,6);return[QM(e,{parentLocator:s,path:n,folderHash:a,protocol:jr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Gb=class{supports(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Yb=class{supportsDescriptor(e,t){return Xm.test(e.range)?!!(e.range.startsWith(jr)||rp.test(e.range)):!1}supportsLocator(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(jr)&&(n=n.slice(jr.length)),[P.makeLocator(e,`${jr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var m4e={fetchers:[Gb,Ub],resolvers:[Yb,Hb]},E4e=m4e;var xM={};ut(xM,{default:()=>B4e});var $ae=Pe(J("querystring")),eAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function tAe(r){return r?eAe.some(e=>!!r.match(e)):!1}function rAe(r){let e;for(let a of eAe)if(e=r.match(a),e)break;if(!e)throw new Error(I4e(r));let[,t,i,n,s="master"]=e,{commit:o}=$ae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function I4e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var jb=class{supports(e,t){return!!tAe(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await O.mktempPromise(async n=>{let s=new qt(n);await mi.extractArchiveTo(i,s,{stripComponents:1});let o=AA.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Wt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await O.readFilePromise(a);return await mi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=rAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var w4e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new jb;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},B4e=w4e;var PM={};ut(PM,{default:()=>Q4e});var _m=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,$m=/^https?:/;var qb=class{supports(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(e.reference,{configuration:t.project.configuration});return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var Jb=class{supportsDescriptor(e,t){return _m.test(e.range)?!!$m.test(e.range):!1}supportsLocator(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var b4e={fetchers:[qb],resolvers:[Jb]},Q4e=b4e;var FM={};ut(FM,{default:()=>S8e});var PAe=Pe(xAe()),RM=J("util"),Uu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new Qe("Cannot use the --install flag from within a project subdirectory");O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));O.existsSync(n)||await O.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await O.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Wt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Tr&&Ie.isTaggedYarnVersion(Tr)?`yarn@${Tr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await O.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),RM.inspect.styles.name="cyan",this.context.stdout.write(`${(0,RM.inspect)(o,{depth:1/0,colors:!0,compact:!1})} `);let a=x.join(this.context.cwd,ot.fileName);await O.changeFilePromise(a,`${JSON.stringify(o,null,2)} `,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(O.existsSync(l)||await O.writeFilePromise(l,`# ${P.stringifyIdent(n.name)} `),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);O.existsSync(u)||await O.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(T=>`${T} `).join(""),h=x.join(this.context.cwd,".gitignore");O.existsSync(h)||await O.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(T=>`${T} -`).join(""),y=x.join(this.context.cwd,".gitattributes");O.existsSync(y)||await O.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,vAe.default)(B,t.get("initEditorConfig"));let v=`root = true +`).join(""),y=x.join(this.context.cwd,".gitattributes");O.existsSync(y)||await O.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,PAe.default)(B,t.get("initEditorConfig"));let v=`root = true `;for(let[T,H]of Object.entries(B)){v+=` [${T}] `;for(let[j,$]of Object.entries(H)){let V=j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`);v+=`${V} = ${$} -`}}let D=x.join(this.context.cwd,".editorconfig");O.existsSync(D)||await O.writeFilePromise(D,v),O.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Uu.paths=[["init"]],Uu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var B8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uu]},b8e=B8e;var RM={};ut(RM,{default:()=>S8e});var cA="portal:",uA="link:";var Wb=class{supports(e,t){return!!e.reference.startsWith(cA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var zb=class{supportsDescriptor(e,t){return!!e.range.startsWith(cA)}supportsLocator(e,t){return!!e.reference.startsWith(cA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(cA.length);return[P.makeLocator(e,`${cA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Vb=class{supports(e,t){return!!e.reference.startsWith(uA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:uA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:uA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new So(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var Xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(uA)}supportsLocator(e,t){return!!e.reference.startsWith(uA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(uA.length);return[P.makeLocator(e,`${uA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var Q8e={fetchers:[Vb,Wb],resolvers:[Xb,zb]},S8e=Q8e;var hO={};ut(hO,{default:()=>Yze});var NM=(r,e)=>`${r}@${e}`,xAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return NM(r,i)};var kAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=F8e(r,s),l=!1,c=0;do l=TM(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=eE(a);if(TM(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +`}}let D=x.join(this.context.cwd,".editorconfig");O.existsSync(D)||await O.writeFilePromise(D,v),O.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Uu.paths=[["init"]],Uu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Q8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uu]},S8e=Q8e;var NM={};ut(NM,{default:()=>x8e});var lA="portal:",cA="link:";var Wb=class{supports(e,t){return!!e.reference.startsWith(lA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var zb=class{supportsDescriptor(e,t){return!!e.range.startsWith(lA)}supportsLocator(e,t){return!!e.reference.startsWith(lA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(lA.length);return[P.makeLocator(e,`${lA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Vb=class{supports(e,t){return!!e.reference.startsWith(cA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var Xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(cA)}supportsLocator(e,t){return!!e.reference.startsWith(cA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(cA.length);return[P.makeLocator(e,`${cA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var v8e={fetchers:[Vb,Wb],resolvers:[Xb,zb]},x8e=v8e;var dO={};ut(dO,{default:()=>qze});var LM=(r,e)=>`${r}@${e}`,DAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return LM(r,i)};var FAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=T8e(r,s),l=!1,c=0;do l=MM(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=eE(a);if(MM(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: ${u}, next tree: -${eE(a)}`);let f=RAe(a);if(f)throw new Error(`${f}, after hoisting finished: -${eE(a)}`)}return s.debugLevel>=2&&console.log(eE(a)),N8e(a)},v8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},x8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},PAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},P8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},FM=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},TM=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=T8e(o),l=P8e(o,a),c=r==o?new Map:n.fastLookupPossible?v8e(e):x8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=R8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=TM(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},D8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},k8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!D8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(T.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let T of B){if(D.peerNames.has(T)&&D.originalDependencies.has(T))continue;let H=D.dependencies.get(T);H&&r.dependencies.get(T)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(T)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},Zb=r=>`${r.name}@${r.locator}`,R8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,T,H)=>{if(u.has(T))return;let j=[...v,Zb(T)],$=[...D,Zb(T)],V=new Map,W=new Map;for(let re of FM(T)){let M=k8e(c,t,[c,...B,T],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,M),M.isHoistable===2)for(let F of M.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let _=new Set,A=(re,M,F)=>{if(!_.has(re)){_.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(T.dependencies.get(ue),M,l.debugLevel>=2?`- peer dependency ${ki(re.locator)} from parent ${ki(T.locator)} was not hoisted`:"")}};for(let[re,M]of W)M.isHoistable===1&&A(re,M,M.reason);let Ae=!1;for(let re of W.keys())if(!_.has(re)){f=!0;let M=o.get(T);M&&M.has(re.name)&&(g=!0),Ae=!0,T.dependencies.delete(re.name),T.hoistedDependencies.set(re.name,re),T.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([T.locator]).map(ke=>ki(ke)).join("\u2192"),pe=c.hoistedFrom.get(re.name);pe||(pe=[],c.hoistedFrom.set(re.name,pe)),pe.push(ue),T.hoistedTo.set(re.name,Array.from(e).map(ke=>ki(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(T.dependencyKind===2&&Ae&&(g=!0),l.check){let re=RAe(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,T].map(M=>ki(M.locator)).join("\u2192")}: -${eE(r)}`)}let ge=FM(T);for(let re of ge)if(_.has(re)){let M=W.get(re);if((n.get(re.name)===re.ident||!T.reasons.has(re.name))&&M.isHoistable!==0&&T.reasons.set(re.name,M.reason),!re.isHoistBorder&&$.indexOf(Zb(re))<0){u.add(T);let ue=PAe(T,re);h([...B,T],j,$,ue,C),u.delete(T)}}},p,C=new Set(FM(c)),y=Array.from(e).map(B=>Zb(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=PAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},RAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` -`)},F8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:NM(t,n),ident:xAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:NM(p,C),ident:xAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},LM=r=>r.substring(0,r.indexOf("@",1)),N8e=r=>{let e={name:r.name,identName:LM(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:LM(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},T8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},DAe=5e4,eE=r=>{let e=0,t=(n,s,o="")=>{if(e>DAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")} -`,l+=t(u,s,`${o}${cDAe?` +${eE(a)}`);let f=NAe(a);if(f)throw new Error(`${f}, after hoisting finished: +${eE(a)}`)}return s.debugLevel>=2&&console.log(eE(a)),L8e(a)},P8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},D8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},kAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},k8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},TM=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},MM=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=M8e(o),l=k8e(o,a),c=r==o?new Map:n.fastLookupPossible?P8e(e):D8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=N8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=MM(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},R8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},F8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!R8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(T.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let T of B){if(D.peerNames.has(T)&&D.originalDependencies.has(T))continue;let H=D.dependencies.get(T);H&&r.dependencies.get(T)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(T)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},Zb=r=>`${r.name}@${r.locator}`,N8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,T,H)=>{if(u.has(T))return;let j=[...v,Zb(T)],$=[...D,Zb(T)],V=new Map,W=new Map;for(let re of TM(T)){let M=F8e(c,t,[c,...B,T],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,M),M.isHoistable===2)for(let F of M.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let _=new Set,A=(re,M,F)=>{if(!_.has(re)){_.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(T.dependencies.get(ue),M,l.debugLevel>=2?`- peer dependency ${ki(re.locator)} from parent ${ki(T.locator)} was not hoisted`:"")}};for(let[re,M]of W)M.isHoistable===1&&A(re,M,M.reason);let Ae=!1;for(let re of W.keys())if(!_.has(re)){f=!0;let M=o.get(T);M&&M.has(re.name)&&(g=!0),Ae=!0,T.dependencies.delete(re.name),T.hoistedDependencies.set(re.name,re),T.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([T.locator]).map(ke=>ki(ke)).join("\u2192"),pe=c.hoistedFrom.get(re.name);pe||(pe=[],c.hoistedFrom.set(re.name,pe)),pe.push(ue),T.hoistedTo.set(re.name,Array.from(e).map(ke=>ki(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(T.dependencyKind===2&&Ae&&(g=!0),l.check){let re=NAe(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,T].map(M=>ki(M.locator)).join("\u2192")}: +${eE(r)}`)}let ge=TM(T);for(let re of ge)if(_.has(re)){let M=W.get(re);if((n.get(re.name)===re.ident||!T.reasons.has(re.name))&&M.isHoistable!==0&&T.reasons.set(re.name,M.reason),!re.isHoistBorder&&$.indexOf(Zb(re))<0){u.add(T);let ue=kAe(T,re);h([...B,T],j,$,ue,C),u.delete(T)}}},p,C=new Set(TM(c)),y=Array.from(e).map(B=>Zb(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=kAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},NAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` +`)},T8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:LM(t,n),ident:DAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:LM(p,C),ident:DAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},OM=r=>r.substring(0,r.indexOf("@",1)),L8e=r=>{let e={name:r.name,identName:OM(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:OM(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},M8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},RAe=5e4,eE=r=>{let e=0,t=(n,s,o="")=>{if(e>RAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")} +`,l+=t(u,s,`${o}${cRAe?` Tree is too large, part of the tree has been dunped -`:"")};var tE=(i=>(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(tE||{}),FAe="node_modules",Hu="$wsroot$";var rE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=M8e(r,e),o=null;if(n.length===0){let a=kAe(t,{hoistingLimits:i});o=K8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,OM=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},NAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},MM=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},L8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!MM(C,f,r,i)){let B=TAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},M8e=(r,e)=>{let t=[],i=!1,n=new Map,s=L8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,T)=>{var re,M;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=MM(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Hu)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),T&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),pe=>P.stringifyIdent(pe)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let pe of ue)_.has(pe)||(_.set(pe,v.get(pe)||null),j.peerNames.add(pe))}}let A=sa({name:C.name.replace(Hu,""),reference:C.reference}),Ae=s.get(A);if(Ae)for(let F of Ae)_.set(`${F.name}${Hu}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Hu)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,pe]of _)if(pe!==null){let ke=r.getLocator(ue,pe),Fe=r.getLocator(ue.replace(Hu,""),pe),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=MM(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let he=_.get(qe);if(he){let ie=P.parseLocator(Array.isArray(he)?`${he[0]}@${he[1]}`:`${qe}@${he}`);NAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,_e=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);NAe(_e,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,_e)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),Be=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Me.dot,fe=(M=e.hoistingLimitsByCwd)==null?void 0:M.get(Be);f(ue,Ne,ke,j,p,_,Be,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function TAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function O8e(r,e,t){let i=e.getLocator(r.name.replace(Hu,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=TAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var K8e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=O8e(u,r,t);return{locator:sa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Ur(g),name:Ur(f)}:{scope:null,name:Ur(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),T=D?[D,v]:[v],H=x.join(g,FAe),j=x.join(H,...T),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let _=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Hu)&&!W&&!_){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let M=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/${P.stringifyLocator(F)}`);if(M.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let Ae=j.split("/"),ge=Ae.indexOf(FAe),re=Ae.length-1;for(;ge>=0&&re>ge;){let M=K.toPortablePath(Ae.slice(0,re).join(x.sep)),F=Ur(Ae[re]),ue=i.get(M);if(!ue)i.set(M,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var iO={};ut(iO,{PnpInstaller:()=>Yu,PnpLinker:()=>wl,default:()=>dze,getPnpPath:()=>Bl,jsInstallUtils:()=>po,pnpUtils:()=>hE,quotePathIfNeeded:()=>ble});var wle=Pe(Xr()),Ble=J("url");var LAe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function U8e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(tE||{}),TAe="node_modules",Hu="$wsroot$";var rE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=K8e(r,e),o=null;if(n.length===0){let a=FAe(t,{hoistingLimits:i});o=H8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,UM=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},LAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},KM=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},O8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!KM(C,f,r,i)){let B=MAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},K8e=(r,e)=>{let t=[],i=!1,n=new Map,s=O8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,T)=>{var re,M;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=KM(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Hu)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),T&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),pe=>P.stringifyIdent(pe)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let pe of ue)_.has(pe)||(_.set(pe,v.get(pe)||null),j.peerNames.add(pe))}}let A=sa({name:C.name.replace(Hu,""),reference:C.reference}),Ae=s.get(A);if(Ae)for(let F of Ae)_.set(`${F.name}${Hu}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Hu)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,pe]of _)if(pe!==null){let ke=r.getLocator(ue,pe),Fe=r.getLocator(ue.replace(Hu,""),pe),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=KM(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let he=_.get(qe);if(he){let ie=P.parseLocator(Array.isArray(he)?`${he[0]}@${he[1]}`:`${qe}@${he}`);LAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,_e=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);LAe(_e,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,_e)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),Be=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Me.dot,fe=(M=e.hoistingLimitsByCwd)==null?void 0:M.get(Be);f(ue,Ne,ke,j,p,_,Be,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function MAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function U8e(r,e,t){let i=e.getLocator(r.name.replace(Hu,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=MAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var H8e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=U8e(u,r,t);return{locator:sa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),T=D?[D,v]:[v],H=x.join(g,TAe),j=x.join(H,...T),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let _=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Hu)&&!W&&!_){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let M=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/${P.stringifyLocator(F)}`);if(M.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let Ae=j.split("/"),ge=Ae.indexOf(TAe),re=Ae.length-1;for(;ge>=0&&re>ge;){let M=K.toPortablePath(Ae.slice(0,re).join(x.sep)),F=Jr(Ae[re]),ue=i.get(M);if(!ue)i.set(M,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var sO={};ut(sO,{PnpInstaller:()=>Yu,PnpLinker:()=>wl,default:()=>mze,getPnpPath:()=>Bl,jsInstallUtils:()=>Co,pnpUtils:()=>hE,quotePathIfNeeded:()=>Sle});var ble=Pe(Xr()),Qle=J("url");var OAe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function G8e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=_b(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function Y8e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{ +`;return n+=t,n+="]",n}function j8e(r,e,t){let i=Object.keys(r),n="";n+="{";for(let s=0,o=i.length,a=0;s"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=_b(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function q8e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{ `;let o=0;for(let a=0,l=i.length;a"u"||(o!==0&&(s+=",",s+=` `),s+=n,s+=JSON.stringify(c),s+=": ",s+=_b(c,u,e,n).replace(/^ +/g,""),o+=1)}return o!==0&&(s+=` -`),s+=t,s+="}",s}function _b(r,e,t,i){let{next:n}=LAe[t],s=n[r]||n["*"];return MAe(e,s,i)}function MAe(r,e,t){let{collapsed:i}=LAe[e];return Array.isArray(r)?i?U8e(r,e,t):H8e(r,e,t):typeof r=="object"&&r!==null?i?G8e(r,e,t):Y8e(r,e,t):JSON.stringify(r)}function OAe(r){return MAe(r,"TOP_LEVEL","")}function iE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function j8e(r){let e=new Map,t=iE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function q8e(r){return iE(r.fallbackPool||[],([e])=>e)}function J8e(r){let e=[];for(let[t,i]of iE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of iE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of iE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function nE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:j8e(r),fallbackPool:q8e(r),packageRegistryData:J8e(r)}}var HAe=Pe(UAe());function GAe(r,e){return[r?`${r} +`),s+=t,s+="}",s}function _b(r,e,t,i){let{next:n}=OAe[t],s=n[r]||n["*"];return KAe(e,s,i)}function KAe(r,e,t){let{collapsed:i}=OAe[e];return Array.isArray(r)?i?G8e(r,e,t):Y8e(r,e,t):typeof r=="object"&&r!==null?i?j8e(r,e,t):q8e(r,e,t):JSON.stringify(r)}function UAe(r){return KAe(r,"TOP_LEVEL","")}function iE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function J8e(r){let e=new Map,t=iE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function W8e(r){return iE(r.fallbackPool||[],([e])=>e)}function z8e(r){let e=[];for(let[t,i]of iE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of iE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of iE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function nE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:J8e(r),fallbackPool:W8e(r),packageRegistryData:z8e(r)}}var YAe=Pe(GAe());function jAe(r,e){return[r?`${r} `:"",`/* eslint-disable */ `,`"use strict"; `,` `,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { `,e.replace(/^/gm," "),`} `,` -`,(0,HAe.default)()].join("")}function W8e(r){return JSON.stringify(r,null,2)}function z8e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ -`)}'`}function V8e(r){return[`return hydrateRuntimeState(JSON.parse(${z8e(OAe(r))}), {basePath: basePath || __dirname}); -`].join("")}function X8e(r){return[`var path = require('path'); +`,(0,YAe.default)()].join("")}function V8e(r){return JSON.stringify(r,null,2)}function X8e(r){return`'${r.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function Z8e(r){return[`return hydrateRuntimeState(JSON.parse(${X8e(UAe(r))}), {basePath: basePath || __dirname}); +`].join("")}function _8e(r){return[`var path = require('path'); `,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)}); `,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function YAe(r){let e=nE(r),t=V8e(e);return GAe(r.shebang,t)}function jAe(r){let e=nE(r),t=X8e(r.dataLocation),i=GAe(r.shebang,t);return{dataFile:W8e(e),loaderFile:i}}var hle=J("fs");var ple=J("util");function UM(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var gE=J("module"),gA=J("url"),XM=J("util");var qi=J("url");var zAe=Pe(J("assert"));var HM=Array.isArray,sE=JSON.stringify,oE=Object.getOwnPropertyNames,Gu=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),GM=(r,e)=>RegExp.prototype.exec.call(r,e),YM=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Il=(r,...e)=>String.prototype.endsWith.apply(r,e),jM=(r,...e)=>String.prototype.includes.apply(r,e),qM=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),aE=(r,...e)=>String.prototype.indexOf.apply(r,e),qAe=(r,...e)=>String.prototype.replace.apply(r,e),yl=(r,...e)=>String.prototype.slice.apply(r,e),oa=(r,...e)=>String.prototype.startsWith.apply(r,e),JAe=Map,WAe=JSON.parse;function AE(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var VAe=AE("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),JM=AE("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),XAe=AE("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!oa(t,"./");return e==="."?((0,zAe.default)(i===!1),`Invalid "exports" main target ${sE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${sE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),lE=AE("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error),ZAe=AE("ERR_PACKAGE_PATH_NOT_EXPORTED",(r,e,t=void 0)=>e==="."?`No "exports" main defined in ${r}package.json${t?` imported from ${t}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${r}package.json${t?` imported from ${t}`:""}`,Error);var eQ=J("url");function _Ae(r,e){let t=Object.create(null);for(let i=0;ie):r+e}cE(t,r,i,o,n)}GM(ele,yl(r,2))!==null&&cE(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(oa(c,u)||cE(t,r,i,o,n),e==="")return l;if(GM(ele,e)!==null){let g=s?qAe(t,"*",()=>e):t+e;$8e(g,i,o,n)}return s?new URL(YM(tle,l.href,()=>e)):new URL(e,l)}function tze(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function ip(r,e,t,i,n,s,o,a){if(typeof e=="string")return eze(e,t,i,r,n,s,o,a);if(HM(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function rze(r,e,t){if(typeof r=="string"||HM(r))return!0;if(typeof r!="object"||r===null)return!1;let i=oE(r),n=!1,s=0;for(let o=0;o=c.length&&Il(e,g)&&ile(s,c)===1&&qM(c,"*")===u&&(s=c,o=yl(e,u,e.length-g.length))}}if(s){let l=t[s],c=ip(r,l,o,s,i,!0,!1,n);return c==null&&WM(e,r,i),c}WM(e,r,i)}function sle({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||oa(r,"#/")||Il(r,"/")){let o="is not a valid internal imports specifier name";throw new JM(r,o,(0,qi.fileURLToPath)(e))}let n,s=$Ae(e,i);if(s.exists){n=(0,qi.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Gu(o,r)&&!jM(r,"*")){let a=ip(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=oE(o);for(let u=0;u=g.length&&Il(r,h)&&ile(a,g)===1&&qM(g,"*")===f&&(a=g,l=yl(r,f,r.length-h.length))}}if(a){let u=o[a],g=ip(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}_8e(r,n,e)}var nze=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=nze.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function ho(r){return K.normalize(K.fromPortablePath(r))}var lle=Pe(ale());function cle(r){return sze(),VM[r]}var VM;function sze(){VM||(VM={"--conditions":[],...Ale(oze()),...Ale(process.execArgv)})}function Ale(r){return(0,lle.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function oze(){let r=[],e=aze(process.env.NODE_OPTIONS||"",r);return r.length,e}function aze(r,e){let t=[],i=!1,n=!0;for(let s=0;s[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var gE=J("module"),uA=J("url"),_M=J("util");var qi=J("url");var XAe=Pe(J("assert"));var YM=Array.isArray,sE=JSON.stringify,oE=Object.getOwnPropertyNames,Gu=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),jM=(r,e)=>RegExp.prototype.exec.call(r,e),qM=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Il=(r,...e)=>String.prototype.endsWith.apply(r,e),JM=(r,...e)=>String.prototype.includes.apply(r,e),WM=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),aE=(r,...e)=>String.prototype.indexOf.apply(r,e),WAe=(r,...e)=>String.prototype.replace.apply(r,e),yl=(r,...e)=>String.prototype.slice.apply(r,e),oa=(r,...e)=>String.prototype.startsWith.apply(r,e),zAe=Map,VAe=JSON.parse;function AE(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var ZAe=AE("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),zM=AE("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),_Ae=AE("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!oa(t,"./");return e==="."?((0,XAe.default)(i===!1),`Invalid "exports" main target ${sE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${sE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),lE=AE("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error),$Ae=AE("ERR_PACKAGE_PATH_NOT_EXPORTED",(r,e,t=void 0)=>e==="."?`No "exports" main defined in ${r}package.json${t?` imported from ${t}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${r}package.json${t?` imported from ${t}`:""}`,Error);var eQ=J("url");function ele(r,e){let t=Object.create(null);for(let i=0;ie):r+e}cE(t,r,i,o,n)}jM(rle,yl(r,2))!==null&&cE(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(oa(c,u)||cE(t,r,i,o,n),e==="")return l;if(jM(rle,e)!==null){let g=s?WAe(t,"*",()=>e):t+e;tze(g,i,o,n)}return s?new URL(qM(ile,l.href,()=>e)):new URL(e,l)}function ize(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function ip(r,e,t,i,n,s,o,a){if(typeof e=="string")return rze(e,t,i,r,n,s,o,a);if(YM(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function nze(r,e,t){if(typeof r=="string"||YM(r))return!0;if(typeof r!="object"||r===null)return!1;let i=oE(r),n=!1,s=0;for(let o=0;o=c.length&&Il(e,g)&&sle(s,c)===1&&WM(c,"*")===u&&(s=c,o=yl(e,u,e.length-g.length))}}if(s){let l=t[s],c=ip(r,l,o,s,i,!0,!1,n);return c==null&&VM(e,r,i),c}VM(e,r,i)}function ale({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||oa(r,"#/")||Il(r,"/")){let o="is not a valid internal imports specifier name";throw new zM(r,o,(0,qi.fileURLToPath)(e))}let n,s=tle(e,i);if(s.exists){n=(0,qi.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Gu(o,r)&&!JM(r,"*")){let a=ip(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=oE(o);for(let u=0;u=g.length&&Il(r,h)&&sle(a,g)===1&&WM(g,"*")===f&&(a=g,l=yl(r,f,r.length-h.length))}}if(a){let u=o[a],g=ip(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}eze(r,n,e)}var oze=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=oze.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function po(r){return K.normalize(K.fromPortablePath(r))}var ule=Pe(lle());function gle(r){return aze(),ZM[r]}var ZM;function aze(){ZM||(ZM={"--conditions":[],...cle(Aze()),...cle(process.execArgv)})}function cle(r){return(0,ule.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function Aze(){let r=[],e=lze(process.env.NODE_OPTIONS||"",r);return r.length,e}function lze(r,e){let t=[],i=!1,n=!0;for(let s=0;sparseInt(r,10)),sBt=Ji>16||Ji===16&&aa>=12,oBt=Ji>17||Ji===17&&aa>=5||Ji===16&&aa>=15,aBt=Ji>17||Ji===17&&aa>=1||Ji===16&&aa>14,ule=Ji>19||Ji===19&&aa>=2||Ji===18&&aa>=13,ABt=Ji>19||Ji===19&&aa>=3,lBt=Ji>18||Ji===18&&aa>=1||Ji===16&&aa>=17;var Aze=new Set(gle.Module.builtinModules||Object.keys(process.binding("natives"))),tQ=r=>r.startsWith("node:")||Aze.has(r);function fle(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),ule)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function ZM(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let Be of le.keys()){if(Be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:Be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,he,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,Be=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?Be("31;1",`\u2716 ${(he=oe.error)==null?void 0:he.message.replace(/\n.*/s,"")}`):Be("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${Be("37;1","In \u2190")} ${(0,XM.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${Be("37;1","Out \u2192")} ${(0,XM.inspect)(oe.result,{colors:le,compact:!0})}`));let ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(ae.length>0){console.error();for(let _e of ae)console.error(` ${Be("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...Be)=>{let fe=p(oe,Be);try{return fe.result=le(...Be)}catch(ae){throw fe.error=ae}finally{C(fe)}};if(i>=1)return(...Be)=>{try{return le(...Be)}catch(fe){let ae=p(oe,Be);throw ae.error=fe,C(ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["node","require",...cle("--conditions")]);function T(oe,le=D,Be){let fe=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(fe===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=B(fe),qe=x.join(ae,xt.manifest);if(!e.fakeFs.existsSync(qe))return null;let ne=JSON.parse(e.fakeFs.readFileSync(qe,"utf8"));if(ne.exports==null)return null;let Y=x.contains(ae,oe);if(Y===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");Y!=="."&&!a.test(Y)&&(Y=`./${Y}`);try{let he=nle({packageJSONUrl:(0,gA.pathToFileURL)(K.fromPortablePath(qe)),packageSubpath:Y,exports:ne.exports,base:Be?(0,gA.pathToFileURL)(K.fromPortablePath(Be)):null,conditions:le});return K.toPortablePath((0,gA.fileURLToPath)(he))}catch(he){throw ri("EXPORTS_RESOLUTION_FAILED",he.message,{unqualifiedPath:ho(oe),locator:fe,pkgJson:ne,subpath:ho(Y),conditions:le},he.code)}}function H(oe,le,{extensions:Be}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let ae;try{ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(ae&&ae.main&&(qe=x.resolve(oe,ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:Be});if(ne!==null)return ne}}for(let ae=0,qe=Be.length;ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let he=Ae(ne);for(let ie of he)if(B(ie).packagePeers.has(oe))ae(ie);else{let _e=Be.get(ie.name);typeof _e>"u"&&Be.set(ie.name,_e=new Set),_e.add(ie.reference)}};ae(le);let qe=[];for(let ne of[...Be.keys()].sort())for(let Y of[...Be.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:Be=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let ae=h.get(fe);if(typeof ae>"u"||ae.discardFromLookup&&!Be){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return ae.locator}while(fe!=="");return null}function M(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:Be=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(Be&&tQ(oe))return null;let fe=ho(oe),ae=le&&ho(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) +`),t}var hle=J("module");var[Ji,aa]=process.versions.node.split(".").map(r=>parseInt(r,10)),aBt=Ji>16||Ji===16&&aa>=12,ABt=Ji>17||Ji===17&&aa>=5||Ji===16&&aa>=15,lBt=Ji>17||Ji===17&&aa>=1||Ji===16&&aa>14,fle=Ji>19||Ji===19&&aa>=2||Ji===18&&aa>=13,cBt=Ji>19||Ji===19&&aa>=3,uBt=Ji>18||Ji===18&&aa>=1||Ji===16&&aa>=17;var cze=new Set(hle.Module.builtinModules||Object.keys(process.binding("natives"))),tQ=r=>r.startsWith("node:")||cze.has(r);function ple(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),fle)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function $M(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let Be of le.keys()){if(Be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:Be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,he,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,Be=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?Be("31;1",`\u2716 ${(he=oe.error)==null?void 0:he.message.replace(/\n.*/s,"")}`):Be("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${Be("37;1","In \u2190")} ${(0,_M.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${Be("37;1","Out \u2192")} ${(0,_M.inspect)(oe.result,{colors:le,compact:!0})}`));let ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(ae.length>0){console.error();for(let _e of ae)console.error(` ${Be("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...Be)=>{let fe=p(oe,Be);try{return fe.result=le(...Be)}catch(ae){throw fe.error=ae}finally{C(fe)}};if(i>=1)return(...Be)=>{try{return le(...Be)}catch(fe){let ae=p(oe,Be);throw ae.error=fe,C(ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["node","require",...gle("--conditions")]);function T(oe,le=D,Be){let fe=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(fe===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=B(fe),qe=x.join(ae,xt.manifest);if(!e.fakeFs.existsSync(qe))return null;let ne=JSON.parse(e.fakeFs.readFileSync(qe,"utf8"));if(ne.exports==null)return null;let Y=x.contains(ae,oe);if(Y===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");Y!=="."&&!a.test(Y)&&(Y=`./${Y}`);try{let he=ole({packageJSONUrl:(0,uA.pathToFileURL)(K.fromPortablePath(qe)),packageSubpath:Y,exports:ne.exports,base:Be?(0,uA.pathToFileURL)(K.fromPortablePath(Be)):null,conditions:le});return K.toPortablePath((0,uA.fileURLToPath)(he))}catch(he){throw ri("EXPORTS_RESOLUTION_FAILED",he.message,{unqualifiedPath:po(oe),locator:fe,pkgJson:ne,subpath:po(Y),conditions:le},he.code)}}function H(oe,le,{extensions:Be}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let ae;try{ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(ae&&ae.main&&(qe=x.resolve(oe,ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:Be});if(ne!==null)return ne}}for(let ae=0,qe=Be.length;ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let he=Ae(ne);for(let ie of he)if(B(ie).packagePeers.has(oe))ae(ie);else{let _e=Be.get(ie.name);typeof _e>"u"&&Be.set(ie.name,_e=new Set),_e.add(ie.reference)}};ae(le);let qe=[];for(let ne of[...Be.keys()].sort())for(let Y of[...Be.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:Be=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let ae=h.get(fe);if(typeof ae>"u"||ae.discardFromLookup&&!Be){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return ae.locator}while(fe!=="");return null}function M(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:Be=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(Be&&tQ(oe))return null;let fe=po(oe),ae=le&&po(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) Require request: "${fe}" Required by: ${ae} @@ -679,23 +679,23 @@ Required by: ${ie.name}@${ie.reference} (via ${ae}) Required package: ${Mr.name}@${Mr.reference}${Mr.name!==fe?` (via "${fe}")`:""} Required by: ${ie.name}@${ie.reference} (via ${ae}) -`,{request:fe,issuer:ae,dependencyLocator:Object.assign({},Mr)});let gi=ii.packageLocation;he?qe=x.join(gi,he):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,Be=D,fe){if(s.test(oe))return le;let ae=T(le,Be,fe);return ae?x.normalize(ae):le}function pe(oe,{extensions:le=Object.keys(gE.Module._extensions)}={}){var ae,qe;let Be=[],fe=H(oe,Be,{extensions:le});if(fe)return x.normalize(fe);{fle(Be.map(he=>K.fromPortablePath(he)));let ne=ho(oe),Y=re(oe);if(Y){let{packageLocation:he}=B(Y),ie=!0;try{e.fakeFs.accessSync(he)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(ae=de==null?void 0:de.message)!=null?ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}). +`,{request:fe,issuer:ae,dependencyLocator:Object.assign({},Mr)});let gi=ii.packageLocation;he?qe=x.join(gi,he):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,Be=D,fe){if(s.test(oe))return le;let ae=T(le,Be,fe);return ae?x.normalize(ae):le}function pe(oe,{extensions:le=Object.keys(gE.Module._extensions)}={}){var ae,qe;let Be=[],fe=H(oe,Be,{extensions:le});if(fe)return x.normalize(fe);{ple(Be.map(he=>K.fromPortablePath(he)));let ne=po(oe),Y=re(oe);if(Y){let{packageLocation:he}=B(Y),ie=!0;try{e.fakeFs.accessSync(he)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(ae=de==null?void 0:de.message)!=null?ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}). Missing package: ${Y.name}@${Y.reference} -Expected package location: ${ho(he)} +Expected package location: ${po(he)} `,{unqualifiedPath:ne,extensions:le})}}if(!ie){let de=he.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`${de} Missing package: ${Y.name}@${Y.reference} -Expected package location: ${ho(he)} +Expected package location: ${po(he)} `,{unqualifiedPath:ne,extensions:le})}}throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. Source path: ${ne} -${Be.map(he=>`Not found: ${ho(he)} -`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,Be){var ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=sle({name:oe,base:(0,gA.pathToFileURL)(K.fromPortablePath(le)),conditions:(ae=Be.conditions)!=null?ae:D,readFileSyncFn:M});if(fe instanceof gA.URL)return pe(K.toPortablePath((0,gA.fileURLToPath)(fe)),{extensions:Be.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,Be)}function Fe(oe,le,Be={}){try{if(oe.startsWith("#"))return ke(oe,le,Be);let{considerBuiltins:fe,extensions:ae,conditions:qe}=Be,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,he=(!fe||!tQ(oe))&&!Y()?ue(oe,ne,qe,le):ne;return pe(he,{extensions:ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:ho(oe),issuer:le&&ho(le)}),fe}}function Ne(oe){let le=x.normalize(oe),Be=Br.resolveVirtual(le);return Be!==le?Be:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,Be]of f)for(let fe of Be.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let Be=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:Be}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=F(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(pe(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=Fe(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var SBt=(0,ple.promisify)(hle.readFile);var dle=(r,e,t)=>{let i=nE(r),n=UM(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return ZM(n,{fakeFs:t,pnpapiResolution:s})};var $M=Pe(mle());var po={};ut(po,{checkAndReportManifestCompatibility:()=>Ile,checkManifestCompatibility:()=>Ele,extractBuildScripts:()=>rQ,getExtractHint:()=>eO,hasBindingGyp:()=>tO});function Ele(r){return P.isPackageCompatible(r,ws.getArchitectureSet())}function Ile(r,e,{configuration:t,report:i}){return Ele(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${ws.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):Ile(r,"build",{configuration:i,report:n})?s:[]}var cze=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function eO(r){return r.packageFs.getExtractHint({relevantExtensions:cze})}function tO(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var hE={};ut(hE,{getUnpluggedPath:()=>fE});function fE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var uze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),wl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Bl(t.project).cjs;if(!O.existsSync(i))throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Bl(t.project).cjs;if(!O.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Yu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Yu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await gze(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?rQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=rO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:rO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Bl(this.opts.project);if(O.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await O.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await O.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await O.removePromise(e.cjs),await O.removePromise(this.opts.project.configuration.get("pnpDataPath")),await O.removePromise(e.esmLoader),await O.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=Bl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await O.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=YAe(e);await O.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await O.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=jAe({...e,dataLocation:o});await O.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await O.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await O.changeFilePromise(t.esmLoader,(0,$M.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await O.removePromise(s);else for(let o of await O.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await O.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!O.existsSync(s))continue;let o=await O.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:uze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(rQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=fE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Qo(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await O.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,Me.dot,{baseFs:t.packageFs,overwrite:!1}),await O.writeFilePromise(s,""))})),new qt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=rO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function rO(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function gze(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:eO(r),hasBindingGyp:tO(r)}}}var yle=Pe(Bn());var ju=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new Qe("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new Qe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!yle.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let T=i.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new Qe(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new Qe(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,fE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};ju.paths=[["unplug"]],ju.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Bl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),ble=r=>/\s/.test(r)?JSON.stringify(r):r;async function fze(r,e,t){let i=Bl(r),n=`--require ${ble(K.fromPortablePath(i.cjs))}`;if(O.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Ble.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&wle.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(O.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function hze(r,e){let t=Bl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var pze={hooks:{populateYarnPaths:hze,setupScriptEnvironment:fze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[wl],commands:[ju]},dze=pze;var Rle=Pe(Ple());var cO=Pe(J("crypto")),Fle=Pe(J("fs")),Nle=1,kr="node_modules",iQ=".bin",Tle=".yarn-state.yml",Fze=1e3;var nQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await lO(t.project,{unrollAliases:!0}));if(n===null)throw new Qe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await lO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=sQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new AO(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},AO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await Nze(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await lO(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum(tE,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(tE).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=rE(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=OM(a);await Uze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(Kle(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=po.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Nze(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:po.getExtractHint(e),hasBindingGyp:po.hasBindingGyp(e)}}}async function Tze(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +${Be.map(he=>`Not found: ${po(he)} +`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,Be){var ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=ale({name:oe,base:(0,uA.pathToFileURL)(K.fromPortablePath(le)),conditions:(ae=Be.conditions)!=null?ae:D,readFileSyncFn:M});if(fe instanceof uA.URL)return pe(K.toPortablePath((0,uA.fileURLToPath)(fe)),{extensions:Be.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,Be)}function Fe(oe,le,Be={}){try{if(oe.startsWith("#"))return ke(oe,le,Be);let{considerBuiltins:fe,extensions:ae,conditions:qe}=Be,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,he=(!fe||!tQ(oe))&&!Y()?ue(oe,ne,qe,le):ne;return pe(he,{extensions:ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:po(oe),issuer:le&&po(le)}),fe}}function Ne(oe){let le=x.normalize(oe),Be=Br.resolveVirtual(le);return Be!==le?Be:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,Be]of f)for(let fe of Be.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let Be=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:Be}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=F(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(pe(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=Fe(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var xBt=(0,Cle.promisify)(dle.readFile);var mle=(r,e,t)=>{let i=nE(r),n=GM(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return $M(n,{fakeFs:t,pnpapiResolution:s})};var tO=Pe(Ile());var Co={};ut(Co,{checkAndReportManifestCompatibility:()=>wle,checkManifestCompatibility:()=>yle,extractBuildScripts:()=>rQ,getExtractHint:()=>rO,hasBindingGyp:()=>iO});function yle(r){return P.isPackageCompatible(r,ws.getArchitectureSet())}function wle(r,e,{configuration:t,report:i}){return yle(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${ws.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):wle(r,"build",{configuration:i,report:n})?s:[]}var gze=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rO(r){return r.packageFs.getExtractHint({relevantExtensions:gze})}function iO(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var hE={};ut(hE,{getUnpluggedPath:()=>fE});function fE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var fze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),wl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Bl(t.project).cjs;if(!O.existsSync(i))throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Bl(t.project).cjs;if(!O.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Yu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Yu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await hze(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?rQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=nO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:nO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Bl(this.opts.project);if(O.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await O.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await O.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await O.removePromise(e.cjs),await O.removePromise(this.opts.project.configuration.get("pnpDataPath")),await O.removePromise(e.esmLoader),await O.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=Bl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await O.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=qAe(e);await O.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await O.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=JAe({...e,dataLocation:o});await O.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await O.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await O.changeFilePromise(t.esmLoader,(0,tO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await O.removePromise(s);else for(let o of await O.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await O.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!O.existsSync(s))continue;let o=await O.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:fze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(rQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=fE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new So(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await O.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,Me.dot,{baseFs:t.packageFs,overwrite:!1}),await O.writeFilePromise(s,""))})),new qt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=nO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function nO(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function hze(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rO(r),hasBindingGyp:iO(r)}}}var Ble=Pe(Bn());var ju=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new Qe("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new Qe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!Ble.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let T=i.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new Qe(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new Qe(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,fE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};ju.paths=[["unplug"]],ju.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Bl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),Sle=r=>/\s/.test(r)?JSON.stringify(r):r;async function pze(r,e,t){let i=Bl(r),n=`--require ${Sle(K.fromPortablePath(i.cjs))}`;if(O.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Qle.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&ble.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(O.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function dze(r,e){let t=Bl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var Cze={hooks:{populateYarnPaths:dze,setupScriptEnvironment:pze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[wl],commands:[ju]},mze=Cze;var Nle=Pe(kle());var gO=Pe(J("crypto")),Tle=Pe(J("fs")),Lle=1,kr="node_modules",iQ=".bin",Mle=".yarn-state.yml",Tze=1e3;var nQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uO(t.project,{unrollAliases:!0}));if(n===null)throw new Qe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=sQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new cO(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},cO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await Lze(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await uO(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum(tE,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(tE).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=rE(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=UM(a);await Gze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(Hle(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=Co.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Lze(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:Co.getExtractHint(e),hasBindingGyp:Co.hasBindingGyp(e)}}}async function Mze(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will `,s+=`# cause your node_modules installation to become invalidated. `,s+=` `,s+=`__metadata: -`,s+=` version: ${Nle} +`,s+=` version: ${Lle} `,s+=` nmMode: ${i.value} `;let o=Array.from(e.keys()).sort(),a=P.stringifyLocator(r.topLevelWorkspace.anchoredLocator);for(let u of o){let g=e.get(u);s+=` `,s+=`${JSON.stringify(u)}: @@ -706,10 +706,10 @@ ${Be.map(he=>`Not found: ${ho(he)} `}if(u===a&&t.size>0){s+=` bin: `;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: `;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=` ${JSON.stringify(C)}: ${JSON.stringify(B)} -`}}}}let l=r.cwd,c=x.join(l,kr,Tle);n&&await O.removePromise(c),await O.changeFilePromise(c,s,{automaticNewlines:!0})}async function lO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Tle),n;try{n=await O.statPromise(i)}catch{}if(!n)return null;let s=yi(await O.readFilePromise(i,"utf8"));if(s.__metadata.version>Nle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Ur(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Me.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Me.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Lle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var sp=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await O.statPromise(r):await O.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await O.unlinkPromise(r);return}}let t=await O.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Ur(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await sp(n,{innerLoop:!0,contentsOnly:!1}):await O.unlinkPromise(n)}e.contentsOnly||await O.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},Dle=4,sQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Lle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await O.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await O.symlinkPromise(r,e,"junction"):await O.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Mle(r,e,t){let i=x.join(r,Ur(`${cO.default.randomBytes(16).toString("hex")}.tmp`));try{await O.writeFilePromise(i,t);try{await O.linkPromise(i,e)}catch{}}finally{await O.unlinkPromise(i)}}async function Lze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Ole.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await O.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Ole||{}),Mze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await O.mkdirPromise(r,{recursive:!0});let o=async(c=Me.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await O.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await O.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await Lze({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await uO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await O.removePromise(c),await Mle(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function Oze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=O.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(O.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let T=x.join(c,kr,iQ),H;try{H=O.statSync(T)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(O.readdirSync(T)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,T={children:new Map,linkType:v,locator:D};if(f.children.set(u,T),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,T,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function Kle(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Kze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=Kle(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&O.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Ur(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var kle=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function gO(r){return x.join(r.get("globalFolder"),"store")}async function Uze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Oze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=Lle(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:_,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})=>{let re=(async()=>{try{_==="SOFT"?(await O.mkdirPromise(x.dirname(W),{recursive:!0}),await uO(x.resolve(V),W)):await Mze(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})}catch(M){throw M.message=`While persisting ${V} -> ${W} ${M.message}`,M}finally{T.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>Dle&&await Promise.race(h)},C=async(V,W,_)=>{let A=(async()=>{let Ae=async(ge,re,M)=>{try{M.innerLoop||await O.mkdirPromise(re,{recursive:!0});let F=await O.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!M.innerLoop&&ue.name===iQ)continue;let pe=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||M&&M.innerLoop)&&(await O.mkdirPromise(ke,{recursive:!0}),await Ae(pe,ke,{...M,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await O.linkPromise(pe,ke):await O.copyFilePromise(pe,ke,Fle.default.constants.COPYFILE_FICLONE)}}catch(F){throw M.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{M.innerLoop||T.tick()}};await Ae(V,W,_)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>Dle&&await Promise.race(h)},y=async(V,W,_)=>{if(_)for(let[A,Ae]of W.children){let ge=_.children.get(A);await y(x.join(V,A),Ae,ge)}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let _=f.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A),re=x.join(V,A);await y(re,Ae,ge)}}let B=async(V,W,_)=>{if(_){kle(W.locator,_.locator)||await sp(V,{contentsOnly:W.linkType==="HARD"});for(let[A,Ae]of W.children){let ge=_.children.get(A);await B(x.join(V,A),Ae,ge)}}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let _=l.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A);await B(x.join(V,A),Ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let M of Ae)if(re=x.join(re,M),ge=ge.children.get(M),!ge)break;if(ge){let M=kle(ge.locator,V),F=e.get(ge.locator),ue=F.target,pe=re,ke=F.linkType;if(M)v.has(ue)||v.set(ue,pe);else if(ue!==pe){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:pe,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),M=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let pe=ue.locatorHash,ke=F.target,Fe=_;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of Ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});else for(let oe of Ae)if(M=x.join(M,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});break}}let T=vi.progressViaCounter(D.length),H=n.reportProgress(T),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${gO(i.configuration)}/v1`:null;if(V&&!await O.existsPromise(V)){await O.mkdirpPromise(V);for(let _=0;_<256;_++)await O.mkdirPromise(x.join(V,_.toString(16).padStart(2,"0")))}for(let _ of D)(_.linkType==="SOFT"||!v.has(_.srcDir))&&(v.set(_.srcDir,_.dstDir),await p({..._,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(_.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let _ of D){let A=v.get(_.srcDir);_.linkType!=="SOFT"&&_.dstDir!==A&&await C(A,_.dstDir,{nmMode:$})}await Promise.all(h),await O.mkdirPromise(a,{recursive:!0});let W=await Kze(e,f,i.cwd,{loadManifest:s});await Hze(c,W,i.cwd),await Tze(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function Hze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,iQ);await O.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,iQ),o=r.get(i)||new Map;await O.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await O.removePromise(x.join(s,a)),process.platform==="win32"&&await O.removePromise(x.join(s,Ur(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Rle.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await O.removePromise(u),await uO(l,u),x.contains(t,await O.realpathPromise(l))!==null&&await O.chmodPromise(l,493)))}}}var oQ=class extends wl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new fO(t)}},fO=class extends Yu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),n=dle(t,this.opts.project.cwd,i),{tree:s,errors:o}=rE(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var Gze={hooks:{cleanGlobalArtifacts:async r=>{let e=gO(r);await O.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[nQ,oQ]},Yze=Gze;var u1={};ut(u1,{default:()=>ZVe,npmConfigUtils:()=>or,npmHttpUtils:()=>Ot,npmPublishUtils:()=>Cp});var qle=Pe(Xr());var gr="npm:";var Ot={};ut(Ot,{AuthType:()=>jle,customPackageError:()=>qze,del:()=>zze,get:()=>mo,getIdentUrl:()=>Ql,handleInvalidAuthenticationError:()=>bl,post:()=>Jze,put:()=>Wze});var CO=Pe(Km()),Yle=J("url");var or={};ut(or,{RegistryType:()=>Ule,getAuditRegistry:()=>jze,getAuthConfiguration:()=>dO,getDefaultRegistry:()=>aQ,getPublishRegistry:()=>Hle,getRegistryConfiguration:()=>Gle,getScopeConfiguration:()=>pO,getScopeRegistry:()=>fA,normalizeRegistry:()=>Co});var Ule=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(Ule||{});function Co(r){return r.replace(/\/$/,"")}function jze(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?Co(t):Hle(r,{configuration:e})}function Hle(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?Co(r.publishConfig.registry):r.name?fA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):aQ({configuration:e,type:"npmPublishRegistry"})}function fA(r,{configuration:e,type:t="npmRegistryServer"}){let i=pO(r,{configuration:e});if(i===null)return aQ({configuration:e,type:t});let n=i.get(t);return n===null?aQ({configuration:e,type:t}):Co(n)}function aQ({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return Co(t!==null?t:r.get("npmRegistryServer"))}function Gle(r,{configuration:e}){let t=e.get("npmRegistries"),i=Co(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function pO(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function dO(r,{configuration:e,ident:t}){let i=t&&pO(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Gle(r,{configuration:e})||e}var jle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(jle||{});async function bl(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(lQ(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await Xze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function qze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Ql(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function mo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=fA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await AQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Xt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await bl(l,{registry:s,configuration:e,headers:t}),l}}async function Jze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=fA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g)||l)throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await mO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Wze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=fA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g))throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await mO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function zze(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=fA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await AQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...op(a)});try{return await Xt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!lQ(u)||a)throw await bl(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await mO(u,{configuration:t});let g={...i,...op(a)};try{return await Xt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await bl(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function AQ(r,{authType:e=2,configuration:t,ident:i}){let n=dO(r,{configuration:t,ident:i}),s=Vze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function Vze(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function Xze(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Xt.get(new Yle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function mO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&ws.openUrl){let{openNow:a}=await(0,CO.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await ws.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` -`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,CO.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` -`),i}function lQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function op(r){return{["npm-otp"]:r}}var cQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!qle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await mo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var uQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var Jle=Pe(Xr()),Wle=J("url");var Ls=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new Wle.URL(e.reference);return!(!Jle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await mo(Ls.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await mo(Ls.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=fA(e.scope,{configuration:i}),s=Ls.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ql(e)}/-/${e.name}-${t}.tgz`}};var zle=Pe(Xr());var gQ=P.makeIdent(null,"node-gyp"),Zze=/\b(node-gyp|prebuild-install)\b/,fQ=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!zle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await mo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ls.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await mo(Ql(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(gQ.identHash)&&!o.peerDependencies.has(gQ.identHash)){for(let a of o.scripts.values())if(a.match(Zze)){o.dependencies.set(gQ.identHash,P.makeDescriptor(gQ,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var hQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!Rf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await mo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Ls.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var Cp={};ut(Cp,{getGitHead:()=>VVe,getPublishAccess:()=>Oue,getReadmeContent:()=>Kue,makePublishBody:()=>zVe});var o1={};ut(o1,{default:()=>DVe,packUtils:()=>ca});var ca={};ut(ca,{genPackList:()=>MQ,genPackStream:()=>s1,genPackageManifest:()=>Que,hasPackScripts:()=>i1,prepareForPack:()=>n1});var r1=Pe(Bn()),Bue=Pe(Eue()),bue=J("zlib"),EVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],IVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function i1(r){return!!(Wt.hasWorkspaceScript(r,"prepack")||Wt.hasWorkspaceScript(r,"postpack"))}async function n1(r,{report:e},t){await Wt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await O.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:O}),await t()}finally{await Wt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function s1(r,e){var s,o;typeof e>"u"&&(e=await MQ(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Bue.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await O.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await Que(r),null,2)):v=await O.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await O.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,bue.createGzip)();return i.pipe(n),n}async function Que(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function MQ(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of IVe)i.reject.push(D);for(let D of EVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let T=x.relative(r.cwd,D),H=x.resolve(Me.root,T);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let T=x.relative(r.cwd,D.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Me.root,o)),a!=null&&s.accept.push(x.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Me.root,l));for(let D of c.values())s.accept.push(x.resolve(Me.root,D));if(l instanceof Map)for(let[D,T]of l.entries())s.accept.push(x.resolve(Me.root,D)),typeof T=="string"&&s.accept.push(x.resolve(Me.root,T));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)Sue(s.accept,D,{cwd:Me.root})}return await yVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function yVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new So(r),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!yue(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await Iue(s,a,".npmignore"):g?await Iue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;yue(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Me.root,a))}return n.sort()}async function Iue(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))Sue(i.reject,s,{cwd:e});return i}function wVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function Sue(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(wVe(i,{cwd:t}))}function yue(r,{globalList:e,ignoreLists:t}){let i=LQ(r,e.accept);if(i!==0)return i===2;let n=LQ(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=LQ(r,s.accept);if(o!==0)return o===2;let a=LQ(r,s.reject);if(a!==0)return a===1}return!1}function LQ(r,e){let t=e,i=[];for(let n=0;n{await n1(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await MQ(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await s1(n,u),f=O.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Vu.paths=[["pack"]],Vu.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function BVe(r,{workspace:e}){let t=r.replace("%s",bVe(e)).replace("%v",QVe(e));return K.toPortablePath(t)}function bVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function QVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var SVe=["dependencies","devDependencies","peerDependencies"],vVe="workspace:",xVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of SVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===vVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},PVe={hooks:{beforeWorkspacePacking:xVe},commands:[Vu]},DVe=PVe;var Tue=J("crypto"),Lue=Pe(Nue()),Mue=J("url");async function zVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.manifest.name,a=r.manifest.version,l=P.stringifyIdent(o),c=(0,Tue.createHash)("sha1").update(e).digest("hex"),u=Lue.default.fromData(e).toString(),g=t!=null?t:Oue(r,o),f=await Kue(r),h=await ca.genPackageManifest(r),p=`${l}-${a}.tgz`,C=new Mue.URL(`${Co(n)}/${l}/-/${p}`);return{_id:l,_attachments:{[p]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:g,["dist-tags"]:{[i]:a},versions:{[a]:{...h,_id:`${l}@${a}`,name:l,version:a,gitHead:s,dist:{shasum:c,integrity:u,tarball:C.toString()}}},readme:f}}async function VVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}function Oue(r,e){let t=r.project.configuration;return r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?r.manifest.publishConfig.access:t.get("npmPublishAccess")!==null?t.get("npmPublishAccess"):e.scope?"restricted":"public"}async function Kue(r){let e=K.toPortablePath(`${r.cwd}/README.md`),t=r.manifest.name,n=`# ${P.stringifyIdent(t)} -`;try{n=await O.readFilePromise(e,"utf8")}catch(s){if(s.code==="ENOENT")return n;throw s}return n}var c1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Uue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},XVe={configuration:{...c1,...Uue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...c1,...Uue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:Co,valueDefinition:{description:"",type:"SHAPE",properties:{...c1}}}},fetchers:[cQ,Ls],resolvers:[uQ,fQ,hQ]},ZVe=XVe;var p1={};ut(p1,{default:()=>a9e});var kE=Pe(Bn());ls();var OQ=(i=>(i.All="all",i.Production="production",i.Development="development",i))(OQ||{}),KQ=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(KQ||{});var DE=["info","low","moderate","high","critical"];function Gue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function _Ve(r,e){return new Set([...r].filter(t=>!e.has(t)))}function $Ve(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Gue(r,l),g=Gue(r,c);return _Ve(g,u)}function Yue(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function jue(r){if(typeof r>"u")return new Set(DE);let e=DE.indexOf(r),t=DE.slice(e);return new Set(t)}function e9e(r,e){let t=jue(e),i={};for(let n of t)i[n]=r[n];return i}function que(r,e){var i;let t=e9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function Jue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=jue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Wue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Yue([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function zue(r,e,{all:t}){var s;let i=$Ve(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Yue(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var _u=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Zi(OQ)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Zi(KQ)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=Wue(i,n,{all:this.all,environment:this.environment}),o=zue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))kE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))kE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))kE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await ra.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Ot.post("/-/npm/v1/security/audits/quick",l,{authType:Ot.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(kE.default.isMatch(C,f)){let y=u.advisories[C],B=0;y.findings.forEach(v=>B+=v.paths.length),u.metadata.vulnerabilities[y.severity]-=B,delete u.advisories[C]}}let h=que(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(es.emitTree(Jue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};_u.paths=[["npm","audit"]],_u.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` +`}}}}let l=r.cwd,c=x.join(l,kr,Mle);n&&await O.removePromise(c),await O.changeFilePromise(c,s,{automaticNewlines:!0})}async function uO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Mle),n;try{n=await O.statPromise(i)}catch{}if(!n)return null;let s=yi(await O.readFilePromise(i,"utf8"));if(s.__metadata.version>Lle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Jr(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Me.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Me.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Ole(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var sp=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await O.statPromise(r):await O.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await O.unlinkPromise(r);return}}let t=await O.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Jr(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await sp(n,{innerLoop:!0,contentsOnly:!1}):await O.unlinkPromise(n)}e.contentsOnly||await O.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},Rle=4,sQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Ole=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await O.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await O.symlinkPromise(r,e,"junction"):await O.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Kle(r,e,t){let i=x.join(r,Jr(`${gO.default.randomBytes(16).toString("hex")}.tmp`));try{await O.writeFilePromise(i,t);try{await O.linkPromise(i,e)}catch{}}finally{await O.unlinkPromise(i)}}async function Oze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Ule.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await O.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Ule||{}),Kze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await O.mkdirPromise(r,{recursive:!0});let o=async(c=Me.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await O.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await O.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await Oze({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await fO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await O.removePromise(c),await Kle(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function Uze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=O.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(O.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let T=x.join(c,kr,iQ),H;try{H=O.statSync(T)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(O.readdirSync(T)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,T={children:new Map,linkType:v,locator:D};if(f.children.set(u,T),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,T,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function Hle(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Hze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=Hle(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&O.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Jr(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Fle=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function hO(r){return x.join(r.get("globalFolder"),"store")}async function Gze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Uze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=Ole(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:_,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})=>{let re=(async()=>{try{_==="SOFT"?(await O.mkdirPromise(x.dirname(W),{recursive:!0}),await fO(x.resolve(V),W)):await Kze(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})}catch(M){throw M.message=`While persisting ${V} -> ${W} ${M.message}`,M}finally{T.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>Rle&&await Promise.race(h)},C=async(V,W,_)=>{let A=(async()=>{let Ae=async(ge,re,M)=>{try{M.innerLoop||await O.mkdirPromise(re,{recursive:!0});let F=await O.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!M.innerLoop&&ue.name===iQ)continue;let pe=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||M&&M.innerLoop)&&(await O.mkdirPromise(ke,{recursive:!0}),await Ae(pe,ke,{...M,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await O.linkPromise(pe,ke):await O.copyFilePromise(pe,ke,Tle.default.constants.COPYFILE_FICLONE)}}catch(F){throw M.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{M.innerLoop||T.tick()}};await Ae(V,W,_)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>Rle&&await Promise.race(h)},y=async(V,W,_)=>{if(_)for(let[A,Ae]of W.children){let ge=_.children.get(A);await y(x.join(V,A),Ae,ge)}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let _=f.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A),re=x.join(V,A);await y(re,Ae,ge)}}let B=async(V,W,_)=>{if(_){Fle(W.locator,_.locator)||await sp(V,{contentsOnly:W.linkType==="HARD"});for(let[A,Ae]of W.children){let ge=_.children.get(A);await B(x.join(V,A),Ae,ge)}}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let _=l.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A);await B(x.join(V,A),Ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let M of Ae)if(re=x.join(re,M),ge=ge.children.get(M),!ge)break;if(ge){let M=Fle(ge.locator,V),F=e.get(ge.locator),ue=F.target,pe=re,ke=F.linkType;if(M)v.has(ue)||v.set(ue,pe);else if(ue!==pe){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:pe,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),M=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let pe=ue.locatorHash,ke=F.target,Fe=_;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of Ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});else for(let oe of Ae)if(M=x.join(M,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});break}}let T=vi.progressViaCounter(D.length),H=n.reportProgress(T),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${hO(i.configuration)}/v1`:null;if(V&&!await O.existsPromise(V)){await O.mkdirpPromise(V);for(let _=0;_<256;_++)await O.mkdirPromise(x.join(V,_.toString(16).padStart(2,"0")))}for(let _ of D)(_.linkType==="SOFT"||!v.has(_.srcDir))&&(v.set(_.srcDir,_.dstDir),await p({..._,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(_.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let _ of D){let A=v.get(_.srcDir);_.linkType!=="SOFT"&&_.dstDir!==A&&await C(A,_.dstDir,{nmMode:$})}await Promise.all(h),await O.mkdirPromise(a,{recursive:!0});let W=await Hze(e,f,i.cwd,{loadManifest:s});await Yze(c,W,i.cwd),await Mze(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function Yze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,iQ);await O.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,iQ),o=r.get(i)||new Map;await O.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await O.removePromise(x.join(s,a)),process.platform==="win32"&&await O.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Nle.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await O.removePromise(u),await fO(l,u),x.contains(t,await O.realpathPromise(l))!==null&&await O.chmodPromise(l,493)))}}}var oQ=class extends wl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new pO(t)}},pO=class extends Yu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),n=mle(t,this.opts.project.cwd,i),{tree:s,errors:o}=rE(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var jze={hooks:{cleanGlobalArtifacts:async r=>{let e=hO(r);await O.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[nQ,oQ]},qze=jze;var f1={};ut(f1,{default:()=>$Ve,npmConfigUtils:()=>or,npmHttpUtils:()=>Ot,npmPublishUtils:()=>Cp});var Wle=Pe(Xr());var gr="npm:";var Ot={};ut(Ot,{AuthType:()=>Jle,customPackageError:()=>Wze,del:()=>Xze,get:()=>Eo,getIdentUrl:()=>Ql,handleInvalidAuthenticationError:()=>bl,post:()=>zze,put:()=>Vze});var EO=Pe(Km()),qle=J("url");var or={};ut(or,{RegistryType:()=>Gle,getAuditRegistry:()=>Jze,getAuthConfiguration:()=>mO,getDefaultRegistry:()=>aQ,getPublishRegistry:()=>Yle,getRegistryConfiguration:()=>jle,getScopeConfiguration:()=>CO,getScopeRegistry:()=>gA,normalizeRegistry:()=>mo});var Gle=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(Gle||{});function mo(r){return r.replace(/\/$/,"")}function Jze(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?mo(t):Yle(r,{configuration:e})}function Yle(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?mo(r.publishConfig.registry):r.name?gA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):aQ({configuration:e,type:"npmPublishRegistry"})}function gA(r,{configuration:e,type:t="npmRegistryServer"}){let i=CO(r,{configuration:e});if(i===null)return aQ({configuration:e,type:t});let n=i.get(t);return n===null?aQ({configuration:e,type:t}):mo(n)}function aQ({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return mo(t!==null?t:r.get("npmRegistryServer"))}function jle(r,{configuration:e}){let t=e.get("npmRegistries"),i=mo(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function CO(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function mO(r,{configuration:e,ident:t}){let i=t&&CO(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:jle(r,{configuration:e})||e}var Jle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(Jle||{});async function bl(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(lQ(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await _ze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function Wze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Ql(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function Eo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=gA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await AQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Xt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await bl(l,{registry:s,configuration:e,headers:t}),l}}async function zze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g)||l)throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Vze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g))throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Xze(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=gA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await AQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...op(a)});try{return await Xt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!lQ(u)||a)throw await bl(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await IO(u,{configuration:t});let g={...i,...op(a)};try{return await Xt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await bl(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function AQ(r,{authType:e=2,configuration:t,ident:i}){let n=mO(r,{configuration:t,ident:i}),s=Zze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function Zze(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function _ze(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Xt.get(new qle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function IO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&ws.openUrl){let{openNow:a}=await(0,EO.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await ws.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,EO.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),i}function lQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function op(r){return{["npm-otp"]:r}}var cQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!Wle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Eo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var uQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var zle=Pe(Xr()),Vle=J("url");var Ls=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new Vle.URL(e.reference);return!(!zle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await Eo(Ls.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await Eo(Ls.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=gA(e.scope,{configuration:i}),s=Ls.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ql(e)}/-/${e.name}-${t}.tgz`}};var Xle=Pe(Xr());var gQ=P.makeIdent(null,"node-gyp"),$ze=/\b(node-gyp|prebuild-install)\b/,fQ=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!Xle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ls.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await Eo(Ql(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(gQ.identHash)&&!o.peerDependencies.has(gQ.identHash)){for(let a of o.scripts.values())if(a.match($ze)){o.dependencies.set(gQ.identHash,P.makeDescriptor(gQ,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var hQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!Rf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Ls.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var Cp={};ut(Cp,{getGitHead:()=>ZVe,getPublishAccess:()=>Uue,getReadmeContent:()=>Hue,makePublishBody:()=>XVe});var A1={};ut(A1,{default:()=>RVe,packUtils:()=>ca});var ca={};ut(ca,{genPackList:()=>MQ,genPackStream:()=>a1,genPackageManifest:()=>vue,hasPackScripts:()=>s1,prepareForPack:()=>o1});var n1=Pe(Bn()),Que=Pe(yue()),Sue=J("zlib"),yVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],wVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function s1(r){return!!(Wt.hasWorkspaceScript(r,"prepack")||Wt.hasWorkspaceScript(r,"postpack"))}async function o1(r,{report:e},t){await Wt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await O.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:O}),await t()}finally{await Wt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function a1(r,e){var s,o;typeof e>"u"&&(e=await MQ(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Que.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await O.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await vue(r),null,2)):v=await O.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await O.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Sue.createGzip)();return i.pipe(n),n}async function vue(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function MQ(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of wVe)i.reject.push(D);for(let D of yVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let T=x.relative(r.cwd,D),H=x.resolve(Me.root,T);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let T=x.relative(r.cwd,D.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Me.root,o)),a!=null&&s.accept.push(x.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Me.root,l));for(let D of c.values())s.accept.push(x.resolve(Me.root,D));if(l instanceof Map)for(let[D,T]of l.entries())s.accept.push(x.resolve(Me.root,D)),typeof T=="string"&&s.accept.push(x.resolve(Me.root,T));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)xue(s.accept,D,{cwd:Me.root})}return await BVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function BVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new vo(r),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Bue(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await wue(s,a,".npmignore"):g?await wue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Bue(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Me.root,a))}return n.sort()}async function wue(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))xue(i.reject,s,{cwd:e});return i}function bVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function xue(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(bVe(i,{cwd:t}))}function Bue(r,{globalList:e,ignoreLists:t}){let i=LQ(r,e.accept);if(i!==0)return i===2;let n=LQ(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=LQ(r,s.accept);if(o!==0)return o===2;let a=LQ(r,s.reject);if(a!==0)return a===1}return!1}function LQ(r,e){let t=e,i=[];for(let n=0;n{await o1(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await MQ(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await a1(n,u),f=O.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Vu.paths=[["pack"]],Vu.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function QVe(r,{workspace:e}){let t=r.replace("%s",SVe(e)).replace("%v",vVe(e));return K.toPortablePath(t)}function SVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function vVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var xVe=["dependencies","devDependencies","peerDependencies"],PVe="workspace:",DVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of xVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===PVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},kVe={hooks:{beforeWorkspacePacking:DVe},commands:[Vu]},RVe=kVe;var Mue=J("crypto"),Oue=Pe(Lue()),Kue=J("url");async function XVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.manifest.name,a=r.manifest.version,l=P.stringifyIdent(o),c=(0,Mue.createHash)("sha1").update(e).digest("hex"),u=Oue.default.fromData(e).toString(),g=t!=null?t:Uue(r,o),f=await Hue(r),h=await ca.genPackageManifest(r),p=`${l}-${a}.tgz`,C=new Kue.URL(`${mo(n)}/${l}/-/${p}`);return{_id:l,_attachments:{[p]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:g,["dist-tags"]:{[i]:a},versions:{[a]:{...h,_id:`${l}@${a}`,name:l,version:a,gitHead:s,dist:{shasum:c,integrity:u,tarball:C.toString()}}},readme:f}}async function ZVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}function Uue(r,e){let t=r.project.configuration;return r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?r.manifest.publishConfig.access:t.get("npmPublishAccess")!==null?t.get("npmPublishAccess"):e.scope?"restricted":"public"}async function Hue(r){let e=K.toPortablePath(`${r.cwd}/README.md`),t=r.manifest.name,n=`# ${P.stringifyIdent(t)} +`;try{n=await O.readFilePromise(e,"utf8")}catch(s){if(s.code==="ENOENT")return n;throw s}return n}var g1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Gue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},_Ve={configuration:{...g1,...Gue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...g1,...Gue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:mo,valueDefinition:{description:"",type:"SHAPE",properties:{...g1}}}},fetchers:[cQ,Ls],resolvers:[uQ,fQ,hQ]},$Ve=_Ve;var C1={};ut(C1,{default:()=>l9e});var kE=Pe(Bn());ls();var OQ=(i=>(i.All="all",i.Production="production",i.Development="development",i))(OQ||{}),KQ=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(KQ||{});var DE=["info","low","moderate","high","critical"];function jue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function e9e(r,e){return new Set([...r].filter(t=>!e.has(t)))}function t9e(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=jue(r,l),g=jue(r,c);return e9e(g,u)}function que(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function Jue(r){if(typeof r>"u")return new Set(DE);let e=DE.indexOf(r),t=DE.slice(e);return new Set(t)}function r9e(r,e){let t=Jue(e),i={};for(let n of t)i[n]=r[n];return i}function Wue(r,e){var i;let t=r9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function zue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=Jue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Vue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return que([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function Xue(r,e,{all:t}){var s;let i=t9e(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:que(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var _u=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Zi(OQ)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Zi(KQ)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=Vue(i,n,{all:this.all,environment:this.environment}),o=Xue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))kE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))kE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))kE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await ra.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Ot.post("/-/npm/v1/security/audits/quick",l,{authType:Ot.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(kE.default.isMatch(C,f)){let y=u.advisories[C],B=0;y.findings.forEach(v=>B+=v.paths.length),u.metadata.vulnerabilities[y.severity]-=B,delete u.advisories[C]}}let h=Wue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(es.emitTree(zue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};_u.paths=[["npm","audit"]],_u.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. @@ -723,25 +723,25 @@ ${Be.map(he=>`Not found: ${ho(he)} If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var g1=Pe(Xr()),f1=J("util"),$u=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let T=i.topLevelWorkspace;if(!T.manifest.name)throw new Qe(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(T.cwd,xt.manifest))}`);u=P.makeDescriptor(T.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Ot.getIdentUrl(u),f=h1(await Ot.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Ot.customPackageError})),h=Object.keys(f.versions).sort(g1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let T=g1.default.maxSatisfying(h,y);T!==null?C=T:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let T of n){let H=v[T];if(typeof H<"u")D[T]=H;else{l.reportWarning(1,`The ${ee.pretty(t,T,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});f1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,f1.inspect)(l,{depth:1/0,colors:!0,compact:!1})} -`);return a.exitCode()}};$u.paths=[["npm","info"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function h1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=h1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=h1(r[t]);i&&(e[t]=i)}return e}else return r||null}var Vue=Pe(Km()),eg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=z.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await i9e({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Ot.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Ot.AuthType.NO_AUTH});return await r9e(i,l.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};eg.paths=[["npm","login"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function UQ({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Hh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function r9e(r,e,{alwaysAuth:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,...t!==void 0?{npmAlwaysAuth:t}:{},npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function i9e({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,Vue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var mp=new Set(["npmAuthIdent","npmAuthToken"]),tg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await s9e(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await Xue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish});await Xue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};tg.paths=[["npm","logout"]],tg.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function n9e(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...mp].every(s=>!i.has(s)))return!1;for(let s of mp)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of mp)delete n[s];return r[e]=n,!0}async function s9e(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))n9e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function Xue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...mp].every(l=>!o.has(l)))return t;for(let l of mp)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of mp)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var rg=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new Qe("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new Qe("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Ot.get(Ot.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Wt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await ca.prepareForPack(n,{report:c},async()=>{let f=await ca.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ca.genPackStream(n,f),p=await Ie.bufferStream(h),C=await Cp.getGitHead(n.cwd),y=await Cp.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Ot.put(Ot.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};rg.paths=[["npm","publish"]],rg.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var Zue=Pe(Xr());var ig=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new Qe(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await RE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return es.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};ig.paths=[["npm","tag","list"]],ig.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var h1=Pe(Xr()),p1=J("util"),$u=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let T=i.topLevelWorkspace;if(!T.manifest.name)throw new Qe(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(T.cwd,xt.manifest))}`);u=P.makeDescriptor(T.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Ot.getIdentUrl(u),f=d1(await Ot.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Ot.customPackageError})),h=Object.keys(f.versions).sort(h1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let T=h1.default.maxSatisfying(h,y);T!==null?C=T:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let T of n){let H=v[T];if(typeof H<"u")D[T]=H;else{l.reportWarning(1,`The ${ee.pretty(t,T,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});p1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,p1.inspect)(l,{depth:1/0,colors:!0,compact:!1})} +`);return a.exitCode()}};$u.paths=[["npm","info"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function d1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=d1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=d1(r[t]);i&&(e[t]=i)}return e}else return r||null}var Zue=Pe(Km()),eg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=z.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await s9e({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Ot.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Ot.AuthType.NO_AUTH});return await n9e(i,l.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};eg.paths=[["npm","login"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function UQ({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Hh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function n9e(r,e,{alwaysAuth:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,...t!==void 0?{npmAlwaysAuth:t}:{},npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function s9e({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,Zue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var mp=new Set(["npmAuthIdent","npmAuthToken"]),tg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await a9e(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await _ue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish});await _ue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};tg.paths=[["npm","logout"]],tg.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function o9e(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...mp].every(s=>!i.has(s)))return!1;for(let s of mp)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of mp)delete n[s];return r[e]=n,!0}async function a9e(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))o9e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function _ue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...mp].every(l=>!o.has(l)))return t;for(let l of mp)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of mp)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var rg=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new Qe("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new Qe("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Ot.get(Ot.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Wt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await ca.prepareForPack(n,{report:c},async()=>{let f=await ca.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ca.genPackStream(n,f),p=await Ie.bufferStream(h),C=await Cp.getGitHead(n.cwd),y=await Cp.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Ot.put(Ot.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};rg.paths=[["npm","publish"]],rg.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var $ue=Pe(Xr());var ig=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new Qe(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await RE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return es.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};ig.paths=[["npm","tag","list"]],ig.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` This command will list all tags of a package from the npm registry. If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function RE(r,e){let t=`/-/package${Ot.getIdentUrl(r)}/dist-tags`;return Ot.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Ot.customPackageError})}var ng=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!Zue.default.valid(o))throw new Qe(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await RE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Ot.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Ot.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};ng.paths=[["npm","tag","add"]],ng.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function RE(r,e){let t=`/-/package${Ot.getIdentUrl(r)}/dist-tags`;return Ot.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Ot.customPackageError})}var ng=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!$ue.default.valid(o))throw new Qe(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await RE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Ot.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Ot.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};ng.paths=[["npm","tag","add"]],ng.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var sg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new Qe("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await RE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new Qe(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Ot.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Ot.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};sg.paths=[["npm","tag","remove"]],sg.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var og=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Hh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Ot.get("/-/whoami",{configuration:t,registry:i,authType:Ot.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};og.paths=[["npm","whoami"]],og.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var o9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[_u,$u,eg,tg,rg,ng,ig,sg,og]},a9e=o9e;var b1={};ut(b1,{default:()=>B9e,patchUtils:()=>ag});var ag={};ut(ag,{applyPatchFile:()=>GQ,diffFolders:()=>w1,ensureUnpatchedDescriptor:()=>C1,extractPackageToDisk:()=>y1,extractPatchFlags:()=>nge,isParentRequired:()=>I1,loadPatchFiles:()=>LE,makeDescriptor:()=>m1,makeLocator:()=>E1,makePatchHash:()=>B1,parseDescriptor:()=>NE,parseLocator:()=>TE,parsePatchFile:()=>FE});var A9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ep(r){return x.relative(Me.root,x.resolve(Me.root,K.toPortablePath(r)))}function l9e(r){let e=r.trim().match(A9e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c9e=420,u9e=493;var _ue=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g9e=r=>({header:l9e(r),parts:[]}),f9e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function h9e(r){let e=[],t=_ue(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=_ue()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Ep(u),toPath:Ep(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Ep(v),oldMode:HQ(o),newMode:HQ(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Ep(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function HQ(r){let e=parseInt(r,8)&511;if(e!==c9e&&e!==u9e)throw new Error(`Unexpected file mode string: ${r}`);return e}function FE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),p9e(h9e(e))}function d9e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var Ip=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function yp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function GQ(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await yp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await yp(e,x.dirname(n.fromPath),async()=>{await yp(e,x.dirname(n.toPath),async()=>{await yp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var og=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Hh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Ot.get("/-/whoami",{configuration:t,registry:i,authType:Ot.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};og.paths=[["npm","whoami"]],og.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var A9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[_u,$u,eg,tg,rg,ng,ig,sg,og]},l9e=A9e;var S1={};ut(S1,{default:()=>Q9e,patchUtils:()=>ag});var ag={};ut(ag,{applyPatchFile:()=>GQ,diffFolders:()=>b1,ensureUnpatchedDescriptor:()=>E1,extractPackageToDisk:()=>B1,extractPatchFlags:()=>oge,isParentRequired:()=>w1,loadPatchFiles:()=>LE,makeDescriptor:()=>I1,makeLocator:()=>y1,makePatchHash:()=>Q1,parseDescriptor:()=>NE,parseLocator:()=>TE,parsePatchFile:()=>FE});var c9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ep(r){return x.relative(Me.root,x.resolve(Me.root,K.toPortablePath(r)))}function u9e(r){let e=r.trim().match(c9e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var g9e=420,f9e=493;var ege=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),h9e=r=>({header:u9e(r),parts:[]}),p9e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function d9e(r){let e=[],t=ege(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=ege()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Ep(u),toPath:Ep(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Ep(v),oldMode:HQ(o),newMode:HQ(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Ep(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function HQ(r){let e=parseInt(r,8)&511;if(e!==g9e&&e!==f9e)throw new Error(`Unexpected file mode string: ${r}`);return e}function FE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),C9e(d9e(e))}function m9e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var Ip=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function yp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function GQ(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await yp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await yp(e,x.dirname(n.fromPath),async()=>{await yp(e,x.dirname(n.toPath),async()=>{await yp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` `)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await yp(e,n.path,async()=>{await E9e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if($ue(n.newMode)!==$ue(o))continue;await yp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function $ue(r){return(r&64)>0}function ege(r){return r.replace(/\s+$/,"")}function m9e(r,e){return ege(r)===ege(e)}async function E9e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=tge(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=tge(g,o,B),v!==null))break;y+=1}if(v===null)throw new Ip(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(` -`),{mode:n})}function tge(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!m9e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var y9e=/^builtin<([^>]+)>$/;function d1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function NE(r){let{sourceItem:e,...t}=d1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function TE(r){let{sourceItem:e,...t}=d1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function C1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=d1(r.range,P.parseDescriptor);return e}function rge({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function m1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,rge({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function E1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,rge({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function ige({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(y9e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function nge(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function I1(r){return ige({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function LE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=nge(o),l=await ige({onAbsolute:async()=>await O.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function y1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await O.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([O.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),O.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),O.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),O.detachTemp(l),u}async function w1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +`):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await yp(e,n.path,async()=>{await y9e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(tge(n.newMode)!==tge(o))continue;await yp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function tge(r){return(r&64)>0}function rge(r){return r.replace(/\s+$/,"")}function I9e(r,e){return rge(r)===rge(e)}async function y9e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=ige(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=ige(g,o,B),v!==null))break;y+=1}if(v===null)throw new Ip(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(` +`),{mode:n})}function ige(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!I9e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var B9e=/^builtin<([^>]+)>$/;function m1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function NE(r){let{sourceItem:e,...t}=m1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function TE(r){let{sourceItem:e,...t}=m1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function E1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=m1(r.range,P.parseDescriptor);return e}function nge({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function I1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,nge({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function y1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,nge({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function sge({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(B9e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function oge(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function w1(r){return sge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function LE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=oge(o),l=await sge({onAbsolute:async()=>await O.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function B1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await O.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([O.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),O.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),O.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),O.detachTemp(l),u}async function b1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. The following error was reported by 'git': -${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function B1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=FE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function sge(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var YQ=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=TE(e),a=await LE(i,o,t),l=await O.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await an(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Me.root,g),{baseFs:y});try{await GQ(FE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ip))throw v;let D=t.project.configuration.get("enableInlineHunks"),T=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,j=$=>{!D||sge(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var jQ=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=NE(e);return n.every(s=>!I1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=NE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=NE(e),a=await LE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=B1(a,l.version);return[E1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=TE(e);return{...await t.resolver.resolve(i,t),...e}}};var Ag=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!O.existsSync(o))throw new Qe("The argument folder didn't get created by 'yarn patch'");let l=await w1(o,s),c=await O.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new Qe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await O.mkdirPromise(g,{recursive:!0}),await O.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=C1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let T=i.originalPackages.get(p.locatorHash);if(!T)throw new Error("Assertion failed: Expected the original package to have been registered");let H=T.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=m1(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Ag.paths=[["patch-commit"]],Ag.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var lg=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new Qe("No package found in the project for the given locator");if(a.length>1)throw new Qe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function Q1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=FE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function age(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var YQ=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=TE(e),a=await LE(i,o,t),l=await O.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await an(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Me.root,g),{baseFs:y});try{await GQ(FE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ip))throw v;let D=t.project.configuration.get("enableInlineHunks"),T=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,j=$=>{!D||age(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var jQ=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=NE(e);return n.every(s=>!w1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=NE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=NE(e),a=await LE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=Q1(a,l.version);return[y1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=TE(e);return{...await t.resolver.resolve(i,t),...e}}};var Ag=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!O.existsSync(o))throw new Qe("The argument folder didn't get created by 'yarn patch'");let l=await b1(o,s),c=await O.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new Qe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await O.mkdirPromise(g,{recursive:!0}),await O.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=E1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let T=i.originalPackages.get(p.locatorHash);if(!T)throw new Error("Assertion failed: Expected the original package to have been registered");let H=T.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=I1(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Ag.paths=[["patch-commit"]],Ag.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var lg=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new Qe("No package found in the project for the given locator");if(a.length>1)throw new Qe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): ${a.map(l=>` -- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new Qe("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await y1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};lg.paths=[["patch"]],lg.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var w9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Ag,lg],fetchers:[YQ],resolvers:[jQ]},B9e=w9e;var x1={};ut(x1,{default:()=>S9e});var qQ=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=S1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=S1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Q1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Q1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return S1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=b9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:po.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=po.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!oge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await age(s);for(let[l,c]of t){let u=c;oge(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await O.readlinkPromise(h)===p)return;await O.removePromise(h)}await O.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await O.symlinkPromise(g,h,"junction"):await O.symlinkPromise(p,h)}))}o.push(Age(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=cge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await O.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(O.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await age(f);return h.delete(l.join(x.sep)),Age(f,h)}else return O.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await O.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(O.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await v1(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await v1(lge(this.opts.project)),{customData:this.customData}}};function S1(){return JSON.stringify({name:"PnpmInstaller",version:2})}function lge(r){return x.join(r.cwd,xt.nodeModules)}function cge(r){return x.join(lge(r),".store")}function b9e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(cge(e),t,i)}function oge(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function age(r){let e=new Map,t=[];try{t=await O.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await O.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Age(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(O.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>v1(x.join(r,s)))))}async function v1(r){try{await O.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var Q9e={linkers:[qQ]},S9e=Q9e;var Bb=()=>({modules:new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",F$(ud)],["semver",v9e],["typanion",hn],["yup",x9e],["@yarnpkg/plugin-essentials",pM],["@yarnpkg/plugin-compat",IM],["@yarnpkg/plugin-dlx",yM],["@yarnpkg/plugin-file",QM],["@yarnpkg/plugin-git",hM],["@yarnpkg/plugin-github",SM],["@yarnpkg/plugin-http",vM],["@yarnpkg/plugin-init",kM],["@yarnpkg/plugin-link",RM],["@yarnpkg/plugin-nm",hO],["@yarnpkg/plugin-npm",u1],["@yarnpkg/plugin-npm-cli",p1],["@yarnpkg/plugin-pack",o1],["@yarnpkg/plugin-patch",b1],["@yarnpkg/plugin-pnp",iO],["@yarnpkg/plugin-pnpm",x1]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});$0({binaryVersion:Tr||"",pluginConfiguration:Bb()});})(); +- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new Qe("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await B1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};lg.paths=[["patch"]],lg.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var b9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Ag,lg],fetchers:[YQ],resolvers:[jQ]},Q9e=b9e;var D1={};ut(D1,{default:()=>x9e});var qQ=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new v1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},v1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return x1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=S9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:Co.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Co.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Age(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await lge(s);for(let[l,c]of t){let u=c;Age(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await O.readlinkPromise(h)===p)return;await O.removePromise(h)}await O.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await O.symlinkPromise(g,h,"junction"):await O.symlinkPromise(p,h)}))}o.push(cge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=gge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await O.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(O.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await lge(f);return h.delete(l.join(x.sep)),cge(f,h)}else return O.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await O.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(O.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await P1(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await P1(uge(this.opts.project)),{customData:this.customData}}};function x1(){return JSON.stringify({name:"PnpmInstaller",version:2})}function uge(r){return x.join(r.cwd,xt.nodeModules)}function gge(r){return x.join(uge(r),".store")}function S9e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(gge(e),t,i)}function Age(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function lge(r){let e=new Map,t=[];try{t=await O.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await O.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function cge(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(O.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>P1(x.join(r,s)))))}async function P1(r){try{await O.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var v9e={linkers:[qQ]},x9e=v9e;var Bb=()=>({modules:new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",T$(ud)],["semver",P9e],["typanion",hn],["yup",D9e],["@yarnpkg/plugin-essentials",CM],["@yarnpkg/plugin-compat",wM],["@yarnpkg/plugin-dlx",BM],["@yarnpkg/plugin-file",vM],["@yarnpkg/plugin-git",dM],["@yarnpkg/plugin-github",xM],["@yarnpkg/plugin-http",PM],["@yarnpkg/plugin-init",FM],["@yarnpkg/plugin-link",NM],["@yarnpkg/plugin-nm",dO],["@yarnpkg/plugin-npm",f1],["@yarnpkg/plugin-npm-cli",C1],["@yarnpkg/plugin-pack",A1],["@yarnpkg/plugin-patch",S1],["@yarnpkg/plugin-pnp",sO],["@yarnpkg/plugin-pnpm",D1]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});$0({binaryVersion:Tr||"",pluginConfiguration:Bb()});})(); /*! * buildToken * Builds OAuth token prefix (helper function) diff --git a/.yarn/versions/682094d8.yml b/.yarn/versions/682094d8.yml deleted file mode 100644 index e69de29bb..000000000 diff --git a/.yarnrc.yml b/.yarnrc.yml index ea819e222..b309d52bd 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,10 +2,8 @@ nodeLinker: node-modules plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs - spec: "@yarnpkg/plugin-interactive-tools" + spec: '@yarnpkg/plugin-interactive-tools' - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs - spec: "@yarnpkg/plugin-typescript" - - path: .yarn/plugins/@yarnpkg/plugin-version.cjs - spec: "@yarnpkg/plugin-version" + spec: '@yarnpkg/plugin-typescript' -yarnPath: .yarn/releases/yarn-3.6.1.cjs +yarnPath: .yarn/releases/yarn-3.6.3.cjs diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 3f4331d8e..a536720b9 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1,256 +1,43 @@ - # Project Architecture -The configuration of the Synectic project structure is inspired by a detailed blog post from Ankit Sinha, ["Electron-Forge + React + TypeScript = Awesome!"](https://ankitbko.github.io/2019/08/electron-forge-with-react-and-typescript/) (published 2019.07.26). There are many blog posts describing how to setup TypeScript, Electron, and React, but combining them with their related tools, modules, and packages into a project that can be packaged for distribution to Windows, Mac, and Linux platforms is difficult. Additionally, obtaining the latest best-practices steps for each of the underlying technologies is an additional complexity. The blog post from Ankit Sinha appears to be the best description of steps required to use [Electron](#Electron), [Electron-Forge](https://www.electronforge.io/), [Webpack](#Webpack), [TypeScript](#TypeScript), and [React](#React) at this time. +The underlying technologies used to compose Synectic have changed over the years. This document serves as a guide to the various technologies that are used to build and develop Synectic, but also as a historical record of the evolution in the architecture and design. -# Electron +## Software Framework -[Electron](https://electronjs.org/) is an open-source framework developed and maintained by GitHub. Electron combines the Chromium rendering engine and Node.js runtime in order to provide a desktop GUI application using web technologies. +Synectic began as a simple editor using web-based technologies to create a flexible desktop application. We initially settled on [Electron](https://www.electronjs.org/) for its ability to create desktop applications using web technologies (mainly [HTML](https://en.wikipedia.org/wiki/HTML), [CSS](https://en.wikipedia.org/wiki/CSS), and [JavaScript](https://en.wikipedia.org/wiki/JavaScript)) that are rendered using a version of the [Chromium V8 browser engine]() and a backend using the [Node.js](https://nodejs.org/) runtime environment. -Synectic uses [`electron-forge`](https://www.electronforge.io/) as the scaffolding for providing a base [Node.js](https://nodejs.org/en/about/) solution and a ready-to-run Electron application. Under the hood, this project uses [`electron-rebuild`](https://github.com/electron/electron-rebuild) to automatically recompile native Node.js modules against the correct Electron version, and [`electron-packager`](https://github.com/electron/electron-packager) for customizing and bundling Electron apps to get them ready for distribution. +## Languages -The [`electron-devtools-installer`](https://github.com/MarshallOfSound/electron-devtools-installer) module ensures that the Chrome DevTools extension, and any other [supported extensions](https://github.com/MarshallOfSound/electron-devtools-installer#what-extensions-can-i-use), are loaded into Electron. +Using [Electron](https://www.electronjs.org/) means several decisions were already made for us, not least of which is that our application should be compiled to [JavaScript](https://developer.mozilla.org/en-US/docs/Web/javascript). This meant that we initially wrote in [JavaScript](https://developer.mozilla.org/en-US/docs/Web/javascript). However, we transitioned to [TypeScript](https://www.typescriptlang.org/) in [`v0.7.0`](https://github.com/EPICLab/synectic/releases/tag/v0.7.0), in order to take advantaged of static type-safety, the ability to document program behavior inline, and to use [IntelliSense in Visual Studio Code](https://code.visualstudio.com/docs/editor/intellisense) for code completion, syntax linking, and code hinting. We also use [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) for structuring the web content displayed within Synectic, and [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS) for styling the presentation of those HTML elements. -**Packages:** +## Package Manager -- _`dependencies`_ - - `electron-squirrel-startup` -- _`devDependencies`_ - - `@electron-forge/cli` - - `@electron-forge/maker-deb` - - `@electron-forge/maker-dmg` - - `@electron-forge/maker-rpm` - - `@electron-forge/maker-squirrel` - - `@electron-forge/plugin-webpack` - - `electron-devtools-installer` +We initially started using the [npm](https://www.npmjs.com/package/npm) package manager due to its defacto status as the standard for JavaScript applications that pull packages from the [`npm`](https://www.npmjs.com/) registry. We transitioned to [Yarn](https://yarnpkg.com/) in [`v1.0.0`](https://github.com/EPICLab/synectic/releases/tag/v1.0.0). -**Configuration:** +## Module Bundler -Synectic adheres to the configuration instructions of [Electron-Forge](https://www.electronforge.io/configuration) for the `forge.config.js` file, which specifically indicate that the `packagerConfig` options map directly to the options sent to `electron-packager` (and are documented in the [Electron Packager API docs](https://github.com/electron-userland/electron-packager/blob/master/docs/api.md)), and the `electronPackagerConfig` options map directly to the options sent to `electron-rebuild` (and are documented in the [Electron Rebuild API docs](https://github.com/electron/electron-rebuild#how-can-i-integrate-this-into-grunt--gulp--whatever)). +In order to transform JavaScript and other front-end assets such as HTML, CSS, and images, we use a module bundler that is capable of taking modules with dependencies and generating static assets representing those modules. This is also a necessary step before packaging Synectic into distributable installers for the various platforms (Linux, MacOS, and Windows). -# Webpack +Synectic used [Webpack](https://webpack.js.org/) for [`v0.7.0`](https://github.com/EPICLab/synectic/releases/tag/v0.7.0) to [`v4.4.0`](https://github.com/EPICLab/synectic/releases/tag/v4.4.0), but eventually was replaced by [Vite](https://vitejs.dev/) as the build tool. Vite includes two major parts: A dev server for serving source files over native [ES modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), with [built-in features](https://vitejs.dev/guide/features.html) and fast [Hot Module Replacement (HMR)](https://vitejs.dev/guide/features.html#hot-module-replacement). And a [build command](https://vitejs.dev/guide/build.html) that bundles code with [Rollup](https://rollupjs.org/), pre-configured to output optimized static assets for production. -[Webpack](https://webpack.js.org/) is an open-source JavaScript module bundler. Webpack takes modules with dependencies and generates static assets by generating and maintaining a dependency graph. Webpack allows [Loaders](https://webpack.js.org/concepts/loaders/) for transformations to be applied on the source code of modules. These Loaders allow for pre-processing files prior to importing or loading their content into a namespace. +## Electron App Packager -Synectic uses the [`Webpack Template`](https://www.electronforge.io/templates/webpack-template) feature in `electron-forge` to make use of the `@electron-forge/plugin-webpack` module and get a working `webpack` setup that also works with Electron. +Prior to [`v1.0.0`](https://github.com/EPICLab/synectic/releases/tag/v1.0.0), we relied on [Electron Builder](https://github.com/electron-userland/electron-builder) for building and publishing Electron distributables. However, we restructured the project to use the project scaffolding included in [Electron Forge](https://www.electronforge.io/) during that first production release. And in the `v5.0.0` release we migrated to [Hydraulic Conveyor](https://conveyor.hydraulic.dev/) for its support of cross-building/signing of all packages from any OS without the need for multi-platform CI, the ability to do synchronous web-style updates on each start of the app, and can use plain HTTP servers for updates. Conveyor replaces the Electron auto-updaters with [Sparkle](https://sparkle-project.org/) on MacOS, [MSIX](https://learn.microsoft.com/en-us/windows/msix/overview) on Windows, and Linux package repositories. -Several Webpack Loaders are include in Synectic: +## Linting -- [`style-loader`](https://webpack.js.org/loaders/style-loader/): Injects CSS into the DOM as a style block. -- [`css-loader`](https://webpack.js.org/loaders/css-loader/): Converts the resulting CSS (after CSS style and CSS module loading) to JavaScript prior to bundling. -- [`node-loader`](https://webpack.js.org/loaders/node-loader/): A [Node.js add-ons](https://nodejs.org/dist/latest/docs/api/addons.html) loader for `enhanced-require`, this loader executes add-ons in [`enhanced-require`](https://github.com/webpack/enhanced-require). +We initially relied on [TSLint](https://palantir.github.io/tslint/) as it was the recommended linter for TypeScript projects up until being deprecated in 2019 in favor of the [ESLint](https://eslint.org/) static code analysis tool. We switched to using [ESLint](https://eslint.org/) during the [`v1.0.0`](https://github.com/EPICLab/synectic/releases/tag/v1.0.0) release. -Additionally, we take advantage of [Asset Modules](https://webpack.js.org/guides/asset-modules/) for using asset files (fonts, icons, etc.) without configuring additional loaders. +Prettier -The [`fork-ts-checker-webpack-plugin`](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin) is a Webpack plugin that runs the TypeScript type checker on a separate process. +## UI Framework -**Packages:** +React -- _`devDependencies`_ - - `@electron-forge/plugin-webpack` - - `@vercel/webpack-asset-relocator-loader` - - `css-loader` - - `fork-ts-checker-webpack-plugin` - - `node-loader` - - `style-loader` - - `webpack` +## State Management -# TypeScript +Redux -[TypeScript](https://www.typescriptlang.org/) is an open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. +## Testing Frameworks -Synectic uses TypeScript as the programming language for application logic and source files. Since Electron is not natively capable of loading TypeScript files, we use [`ts-loader`](https://github.com/TypeStrong/ts-loader) to allow `webpack` to compile all TypeScript files into JavaScript files prior to loading into Electron. - -The [`fork-ts-checker-webpack-plugin`](https://github.com/TypeStrong/fork-ts-checker-webpack-plugin) is a Webpack plugin that runs the TypeScript type checker on a separate process. - -**Packages:** - -- _`devDependencies`_ - - `ts-loader` - - `typescript` - - `fork-ts-checker-webpack-plugin` - -**Configuration:** - -Synectic has the following `CompilerOptions` set in `tsconfig.json`: -| Setting | Value | Description | -| -------------------------------------------------------------------------------------------------- |:---------------------------:| -------------------------------------------------------------------------------------------------:| -| [`target`](https://www.typescriptlang.org/tsconfig#target) | `ES6` | Specify output ECMAScript version to be ES2015 (ES6) | -| [`allowJs`](https://www.typescriptlang.org/tsconfig#allowJs) | `true` | Allow JavaScript files to be compiled | -| [`module`](https://www.typescriptlang.org/tsconfig#module) | `commonjs` | Allows the Node.js loader for CommonJS modules. | -| [`skipLibCheck`](https://www.typescriptlang.org/tsconfig#skipLibCheck) | `true` | Skip type checking of all `.d.ts` files (type definition files) | -| [`esModuleInterop`](https://www.typescriptlang.org/tsconfig#esModuleInterop) | `true` | Imports CommonJS modules in compliance with ES6 module specs | -| [`strictNullChecks`](https://www.typescriptlang.org/tsconfig#strictNullChecks) | `true` | Enables `null` and `undefined` to have their own distinct types | -| [`exactOptionalPropertyTypes`](https://www.typescriptlang.org/tsconfig#exactOptionalPropertyTypes) | `true` | Apply stricter rules for TS to handle properties on `type` or `interface` with `?` prefix | -| [`useUnknownInCatchVariables`](https://www.typescriptlang.org/tsconfig#useUnknownInCatchVariables) | `true` | Enable TS 4.0 support for changing the type of variable in a catch clause from `any` to `unknown` | -| [`noImplicitAny`](https://www.typescriptlang.org/tsconfig#noImplicitAny) | `true` | Prevent TypeScript fallback to `any` for variables when it cannot infer the type | -| [`noUncheckedIndexedAccess`](https://www.typescriptlang.org/tsconfig#noUncheckedIndexedAccess) | `true` | Add `undefined` to any undeclared field in an object type | -| [`sourceMap`](https://www.typescriptlang.org/tsconfig#sourceMap) | `true` | Enable generating sourcemap files for debuggers/tools to display the original TypeScript source code when working with emitted JavaScript files | -| [`baseUrl`](https://www.typescriptlang.org/tsconfig#baseUrl) | `"."` | Base directory to resolve non-absolute module names | -| [`jsx`](https://www.typescriptlang.org/tsconfig#jsx) | `react` | Emit React elements as JavaScript code with `.js` file extension | -| `outDir` | `"dist"` | Emit `.js`, `.d.ts`, and `.js.map` files into this directory | -| [`moduleResolution`](https://www.typescriptlang.org/tsconfig#moduleResolution) | `node` | Determine that modules get resolved consistently with Node.js system | -| [`resolveJsonModule`](https://www.typescriptlang.org/tsconfig#resolveJsonModule) | | | -| `paths` | `{"*": ["node_modules/*"]}` | A series of entries which re-map imports to lookup locations relative to the `baseUrl` | - -# React - -[React](https://reactjs.org/) is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React is a declarative, component-based framework that works with JSX and TSX formats to manage state, route applications, and render HTML injections. - -The [`react-ace`](https://github.com/securingsincity/react-ace) module provides a set of React components for using the Ace code editor ([Ajax.org Cloud9 Editor](https://github.com/ajaxorg/ace)). - -The [`@dnd-kit/core`](https://dndkit.com/) module provides a drag and drop library that works with React components and resembles the [Redux](https://github.com/reactjs/react-redux) architecture. The [`@dnd-kit/modifiers`](https://docs.dndkit.com/api-documentation/modifiers) module provides the ability to dynamically modify the movement coordinates that are detected by sensors (including restricting movement within a boundary). The [`@dnd-kit/sortable`](https://docs.dndkit.com/presets/sortable) module provides the building blocks to build sortable interfaces. - -Synectic uses React for user interface components and integrates those components into Electron using the [`react-dom`](https://reactjs.org/docs/react-dom.html) package, which provides DOM-specific methods that can be used at the top level of an app in order to execute outside of the React model. The [`@dnd-kit/core`](https://dndkit.com/) and related packages provide drag and drop interactions between React components within Synectic. - -**Packages:** - -- _`dependencies`_ - - `@dnd-kit/core` - - `@dnd-kit/modifiers` - - `@dnd-kit/sortable` - - `react` - - `react-ace` - - `react-dom` -- _`devDependencies`_ - - `@types/react` - - `@types/react-dom` - - `@types/react-transition-group` - -**Configuration:** - -Synectic includes [Node.js intergration](https://electronjs.org/docs/tutorial/security), via `webPreferences: { nodeIntegration: true }` in the `electron.BrowserWindow`, to allow React to load and unload components from the DOM render tree. - -# Redux - -[Redux](https://redux.js.org/) is a predictable state container for JavaScript apps. Redux is a small library with a simple, limited API designed to be a predictable container for application state. It operates in a similar fashion to a [reducing function]() (a functional programming concept). Redux combines with React to allow for separation between state and user interface, with Redux handling state management and React resolving the presentation of state within a user interface. - -Synectic uses Redux to manage stateful data about content that is displayed within React components in the user interface. For example, the state of code in a Editor card is managed through Redux and displayed in a React component element. Synectic uses [Redux Toolkit](https://redux-toolkit.js.org/), which bundles the [`redux`](https://github.com/reduxjs/redux) core, [`redux-thunk`](https://github.com/reduxjs/redux-thunk), [`reselect`](https://github.com/reduxjs/reselect), and [`immer`](https://github.com/mweststrate/immer) modules and default configurations to simplify store setup, creating reducers, immutable update logic, and combined as a strongly-typed infrastructure library. - -Synectic relies heavily on the use of `thunks` via the [`createAsyncThunk`](https://redux-toolkit.js.org/api/createAsyncThunk) function in [Redux Toolkit](https://redux-toolkit.js.org/), which allows writing action creators that return a function instead of an action. The [thunk](https://en.wikipedia.org/wiki/Thunk) can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met (i.e. asynchronous or conditional dispatch). The inner function receives the store methods `dispatch` and `getState` as parameters. - -Additionally, the [`redux-devtools`](https://github.com/reduxjs/redux-devtools) module provides a Redux tab in Chrome DevTools for hot reloading, action replay, and a customizable UI for Redux state debugging. This module is automatically enabled via the [`configureStore.devTools`](https://redux-toolkit.js.org/api/configureStore#devtools) option and adding [`REDUX_DEVTOOLS`](https://github.com/reduxjs/redux-devtools/tree/main/extension#3-for-electron) in [`electron-devtools-installer`](https://github.com/MarshallOfSound/electron-devtools-installer). - -The [`reduxjs/redux-mock-store`](https://github.com/reduxjs/redux-mock-store) module, which provides a mock store for testing Redux async action creators and middleware. The mock store will create an array of dispatched actions which serve as an action log for tests. - -The [`redux-persist`](https://github.com/rt2zz/redux-persist) module provides the ability to persist and rehydrate Redux store state between application refreshes and restarts. - -**Packages:** - -- _`dependencies`_ - - `@reduxjs/toolkit` - - `react-redux` - - `redux` - - `redux-persist` -- _`devDependencies`_ - - `@types/redux-mock-store` - - `electron-devtools-installer` - - `redux-mock-store` - -# ESLint - -[ESLint](https://eslint.org/) is an extensible static analysis tool for checking JavaScript code for readability, maintainability, and functionality errors. - -Synectic uses ESLint to statically analyze TypeScript and React code for compliance with industry-standard syntax rules. - -The TypeScript project has typically advocated and maintained [TSLint](https://palantir.github.io/tslint/) for TypeScript static analysis, but has more recently begun to transition towards ESLint in order to take advantage of the more-performant architecture and framework support (e.g. rules for React Hook or Vue); per the TypeScript [roadmap](https://github.com/Microsoft/TypeScript/issues/29288). Therefore, we have followed the ESLint configuration steps described in a blog post from Christopher Pappas, ["From TSLint to ESLint, or How I Learned to Lint GraphQL Code"](https://artsy.github.io/blog/2019/01/29/from-tslint-to-eslint/) (published 2019.01.29). - -The [`@typescript-eslint/eslint-plugin`](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin) module is an ESLint-specific plugin which, when used in conjunction with `@typescript-eslint/parser`, allows for TypeScript-specific linting rules to run. The [`@typescript-eslint/parser`](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser) module provides an ESLint-specific parser which leverages `typescript-estree` and is designed to be used as a replacement for ESLint's default parser, `espree`. - -The [`eslint-plugin-import`](https://www.npmjs.com/package/eslint-plugin-import) module intends to support linting of ES2015+ (ES6+) import/export syntax, and prevent issues with misspelling of file paths and import names. The [`eslint-plugin-jsdoc`](https://github.com/gajus/eslint-plugin-jsdoc) plugin provides [JSDoc](https://jsdoc.app/) linting rules for ESLint. The [`eslint-plugin-react-hooks`](https://reactjs.org/docs/hooks-rules.html#eslint-plugin) plugin enforces the [Rules of Hooks](https://reactjs.org/docs/hooks-rules.html) in React components and is part of the [Hooks API](https://reactjs.org/docs/hooks-intro.html) for React. The [`eslint-plugin-testing-library`](https://www.npmjs.com/package/eslint-plugin-testing-library) module provides specific rules for following best practices and anticipating common mistakes when writing tests with [Testing Library](https://testing-library.com/). - -**Packages:** - -- _`devDependencies`_ - - `@typescript-eslint/eslint-plugin` - - `@typescript-eslint/parser` - - `eslint` - - `eslint-plugin-import` - - `eslint-plugin-jsdoc` - - `eslint-plugin-react-hooks` - - `eslint-plugin-testing-library` - -**Configuration:** - -Synectic has the following ESLint options set in `.eslintrc.json`: -| Setting | Value | Description | -| ------------------------------------------ |:------------------------------:| ----------------------------------------------------:| -| `env` : `browser` | `true` | Enables browser global variables | -| `env` : `es6` | `true` | Enables all ECMAScript 6 features except for modules (this automatically sets the `ecmaVersion` parser option to 6) | -| `env` : `node` | `true` | Enables Node.js global variables and Node.js scoping | -| `env` : `jest` | `true` | Enables Jest global variables | -| `parser` | `@typescript-eslint/parser` | Specifies [TypeScript-ESLint](https://github.com/typescript-eslint/typescript-eslint) parser in ESLint | -| `extends` | `["eslint:recommended"]` | ESLint rules for JavaScript and JSX configured from the [ESLint](https://eslint.org/docs/user-guide/configuring) plugin | -| `extends` | `["plugin:@typescript-eslint/eslint-recommended"]` | ESLint rules for TypeScript and TSX configured from the [TypeScript-ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin, per [typescript-eslint in eslint](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage) configuration guide | -| `extends` | `["plugin:@typescript-eslint/recommended"]` | ESLint rules that supersede `eslint:recommended` core rules which are not compatible with TypeScript, per [typescript-eslint in eslint](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage) configuration guide | -| `extends` | `["plugin:import/core-modules"]` | Array of additional modules to consider as "core" modules in the ESLint resolver, per [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import#importcore-modules) settings guide | -| `extends` | `["plugin:import/recommended"]` | ESLint rules for raising import errors and warnings from `eslint-plugin-import` project | -| `extends` | `["plugin:import/typescript"]` | ESLint rules that fix `plugin:imports/warnings` rules to be compatible with TypeScript, per [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import#typescript) installation guide | -| `extends` | `["plugin:testing-library/react"]` | ESLint rules to enforce recommended rules for [React Testing Library](<#React-Testing-Library-(RTL)>), per [eslint-plugin-testing-library](https://github.com/testing-library/eslint-plugin-testing-library#react) installation instructions | -| `extends` | `["plugin:react-hooks/recommended"]` | ESLint rules to enforce the [Rules of Hooks](), per [eslint-plugin-react-hooks](https://www.npmjs.com/package/eslint-plugin-react-hooks) installation instructions | -| `rules` : `jsdoc/require-param-type` | `off` | Disables ESLint rule that requires each `@param` in a JSDoc comment to have a `type` value | -| `rules` : `jsdoc/no-multi-astericks` : `allowWhitespace` | `true` | Allow astericks after a space (as with Markdown) in JSDoc comments | -| `settings` : `import/core-modules` | `[ "electron" ]` | Sets ESLint import resolver to include `electron` as a core module | - -# Jest - -[Jest](https://jestjs.io/) is a JavaScript testing framework with a focus on simplicity. It is maintained by Facebook, and supports [Babel](https://babeljs.io/), [TypeScript](#TypeScript), [Node.js](https://nodejs.org/en/about/), [React](#React), [Angular](https://angular.io/), and [Vue.js](https://vuejs.org/). Jest is built on top of Jasmine, and serves as a test runner with predefined tests for mocking and stub React components. - -Synectic uses Jest for unit testing, integration testing, code coverage, and interfacing with [React Testing Library](<#React-Testing-Library-(RTL)>) for React component testing. - -The [`ts-jest`](https://kulshekhar.github.io/ts-jest/) module is a TypeScript preprocessor with source map support for Jest that lets Synectic use Jest to test projects written in TypeScript. In particular, the choice to use TypeScript (with `ts-jest`) instead of Babel7 (with `@babel/preset-typescript`) is based upon the reasons outlined in a blog post from Kulshekhar Kabra, ["Babel7 or TypeScript"](https://kulshekhar.github.io/ts-jest/user/babel7-or-ts) (published 2018.09.16). - -The [`identify-obj-proxy`](https://jestjs.io/docs/en/webpack.html#mocking-css-modules) module is an identity object that uses ES6 proxies for mocking Webpack imports like CSS Modules. This module is used to [mock CSS Modules](https://jestjs.io/docs/en/webpack.html#mocking-css-modules) so that all `className` lookups on the style object will be returned as-is (e.g. `styles.foobar === 'foobar'`). This is pretty handy for React snapshot testing. - -The [`jest-esm-transformer`](https://github.com/ActuallyACat/jest-esm-transformer) module is a Jest utility that transforms `esm` files into `cjs`, so that they can be parsed by Jest. The [`jest-serializer-path`](https://github.com/tribou/jest-serializer-path) module removes absolute paths and normalizes paths across platforms in your Jest snapshots. The [`@testing-library/jest-dom`](https://github.com/testing-library/jest-dom) module provides custom Jest matchers to test the state of the DOM. - -**Packages:** - -- _`devDependencies`_ - - `@testing-library/jest-dom` - - `@types/jest` - - `identity-obj-proxy` - - `jest` - - `jest-esm-transformer` - - `jest-serializer-path` - - `ts-jest` - -**Configuration:** - -Synectic has the following [Jest](#Jest) options set in `jest.config.js`: - -| Setting | Value | Description | -| ------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | -------------------------------------------------------------------- | --- | --- | --- | ---- | --- | --- | ---- | ----- | --- | ---- | --- | --- | --- | --- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `testEnvironment` | `jsdom` | Enables Jest to use a browser-like environment as the testing enviroment (per [Configuring Jest](https://jestjs.io/docs/configuration#testenvironment-string) documentation) | -| `setupFilesAfterEnv` | `['/src/test-utils/setupTests.ts']` | A list of paths to modules that configure or setup the testing framework before each test (i.e. the actions defined in `setupTests.ts` executes after environment setup) | -| `preset` | `ts-jest` | All TypeScript files (`.ts` and `.tsx`) will be handled by `ts-jest`; JavaScript files are not processed | -| `snapshotSerializers` | `['jest-serializer-path']` | Enables the `jest-serializer-path` for removing absolute paths and normalizing paths across all platforms in Jest snapshots | -| `cleawrMocks` | `true` | Automatically clear mock calls, instances, contexts and results before every test (per [Configuring Jest](https://jestjs.io/docs/configuration#clearmocks-boolean)) | -| `transformIgnorePatterns` | `[]` | | -| `transform` |
`{"\\.m?js?$": "jest-esm-transformer"}`
| Enables the use of the `jest-esm-transformer` module to transform `esm` files to `cjs` before being parsed by Jest | -| `moduleNameMapper` |
`{"\\.(jpg | jpeg | png | gif | eot | otf | webp | svg | ttf | woff | woff2 | mp4 | webm | wav | mp3 | m4a | aac | oga)$": '/**mocks**/fileMock.js'}`
| Use a mocked CSS proxy for CSS Modules via [`identity-obj-proxy`](https://jestjs.io/docs/en/webpack#mocking-css-modules) during testing | -| `moduleNameMapper` |
`{"ace-builds": "/node_modules/ace-builds", "electron": "/src/test-utils/mock-electron.ts"}`
| Enables the [`ace-builds/webpack-resolver`](https://github.com/securingsincity/react-ace/issues/725#issuecomment-543109155) module in [`react-ace`](https://github.com/securingsincity/react-ace) to dynamically resolve language syntax files using [`file-loader`](https://github.com/webpack-contrib/file-loader) | -| `moduleNameMapper` | `{"electron": "/src/test-utils/mock-electron.ts"}` | Use a mocked Electron instance for stubbed functions during testing (per [Mock ES6 imports and dependencies for testing in Jest](https://www.jamestease.co.uk/blether/mock-es6-imports-with-jest/)) | -| `moduleNameMapper` | `{"\\.(css | less)$": 'identity-obj-proxy'}` | Mocks all static assets (e.g. stylesheets and images) during testing | -| `moduleNameMapper` |
`{"^dnd-cores$": "dnd-core/dist/cjs", "^react-dnd$": "react-dnd/dist/cjs", "^react-dnd-html5-backend$": "react-dnd-html5-backend/dist/cjs", "^react-dnd-touch-backend$": "react-dnd-touch-backend/dist/cjs", "^react-dnd-test-backend$": "react-dnd-test-backend/dist/cjs", "^react-dnd-test-utils$": "react-dnd-test-utils/dist/cjs"}`
| Jest does not work well with ES Modules yet, but can use CommonJS builds for `react-dnd` libraries (per [React DnD testing docs](https://react-dnd.github.io/react-dnd/docs/testing)) | - -# React Testing Library (RTL) - -[Testing Library](https://testing-library.com/) is a family of testing utility libraries that adhere to the guiding principle that _"the more your tests resemble the way your software is used, the more confidence they can give you."_ The manifestation of this principle is that tests are composed by querying for nodes in similar fashion to how users would find them (which makes this methodology ideal for UI testing). The [`React Testing Library` (RTL)](https://testing-library.com/docs/react-testing-library/intro) builds on top of the [`DOM Testing Library`](https://testing-library.com/docs/dom-testing-library/intro) by adding APIs for working with React components. - -Synectic uses React Testing Library to render React components within tests written using Jest's custom assertions and convenience functions in order to verify UI interactions. The configuration of RTL was inspired by a detailed blog post from Robert Cooper, ["Testing Stateful React Function Components with React Testing Library"](https://www.robertcooper.me/testing-stateful-react-function-components-with-react-testing-library) (published 2019.04.08). In particular, the blog posting provides examples of testing React function components using [React Testing Library](<#React-Testing-Library-(RTL)>), and finds that there are less chances of test suites that produce false negatives (tests that fail when the underlying implementation changes) and false positives (tests that continue to pass when the underlying implementation is broken) when adhering what Kent C. Dodds calls [_"implementation detail free testing"_](https://kentcdodds.com/blog/testing-implementation-details). - -The [`@testing-library/jest-dom`](https://testing-library.com/docs/ecosystem-jest-dom) module provides custom DOM element matchers for Jest. It recommends the use of [`eslint-plugin-jest-dom`](https://github.com/testing-library/eslint-plugin-jest-dom), which provides auto-fixable lint rules that prevent false positive tests and improves test readability by ensuring you are using the right matchers in your tests ([ESLint](#ESLint) for related configuration options). - -The [`@testing-library/user-event`](https://github.com/testing-library/user-event) module provides the ability to simulate the real events that would happen in the browser as the user interacts with it. This enables adherence to Kent C. Dodd's principle idea that ["The more your tests resemble the way your software is used, the more confidence they can give you."](https://twitter.com/kentcdodds/status/977018512689455106). - -The [`eslint-plugin-testing-library`](https://testing-library.com/docs/ecosystem-eslint-plugin-testing-library/) is an ESLint plugin for [Testing Library](https://testing-library.com/) that helps users to follow best practices and anticipate common mistakes when writing tests ([ESLint](#ESLint) for related configuration options). - -**Packages:** - -- _`devDependencies`_ - - `@testing-library/dom` - - `@testing-library/jest-dom` - - `@testing-library/react` - - `@testing-library/user-event` - - `eslint-plugin-testing-library` +Originally, we used a combination of the [Mocha](https://mochajs.org/) JavaScript testing framework and the [Chai](https://www.chaijs.com/) BDD/TDD assertion library for Node.js and browser targets. However, we switched to using the [Jest](https://jestjs.io/) JavaScript testing framework in combination with the [React Testing Library (RTL)](https://testing-library.com/) during the `v1.0.0` release. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 25c3ccd21..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,42 +0,0 @@ -# Contributing Code -All development must occur on feature or bugfix branches and be submitted via Pull Request. The following steps represent the preferred workflow, and include details about contribution requirements: -1. Create a feature or bugfix branch with a name that is representative of the development purpose (e.g. `feature/drag-n-highlight`, `fix/ghosting_images`, `feature/pixel-comparison`). Names that reference issue numbers, usernames, or random animals are not acceptable naming conventions. -2. Develop code and commit to the new branch with commit messages that provide context for underlying changes contained within each commit. [Avoid platform dependent code](http://flight-manual.atom.io/hacking-atom/sections/cross-platform-compatibility/). -3. When development is complete, and all requirements listed in any associated issues have been met, submit a Pull Request to the `main` branch. Include a bulleted list of contribution features/bugfixes/alterations in the PR description. Do not include issue numbers in the PR title, but do use the [Linked issues](https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) feature in GitHub to link the pull request to the related issue(s) and close them when the pull request is merged. -4. Review the results of continuous integration via [GitHub Actions](https://github.com/EPICLab/synectic/actions/workflows/pull_requests_development.yml). Pull Requests will not be accepted unless all tests are passing for that branch. -5. Wait for a code review from at least one other developer on the project. Address any changes requested during the review in order to gain approval. -6. Once merged, make updates to any related issues as needed for status tracking. - -# Recommended Coding References -Several sections of the Synectic API include advanced TypeScript features and the codebase can be difficult to understand for a newcomer, therefore the following references are compiled here for reading as needed: -* [TypeScript Handbook: Generics](https://www.typescriptlang.org/docs/handbook/generics.html) -* [TypeScript Handbook: Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html) -* [TypeScript Handbook: JSX](https://www.typescriptlang.org/docs/handbook/jsx.html) -* [TypeScript Deep Dive: Arrow Functions](https://basarat.gitbook.io/typescript/future-javascript/arrow-functions) -* [TypeScript Deep Dive: Rest Parameters](https://basarat.gitbook.io/typescript/future-javascript/rest-parameters) -* [TypeScript Deep Dive: Type Assertion](https://basarat.gitbook.io/typescript/type-system/type-assertion) -* [TypeScript Deep Dive: Type Guard](https://basarat.gitbook.io/typescript/type-system/typeguard) -* [Using `Async/Await` with Typescript Classes](http://ivanbatic.com/using-async-await-typescript-classes/) -* [Keep Your Promises in TypeScript using `async/await`](https://blog.bitsrc.io/keep-your-promises-in-typescript-using-async-await-7bdc57041308) -* [Asynchronous Processing with TypeScript and Generic Promises](https://visualstudiomagazine.com/articles/2015/03/01/asynchronous-processing.aspx) - -React and Redux: -* [Hooks API Reference](https://reactjs.org/docs/hooks-reference.html) -* [Using the React useContext Hook](https://medium.com/digio-australia/using-the-react-usecontext-hook-9f55461c4eae) -* [Idiomatic Redux: Why use action creators?](https://blog.isquaredsoftware.com/2016/10/idiomatic-redux-why-use-action-creators/) -* [ES6 Map with React.useState](https://medium.com/@jalalazimi/es6-map-with-react-usestate-9175cd7b409b) -* [Understanding the React useMemo Hook](https://www.digitalocean.com/community/tutorials/react-usememo) -* [How to Persist Your Redux Store](https://www.cloudsavvyit.com/9778/how-to-persist-your-redux-store/) - -Jest Testing: -* [Taking Advantage of Jest Matchers (Part 1)](https://benmccormick.org/2017/08/15/jest-matchers-1/) -* [Taking Advantage of Jest Matchers (Part 2)](https://benmccormick.org/2017/09/04/jest-matchers-2/) -* [Jest matching objects in array](https://medium.com/@andrei.pfeiffer/jest-matching-objects-in-array-50fe2f4d6b98) - -Advanced typing features in TypeScript: -* [TypeScript Handbook: Utility Types](https://www.typescriptlang.org/docs/handbook/utility-types.html) -* [TypeScript Deep Dive: Literal Types](https://basarat.gitbook.io/typescript/type-system/literal-types) -* [TypeScript 2.1: `keyof` and Lookup Types](https://mariusschulz.com/blog/typescript-2-1-keyof-and-lookup-types) -* [keyof and Lookup Types in TypeScript](https://mariusschulz.com/blog/keyof-and-lookup-types-in-typescript) -* [Typing Destructured Object Parameters in TypeScript](https://mariusschulz.com/blog/typing-destructured-object-parameters-in-typescript) -* [Conditional Types in TypeScript](https://mariusschulz.com/blog/conditional-types-in-typescript) \ No newline at end of file diff --git a/DESIGN.md b/DESIGN.md deleted file mode 100644 index 2a7c806f3..000000000 --- a/DESIGN.md +++ /dev/null @@ -1,47 +0,0 @@ -# Project Design - -The design for Synectic is based on bubbling up principles used in the underlying [ARCHITECTURE](ARCHITECTURE.md) projects that we built upon, and including them within our own design and development processes. In particular, we maintain the following design principles: - -# Unidirectional Data Flow -*Data has one, and only one, way to be transferred to other parts of the application.* - -This means that all data in Synectic follows the same lifecycle pattern, making the logic more predictable and easier to understand. A UI **view** is a result of the application **state**. **State** can only change when **actions** happen. And when **actions** happen, the **state** is updated. This principle encourages data normalization, so that we don't end up with multiple, independent copies of the same data that are unaware of one another (see [Single source of truth](#Single-source-of-truth), [State is read-only](#State-is-read-only), and [Changes are made with pure functions](#Changes-are-made-with-pure-functions)). - -Within our React component tree, this principles means that state is always owned by one component. Any data that is affected by this state can only affect components below it (i.e. it's children). Changing state on a component will never affect its parent, or its siblings, or any other component in the application; just its children. For this reason, a lot of the state is moved up in the component tree so that it can be shared between components that need access to it. - -Derived from [Redux's Data Flow](https://redux.js.org/basics/data-flow). - -# Separate Presentational and Container Components -*Presentational components maintain how things look, whereas Container components maintain how things work.* - -React bindings for Redux separate *presentational* components from *container* components. **Presentational** components are concerned with the visual presentation of data (e.g. markup, style, UI layout) and are *unaware of Redux*, which translates to all data being read through React component [props](https://reactjs.org/docs/components-and-props.html) and changes to data require invoking a props callback. **Container** components are concerned with the managing the state of data (e.g. data fetching, state updates) and are *aware of Redux*, which translates to all data being read by subscribing to Redux state and changes to data being propagated by dispatching Redux actions. This approach makes Synectic easier to understand and allow for more easily reusing components (see [Composite reuse](#Composite-reuse)). - -Derived from [Redux's Usage with React Tutorial](https://redux.js.org/basics/usage-with-react#presentational-and-container-components). - -# Composite Reuse -*Components should be composed of reusable functionality, instead of inheriting predefined attributes.* - -Composition over inheritance (or composite reuse principle) in object-oriented programming (OOP) is the principle that classes should achieve polymorphic behavior and code reuse by their composition (by containing instances of other classes that implement the desired functionality) rather than inheritance from a base or parent class. - -Derived from [React's Composition vs Inheritance](https://reactjs.org/docs/composition-vs-inheritance.html). - -# Single source of truth -*The state of the whole application is stored in an object tree within a single store.* - -This makes it easy to create universal apps, as the state from the underlying server can be serialized and hydrated into the client with no extra coding effort. A single state tree also makes it easier to debug or inspect an application; it also enables you to persist your app's state in development, for a faster development cycle. Some functionality which has been traditionally difficult to implement - Undo/Redo, for example - can suddenly become trivial to implement, if all of your state is stored in a single tree. - -Derived from [Redux's Three Principles](https://redux.js.org/introduction/three-principles#single-source-of-truth). - -# State is read-only -*The only way to change the state is to emit an action, an object describing what happened.* - -This ensures that neither the views nor the network callbacks will ever write directly to the state. Instead, they express an intent to transform the state. Because all changes are centralized and happen one by one in a strict order, there are no subtle race conditions to watch out for. As actions are just plain objects, they can be logged, serialized, stored, and later replayed for debugging or testing purposes. - -Derived from [Redux's Three Principles](https://redux.js.org/introduction/three-principles#state-is-read-only). - -# Changes are made with pure functions -*To specify how the state tree is transformed by actions, you write pure reducers.* - -Reducers are just pure functions that take the previous state and an action, and return the next state. Remember to return new state objects, instead of mutating the previous state. You can start with a single reducer, and as your app grows, split it off into smaller reducers that manage specific parts of the state tree. Because reducers are just functions, you can control the order in which they are called, pass additional data, or even make reusable reducers for common tasks such as pagination. - -Derived from [Redux's Three Principles](https://redux.jss.org/introduction/three-principles#changes-are-made-with-pure-functions). \ No newline at end of file diff --git a/README.md b/README.md index eb9ba9003..496ed0bc0 100644 --- a/README.md +++ b/README.md @@ -1,86 +1,50 @@ -# Synectic Integrated Development Environment - -![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/EPICLab/synectic/production.yml?style=for-the-badge) -![Codecov](https://img.shields.io/codecov/c/github/EPICLab/synectic?style=for-the-badge) -![GitHub](https://img.shields.io/github/license/EPICLab/synectic?style=for-the-badge) - -Synectics is a problem solving methodology that stimulates thought processes of which the subject may be unaware ([Wikipedia](https://en.wikipedia.org/wiki/Synectics)). Synectic IDE is a fundamentally different type of IDE, focused on supporting a human-oriented view of problem solving in software development. Synectic promotes context-specific functionality that compliments and enhances human cognition, memory, and reasoning. As a research prototype, this software has no expressed warranty or guarantees and should be treated as experimental software. - -The rationale and principles that guide the design of Synectic can be found in [DESIGN.md](https://github.com/EPICLab/synectic/blob/master/DESIGN.md). The complete set of programming languages, tools, bundlers, packagers, frameworks, and plugins included in Synectic, along with the configuration requirements, can be found in [ARCHITECTURE.md](https://github.com/EPICLab/synectic/blob/master/ARCHITECTURE.md). Synectic is released under an MIT license, which can be found in [LICENSE](https://github.com/EPICLab/synectic/blob/master/LICENSE). - -Versioning within this project adheres to the rules of [Semantic Versioning 2.0.0](https://semver.org/). - -# Usage - -Pre-built releases are available for MacOS, Linux, and Windows. The following formats are available: - -- MacOS - `dmg`, `zip` -- Linux - `deb` (Debian-based, e.g. Ubuntu), `rpm` (RedHat-based, e.g. Fedora) -- Windows - `exe`, `nupkg` ([Squirrel.Windows](https://www.electronforge.io/config/makers/squirrel.windows) target) - -Downloads: [https://nomatic.dev/synectic](https://nomatic.dev/synectic) - -⚠️ **Warning:** By default, MacOS protects users from malware by preventing software from being installed from unknown sources. This generally restricts any software not installed from the `Mac App Store` or `identified developers`. This second category refers to software produced by developers using an [Apple Developer ID certificate](https://developer.apple.com/support/certificates/), and requires purchasing an Apple Developer Program membership. Since this is experimental research software, we are not currently able to purchase and sign MacOS builds for Synectic. Please see the [Installation Guide](https://github.com/EPICLab/synectic/wiki/Installation-Guide) for instructions on how to load Synectic for the first time on MacOS. - -# Install - -1. Install [Node.js](https://nodejs.org/en/). -2. Install [Yarn](https://yarnpkg.com/lang/en/) Package Manager. -3. Clone this repository: - ```bash - git clone git@github.com:EPICLab/synectic.git - ``` -4. Move into the project root directory: - ```bash - cd synectic - ``` -5. Install project dependencies (`npm`/`npx` can also be used, but `yarn` is preferred): - ```bash - yarn install - ``` -6. Build and run Synectic IDE: - ```bash - yarn start - ``` - -# CLI - -Follow the instructions in [Install](#Install) section to install dependencies. Once installed, all of the following commands can be used from within the project root directory: - -- `yarn start` - build and executes Synectic from the application directory (when running, type `rs` to terminate and restart Synectic) -- `yarn package` - packages the Synectic application into a platform specific format and puts the results in the `out/` directory -- `yarn make` - make distributables for the Synectic application based on the forge config -- `yarn publish` - attempts to make the Synectic application and then publish it to the publish targets defined in the forge config -- `yarn lint` - runs static analysis for TypeScript and JavaScript code to conform to linting rules -- `yarn clean` - removes all previous build output, packaging, and distribution files (`.webpack/` and `out/`) - -# Testing - -Installation is required; see [CLI](#CLI) for installation instructions. The following commands can be used from within the project root directory: - -- `yarn test` - executes [Jest](https://jestjs.io/) with [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/) - -# Linting - -Installation is required; see [CLI](#CLI) for installation instructions. The following commands can be used from within the project root directory: - -- `yarn lint` - executes [ESLint](https://eslint.org/) and evalutes against `eslint:recommended`, `@typescript-eslint/recommended`, `react-hooks/recommended`, and `jsdoc/recommended` rules - -# Releasing - -Installation is required; see [CLI](#CLI) for installation instructions. The following commands can be used from within the project root directory: - -- `yarn release` - executes [`yarn version`](https://yarnpkg.com/cli/version) plugin to initiate a major semver version bump, generate a new [version.js](https://github.com/EPICLab/synectic/blob/main/version.js) using [`genversion`](https://www.npmjs.com/package/genversion), stage and commit all relevant version files, generate a new [annotated Git tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging), and [atomically](https://git-scm.com/docs/git-push#Documentation/git-push.txt---no-atomic) push changes to the remote repository to trigger [GitHub Actions](https://docs.github.com/en/actions). - -# Contributors - -We welcome contributions to this open source project on Github. When contributing, please follow the [Contributing Code Guide](https://github.com/EPICLab/synectic/blob/master/CONTRIBUTING.md). Also, any new contributors should include a commit that updates this `README.md` document to include your name and a link to your GitHub profile page (unless you wish to be anonymous). - -- Nicholas Nelson ([@nelsonni](https://github.com/nelsonni)) -- Andrea Tongsak ([@andrealit](https://github.com/andrealit)) -- Jett Seale ([@jettseale](https://github.com/jettseale)) -- Brandon Dring ([@El_Dringo_Brannde](https://github.com/El-Dringo-Brannde)) -- Marjan Adeli ([@Marjan-Adeli](https://github.com/Marjan-Adeli)) -- Hayden Coffey ([@hcoffey1](https://github.com/hcoffey1)) -- Lauren Gastineau ([@laurengastineau](https://github.com/laurengastineau)) -- Samarendra Hedaoo ([@knightsamar](https://github.com/knightsamar)) +# synectic-conveyor + +## Development + +We use the [_recommended project structure_](https://electron-vite.org/guide/dev.html) of the [`electron-vite`](https://electron-vite.org/) project, which means that the following convention is used: + +```bash +. +├──src +│ ├──main +│ │ ├──index.ts +│ │ └──... +│ ├──preload +│ │ ├──index.ts +│ │ └──... +│ └──renderer # with vue, react, etc. +│ ├──src +│ ├──index.html +│ └──... +├──electron.vite.config.ts +├──package.json +└──... +``` + +This also results in the following output: + +```bash +. +├──out +│ ├──main +│ │ ├──index.js +│ │ └──... +│ ├──preload +│ │ ├──index.js +│ │ └──... +│ └──renderer +│ ├──assets/ +│ ├──index.html +│ └──... +├──src +├──electron.vite.config.ts +├──package.json +└──... +``` + +### Caveat + +This output structure is only generated when the `preview` or `build` commands are run, since the +`dev` command does not prepare files for packaging and instead leaves the `renderer` directory in +`src/renderer` in order to enable HMR. diff --git a/conveyor.conf b/conveyor.conf new file mode 100644 index 000000000..31828d326 --- /dev/null +++ b/conveyor.conf @@ -0,0 +1,38 @@ +include required("/stdlib/electron/electron.conf") + +// Import metadata from your package.json file, like your fsname, version and which version of Electron to use. +package-json { + include required("package.json") +} + +// Config file documentation: https://conveyor.hydraulic.dev/latest/configs +app { + display-name = "Synectic Conveyor" + rdns-name = com.example.synectic-conveyor + site.base-url = "localhost:3000" + electron.version = ${package-json.devDependencies.electron} + inputs = ${app.inputs} [ + package.json + out -> out + { + from = node_modules + to = node_modules + remap = ["-electron/dist/**"] + } + ] + + // Check for and apply updates synchronously on every app launch instead of in the background. + // Consider removing this line for your own app! + updates = aggressive + + // Use the Electron logo as an icon. + // + // Conveyor can generate a simple icon for you based on your project display name. + // To try it out just delete this line. For more info see https://conveyor.hydraulic.dev/latest/configs/#icons + icons = icons/icon.svg + + // For iteration speed. Remove for release. + compression-level = low +} + +conveyor.compatibility-level = 11 diff --git a/electron.vite.config.ts b/electron.vite.config.ts new file mode 100644 index 000000000..b91418b06 --- /dev/null +++ b/electron.vite.config.ts @@ -0,0 +1,29 @@ +import { resolve } from 'path'; +import { defineConfig, externalizeDepsPlugin } from 'electron-vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + main: { + plugins: [externalizeDepsPlugin()], + build: { + outDir: 'out/main' + } + }, + preload: { + plugins: [externalizeDepsPlugin()], + build: { + outDir: 'out/preload' + } + }, + renderer: { + resolve: { + alias: { + '@renderer': resolve('src/renderer/src') + } + }, + plugins: [react()], + build: { + outDir: 'out/renderer' + } + } +}); diff --git a/forge.config.ts b/forge.config.ts deleted file mode 100644 index bbfc7c93a..000000000 --- a/forge.config.ts +++ /dev/null @@ -1,65 +0,0 @@ -import MakerDeb from '@electron-forge/maker-deb'; -import MakerDMG from '@electron-forge/maker-dmg'; -import MakerRpm from '@electron-forge/maker-rpm'; -import MakerSquirrel from '@electron-forge/maker-squirrel'; -import { ForgeConfig } from '@electron-forge/shared-types'; -import WebpackPlugin from '@electron-forge/plugin-webpack'; - -import { mainConfig } from './webpack.main.config'; -import { rendererConfig } from './webpack.renderer.config'; - -const config: ForgeConfig = { - packagerConfig: { - asar: true, - executableName: 'synectic', - icon: 'src/assets/icon/icon' - }, - makers: [ - new MakerSquirrel({ - name: 'Synectic', - setupIcon: 'src/assets/icon/icon.ico' - }), - new MakerDMG({ - icon: 'src/assets/icon/icon.icns', - format: 'ULFO' - }), - new MakerDeb({ - options: { - maintainer: 'Nicholas Nelson', - homepage: 'https://github.com/EPICLab/synectic', - categories: ['Development'], - description: 'Research prototype IDE designed for human cognition and spatial interactions' - } - }), - new MakerRpm({ - options: { - homepage: 'https://github.com/EPICLab/synectic', - categories: ['Development'], - description: 'Research prototype IDE designed for human cognition and spatial interactions' - } - }) - ], - plugins: [ - new WebpackPlugin({ - mainConfig, - renderer: { - config: rendererConfig, - // nodeIntegration: true, - entryPoints: [ - { - html: './src/index.html', - js: './src/app.tsx', - name: 'main_window', - preload: { - js: './src/preload.ts' - } - } - ] - }, - devContentSecurityPolicy: - "default-src 'self' 'unsafe-inline' data:; script-src 'self' 'unsafe-eval' 'unsafe-inline' data:; worker-src * data: 'unsafe-eval' 'unsafe-inline' blob:" - }) - ] -}; - -export default config; diff --git a/icons/electron-icon.svg b/icons/electron-icon.svg new file mode 100644 index 000000000..dc81c99d2 --- /dev/null +++ b/icons/electron-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icon/icon.icns b/icons/icon.icns similarity index 100% rename from src/assets/icon/icon.icns rename to icons/icon.icns diff --git a/src/assets/icon/icon.ico b/icons/icon.ico similarity index 100% rename from src/assets/icon/icon.ico rename to icons/icon.ico diff --git a/src/assets/icon/icon.png b/icons/icon.png similarity index 100% rename from src/assets/icon/icon.png rename to icons/icon.png diff --git a/icons/icon.svg b/icons/icon.svg new file mode 100644 index 000000000..16cb522f7 --- /dev/null +++ b/icons/icon.svg @@ -0,0 +1,650 @@ + + + + + + + + + + + + + diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index c4fc200d7..000000000 --- a/jest.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import type { Config } from 'jest'; - -const config: Config = { - testEnvironment: 'jsdom', - setupFilesAfterEnv: ['/src/test-utils/setupTests.ts'], - preset: 'ts-jest', - snapshotSerializers: ['jest-serializer-path'], - clearMocks: true, - transformIgnorePatterns: [], - moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], - moduleNameMapper: { - 'ace-builds': '/node_modules/ace-builds', - electron: '/src/test-utils/mock-electron.ts', - '^dnd-core$': 'dnd-core/dist/cjs', - '^react-dnd$': 'react-dnd/dist/cjs', - '^react-dnd-test-backend$': 'react-dnd-test-backend/dist/cjs', - '^react-dnd-test-utils$': 'react-dnd-test-utils/dist/cjs', - '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': - '/__mocks__/fileMock.js', - '\\.(css|less)$': 'identity-obj-proxy' - } -}; - -export default config; diff --git a/lib/version.js b/lib/version.js deleted file mode 100644 index b144c6d7d..000000000 --- a/lib/version.js +++ /dev/null @@ -1,2 +0,0 @@ -// generated by genversion -module.exports = '1.3.1' diff --git a/package.json b/package.json index ec85c5252..b13bfe4e2 100644 --- a/package.json +++ b/package.json @@ -1,152 +1,59 @@ { - "name": "synectic", + "name": "synectic-conveyor", "productName": "Synectic", - "version": "4.4.2", + "version": "0.0.1", "description": "Research IDE for examining context-centric, problem-solving in development tools.", - "main": ".webpack/main", - "scripts": { - "start": "electron-forge start", - "package": "electron-forge package", - "make": "electron-forge make --arch=\"ia32,x64\"", - "publish": "electron-forge publish", - "release:major": "yarn version major && yarn genversion version.js && yarn run release:git && yarn run release:push", - "release:minor": "yarn version minor && yarn genversion version.js && yarn run release:git && yarn run release:push", - "release:patch": "yarn version patch && yarn genversion version.js && yarn run release:git && yarn run release:push", - "release:git": "git add package.json version.js && git commit -m \"v$npm_package_version\"", - "release:push": "git tag v$npm_package_version && git push --atomic origin main --tags", - "lint": "eslint --ext .ts,.tsx .", - "test": "jest", - "test:coverage": "jest --coverage --collectCoverageFrom=", - "test:coverageAll": "jest --coverage --collectCoverageFrom=\"./src/**\"", - "clean": "fse remove out; fse remove .webpack; fse remove dist", - "clean:tests": "jest --clearCache; fse remove coverage/", - "clean:builds": "yarn cache clean; yarn cache clean --mirror; fse remove yarn-error.log", - "ci": "yarn install --check-cache" - }, - "keywords": [], + "main": "out/main/index.js", "author": { "name": "Nicholas Nelson", "email": "nelsonni@oregonstate.edu" }, "license": "MIT", - "config": { - "forge": "./forge.config.ts" - }, - "packageManager": "yarn@3.6.1", - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0", - "yarn": ">=3.5.0" + "packageManager": "yarn@3.6.3", + "scripts": { + "clean": "rimraf out", + "format": "prettier --write .", + "start": "electron-vite preview", + "dev": "electron-vite dev", + "build": "electron-vite build" }, "devDependencies": { - "@atao60/fse-cli": "^0.1.9", - "@electron-forge/cli": "^6.4.2", - "@electron-forge/maker-deb": "^6.4.2", - "@electron-forge/maker-dmg": "^6.4.2", - "@electron-forge/maker-rpm": "^6.4.2", - "@electron-forge/maker-squirrel": "^6.4.1", - "@electron-forge/plugin-webpack": "6.4.1", - "@testing-library/dom": "^9.3.1", - "@testing-library/jest-dom": "^6.1.3", - "@testing-library/react": "^14.0.0", - "@testing-library/user-event": "^14.4.3", - "@types/dagre": "^0.7.49", - "@types/diff": "^5.0.3", - "@types/fs-extra": "^11.0.1", - "@types/git-config-path": "^2.0.1", - "@types/ini": "^1.3.31", - "@types/jest": "^29.5.4", + "@electron-toolkit/tsconfig": "^1.0.1", + "@types/fs-extra": "^11.0.2", "@types/luxon": "^3.3.2", - "@types/node": "^20.5.7", - "@types/pako": "^2.0.0", - "@types/parse-git-config": "^3.0.1", - "@types/parse-path": "^7.0.0", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "@types/react-transition-group": "^4.4.6", - "@types/redux-logger": "^3.0.9", - "@types/redux-mock-store": "^1.0.3", - "@types/semver": "^7.5.0", + "@types/node": "^20.7.2", + "@types/pako": "^2.0.1", + "@types/react": "^18.2.23", + "@types/react-dom": "^18.2.8", "@types/sha1": "^1.1.3", - "@types/valid-url": "^1.0.4", - "@types/validator": "^13.11.1", - "@typescript-eslint/eslint-plugin": "^6.6.0", - "@typescript-eslint/parser": "^6.6.0", - "@vercel/webpack-asset-relocator-loader": "1.7.3", - "casual": "^1.6.2", - "css-loader": "^6.8.1", - "electron": "26.1.0", - "electron-devtools-installer": "^3.2.0", - "eslint": "^8.48.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jsdoc": "^46.6.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-testing-library": "^6.0.1", - "file-loader": "^6.2.0", - "fork-ts-checker-webpack-plugin": "^8.0.0", - "genversion": "^3.1.1", - "git-remote-protocol": "^0.1.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^29.6.4", - "jest-environment-jsdom": "^29.6.4", - "jest-esm-transformer": "^1.0.0", - "jest-serializer-path": "^0.1.15", - "node-loader": "^2.0.0", + "@vitejs/plugin-react": "^4.1.0", + "electron": "26.2.4", + "electron-vite": "^1.0.28", + "fs-extra": "^11.1.1", + "ignore": "^5.2.4", + "luxon": "^3.4.3", "pako": "^2.1.0", "prettier": "^3.0.3", - "redux-mock-store": "^1.5.4", - "style-loader": "^3.3.3", - "ts-jest": "^29.1.1", - "ts-loader": "^9.4.4", - "ts-node": "^10.9.1", - "typescript": "^5.1.6", - "unionfs": "^4.5.1", - "valid-url": "^1.0.9", - "validator": "^13.11.0", - "webpack": "^5.88.2" + "react": "^18.2.0", + "react-dom": "^18.2.0", + "rimraf": "^5.0.5", + "sha1": "^1.1.1", + "typescript": "^5.2.2", + "vite": "^4.4.9" }, "dependencies": { "@dnd-kit/core": "^6.0.8", "@dnd-kit/modifiers": "^6.0.1", "@dnd-kit/sortable": "^7.0.2", + "@electron-toolkit/preload": "^2.0.0", + "@electron-toolkit/utils": "^2.0.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.8", - "@mui/lab": "^5.0.0-alpha.142", - "@mui/material": "^5.14.6", - "@reduxjs/toolkit": "^1.9.5", - "binarnia": "^3.1.3", - "chokidar": "^3.5.3", - "clsx": "^2.0.0", - "dagre": "^0.8.5", - "diff": "^5.1.0", - "dot-prop": "8.0.2", - "electron-squirrel-startup": "^1.0.0", - "find-up": "^6.3.0", - "git-config-path": "^2.0.0", - "ignore": "^5.2.4", - "ini": "^4.1.1", - "isomorphic-git": "^1.24.5", - "luxon": "^3.4.3", - "parse-git-config": "^3.0.0", - "parse-path": "^7.0.0", - "parse-url": "^8.1.0", + "@mui/icons-material": "^5.14.11", + "@mui/material": "^5.14.11", + "@reduxjs/toolkit": "^1.9.6", "re-reselect": "^4.0.1", - "react": "^18.2.0", - "react-ace": "^10.1.0", - "react-dom": "^18.2.0", - "react-error-boundary": "^4.0.11", "react-redux": "^8.1.2", - "react-transition-group": "^4.4.5", - "react-use": "^17.4.0", - "reactflow": "^11.8.3", - "redux": "^4.2.1", - "redux-logger": "^3.0.6", - "redux-persist": "^6.0.0", - "reselect": "^4.1.8", - "semver": "^7.5.4", - "sha1": "^1.1.1", - "use-callback-ref": "^1.3.0" + "reselect": "^4.1.8" } } diff --git a/src/app.tsx b/src/app.tsx deleted file mode 100644 index ae1f4f6a5..000000000 --- a/src/app.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import { styled } from '@mui/material'; -import React, { useEffect } from 'react'; -import { createRoot } from 'react-dom/client'; -import { ErrorBoundary } from 'react-error-boundary'; -import { Provider } from 'react-redux'; -import { AppThemeProvider } from './components/AppTheme'; -import Canvas from './components/Canvas'; -import filetypesJson from './containers/filetypes.json'; -import type { Filetype } from './store/slices/filetypes'; -import redux from './store/store'; -import { importFiletypes } from './store/thunks/filetypes'; - -const Error = styled('div')(() => ({ - color: '#FF0000' -})); - -const App = () => { - useEffect(() => { - redux.store.dispatch(importFiletypes(filetypesJson as Omit[])); // load all supported filetype handlers into Redux store - }, []); // run the effect only once; after the first render - - return ( - - - 💥Canvas Error💥}> - - - - - ); -}; - -export default App; - -const container = document.getElementById('root'); -const root = createRoot(container!); // eslint-disable-line @typescript-eslint/no-non-null-assertion -root.render(); diff --git a/src/components/AppTheme.tsx b/src/components/AppTheme.tsx deleted file mode 100644 index af52c8173..000000000 --- a/src/components/AppTheme.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { CssBaseline, PaletteMode, ThemeProvider, createTheme } from '@mui/material'; -import { blue, grey } from '@mui/material/colors'; -import React, { PropsWithChildren, createContext } from 'react'; - -type ThemeContext = { mode: PaletteMode; toggleColorMode: () => void }; - -export const AppThemeContext = createContext({} as ThemeContext); - -export const AppThemeProvider = ({ children }: PropsWithChildren) => { - const [mode, setMode] = React.useState('dark'); - const toggleColorMode = () => { - setMode(prevMode => (prevMode === 'light' ? 'dark' : 'light')); - }; - - const theme = React.useMemo(() => createTheme(getDesignTokens(mode)), [mode]); - - return ( - - - - {children} - - - ); -}; - -const getDesignTokens = (mode: PaletteMode) => ({ - palette: { - mode, - ...(mode === 'light' - ? { - // palette values for light mode - primary: blue, - divider: 'rgb(171, 178, 191)', - text: { - primary: grey[900], - secondary: grey[800] - } - } - : { - // palette values for dark mode - primary: blue, - divider: 'rgb(171, 178, 191)', - background: { - default: 'rgb(56, 54, 57)', - paper: 'rgba(56, 54, 57, 0.95)' - }, - text: { - primary: '#fff', - secondary: 'rgba(255, 255, 255, 0.7)', - tertiary: 'rgba(0, 0, 0, 0.54)' - } - }) - }, - components: { - MuiCssBaseline: { - styleOverrides: { - body: { - margin: 0, - padding: 0 - } - } - } - }, - typography: { - fontFamily: [ - '-apple-system', - 'BlinkMacSystemFont', - '"Segoe UI"', - 'Roboto', - '"Helvetica Neue"', - 'Arial', - 'sans-serif', - '"Apple Color Emoji"', - '"Segoe UI Emoji"', - '"Segoe UI Symbol"' - ].join(',') - } -}); diff --git a/src/components/Browser/Browser.spec.tsx b/src/components/Browser/Browser.spec.tsx deleted file mode 100644 index a7b26d7db..000000000 --- a/src/components/Browser/Browser.spec.tsx +++ /dev/null @@ -1,78 +0,0 @@ -describe('Browser', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - - // it('Browser component is rendered', async () => { - // render(); - // expect(screen.getByPlaceholderText('URL')).toBeInTheDocument(); - // }); - - // it('Browser allows the user to enter/edit a URL', async () => { - // const user = userEvent.setup(); - // render(); - // const textBox = screen.getByRole('textbox'); - - // expect(textBox).toHaveValue('https://epiclab.github.io/'); - - // // Type URL into text box - // await user.clear(screen.getByRole('textbox')); - // await user.type(screen.getByRole('textbox'), 'https://google.com'); - - // // Hit Enter button - // fireEvent.keyDown(textBox, { key: 'Enter', keyCode: 'Enter', charCode: 13 }); - - // expect(textBox).toHaveValue('https://google.com'); - // }); - - // it('Browser allows the user to navigate backwards and forwards in history', async () => { - // const user = userEvent.setup(); - // render(); - // const textBox = screen.getByRole('textbox'); - // const backButton = screen.getAllByRole('button')[0]; - // const forwardButton = screen.getAllByRole('button')[1]; - - // expect(textBox).toHaveValue('https://epiclab.github.io/'); - // textBox.focus(); - - // // Type URL into text box - // await user.clear(screen.getByRole('textbox')); - // await user.type(screen.getByRole('textbox'), 'https://google.com'); - - // // Press Enter key - // fireEvent.keyDown(textBox, { key: 'Enter', keyCode: 'Enter', charCode: 13 }); - // expect(screen.getByRole('textbox')).toHaveValue('https://google.com'); - - // // Go back in history - // fireEvent.click(backButton); - // expect(textBox).toHaveValue('https://epiclab.github.io/'); - - // // Go forward in history - // fireEvent.click(forwardButton); - // expect(textBox).toHaveValue('https://google.com/'); - // }); - - // it('Browser does not change the page URL when the refresh button is clicked', async () => { - // const user = userEvent.setup(); - // render(); - // const textBox = screen.getByRole('textbox'); - // const refreshButton = screen.getAllByRole('button')[2]; - - // expect(textBox).toHaveValue('https://epiclab.github.io/'); - // fireEvent.click(refreshButton); - // expect(textBox).toHaveValue('https://epiclab.github.io/'); - - // textBox.focus(); - - // // Type URL into text box - // await user.clear(screen.getByRole('textbox')); - // await user.type(screen.getByRole('textbox'), 'https://google.com'); - - // // Press Enter key - // fireEvent.keyDown(textBox, { key: 'Enter', keyCode: 'Enter', charCode: 13 }); - - // expect(textBox).toHaveValue('https://google.com'); - // fireEvent.click(refreshButton); - // expect(textBox).toHaveValue('https://google.com'); - // }); -}); diff --git a/src/components/Browser/Browser.tsx b/src/components/Browser/Browser.tsx deleted file mode 100644 index 378b64fde..000000000 --- a/src/components/Browser/Browser.tsx +++ /dev/null @@ -1,81 +0,0 @@ - -import React, { useCallback, useEffect } from 'react'; -import { useHistory } from '../../containers/hooks/useHistory'; -import UrlBar from './UrlBar'; -import { UUID } from '../../store/types'; - -// const useStyles = makeStyles((theme) => ({ -// webviewContent: { -// background: (props: { mode: Mode }) => props.mode === 'dark' ? theme.palette.background.paper : 'rgba(40, 44, 52, 1)', -// borderRadius: '0px 0px 10px 10px', -// height: 'calc(100% - 42px)', -// width: '100%', -// overflow: 'hidden' -// } -// })); - -type Mode = 'light' | 'dark'; - -const Browser = ({ metafileId: id, mode = 'dark' }: { metafileId: UUID, mode?: Mode }) => { - // const styles = useStyles({ mode: mode }); - const { state, set, goBack, goForward, canGoBack, canGoForward } = useHistory(new URL('https://epiclab.github.io/')); - - const refresh = () => { - const webview: Electron.WebviewTag | null = document.querySelector(`[id="${id}-webview"]`); - webview?.reload(); - } - - const go = (url: URL) => { - if (state.present.href !== url.href) { - const webview: Electron.WebviewTag | null = document.querySelector(`[id="${id}-webview"]`); - webview?.loadURL(url.href); - set(url); - } - } - - const back = () => { - if (canGoBack) { - const url = state.past[state.past.length - 1] as URL; - goBack(); - const webview: Electron.WebviewTag | null = document.querySelector(`[id="${id}-webview"]`); - webview?.loadURL(url.href); - } - } - - const forward = () => { - if (canGoForward) { - const url = state.future[0] as URL; - goForward(); - const webview: Electron.WebviewTag | null = document.querySelector(`[id="${id}-webview"]`); - webview?.loadURL(url.href); - } - } - - const handleNavigationEvent = useCallback((event: Event & { url: string }) => { - if (state.present.href !== event.url) set(new URL(event.url)); - }, [set, state.present.href]); - - useEffect(() => { - const webview: Electron.WebviewTag | null = document.querySelector(`[id="${id}-webview"]`); - webview?.addEventListener('did-navigate', handleNavigationEvent); - return () => { - webview?.removeEventListener('did-navigate', handleNavigationEvent); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [id]); - - return ( - <> - -
- -
- - ); -} - -export default Browser; \ No newline at end of file diff --git a/src/components/Browser/BrowserReverse.tsx b/src/components/Browser/BrowserReverse.tsx deleted file mode 100644 index de82ba167..000000000 --- a/src/components/Browser/BrowserReverse.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React, { useState } from 'react'; -import { isDefined } from '../../containers/utils'; -import { useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { Card } from '../../store/slices/cards'; - -const BrowserReverse = (props: Card) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); - const [view] = useState('metadata'); - - return ( - <> -
-
-
- {view === 'metadata' && isDefined(metafile) ? information : undefined} -
- - ); -}; - -export default BrowserReverse; diff --git a/src/components/Browser/UrlBar.tsx b/src/components/Browser/UrlBar.tsx deleted file mode 100644 index 48e5a1d08..000000000 --- a/src/components/Browser/UrlBar.tsx +++ /dev/null @@ -1,145 +0,0 @@ -import React, { useState } from 'react'; -import { Box, IconButton, InputAdornment, Paper, TextField } from '@mui/material'; -import { ArrowBackIos, ArrowForwardIos, Refresh } from '@mui/icons-material'; - -type Mode = 'light' | 'dark'; - -// const useStyles = makeStyles((theme) => ({ -// topbar: { -// height: 39, -// position: 'relative', -// padding: '0px 0px 3px', -// display: 'flex', -// flexWrap: 'wrap', -// justifyContent: 'space-evenly', -// overflow: 'hidden' -// }, -// adornedEnd: { -// background: (props: { mode: Mode }) => props.mode === 'dark' ? theme.palette.background.paper : 'rgba(40, 44, 52, 1)', -// color: (props: { mode: Mode }) => props.mode === 'dark' ? theme.palette.text.primary : 'rgba(171, 178, 191, 1)', -// borderWidth: (props: { mode: Mode }) => props.mode === 'dark' ? 0 : 1, -// borderStyle: (props: { mode: Mode }) => props.mode === 'dark' ? 'none' : 'solid', -// borderColor: (props: { mode: Mode }) => props.mode === 'dark' ? theme.palette.primary.dark : 'rgba(171, 178, 191, 1)', -// }, -// adornedInput: { -// marginLeft: 0, -// paddingRight: 10 -// }, -// iconButton: { -// padding: 5, -// color: 'transparent', -// background: 'transparent', -// '&:hover': { -// color: (props: { mode: Mode }) => props.mode === 'dark' ? '#59575a' : '#ffffff', -// }, -// '&:disabled': { -// color: 'transparent' -// } -// }, -// leftPad: { -// position: 'absolute', -// alignSelf: 'center', - -// background: 'transparent', -// boxShadow: 'none', -// width: 25, -// height: '100%', -// '&:hover': { -// background: 'rgba(40, 44, 52, 0.1)' -// }, -// '&:disabled': { -// background: 'transparent' -// }, -// }, -// hoverPad: { -// position: 'absolute', -// alignSelf: 'center', -// background: 'transparent', -// boxShadow: 'none', -// width: 25, -// height: '100%', -// }, -// hoverPadLeft: { -// left: 0, -// borderRadius: '4px 14px 14px 4px', -// }, -// hoverPadRight: { -// right: 0, -// borderRadius: '14px 4px 4px 14px', -// }, -// backButton: { -// position: 'absolute', -// top: 5, -// left: -3, -// }, -// forwardButton: { -// position: 'absolute', -// top: 5, -// right: -8, -// } -// })); - -type UrlBarProps = { - url: URL, - go: (url: URL) => void, - refresh: () => void, - canGoBack: boolean, - back: () => void, - canGoForward: boolean, - forward: () => void, - mode?: Mode -} - -const UrlBar = ({ url, go, refresh, canGoBack, back, canGoForward, forward, mode = 'dark' }: UrlBarProps) => { - // const styles = useStyles({ mode: mode }); - const [input, setInput] = useState(url); - - - const enter = (event: React.KeyboardEvent) => { - console.log(mode); - if (event.key === 'Enter') { - event.preventDefault(); - go(input); - } - } - - return ( - - - - - - - }} - onKeyDown={enter} - onChange={e => setInput(new URL(e.target.value))} - /> - - - - - - - - - - ); -} - -export default UrlBar; \ No newline at end of file diff --git a/src/components/Browser/index.tsx b/src/components/Browser/index.tsx deleted file mode 100644 index 413b2df1a..000000000 --- a/src/components/Browser/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Browser'; \ No newline at end of file diff --git a/src/components/Canvas/Canvas.spec.tsx b/src/components/Canvas/Canvas.spec.tsx deleted file mode 100644 index 0f0337f8d..000000000 --- a/src/components/Canvas/Canvas.spec.tsx +++ /dev/null @@ -1,18 +0,0 @@ -describe('Canvas component', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const produceComponent = () => - // render( - // - // - // - // - // - // ); - - // it('renders the canvas component', () => { - // produceComponent(); - // expect(screen.getByTestId(/canvas-component/i)).toBeInTheDocument(); - // }); -}); diff --git a/src/components/Canvas/Canvas.tsx b/src/components/Canvas/Canvas.tsx deleted file mode 100644 index bf3bd6637..000000000 --- a/src/components/Canvas/Canvas.tsx +++ /dev/null @@ -1,210 +0,0 @@ -import { useDroppable } from '@dnd-kit/core'; -import { DarkMode, LightMode } from '@mui/icons-material'; -import { styled } from '@mui/material'; -import { DateTime } from 'luxon'; -import React, { PropsWithChildren, useContext } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; -import version from '../../../version'; -import { fileOpenDialog } from '../../containers/dialogs'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import cardSelectors from '../../store/selectors/cards'; -import commitSelectors from '../../store/selectors/commits'; -import filetypeSelectors from '../../store/selectors/filetypes'; -import metafileSelectors from '../../store/selectors/metafiles'; -import modalSelectors from '../../store/selectors/modals'; -import repoSelectors from '../../store/selectors/repos'; -import stackSelectors from '../../store/selectors/stacks'; -import { modalAdded } from '../../store/slices/modals'; -import { AppThemeContext } from '../AppTheme'; -import Card from '../Card'; -import DndCanvasContext from '../Dnd/DndCanvasContext'; -import GitGraphSelect from '../GitGraph/GitGraphSelect'; -import ModalComponent from '../Modal'; -import NavMenu, { NavItemProps } from '../NavMenu'; -import Stack from '../Stack'; - -const isMac = window.api.globals.platform === 'darwin'; - -const Canvas = ({ children }: PropsWithChildren) => { - const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); - const cards = useAppSelector(state => cardSelectors.selectAll(state)); - const stacks = useAppSelector(state => stackSelectors.selectAll(state)); - const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); - const modals = useAppSelector(state => modalSelectors.selectAll(state)); - const repos = useAppSelector(state => repoSelectors.selectAll(state)); - const branches = useAppSelector(state => branchSelectors.selectAll(state)); - const commits = useAppSelector(state => commitSelectors.selectAll(state)); - const dispatch = useAppDispatch(); - const { mode, toggleColorMode } = useContext(AppThemeContext); - const { isOver, setNodeRef } = useDroppable({ - id: 'Canvas', - data: { - type: 'canvas' - } - }); - - const fileMenu: NavItemProps[] = [ - { - label: 'New...', - click: () => - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'NewCardDialog' - }) - ) - }, - ...(isMac - ? [ - { - label: 'Open...', - click: () => dispatch(fileOpenDialog()) - } - ] - : [ - { - label: 'Open File...', - click: () => dispatch(fileOpenDialog({ properties: ['openFile', 'multiSelections'] })) - }, - { - label: 'Open Directory...', - click: () => - dispatch(fileOpenDialog({ properties: ['openDirectory', 'multiSelections'] })) - } - ]) - // { - // label: 'Notify...', - // click: () => window.api.notifications.sendNotification('My custom message!') - // }, - // { - // label: 'Context', - // click: async () => { - // console.log(`Executing in ${isRenderer()}`); - // const preloadContext = await window.api.context(); - // console.log(`Preload in ${preloadContext}`); - // } - // } - ]; - - const showStore = () => { - console.group( - `%cRedux Store : ${DateTime.local().toHTTP()}`, - 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' - ); - console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); - console.log(`CARDS [${Object.keys(cards).length}]`, cards); - console.log(`FILETYPES [${filetypes.length}]`, filetypes); - console.log(`METAFILES [${metafiles.length}]`, metafiles); - console.log(`REPOS [${repos.length}]`, repos); - console.log(`BRANCHES [${branches.length}]`, branches); - console.log(`COMMITS [${commits.length}]`, commits); - console.log(`MODALS [${modals.length}]`, modals); - console.groupEnd(); - }; - - const sysMenu: NavItemProps[] = [ - { label: 'View Datastore...', click: () => showStore() }, - { - label: mode === 'light' ? 'Dark mode' : 'Light mode', - icon: mode === 'light' ? : , - click: () => toggleColorMode() - } - ]; - - const helpMenu: NavItemProps[] = [ - { - label: 'Website...', - click: async () => { - window.api.openExternal('https://nomatic.dev/synectic'); - } - }, - { - label: 'Repository...', - click: async () => { - window.api.openExternal('https://github.com/EPICLab/synectic/'); - } - }, - { - label: 'Release Notes...', - click: async () => { - window.api.openExternal('https://github.com/EPICLab/synectic/releases'); - } - }, - { - label: 'View License...', - click: async () => { - window.api.openExternal( - 'https://github.com/EPICLab/synectic/blob/5ec51f6dc9dc857cae58c5253c3334c8f33a63c4/LICENSE' - ); - } - }, - { - label: 'Version', - click: () => - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - options: { message: `Synectic v${version}` } - }) - ) - } - ]; - - return ( - - - - - - - - 💥GitGraphSelect Error💥}> - - - - 💥Stack Error💥}> - {stacks.map(stack => ( - - ))} - - 💥Card Error💥}> - {cards.map(card => (card.captured ? null : ))} - - 💥Modal Error💥}> - {modals.map(modal => ( - - ))} - - {children} - - - - ); -}; - -const AppContainer = styled('div')(() => ({ - display: 'flex', - flexFlow: 'column', - height: '100vh' -})); - -const NavBar = styled('div')(({ theme }) => ({ - padding: 1, - backgroundColor: theme.palette.background.default, - color: theme.palette.text.secondary -})); - -const CanvasComponent = styled('div')<{ isOver: boolean }>(props => ({ - flex: 1, - background: `url(${require('../../assets/canvas.png')}) center/auto fixed`, - width: '100%', - color: props.isOver ? 'green' : undefined -})); - -const Error = styled('div')(() => ({ - color: '#FF0000' -})); - -export default Canvas; diff --git a/src/components/Canvas/index.tsx b/src/components/Canvas/index.tsx deleted file mode 100644 index dd22256d0..000000000 --- a/src/components/Canvas/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Canvas'; diff --git a/src/components/Card/ActionsMenu.tsx b/src/components/Card/ActionsMenu.tsx deleted file mode 100644 index 7859ea37f..000000000 --- a/src/components/Card/ActionsMenu.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { MoreVert } from '@mui/icons-material'; -import { IconButton, ListItemIcon, ListItemText, Menu, MenuItem, Tooltip } from '@mui/material'; -import React, { useState } from 'react'; - -export type Action = { - icon: JSX.Element; - name: string; - tooltip?: string; - disabled?: boolean; - onClick: () => void; -}; - -const ActionsMenu = ({ actions }: { actions: Action[] }) => { - const [anchorEl, setAnchorEl] = useState(null); - const open = Boolean(anchorEl); - const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; - - return ( - <> - - - - - {actions.map((action, index) => ( - - {action.icon} - {action.tooltip ? ( - - {action.name} - - ) : ( - {action.name} - )} - - ))} - - - ); -}; - -export default ActionsMenu; diff --git a/src/components/Card/BaseCard.tsx b/src/components/Card/BaseCard.tsx deleted file mode 100644 index 9629f494a..000000000 --- a/src/components/Card/BaseCard.tsx +++ /dev/null @@ -1,318 +0,0 @@ -import { DraggableAttributes, DraggableSyntheticListeners, UniqueIdentifier } from '@dnd-kit/core'; -import type { Transform } from '@dnd-kit/utilities'; -import { CSS } from '@dnd-kit/utilities'; -import { - Close, - ContentCopy, - Merge, - PlaylistAdd, - PlaylistRemove, - Save, - Undo -} from '@mui/icons-material'; -import { styled } from '@mui/material'; -import type { Property } from 'csstype'; -import React, { PropsWithChildren, forwardRef } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; -import { fileSaveDialog } from '../../containers/dialogs'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import cardSelectors from '../../store/selectors/cards'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { createCard, removeCard } from '../../store/thunks/cards'; -import { UUID } from '../../store/types'; -import Content from './Content'; -import MenuBar from './MenuBar'; -import { cardUpdated } from '../../store/slices/cards'; -import { - isFilebasedMetafile, - isVersionedMetafile, - isVirtualMetafile -} from '../../store/slices/metafiles'; -import repoSelectors from '../../store/selectors/repos'; -import { isDefined, isModified, isStaged, isUnmerged } from '../../containers/utils'; -import { modalAdded } from '../../store/slices/modals'; -import { - createMetafile, - revertChanges, - saveFile, - updateVersionedMetafile -} from '../../store/thunks/metafiles'; -import branchSelectors from '../../store/selectors/branches'; -import { GitCommit } from '../GitIcons'; - -const BaseCard = forwardRef>( - ({ id, children, ...props }, ref) => { - const card = useAppSelector(state => cardSelectors.selectById(state, id)); - const metafile = useAppSelector(state => - metafileSelectors.selectById(state, card?.metafile ?? '') - ); - const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); - const branch = useAppSelector(state => - branchSelectors.selectById(state, metafile?.branch ?? '') - ); - - const name = - isVersionedMetafile(metafile) && - isDefined(repo) && - window.api.fs.isEqualPaths(metafile.path, repo.root) - ? repo.name - : card - ? card.type === 'Explorer' - ? `${window.api.globals.sep}${card.name}` - : card.name - : ''; - const saveDisabled = - !isDefined(metafile) || metafile.handler !== 'Editor' || metafile.state !== 'modified'; - const stageDisabled = !( - isVersionedMetafile(metafile) && - metafile.handler === 'Editor' && - (isModified(metafile.status) || isUnmerged(metafile.status)) - ); - const commitDisabled = - !isDefined(branch) || - !isVersionedMetafile(metafile) || - !window.api.fs.isEqualPaths(branch.root, metafile.path) || - branch.status !== 'uncommitted'; - const dispatch = useAppDispatch(); - - const actions = [ - { - icon: , - name: 'Save', - disabled: saveDisabled, - onClick: () => - isFilebasedMetafile(metafile) - ? dispatch(saveFile({ id: metafile.id, filepath: metafile.path })) - : isVirtualMetafile(metafile) - ? dispatch(fileSaveDialog(metafile)) - : null - }, - { - icon: , - name: 'Undo', - tooltip: 'Undo changes made to the file content to match the current filesystem version', - disabled: - metafile?.handler !== 'Editor' || - !isVersionedMetafile(metafile) || - metafile.status === 'unmodified', - onClick: () => { - if (isVersionedMetafile(metafile)) dispatch(revertChanges(metafile)); - } - }, - { - icon: - isVersionedMetafile(metafile) && isStaged(metafile.status) ? ( - - ) : ( - - ), - name: isVersionedMetafile(metafile) && isStaged(metafile.status) ? 'Unstage' : 'Stage', - tooltip: - isVersionedMetafile(metafile) && isStaged(metafile.status) - ? 'Unstage changes to this file in VCS' - : 'Stage changes to this file in VCS', - disabled: stageDisabled, - onClick: async () => { - if (isVersionedMetafile(metafile)) { - if (isStaged(metafile.status)) { - await window.api.git.restore({ filepath: metafile.path, staged: true }); - } else { - await window.api.git.add(metafile.path); - } - - await dispatch(updateVersionedMetafile(metafile.id)); - } - } - }, - { - icon: , - name: 'Commit', - tooltip: 'Open dialog for committing into the branch associated with this file', - disabled: commitDisabled, - onClick: () => { - if (isVersionedMetafile(metafile)) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'CommitDialog', - repo: metafile.repo, - branch: metafile.branch - }) - ); - } - }, - { - icon: , - name: 'Merge', - tooltip: 'Open dialog for merging into the branch associated with this file', - disabled: !isVersionedMetafile(metafile) && branch?.status !== 'clean', - onClick: () => { - if (isVersionedMetafile(metafile)) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'MergeDialog', - repo: metafile.repo, - base: metafile.branch - }) - ); - } - }, - { - icon: , - name: 'Duplicate', - disabled: !isDefined(metafile), - onClick: async () => { - const duplicateMetafile = isDefined(metafile) - ? await dispatch(createMetafile({ metafile: metafile })).unwrap() - : undefined; - if (duplicateMetafile) await dispatch(createCard({ metafile: duplicateMetafile })); - } - }, - { - icon: , - name: 'Close', - onClick: () => (card ? dispatch(removeCard({ card: card.id })) : null) - } - ]; - - return ( - - - - - card ? dispatch(cardUpdated({ ...card, flipped: !card?.flipped })) : null - } - conflicts={metafile?.conflicts?.length} - {...props} - /> - 💥Content Error💥}> - - {children} - - - - - card ? dispatch(cardUpdated({ ...card, flipped: !card?.flipped })) : null - } - conflicts={metafile?.conflicts?.length ?? 0} - {...props} - /> - 💥ContentBack Error💥}> - - {children} - - - - - ); - } -); - -type OverlayProps = { - dragOverlay: true; - highlight?: boolean; - sortableIndex?: number | undefined; -}; - -type DraggableProps = { - dragOverlay?: false; - highlight?: boolean; - sortableIndex?: number | undefined; - dragging?: boolean; - transform: Transform | null; - transition: string | undefined; - attributes: DraggableAttributes; - listeners: DraggableSyntheticListeners; -}; - -type InternalProps = { - captured: UniqueIdentifier | undefined; - flipped: boolean; - x: number | undefined; - y: number | undefined; -}; - -export type Props = { id: UUID } & (OverlayProps | DraggableProps); -type StyledProps = (OverlayProps | DraggableProps) & InternalProps; - -const getBoxShadowStyle = (props: StyledProps): Property.BoxShadow | undefined => { - if (props.highlight) return '0 0 3pt 1pt rgba(102, 204, 117, 0.75)'; - if (props.dragOverlay) return '0 35px 70px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22)'; - if (props.captured) return undefined; - return '0 7px 14px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22)'; -}; - -const CardComponent = styled('div')(props => ({ - background: 'transparent', - color: props.theme.palette.divider, - height: 350, - width: 250, - marginTop: props.sortableIndex === undefined ? undefined : props.sortableIndex * 15, - marginLeft: props.sortableIndex === undefined ? undefined : (props.sortableIndex + 1) * 15, - borderRadius: 10, - position: props.captured ? 'absolute' : 'fixed', - transform: props.dragOverlay ? undefined : CSS.Translate.toString(props.transform), - transition: props.dragOverlay ? undefined : props.transition, - perspective: 1000, - zIndex: 1, - left: props.dragOverlay || props.captured ? undefined : props.x, - top: props.dragOverlay || props.captured ? undefined : props.y, - visibility: !props.dragOverlay && props.dragging ? 'hidden' : 'unset' -})); - -const FlipAnimation = styled('div')(props => ({ - position: 'relative', - background: - props.theme.palette.mode === 'light' ? props.theme.palette.background.paper : 'rgb(89, 87, 90)', - border: '1px solid rgb(171, 178, 191)', - height: '100%', - width: '100%', - boxShadow: props.flipped ? 'unset' : getBoxShadowStyle(props), - borderRadius: 10, - transition: 'transform 0.8s', - transformStyle: 'preserve-3d', - transform: props.flipped ? 'rotateY(180deg)' : 'none' -})); - -const FlipFront = styled('div')(() => ({ - position: 'absolute', - height: '100%', - width: '100%', - borderRadius: 10, - backfaceVisibility: 'hidden' -})); - -const FlipBack = styled('div')(() => ({ - position: 'absolute', - height: '100%', - width: '100%', - borderRadius: 10, - backfaceVisibility: 'hidden', - transform: 'rotateY(180deg)' -})); - -const Error = styled('div')(() => ({ - color: '#FF0000' -})); - -export default BaseCard; diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx deleted file mode 100644 index c14c17c32..000000000 --- a/src/components/Card/Card.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { useSortable } from '@dnd-kit/sortable'; -import React, { PropsWithChildren } from 'react'; -import { UUID } from '../../store/types'; -import BaseCard from './BaseCard'; - -const Card = ({ - id, - sortableIndex, - children -}: PropsWithChildren<{ - id: UUID; - sortableIndex?: number; -}>) => { - const accepts = ['card']; - const { attributes, listeners, setNodeRef, transform, transition, isDragging, isOver, active } = - useSortable({ - id: id, - data: { type: 'card', accepts } - }); - - return ( - - {children} - - ); -}; - -export default Card; diff --git a/src/components/Card/Content.tsx b/src/components/Card/Content.tsx deleted file mode 100644 index d70f51fb4..000000000 --- a/src/components/Card/Content.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import { LinearProgress, styled } from '@mui/material'; -import React from 'react'; -import { useAppSelector } from '../../store/hooks'; -import cardSelectors from '../../store/selectors/cards'; -import { Card } from '../../store/slices/cards'; -import { UUID } from '../../store/types'; -import Editor from '../Editor'; -import Explorer from '../Explorer'; -import Diff from '../Diff'; -import EditorReverse from '../Editor/EditorReverse'; -import ExplorerReverse from '../Explorer/ExplorerReverse'; -import DiffReverse from '../Diff/DiffReverse'; - -const Content = ({ reverse = false, id }: { reverse?: boolean; id: UUID }) => { - const card = useAppSelector(state => cardSelectors.selectById(state, id)); - - return ( - <> - {card?.loading !== undefined ? ( - - ) : null} - - {reverse ? getCardTypeReverseContent(card) : getCardTypeContent(card)} - - - ); -}; - -const getCardTypeContent = (card: Card | undefined) => { - switch (card?.type) { - case 'Diff': - return ; - case 'Editor': - return ; - case 'Explorer': - return ; - default: - return null; - } -}; - -const getCardTypeReverseContent = (card: Card | undefined) => { - switch (card?.type) { - case 'Diff': - return ; - case 'Editor': - return ; - case 'Explorer': - return ; - default: - return null; - } -}; - -const ContentComponent = styled('div', { shouldForwardProp: prop => prop !== 'loading' })<{ - loading: boolean; -}>(loading => ({ - height: loading ? 'calc(100% - 44px)' : 'calc(100% - 40px)', - borderRadius: '0 0 10px 10px' -})); - -export default Content; diff --git a/src/components/Card/MenuBar.tsx b/src/components/Card/MenuBar.tsx deleted file mode 100644 index caa680846..000000000 --- a/src/components/Card/MenuBar.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core'; -import { Badge, Stack, Tooltip, Typography, styled } from '@mui/material'; -import React from 'react'; -import Handle from '../Handle'; -import ActionsMenu, { Action } from './ActionsMenu'; - -const MenuBar = (props: Props) => { - return ( - - 0 ? 'rgb(255, 99, 71)' : 'rgb(25, 118, 210)' - }} - > - {!props.dragOverlay ? ( - - ) : ( - - )} - - - {props.name} - - - - - - ); -}; - -type OverlayProps = { - dragOverlay: true; - highlight?: boolean; - onClick?: React.MouseEventHandler | undefined; -}; - -type DraggableProps = { - dragOverlay?: false; - attributes: DraggableAttributes; - listeners: DraggableSyntheticListeners; - onClick?: React.MouseEventHandler | undefined; -}; - -export type Props = { - name: string; - tooltip?: string; - actions: Action[]; - conflicts?: number | undefined; -} & (OverlayProps | DraggableProps); - -const StackBar = styled(Stack)(() => ({ - borderRadius: '10px 10px 0 0', - color: 'rgba(0, 0, 0, 0.54)', - width: 248 -})); - -export default MenuBar; diff --git a/src/components/Card/ReverseItem.tsx b/src/components/Card/ReverseItem.tsx deleted file mode 100644 index 5e6ce8121..000000000 --- a/src/components/Card/ReverseItem.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { - ListItem, - ListItemButton, - ListItemIcon, - ListItemText, - Menu, - MenuItem, - Tooltip -} from '@mui/material'; -import React from 'react'; -import { Action } from './ActionsMenu'; - -type ItemProps = { - icon: JSX.Element; - name: string; - tooltip?: string; - onClick: () => void; -}; - -type MenuProps = { - icon: JSX.Element; - name: string; - tooltip?: string; - actionPrompt: string; - actions: Action[]; -}; - -export const ReverseListItem = (props: ItemProps) => { - return ( - - - {props.tooltip ? ( - - {props.icon} - - ) : ( - {props.icon} - )} - - - - ); -}; - -export const ReverseListMenu = (props: MenuProps) => { - const [anchorEl, setAnchorEl] = React.useState(null); - const open = Boolean(anchorEl); - const handleClick = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; - - return ( - - - {props.tooltip ? ( - - {props.icon} - - ) : ( - {props.icon} - )} - - - - - {props.actionPrompt} - - {props.actions.map((action, index) => ( - - {action.icon} - {action.name} - - ))} - - - ); -}; diff --git a/src/components/Card/index.tsx b/src/components/Card/index.tsx deleted file mode 100644 index 3ea1a8cda..000000000 --- a/src/components/Card/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { default } from './Card'; -export { default as BaseCard } from './BaseCard'; diff --git a/src/components/Diff/Diff.tsx b/src/components/Diff/Diff.tsx deleted file mode 100644 index 54b6b0399..000000000 --- a/src/components/Diff/Diff.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import 'ace-builds'; -import AceEditor, { IAceEditorProps, IMarker } from 'react-ace'; -import 'ace-builds/src-noconflict/theme-github'; -import 'ace-builds/src-noconflict/ext-searchbox'; -import 'ace-builds/src-noconflict/ext-beautify'; -import 'ace-builds/webpack-resolver'; // resolver for dynamically loading modes, requires webpack file-loader module - -import { diff } from '../../containers/diff'; -import { useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import cardSelectors from '../../store/selectors/cards'; -import { removeNullableProperties } from '../../containers/utils'; -import { UUID } from '../../store/types'; -import { isDiffMetafile } from '../../store/slices/metafiles'; -import '../Editor/EditorStyles.css'; - -const extractMarkers = (diffOutput: string): IMarker[] => { - const markers: IMarker[] = []; - diffOutput.split(/\n/g).map((code, line) => { - if (code.startsWith('+')) { - markers.push({ - startRow: line, - startCol: 5, - endRow: line, - endCol: code.length, - className: 'ace_highlight_green', - type: 'fullLine' - }); - } else if (code.startsWith('-')) { - markers.push({ - startRow: line, - startCol: 5, - endRow: line, - endCol: code.length, - className: 'ace_highlight_red', - type: 'fullLine' - }); - } - }); - return markers; -}; - -const Diff = ({ metafileId: id }: { metafileId: UUID }) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); - const originalCard = useAppSelector(state => - cardSelectors.selectById( - state, - isDiffMetafile(metafile) && metafile.targets[0] ? metafile.targets[0] : '' - ) - ); - const original = useAppSelector(state => - metafileSelectors.selectById(state, originalCard ? originalCard.metafile : '') - ); - const updatedCard = useAppSelector(state => - cardSelectors.selectById( - state, - isDiffMetafile(metafile) && metafile.targets[1] ? metafile.targets[1] : '' - ) - ); - const updated = useAppSelector(state => - metafileSelectors.selectById(state, updatedCard ? updatedCard.metafile : '') - ); - - const [diffOutput, setDiffOutput] = useState( - diff(original?.content ? original.content : '', updated?.content ? updated.content : '') - ); - const [markers, setMarkers] = useState(extractMarkers(diffOutput)); - - useEffect(() => { - setDiffOutput( - diff(original?.content ? original.content : '', updated?.content ? updated.content : '') - ); - }, [original, updated]); - - useEffect(() => { - setMarkers(extractMarkers(diffOutput)); - }, [diffOutput]); - - const mode = removeNullableProperties({ mode: original?.filetype?.toLowerCase() }); - - return ( - - ); -}; - -const editorProps: IAceEditorProps = { - className: 'editor', - theme: 'monokai', - height: '100%', - width: '100%', - focus: false, - setOptions: { - useWorker: false, - selectionStyle: 'text', - autoScrollEditorIntoView: true, - hScrollBarAlwaysVisible: false, - vScrollBarAlwaysVisible: false - } -}; - -export default Diff; diff --git a/src/components/Diff/DiffReverse.tsx b/src/components/Diff/DiffReverse.tsx deleted file mode 100644 index e628ffd07..000000000 --- a/src/components/Diff/DiffReverse.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { Card } from '../../store/slices/cards'; -import { Badge, List } from '@mui/material'; -import { ReverseListItem } from '../Card/ReverseItem'; -import { Source } from '@mui/icons-material'; -import cardSelectors from '../../store/selectors/cards'; -import { modalAdded } from '../../store/slices/modals'; - -const DiffReverse = (props: Card) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); - const targetCards = useAppSelector(state => - cardSelectors.selectByIds(state, metafile?.targets ?? []) - ); - const targetMetafiles = useAppSelector(state => - metafileSelectors.selectByIds( - state, - targetCards.map(c => c.metafile) - ) - ); - const dispatch = useAppDispatch(); - - const copyToClipboard = (text: string) => { - window.api.clipboard.writeText(text); - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - options: { - message: `'${text}' copied to clipboard` - } - }) - ); - }; - - return ( - - {targetMetafiles.map((metafile, idx) => ( - - - - } - name={metafile?.path ?? ''} - tooltip="Filepath" - onClick={() => copyToClipboard(metafile?.path ?? '')} - /> - ))} - - ); -}; - -export default DiffReverse; diff --git a/src/components/Diff/index.tsx b/src/components/Diff/index.tsx deleted file mode 100644 index 75db57e2d..000000000 --- a/src/components/Diff/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Diff'; \ No newline at end of file diff --git a/src/components/Dnd/DndCanvasContext.tsx b/src/components/Dnd/DndCanvasContext.tsx deleted file mode 100644 index 34d0f36fd..000000000 --- a/src/components/Dnd/DndCanvasContext.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import React, { PropsWithChildren } from 'react'; -import { DndContext, DragEndEvent, MouseSensor, useSensor, useSensors } from '@dnd-kit/core'; -import { restrictToParentElement } from '@dnd-kit/modifiers'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import { cardUpdated } from '../../store/slices/cards'; -import cardSelectors from '../../store/selectors/cards'; -import { stackUpdated } from '../../store/slices/stacks'; -import stackSelectors from '../../store/selectors/stacks'; -import { createStack, pushCards, removeStack } from '../../store/thunks/stacks'; -import DraggableOverlay from './DraggableOverlay'; - -const DndCanvasContext = ({ children }: PropsWithChildren) => { - const cards = useAppSelector(state => cardSelectors.selectEntities(state)); - const stacks = useAppSelector(state => stackSelectors.selectEntities(state)); - const dispatch = useAppDispatch(); - const mouseSensor = useSensor(MouseSensor, { - activationConstraint: { - distance: 10 - } - }); - - const sensors = useSensors(mouseSensor); - - const handleDragEnd = ({ active, delta, over }: DragEndEvent) => { - if (active.data.current?.type === 'stack') { - const draggedStack = stacks[active.id]; - - // Move Stack to updated coordinates - if (draggedStack) { - dispatch( - stackUpdated({ - ...draggedStack, - x: draggedStack.x + delta.x, - y: draggedStack.y + delta.y - }) - ); - } - - const dropStack = over ? stacks[over.id] : undefined; - - // Merge Stack into Stack - if ( - draggedStack && - dropStack && - draggedStack.id !== dropStack.id && - over?.data.current?.accepts?.includes(active.data.current?.type) - ) { - const cards = draggedStack.cards; - dispatch( - removeStack({ - stack: draggedStack.id - }) - ); - dispatch( - pushCards({ - stack: dropStack.id, - cards: [...cards] - }) - ); - } - } - - if (active.data.current?.type === 'card') { - const draggedCard = cards[active.id]; - - // Move Card to updated coordinates - if (draggedCard) { - dispatch( - cardUpdated({ - ...draggedCard, - x: draggedCard.x + delta.x, - y: draggedCard.y + delta.y - }) - ); - } - - const dropCard = over ? cards[over.id] : undefined; - const dropStack = over ? stacks[over.id] : undefined; - - // Push Card into Stack - if ( - draggedCard && - dropStack && - over?.data.current?.accepts?.includes(active.data.current?.type) - ) { - dispatch(pushCards({ stack: dropStack.id, cards: [draggedCard.id] })); - } - - // Create new Stack with Cards dropped together - if ( - draggedCard && - dropCard && - draggedCard.id !== dropCard.id && - over?.data.current?.accepts?.includes(active.data.current?.type) - ) { - dispatch( - createStack({ - name: 'Stack', - cards: [draggedCard.id, dropCard.id], - x: over.rect.left - 10, - y: over.rect.top - 10 - }) - ); - } - } - }; - - return ( - - {children} - - - ); -}; - -export default DndCanvasContext; diff --git a/src/components/Dnd/DndStackContext.tsx b/src/components/Dnd/DndStackContext.tsx deleted file mode 100644 index 63537cf48..000000000 --- a/src/components/Dnd/DndStackContext.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { ClientRect, DndContext, DragEndEvent, closestCenter } from '@dnd-kit/core'; -import { restrictToWindowEdges } from '@dnd-kit/modifiers'; -import React, { ForwardedRef, PropsWithChildren, forwardRef } from 'react'; -import DraggableOverlay from './DraggableOverlay'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import { UUID } from '../../store/types'; -import stackSelectors from '../../store/selectors/stacks'; -import { popCard } from '../../store/thunks/stacks'; -import { arrayMove } from '@dnd-kit/sortable'; -import { stackUpdated } from '../../store/slices/stacks'; - -const DndStackContext = forwardRef>( - ({ id, children }, ref) => { - const stack = useAppSelector(state => stackSelectors.selectById(state, id)); - const dispatch = useAppDispatch(); - - const handleDragEnd = (event: DragEndEvent) => { - if (!stack) return; - const { active, over } = event; - const withinStack = pointerWithin(active.rect.current.translated, ref); - - // Pop Card from Stack - if (!withinStack) { - dispatch( - popCard({ - stack: stack.id, - card: active.id, - x: active.rect.current.translated?.left ?? 0, - y: active.rect.current.translated?.top ?? 0 - }) - ); - } else if (active.id !== over?.id) { - const oldIndex = stack.cards.indexOf(active.id); - const newIndex = over ? stack.cards.indexOf(over.id) : undefined; - - // Reorder Cards within Stack - if (newIndex !== undefined) { - const newCardsArray = arrayMove(stack.cards, oldIndex, newIndex); - dispatch( - stackUpdated({ - ...stack, - cards: newCardsArray - }) - ); - } - } - console.groupEnd(); - }; - - return ( - - {children} - - - ); - } -); - -const pointerWithin = (rect: ClientRect | null, ref: ForwardedRef): boolean => { - if (typeof ref === 'function') { - throw new Error('Only React Refs that are created with `createRef` or `useRef` are supported'); - } - if (!rect || ref === null || !ref.current) return true; - const x = rect.left + rect.width / 2; - const y = rect.top + rect.height / 2; - const left = ref.current.offsetLeft; - const right = left + ref.current.offsetWidth; - const top = ref.current.offsetTop; - const bottom = top + ref.current.offsetHeight; - return left < x && x < right && top < y && y < bottom; -}; - -export default DndStackContext; diff --git a/src/components/Dnd/DraggableOverlay.tsx b/src/components/Dnd/DraggableOverlay.tsx deleted file mode 100644 index b8a3ed4b1..000000000 --- a/src/components/Dnd/DraggableOverlay.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { DragOverlay, useDndContext } from '@dnd-kit/core'; -import React from 'react'; -import { BaseCard } from '../Card'; -import { BaseStack } from '../Stack'; - -const DraggableOverlay = () => { - const { active } = useDndContext(); - - return ( - - {active?.data.current?.type === 'card' ? : null} - {active?.data.current?.type === 'stack' ? : null} - - ); -}; - -export default DraggableOverlay; diff --git a/src/components/Editor/Editor.spec.tsx b/src/components/Editor/Editor.spec.tsx deleted file mode 100644 index 00118e546..000000000 --- a/src/components/Editor/Editor.spec.tsx +++ /dev/null @@ -1,74 +0,0 @@ -// const metafile: FileMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.ts', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Typescript', -// flags: [], -// path: 'foo/example.ts', -// state: 'unmodified', -// content: 'const rand = Math.floor(Math.random() * 6) + 1;', -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf() -// // repo: '23', -// // branch: '503', -// // status: 'unmodified', -// // conflicts: [] -// }; - -describe('Editor component', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(metafileAdded(metafile)); - // const instance = await mock({ - // foo: { - // 'example.ts': 'const rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('Editor renders in the DOM', async () => { - // render( - // - // - // - // ); - - // // using DOM selector method instead of RTL - // // eslint-disable-next-line testing-library/no-node-access - // const editor = document.querySelector(`.ace_editor`); - // expect(editor).toBeInTheDocument(); - // }); - - // it('Editor tracks content updates', () => { - // render( - // - // - // - // ); - // const textBox = screen.queryByRole('textbox'); - // expect(textBox).toHaveValue(''); - - // // update the content of the editor - // if (textBox) { - // fireEvent.focus(textBox); - // fireEvent.change(textBox, { target: { value: 'var foo = 5;' } }); - // } - - // expect(screen.queryByRole('textbox')).toHaveValue('var foo = 5;'); - // }); -}); diff --git a/src/components/Editor/Editor.tsx b/src/components/Editor/Editor.tsx deleted file mode 100644 index 3bf8dd924..000000000 --- a/src/components/Editor/Editor.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import 'ace-builds'; -import AceEditor, { IAceEditorProps } from 'react-ace'; -/* webpack-resolver incorrectly resolves basePath for file-loader unless at least one mode has already been loaded, -thus the following javascript mode file is loaded to fix this bug */ -import 'ace-builds/src-noconflict/mode-javascript'; -import 'ace-builds/src-noconflict/theme-monokai'; -import 'ace-builds/src-noconflict/ext-searchbox'; -import 'ace-builds/src-noconflict/ext-beautify'; -import 'ace-builds/webpack-resolver'; // resolver for dynamically loading modes, requires webpack file-loader module -import metafileSelectors from '../../store/selectors/metafiles'; -import { Metafile, metafileUpdated } from '../../store/slices/metafiles'; -import { - // getConflictingChunks, - getRandomInt, - isDefined, - removeNullableProperties -} from '../../containers/utils'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import { UUID } from '../../store/types'; -import './EditorStyles.css'; -import { Skeleton } from '@mui/material'; - -/** - * React Component to display an interactive editor for the content of a specific file. Virtual files can be - * loaded into this component. - * @param props - Prop object for editable content in a specific file. - * @param props.id - The UUID for the metafile used to represent the contents of this component. - * @param props.expanded - An optional toggle for enabling fullscreen mode in the editor; defaults to false. - * @returns {React.Component} A React function component. - */ -const Editor = ({ id, expanded = false }: { id: UUID; expanded?: boolean }) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); - const [editorRef] = useState(React.createRef()); - const mode = removeNullableProperties({ mode: metafile?.filetype?.toLowerCase() }); - const skeletonWidth = getRandomInt(55, 90); - const dispatch = useAppDispatch(); - - // AceEditor instance requires resizing when card is expanded - useEffect(() => editorRef.current?.editor.resize(), [editorRef, expanded]); - - const onChange = async (newCode: string | undefined) => { - // const conflicts = getConflictingChunks(newCode ?? ''); - - if (metafile) { - dispatch( - metafileUpdated({ - ...metafile, - content: newCode ?? '', - state: newCode !== metafile.content ? 'modified' : 'unmodified' - // conflicts: conflicts - }) - ); - } - }; - - return ( - <> - {isEditorMetafile(metafile) ? ( - - ) : ( - - )} - - ); -}; - -const editorProps: IAceEditorProps = { - className: 'editor', - theme: 'monokai', - height: '100%', - width: '100%', - focus: false, - setOptions: { - useWorker: false, - selectionStyle: 'text', - autoScrollEditorIntoView: true, - hScrollBarAlwaysVisible: false, - vScrollBarAlwaysVisible: false - } -}; - -const isEditorMetafile = (metafile: Metafile | undefined): metafile is Metafile => { - return isDefined(metafile) && metafile.filetype !== 'Directory' && metafile.content !== undefined; -}; - -export default Editor; diff --git a/src/components/Editor/EditorReverse.tsx b/src/components/Editor/EditorReverse.tsx deleted file mode 100644 index 3146109f6..000000000 --- a/src/components/Editor/EditorReverse.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { AccessTime, Source } from '@mui/icons-material'; -import { List } from '@mui/material'; -import { DateTime } from 'luxon'; -import React from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import metafileSelectors from '../../store/selectors/metafiles'; -import repoSelectors from '../../store/selectors/repos'; -import { Card, cardUpdated } from '../../store/slices/cards'; -import { Action } from '../Card/ActionsMenu'; -import { ReverseListItem, ReverseListMenu } from '../Card/ReverseItem'; -import { GitBranch, GitRepo } from '../GitIcons'; -import { modalAdded } from '../../store/slices/modals'; -import { switchBranch } from '../../store/thunks/metafiles'; -import { UUID } from '../../store/types'; - -const EditorReverse = (props: Card) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); - const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); - const branch = useAppSelector(state => branchSelectors.selectById(state, metafile?.branch ?? '')); - const branches = useAppSelector(state => - branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) - ); - const dispatch = useAppDispatch(); - - const copyToClipboard = (text: string) => { - window.api.clipboard.writeText(text); - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - options: { - message: `'${text}' copied to clipboard` - } - }) - ); - }; - - const checkout = async (branch: UUID, ref: string) => { - if (metafile?.branch === branch) { - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - options: { message: `Card already set to branch '${ref}'` } - }) - ); - } - if (metafile && repo) { - const updated = await dispatch(switchBranch({ id: metafile?.id, ref: ref })).unwrap(); - if (updated) { - dispatch( - cardUpdated({ - ...props, - name: updated.name, - modified: updated.modified, - metafile: updated.id - }) - ); - } - } else { - console.log(`checkout failed: ${ref}`, { metafile, repo }); - } - }; - - const actions: Action[] = branches.map(branch => ({ - icon: , - name: `${branch.scope}/${branch.ref}`, - onClick: () => checkout(branch.id, branch.ref) - })); - - return ( - <> - - } - name={ - metafile - ? DateTime.fromMillis(metafile.modified).toLocaleString(DateTime.DATETIME_SHORT) - : '' - } - tooltip="Last Modified" - onClick={() => null} - /> - } - name={metafile?.path ?? ''} - tooltip="Filepath" - onClick={() => copyToClipboard(metafile?.path ?? '')} - /> - } - name={repo?.name ?? 'No Repository'} - tooltip="Repository" - onClick={async () => { - window.api.openExternal(repo?.url ?? ''); - }} - /> - } - name={branch?.ref ?? 'No Branch'} - tooltip="Branch" - actionPrompt="Switch to..." - actions={actions} - /> - - - ); -}; - -export default EditorReverse; diff --git a/src/components/Editor/EditorStyles.css b/src/components/Editor/EditorStyles.css deleted file mode 100644 index 19c131246..000000000 --- a/src/components/Editor/EditorStyles.css +++ /dev/null @@ -1,48 +0,0 @@ -.editor { - border-radius: 0 0 10px 10px; -} - -.ace_content { - height: 100%; - width: 100%; -} - -/* removes scrollbars from Ace Editor panes until hovered */ -.ace_scrollbar { - transition: opacity 0.3s ease-in-out; - opacity: 0; -} -.ace_editor:hover .ace_scrollbar { - opacity: 1; -} - -/* Styled scrollbars in Ace Editor pane, adapted from: https://stackoverflow.com/a/73570055 */ -.ace_scrollbar::-webkit-scrollbar { - height: 7px; - width: 7px; -} -.ace_scrollbar::-webkit-scrollbar-track { - box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - background-color: #272822; /* Matches ace monokai */ - border-radius: 10px; -} -.ace_scrollbar::-webkit-scrollbar-thumb { - background-color: darkgrey; - outline: 1px solid slategrey; - border-radius: 10px; -} - -.ace_highlight_green { - position: absolute; - background: rgb(57, 70, 52); - /* background: rgba(147, 200, 54, 0.8); */ - z-index: 20; -} - -.ace_highlight_red { - position: absolute; - background: rgb(85, 57, 61); - /* background: rgba(221, 88, 115, 0.8); */ - z-index: 20; -} diff --git a/src/components/Editor/index.tsx b/src/components/Editor/index.tsx deleted file mode 100644 index 6549ffbde..000000000 --- a/src/components/Editor/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Editor'; \ No newline at end of file diff --git a/src/components/Explorer/Directory.spec.tsx b/src/components/Explorer/Directory.spec.tsx deleted file mode 100644 index 5eb5e8b31..000000000 --- a/src/components/Explorer/Directory.spec.tsx +++ /dev/null @@ -1,135 +0,0 @@ -// const mockedMetafile1: FileMetafile = { -// id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', -// name: 'bar.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/bar.js', -// state: 'unmodified', -// content: 'file contents', -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf() -// }; - -// const mockedMetafile2: FileMetafile = { -// id: 'a5a6806b-f7e1-4f13-bca1-b1440ecd4431', -// name: 'tap.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'zap/tap.js', -// state: 'unmodified', -// content: 'new content', -// mtime: DateTime.fromISO('2020-02-13T11:23:05.276-08:00').valueOf() -// }; - -// const unhydratedDirectory: FilebasedMetafile = { -// id: 'b859d4e8-b932-4fc7-a2f7-29a8ef8cd8f8', -// name: 'foo', -// modified: DateTime.fromISO('2021-01-31T11:24:54.527-08:00').valueOf(), -// handler: 'Explorer', -// filetype: 'Directory', -// flags: [], -// path: 'foo', -// state: 'unmodified', -// mtime: 0 -// }; - -// const hydratedDirectory: DirectoryMetafile = { -// id: '764bc7ac-deb1-48b4-ac24-a026e70f53ec', -// name: 'zap', -// modified: DateTime.fromISO('2021-01-31T11:24:54.527-08:00').valueOf(), -// handler: 'Explorer', -// filetype: 'Directory', -// flags: [], -// path: 'zap', -// state: 'unmodified', -// contains: ['a5a6806b-f7e1-4f13-bca1-b1440ecd4431'], -// mtime: DateTime.fromISO('2021-05-19T11:53:41.276-08:00').valueOf() -// }; - -describe('Directory', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(metafileAdded(mockedMetafile1)); - // store.dispatch(metafileAdded(mockedMetafile2)); - // store.dispatch(metafileAdded(unhydratedDirectory)); - // store.dispatch(metafileAdded(hydratedDirectory)); - // const instance = await mock({ - // 'foo/bar.js': file({ content: 'file contents', mtime: new Date(1) }), - // 'zap/tap.js': file({ content: 'new content', mtime: new Date(1) }) - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // afterEach(() => { - // cleanup; - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('Directory initially renders with loading indicator', () => { - // expect.assertions(2); - // render( - // - // - // {' '} - // - // - // ); - // expect(screen.getByLabelText(/loading/i)).toBeInTheDocument(); - // expect(screen.queryByText('foo')).not.toBeInTheDocument(); - // }); - - // it('Directory eventually renders without expanding to display children', async () => { - // expect.assertions(3); - // render( - // - // - // {' '} - // - // - // ); - // await expect(screen.findByRole('treeitem')).resolves.toBeInTheDocument(); - // await expect(screen.findByText('zap')).resolves.toBeInTheDocument(); - // return expect(screen.queryByText('tap.js')).not.toBeInTheDocument(); - // }); - - // it('Directory expands to display child files and directories', async () => { - // expect.assertions(5); - // jest.spyOn(metafileThunks, 'updateVersionedMetafile').mockImplementation( - // createAppAsyncThunk( - // 'metafiles/updateVersionedMetafile', - // async id => { - // return store.getState().metafiles.entities[id] as FilebasedMetafile; - // } - // ) - // ); - // render( - // - // - // - // - // - // ); - // await expect(screen.findByRole('tree')).resolves.toBeInTheDocument(); - // await expect(screen.findByText('zap')).resolves.toBeInTheDocument(); - // expect(screen.queryByText('tap.js')).not.toBeInTheDocument(); - - // const parent = await screen.findByText('zap'); - // expect(parent).toBeInTheDocument(); - - // fireEvent.click(parent); - - // const child = await screen.findByText('tap.js'); - // expect(child).toBeInTheDocument(); - // }); -}); diff --git a/src/components/Explorer/Directory.tsx b/src/components/Explorer/Directory.tsx deleted file mode 100644 index 4ef5723d3..000000000 --- a/src/components/Explorer/Directory.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import React from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { UUID } from '../../store/types'; -import { Skeleton } from '@mui/material'; -import { isDirectoryMetafile } from '../../store/slices/metafiles'; -import { StyledTreeItem } from './TreeItem'; -import { useFilebasedMotif } from '../../containers/hooks/useMotif'; -import { getRandomInt } from '../../containers/utils'; -import File from './File'; -import { updateDirectoryMetafile } from '../../store/thunks/metafiles'; -import { StageButton, UnstageButton } from './GitButtons'; - -const Directory = ({ id, expanded }: { id: UUID; expanded: string[] }) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); - const isExpanded = expanded.includes(id.toString()); - const directories = useAppSelector(state => - metafileSelectors.selectDirectories(state, metafile?.contains ?? []) - ); - const files = useAppSelector(state => - metafileSelectors.selectFiles(state, metafile?.contains ?? []) - ); - const motif = useFilebasedMotif(metafile); - const dispatch = useAppDispatch(); - - const clickHandle = async () => { - if (!isExpanded && isDirectoryMetafile(metafile)) - await dispatch(updateDirectoryMetafile({ id: metafile.id })); - }; - - return ( - <> - {isDirectoryMetafile(metafile) ? ( - - ) : motif.actionable === 'staged' ? ( - - ) : undefined - } - color={motif?.color} - onClick={clickHandle} - > - {directories - .sort((a, b) => a.name.localeCompare(b.name)) - .filter(dir => !dir.name.startsWith('.')) - .map(dir => ( - - ))} - {files - .sort((a, b) => a.name.localeCompare(b.name)) - .filter(dir => !dir.name.startsWith('.')) - .map(file => ( - - ))} - - ) : ( - console.log(`Loading ${metafile?.name}`)} - width={metafile ? Math.min(metafile.name.length * 15, 245) : getRandomInt(55, 220)} - /> - )} - - ); -}; - -export default Directory; diff --git a/src/components/Explorer/Explorer.spec.tsx b/src/components/Explorer/Explorer.spec.tsx deleted file mode 100644 index 9404d4139..000000000 --- a/src/components/Explorer/Explorer.spec.tsx +++ /dev/null @@ -1,18 +0,0 @@ -describe('Explorer component', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const produceComponent = () => - // render( - // - // - // - // - // - // ); - - // it('renders the explorer card component', () => { - // produceComponent(); - // expect(screen.getByTestId(/explorer-component/i)).toBeInTheDocument(); - // }); -}); diff --git a/src/components/Explorer/Explorer.tsx b/src/components/Explorer/Explorer.tsx deleted file mode 100644 index 2fad59910..000000000 --- a/src/components/Explorer/Explorer.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import { Description, Folder, FolderOpen } from '@mui/icons-material'; -import { TreeView } from '@mui/lab'; -import { styled } from '@mui/material'; -import React, { useState } from 'react'; -import { useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { UUID } from '../../store/types'; -import Directory from './Directory'; -import File from './File'; - -const Explorer = ({ id }: { id: UUID }) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); - const directories = useAppSelector(state => - metafileSelectors.selectDirectories(state, metafile?.contains ?? []) - ); - const files = useAppSelector(state => - metafileSelectors.selectFiles(state, metafile?.contains ?? []) - ); - - const [expanded, setExpanded] = useState([]); - const [selected, setSelected] = useState([]); - - const handleToggle = (_event: React.SyntheticEvent, nodeIds: string[]) => { - setExpanded(nodeIds); - }; - - const handleSelect = (_event: React.SyntheticEvent, nodeIds: string[]) => { - setSelected(nodeIds); - }; - - return ( - <> - } - defaultExpandIcon={} - defaultEndIcon={} - expanded={expanded} - selected={selected} - onNodeToggle={handleToggle} - onNodeSelect={handleSelect} - sx={{ height: '100%', flexGrow: 1, maxWidth: 400, overflowY: 'auto' }} - > - {directories - .sort((a, b) => a.name.localeCompare(b.name)) - .filter(dir => !dir.name.startsWith('.')) - .map(dir => ( - - ))} - {files - .sort((a, b) => a.name.localeCompare(b.name)) - .filter(dir => !dir.name.startsWith('.')) - .map(file => ( - - ))} - - - ); -}; - -const TreeViewComponent = styled(TreeView)(() => ({ - '&::-webkit-scrollbar': { - height: 7, - width: 7 - }, - '&::-webkit-scrollbar-track': { - boxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.1)', - webkitBoxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.1)', - borderRadius: 10 - }, - '&::-webkit-scrollbar-thumb': { - backgroundColor: 'darkgrey', - outline: '1px solid slategrey', - borderRadius: 10 - } -})); - -export default Explorer; diff --git a/src/components/Explorer/ExplorerReverse.tsx b/src/components/Explorer/ExplorerReverse.tsx deleted file mode 100644 index 68241604f..000000000 --- a/src/components/Explorer/ExplorerReverse.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { AccessTime, Source } from '@mui/icons-material'; -import { List } from '@mui/material'; -import { DateTime } from 'luxon'; -import React from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import metafileSelectors from '../../store/selectors/metafiles'; -import repoSelectors from '../../store/selectors/repos'; -import { Card, cardUpdated } from '../../store/slices/cards'; -import { modalAdded } from '../../store/slices/modals'; -import { switchBranch } from '../../store/thunks/metafiles'; -import { UUID } from '../../store/types'; -import { Action } from '../Card/ActionsMenu'; -import { ReverseListItem, ReverseListMenu } from '../Card/ReverseItem'; -import { GitBranch, GitRepo } from '../GitIcons'; - -const ExplorerReverse = (props: Card) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); - const branch = useAppSelector(state => branchSelectors.selectById(state, metafile?.branch ?? '')); - const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); - const branches = useAppSelector(state => - branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) - ); - const dispatch = useAppDispatch(); - - const copyToClipboard = (text: string) => { - window.api.clipboard.writeText(text); - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - message: `'${text}' copied to clipboard` - }) - ); - }; - - const checkout = async (branch: UUID, ref: string) => { - if (metafile?.branch === branch) { - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'Notification', - message: `Card already set to branch '${ref}'` - }) - ); - } - if (metafile && repo) { - const updated = await dispatch(switchBranch({ id: metafile?.id, ref: ref })).unwrap(); - if (updated) { - dispatch( - cardUpdated({ - ...props, - name: updated.name, - modified: updated.modified, - metafile: updated.id - }) - ); - } - } else { - console.error(`checkout failed: ${ref}`, { metafile, repo }); - } - }; - - const actions: Action[] = branches.map(branch => ({ - icon: , - name: `${branch.scope}/${branch.ref}`, - onClick: () => checkout(branch.id, branch.ref) - })); - - return ( - <> - - } - name={ - metafile - ? DateTime.fromMillis(metafile.modified).toLocaleString( - DateTime.DATETIME_SHORT_WITH_SECONDS - ) - : '' - } - tooltip="Last Modified" - onClick={() => null} - /> - } - name={metafile?.path ?? ''} - tooltip="Filepath" - onClick={() => copyToClipboard(metafile?.path ?? '')} - /> - } - name={repo?.name ?? 'No Repository'} - tooltip="Repository" - onClick={async () => { - window.api.openExternal(repo?.url ?? ''); - }} - /> - } - name={branch?.ref ?? 'No Branch'} - tooltip="Branch" - actionPrompt={actions.length > 0 ? 'Switch to...' : 'No branches available'} - actions={actions} - /> - - - ); -}; - -export default ExplorerReverse; diff --git a/src/components/Explorer/File.spec.tsx b/src/components/Explorer/File.spec.tsx deleted file mode 100644 index 5b89dbb70..000000000 --- a/src/components/Explorer/File.spec.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// const mockedMetafile: FileMetafile = { -// id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', -// name: 'bar.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/bar.js', -// state: 'unmodified', -// content: 'file contents', -// mtime: DateTime.now().valueOf() -// }; - -describe('FileComponent', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(metafileAdded(mockedMetafile)); - // const instance = await mock({ - // 'foo/bar.js': file({ content: 'file contents', mtime: new Date(1) }) - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // afterEach(() => { - // cleanup; - // store.clearActions(); - // }); - - // it('FileComponent renders file information', async () => { - // render( - // - // - // - // - // - // ); - // const component = await screen.findByText('bar.js'); - - // expect(component).toBeInTheDocument(); - // }); -}); diff --git a/src/components/Explorer/File.tsx b/src/components/Explorer/File.tsx deleted file mode 100644 index ecc9673e9..000000000 --- a/src/components/Explorer/File.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import React from 'react'; -import { UUID } from '../../store/types'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { StyledTreeItem } from './TreeItem'; -import { isFilebasedMetafile, isVersionedMetafile } from '../../store/slices/metafiles'; -import { createCard } from '../../store/thunks/cards'; -import { Skeleton } from '@mui/material'; -import { useFilebasedMotif } from '../../containers/hooks/useMotif'; -import { Description } from '@mui/icons-material'; -import { isModified, isStaged, isUnmerged } from '../../containers/utils'; -import { StageButton, UnstageButton } from './GitButtons'; - -const File = ({ id }: { id: UUID }) => { - const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); - const motif = useFilebasedMotif(metafile); - const skeletonWidth = 100; - const labelButtonState = - isVersionedMetafile(metafile) && isStaged(metafile.status) - ? 'unstage' - : isVersionedMetafile(metafile) && - (isModified(metafile.status) || isUnmerged(metafile.status)) - ? 'stage' - : undefined; - const dispatch = useAppDispatch(); - - const handleClick = async () => { - if (isFilebasedMetafile(metafile)) await dispatch(createCard({ path: metafile.path })); - }; - - return ( - <> - {isFilebasedMetafile(metafile) ? ( - - ) : labelButtonState === 'unstage' ? ( - - ) : undefined - } - endIcon={} - color={motif?.color} - onClick={handleClick} - /> - ) : ( - console.log(`Loading ${metafile?.name}`)} - width={skeletonWidth} - /> - )} - - ); -}; - -export default File; diff --git a/src/components/Explorer/GitButtons.tsx b/src/components/Explorer/GitButtons.tsx deleted file mode 100644 index e7b5c6982..000000000 --- a/src/components/Explorer/GitButtons.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; -import { IconButton, IconButtonProps, Tooltip } from '@mui/material'; -import { useAppDispatch } from '../../store/hooks'; -import { Metafile } from '../../store/slices/metafiles'; -import { stageMetafile, unstageMetafile } from '../../store/thunks/metafiles'; -import { Add, Remove } from '@mui/icons-material'; - -export const StageButton = ({ - metafile, - buttonColor, - tooltip, - disabled, - ...props -}: { metafile: Metafile; buttonColor: string | undefined; tooltip?: string } & IconButtonProps) => { - const dispatch = useAppDispatch(); - - return disabled ? undefined : ( - - { - e.stopPropagation(); - await dispatch(stageMetafile(metafile.id)); - }} - {...props} - > - - - - ); -}; - -export const UnstageButton = ({ - metafile, - buttonColor, - tooltip, - disabled, - ...props -}: { metafile: Metafile; buttonColor: string | undefined; tooltip?: string } & IconButtonProps) => { - const dispatch = useAppDispatch(); - - return disabled ? undefined : ( - - { - e.stopPropagation(); - await dispatch(unstageMetafile(metafile.id)); - }} - {...props} - > - - - - ); -}; diff --git a/src/components/Explorer/TreeItem.tsx b/src/components/Explorer/TreeItem.tsx deleted file mode 100644 index 939a7a9a1..000000000 --- a/src/components/Explorer/TreeItem.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import React, { ReactNode } from 'react'; -import { TreeItem, TreeItemProps, treeItemClasses } from '@mui/lab'; -import { Box, Tooltip, TooltipProps, Typography, styled, tooltipClasses } from '@mui/material'; -import { removeNullableProperties } from '../../containers/utils'; - -declare module 'react' { - interface CSSProperties { - '--tree-view-color'?: string; - '--tree-view-bg-color'?: string; - } -} - -export const StyledTreeItem = (props: StyledTreeItemProps) => { - const { bgColor, color, labelText, hoverText, labelInfo, labelButton, ...other } = props; - - return ( - - - - {labelText} - - - - {labelInfo} - - {labelButton} - - } - style={{ - ...removeNullableProperties({ - '--tree-view-color': color, - '--tree-view-bg-color': bgColor - }) - }} - {...other} - /> - ); -}; - -type StyledTreeItemProps = TreeItemProps & { - bgColor?: string | undefined; - color?: string | undefined; - labelText: string; - hoverText?: string | undefined; - labelInfo?: string; - labelButton?: ReactNode; -}; - -export const StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({ - color: theme.palette.text.secondary, - [`& .${treeItemClasses.content}`]: { - color: `var(--tree-view-color, ${theme.palette.text.secondary})`, - paddingRight: theme.spacing(1), - fontWeight: theme.typography.fontWeightMedium, - '&:hover, &.Mui-expanded:hover, &.Mui-selected:hover': { - backgroundColor: theme.palette.action.hover - }, - '&.Mui-expanded': {}, - '&.Mui-selected': { - backgroundColor: 'unset' - }, - '&.Mui-focused, &.Mui-selected.Mui-focused': { - backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.hover})`, - color: `var(--tree-view-color, ${theme.palette.text.secondary})` - }, - [`& .${treeItemClasses.label}`]: { - fontWeight: 'inherit', - color: 'inherit' - } - }, - [`& .${treeItemClasses.group}`]: { - marginLeft: 7, - [`& .${treeItemClasses.content}`]: { - paddingLeft: theme.spacing(2) - } - } -})); - -const HoverTextLabel = ({ - hoverText, - color, - children -}: { - hoverText: string | undefined; - color?: string | undefined; - children: React.ReactElement; // eslint-disable-line @typescript-eslint/no-explicit-any -}) => { - return hoverText ? ( - - ) : ( - children - ); -}; - -const StyledTooltip = styled(({ className, ...props }: TooltipProps) => ( - -))(({ color }) => ({ - [`& .${tooltipClasses.tooltip}`]: { - color: color - } -})); diff --git a/src/components/Explorer/index.tsx b/src/components/Explorer/index.tsx deleted file mode 100644 index 847b6f617..000000000 --- a/src/components/Explorer/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Explorer'; \ No newline at end of file diff --git a/src/components/GitGraph/ContextMenu.tsx b/src/components/GitGraph/ContextMenu.tsx deleted file mode 100644 index 363aaaa71..000000000 --- a/src/components/GitGraph/ContextMenu.tsx +++ /dev/null @@ -1,260 +0,0 @@ -import React from 'react'; -import { ListItemIcon, ListItemText, Menu, MenuItem, Tooltip } from '@mui/material'; -import { GitNodeProps } from './GitNode'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import { UUID } from '../../store/types'; -import { GitAbort, GitBranch, GitCommit, GitDeleteBranch, GitMerge, GitRevert } from '../GitIcons'; -import { Branch } from '../../store/slices/branches'; -import { Either } from '../../containers/utils'; -import repoSelectors from '../../store/selectors/repos'; -import { addBranch, fetchBranch } from '../../store/thunks/branches'; -import { createCard } from '../../store/thunks/cards'; -import { modalAdded } from '../../store/slices/modals'; - -export type Action = { - icon: JSX.Element; - name: string; - tooltip?: string; - disabled?: boolean; - onClick: () => void; -}; - -const ContextMenu = ({ - anchorEl, - open, - onClose, - node -}: { - anchorEl: HTMLElement | null; - open: boolean; - onClose: - | ((event: Record, reason: 'backdropClick' | 'escapeKeyDown') => void) - | undefined; - node: GitNodeProps; -}) => { - const repo = useAppSelector(state => repoSelectors.selectById(state, node.data.repo)); - const branches = useAppSelector(state => branchSelectors.selectEntities(state)); - const repoBranches = useAppSelector(state => branchSelectors.selectByRepo(state, repo?.id ?? '')); - const abortableBranches = repoBranches.filter( - branch => branch.status === 'unmerged' && node.data.heads.includes(branch.id) - ); - const dispatch = useAppDispatch(); - - type BranchRef = Pick; - - const checkout = async (input: Either<{ id: UUID }, { branchRef: BranchRef }>) => { - if (repo) { - let branch = input.branchRef - ? await dispatch( - fetchBranch({ - branchIdentifiers: { - root: repo.root, - ref: input.branchRef.ref, - scope: input.branchRef.scope - } - }) - ).unwrap() - : branches[input.id]; - if (branch && !branch.linked && !branch.current) { - branch = await dispatch(addBranch({ root: branch.root, ref: branch.ref })).unwrap(); - } - if (branch) await dispatch(createCard({ path: branch.root })); - } - if (onClose) onClose({}, 'backdropClick'); - }; - - const checkoutNewBranch = async () => { - if (repo) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'NewBranchDialog', - repo: repo.id, - head: node.id - }) - ); - if (onClose) onClose({}, 'backdropClick'); - }; - - const deleteBranch = async (id: UUID) => { - if (repo) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'DeleteBranchDialog', - repo: repo.id, - branch: id - }) - ); - if (onClose) onClose({}, 'backdropClick'); - }; - - const commit = (id: UUID) => { - if (repo) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'CommitDialog', - repo: repo.id, - branch: id - }) - ); - if (onClose) onClose({}, 'backdropClick'); - }; - - const revert = (branch: UUID) => { - if (repo) - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'RevertCommitDialog', - repo: repo.id, - branch: branch, - commit: node.id - }) - ); - if (onClose) onClose({}, 'backdropClick'); - }; - - const merge = async (input: Either<{ id: UUID }, { branchRef: BranchRef }>) => { - if (repo) { - const branch = input.branchRef - ? await dispatch( - fetchBranch({ - branchIdentifiers: { - root: repo.root, - ref: input.branchRef.ref, - scope: input.branchRef.scope - } - }) - ).unwrap() - : branches[input.id]; - - if (branch && branch.status !== 'unmerged') { - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'MergeDialog', - repo: repo.id, - base: branch.id - }) - ); - } - } - if (onClose) onClose({}, 'backdropClick'); - }; - - const abort = (branch: Branch) => { - if (repo) { - console.log(`Abort merge of ${branch.scope}/${branch.ref}`); - dispatch( - modalAdded({ - id: window.api.uuid(), - type: 'MergeDialog', - repo: repo.id, - base: branch.id, - mode: 'abort' - }) - ); - } - if (onClose) onClose({}, 'backdropClick'); - }; - - const actions: Action[] = [ - ...node.data.heads.map(branch => ({ - icon: , - name: `Checkout ${branches[branch]?.scope}/${branches[branch]?.ref}`, - disabled: node.data.staged, - onClick: () => checkout({ id: branch }) - })), - { - icon: , - name: `Checkout ${ - node.data.staged ? node.id : node.id.substring(0, 8) + '...' - } [Detached HEAD]`, - disabled: node.data.staged, - onClick: () => checkout({ branchRef: { ref: node.id, scope: 'local' } }) - }, - { - icon: , - name: `Create new branch at ${node.data.staged ? node.id : node.id.substring(0, 8) + '...'}`, - disabled: node.data.staged, - onClick: checkoutNewBranch - }, - ...node.data.heads.map(branch => ({ - icon: , - name: `Delete ${branches[branch]?.scope}/${branches[branch]?.ref}`, - disabled: node.data.staged, - onClick: () => deleteBranch(branch) - })), - { - icon: , - name: `Commit to ${branches[node.data.branches[0] ?? '']?.scope}/${ - branches[node.data.branches[0] ?? '']?.ref - }`, - disabled: !node.data.staged, - onClick: () => { - commit(node.data.branches[0] ?? ''); - } - }, - ...node.data.branches - .filter(branch => !node.data.heads.includes(branch)) - .map(branch => ({ - icon: , - name: `Revert ${branches[branch]?.scope}/${branches[branch]?.ref} branch to ${ - node.data.staged ? node.id : node.id.substring(0, 8) + '...' - }`, - disabled: node.data.staged, - onClick: () => revert(branch) - })), - ...node.data.heads.map(branch => ({ - icon: , - name: `Merge ${branches[branch]?.scope}/${branches[branch]?.ref}`, - disabled: node.data.staged, - onClick: () => merge({ id: branch }) - })), - ...abortableBranches.map(branch => ({ - icon: , - name: `Abort merge on ${branch.scope}/${branch.ref}`, - disabled: false, - onClick: () => abort(branch) - })) - ]; - - return open ? ( - - {actions.map((action, index) => ( - - {action.icon} - {action.tooltip ? ( - - {action.name} - - ) : ( - {action.name} - )} - - ))} - - ) : undefined; -}; - -export default ContextMenu; diff --git a/src/components/GitGraph/GitGraph.tsx b/src/components/GitGraph/GitGraph.tsx deleted file mode 100644 index ad29302be..000000000 --- a/src/components/GitGraph/GitGraph.tsx +++ /dev/null @@ -1,196 +0,0 @@ -import React, { useCallback, useEffect, useState } from 'react'; -import { BlurCircular, LocationSearching } from '@mui/icons-material'; -import { styled, TextField, Typography } from '@mui/material'; -// eslint-disable-next-line import/no-named-as-default -import ReactFlow, { - addEdge, - Connection, - ControlButton, - Controls, - Edge, - isEdge, - isNode, - ReactFlowProvider, - Node, - useEdgesState, - useNodesState, - useReactFlow, - OnNodesChange, - OnEdgesChange, - OnConnect, - useStoreApi -} from 'reactflow'; -import 'reactflow/dist/style.css'; -import layoutGraph from '../../containers/graph-layout'; -import { BranchLookup, GitGraph, useGitGraph } from '../../containers/hooks/useGitGraph'; -import { UUID } from '../../store/types'; -import { nodeTypes } from './GitNode'; -import useToggle from '../../containers/hooks/useToggle'; - -const Flow = ({ - nodes, - edges, - onNodesChange, - onEdgesChange, - onConnect, - graph, - branchLookup, - printGraph, - calculateLayout -}: { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - nodes: Node[]; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - edges: Edge[] | undefined; - onNodesChange: OnNodesChange | undefined; - onEdgesChange: OnEdgesChange | undefined; - onConnect: OnConnect | undefined; - graph: GitGraph; - branchLookup: BranchLookup; - printGraph: () => void; - calculateLayout: () => void; -}) => { - const store = useStoreApi(); - const reactFlowInstance = useReactFlow(); - - const [searchText, setSearchText] = useState(''); - const [isSearchExpanded, toggleSearchExpanded] = useToggle(false); - const [isSearchValid, toggleSearchValid] = useToggle(true); - - const handleKeyDown = (event: React.KeyboardEvent) => { - if (event.key === 'Enter') { - event.preventDefault(); - const branchOid = branchLookup.get(searchText); - const vertex = - branchOid && graph.has(branchOid) ? graph.get(branchOid) : graph.get(searchText); - - if (vertex) { - const { nodeInternals } = store.getState(); - const node = Array.from(nodeInternals).find(([id]) => id === vertex.oid.toString())?.[1]; - - if (node) { - const x = node.position.x + (node.width ?? 0) / 2; - const y = node.position.y + (node.height ?? 0) / 2; - const zoom = 1.85; - - toggleSearchValid(true); - store.getState().addSelectedNodes([node.id]); - reactFlowInstance.setCenter(x, y, { zoom, duration: 1000 }); - toggleSearchExpanded(); - } - } else { - toggleSearchValid(false); - store.getState().unselectNodesAndEdges(); - reactFlowInstance.fitView({ duration: 1000 }); - } - } - }; - - return ( - <> - - - - toggleSearchExpanded()} - style={{ backgroundColor: isSearchExpanded ? '#DCDCDC' : undefined }} - title="search" - > - - - {isSearchExpanded ? ( - setSearchText(e.target.value)} - onKeyDown={e => handleKeyDown(e)} - placeholder="commit oid" - /> - ) : null} - - - - - - - Nodes: {nodes.length}, Edges: {edges?.length} - - - - ); -}; - -const HorizontalBox = styled('div')({ - display: 'flex', - flexDirection: 'row', - borderRadius: '0 4px 4px 0' -}); - -const SearchTextField = styled(TextField)(({ theme }) => ({ - borderRadius: '0 4px 4px 0', - width: 385, - '& label.Mui-focused': { - color: '#A0AAB4' - }, - '& .MuiInput-underline:after': { - borderBottomColor: '#B2BAC2' - }, - '& .MuiOutlinedInput-root': { - borderRadius: '0 4px 4px 0', - height: '100%', - '& input': { - backgroundColor: theme.palette.background.paper, - borderRadius: '0 4px 4px 0', - height: '100%', - padding: '0 5px' - } - } -})); - -const GitGraph = ({ repo }: { repo: UUID }) => { - const { graph, topological, branchLookup, printGraph } = useGitGraph(repo); - const [nodes, setNodes, onNodesChange] = useNodesState([]); - const [edges, setEdges, onEdgesChange] = useEdgesState([]); - const onConnect = useCallback( - (params: Edge | Connection) => setEdges(eds => addEdge(params, eds)), - [setEdges] - ); - - const calculateLayout = useCallback(() => { - const rfElements = layoutGraph(graph, topological); - setNodes(rfElements.filter(isNode)); - setEdges(rfElements.filter(isEdge)); - }, [graph, setEdges, setNodes, topological]); - - useEffect(() => { - calculateLayout(); - }, [calculateLayout, graph, topological]); - - return ( - - - - ); -}; - -export default GitGraph; diff --git a/src/components/GitGraph/GitGraphSelect.tsx b/src/components/GitGraph/GitGraphSelect.tsx deleted file mode 100644 index a67f969c9..000000000 --- a/src/components/GitGraph/GitGraphSelect.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React, { useState } from 'react'; -import { shallowEqual } from 'react-redux'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import repoSelectors from '../../store/selectors/repos'; -import modalSelectors from '../../store/selectors/modals'; -import { Modal, modalAdded, modalRemoved } from '../../store/slices/modals'; -import { FormControl, InputBase, MenuItem, Select, SelectChangeEvent, styled } from '@mui/material'; - -const GitGraphSelect = () => { - const repos = useAppSelector(state => repoSelectors.selectAll(state)); - const [selected, setSelected] = useState(''); - const graphs: Modal[] = useAppSelector( - state => modalSelectors.selectByType(state, 'GitGraph'), - shallowEqual - ); - const dispatch = useAppDispatch(); - - const handleChange = (event: SelectChangeEvent) => { - if (graphs.length > 0) graphs.map(graph => dispatch(modalRemoved(graph.id))); - setSelected(event.target.value); - const selectedRepo = repos.find(r => r.id === event.target.value); - if (selectedRepo) - dispatch(modalAdded({ id: window.api.uuid(), type: 'GitGraph', repo: selectedRepo.id })); - }; - - // useEffect(() => { - // if (graphs.length > 0) graphs.map(graph => dispatch(modalRemoved(graph.id))); - // const selectedRepo = repos.find(r => r.id === selected); - // if (selectedRepo) - // dispatch(modalAdded({ id: window.api.uuid(), type: 'GitGraph', repo: selected })); - // // eslint-disable-next-line react-hooks/exhaustive-deps - // }, [repos, selected]); - - return ( - - - - - - ); -}; - -const StyledFormContainer = styled('div')(() => ({ - marginLeft: 'auto', - position: 'absolute', - zIndex: 1 -})); - -const StyledInput = styled(InputBase)(({ theme }) => ({ - borderRadius: 4, - position: 'relative', - backgroundColor: theme.palette.background.paper, - border: '1px solid #ced4da', - fontSize: 14, - padding: '10px 26px 10px 12px', - transition: theme.transitions.create(['border-color', 'box-shadow']), - '&:focus': { - borderRadius: 4, - borderColor: '#80bdff', - boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)' - } -})); -export default GitGraphSelect; diff --git a/src/components/GitGraph/GitNode.tsx b/src/components/GitGraph/GitNode.tsx deleted file mode 100644 index 679f3549b..000000000 --- a/src/components/GitGraph/GitNode.tsx +++ /dev/null @@ -1,118 +0,0 @@ -import { styled } from '@mui/material'; -import React, { useMemo, useState } from 'react'; -import { Handle, NodeProps, Position } from 'reactflow'; -import GraphTooltip from './GraphTooltip'; -import { Color } from '../../store/types'; -import { Prettify, isDefined } from '../../containers/utils'; -import { CommitVertex } from '../../containers/hooks/useGitGraph'; -import { useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import useToggle from '../../containers/hooks/useToggle'; -import ContextMenu from './ContextMenu'; - -export type GitNodeProps = Prettify>; - -const GitNode = (props: GitNodeProps) => { - const branches = useAppSelector(state => branchSelectors.selectEntities(state)); - const [isHovering, toggleHovering] = useToggle(false); - const [anchorEl, setAnchorEl] = useState(null); - const open = Boolean(anchorEl); - const handleMenu = (event: React.MouseEvent) => { - setAnchorEl(event.currentTarget); - }; - const handleClose = () => { - setAnchorEl(null); - }; - - const headText = () => { - const firstHead = props.data.heads[0]; - if (firstHead) { - const additional = props.data.heads.length - 1; - const firstBranch = branches[firstHead]; - return `${firstBranch?.scope}/${firstBranch?.ref}${additional > 0 ? ` + ${additional}` : ''}`; - } - return undefined; - }; - const text = props.data.heads.length > 0 ? headText() : props.data.oid.toString(); - const tooltip = useMemo((): string => { - const commit = props.data; - const headBranches = commit.heads.map(oid => branches[oid]).filter(isDefined); - return `${ - headBranches.length > 0 - ? `Branches: ${headBranches.map(branch => `${branch.scope}/${branch.ref}`).join(',')}\n` - : '' - }Commit: ${commit.oid.toString()}\nParent: ${commit.parents.join(', ')}\nAuthor: ${ - commit.author.name - } <${commit.author.email}>\nMessage: ${commit.message}`; - }, [branches, props.data]); - const color = props.data.color; - const borderColor = props.selected ? '#F08080' : 'whitesmoke'; - const borderStyle = props.selected ? 'solid' : props.data.staged ? 'dashed' : ''; - const opacity = props.data.staged ? '0.6' : '1.0'; - - const copyToClipboard = (text: string) => { - window.api.clipboard.writeText(text); - }; - - return ( - <> - - toggleHovering(true)} - onMouseLeave={() => toggleHovering(false)} - onClick={() => { - copyToClipboard(props.id); - const node = props.data; - console.log(node); - }} - onContextMenu={handleMenu} - > - - - - {text} - - - ); -}; - -const Node = styled('div')<{ - color: Color; - borderStyle: string; - borderColor: string; - opacity?: string | undefined; -}>(props => ({ - width: 10, - borderRadius: '50%', - margin: 'auto', - borderStyle: props.borderStyle, - borderColor: props.borderColor, - borderWidth: 'thin', - opacity: props.opacity, - background: props.color, - padding: 5 -})); - -const StyledHandle = styled(Handle)(() => ({ - visibility: 'hidden' -})); - -const StyledText = styled('div')(() => ({ - color: 'whitesmoke', - fontSize: 6, - width: 50, - textAlign: 'center', - textOverflow: 'ellipsis', - whiteSpace: 'nowrap', - overflow: 'hidden' -})); - -export const nodeTypes = { - gitNode: GitNode -}; - -export default GitNode; diff --git a/src/components/GitGraph/GraphTooltip.tsx b/src/components/GitGraph/GraphTooltip.tsx deleted file mode 100644 index 34701f512..000000000 --- a/src/components/GitGraph/GraphTooltip.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { Card, CardContent, Typography, styled } from '@mui/material'; -import React from 'react'; - -type Placement = - | 'top-start' - | 'top' - | 'top-end' - | 'left-start' - | 'left' - | 'left-end' - | 'right-start' - | 'right' - | 'right-end' - | 'bottom-start' - | 'bottom' - | 'bottom-end'; - -type Position = { top: number; left: number }; - -// Mapped object type for converting Placement into `top` and `left` position presets -type PlacementPosition = { - [key in Placement]: { top: number; left: number }; -}; - -const placementToPosition: PlacementPosition = { - 'top-start': { top: -15, left: -5 }, - top: { top: -15, left: 0 }, - 'top-end': { top: -15, left: 5 }, - 'left-start': { top: -5, left: -15 }, - left: { top: 0, left: -15 }, - 'left-end': { top: 5, left: -15 }, - 'right-start': { top: -5, left: 15 }, - right: { top: 0, left: 15 }, - 'right-end': { top: 5, left: 15 }, - 'bottom-start': { top: 15, left: -5 }, - bottom: { top: 15, left: 0 }, - 'bottom-end': { top: 15, left: 5 } -}; - -const GraphTooltip = (props: { disabled?: boolean; content: string; placement: Placement }) => { - const position = placementToPosition[props.placement]; - - return props.disabled ? undefined : ( - - - {props.content.replace(/\\n/g, '
')}
-
-
- ); -}; - -const StyledTag = styled(Card, { shouldForwardProp: prop => prop !== 'position' })<{ - position: Position; -}>(({ position, theme }) => ({ - backgroundColor: theme.palette.common.white, - height: 'max-content', - width: 'max-content', - position: 'absolute', - top: position.top, - left: position.left, - boxShadow: theme.shadows[1], - borderRadius: '2px', - border: '0px', - padding: '1px 2px', - zIndex: theme.zIndex.modal -})); - -const StyledTypography = styled(Typography)(() => ({ - fontSize: 6, - fontFamily: 'Roboto, Helvetica, Arial, sans-serif', - color: 'rgba(0, 0, 0, 0.87)', - whiteSpace: 'pre-wrap' -})); - -export default GraphTooltip; diff --git a/src/components/GitGraph/index.tsx b/src/components/GitGraph/index.tsx deleted file mode 100644 index 60b9dc65c..000000000 --- a/src/components/GitGraph/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './GitGraph'; \ No newline at end of file diff --git a/src/components/GitIcons.tsx b/src/components/GitIcons.tsx deleted file mode 100644 index ff5c144a1..000000000 --- a/src/components/GitIcons.tsx +++ /dev/null @@ -1,220 +0,0 @@ -/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ -/* eslint-disable max-len */ - -/** - * Icons from: https://materialdesignicons.com/ - */ - -import { SvgIcon, SvgIconProps } from '@mui/material'; -import React from 'react'; - -export const GitRepo = (props: SvgIconProps) => { - return ( - - - - ); -}; - -export const GitBranch = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; - -export const GitDeleteBranch = (props: SvgIconProps) => { - return ( - - - - - - - - - - - - - - - - - ); -}; - -export const GitCommit = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; - -export const GitRevert = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; - -export const GitCompare = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; - -export const GitMerge = (props: SvgIconProps) => { - return ( - - - - - - - - - - ); -}; - -export const GitAbort = (props: SvgIconProps) => { - return ( - - - - - - - - - - - - - - - - ); -}; - -export const GitPullRequestOpen = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; - -export const GitPullRequestClose = (props: SvgIconProps) => { - return ( - - - - - - - - - - - ); -}; diff --git a/src/components/Handle/Handle.tsx b/src/components/Handle/Handle.tsx deleted file mode 100644 index b0a49ee05..000000000 --- a/src/components/Handle/Handle.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { IconButton, IconButtonProps } from '@mui/material'; -import { DragIndicator } from '@mui/icons-material'; - -const Handle = ({ draggable = false, ...props }: { draggable?: boolean } & IconButtonProps) => { - return ( - console.log(`draggable: ${draggable}`)} - {...props} - > - - - ); -}; - -export default Handle; diff --git a/src/components/Handle/index.tsx b/src/components/Handle/index.tsx deleted file mode 100644 index 1b3992686..000000000 --- a/src/components/Handle/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './Handle'; diff --git a/src/components/Modal/CommitDialog.tsx b/src/components/Modal/CommitDialog.tsx deleted file mode 100644 index c56f72efe..000000000 --- a/src/components/Modal/CommitDialog.tsx +++ /dev/null @@ -1,115 +0,0 @@ -import React, { useCallback, useEffect, useState } from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import { CommitDialog, modalRemoved } from '../../store/slices/modals'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { isFileMetafile, VersionedMetafile } from '../../store/slices/metafiles'; -import { - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - Paper, - styled, - Table, - TableBody, - TableCell, - TableContainer, - TableRow, - TextField -} from '@mui/material'; -import File from '../Explorer/File'; -import { createCard } from '../../store/thunks/cards'; -import { addCommit } from '../../store/thunks/commits'; - -const CommitDialog = ({ props }: { props: CommitDialog }) => { - const dispatch = useAppDispatch(); - const [message, setMessage] = useState(''); - const staged = useAppSelector(state => - metafileSelectors.selectStagedByRepo(state, props.repo, props.branch) - ); - - const handleClose = useCallback(() => dispatch(modalRemoved(props.id)), [dispatch, props.id]); - const handleChange = (event: React.ChangeEvent) => - setMessage(event.target.value); - const handleClick = async (metafile: VersionedMetafile) => - await dispatch(createCard({ path: metafile.path })); - - useEffect(() => { - if (staged.length < 1) handleClose(); - }, [handleClose, props.id, staged]); - - const initiateCommit = async () => { - const result = await dispatch( - addCommit({ repoId: props.repo, branchId: props.branch, message: message }) - ).unwrap(); - console.log({ result }); - dispatch(modalRemoved(props.id)); - }; - - return ( - dispatch(modalRemoved(props.id))} - aria-labelledby="commit-dialog-title" - aria-describedby="commit-dialog-description" - > - Commit - - - Verify staged directories and files. Enter a commit message. - - - - - {staged - .filter(isFileMetafile) - .sort((a, b) => a.name.localeCompare(b.name)) - .map(metafile => ( - handleClick(metafile)}> - - - - - ))} - -
-
- -
- - - - -
- ); -}; - -const StyledTableRow = styled(TableRow)(({ theme }) => ({ - color: theme.palette.text.secondary, - '&:last-child td, &:last-child th': { - border: 0 - } -})); - -const StyledDialog = styled(Dialog)(() => ({ - '& .MuiDialog-paper': { - width: 400 - } -})); - -export default CommitDialog; diff --git a/src/components/Modal/DeleteBranchDialog.tsx b/src/components/Modal/DeleteBranchDialog.tsx deleted file mode 100644 index 0d820782b..000000000 --- a/src/components/Modal/DeleteBranchDialog.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React from 'react'; -import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - styled -} from '@mui/material'; -import { DeleteBranchDialog, modalRemoved } from '../../store/slices/modals'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import repoSelectors from '../../store/selectors/repos'; -import branchSelectors from '../../store/selectors/branches'; -import { removeBranch } from '../../store/thunks/branches'; - -const DeleteBranchDialog = (props: DeleteBranchDialog) => { - const dispatch = useAppDispatch(); - const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); - const branch = useAppSelector(state => branchSelectors.selectById(state, props.branch)); - - const handleClose = () => dispatch(modalRemoved(props.id)); - const handleClick = async () => { - if (repo && branch) { - const result = await dispatch( - removeBranch({ repoId: repo.id, branchId: branch.id }) - ).unwrap(); - console.log( - result - ? `Deleted ${branch.scope}/${branch.ref} branch...` - : `Unable to delete ${branch.scope}/${branch.ref} branch...` - ); - } - }; - - return ( - - Delete Branch - - - Are you sure you want to permanently delete the branch{' '} - - {branch?.scope}/{branch?.ref} - {' '} - ? - - - - - - - - ); -}; - -const StyledDialog = styled(Dialog)(() => ({ - '& .MuiDialog-paper': { - width: 400 - } -})); - -export default DeleteBranchDialog; diff --git a/src/components/Modal/MergeDialog.tsx b/src/components/Modal/MergeDialog.tsx deleted file mode 100644 index 9b5deb035..000000000 --- a/src/components/Modal/MergeDialog.tsx +++ /dev/null @@ -1,288 +0,0 @@ -import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - Paper, - Table, - TableBody, - TableCell, - TableContainer, - TableHead, - TableRow, - Tooltip, - Typography, - styled -} from '@mui/material'; -import React, { useCallback, useEffect, useState } from 'react'; -import useMap from '../../containers/hooks/useMap'; -import { isDefined } from '../../containers/utils'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import repoSelectors from '../../store/selectors/repos'; -import { Branch, isUnmergedBranch } from '../../store/slices/branches'; -import { MergeDialog, modalRemoved } from '../../store/slices/modals'; -import { MergeOutput, UUID } from '../../store/types'; -import { GitAbort, GitBranch, GitMerge } from '../GitIcons'; -import MergeStatus from './MergeStatus'; -import { mergeBranch, mergeBranchContinue } from '../../store/thunks/branches'; - -const MergeDialog = ({ props }: { props: MergeDialog }) => { - const title = - props.mode === 'abort' ? 'Abort Merge' : props.mode === 'continue' ? 'Continue Merge' : 'Merge'; - const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); - const base = useAppSelector(state => branchSelectors.selectById(state, props.base)); - const branches = useAppSelector(state => - branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) - ); - const dispatch = useAppDispatch(); - const [selected, setSelected] = useState([]); - const conflicted = calcMergingBranch(branches, base); - const deltas = useMap([]); - const [result, setResult] = useState(undefined); - - useEffect(() => { - const mode = props.mode; - const merging = isUnmergedBranch(base) ? base.merging : undefined; - console.log({ mode, base, merging, conflicted }); - }, [base, conflicted, props.mode]); - - const calcRef = (branch: Branch | undefined) => - branch?.scope === 'remote' ? `${branch.remote}/${branch.ref}` : branch ? branch.ref : ''; - - const calcDelta = async (id: UUID) => { - const branch = branches.find(b => b.id === id); - const ref = calcRef(branch); - - if (repo && base && branch) { - const behind = parseInt( - ( - await window.api.git.revList({ - dir: repo?.root, - commitish: [base.ref, `^` + ref], - count: true - }) - ).trim() - ); - const ahead = parseInt( - ( - await window.api.git.revList({ - dir: repo?.root, - commitish: [ref, `^` + base.ref], - count: true - }) - ).trim() - ); - return { behind, ahead }; - } else return { behind: 0, ahead: 0 }; - }; - - const handleClose = useCallback(() => dispatch(modalRemoved(props.id)), [dispatch, props.id]); - - const handleAbort = async () => { - if (!isDefined(repo) || !isDefined(base)) return; - setResult( - await dispatch( - mergeBranchContinue({ repoId: repo.id, baseBranch: base.id, action: 'abort' }) - ).unwrap() - ); - }; - - const handleMerge = async () => { - if (!isDefined(repo) || !isDefined(base)) return; - - const commitishBranches = branches - .filter(branch => selected.includes(branch.id)) - .map(branch => calcRef(branch)); - - console.log(`merging ${commitishBranches} into ${base?.scope}/${base?.ref}`); - setResult( - await dispatch( - mergeBranch({ repoId: repo.id, baseBranch: base.id, commitishes: commitishBranches }) - ).unwrap() - ); - }; - - const toggle = async (row: UUID) => { - if (isDefined(props.mode)) return; - if (base?.id === row) return; - if (selected.includes(row)) { - deltas.delete(row); - setSelected(selected => selected.filter(id => id !== row)); - } else { - const delta = await calcDelta(row); - deltas.set(row, delta); - setSelected(selected => [...selected, row]); - } - }; - - return ( - - {title} Dialog - - - {isDefined(props.mode) ? 'Relevant' : 'Select'} branches from the{' '} - - {repo?.name} - {' '} - repository. - - - - - - - Branch - - Scope - - - Delta - - - - - {branches.map(branch => ( - toggle(branch.id)} - > - - - - - {branch.ref} - - {branch.scope} - - - - - ))} - -
-
-
- - - - - - {props.mode === 'abort' && !isDefined(result) ? ( - - ) : null} - {!isDefined(props.mode) && !isDefined(result) ? ( - - ) : null} - -
- ); -}; - -type TableRowProps = { - base: boolean; - conflicted: boolean; - selected: boolean; -}; - -const StyledTableRow = styled(TableRow, { - shouldForwardProp: prop => prop !== 'base' && prop !== 'conflicted' && prop !== 'selected' -})(({ base, conflicted, selected }) => ({ - backgroundColor: base - ? 'rgba(33, 150, 243, 0.8)' - : conflicted - ? 'rgba(240, 128, 128, 0.5)' - : selected - ? 'rgba(33, 150, 243, 0.5)' - : 'none', - height: 57, - cursor: base ? 'not-allowed' : 'pointer', - '&:last-child td, &:last-child th': { border: 0 } -})); - -const TableRowIcon = (props: TableRowProps) => { - return ( - - {props.base ? ( - - ) : props.conflicted ? ( - - ) : props.selected ? ( - - ) : null} - - {props.base ? 'Base' : props.conflicted ? 'Conflict' : props.selected ? 'Compare' : null} - - - ); -}; - -type BranchDeltaProps = { - base: string; - behind?: number; - ahead?: number; -}; - -const TableRowDelta = (props: BranchDeltaProps) => { - const ahead = props.ahead - ? `${props.ahead} commit${props.ahead > 1 ? 's' : ''} ahead${props.behind ? ', ' : ' '}` - : ''; - const behind = props.behind ? `${props.behind} commit${props.behind > 1 ? 's' : ''} behind ` : ''; - const base = - props.ahead && !props.behind - ? `of ${props.base}` - : props.behind - ? `${props.base}` - : `0 commits ahead, 0 commits behind ${props.base}`; - - return ( - - - {props.behind} {isDefined(props.behind) && isDefined(props.ahead) ? '|' : ''} {props.ahead} - - - ); -}; - -const calcMergingBranch = (branches: Branch[], base: Branch | undefined): UUID[] => { - const mergingBranch = isUnmergedBranch(base) - ? branches.find(b => b.scope === 'local' && b.ref === base.merging)?.id - : undefined; - return mergingBranch ? [mergingBranch] : []; -}; - -export default MergeDialog; diff --git a/src/components/Modal/MergeStatus.tsx b/src/components/Modal/MergeStatus.tsx deleted file mode 100644 index edae59333..000000000 --- a/src/components/Modal/MergeStatus.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { Alert, AlertColor, Paper } from '@mui/material'; -import React from 'react'; -import { isDefined } from '../../containers/utils'; -import { MergeOutput } from '../../store/types'; -import { LinearProgressWithLabel } from '../Status'; - -const StatusBar = ({ - severity, - message -}: { - severity: AlertColor; - message: string | undefined; -}) => { - return ( - - - {message} - - - ); -}; - -const MergeStatus = ({ result }: { result: MergeOutput | undefined }) => { - if (!isDefined(result)) return null; - switch (result.status) { - case 'Passing': - return ; - case 'Failing': - return result.conflicts && result.conflicts.length > 0 ? ( - - ) : ( - - ); - case 'Running': - return ; - default: - return null; - } -}; - -export default MergeStatus; diff --git a/src/components/Modal/ModalComponent.tsx b/src/components/Modal/ModalComponent.tsx deleted file mode 100644 index 083eea075..000000000 --- a/src/components/Modal/ModalComponent.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import { - Modal, - isCommitDialogModal, - isDeleteBranchDialog, - isGitGraphModal, - isMergeDialogModal, - isNewBranchDialog, - isNotification, - isRevertCommitDialog -} from '../../store/slices/modals'; -import NewCardDialog from './NewCardDialog'; -import Notification from './Notification'; -import MergeDialog from './MergeDialog'; -import GitGraph from '../GitGraph'; -import NewBranchDialog from './NewBranchDialog'; -import DeleteBranchDialog from './DeleteBranchDialog'; -import CommitDialog from './CommitDialog'; -import RevertCommitDialog from './RevertCommitDialog'; - -const ModalComponent = (props: Modal) => { - switch (props.type) { - // case 'CloneSelector': - // return (); - case 'GitGraph': - return isGitGraphModal(props) ? : null; - case 'CommitDialog': - return isCommitDialogModal(props) ? : null; - case 'MergeDialog': - return isMergeDialogModal(props) ? : null; - case 'NewBranchDialog': - return isNewBranchDialog(props) ? : null; - case 'DeleteBranchDialog': - return isDeleteBranchDialog(props) ? : null; - case 'NewCardDialog': - // no specific fields required for `NewCardDialog`, so just using Modal props - return ; - case 'Notification': - return isNotification(props) ? : null; - case 'RevertCommitDialog': - return isRevertCommitDialog(props) ? : null; - default: { - console.error(`No Modal component found for ${props.type}`); - return null; - } - } -}; - -export default ModalComponent; diff --git a/src/components/Modal/NewBranchDialog.tsx b/src/components/Modal/NewBranchDialog.tsx deleted file mode 100644 index 2b3b8e6d7..000000000 --- a/src/components/Modal/NewBranchDialog.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import React from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import { NewBranchDialog, modalRemoved } from '../../store/slices/modals'; -import branchSelectors from '../../store/selectors/branches'; -import repoSelectors from '../../store/selectors/repos'; -import { addBranch, updateBranches } from '../../store/thunks/branches'; -import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - FormControl, - InputAdornment, - OutlinedInput, - Tooltip -} from '@mui/material'; -import { ErrorOutline } from '@mui/icons-material'; -import { createCard } from '../../store/thunks/cards'; - -const NewBranchDialog = (props: NewBranchDialog) => { - const dispatch = useAppDispatch(); - const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); - const branches = useAppSelector(state => - branchSelectors.selectByRepo(state, repo?.id ?? '', true) - ); - const [branchName, setBranchName] = React.useState(''); - const isNoneDuplicate = !branches?.find(b => b.ref === branchName); - - const isCreateReady = () => (branchName.length > 0 && isNoneDuplicate ? true : false); - const handleBranchNameChange = (event: React.ChangeEvent) => - setBranchName(event.target.value); - const handleClose = () => dispatch(modalRemoved(props.id)); - const handleClick = async () => { - if (repo) { - const branch = await dispatch( - addBranch({ root: repo.root, ref: branchName, head: props.head.toString() }) - ).unwrap(); - await dispatch(updateBranches(repo)); - if (branch) await dispatch(createCard({ path: branch.root })); - } - handleClose(); - }; - const handleKeyDown = (event: React.KeyboardEvent) => { - if (event.key === 'Enter') { - event.preventDefault(); - handleClick(); - } - }; - - return ( - - New Branch - - - Provide a name for the new branch. - - - - handleKeyDown(e)} - error={branchName.length > 0 && !isNoneDuplicate} - endAdornment={ - branchName.length > 0 && !isNoneDuplicate ? ( - - - - - - ) : null - } - /> - - - - - - - - - ); -}; - -export default NewBranchDialog; diff --git a/src/components/Modal/NewCardDialog.tsx b/src/components/Modal/NewCardDialog.tsx deleted file mode 100644 index 1b3b59774..000000000 --- a/src/components/Modal/NewCardDialog.tsx +++ /dev/null @@ -1,190 +0,0 @@ -import React, { useState } from 'react'; -import { Modal, modalRemoved } from '../../store/slices/modals'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import filetypeSelectors from '../../store/selectors/filetypes'; -import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - FormControl, - FormHelperText, - InputAdornment, - MenuItem, - OutlinedInput, - Select, - SelectChangeEvent, - ToggleButton, - ToggleButtonGroup, - Tooltip -} from '@mui/material'; -import { CardType } from '../../store/types'; -import { Code, ErrorOutline, Public } from '@mui/icons-material'; -import { extractExtension, replaceExt } from '../../containers/io/io-extension'; -import { createCard } from '../../store/thunks/cards'; -import { createMetafile } from '../../store/thunks/metafiles'; -import { isDefined } from '../../containers/utils'; - -const NewCardDialog = ({ props }: { props: Modal }) => { - const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); - const [category, setCategory] = useState('Editor'); - const [fileName, setFileName] = useState(''); - const [filetype, setFiletype] = useState(''); - const [validated, setValidated] = useState(); - const dispatch = useAppDispatch(); - - const handleClose = () => dispatch(modalRemoved(props.id)); - - const handleKeyDown = (event: React.KeyboardEvent) => { - if (event.key === 'Enter') { - event.preventDefault(); - handleClick(); - } - }; - - const handleCategoryChange = (_event: React.MouseEvent, newCategory: string) => { - setCategory(newCategory as CardType | undefined); - }; - - const handleFileNameChange = (event: React.ChangeEvent) => { - setFileName(event.target.value); - - const currentExtension = - event.target.value.indexOf('.') !== -1 ? extractExtension(event.target.value) : ''; - const updatedExtension = filetypes.find(filetype => - filetype.extensions.find(ext => currentExtension === ext || '.' + currentExtension === ext) - ); - - if (updatedExtension) { - setFiletype(updatedExtension.filetype); - setValidated(true); - } else { - setFiletype(''); - setValidated(false); - } - }; - - const handleFiletypeChange = (event: SelectChangeEvent) => { - setFiletype(event.target.value); - - const updatedFiletype = filetypes.find(filetype => filetype.filetype === event.target.value); - if (!updatedFiletype) return; - - const updatedFilename = replaceExt(fileName, updatedFiletype); - setFileName(updatedFilename); - }; - - const handleClick = async () => { - if (category === 'Editor') { - const metafile = await dispatch( - createMetafile({ - metafile: { - name: fileName, - handler: 'Editor', - filetype: filetype, - content: '' - } - }) - ).unwrap(); - dispatch(createCard({ metafile: metafile })); - } - handleClose(); - }; - - return ( - - New Card - - - Select the type of card and enter required data. - - - - - Editor - - - - Browser - - - - - handleKeyDown(e)} - disabled={category !== 'Editor'} - error={validated === false} - endAdornment={ - validated === false ? ( - - - - - - ) : null - } - /> - Filename - - - - Filetype - - - - - - - - - ); -}; - -export default NewCardDialog; diff --git a/src/components/Modal/Notification.tsx b/src/components/Modal/Notification.tsx deleted file mode 100644 index d3c31f5af..000000000 --- a/src/components/Modal/Notification.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { Close } from '@mui/icons-material'; -import { IconButton, Snackbar } from '@mui/material'; -import React from 'react'; -import { useAppDispatch } from '../../store/hooks'; -import { Notification, modalRemoved } from '../../store/slices/modals'; - -const Notification = (props: Notification) => { - const dispatch = useAppDispatch(); - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const handleClose = (_event: Event | React.SyntheticEvent, reason?: string) => { - if (reason === 'clickaway') { - return; - } - dispatch(modalRemoved(props.id)); - }; - - const action = ( - - - - - - ); - - return ( -
- -
- ); -}; - -export default Notification; diff --git a/src/components/Modal/RevertCommitDialog.tsx b/src/components/Modal/RevertCommitDialog.tsx deleted file mode 100644 index 3b2dd62a5..000000000 --- a/src/components/Modal/RevertCommitDialog.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import React from 'react'; -import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogContentText, - DialogTitle, - styled -} from '@mui/material'; -import { RevertCommitDialog, modalRemoved } from '../../store/slices/modals'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import repoSelectors from '../../store/selectors/repos'; -import { revertCommit } from '../../store/thunks/commits'; -import branchSelectors from '../../store/selectors/branches'; - -const RevertCommitDialog = (props: RevertCommitDialog) => { - const dispatch = useAppDispatch(); - const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); - const branch = useAppSelector(state => branchSelectors.selectById(state, props.branch)); - - const handleClose = () => dispatch(modalRemoved(props.id)); - - const handleClick = async () => { - if (repo) { - const result = await dispatch( - revertCommit({ root: branch?.root ?? repo.root, oid: props.commit.toString() }) - ).unwrap(); - console.log( - result - ? `Deleted ${props.commit.toString()} commit...` - : `Unable to delete ${props.commit.toString()} commit...` - ); - } - }; - - return ( - - Revert Commit - - - Are you sure you want to revert{' '} - - {branch?.scope}/{branch?.ref} - {' '} - branch to{' '} - - {props.commit.toString().substring(0, 8) + '...'} - {' '} - commit? - - - - - - - - ); -}; - -const StyledDialog = styled(Dialog)(() => ({ - '& .MuiDialog-paper': { - width: 400 - } -})); - -export default RevertCommitDialog; diff --git a/src/components/Modal/index.tsx b/src/components/Modal/index.tsx deleted file mode 100644 index 809b4feea..000000000 --- a/src/components/Modal/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default } from './ModalComponent'; \ No newline at end of file diff --git a/src/components/NavMenu/NavMenu.tsx b/src/components/NavMenu/NavMenu.tsx deleted file mode 100644 index 37bbabb31..000000000 --- a/src/components/NavMenu/NavMenu.tsx +++ /dev/null @@ -1,119 +0,0 @@ -import { - Button, - ClickAwayListener, - Grow, - ListItemIcon, - ListItemText, - MenuItem, - MenuList, - Paper, - Popper, - styled -} from '@mui/material'; -import React from 'react'; -import { removeNullableProperties } from '../../containers/utils'; - -const NavMenu = ({ label, submenu }: NavMenuProps) => { - const [open, setOpen] = React.useState(false); - const anchorRef = React.useRef(null); - - const handleToggle = () => setOpen(prevOpen => !prevOpen); - - const handleClose = (event: Event | React.SyntheticEvent) => { - if (anchorRef.current && anchorRef.current.contains(event.target as HTMLElement)) { - return; - } - setOpen(false); - }; - - const handleListKeyDown = (event: React.KeyboardEvent) => { - if (event.key === 'Tab') { - event.preventDefault(); - setOpen(false); - } else if (event.key === 'Escape') { - setOpen(false); - } - }; - - return ( - <> - - {label} - - - {({ TransitionProps, placement }) => ( - - - - - {submenu.map(item => ( - ) => { - item.click(event); - setOpen(false); - }} - /> - ))} - - - - - )} - - - ); -}; - -const StyledButton = styled(Button)(({ theme }) => ({ - color: theme.palette.text.secondary -})); - -type NavMenuProps = { - label: string; - submenu: NavItemProps[]; -}; - -export const NavItem = ({ icon, label, click, disabled }: NavItemProps) => { - return ( - - {label} - {icon ? {icon} : null} - - ); -}; - -export type NavItemProps = { - label: string; - icon?: JSX.Element; - disabled?: boolean; - click: (event: React.MouseEvent) => void; -}; - -export default NavMenu; diff --git a/src/components/NavMenu/index.tsx b/src/components/NavMenu/index.tsx deleted file mode 100644 index 797b7662e..000000000 --- a/src/components/NavMenu/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export { default, NavItem, NavItemProps } from './NavMenu'; diff --git a/src/components/Stack/BaseStack.tsx b/src/components/Stack/BaseStack.tsx deleted file mode 100644 index cfd450837..000000000 --- a/src/components/Stack/BaseStack.tsx +++ /dev/null @@ -1,158 +0,0 @@ -import { DraggableAttributes, DraggableSyntheticListeners, UniqueIdentifier } from '@dnd-kit/core'; -import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'; -import type { Transform } from '@dnd-kit/utilities'; -import { CSS } from '@dnd-kit/utilities'; -import { IconButton, Tooltip, styled } from '@mui/material'; -import React, { forwardRef, useRef } from 'react'; -import { ErrorBoundary } from 'react-error-boundary'; -import { useMergeRefs } from 'use-callback-ref'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import stackSelectors from '../../store/selectors/stacks'; -import { UUID } from '../../store/types'; -import Handle from '../Handle'; -import Card from '../Card/Card'; -import { pushCards, removeStack } from '../../store/thunks/stacks'; -import { Close, Difference } from '@mui/icons-material'; -import DndStackContext from '../Dnd/DndStackContext'; -import cardSelectors from '../../store/selectors/cards'; -import { isDefined } from '../../containers/utils'; -import { createMetafile } from '../../store/thunks/metafiles'; -import metafileSelectors from '../../store/selectors/metafiles'; -import { createCard } from '../../store/thunks/cards'; - -const BaseStack = forwardRef(({ id, ...props }, ref) => { - const stack = useAppSelector(state => stackSelectors.selectById(state, id)); - const first = useAppSelector(state => - cardSelectors.selectById(state, stack && stack.cards.length >= 1 ? stack?.cards[0] ?? '' : '') - ); - const firstMetafile = useAppSelector(state => - metafileSelectors.selectById(state, first?.metafile ?? '') - ); - const second = useAppSelector(state => - cardSelectors.selectById(state, stack && stack.cards.length >= 2 ? stack?.cards[1] ?? '' : '') - ); - const localRef = useRef(null); - const mergedRefs = useMergeRefs([ref, localRef]); - const dispatch = useAppDispatch(); - - const isDiffable = () => { - if (stack?.cards.length !== 2) return false; - if (isDefined(first) && isDefined(second)) { - return first.type === second.type; - } else { - return false; - } - }; - - return ( - - {!props.dragOverlay ? ( - - ) : ( - - )} - {isDiffable() ? ( - - { - if (first && second) { - const diffCardName = `${first?.name} Δ ${second?.name}`; - const diffMetafile = await dispatch( - createMetafile({ - metafile: { - name: diffCardName, - handler: 'Diff', - filetype: firstMetafile?.filetype ?? 'Text', - targets: [first.id, second.id] - } - }) - ).unwrap(); - const diffCard = await dispatch(createCard({ metafile: diffMetafile })).unwrap(); - await dispatch(pushCards({ stack: id, cards: [diffCard] })); - } - }} - > - - - - ) : null} - { - if (stack) dispatch(removeStack({ stack: stack.id })); - }} - > - - - 💥Child Error💥}> - - - {stack?.cards.map((id, index) => ( - - ))} - - - - - ); -}); - -type OverlayProps = { - dragOverlay: true; - highlight?: boolean; -}; - -type DraggableProps = { - dragOverlay?: false; - highlight?: boolean; - dragging?: boolean; - transform: Transform | null; - attributes: DraggableAttributes; - listeners: DraggableSyntheticListeners; -}; - -type InternalProps = { - cards: UniqueIdentifier[] | undefined; - x: number | undefined; - y: number | undefined; -}; - -type Props = { id: UUID } & (OverlayProps | DraggableProps); -type StyledProps = (OverlayProps | DraggableProps) & InternalProps; - -const StackComponent = styled('div')(props => ({ - background: 'rgba(102, 204, 117, 0.6)', - height: 420 + (props.cards?.length ?? 0) * 15, - width: 265 + (props.cards?.length ?? 0) * 15, - borderRadius: 5, - border: '0.5px solid rgba(125, 125, 125, 1)', - position: 'fixed', - zIndex: 1, - color: 'rgba(0, 0, 0, 0.54)', - boxShadow: props.highlight ? '0 0 3pt 1pt rgba(255, 165, 0, 0.75)' : undefined, - transform: props.dragOverlay ? undefined : CSS.Translate.toString(props.transform), - left: props.dragOverlay ? undefined : props.x, - top: props.dragOverlay ? undefined : props.y, - visibility: !props.dragOverlay && props.dragging ? 'hidden' : 'unset' -})); - -const Error = styled('div')(() => ({ - color: '#FF0000' -})); - -export default BaseStack; diff --git a/src/components/Stack/Stack.spec.tsx b/src/components/Stack/Stack.spec.tsx deleted file mode 100644 index 23abdec9d..000000000 --- a/src/components/Stack/Stack.spec.tsx +++ /dev/null @@ -1,37 +0,0 @@ -describe('Stack component', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const produceComponent = () => - // render( - // - // - // - // - // - // ); - - // const mockStack: Stack = { - // id: '254fa11a-6e7e-4fd3-bc08-e97c5409719b', - // name: 'testStack', - // created: 3, - // modified: 5, - // note: 'simple stack with two cards', - // cards: ['f6b3f2a3-9145-4b59-a4a1-bf414214f30b', '17734ae2-f8da-40cf-be86-993dc21b4079'], - // left: 150, - // top: 200 - // }; - - // it('renders the stack component', () => { - // produceComponent(); - // expect(screen.getByTestId(/stack-component/i)).toBeInTheDocument(); - // }); - - // it('close removes the stack component', () => { - // produceComponent(); - // expect(screen.getByTestId(/stack-component/i)).toBeInTheDocument(); - // // except that it doesn't work, because the close action is controlled by a Redux state change - // // userEvent.click(screen.getByLabelText(/close/i)); - // // expect(screen.getByTestId(/stack-component/i)).not.toBeInTheDocument(); - // }); -}); diff --git a/src/components/Stack/Stack.tsx b/src/components/Stack/Stack.tsx deleted file mode 100644 index 968acfcc9..000000000 --- a/src/components/Stack/Stack.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react'; -import { UUID } from '../../store/types'; -import BaseStack from './BaseStack'; -import { useDraggable, useDroppable } from '@dnd-kit/core'; -import { useCombinedRefs } from '@dnd-kit/utilities'; - -const Stack = ({ id }: { id: UUID }) => { - const { - attributes, - listeners, - setNodeRef: setDraggableNodeNef, - transform, - isDragging - } = useDraggable({ - id: id, - data: { type: 'stack' } - }); - const accepts = ['card', 'stack']; - const { - setNodeRef: setDroppableNodeRef, - isOver, - active - } = useDroppable({ - id: id, - data: { type: 'stack', accepts } - }); - const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeNef); - - return ( - - ); -}; - -export default Stack; diff --git a/src/components/Stack/index.tsx b/src/components/Stack/index.tsx deleted file mode 100644 index 0a8c0ad90..000000000 --- a/src/components/Stack/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { default } from './Stack'; -export { default as BaseStack } from './BaseStack'; diff --git a/src/components/Status.tsx b/src/components/Status.tsx deleted file mode 100644 index d647b0a03..000000000 --- a/src/components/Status.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { Check, Clear } from '@mui/icons-material'; -import { Box, CircularProgress, LinearProgress, Typography, styled } from '@mui/material'; -import { green, red } from '@mui/material/colors'; -import React from 'react'; -import { Status } from '../store/types'; - -const StatusIcon = (props: { status: Status; progress?: number }) => { - switch (props.status) { - case 'Running': - return props.progress ? ( - - ) : ( - - ); - case 'Passing': - return ; - case 'Failing': - return ; - default: - return null; - } -}; - -export const LinearProgressWithLabel = (props: { value: number; subtext?: string }) => { - return ( - <> - - - - - - {`${Math.round( - props.value - )}%`} - - - {props.subtext ? ( - - - {props.subtext} - - - ) : undefined} - - ); -}; - -const StyledCheckIcon = styled(Check)(() => ({ - height: 22, - width: 22, - margin: 4, - padding: 0, - verticalAlign: 'middle', - color: green[500] -})); - -const StyledClearIcon = styled(Clear)(() => ({ - height: 22, - width: 22, - padding: 0, - margin: 4, - verticalAlign: 'middle', - color: red[500] -})); - -const StyledCircularProgress = styled(CircularProgress)(() => ({ - margin: 4, - padding: 2, - verticalAlign: 'middle' -})); - -export default StatusIcon; diff --git a/src/containers/__snapshots__/diff.spec.ts.snap b/src/containers/__snapshots__/diff.spec.ts.snap deleted file mode 100644 index 82beb6033..000000000 --- a/src/containers/__snapshots__/diff.spec.ts.snap +++ /dev/null @@ -1,17 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`containers/diff diff matches unmodified text without line changes 1`] = ` -" Good dog - Good dog - Bad dog -" -`; - -exports[`containers/diff diff returns both added and removed lines 1`] = ` -"+Bad dog - Good dog --Good dog --Bad dog -+Good dog -" -`; diff --git a/src/containers/__snapshots__/flatten.spec.ts.snap b/src/containers/__snapshots__/flatten.spec.ts.snap deleted file mode 100644 index ce89a5189..000000000 --- a/src/containers/__snapshots__/flatten.spec.ts.snap +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`flattenObject flattenObject resolves nested heterogenous JavaScript objects 1`] = ` -{ - "a": "string", - "c": 13, -} -`; diff --git a/src/containers/__snapshots__/utils.spec.ts.snap b/src/containers/__snapshots__/utils.spec.ts.snap deleted file mode 100644 index b84f5b363..000000000 --- a/src/containers/__snapshots__/utils.spec.ts.snap +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`containers/utils deserialize to parse a JSON string into a TypeScript object 1`] = ` -{ - "count": 42, - "result": true, -} -`; diff --git a/src/containers/builds.ts b/src/containers/builds.ts deleted file mode 100644 index 1c11da9e9..000000000 --- a/src/containers/builds.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { exec } from 'child_process'; -import util from 'util'; -import { readDirAsync } from './io'; -import { getBranchRoot, getWorktreePaths } from './git'; -import { Repository } from '../store/slices/repos'; - -const promiseExec = util.promisify(exec); - -export const build = async ( - repo: Repository, - base: string -): Promise<{ installCode: number; buildCode: number }> => { - const branchRoot = await getBranchRoot(repo.root, base); - if (!branchRoot) return { installCode: -1, buildCode: -1 }; - const worktree = await getWorktreePaths(branchRoot); - if (!worktree.dir) return { installCode: -1, buildCode: -1 }; - - const rootFiles = await readDirAsync(worktree.dir); - const packageManager = rootFiles.find(file => file === 'yarn.lock') ? 'yarn' : 'npm'; - - let [installCode, buildCode] = [-1, -1]; - try { - const installResults = promiseExec(`${packageManager} install`, { - cwd: worktree.dir.toString() - }); - installResults.child.stdout?.on('data', data => console.log('INSTALL: ' + data)); - installResults.child.stderr?.on('data', data => console.log('INSTALL error: ' + data)); - installResults.child.on('close', code => { - console.log(`INSTALL 'close' listener found code: ${code}`); - installCode = Number(code); - }); - installResults.child.on('exit', code => { - console.log(`INSTALL 'exit' listener found code: ${code}`); - installCode = Number(code); - }); - installResults.child.on('error', error => { - console.log("INSTALL 'error' listener found error:"); - console.log({ error }); - }); - await installResults; - } catch (e) { - console.log('INSTALL ERROR'); - console.log(e); - } - console.log(`BUILD intermediate`, { installCode, buildCode }); - - if (installCode === 0) { - const packageManagerBuildScript = packageManager === 'yarn' ? 'run' : 'run-script'; - try { - const buildResults = promiseExec(`${packageManager} ${packageManagerBuildScript} build`, { - cwd: worktree.dir.toString() - }); - buildResults.child.stdout?.on('data', data => console.log('BUILD: ' + data)); - buildResults.child.stderr?.on('data', data => console.log('BUILD error: ' + data)); - buildResults.child.on('close', code => { - console.log(`BUILD 'close' listener found code: ${code}`); - buildCode = Number(code); - }); - buildResults.child.on('exit', code => { - console.log(`BUILD 'exit' listener found code: ${code}`); - buildCode = Number(code); - }); - buildResults.child.on('error', error => { - console.log("BUILD 'error' listener found error:"); - console.log({ error }); - }); - await buildResults; - } catch (e) { - console.log('BUILD ERROR'); - console.error(e); - } - } - - console.log(`BUILD final`, { installCode, buildCode }); - - return { installCode, buildCode }; -}; diff --git a/src/containers/colors.ts b/src/containers/colors.ts deleted file mode 100644 index c2906fa2f..000000000 --- a/src/containers/colors.ts +++ /dev/null @@ -1,26 +0,0 @@ -export type ColorSet = { - name: string, - primary: string, - secondary: string -} - -// colors from http://clrs.cc/ -export const colorSets: Array = [ - { name: 'navy', primary: '#001f3f', secondary: '#80b5ff' }, - { name: 'blue', primary: '#0074d9', secondary: '#b3dbff' }, - { name: 'aqua', primary: '#7fdbff', secondary: '#004966' }, - { name: 'teal', primary: '#39cccc', secondary: '#000000' }, - { name: 'olive', primary: '#3d9970', secondary: '#163728' }, - { name: 'green', primary: '#2ecc40', secondary: '#0e3e14' }, - { name: 'lime', primary: '#01ff70', secondary: '#00662c' }, - { name: 'yellow', primary: '#ffdc00', secondary: '#665800' }, - { name: 'orange', primary: '#ff851b', secondary: '#663000' }, - { name: 'red', primary: '#ff4136', secondary: '#800600' }, - { name: 'maroon', primary: '#85144b', secondary: '#eb7ab1' }, - { name: 'fuchsia', primary: '#f012be', secondary: '#65064f' }, - { name: 'purple', primary: '#b10dc9', secondary: '#efa9f9' }, - { name: 'black', primary: '#111111', secondary: '#dddddd' }, - { name: 'gray', primary: '#aaaaaa', secondary: '#000000' }, - { name: 'silver', primary: '#dddddd', secondary: '#000000' }, - { name: 'white', primary: '#ffffff', secondary: '#444444' } -] \ No newline at end of file diff --git a/src/containers/dialogs.ts b/src/containers/dialogs.ts deleted file mode 100644 index 11377995c..000000000 --- a/src/containers/dialogs.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { OpenDialogOptions, SaveDialogOptions } from 'electron'; -import { createAppAsyncThunk } from '../store/hooks'; -import { - isFilebasedMetafile, - isFileMetafile, - isVirtualMetafile, - Metafile -} from '../store/slices/metafiles'; -import { createCard } from '../store/thunks/cards'; -import { saveFile } from '../store/thunks/metafiles'; - -export type SaveOption = SaveDialogOptions['properties']; - -export const fileOpenDialog = createAppAsyncThunk( - 'dialogs/fileOpenDialog', - async (dialogOptions, thunkAPI) => { - const properties: OpenDialogOptions['properties'] = dialogOptions?.['properties'] - ? dialogOptions['properties'] - : window.api.globals.platform === 'darwin' - ? ['openFile', 'openDirectory', 'multiSelections'] - : ['openFile', 'multiSelections']; - const paths = await window.api.dialogs.fileOpen({ ...dialogOptions, properties: properties }); - if (!paths.canceled && paths.filePaths) { - await Promise.all( - paths.filePaths.map( - async filePath => await thunkAPI.dispatch(createCard({ path: filePath })) - ) - ); - } - } -); - -export const fileSaveDialog = createAppAsyncThunk( - 'dialogs/fileSaveDialog', - async (metafile, thunkAPI) => { - const isMac = window.api.globals.platform === 'darwin'; - const properties: SaveOption = isMac ? ['createDirectory'] : ['showHiddenFiles']; - const defaultPath = isFilebasedMetafile(metafile) - ? metafile.path - : window.api.fs.join(window.api.fs.cwd(), metafile.name); - const response = await window.api.dialogs.fileSave({ - defaultPath, - properties - }); - console.log(response); - if ( - !response.canceled && - response.filePath && - (isFileMetafile(metafile) || isVirtualMetafile(metafile)) && - metafile.content - ) { - return await thunkAPI - .dispatch(saveFile({ id: metafile.id, filepath: response.filePath })) - .unwrap(); - } - return false; - } -); - -// export const cloneDirectoryDialog = createAppAsyncThunk( -// 'dialogs/cloneDirectoryDialog', -// async repoName => { -// const isMac = process.platform === 'darwin'; -// const properties: ('showHiddenFiles' | 'createDirectory')[] = isMac -// ? ['showHiddenFiles', 'createDirectory'] -// : ['showHiddenFiles']; -// const response: Electron.SaveDialogReturnValue = await ipcRenderer.invoke('fileSaveDialog', { -// defaultPath: join(process.cwd(), repoName), -// properties: properties, -// buttonLabel: 'Select Repo Location' -// }); -// if (!response.canceled && response.filePath) { -// return response.filePath; -// } -// return null; -// } -// ); diff --git a/src/containers/diff.spec.ts b/src/containers/diff.spec.ts deleted file mode 100644 index aa1b00475..000000000 --- a/src/containers/diff.spec.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { diff } from './diff'; - -describe('containers/diff', () => { - const good = 'Good dog\nGood dog\nBad dog'; - const bad = 'Bad dog\nGood dog\nGood dog'; - - it('diff matches unmodified text without line changes', () => { - expect(diff(good, good)).toMatchSnapshot(); - }); - - it('diff returns both added and removed lines', () => { - expect(diff(good, bad)).toMatchSnapshot(); - }); -}); \ No newline at end of file diff --git a/src/containers/diff.ts b/src/containers/diff.ts deleted file mode 100644 index 70b6b4105..000000000 --- a/src/containers/diff.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { diffLines } from 'diff'; - -/** - * Diffs two blocks of text, comparing line by line, based on the algorithm proposed - * in "An O(ND) Difference Algorithm and its Variations" (Myers, 1986). Results are formatted - * according to the unified diff patch used in the Git protocol, where +/- indicate lines - * added or removed in order to transform from original to updated. - * @param original The base version of code or text to evaluate. - * @param updated The updated version of code or text to compare against original. - * @returns {string} A diff patch that conforms to the unified diff patch format. - */ -export const diff = (original: string, updated: string): string => { - const diffLineChanges = diffLines(original, updated); - let readableDiff = ''; - - diffLineChanges.map(segment => { - const segmentLines = segment.value.split(/\n/g, segment.count); - if (segment.added) { - segmentLines.map(line => (readableDiff += `+${line}\n`)); - } else if (segment.removed) { - segmentLines.map(line => (readableDiff += `-${line}\n`)); - } else { - segmentLines.map(line => (readableDiff += ` ${line}\n`)); - } - }); - - return readableDiff; -} \ No newline at end of file diff --git a/src/containers/exec.spec.ts b/src/containers/exec.spec.ts deleted file mode 100644 index 8e698c4bf..000000000 --- a/src/containers/exec.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -describe('containers/execute', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ content: 'file contents', mtime: new Date(1) }), - // zap: file({ content: 'file contents', mtime: new Date(1) }), - // 'tracked-file.js': 'directory is tracked by git' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('execute returns results of successful shell commands', async () => { - // expect(execute({ command: 'ls', cwd: 'foo/' })).resolves.toStrictEqual( - // expect.objectContaining({ - // stdout: 'bar\ntracked-file.js\nzap\n', - // stderr: '' - // }) - // ); - // }); - - // it('execute returns results of unsuccessful shell commands', async () => { - // expect(execute({ command: 'ls', cwd: 'foo/bar' })).resolves.toStrictEqual( - // expect.objectContaining({ - // stdout: undefined, - // stderr: undefined - // }) - // ); - // }); -}); diff --git a/src/containers/filetypes.json b/src/containers/filetypes.json deleted file mode 100644 index bd6ad9e8a..000000000 --- a/src/containers/filetypes.json +++ /dev/null @@ -1,1111 +0,0 @@ -[ - { - "filetype": "ABAP", - "handler": "Editor", - "extensions": [ - "abap" - ] - }, - { - "filetype": "ActionScript", - "handler": "Editor", - "extensions": [ - "as" - ] - }, - { - "filetype": "ADA", - "handler": "Editor", - "extensions": [ - "ada", - "adb" - ] - }, - { - "filetype": "Apache_Conf", - "handler": "Editor", - "extensions": [ - ".htaccess", - ".htgroups", - ".htpasswd", - ".conf", - "htaccess", - "htgroups", - "htpasswd" - ] - }, - { - "filetype": "AsciiDoc", - "handler": "Editor", - "extensions": [ - "asciidoc", - "adoc" - ] - }, - { - "filetype": "Assembly_x86", - "handler": "Editor", - "extensions": [ - "asm", - "a" - ] - }, - { - "filetype": "AutoHotKey", - "handler": "Editor", - "extensions": [ - "ahk" - ] - }, - { - "filetype": "BatchFile", - "handler": "Editor", - "extensions": [ - "bat", - "cmd" - ] - }, - { - "filetype": "Bro", - "handler": "Editor", - "extensions": [ - "bro" - ] - }, - { - "filetype": "C_Cpp", - "handler": "Editor", - "extensions": [ - "cpp", - "c", - "cc", - "cxx", - "h", - "hh", - "hpp", - "ino" - ] - }, - { - "filetype": "C9Search", - "handler": "Editor", - "extensions": [ - "c9search_results" - ] - }, - { - "filetype": "Cirru", - "handler": "Editor", - "extensions": [ - "cirru", - "cr" - ] - }, - { - "filetype": "Clojure", - "handler": "Editor", - "extensions": [ - "clj", - "cljs" - ] - }, - { - "filetype": "Cobol", - "handler": "Editor", - "extensions": [ - "CBL", - "COB" - ] - }, - { - "filetype": "coffee", - "handler": "Editor", - "extensions": [ - "coffee", - "cf", - "cson", - "Cakefile" - ] - }, - { - "filetype": "ColdFusion", - "handler": "Editor", - "extensions": [ - "cfm" - ] - }, - { - "filetype": "CSharp", - "handler": "Editor", - "extensions": [ - "cs" - ] - }, - { - "filetype": "Csound_Document", - "handler": "Editor", - "extensions": [ - "csd" - ] - }, - { - "filetype": "Csound_Orchestra", - "handler": "Editor", - "extensions": [ - "orc" - ] - }, - { - "filetype": "Csound_Score", - "handler": "Editor", - "extensions": [ - "sco" - ] - }, - { - "filetype": "CSS", - "handler": "Editor", - "extensions": [ - "css" - ] - }, - { - "filetype": "Curly", - "handler": "Editor", - "extensions": [ - "curly" - ] - }, - { - "filetype": "D", - "handler": "Editor", - "extensions": [ - "d", - "di" - ] - }, - { - "filetype": "Dart", - "handler": "Editor", - "extensions": [ - "dart" - ] - }, - { - "filetype": "Diff", - "handler": "Editor", - "extensions": [ - "diff", - "patch" - ] - }, - { - "filetype": "Directory", - "handler": "Explorer", - "extensions": [] - }, - { - "filetype": "Dockerfile", - "handler": "Editor", - "extensions": [ - ".Dockerfile" - ] - }, - { - "filetype": "Dot", - "handler": "Editor", - "extensions": [ - "dot" - ] - }, - { - "filetype": "Drools", - "handler": "Editor", - "extensions": [ - "drl" - ] - }, - { - "filetype": "DummySyntax", - "handler": "Editor", - "extensions": [ - "dummy" - ] - }, - { - "filetype": "HTML", - "handler": "Editor", - "extensions": [ - "html", - "htm", - "xhtml", - "vue", - "we", - "wpy" - ] - }, - { - "filetype": "Eiffel", - "handler": "Editor", - "extensions": [ - "e", - "ge" - ] - }, - { - "filetype": "EJS", - "handler": "Editor", - "extensions": [ - "ejs" - ] - }, - { - "filetype": "Elixir", - "handler": "Editor", - "extensions": [ - "ex", - "exs" - ] - }, - { - "filetype": "Elm", - "handler": "Editor", - "extensions": [ - "elm" - ] - }, - { - "filetype": "Erlang", - "handler": "Editor", - "extensions": [ - "erl", - "hrl" - ] - }, - { - "filetype": "Forth", - "handler": "Editor", - "extensions": [ - "frt", - "fs", - "ldr", - "fth", - "4th" - ] - }, - { - "filetype": "Fortran", - "handler": "Editor", - "extensions": [ - "f", - "f90" - ] - }, - { - "filetype": "FTL", - "handler": "Editor", - "extensions": [ - "ftl" - ] - }, - { - "filetype": "Gcode", - "handler": "Editor", - "extensions": [ - "gcode" - ] - }, - { - "filetype": "Gherkin", - "handler": "Editor", - "extensions": [ - "feature" - ] - }, - { - "filetype": "Gitignore", - "handler": "Editor", - "extensions": [ - ".gitignore" - ] - }, - { - "filetype": "Glsl", - "handler": "Editor", - "extensions": [ - "glsl", - "frag", - "vert" - ] - }, - { - "filetype": "Gobstones", - "handler": "Editor", - "extensions": [ - "gbs" - ] - }, - { - "filetype": "go", - "handler": "Editor", - "extensions": [ - "golang" - ] - }, - { - "filetype": "GraphQLSchema", - "handler": "Editor", - "extensions": [ - "gql" - ] - }, - { - "filetype": "Groovy", - "handler": "Editor", - "extensions": [ - "groovy" - ] - }, - { - "filetype": "HAML", - "handler": "Editor", - "extensions": [ - "haml" - ] - }, - { - "filetype": "Handlebars", - "handler": "Editor", - "extensions": [ - "hbs", - "handlebars", - "mustache" - ] - }, - { - "filetype": "Smarty", - "handler": "Editor", - "extensions": [ - "tpl", - "smarty" - ] - }, - { - "filetype": "Haskell", - "handler": "Editor", - "extensions": [ - "hs" - ] - }, - { - "filetype": "Haskell_Cabal", - "handler": "Editor", - "extensions": [ - "cabal" - ] - }, - { - "filetype": "haXe", - "handler": "Editor", - "extensions": [ - "hx" - ] - }, - { - "filetype": "Hjson", - "handler": "Editor", - "extensions": [ - "hjson" - ] - }, - { - "filetype": "HTML_Elixir", - "handler": "Editor", - "extensions": [ - "eex", - "html.eex" - ] - }, - { - "filetype": "HTML_Ruby", - "handler": "Editor", - "extensions": [ - "erb", - "rhtml", - "html.erb" - ] - }, - { - "filetype": "INI", - "handler": "Editor", - "extensions": [ - "ini", - "conf", - "cfg", - "prefs" - ] - }, - { - "filetype": "Io", - "handler": "Editor", - "extensions": [ - "io" - ] - }, - { - "filetype": "Jack", - "handler": "Editor", - "extensions": [ - "jack" - ] - }, - { - "filetype": "Jade", - "handler": "Editor", - "extensions": [ - "jade", - "pug" - ] - }, - { - "filetype": "Java", - "handler": "Editor", - "extensions": [ - "java" - ] - }, - { - "filetype": "JavaScript", - "handler": "Editor", - "extensions": [ - "js", - "jsm" - ] - }, - { - "filetype": "JSX", - "handler": "Editor", - "extensions": [ - "jsx" - ] - }, - { - "filetype": "JSON", - "handler": "Editor", - "extensions": [ - "json" - ] - }, - { - "filetype": "JSONiq", - "handler": "Editor", - "extensions": [ - "jq" - ] - }, - { - "filetype": "JSP", - "handler": "Editor", - "extensions": [ - "jsp" - ] - }, - { - "filetype": "JSSM", - "handler": "Editor", - "extensions": [ - "jssm", - "jssm_state" - ] - }, - { - "filetype": "Julia", - "handler": "Editor", - "extensions": [ - "jl" - ] - }, - { - "filetype": "Kotlin", - "handler": "Editor", - "extensions": [ - "kt", - "kts" - ] - }, - { - "filetype": "Tex", - "handler": "Editor", - "extensions": [ - "tex" - ] - }, - { - "filetype": "LaTeX", - "handler": "Editor", - "extensions": [ - "latex", - "ltx", - "bib" - ] - }, - { - "filetype": "LESS", - "handler": "Editor", - "extensions": [ - "less" - ] - }, - { - "filetype": "Liquid", - "handler": "Editor", - "extensions": [ - "liquid" - ] - }, - { - "filetype": "Lisp", - "handler": "Editor", - "extensions": [ - "lisp" - ] - }, - { - "filetype": "LiveScript", - "handler": "Editor", - "extensions": [ - "ls" - ] - }, - { - "filetype": "LogiQL", - "handler": "Editor", - "extensions": [ - "logic", - "lql" - ] - }, - { - "filetype": "LSL", - "handler": "Editor", - "extensions": [ - "lsl" - ] - }, - { - "filetype": "Lua", - "handler": "Editor", - "extensions": [ - "lua" - ] - }, - { - "filetype": "LuaPage", - "handler": "Editor", - "extensions": [ - "lp" - ] - }, - { - "filetype": "Lucene", - "handler": "Editor", - "extensions": [ - "lucene" - ] - }, - { - "filetype": "Makefile", - "handler": "Editor", - "extensions": [ - ".Makefile", - ".GNUmakefile", - ".makefile", - ".OCamlMakefile", - ".make" - ] - }, - { - "filetype": "Markdown", - "handler": "Editor", - "extensions": [ - "md", - "markdown" - ] - }, - { - "filetype": "Mask", - "handler": "Editor", - "extensions": [ - "mask" - ] - }, - { - "filetype": "MATLAB", - "handler": "Editor", - "extensions": [ - "matlab" - ] - }, - { - "filetype": "Maze", - "handler": "Editor", - "extensions": [ - "mz" - ] - }, - { - "filetype": "MEL", - "handler": "Editor", - "extensions": [ - "mel" - ] - }, - { - "filetype": "MUSHCode", - "handler": "Editor", - "extensions": [ - "mc", - "mush" - ] - }, - { - "filetype": "MySQL", - "handler": "Editor", - "extensions": [ - "mysql" - ] - }, - { - "filetype": "Nix", - "handler": "Editor", - "extensions": [ - "nix" - ] - }, - { - "filetype": "NSIS", - "handler": "Editor", - "extensions": [ - "nsi", - "nsh" - ] - }, - { - "filetype": "ObjectiveC", - "handler": "Editor", - "extensions": [ - "m", - "mm" - ] - }, - { - "filetype": "OCaml", - "handler": "Editor", - "extensions": [ - "ml", - "mli" - ] - }, - { - "filetype": "Pascal", - "handler": "Editor", - "extensions": [ - "pas", - "p" - ] - }, - { - "filetype": "Perl", - "handler": "Editor", - "extensions": [ - "pl", - "pm" - ] - }, - { - "filetype": "pgSQL", - "handler": "Editor", - "extensions": [ - "pgsql" - ] - }, - { - "filetype": "PHP", - "handler": "Editor", - "extensions": [ - "php", - "phtml", - "shtml", - "php3", - "php4", - "php5", - "phps", - "phpt", - "aw", - "ctp", - "module" - ] - }, - { - "filetype": "Pig", - "handler": "Editor", - "extensions": [ - "pig" - ] - }, - { - "filetype": "Powershell", - "handler": "Editor", - "extensions": [ - "ps1" - ] - }, - { - "filetype": "Praat", - "handler": "Editor", - "extensions": [ - "praat", - "praatscript", - "psc", - "proc" - ] - }, - { - "filetype": "Prolog", - "handler": "Editor", - "extensions": [ - "plg", - "prolog" - ] - }, - { - "filetype": "Properties", - "handler": "Editor", - "extensions": [ - "properties" - ] - }, - { - "filetype": "Protobuf", - "handler": "Editor", - "extensions": [ - "proto" - ] - }, - { - "filetype": "Python", - "handler": "Editor", - "extensions": [ - "py" - ] - }, - { - "filetype": "R", - "handler": "Editor", - "extensions": [ - "r" - ] - }, - { - "filetype": "Razor", - "handler": "Editor", - "extensions": [ - "cshtml", - "asp" - ] - }, - { - "filetype": "Rdoc", - "handler": "Editor", - "extensions": [ - "Rd" - ] - }, - { - "filetype": "Red", - "handler": "Editor", - "extensions": [ - "red", - "reds" - ] - }, - { - "filetype": "RHTML", - "handler": "Editor", - "extensions": [ - "Rhtml" - ] - }, - { - "filetype": "RST", - "handler": "Editor", - "extensions": [ - "rst" - ] - }, - { - "filetype": "Ruby", - "handler": "Editor", - "extensions": [ - "rb", - "ru", - "gemspec", - "rake", - ".Guardfile", - ".Rakefile", - ".Gemfile" - ] - }, - { - "filetype": "Rust", - "handler": "Editor", - "extensions": [ - "rs" - ] - }, - { - "filetype": "SASS", - "handler": "Editor", - "extensions": [ - "sass" - ] - }, - { - "filetype": "SCAD", - "handler": "Editor", - "extensions": [ - "scad" - ] - }, - { - "filetype": "Scala", - "handler": "Editor", - "extensions": [ - "scala" - ] - }, - { - "filetype": "Scheme", - "handler": "Editor", - "extensions": [ - "scm", - "sm", - "rkt", - "oak", - "scheme" - ] - }, - { - "filetype": "SCSS", - "handler": "Editor", - "extensions": [ - "scss" - ] - }, - { - "filetype": "SH", - "handler": "Editor", - "extensions": [ - "sh", - "bash", - ".bashrc" - ] - }, - { - "filetype": "SJS", - "handler": "Editor", - "extensions": [ - "sjs" - ] - }, - { - "filetype": "snippets", - "handler": "Editor", - "extensions": [ - "snippets" - ] - }, - { - "filetype": "Soy_Template", - "handler": "Editor", - "extensions": [ - "soy" - ] - }, - { - "filetype": "Space", - "handler": "Editor", - "extensions": [ - "space" - ] - }, - { - "filetype": "SQL", - "handler": "Editor", - "extensions": [ - "sql" - ] - }, - { - "filetype": "SQLServer", - "handler": "Editor", - "extensions": [ - "sqlserver" - ] - }, - { - "filetype": "Stylus", - "handler": "Editor", - "extensions": [ - "styl", - "stylus" - ] - }, - { - "filetype": "SVG", - "handler": "Editor", - "extensions": [ - "svg" - ] - }, - { - "filetype": "Swift", - "handler": "Editor", - "extensions": [ - "swift" - ] - }, - { - "filetype": "Tcl", - "handler": "Editor", - "extensions": [ - "tcl" - ] - }, - { - "filetype": "Text", - "handler": "Editor", - "extensions": [ - "txt" - ] - }, - { - "filetype": "Textile", - "handler": "Editor", - "extensions": [ - "textile" - ] - }, - { - "filetype": "Toml", - "handler": "Editor", - "extensions": [ - "toml" - ] - }, - { - "filetype": "TSX", - "handler": "Editor", - "extensions": [ - "tsx" - ] - }, - { - "filetype": "Twig", - "handler": "Editor", - "extensions": [ - "twig", - "swig" - ] - }, - { - "filetype": "Typescript", - "handler": "Editor", - "extensions": [ - "ts", - "typescript", - "str" - ] - }, - { - "filetype": "Vala", - "handler": "Editor", - "extensions": [ - "vala" - ] - }, - { - "filetype": "VBScript", - "handler": "Editor", - "extensions": [ - "vbs", - "vb" - ] - }, - { - "filetype": "Velocity", - "handler": "Editor", - "extensions": [ - "vm" - ] - }, - { - "filetype": "Verilog", - "handler": "Editor", - "extensions": [ - "v", - "vh", - "sv", - "svh" - ] - }, - { - "filetype": "VHDL", - "handler": "Editor", - "extensions": [ - "vhd", - "vhdl" - ] - }, - { - "filetype": "Wollok", - "handler": "Editor", - "extensions": [ - "wlk", - "wpgm", - "wtest" - ] - }, - { - "filetype": "XML", - "handler": "Editor", - "extensions": [ - "xml", - "rdf", - "rss", - "wsdl", - "xslt", - "atom", - "mathml", - "mml", - "xul", - "xbl", - "xaml" - ] - }, - { - "filetype": "XQuery", - "handler": "Editor", - "extensions": [ - "xq" - ] - }, - { - "filetype": "YAML", - "handler": "Editor", - "extensions": [ - "yaml", - "yml" - ] - } -] \ No newline at end of file diff --git a/src/containers/flatten.spec.ts b/src/containers/flatten.spec.ts deleted file mode 100644 index 6e97a1acd..000000000 --- a/src/containers/flatten.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { flattenArray, flattenObject } from './flatten'; - -describe('flattenArray', () => { - - it('flattenArray resolves simple arrays of depth 1', () => { - expect(flattenArray([1])).toStrictEqual([1]); - }); - - it('flattenArray resolves arrays of equal max-depth', () => { - expect(flattenArray([[1], [2]])).toStrictEqual([1, 2]); - }); - - it('flattenArray resolves arrays of non-equal max-depth', () => { - expect(flattenArray([[1], 2])).toStrictEqual([1, 2]); - }); - - it('flattenArray resolves heterogenous arrays of primitive value types', () => { - expect(flattenArray([[1, 2], [['apple'], [true]]])).toStrictEqual([1, 2, 'apple', true]); - }); - - it('flattenArray resolves heterogenous arrays of object types', () => { - const flatArray = [{ id: 1 }, { 2: 'pink' }, 'apple', { state: true }]; - expect(flattenArray([[{ id: 1 }, { 2: 'pink' }], [['apple'], [{ state: true }]]])).toStrictEqual(flatArray); - }); - -}); - -describe('flattenObject', () => { - it('flattenObject resolves nested heterogenous JavaScript objects', () => { - const origObj = { a: 'string', b: { c: 13 } }; - expect(flattenObject(origObj)).toMatchSnapshot(); - }); -}); \ No newline at end of file diff --git a/src/containers/git/git-add.ts b/src/containers/git/git-add.ts deleted file mode 100644 index 384d62bdd..000000000 --- a/src/containers/git/git-add.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { relative } from 'path'; -import execute from '../exec'; -import { getWorktreePaths } from './git-path'; -import { PathLike } from 'fs-extra'; - -/** - * Add file contents to the index (aka staging area). If the filepath is tracked by a branch in a linked worktree, then index updates - * will occur on the index file in the `GIT_DIR/worktrees/{branch}` directory. - * @param filepath The relative or absolute path to add. - * @returns {Promise} A Promise object containing a boolean indicating whether the file was successfully staged. - */ -export const add = async (filepath: PathLike): Promise => { - const { dir, worktreeDir } = await getWorktreePaths(filepath.toString()); - if (!dir) return false; // not under version control - - const root = worktreeDir ? worktreeDir : dir; - const relativePath = relative(root.toString(), filepath.toString()); - - const output = await execute({ - command: 'git', - args: ['add', relativePath], - cwd: root.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - console.log(`added ${filepath.toString()} `, output.stdout); - return true; -}; diff --git a/src/containers/git/git-branch.spec.ts b/src/containers/git/git-branch.spec.ts deleted file mode 100644 index a04a07e1d..000000000 --- a/src/containers/git/git-branch.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import * as branch from './git-branch'; - -describe('containers/git/git-branch', () => { - it('processBranchOutput handles local branches', () => { - const output = ' bugfix/handleHTTPS efa41605007195577e57f71446d6195489d4e329 [gone] Add HTTPS processor\n main 31e4d1636e687737f02905f29b9c0d0e5c442f4e Fail only on stderr messages'; - return expect(branch.processBranchOutput(output)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'main', scope: 'local', remote: 'origin', head: '31e4d1636e687737f02905f29b9c0d0e5c442f4e' }), - expect.objectContaining({ ref: 'bugfix/handleHTTPS', scope: 'local', remote: 'origin', head: 'efa41605007195577e57f71446d6195489d4e329' }) - ]) - ); - }); - - it('processBranchOutput handles remote branches', () => { - const output = ' remotes/origin/feature-ext 4a72a5333ef48a0668a3c1228787db9f326096bd demonstration sorting algorithm\n remotes/origin/main 31e4d1636e687737f02905f29b9c0d0e5c442f4e Fail only on stderr messages'; - return expect(branch.processBranchOutput(output)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'main', scope: 'remote', remote: 'origin', head: '31e4d1636e687737f02905f29b9c0d0e5c442f4e' }) - ]) - ); - }); -}); \ No newline at end of file diff --git a/src/containers/git/git-branch.ts b/src/containers/git/git-branch.ts deleted file mode 100644 index 2794c22b1..000000000 --- a/src/containers/git/git-branch.ts +++ /dev/null @@ -1,318 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { Branch } from '../../store/slices/branches'; -import { Expand, isDefined, removeNullableProperties, WithRequired } from '../utils'; -import execute from '../exec'; - -type BranchOutput = Expand>, 'ref'>>; - -/** - * List branches. The default is to list local branches (similar to `git branch`). Enabling additional options expands the output. - * Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.showCurrent - Optional flag to only print the name of the current branch. In detached HEAD state, nothing is printed. - * @param obj.all - Optional flag to list both remote-tracking branches and local branches. - * @param obj.remotes - Optional flag to list the remote-tracking branches. - * @param obj.verbose - Optional flag to show SHA-1 and commit subject line for each head, along with relationship to upstream - * branch (if any). - * @returns {Promise>} A Promise object containing an array of {@link BranchOutput} objects - * representing known branch information. - */ -export const listBranch = async ({ - dir, - showCurrent = false, - all = false, - remotes = false, - verbose = false -}: { - dir: PathLike; - showCurrent?: boolean; - all?: boolean; - remotes?: boolean; - verbose?: boolean; -}): Promise> => { - const verboseOption = verbose ? '--verbose --no-abbrev' : ''; - - // Remove any remote-tracking references that no longer exist on the remote - // TODO: Migrate into any future `git-fetch` implementation - const cleanup = await execute({ - command: 'git', - args: ['fetch', '--prune', '-a'], - cwd: dir.toString() - }); - if (cleanup.stderr) console.error(cleanup.stderr); - if (cleanup.stdout) console.log(cleanup.stdout); - - if (showCurrent) { - const output = await execute({ - command: 'git', - args: ['branch', '--show-current'], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return [{ ref: output.stdout?.replace(/[\n\r]/g, '') ?? '' }]; - } - - if (all) { - const output = await execute({ - command: 'git', - args: ['branch', '--all', verboseOption], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processBranchOutput(output.stdout); - } - - if (remotes) { - const output = await execute({ - command: 'git', - args: ['branch', '--remotes', verboseOption], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processBranchOutput(output.stdout); - } - - const output = await execute({ - command: 'git', - args: ['branch', verboseOption], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processBranchOutput(output.stdout); -}; - -/** - * Create a new branch head named `branchName` which points to the current HEAD, or `startPoint` if given. As a special - * case for `startPoint`, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one - * merge base. You can leave out at most on of `A` or `B`, in which case it defaults to HEAD. Matches the functionality - * of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.branchName - Branch name that should be created. - * @param obj.startPoint - The new branch head will point to this commit. It may be given as a branch name, a commit id, - * or a tag. If this option is omitted, the current HEAD will be used instead. - * @param obj.force - Optional flag to reset `branchName` to `startPoint`, even if `branchName` exists already. Otherwise, - * this command refuses to change an existing branch. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully created. - */ -export const createBranch = async ({ - dir, - branchName, - startPoint = 'HEAD', - force = false -}: { - dir: PathLike; - branchName: string; - startPoint?: string; - force?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['branch', branchName, startPoint, force ? '--force' : ''], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - return true; -}; - -/** - * Set up the branch tracking information so that `upstream` is considered the `branchName`'s upstream branch. If no `branchName` - * is specified, then it defaults to the current branch in the worktree root directory. This can also be achieved using - * `git push --set-upstream`. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.upstream - The remote name (e.g. `origin`). - * @param obj.branchName - Optional branch name that should be updated; defaults to the current branch if not provided. - */ -export const setUpstreamBranch = async ({ - dir, - upstream, - branchName -}: { - dir: PathLike; - upstream: string; - branchName?: string; -}) => { - const output = await execute({ - command: 'git', - args: ['branch', `--set-upstream-to=${upstream}`, branchName ?? ''], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - if (output.stdout) console.log(output.stdout); -}; - -/** - * Remove the upstream information for `branchName`. If no branch is specified it defaults to the current branch. Matches the - * functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.branchName - Optional branch name that should be updated; defaults to the current branch if not provided. - */ -export const unsetUpstreamBranch = async ({ - dir, - branchName -}: { - dir: PathLike; - branchName?: string; -}) => { - const output = await execute({ - command: 'git', - args: ['branch', '--unset_upstream', branchName ?? ''], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - if (output.stdout) console.log(output.stdout); -}; - -/** - * Move/rename a branch, together with its config and reflog. - * Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.newBranch - New branch name. - * @param obj.oldBranch - Optional old branch name that will be renamed to the new branch name. If the old branch had a corresponding - * reflog, it is renamed to match new branch name, and a reflog entry is created to remember the branch renaming. If new branch name - * exists, then `force` must be used for the rename to happen. - * @param obj.force - Optional flag to allow renaming the branch even if the new branch name already exists. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully moved. - */ -export const moveBranch = async ({ - dir, - newBranch, - oldBranch, - force = false -}: { - dir: PathLike; - newBranch: string; - oldBranch?: string; - force?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['branch', '--move', force ? '--force' : '', oldBranch ?? '', newBranch], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Copy a branch, together with its config and reflog. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.newBranch - New branch name. - * @param obj.oldBranch - Optional old branch name that will be copied to the new branch name, along with its config and reflog. - * @param obj.force - Optional flag to allow copying the branch even if the new branch name already exists. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully copied. - */ -export const copyBranch = async ({ - dir, - newBranch, - oldBranch, - force = false -}: { - dir: PathLike; - newBranch: string; - oldBranch?: string; - force?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['branch', '--copy', force ? '--force' : '', oldBranch ?? '', newBranch], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Delete a branch. The branch must be fully merged in its upstream branch, or in HEAD if no upstream was set with `git branch --track` or - * `git branch --set-upstream-to`. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.branchName - The branch to be deleted. You may specify more than one branch for deletion. If the branch currently has a reflog - * then the reflog will also be deleted. - * @param obj.remote - Optional flag to delete remote-tracking branches. Note, that it only makes sense to delete remote-tracking branches - * if they no longer exist in the remote repository or if `git fetch` was configured not to fetch them again. - * @param obj.force - Optional flag to allow deleting the branch irrespective of its merged status, or whether it even points to a valid commit. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully deleted. - */ -export const deleteBranch = async ({ - dir, - branchName, - remote = false, - force = false -}: { - dir: PathLike; - branchName: string; - remote?: boolean; - force?: boolean; -}) => { - const output = await execute({ - command: 'git', - args: ['branch', '--delete', force ? '--force' : '', remote ? '-r' : '', branchName], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -export const processBranchOutput = (output: string | undefined): BranchOutput[] => { - if (!isDefined(output)) return []; - const result: BranchOutput[] = output - .split(/\r?\n/) - .map(line => { - /** - * Regex pattern matches with the following capture groups: - * [1] type of branch (`* ` indicates current branch, `+ ` indicates branch checked out into linked worktree) - * [2] branch ref (e.g. `master` or `remotes/origin/feature`) - * [3] points-to ref (i.e. the name of the branch pointed to by this ref; `origin/master` from `remotes/origin/HEAD -> origin/master`) - * [4] sha1 hash for the head of the branch (e.g. `e41340ac4`) - * [5] commit subject line for the head of the branch (e.g. `style: add divider rtl support (#23734)`) - */ - const linePattern = new RegExp( - '^(.{2})(\\S+)(?:(?: *-> )(\\S+))?(?:(?: +)([0-9a-f]{1,40}) (.*))?', - 'g' - ); - - /** - * Regex pattern matches with the following capture groups: - * [1] remote repository alias (i.e. only present if ref is for a remote branch; typically set to `origin`) - * [2] branch ref (e.g. `main`) - */ - const refPattern = new RegExp('(?:remotes/(?:(\\w+)/))?(.*)', 'g'); - - const lineResult = linePattern.exec(line); - const type = lineResult?.[1]; - const current = type === '* '; - const linked = type === '+ '; - const branchRef = lineResult?.[2]; - const head = lineResult?.[4]; - const refResult = branchRef ? refPattern.exec(branchRef) : undefined; - const ref = refResult?.[2]; - const scope: 'local' | 'remote' = refResult?.[1] ? 'remote' : 'local'; - const remote = refResult?.[1] ? refResult?.[1] : 'origin'; - return ref - ? { ref, ...removeNullableProperties({ scope, remote, head, current, linked }) } - : undefined; - }) - .filter(isDefined); - return result; -}; diff --git a/src/containers/git/git-cat-file.ts b/src/containers/git/git-cat-file.ts deleted file mode 100644 index a0a87282a..000000000 --- a/src/containers/git/git-cat-file.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { DateTime } from 'luxon'; -import { SHA1 } from '../../store/types'; -import { isDefined, isNumber, removeUndefined } from '../utils'; -import execute from '../exec'; -import { Commit } from '../../store/slices/commits'; - -/** - * Provide content or type and size information for repository objects. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.objectRef - The name of the object to show. - * @param obj.exists - Return with zero status if `objectRef` exists and is a valid object. If `objectRef` is of an invalid format exit - * with non-zero and emits an error on `stderr`. - * @param obj.pretty - Pretty-print the contents of `objectRef` based on its type. - * @returns {Promise} A Promise object containing a {@link Commit} object representing the - * contents of the `objectRef` based on its type. - */ -export const catFile = async ({ - dir, - objectRef, - exists = false, - pretty = true -}: { - dir: PathLike; - objectRef: SHA1; - exists?: boolean; - pretty?: boolean; -}): Promise => { - const type = exists ? '-e' : pretty ? '-p' : undefined; - const output = await execute({ - command: 'git', - args: removeUndefined(['cat-file', type, objectRef.toString()]), - cwd: dir.toString() - }); - - if (output.stderr) { - console.error(output.stderr); - return undefined; - } - return processCatFileOutput(output.stdout, objectRef); -}; - -// TODO: `processCatFileOutput` currently only handles pretty-print output -export const processCatFileOutput = (output: string | undefined, oid: SHA1): Commit | undefined => { - if (!isDefined(output)) return undefined; - /** - * Regex pattern matches with the following capture groups: - * [1] tree SHA1 hash (e.g. `8aad4dcd6aea0b8be81727e2aa957a65f08c4e4e`) - * [2] parent SHA1 hashes, possibly muliple separated by line breaks (e.g. `parent 8c15dc790f09eb1ace54e675bce092c8a5de361c`) - * [3] author name - * [4] author email - * [5] author timestamp (Unix timestamp in seconds, with timezone offset) - * [6] committer name - * [7] committer email - * [8] committer timestamp (Unix timestamp in seconds, with timezone offset) - * [9] commit message (e.g. `Merge branch 'feature' into main`) - */ - const linePattern = new RegExp( - '^(?:tree (.*)\\r?\\n)((?:parent \\w*\\r?\\n)+)?(?:author (?:(.*?) \\<(.*?)\\> (\\d*) (?:[-+]\\d*))\\r?\\n)(?:committer (?:(.*?) \\<(.*?)\\> (\\d*) (?:[-+]\\d*))\\r?\\n)?(?:gpgsig .*[\\s\\S]* -----END PGP SIGNATURE-----\\r?\\n \\r?\\n)?(?:\\r?\\n(.*[\\s\\S]*))$', - 'gm' - ); - - /** - * Regex pattern matches (possibly multiple matches) with the following capture groups: - * [1] parent SHA1 hash (e.g. `4796a15ce2b758a86297ab40f90d89cea5a5e499`) - */ - const parentPattern = new RegExp('(?:parent (\\w*)(?:\\r?\\n)?)', 'gm'); - - const lineResult = linePattern.exec(output); - const tree = lineResult?.[1]; - const parentRefs = lineResult?.[2]; - const parents = parentRefs - ? removeUndefined( - Array.from(parentRefs.matchAll(parentPattern)).map(m => - isDefined(m[1]) ? m[1] : undefined - ) - ) - : []; - const authorName = lineResult?.[3]; - const authorEmail = lineResult?.[4]; - const authorTimestampRaw = lineResult?.[5]; - const authorTimestamp = - authorTimestampRaw && isNumber(authorTimestampRaw) - ? DateTime.fromSeconds(Number(authorTimestampRaw)).valueOf() - : undefined; - const committerName = lineResult?.[6]; - const committerEmail = lineResult?.[7]; - const committerTimestampRaw = lineResult?.[8]; - const committerTimestamp = - committerTimestampRaw && isNumber(committerTimestampRaw) - ? DateTime.fromSeconds(Number(committerTimestampRaw)).valueOf() - : undefined; - const message = lineResult?.[9]?.trim(); - - return tree - ? { - oid: oid, - message: message ?? '', - parents: parents ?? [], - author: { - name: authorName ?? '', - email: authorEmail ?? '', - timestamp: authorTimestamp - }, - committer: { - name: committerName ?? '', - email: committerEmail ?? '', - timestamp: committerTimestamp - } - } - : undefined; -}; diff --git a/src/containers/git/git-check-ref-format.ts b/src/containers/git/git-check-ref-format.ts deleted file mode 100644 index 9575f296a..000000000 --- a/src/containers/git/git-check-ref-format.ts +++ /dev/null @@ -1,20 +0,0 @@ -import execute from '../exec'; - -export const checkRefFormat = async ({ - refname, - branch = false -}: { - refname: string; - branch?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['check-ref-format', branch ? '--branch' : '', refname] - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - console.log(output.stdout); - return true; -}; diff --git a/src/containers/git/git-checkout.ts b/src/containers/git/git-checkout.ts deleted file mode 100644 index 707c5a844..000000000 --- a/src/containers/git/git-checkout.ts +++ /dev/null @@ -1,179 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { Either } from '../utils'; -import execute from '../exec'; - -/** - * Updates the files in the working tree to match the version in the index or the specified tree. If no pathspec was - * given, this command will also update HEAD to set the specified branch as the current branch. Matches the functionality - * of [`git-checkout`](https://git-scm.com/docs/git-checkout). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.branch - The branch name to switch to by updating the index and files in the working tree, and by pointing - * HEAD at the branch. - * @param obj.quiet - Optional flag to suppress feedback messages. - * @param obj.force - When switching branches, proceed even if the index or the working tree differs from HEAD, and even if - * there are untracked files in the way. When checking out paths from the index, do not fail upon unmerged entries; - * instead, unmerged entries are ignored. - * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between - * the current branch and the branch to which you are switching, the command refuses to switch branches in order to - * preserve your modifications in context. However, with this option, a three-way merge between the current branch, - * your working tree contents, and the new branch is done, and you will be on the new branch. - */ -export const checkoutBranch = async ({ - dir, - branch, - quiet = false, - force = false, - merge = false -}: { - dir: PathLike; - branch: string; - quiet?: boolean; - force?: boolean; - merge?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['checkout', branch, force ? '--force' : '', merge ? '--merge' : ''], - cwd: dir.toString() - }); - if (!quiet && output.stderr) console.error(output.stderr); -}; - -/** - * Prepare to work on top of `commitish`, by detaching HEAD at it, and updating the index and the files in the working - * tree. Local modifications to the files in the working tree are kept, so that the resulting working tree will be the - * state recorded in the commit plus the local modifications. When the `commitish` argument is a branch name, this - * command will detach HEAD at the tip of the branch. Matches the functionality of - * [`git-checkout`](https://git-scm.com/docs/git-checkout). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.commitish - The SHA1 commit hash or branch name to check out. - * @param obj.quiet - Optional flag for quiet, to suppress feedback messages. - * @param obj.force - When switching branches, proceed even if the index or the working tree differs from HEAD, and even if - * there are untracked files in the way. When checking out paths from the index, do not fail upon unmerged entries; - * instead, unmerged entries are ignored. - * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between - * the current branch and the branch to which you are switching, the command refuses to switch branches in order to - * preserve your modifications in context. However, with this option, a three-way merge between the current branch, - * your working tree contents, and the new branch is done, and you will be on the new branch. - */ -export const checkoutDetached = async ({ - dir, - commitish, - quiet = false, - force = false, - merge = false -}: { - dir: PathLike; - commitish: string; - quiet?: boolean; - force?: boolean; - merge?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['checkout', '--detach', commitish, force ? '--force' : '', merge ? '--merge' : ''], - cwd: dir.toString() - }); - if (!quiet && output.stderr) console.error(output.stderr); - if (!quiet && output.stdout) console.log(output.stdout); -}; - -/** - * Overwrite the contents of the files that match the pathspec. When the (most often a commit) is not given, overwrite working - * tree with the contents in the index. When the is given, overwrite both the index and the working tree with the contents at - * the . - * - * The index may contain unmerged entries because of a previous failed merge. By default, if you try to check out such an entry from the - * index, the checkout operation will fail and nothing will be checked out. Using -f will ignore these unmerged entries. The contents from - * a specific side of the merge can be checked out of the index by using --ours or --theirs. With -m, changes made to the working tree - * file can be discarded to re-create the original conflicted merge result. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.pathspec - Pattern used to limit paths in *git* commands. See: {@link https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefpathspecapathspec} - * @param obj.force - Ignore any unmerged entries in the index that may have been added during a previous failed merge. By default, if you - * try to check out such an entry from the index, the checkout operation will fail and nothing will be checked out. - * @param obj.ours - When checking out paths from the index, checkout stage #2 (ours) for unmerged paths. - * @param obj.theirs - When checking out paths from the index, checkout stage #3 (theirs) for unmerged paths. - * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between - * the current branch and the branch to which you are switching, the command refuses to switch branches in order to - * preserve your modifications in context. However, with this option, a three-way merge between the current branch, - * your working tree contents, and the new branch is done, and you will be on the new branch. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully overwritten. - */ -export const checkoutPathspec = async ({ - dir, - pathspec, - force = false, - ours = false, - theirs = false, - merge = false -}: Either< - { - dir: PathLike; - pathspec: string; - force?: boolean; - ours?: boolean; - merge?: boolean; - }, - { - dir: PathLike; - pathspec: string; - force?: boolean; - theirs?: boolean; - merge?: boolean; - } ->): Promise => { - const output = await execute({ - command: 'git', - args: [ - 'checkout', - force ? '--force' : '', - ours ? '--ours' : '', - theirs ? '--theirs' : '', - merge ? '--merge' : '', - '--', - pathspec - ], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - return true; -}; - -/** - * A new branch will be created as if [`git-branch`](https://git-scm.com/docs/git-branch) were called and then checked out. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. Matches the functionality of [`git-checkout`](https://git-scm.com/docs/git-checkout). - * @param obj.newBranch - The branch name to be created. - * @param obj.startPoint - The new branch head will point to this commit. It may be given as a branch name, a commit id, or a tag. - * If this option is omitted, the current HEAD will be used instead. - * @param obj.force - The new branch is created if it doesn't exist; otherwise, it is reset. - * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully created. - */ -export const checkoutNewBranch = async ({ - dir, - newBranch, - startPoint, - force = false -}: { - dir: PathLike; - newBranch: string; - startPoint: string; - force?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['checkout', force ? '-B' : '-b', newBranch, startPoint ?? ''], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - return true; -}; diff --git a/src/containers/git/git-clone.ts b/src/containers/git/git-clone.ts deleted file mode 100644 index 3e3e479d4..000000000 --- a/src/containers/git/git-clone.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { pathExists, PathLike } from 'fs-extra'; -import { dirname } from 'path'; -import execute from '../exec'; - -/** - * Clone a repository into a new directory. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.repo - The URL of a remote repository, or the path to a local repository. - * @param obj.branch - Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's - * HEAD, point to this branch name or SHA-1 instead. In a non-bare repository, this is the branch that will be checked out. - * @param obj.bare - Make a `bare` Git repsoitory. That is, instead of creating a directory and placing the administrative - * files in the `.git` sub-directory, make the directory itself the `$GIT_DIR`. This implies `--no-checkout` because there - * is nowhere to check out the working tree. Also the branch heads at the remote are copied directly to corresponding local - * branch heads, without mapping them to `refs/remotes/origin/`. When this option is used, neither remote-tracking branches - * nor the related configuration variables are created. - * @param obj.singleBranch - Clone only the history leading to the tip of a single branch, either specified by the `--branch` - * option or the primary branch remote’s HEAD points at. Further fetches into the resulting repository will only update the - * remote-tracking branch for the branch this option was used for the initial cloning. If the HEAD at the remote did not point - * at any branch when `singleBranch` clone was made, no remote-tracking branch is created. - * @param obj.noCheckout - No checkout of HEAD is performed after the clone is complete. - * @returns {Promise} A Promise object containing a boolean indicating whether the clone operation succeeded. - */ -export const cloneRepo = async ({ - dir, - repo, - branch, - bare, - singleBranch, - noCheckout -}: { - repo: URL | PathLike; - dir: PathLike; - branch?: string; - bare?: boolean; - singleBranch?: boolean; - noCheckout?: boolean; -}): Promise => { - const parentDir = dirname(dir.toString()); // the `dir` directory doesn't exist yet, so start from parent - if (!(await pathExists(parentDir))) - throw new Error(`ENOENT: no such file or directory, clone attempted in '${parentDir}'`); - const bareOption = bare ? `--bare` : ''; - const noCheckoutOption = noCheckout ? `--no-checkout` : ''; - const singleBranchOption = singleBranch ? `--single-branch` : ''; - const branchOption = branch ? `--branch ${branch}` : ''; - const output = await execute({ - command: 'git', - args: [ - 'clone', - repo.toString(), - dir.toString(), - branchOption, - bareOption, - noCheckoutOption, - singleBranchOption - ], - cwd: parentDir.toString() - }); - - const successfulClonePattern = new RegExp(/Cloning into '.*'.../, 'g'); - if ( - output.stderr && - (output.stderr.split(/\\r?\\n/).length > 1 || - successfulClonePattern.test(output.stderr) === false) - ) { - console.error(output.stderr); - return false; - } - console.log(output.stdout); - return true; -}; diff --git a/src/containers/git/git-commit.ts b/src/containers/git/git-commit.ts deleted file mode 100644 index c5e66593b..000000000 --- a/src/containers/git/git-commit.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { PathLike } from 'fs-extra'; -import execute from '../exec'; -import { checkoutDetached } from '../git/git-checkout'; -import { revParse } from './git-rev-parse'; - -/** - * Record changes to the repository. Create a new commit containing the current contents of the - * index and the given log message describing the changes. The new commit is a direct child of - * HEAD, usually the tip of the current branch, and the branch is updated to point to it (unless - * no branch is associated with the working tree, in which case HEAD is "detached" as described - * in {@linkcode checkoutDetached}. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.message - The commit message. - * @returns {Promise} A Promise object containing the SHA-1 hash of the new - * commit, or undefined if no commit was created. - */ -export const commit = async ({ - dir, - message -}: { - dir: PathLike; - message?: string; -}): Promise => { - const refPattern = new RegExp('\\[\\w+ (\\w+)\\]', 'g'); - const output = await execute({ - command: 'git', - args: ['commit', message ? `-m "${message}"` : ''], - cwd: dir.toString() - }); - - if (output.stderr) { - console.error(output.stderr); - return undefined; - } - const sha1 = refPattern.exec(output.stdout ?? '')?.[1]; - return sha1 ? await revParse({ dir: dir, args: [sha1] }) : undefined; -}; diff --git a/src/containers/git/git-config.ts b/src/containers/git/git-config.ts deleted file mode 100644 index d44a16c6f..000000000 --- a/src/containers/git/git-config.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { deleteProperty, getProperty, hasProperty, setProperty } from 'dot-prop'; -import { PathLike } from 'fs-extra'; -import getGitConfigPath from 'git-config-path'; -import * as ini from 'ini'; -import parse from 'parse-git-config'; -import { join, resolve } from 'path'; -import { writeFileAsync } from '../io'; -import { removeNullableProperties } from '../utils'; -import { getWorktreePaths } from './git-path'; -import { Repository } from '../../store/slices/repos'; -import parsePath from 'parse-path'; -import { extractFromURL } from './git-utils'; - -export type GitConfig = - | { scope: 'none' } - | { scope: 'local' | 'global'; value: string; origin?: string }; - -/** - * Read an entry from git-config files; modeled after the *isomorphic-git/getConfig* function, but includes additional functionality to resolve global - * git-config files. The return object indicates the value for the git config entry and the scope (`local` or `global`) in which the value was located. - * If the `local` or `global` parameter are disabled, set to `false`, then the search will not attempt to locate git-config files in that scope. If both - * parameters are enabled, then `local` scope is searched first and only if there were no matches will the `global` scope then be searched. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The working tree directory path. - * @param obj.gitdir - The git directory path. - * @param obj.keyPath - The dot notation path of the desired git config entry (i.e. `user.name` or `user.email`). - * @param obj.local - Allow search in the `local` git-config file (i.e. the `local` scope); defaults to true. - * @param obj.global - Allow search in the `global` git-config file (i.e. the `global` scope); defaults to true. - * @param obj.showOrigin - Show the origin path of the git-config file containing the matched entry. - * @returns {Promise} A Promise object containing the value and a scope indicating whether the entry was found in the `local` or `global` git-config - * file, or only a scope of `none` if the value could not be found in any scope. - */ -export const getConfig = async ({ - dir, - gitdir = join(dir.toString(), '.git'), - keyPath, - local = true, - global = true, - showOrigin = false -}: { - dir: PathLike; - gitdir?: PathLike; - keyPath: string; - local?: boolean; - global?: boolean; - showOrigin?: boolean; -}): Promise => { - const worktree = await getWorktreePaths(gitdir.toString()); - const localConfigPath = - local && worktree.gitdir ? resolve(join(worktree.gitdir.toString(), 'config')) : null; - const globalConfigPath = global ? getGitConfigPath('global') : null; - - const readConfigValue = async (configPath: string | null, key: string) => { - if (!configPath) return null; - const configFile = await parse({ path: configPath }); - if (!configFile) return null; - const config = parse.expandKeys(configFile); - return hasProperty(config, key) ? (getProperty(config, key) as string) : null; - }; - const includeOrigin = (configPath: string | null) => - showOrigin ? removeNullableProperties({ origin: configPath }) : {}; - - const localValue = local ? await readConfigValue(localConfigPath, keyPath) : null; - const globalValue = global ? await readConfigValue(globalConfigPath, keyPath) : null; - - if (localValue) return { scope: 'local', value: localValue, ...includeOrigin(localConfigPath) }; - if (globalValue) - return { scope: 'global', value: globalValue, ...includeOrigin(globalConfigPath) }; - return { scope: 'none' }; -}; - -/** - * Update an entry in the git-config files; modeled after the *isomorphic-git/setConfig* function, but includes additional functionality - * to resolve global git-config files. The scope is strictly respected (i.e. if the entry exists only in `global` scope but `local` scope - * is specified, then a new entry will be added to the git-config file in `local` scope). Entries can be removed by setting value to - * `undefined`; attempting to remove a non-existing entry will result in a no-op. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory path. - * @param obj.gitdir - The worktree git file or directory path. - * @param obj.scope - The scope indicating whether the entry update should occur in the `local` or `global` git-config file. - * @param obj.keyPath - The dot notation path of the desired git config entry (i.e. `user.name` or `user.email`). - * @param obj.value - The value to be added, updated, or removed (by setting `undefined`) from the git-config file. - * @returns {Promise} A Promise object containing a string in ini-format with the contents of the updated git-config file. - */ -export const setConfig = async ({ - dir, - gitdir = join(dir.toString(), '.git'), - scope, - keyPath, - value -}: { - dir: PathLike; - gitdir?: PathLike; - scope: 'local' | 'global'; - keyPath: string; - value: string | boolean | number | undefined; -}): Promise => { - const worktree = await getWorktreePaths(gitdir.toString()); - const configPath = - scope == 'local' && worktree.gitdir - ? resolve(join(worktree.gitdir.toString(), 'config')) - : getGitConfigPath('global'); - if (!configPath) return null; // no git-config file exists for the requested scope - - const configFile = await parse({ path: configPath }); - if (!configFile) return null; // git-config file cannot be parsed; possible corrupted file? - if (value === undefined) deleteProperty(configFile, keyPath); - else setProperty(configFile, keyPath, value); - - const updatedConfig = ini.stringify(configFile, { section: '', whitespace: true }); - await writeFileAsync(configPath, updatedConfig); - return updatedConfig; -}; - -export const getRemoteConfig = async ( - dir: PathLike | undefined -): Promise<{ url: parsePath.ParsedPath | undefined; oauth: Repository['oauth'] | undefined }> => { - const remoteConfig: GitConfig = dir - ? await getConfig({ dir: dir, keyPath: 'remote.origin.url' }) - : { scope: 'none' }; - return remoteConfig.scope !== 'none' - ? extractFromURL(remoteConfig.value) - : { url: undefined, oauth: undefined }; -}; - -export const getCredentials = async ( - dir: PathLike | undefined -): Promise<{ username: string; password: string }> => { - const usernameConfig: GitConfig = dir - ? await getConfig({ dir: dir, keyPath: 'user.name' }) - : { scope: 'none' }; - const passwordConfig: GitConfig = dir - ? await getConfig({ dir: dir, keyPath: 'credential.helper' }) - : { scope: 'none' }; - return { - username: usernameConfig.scope === 'none' ? '' : usernameConfig.value, - password: passwordConfig.scope === 'none' ? '' : passwordConfig.value - }; -}; diff --git a/src/containers/git/git-log.ts b/src/containers/git/git-log.ts deleted file mode 100644 index 890bc4dc2..000000000 --- a/src/containers/git/git-log.ts +++ /dev/null @@ -1,117 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { DateTime } from 'luxon'; -import { isDefined } from '../utils'; -import execute from '../exec'; -import { revParse } from './git-rev-parse'; -import { Commit } from '../../store/slices/commits'; - -/** - * Show commit logs. List commits that are reachable by following the parent links from the given commit(s), but exclude commits that are - * reachable from the one(s) given with a ^ in front of them. The output is given in reverse chronological order by default. - * - * You can think of this as a set operation. Commits reachable from any of the commits given on the command line form a set, and then - * commits reachable from any of the ones given with ^ in front are subtracted from that set. The remaining commits are what comes out - * in the command’s output. Various other options and paths parameters can be used to further limit the result. - * - * Thus, the following command: - * ``` - * $ git log foo bar ^baz - * ``` - * - * means "list all the commits which are reachable from foo or bar, but not from baz". - * - * A special notation `".."` can be used as a short-hand for `"^ "`. For example, either of the - * following may be used interchangeably: - * ``` - * $ git log origin..HEAD - * $ git log HEAD ^origin - * ``` - * - * Another special notation is `"..."` which is useful for merges. The resulting set of commits is the symmetric - * difference between the two operands. The following two commands are equivalent: - * ``` - * $ git log A B --not $(git merge-base --all A B) - * $ git log A...B - * ``` - * - * The command takes options applicable to the `git-rev-list` command to control what is shown and how, and options applicable to the - * `git-diff` command to control how the changes each commit introduces are shown. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.revRange - The revision range (or just SHA-1 commit hash) to begin walking backwards through the history from. - * @param obj.maxCount - Optional limit of the number of commits to output; defaults to infinity. - * @param obj.until - Optional threshold to limit commits older than a specific date. - * @param obj.paths - Optional simplication for only including commits modifying the given paths. - * @returns {Promise} A Promise object containing an array of {@link Commit} objects - * representing commit information. - */ -export const log = async ({ - dir, - revRange, - maxCount, - until -}: { - dir: PathLike; - revRange?: string; - maxCount?: number; - until?: DateTime; - paths?: PathLike[]; -}): Promise => { - const maxCountOption = maxCount ? `--max-count=${maxCount}` : ''; - const untilOption = until ? `--until=${until.toHTTP()}` : ''; - const revOption = revRange ?? ''; - const output = await execute({ - command: 'git', - args: ['log', maxCountOption, untilOption, revOption], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processLogOutput(output.stdout, dir); -}; - -export const processLogOutput = async ( - output: string | undefined, - dir: PathLike -): Promise => { - if (!isDefined(output)) return []; - /** - * Regex patterns that matches the following capture groups: - * [1] sha1 hash for the commit (e.g. `e629b39c2`) - * [2] list of branch refs pointing to this commit (e.g. `HEAD -> main, origin/main, origin/HEAD, good-branch`) - * [3] author name - * [4] author email - * [5] timestamp for commit (in RFC2822 format, including timezone offset) - * [6] commit message (e.g. `Bump dot-prop from 6.0.1 to 7.2.0 (#1070)`) - */ - const linePattern = new RegExp( - '^(?:commit )(\\w*)(?:(?: \\()(.*?)(?:\\)))?(?:\\r?\\nAuthor: )(.*?)(?:<)(.*)?(?:>)(?:\\r?\\nDate: {3})(.*)(?:\\r?\\n){2} {4}(.*)$', - 'gm' - ); - - return ( - await Promise.all( - Array.from(output.matchAll(linePattern), async line => { - const oid = line[1]; - // line[2] contains refs that are not currently being used - const authorName = line[3]; - const authorEmail = line[4]; - const timestamp = line[5]; - const message = line[6]; - const parentRevs = oid ? await revParse({ dir: dir, args: [`${oid}^@`] }) : undefined; - const parents = parentRevs !== undefined ? parentRevs.split(/\r?\n/) : []; - return oid && message - ? { - oid: oid, - message: message, - parents: parents, - author: { - name: authorName ?? '', - email: authorEmail ?? '', - timestamp: timestamp ? DateTime.fromRFC2822(timestamp).valueOf() : undefined - } - } - : undefined; - }) - ) - ).filter(isDefined); -}; diff --git a/src/containers/git/git-merge-base.ts b/src/containers/git/git-merge-base.ts deleted file mode 100644 index 549642401..000000000 --- a/src/containers/git/git-merge-base.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { SHA1 } from '../../store/types'; -import execute from '../exec'; -import { isDefined } from '../utils'; - -type MergeBaseOption = 'octopus' | 'independent' | 'isAncestor' | 'forkPoint'; - -/** - * Find as good common ancestors as possible for a merge. One common ancestor is better than - * another common ancestor if the latter is an ancestor of the former. A common ancestor that does - * not have any better common ancestor is a best common ancestor, i.e. a merge base. Note that - * there can be more than one merge base for a pair of commits. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.refs - The object ref(s) (e.g. commit oid or branch name) to calculate the common - * ancestor between. - * @param obj.all - Output all merge bases for the commits, instead of just one; defaults to - * `false`. - * @param obj.opt - Options for customizing the desired output; see: - * https://git-scm.com/docs/git-merge-base. - * @returns {Promise} A Promise object containing an array of {@link SHA1} - * objects representing the best common ancestor(s) between two or more commits to use in a - * three-way merge. - */ -export const mergeBase = async ({ - dir, - refs, - all = false, - opt -}: { - dir: PathLike; - refs: SHA1[]; - all?: boolean; - opt?: MergeBaseOption; -}): Promise => { - const option = opt ? processMergeBaseOption(opt) : ''; - const output = await execute({ - command: 'git', - args: ['merge-base', all ? '--all' : '', option, refs.join(' ')], - cwd: dir.toString() - }); - - if (output.stderr) { - console.error(output.stderr); - return undefined; - } - return processMergeBaseOutput(output.stdout); -}; - -const processMergeBaseOption = (option: MergeBaseOption) => { - switch (option) { - case 'octopus': { - return '--octopus'; - } - case 'independent': { - return '--independent'; - } - case 'isAncestor': { - return '--is-ancestor'; - } - case 'forkPoint': { - return '--fork-point'; - } - } -}; - -export const processMergeBaseOutput = (output: string | undefined): string[] | undefined => { - return isDefined(output) ? output.trim().split(/\r\n|\n/) : undefined; -}; diff --git a/src/containers/git/git-merge.spec.ts b/src/containers/git/git-merge.spec.ts deleted file mode 100644 index f53459006..000000000 --- a/src/containers/git/git-merge.spec.ts +++ /dev/null @@ -1,182 +0,0 @@ -describe('containers/git-merge', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // jest.spyOn(gitLog, 'log').mockResolvedValue([ - // { - // oid: '2a57bfcebde7479fd10578ae7da65c93fbb41514', - // message: 'example commit', - // parents: [], - // author: { - // name: 'John Doe', - // email: 'jdoe@company.com', - // timestamp: undefined - // } - // } - // ]); - // const instance = await mock({ - // '.syn': { - // 'bad-branch': { - // '.git': `gitdir: ${normalize('foo/.git/worktrees/bad-branch')}`, - // 'delta.txt': 'file contents' - // } - // }, - // foo: { - // 'add.ts': 'content', - // '.git': { - // worktrees: { - // 'bad-branch': { - // gitdir: `${normalize('.syn/bad-branch/.git')}` - // } - // } - // } - // } - // }); - // return mockedInstance = instance; - // }); - - // afterAll(() => { - // mockedInstance.reset(); - // jest.clearAllMocks(); - // }); - - // it('processMergeOutput handles already merged branches', async () => { - // const output = { - // stdout: `Already up to date.`, - // stderr: '' - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Passing', - // alreadyMerged: true, - // fastForward: false, - // output: output.stdout - // }); - // }); - - // it('processMergeOutput handles successful fast-forward merges', async () => { - // const output = { - // stdout: `Updating d044183..57dc89e - // Fast-forward - // test-1.txt | 0 - // test-2 | 0 - // 2 files changed, 0 insertions(+), 0 deletions(-) - // create mode 100644 test-1.txt - // create mode 100644 test-2 - // `, - // stderr: '' - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Passing', - // alreadyMerged: false, - // fastForward: true, - // output: output.stdout - // }); - // }); - - // it('processMergeOutput handles successful merges using merge strategies', async () => { - // const output = { - // stdout: `Merge made by the 'recursive' strategy. - // file1_merge.txt | 0 - // file2_merge_.text | 0 - // 2 files changed, 0 insertions(+), 0 deletions(-) - // create mode 100644 file1_merge.txt - // create 100644 file 2_merge.txt - // `, - // stderr: '' - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Passing', - // alreadyMerged: false, - // fastForward: false, - // mergeStrategy: 'recursive', - // mergeCommit: '2a57bfcebde7479fd10578ae7da65c93fbb41514', - // output: output.stdout - // }); - // }); - - // it('processMergeOutput handles successful rebase merges', async () => { - // const output = { - // stdout: `Successfully rebased and updated refs/heads/feat_branch.\n`, - // stderr: '' - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Passing', - // alreadyMerged: false, - // fastForward: false, - // mergeStrategy: 'rebase', - // output: output.stdout - // }); - // }); - - // it('processMergeOutput handles failed fast-forward merges', async () => { - // const output = { - // stdout: '', - // stderr: `fatal: Not possible to fast-forward, aborting.\n` - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Failing', - // alreadyMerged: false, - // fastForward: false, - // output: output.stderr - // }); - // }); - - // it('processMergeOutput handles halted merges with unmerged files', async () => { - // const output = { - // stdout: 'Updating 4796a15..75b2762', - // stderr: `error: Your local changes to the following files would be overwritten by merge: - // add.ts - // Please commit your changes or stash them before you merge. - // Aborting` - // }; - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Failing', - // alreadyMerged: false, - // fastForward: false, - // output: output.stderr - // }); - // }); - - // it('processMergeOutput handles failed merges with merge conflicts', async () => { - // const output = { - // stdout: `Auto-merging merge.txt - // CONFLICT (content): Merge conflict in merge.txt - // Automatic merge failed; fix conflicts and then commit the result.`, - // stderr: '' - // }; - // // mockedInstance.getRoot() must be used since __dirname will escape the mocked FS - // const absoluteFilepath = join(mockedInstance.getRoot(), 'foo', 'merge.txt'); - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Failing', - // alreadyMerged: false, - // fastForward: false, - // output: output.stdout, - // conflicts: expect.arrayContaining([expect.stringContaining(absoluteFilepath)]) - // }); - // }); - - // it('processMergeOutput handles failed rebase merges', async () => { - // const output = { - // stdout: `Auto-merging git_rebase/script2.sh - // CONFLICT (content): Merge conflict in git_rebase/script2.sh - // error: could not apply 7bb4ce4... Updated script2.sh - // Resolve all conflicts manually, mark them as resolved with - // "git add/rm ", then run "git rebase --continue". - // You can instead skip this commit: run "git rebase --skip". - // To abort and get back to the state before "git rebase", run "git rebase --abort". - // Could not apply 7bb4ce4... Updated script2.sh`, - // stderr: '' - // }; - // // mockedInstance.getRoot() must be used since __dirname will escape the mocked FS - // const absoluteFilepath = join(mockedInstance.getRoot(), 'foo', 'git_rebase', 'script2.sh'); - // return expect(merge.processMergeOutput(output, 'foo/')).resolves.toStrictEqual({ - // status: 'Failing', - // alreadyMerged: false, - // fastForward: false, - // output: output.stdout, - // conflicts: expect.arrayContaining([expect.stringContaining(absoluteFilepath)]) - // }); - // }); -}); diff --git a/src/containers/git/git-merge.ts b/src/containers/git/git-merge.ts deleted file mode 100644 index dcb3f9859..000000000 --- a/src/containers/git/git-merge.ts +++ /dev/null @@ -1,289 +0,0 @@ -import * as path from 'path'; -import { MergeOutput } from '../../store/types'; -import { getConflictingChunks, ProgressCallback, removeNullableProperties } from '../utils'; -import execute from '../exec'; -import { worktreeList } from './git-worktree'; -import { pathExists, PathLike } from 'fs-extra'; -import { getBranchRoot, getWorktreePaths } from './git-path'; -import { isDirectory, isEqualPaths, readFileAsync } from '../io'; -import { getIgnore } from './git-ignore'; -import { VersionedMetafile } from '../../store/slices/metafiles'; -import { log } from './git-log'; -import { revList } from './git-rev-list'; -import { revParse } from './git-rev-parse'; - -export type Conflict = Pick; -export type MergeAction = 'continue' | 'abort' | 'quit'; - -/** - * Incorporate changes from the named commits (since the time their histories diverged from the - * current branch) into the current branch. This command is used by `git pull` to incorporate - * changes from another repository and can be used by hand to merge changes from one branch into - * another. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.squash - Optional flag to produce the working tree and index state as if a real merge - * happened (except for the merge information), but do not actually make a commit, move the HEAD, - * or record `@GIT_DIR/MERGE_HEAD` (to cause the next `git commit` command to create a merge - * commit). This allows you to create a single commit on top of the current branch whose effect is - * the same as merging another branch (or more in case of an octopus). Defaults to `false`. - * @param obj.fastForwardOnly - Optional flag to resolve the merge as a fast-forward when possible. - * When not possible, refuse to merge and exit with a non-zero status. Defaults to `false`. - * @param obj.verify - Optional flag to allow the *pre-merge* and *commit-msg* hooks to run. - * Defaults to `true`. - * @param obj.quiet - Optional flag to operate quietly. Defaults to `false`. - * @param obj.base - Optional alternate base branch name to specify linked worktrees. - * @param obj.commitish - The SHA1 commit hash or branch name to merge into our branch. - * @param obj.message - Set the commit message to be used for the merge commit (in case one is - * created). - * @param obj.onProgress - Callback for listening to intermediate progress events during the merge. - * @returns {Promise} A Promise object containing a {@link MergeOutput} object - * representing the results of the merge. - */ -export const mergeBranch = async ({ - dir, - squash = false, - fastForwardOnly = false, - verify = true, - quiet = false, - base, - commitish, - message, - onProgress -}: { - dir: PathLike; - squash?: boolean; - fastForwardOnly?: boolean; - verify?: boolean; - quiet?: boolean; - base?: string; - commitish: string; - message?: string; - onProgress?: ProgressCallback; -}): Promise => { - const baseBranch = base - ? (await worktreeList({ dir: dir })).find(w => w.ref === base) - : undefined; - const root = baseBranch?.root ? baseBranch.root : dir; - - if (!quiet && onProgress && baseBranch) { - const commits = ( - await revList({ dir: root, commitish: [baseBranch.ref, `^` + commitish] }) - ).split(/\r?\n/); - await Promise.all( - commits.map( - async (commit, idx) => - await onProgress({ - phase: `Merging commit '${commit}' into '${baseBranch.ref}' branch`, - loaded: idx, - total: commits.length - }) - ) - ); - } - const output = await execute({ - command: 'git', - args: [ - 'merge', - squash ? '--squash' : '', - quiet ? '--quiet' : '', - !verify ? '--no-verify' : '', - fastForwardOnly ? '--ff-only' : '', - commitish, - message ? `-m ${message}` : '' - ], - cwd: root.toString() - }); - - if (!quiet && output.stderr) { - if (onProgress) await onProgress({ phase: output.stderr, loaded: 1, total: 1 }); - console.error(output.stderr); - } - if (!quiet && output.stdout) { - if (onProgress) await onProgress({ phase: output.stdout, loaded: 1, total: 1 }); - console.log(output.stdout); - } - - return await processMergeOutput(output, root); -}; - -export const mergeInProgress = async ({ dir, action }: { dir: PathLike; action: MergeAction }) => { - const output = await execute({ - command: 'git', - args: ['merge', `--${action}`], - cwd: dir.toString() - }); - // TODO: false should be returned when the output is `fatal: There is no merge in progress (MERGE_HEAD missing).` - // TODO: false should be returned when the output is `fatal: There is no merge to abort (MERGE_HEAD missing).` - // TODO: false should be returned when `quit` is used, but there is no MERGE_HEAD (although no output is shown typically). - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Check for conflicting chunks within a specific directory or file. - * @param filepath - The relative or absolute path to evaluate. - * @returns {Promise} A Promise object containing an array of conflict information - * found in the specified file or directory (the array does not include entries for - * non-conflicting files). - */ -export const checkUnmergedPath = async (filepath: string): Promise => { - const isDir = await isDirectory(filepath); - return isDir ? await checkUnmergedDirectory(filepath) : await checkUnmergedFile(filepath); -}; - -const checkUnmergedFile = async (filepath: string): Promise => { - const { dir, worktreeDir } = await getWorktreePaths(filepath); - if (!dir) return []; - - const ignore = worktreeDir ? await getIgnore(worktreeDir, true) : await getIgnore(dir, true); - const relativePath = worktreeDir - ? path.relative(worktreeDir.toString(), filepath.toString()) - : path.relative(dir.toString(), filepath.toString()); - if (ignore.ignores(relativePath)) return []; - - const content = (await readFileAsync(filepath, { encoding: 'utf-8' })).toString(); - const conflicts = getConflictingChunks(content); - if (conflicts.length == 0) return []; - - return [{ path: filepath, conflicts: conflicts }]; -}; - -const checkUnmergedDirectory = async (directory: PathLike): Promise => { - const result = await execute({ - command: 'git', - args: ['diff', '--check'], - cwd: directory.toString() - }); - - const conflictPattern = /(.+?)(?<=:)(\d)*(?=:)/gm; // Matches `:` syntax, with a `:` positive lookbehind. - const conflictedFiles = new Map(); - result.stdout?.match(conflictPattern)?.forEach(match => { - const [filename, position] = match.split(':').slice(0, 2) as [string, number]; - const filepath = path.join(directory.toString(), filename); - const existing = conflictedFiles.get(filepath); - conflictedFiles.set(filepath, existing ? [...existing, position] : [position]); - }); - return Array.from(conflictedFiles).map(c => ({ path: c[0], conflicts: c[1] })); -}; - -/** - * Check for conflicts in a base branch after attempting to merge. - * @param dir The root directory of either the main worktree or linked worktree. - * @param branch The name of the branch to check against (i.e. the base branch). - * @returns {Promise} A Promise object containing an array of conflict information found in the specified branch. - */ -export const checkUnmergedBranch = async (dir: string, branch: string): Promise => { - const branchRoot = await getBranchRoot(dir, branch); - const worktree = await getWorktreePaths(dir); - const current = await revParse({ dir: dir, opts: ['abbrevRef'], args: ['HEAD'] }); - // skip any locally-tracked branches that are not checked out in the main worktree directory - const trackedLocalBranch = - branchRoot && worktree.dir - ? isEqualPaths(branchRoot, worktree.dir) && branch !== current - : false; - if (!branchRoot || trackedLocalBranch) return []; - - const result = await execute({ - command: 'git', - args: ['diff', '--check'], - cwd: branchRoot.toString() - }); - - const conflictPattern = /(.+?)(?<=:)(\d)*(?=:)/gm; // Matches `:` syntax, with a `:` positive lookbehind. - const conflictedFiles = new Map(); - result.stdout?.match(conflictPattern)?.forEach(match => { - const [filename, position] = match.split(':').slice(0, 2) as [string, number]; - const filepath = path.join(branchRoot.toString(), filename); - const existing = conflictedFiles.get(filepath); - conflictedFiles.set(filepath, existing ? [...existing, position] : [position]); - }); - return Array.from(conflictedFiles).map(c => ({ path: c[0], conflicts: c[1] })); -}; - -/** - * Resolve the names of branches involved in an in-progress merge, given the root directory path of the base branch. If the base branch is a - * linked worktree, then this function will extract the branch names from the `GIT_DIR/worktrees/{branch}/MERGE_MSG` file which has - * content similar to: - * ```bash - * Merge remote-tracking branch 'origin/compare' into base - * - * # Conflicts: - * # components/list/index.tsx - * ``` - * - * If the base branch is located in the main worktree directory, then we extract the branch names from the GIT_DIR/MERGE_MSG file which has - * content similar to: - * ```bash - * Merge branch 'compare' - * - * # Conflicts: - * # components/list/index.tsx - * ``` - * @param root The root directory of the base branch involved in the merge; either a main or linked worktree path can be resolved. - * @returns {Promise<{ base: string | undefined; compare: string | undefined; }>} A Promise object containing the base branch name (or - * undefined if not included in the `MERGE_MSG` file) and the compare branch name. - */ - -export const fetchMergingBranches = async ( - root: string -): Promise<{ base: string | undefined; compare: string | undefined }> => { - const branchPattern = /(?<=Merge( remote-tracking)? branch(es)? .*)('.+?')+/gm; // Match linked worktree and main worktree patterns - const { gitdir, worktreeLink } = await getWorktreePaths(root); - const mergeMsg = worktreeLink - ? path.join(worktreeLink.toString(), 'MERGE_MSG') - : gitdir - ? path.join(gitdir.toString(), 'MERGE_MSG') - : ''; - const message = (await pathExists(mergeMsg)) - ? (await readFileAsync(mergeMsg, { encoding: 'utf-8' })).toString() - : ''; - const match = message.match(branchPattern); - return match - ? match.length === 2 - ? { - base: (match[0] as string).replace(/['"]+/g, ''), - compare: (match[1] as string).replace(/['"]+/g, '') - } - : { base: undefined, compare: (match[0] as string).replace(/['"]+/g, '') } - : { base: undefined, compare: undefined }; -}; - -export const processMergeOutput = async ( - output: Awaited>, - root: PathLike -): Promise => { - const failedPattern = new RegExp('(fatal|error):', 'gm'); - const alreadyMergedPattern = new RegExp('Already up to date.', 'gm'); - const conflictPattern = new RegExp('(?<=Merge conflict in ).*(?=\\r?\\n)', 'gm'); - const fastForwardPattern = new RegExp('(? path.resolve(root.toString(), filepath)); - const rebaseStrategy = output.stdout?.match(rebasePattern) ? true : false; - const mergeStrategy = output.stdout ? mergeStrategyPattern.exec(output.stdout)?.[1] : undefined; - const mergeCommit = mergeStrategy ? (await log({ dir: root }))[0]?.oid : undefined; - const failed = output.stderr?.match(failedPattern) ? true : false; - - const mergeOutput: MergeOutput = { - status: failed || (conflicts && conflicts.length > 0) ? 'Failing' : 'Passing', - alreadyMerged: alreadyMerged, - fastForward: fastForward, - output: failed ? output.stderr ?? '' : output.stdout ?? '', - ...removeNullableProperties({ - mergeCommit: mergeCommit, - mergeStrategy: rebaseStrategy ? 'rebase' : mergeStrategy, - conflicts: conflicts - }) - }; - return mergeOutput; -}; diff --git a/src/containers/git/git-path.spec.ts b/src/containers/git/git-path.spec.ts deleted file mode 100644 index 7ecc790ac..000000000 --- a/src/containers/git/git-path.spec.ts +++ /dev/null @@ -1,149 +0,0 @@ -describe('containers/git/git-path', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // '.syn': { - // 'bad-branch': { - // '.git': `gitdir: ${path.normalize('foo/.git/worktrees/bad-branch')}`, - // 'delta.txt': 'file contents' - // } - // }, - // foo: { - // 'add.ts': 'content', - // '.git': { - // worktrees: { - // 'bad-branch': { - // gitdir: `${path.normalize('.syn/bad-branch/.git')}` - // } - // } - // } - // }, - // bar: { - // 'beta.ts': 'content', - // '.git': { /* empty directory */ } - // }, - // baz: { - // 'alpha.ts': 'content', - // subproject: { - // 'gamma.ts': 'content', - // '.git': { /* empty directory */ } - // } - // } - // }); - // return mockedInstance = instance; - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('getRoot resolves to undefined on filepath in untracked directories', async () => { - // expect.assertions(3); - // await expect(getRoot('baz/alpha.ts')).resolves.toBeUndefined(); // file - // await expect(getRoot('baz')).resolves.toBeUndefined(); // directory - // // mockedInstance.getRoot() must be used since __dirname will escape the mocked FS - // const absoluteFilepath = path.join(mockedInstance.getRoot(), 'baz'); - // await expect(getRoot(absoluteFilepath)).resolves.toBeUndefined(); // absolute filepath - // }); - - // it('getRoot resolves to Git root directory on filepath in tracked directories', async () => { - // expect.assertions(3); - // await expect(getRoot('foo/add.ts')).resolves.toBe('foo'); // file - // await expect(getRoot('baz/subproject')).resolves.toBe(path.normalize('baz/subproject')); // directory - // const absoluteFilepath = path.join(mockedInstance.getRoot(), 'bar', 'beta.ts'); - // const absoluteGitRoot = path.join(mockedInstance.getRoot(), 'bar'); - // await expect(getRoot(absoluteFilepath)).resolves.toBe(absoluteGitRoot); // absolute filepath - // }); - - // it('getRoot resolves to Git root directory on untracked file in tracked directory', async () => { - // expect.assertions(1); - // await mockedInstance.addItem('foo/haze/test.js', 'content'); - // await expect(getRoot('foo/haze/test.js')).resolves.toBe('foo'); - // }); - - // it('getRoot fails with an error on non-existent path', async () => { - // expect.assertions(1); - // await expect(getRoot('zap/zeta.ts')).rejects.toThrow(/ENOENT/); - // }); - - // it('getBranchRoot resolves root path for main worktree from `dir` path', async () => { - // expect.assertions(1); - // jest.spyOn(gitShowBranch, 'showBranch').mockResolvedValue([{ ref: 'bad-branch', remote: 'origin', scope: 'local' }, { ref: 'main', remote: 'origin', scope: 'local' }]); // mock for branches - // await expect(getBranchRoot('foo', 'main')).resolves.toEqual('foo'); - // }); - - // it('getBranchRoot resolves root path for main worktree from `worktreeDir` path', async () => { - // expect.assertions(1); - // jest.spyOn(gitShowBranch, 'showBranch').mockResolvedValue([{ ref: 'bad-branch', remote: 'origin', scope: 'local' }, { ref: 'main', remote: 'origin', scope: 'local' }]); // mock for branches - // await expect(getBranchRoot('.syn/bad-branch', 'main')).resolves.toEqual('foo'); - // }); - - // it('getBranchRoot resolves root path for linked worktree from `dir` path', async () => { - // expect.assertions(1); - // jest.spyOn(gitShowBranch, 'showBranch').mockResolvedValue([{ ref: 'bad-branch', remote: 'origin', scope: 'local' }, { ref: 'main', remote: 'origin', scope: 'local' }]); // mock for branches - // await expect(getBranchRoot('foo', 'bad-branch')).resolves.toEqual(path.normalize('.syn/bad-branch')); - // }); - - // it('getBranchRoot resolves root path for linked worktree from `worktreeDir` path', async () => { - // expect.assertions(1); - // jest.spyOn(gitShowBranch, 'showBranch').mockResolvedValue([{ ref: 'bad-branch', remote: 'origin', scope: 'local' }, { ref: 'main', remote: 'origin', scope: 'local' }]); // mock for branches - // await expect(getBranchRoot('.syn/bad-branch', 'bad-branch')).resolves.toEqual(path.normalize('.syn/bad-branch')); - // }); - - // it('getWorktreePaths resolves path to main worktree file', async () => { - // expect.assertions(1); - // await expect(getWorktreePaths('foo/add.ts')).resolves.toEqual( - // expect.objectContaining({ - // dir: 'foo', - // gitdir: path.normalize('foo/.git'), - // worktrees: path.normalize('foo/.git/worktrees'), - // worktreeDir: undefined, - // worktreeGitdir: undefined, - // worktreeLink: undefined - // }) - // ); - // }); - - // it('getWorktreePaths resolves path in repo without linked worktrees', async () => { - // expect.assertions(1); - // await expect(getWorktreePaths('bar/beta.ts')).resolves.toEqual( - // expect.objectContaining({ - // dir: 'bar', - // gitdir: path.normalize('bar/.git'), - // worktrees: undefined, - // worktreeDir: undefined, - // worktreeGitdir: undefined, - // worktreeLink: undefined - // }) - // ); - // }); - - // it('getWorktreePaths resolves path to linked worktree file', async () => { - // expect.assertions(1); - // await expect(getWorktreePaths('.syn/bad-branch/delta.txt')).resolves.toEqual( - // expect.objectContaining({ - // dir: 'foo', - // gitdir: path.normalize('foo/.git'), - // worktrees: path.normalize('foo/.git/worktrees'), - // worktreeDir: path.normalize('.syn/bad-branch'), - // worktreeGitdir: path.normalize('.syn/bad-branch/.git'), - // worktreeLink: path.normalize('foo/.git/worktrees/bad-branch') - // }) - // ); - // }); - - // it('getWorktreePaths resolves path in the GIT_DIR/worktrees directory', async () => { - // expect.assertions(1); - // await expect(getWorktreePaths('foo/.git/worktrees/bad-branch')).resolves.toEqual( - // expect.objectContaining({ - // dir: 'foo', - // gitdir: path.normalize('foo/.git'), - // worktrees: path.normalize('foo/.git/worktrees'), - // worktreeDir: path.normalize('.syn/bad-branch'), - // worktreeGitdir: path.normalize('.syn/bad-branch/.git'), - // worktreeLink: path.normalize('foo/.git/worktrees/bad-branch') - // }) - // ); - // }); -}); diff --git a/src/containers/git/git-path.ts b/src/containers/git/git-path.ts deleted file mode 100644 index d898c5cfd..000000000 --- a/src/containers/git/git-path.ts +++ /dev/null @@ -1,202 +0,0 @@ -import { findUp, Match } from 'find-up'; -import { pathExists } from 'fs-extra'; -import { dirname, join, normalize, parse, relative } from 'path'; -import { extractStats, isDirectory, readDirAsync, readFileAsync } from '../io'; -import { showBranch } from './git-show-branch'; -import { PathLike } from '../../store/types'; -export type WorktreePaths = { - /** - * The main worktree root directory (e.g. *'/{project}'*), or `undefined` if not under version - * control. - */ - dir: PathLike | undefined; - /** - * The main worktree git directory (i.e. `GIT_DIR`, such as *'/{project}/.git'*), or `undefined` - * if not under version control). - */ - gitdir: PathLike | undefined; - /** - * The linked worktrees directory (i.e. `GIT_DIR/worktrees`, such as - * *'/{project}/.git/worktrees'*). - */ - worktrees: PathLike | undefined; - /** - * The linked worktree root directory (i.e. `/{project}/../.syn/{repo}/{branch}`), or - * `undefined` if not a linked worktree. - */ - worktreeDir: PathLike | undefined; - /** - * The linked worktree git file (e.g. *'/{project}/../.syn/{repo}/{branch}/.git'*, or - * `undefined` if not a linked worktree. - */ - worktreeGitdir: PathLike | undefined; - /** - * The direct link from linked worktree into the linked worktrees directory - * (i.e. `GIT_DIR/worktrees/{branch}`); this path is found in the linked worktree git file - * (`worktreeGitdir`). - */ - worktreeLink: PathLike | undefined; -}; - -/** - * Find the first matching directory based upon a `matcher` predicate. Starting at `filepath`, - * walks upward until it finds a directory that results in the `matcher` returning `true`. - * @param filepath - The relative or absolute path to evaluate. - * @param matcher - Called for each directory in the search. Returns `true` to stop the search, - * and `false` otherwise to continue. - * @returns {Promise} A Promise object containing the first directory path - * that resulted in the `matcher` predicate returning `true`. - */ -export const getMatchUp = async ( - filepath: PathLike, - matcher: (directory: string) => boolean | Promise -): Promise => { - return await findUp( - async directory => { - return (await matcher(directory)) ? directory : undefined; - }, - { cwd: filepath.toString(), type: 'directory' } - ); -}; - -/** - * Find the root git directory. Starting at filepath, walks upward until it finds a directory that - * contains a *.git* subdirectory (i.e. the `dir` in the `WorktreePaths` type). In the case of - * linked worktrees (see [git-worktree](https://git-scm.com/docs/git-worktree)), this will find and - * return a directory that contains a *.git* file instead (i.e. the `worktreeDir` in the - * `WorktreePaths` type). The resulting path is relative to the earliest directory in the given - * `filepath` (i.e. `/user/dir/file.txt` returns `/user/dir` even though `/home/user/dir` might be - * the full path to that directory); this translates into absolute paths yielding absolute paths, - * and relative paths yielding relative paths. - * @param filepath - The relative or absolute path to evaluate. - * @returns {Promise} A Promise object containing the root git directory path, - * or undefined if no root git directory exists for the filepath (i.e. the filepath is not part of - * a Git repository). - */ -export const getRoot = async (filepath: PathLike): Promise => { - const exists = await pathExists(filepath.toString()); - if (!exists) - throw new Error(`ENOENT: no such file or directory, getRoot '${filepath.toString()}'`); - - const matcher: (directory: string) => Match | Promise = async (directory: string) => { - const targetPath = join(directory, '.git'); - return (await pathExists(targetPath)) ? directory : undefined; - }; - - const dir = await findUp(matcher, { cwd: filepath.toString(), type: 'directory' }); - if (!dir) return undefined; - - const parsed = parse(filepath.toString()); // does not output relative root for relative filepaths - const inputRoot = parsed.root.length > 0 ? parsed.root : filepath.toString().split(/[\\/]/)[0]; - const root = inputRoot ? join(inputRoot, relative(inputRoot, dir)) : dir; - - return normalize(root); -}; - -/** - * Find the root git directory for a specific branch. For branches on a linked worktree, this - * corresponds to the `worktreeDir` in the `WorktreePaths` type. For all other locally tracked - * branches (i.e. branches that have previously been checked out), this corresponds to the `dir` in - * the `WorktreePaths` type. - * @param root - The relative or absolute path to a root directory (i.e. the `dir` or `worktreeDir` - * in the `WorktreePaths` type). - * @param branch - Name of the target branch. - * @returns {Promise} A Promise object containing the root git directory - * path, or undefined if no root git directory exists for the branch (i.e. the branch is - * remote-only or non-existent for the given repository). - */ -export const getBranchRoot = async ( - root: PathLike, - branch: string -): Promise => { - const { dir, worktrees } = await getWorktreePaths(root); - const existsLocally = - dir && (await showBranch({ dir: dir })).find(b => b.ref === branch) ? true : false; - if (!existsLocally) return undefined; // branch is either remote-only or non-existent - - // check to see if the branch matches one of the linked worktrees - const worktreeBranches = worktrees ? await readDirAsync(worktrees) : undefined; - const match = worktreeBranches ? worktreeBranches.find(w => w === branch) : undefined; - - // reading the `{dir}/.git/worktrees/{branch}/gitdir` file - const worktreeRoot = - match && worktrees - ? dirname( - (await readFileAsync(join(worktrees.toString(), match, 'gitdir'), { encoding: 'utf-8' })) - .toString() - .trim() - ) - : undefined; - - return worktreeRoot ? worktreeRoot : dir; -}; - -/** - * Find the worktree paths required for handling objects tracked under git-based version control. - * This function is capable of discerning paths maintained in linked worktrees and translating - * paths accordingly. - * @param target - The relative or absolute path to a file or directory. - * @returns {Promise} A `WorktreePaths` object containing all valid paths, and - * excluding any irrelevant paths (i.e. paths associated with linked worktrees when the target is - * maintained in the main worktree directory). - */ -export const getWorktreePaths = async (target: PathLike): Promise => { - const root = await getRoot(target); - // check for target parameter being contained within a linked worktree - const isLinkedWorktree = root ? !(await isDirectory(join(root.toString(), '.git'))) : false; - // check for target parameter being contained within a `GIT_DIR/worktrees/{branch}` directory - const isWorktreesDir = root - ? /^\.git([\\]+|\/)worktrees([\\]+|\/).+/.test(relative(root.toString(), target.toString())) - : false; - - if (isWorktreesDir && root) { - const dir = root; - const gitdir = dir ? join(dir.toString(), '.git') : undefined; - const worktrees = gitdir ? join(gitdir, 'worktrees') : undefined; - - const match = relative(dir.toString(), target.toString()).match( - /(?<=^\.git[\\/]+worktrees[\\/]+)([^\\/\n]+)/ - ); - const branch = match ? match[0] : undefined; - - const worktreeGitdir = - worktrees && branch - ? (await readFileAsync(join(worktrees, branch, 'gitdir'), { encoding: 'utf-8' })) - .toString() - .trim() - : undefined; - const worktreeDir = worktreeGitdir ? join(worktreeGitdir, '..') : undefined; - const worktreeGitdirExists = worktreeGitdir ? await pathExists(worktreeGitdir) : false; - - const worktreeLink = - worktreeGitdir && worktreeGitdirExists - ? (await readFileAsync(worktreeGitdir, { encoding: 'utf-8' })) - .toString() - .slice('gitdir: '.length) - .trim() - : undefined; - - return { dir, gitdir, worktrees, worktreeDir, worktreeGitdir, worktreeLink }; - } - - // calculate paths associated with a linked worktree - const worktreeDir = isLinkedWorktree ? root : undefined; - const worktreeGitdir = worktreeDir ? join(worktreeDir.toString(), '.git') : undefined; - - const worktreeLink = worktreeGitdir - ? (await readFileAsync(worktreeGitdir, { encoding: 'utf-8' })) - .toString() - .slice('gitdir: '.length) - .trim() - : undefined; - - // calculate paths associated with the main worktree - const dir = !isLinkedWorktree ? root : await getRoot(worktreeLink as string); - const gitdir = dir ? join(dir.toString(), '.git') : undefined; - const worktreesPath = gitdir ? join(gitdir, 'worktrees') : undefined; - // verify that the `GIT_DIR/worktrees` directory exists - const worktrees = - worktreesPath && !(await extractStats(worktreesPath)) ? undefined : worktreesPath; - - return { dir, gitdir, worktrees, worktreeDir, worktreeGitdir, worktreeLink }; -}; diff --git a/src/containers/git/git-remote.spec.ts b/src/containers/git/git-remote.spec.ts deleted file mode 100644 index f237b9993..000000000 --- a/src/containers/git/git-remote.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as remote from './git-remote'; - -describe('containers/git/git-remote', () => { - it('processRemoteOutput resolves names of tracked repositories', () => { - return expect(remote.processRemoteOutput('origin\nstaging')).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ remote: 'origin' }), - expect.objectContaining({ remote: 'staging' }) - ]) - ); - }); - - it('processRemoteOutput verbosely resolves tracked repositories', () => { - const output = 'origin https://github.com/SampleProj/sample.git (fetch)\norigin https://github.com/SampleProj/sample.git (push)\nstaging https://github.com/SampleProj/staging.git (fetch)\nstaging https://github.com/SampleProj/staging.git (push)'; - return expect(remote.processRemoteOutput(output)).toStrictEqual( - [ - { remote: 'origin', url: 'https://github.com/SampleProj/sample.git', type: 'fetch' }, - { remote: 'origin', url: 'https://github.com/SampleProj/sample.git', type: 'push' }, - { remote: 'staging', url: 'https://github.com/SampleProj/staging.git', type: 'fetch' }, - { remote: 'staging', url: 'https://github.com/SampleProj/staging.git', type: 'push' } - ]); - }); -}); \ No newline at end of file diff --git a/src/containers/git/git-remote.ts b/src/containers/git/git-remote.ts deleted file mode 100644 index ea2e31e44..000000000 --- a/src/containers/git/git-remote.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { isDefined, removeUndefined, removeNullableProperties } from '../utils'; -import execute from '../exec'; - -export type RemoteOutput = { - remote: string; - url?: URL | PathLike; - type?: 'fetch' | 'push'; -}; - -const isRemoteType = (type: string | undefined): type is 'fetch' | 'push' => { - return type === 'fetch' || type === 'push'; -}; - -/** - * Manage the set of remote repositories whoe branches are tracked. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.verbose - More verbose output that includes remote URL and type. - * @returns {Promise>} A Promise object containing an array of - * {@link RemoteOutput} objects representing tracked repositories. - */ -export const getRemote = async ({ - dir, - verbose = false -}: { - dir: PathLike; - verbose?: boolean; -}): Promise> => { - const options = removeUndefined([verbose ? '--verbose' : undefined]); - - const output = await execute({ - command: 'git', - args: ['remote', ...options], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processRemoteOutput(output.stdout); -}; - -export const processRemoteOutput = (output: string | undefined): RemoteOutput[] => { - if (!isDefined(output)) return []; - const result: RemoteOutput[] = output - .split(/\r?\n/) - .map(line => { - /** - * Regex pattern matches with the following capture groups: - * [1] remote name - * [2] remote URL (or path if locally hosted) - * [3] remote type (`fetch` or `pull`) - */ - const linePattern = new RegExp('^(\\S*)(?:\\t(\\S*))?(?: \\((\\S*)\\))?', 'g'); - - const lineResult = linePattern.exec(line); - const name = lineResult?.[1]; - const url = lineResult?.[2]; - const type = lineResult?.[3]; - return name - ? { - remote: name, - ...removeNullableProperties({ url: url, type: isRemoteType(type) ? type : undefined }) - } - : undefined; - }) - .filter(isDefined); - return result; -}; diff --git a/src/containers/git/git-reset.ts b/src/containers/git/git-reset.ts deleted file mode 100644 index e6db06b97..000000000 --- a/src/containers/git/git-reset.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { PathLike } from 'fs-extra'; -import execute from '../exec'; -import { SHA1 } from '../../store/types'; - -type ResetMode = 'soft' | 'hard' | 'mixed' | 'merge' | 'keep'; - -/** - * Reset current HEAD reference to point to a specified state; i.e. undo a set of changes - * indicated by commits at the head of a branch and reset the branch to point to the - * target `commit`. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.mode - Optional mode for determining the `git-reset` operation. - * @param obj.commit - The SHA1 commit hash or branch name to reset file objects back to. - * @returns {Promise} A Promise object containing a boolean indicating whether the file - * content and branch references were successfully reset. - */ -export const reset = async ({ - dir, - mode = 'mixed', - commit -}: { - dir: PathLike; - mode?: ResetMode; - commit: SHA1; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['reset', `--${mode}`, commit.toString()], - cwd: dir.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; diff --git a/src/containers/git/git-restore.ts b/src/containers/git/git-restore.ts deleted file mode 100644 index 143330b68..000000000 --- a/src/containers/git/git-restore.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { PathLike } from 'fs-extra'; -import execute from '../exec'; -import { getWorktreePaths } from './git-path'; - -/** - * Restore specified paths in the working tree with some contents from a restore source. If a path - * is tracked but does not exist in the restore source, it will be removed to match the source. - * - * The command can also be used to restore the content in the index with `staged` option enabled, - * or restore both the working tree and the index with the `staged` and `worktree` options both - * enabled. - * - * By default, if `staged` is enabled, the contents are restored from HEAD, otherwise from the - * index. - * @param obj - A destructured object for named parameters. - * @param obj.filepath - The relative or absolute path to restore. - * @param obj.staged - Optional flag to restore the content in the index. - * @param obj.worktree - Optional flag to restore the working tree; default is true when both - * `worktree` and `staged` are not used. - * @returns {Promise} A Promise object containing a boolean indicating whether the file - * content was successfully restored. - */ -export const restore = async ({ - filepath, - staged = false, - worktree = false -}: { - filepath: PathLike; - staged?: boolean; - worktree?: boolean; -}): Promise => { - const { dir, worktreeDir } = await getWorktreePaths(filepath.toString()); - if (!dir) return false; // not under version control - - const root = worktreeDir ? worktreeDir : dir; - - const output = await execute({ - command: 'git', - args: ['restore', staged ? '--staged' : '', worktree ? '--worktree' : '', filepath.toString()], - cwd: root.toString() - }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; diff --git a/src/containers/git/git-rev-list.ts b/src/containers/git/git-rev-list.ts deleted file mode 100644 index 6d60a05f6..000000000 --- a/src/containers/git/git-rev-list.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { PathLike } from 'fs-extra'; -import execute from '../exec'; - -/** - * Lists commit objects in reverse chronological order. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.commitish - The list of SHA1 commit hashes or branch names to include; or exclude if `^` is given in front of an entry. - * @param obj.path - Restrict to only commits modifying a particular path. - * @param obj.options - Options for limiting the commits to be returned; see https://git-scm.com/docs/git-rev-list#_options. - * @param obj.count - Print a number stating how many commits whould have been listed, and suppress all other output. - * @returns {string} Raw output of commit objects (or count in the case of `count` option). - */ -export const revList = async ({ - dir, - commitish, - path, - options, - count = false -}: { - dir: PathLike; - commitish: string[]; - path?: PathLike; - options?: string; - count?: boolean; -}): Promise => { - const output = await execute({ - command: 'git', - args: ['rev-list', count ? '--count' : '', options ?? '', ...commitish, path?.toString() ?? ''], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return output.stdout ?? ''; -}; diff --git a/src/containers/git/git-rev-parse.ts b/src/containers/git/git-rev-parse.ts deleted file mode 100644 index 5a823f0da..000000000 --- a/src/containers/git/git-rev-parse.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { PathLike } from 'fs-extra'; -import execute from '../exec'; - -type RevParseOption = 'verify' | 'isBareRepository' | 'isShallowRepository' | 'abbrevRef'; - -/** - * Pick out and massage parameters for accessing porcelainish commands. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.opts - The options fo distinguishing particular parameters. - * @param obj.args - Flags and parameters to be parsed. - * @returns {Promise} A Promise object containing a string version of the output results, - * or `undefined` if execute failed. If `verify` option is used, this becomes `true`/`false` strings. - */ -export const revParse = async ({ - dir, - opts, - args -}: { - dir: PathLike; - opts?: RevParseOption[]; - args?: string[]; -}): Promise => { - const options = opts?.map(opt => processRevParseOption(opt)) ?? []; - const argument = args ?? []; - - const output = await execute({ - command: 'git', - args: ['rev-parse', ...options, ...argument], - cwd: dir.toString() - }); - if (output.stderr) { - if (options.includes('--verify')) return 'false'; - console.error(output.stderr); - } - if (options.includes('--verify')) return 'true'; - if (output.stdout) return output.stdout.trim(); - return undefined; -}; - -const processRevParseOption = (option: RevParseOption) => { - switch (option) { - case 'isBareRepository': { - return '--is-bare-repository'; - } - case 'isShallowRepository': { - return '--is-shallow-repository'; - } - case 'abbrevRef': { - return '--abbrev-ref'; - } - case 'verify': { - return '--verify'; - } - } -}; diff --git a/src/containers/git/git-show-branch.spec.ts b/src/containers/git/git-show-branch.spec.ts deleted file mode 100644 index 7f4f8c3a9..000000000 --- a/src/containers/git/git-show-branch.spec.ts +++ /dev/null @@ -1,40 +0,0 @@ -import * as gitShowBranch from './git-show-branch'; - -describe('containers/git/git-show-branch', () => { - it('processShowBranchOutput resolves tracked repositories using --list option (default)', () => { - const output = '* [fix/serializable-state-invariant-perf] removeNullableProperties fn properly conveys inaccessible nullable properties and refined union types for #1122\n [main] Default view set to `metadata` instead of `branches` to always display data (even when not a versioned metafile)'; - const remotes = ['origin']; - return expect(gitShowBranch.processShowBranchOutput(output, remotes)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'fix/serializable-state-invariant-perf', remote: 'origin', scope: 'local' }), - expect.objectContaining({ ref: 'main', remote: 'origin', scope: 'local' }) - ]) - ); - }); - - it('processShowBranchOutput resolves tracked repositories using --remote option', () => { - const output = ' [storage/v1.0.5] release version 1.0.5\n [origin/HEAD] Store MD5 checksum values for `Cache` file content (#1083)\n [origin/dependabot/npm_and_yarn/http-cache-semantics-4.1.1] Bump http-cache-semantics from 4.1.0 to 4.1.1'; - const remotes = ['origin', 'storage']; - return expect(gitShowBranch.processShowBranchOutput(output, remotes)).toStrictEqual( - expect.arrayContaining([ - { ref: 'v1.0.5', remote: 'storage', scope: 'remote' }, - { ref: 'HEAD', remote: 'origin', scope: 'remote' }, - { ref: 'dependabot/npm_and_yarn/http-cache-semantics-4.1.1', remote: 'origin', scope: 'remote' }, - ]) - ); - }); - - it('processShowBranchOutput resolves tracked repositories using --all option', () => { - const output = 'warning: ignoring origin/fix/serializable-state-invariant-perf; cannot handle more than 26 refs\nwarning: ignoring origin/main; cannot handle more than 26 refs\n* [fix/serializable-state-invariant-perf] Expand and ExpandRecursively utility types for expanding and resolving object types\n [main] Default view set to `metadata` instead of `branches` to always display data (even when not a versioned metafile)\n [storage/v1.0.5] release version 1.0.5\n [origin/HEAD] Store MD5 checksum values for `Cache` file content (#1083)\n [origin/dependabot/npm_and_yarn/http-cache-semantics-4.1.1] Bump http-cache-semantics from 4.1.0 to 4.1.1'; - const remotes = ['origin', 'storage']; - return expect(gitShowBranch.processShowBranchOutput(output, remotes)).toStrictEqual( - expect.arrayContaining([ - { ref: 'fix/serializable-state-invariant-perf', remote: 'origin', scope: 'local' }, - { ref: 'v1.0.5', remote: 'storage', scope: 'remote' }, - { ref: 'main', remote: 'origin', scope: 'local' }, - { ref: 'HEAD', remote: 'origin', scope: 'remote' }, - { ref: 'dependabot/npm_and_yarn/http-cache-semantics-4.1.1', remote: 'origin', scope: 'remote' } - ]) - ); - }); -}); \ No newline at end of file diff --git a/src/containers/git/git-show-branch.ts b/src/containers/git/git-show-branch.ts deleted file mode 100644 index 574982fc8..000000000 --- a/src/containers/git/git-show-branch.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { Branch } from '../../store/slices/branches'; -import { Expand, WithRequired, isDefined, removeUndefined } from '../utils'; -import execute from '../exec'; -import { getRemote } from './git-remote'; - -type BranchOutput = Expand>, 'ref' | 'scope'>>; - -/** - * Show branches and their commits. - * @param obj - A destructured object for named properties. - * @param obj.dir - The worktree root directory. - * @param obj.all - Show both remote-tracking branches and local branches. - * @param obj.remotes - Show the remote-tracking branches. - * @param obj.list - Usually the command stops output upon showing the commit that is the common ancestor - * of all the branches. This flag tells the command to display only the references given, without showing - * the commit ancestory tree. - * @returns {Promise>} A Promise object containing an array of - * {@link BranchOutput} objects representing tracked branches. - */ -export const showBranch = async ({ - dir, - all = false, - remotes = false, - list = true -}: { - dir: PathLike; - all?: boolean; - remotes?: boolean; - list?: boolean; -}): Promise> => { - const options = removeUndefined([ - all ? '--all' : undefined, - remotes ? '--remotes' : undefined, - list ? '--list' : undefined - ]); - - const output = await execute({ - command: 'git', - args: ['show-branch', ...options], - cwd: dir.toString() - }); - const remoteNames = (await getRemote({ dir: dir })).map(r => r.remote); - if (output.stderr) console.error(output.stderr); - return processShowBranchOutput(output.stdout, remoteNames); -}; - -export const processShowBranchOutput = ( - output: string | undefined, - remotes: string[] -): BranchOutput[] => { - if (!isDefined(output)) return []; - const result: BranchOutput[] = output - .split(/\r?\n/) - .map(line => { - /** - * Regex pattern matches with the following capture groups: - * [1] type of branch (`*` indicates current branch in the `dir` directory, otherwise `` for all other tracked branches) - * [2] remote repository alias (i.e. only present if ref is for a remote branch; typically set to `origin`) - * [3] branch ref (e.g. `master` or `feature/perf-improvements`) - */ - const linePattern = new RegExp( - `^(?:(\\*)|(?: )) \\[(?:(${remotes.join('|')})/)?(.*)\\]`, - 'g' - ); - - const lineResult = linePattern.exec(line); - const scope: 'local' | 'remote' = lineResult?.[2] ? 'remote' : 'local'; - const remote = lineResult?.[2] ?? 'origin'; - const ref = lineResult?.[3]; - return ref ? { ref: ref, scope: scope, remote: remote } : undefined; - }) - .filter(isDefined); - return result; -}; diff --git a/src/containers/git/git-status.ts b/src/containers/git/git-status.ts deleted file mode 100644 index 826968331..000000000 --- a/src/containers/git/git-status.ts +++ /dev/null @@ -1,227 +0,0 @@ -import { pathExists } from 'fs-extra'; -import { join, relative, resolve, sep } from 'path'; -import { BranchStatus, GitStatus, PathLike } from '../../store/types'; -import { isDirectory, isEqualPaths } from '../io'; -import execute from '../exec'; -import { getIgnore } from './git-ignore'; -import { getRoot, getWorktreePaths } from './git-path'; - -type StatusOutput = { - ref: string; - root: PathLike; - status: BranchStatus; - bare: boolean; - entries: { path: PathLike; status: GitStatus }[]; -}; - -/** - * Show the working tree status. This command displays paths that have differences between the - * index file and the current HEAD commit, paths that have differences between the working tree and - * the index file, and paths in the working tree that are not tracked by *git* (and are not ignored - * by `git-ignore`). - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.pathspec - Pattern used to limit paths in *git* commands. See additional documentation: - * {@link https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefpathspecapathspec pathspec}. - * @param obj.ignored - Optional flag to include ignored files in the output; defaults to false. - * @returns {Promise} A Promise object containing a {@link StatusOutput} - * object with branch status information, or `undefined` if not contained within a directory - * tracked by version control. - */ -export const worktreeStatus = async ({ - dir, - pathspec, - ignored = false -}: { - dir: PathLike; - pathspec?: PathLike | string; - ignored?: boolean; -}): Promise => { - /** - * Regex pattern matches with the following capture groups: - * [1] base branch ref (e.g. `main` from `## main`) - * [2] optional compare branch ref (e.g. `origin/main` from `## main...origin/main`) - */ - const branchesPattern = new RegExp('^## (.+?)(?:(?:\\.\\.\\.)(.+?))?$', 'gm'); - /** - * Regex pattern matches with the following capture groups: - * [1] status code (e.g. ` M` or `DD`) - * [2] relative filepath from root path (e.g. `src/component/Dialog`) - */ - const entriesPattern = new RegExp('(?<=\\r?\\n)(.{2}) (.*)', 'gm'); - const root = await getRoot(dir); - if (!root) return undefined; - const ignore = await getIgnore(root); - - const output = await execute({ - command: 'git', - args: [ - 'status', - '--porcelain', - '--branch', - ignored ? '--ignored' : '', - pathspec?.toString() ?? '' - ], - cwd: dir.toString() - }); - - const ref = output.stdout ? branchesPattern.exec(output.stdout)?.[1] : undefined; - const parentEntries: { path: PathLike; status: GitStatus }[] = []; - const entries: { path: PathLike; status: GitStatus }[] = Array.from( - output.stdout?.matchAll(entriesPattern) ?? [] - ) - .map(e => { - const filepath = e[2] as string; - const isIgnored = ignore.ignores(filepath); - // if git-status returns a filepath that includes parent directories - // (e.g. `lib/sample/example.ts`), then each parent must be updated - if (filepath.includes(sep)) { - const parentNames = filepath.split(sep).slice(0, -1); - const parents = parentNames.map((name, index) => - parentNames.slice(0, index).concat(name).join(sep) - ); - - parents.map(parent => { - const parentPath = resolve(root.toString(), parent); - if ( - !parentEntries.find(entry => isEqualPaths(entry.path, parentPath)) && - !isEqualPaths(parentPath, resolve(root.toString(), filepath)) - ) { - parentEntries.push({ - path: parentPath, - status: isIgnored ? 'ignored' : processStatusCode(e[1]) - }); - } - }); - } - return { - path: resolve(root.toString(), filepath), - status: isIgnored ? 'ignored' : processStatusCode(e[1]) - }; - }) - .concat(parentEntries); - const worktreePaths = await getWorktreePaths(root); - const mergingHead = worktreePaths.worktreeLink - ? await pathExists(join(worktreePaths.worktreeLink.toString(), 'MERGE_HEAD')) - : false; // check for an in-progress merge - const status: BranchStatus = - entries.find(e => e.status === 'unmerged') || mergingHead - ? 'unmerged' - : entries.length == 0 - ? 'clean' - : entries.every(e => e.status.startsWith('*') || e.status === 'absent') - ? 'unstaged' - : 'uncommitted'; - if (output.stderr) console.error(output.stderr); - - return { - ref: ref ? ref : '', - root: dir, - status: status, - bare: ref ? false : true, - entries: entries - }; -}; - -/** - * Show the git status for a specific file in the working tree. This is a convenience command for - * examining individual files and directories using the output from {@link worktreeStatus}. In the - * case of a directory, the resulting status is limited to indicating whether the directory is - * `ignored`, `unmodified`, `*modified`, `modified`, or `unmerged`. - * @param filepath - The relative or absolute path to evaluate. - * @returns {Promise} A Promise object containing the {@link GitStatus} for an - * individual filepath. - */ -export const fileStatus = async (filepath: PathLike): Promise => { - const root = await getRoot(filepath); - if (!root) { - console.error('git-status error: no .git exists within parent directories'); - return undefined; - } - const branchStatus = await worktreeStatus({ dir: root, pathspec: filepath }); - if (!branchStatus) { - console.error('git-status error: path not contained in a directory tracked by version control'); - return undefined; - } - const isDir = await isDirectory(filepath); - if (isDir) { - const isIgnored = isEqualPaths(root, filepath) - ? false - : (await getIgnore(root)).ignores(relative(root.toString(), filepath.toString())); - if (isIgnored) return 'ignored'; - - /** - * git-status might specify status for directories when unstaging using `git-restore` (e.g. - * unstaging a directory that is not currently tracked by git results in `added` instead of - * `*modified` status) - */ - const specifiedStatus = branchStatus.entries.find(e => - isEqualPaths(e.path, resolve(root.toString(), filepath.toString())) - )?.status; - if (specifiedStatus) return specifiedStatus; - - switch (branchStatus.status) { - case 'clean': - return 'unmodified'; - case 'unstaged': - return '*modified'; - case 'uncommitted': - return 'modified'; - case 'unmerged': - return 'unmerged'; - } - } else { - return ( - branchStatus.entries.find(e => - isEqualPaths(e.path, resolve(root.toString(), filepath.toString())) - )?.status ?? 'unmodified' - ); - } -}; - -/** - * Convert 2-digit status code to a {@link GitStatus} value, input format per - * https://git-scm.com/docs/git-status#_short_format: - * - * | X | Y | Meaning | - * | -------- | -------- | ------------------------------------- | - * | | [AMD] | not updated | - * | M | [ MTD] | updated in index | - * | T | [ MTD] | type changed in index | - * | A | [ MTD] | added to index | - * | D | | deleted from index | - * | R | [ MTD] | renamed in index | - * | C | [ MTD] | copied in index | - * | [MTARC] | | index and work tree matches | - * | [ MTARC] | M | work tree changed since index | - * | [ MTARC] | T | type changed in work tree since index | - * | [ MTARC] | D | deleted in work tree | - * | | R | renamed in work tree | - * | | C | copied in work tree | - * | D | D | unmerged, both deleted | - * | A | U | unmerged, added by us | - * | U | D | unmerged, deleted by them | - * | U | A | unmerged, added by them | - * | D | U | unmerged, deleted by us | - * | A | A | unmerged, both added | - * | U | U | unmerged, both modified | - * | ? | ? | untracked | - * | ! | ! | ignored | - * @param statusCode - A 2-digit status code from `git status --short` - * @returns {GitStatus} An enumerated git status value. - */ -export const processStatusCode = (statusCode: string | undefined): GitStatus => { - if (!statusCode) return 'unmodified'; - if (statusCode == '!!') return 'ignored'; // git-ignore rules exclude this filepath - if (statusCode == '??') return 'absent'; // untracked path; not present in index or working tree - if (/(DD|AA|.U|U.)/.test(statusCode)) return 'unmerged'; // unmerged; merge conflict has occurred and has not yet been resolved - if (/M(?=[ MTD])/.test(statusCode)) return 'modified'; - if (/(?=[ MTD])M/.test(statusCode)) return '*modified'; - if (/A(?=[ MTD])/.test(statusCode)) return 'added'; - if (/(?=[ MTD])A/.test(statusCode)) return '*added'; - if (/D(?=[ MTD])/.test(statusCode)) return 'deleted'; - if (/(?=[ MTD])D/.test(statusCode)) return '*deleted'; - - console.error(`Unable to convert '${statusCode}' status code`); - return 'unmodified'; -}; diff --git a/src/containers/git/git-utils.spec.ts b/src/containers/git/git-utils.spec.ts deleted file mode 100644 index dc5b579f4..000000000 --- a/src/containers/git/git-utils.spec.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { ParseArgsConfig } from 'util'; -import { extractRepoName, revParseArgs } from './git-utils'; - -describe('containers/git/git-utils', () => { - it('revParseArgs returns only enabled options', () => { - const options: ParseArgsConfig['options'] = { - exists: { type: 'boolean' }, - pretty: { type: 'boolean' } - }; - expect(revParseArgs({ exists: true, pretty: true }, options)).toEqual({ - exists: true, - pretty: true - }); - }); - - it('extractRepoName resolves git://*', () => { - expect(extractRepoName('git://github.com/octo-org/octo-repo')).toBe('octo-org/octo-repo'); - }); - - it('extractRepoName resolves git://*.git', () => { - expect(extractRepoName('git://github.com/octo-org/octo-repo.git')).toBe('octo-org/octo-repo'); - }); - - it('extractRepoName resolves https://*', () => { - expect(extractRepoName('https://treygriffith@bitbucket.org/bucket-org/cellar.git')).toBe( - 'bucket-org/cellar' - ); - }); - - it('extractRepoName resolves https://*.git', () => { - expect(extractRepoName('https://gitlab.com/gitlab-org/omnibus-gitlab.git')).toBe( - 'gitlab-org/omnibus-gitlab' - ); - }); - - it('extractRepoName resolves ssh://*.git', () => { - expect(extractRepoName('ssh://git@gitlab.com/labuser/lab-repo.git')).toBe('labuser/lab-repo'); - }); - - it('extractRepoName resolves https://gist', () => { - expect(extractRepoName('https://bitbucket.org/snippets/vmaric/oed9AM/hello-json-message')).toBe( - 'vmaric/oed9AM/hello-json-message' - ); - }); - - it('extractRepoName resolves git@*.git', () => { - expect(extractRepoName('git@gitlab.com:Nada/algorand.git')).toBe('Nada/algorand'); - }); - - it('extractRepoName resolves git@gist', () => { - expect(extractRepoName('git@gist.github.com:3135914.git')).toBe('3135914'); - }); - - it('extractRepoName resolves git+https://*.git#tag', () => { - expect(extractRepoName('git+https://github.com/octo-org/octo-repo.git#2.7.0')).toBe( - 'octo-org/octo-repo' - ); - }); - - it('extractRepoName resolves git+ssh://*.git', () => { - expect(extractRepoName('git+ssh://github.com/octo-org/argyle.git')).toBe('octo-org/argyle'); - }); -}); diff --git a/src/containers/git/git-utils.ts b/src/containers/git/git-utils.ts deleted file mode 100644 index 748eab452..000000000 --- a/src/containers/git/git-utils.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { toHTTPS } from 'git-remote-protocol'; -import parsePath from 'parse-path'; -import parseUrl from 'parse-url'; -import { isWebUri } from 'valid-url'; -import { Repository } from '../../store/slices/repos'; -import { isDefined } from '../utils'; -import { ParseArgsConfig, parseArgs } from 'util'; - -export const revParseArgs = ( - args: { [k: string]: boolean }, - options: ParseArgsConfig['options'] -) => { - const definedArgs: string[] = Object.entries(args) - .filter(([, v]) => v === true) - .map(([k]) => `--${k}`); - return parseArgs({ args: definedArgs, options, tokens: true }).values; -}; - -export const errorLogger = ( - isError: boolean, - error: string, - fields: Map -) => { - if (isError) { - console.groupCollapsed( - `%c${error} :`, - 'background: aquamarine; color: #444; padding: 3px; border-radius: 5px;' - ); - console.log(fields); - console.groupEnd(); - } -}; - -/** - * Parse a URL to extract Git repository name, typically based on the remote origin URL. - * @param url The URL to evaluate; can use http, https, ssh, or git protocols. - * @returns {string} The repository name (e.g. 'username/repo'). - */ -export const extractRepoName = (url: URL | string): string => { - const parsedPath = typeof url === 'string' ? parseUrl(url, false) : parseUrl(url.href, false); - return parsedPath.pathname.replace(/^(\/*)(?:snippets\/)?/, '').replace(/\.git$/, ''); -}; - -/** - * Parse a URL to extract components and protocols, along with the OAuth resource authority - * (GitHub, BitBucket, or GitLab) for processing with the isomorphic-git library module. - * @param url The URL to evaluate; can use http, https, ssh, or git protocols. - * @returns {{ url: parsePath.ParsedPath; oauth: Repository['oauth'] }} A JavaScript object - * (key-value) with the parsePath.ParsedPath object and OAuth resource name. - */ -export const extractFromURL = ( - url: URL | string -): { url: parsePath.ParsedPath; oauth: Repository['oauth'] } => { - const parsedUrl = typeof url === 'string' ? parseUrl(url) : parseUrl(url.href); - let oauth: Repository['oauth'] = 'github'; - switch (parsedUrl.resource) { - case parsedUrl.resource.match(/github\.com/) ? parsedUrl.resource : undefined: - oauth = 'github'; - break; - case parsedUrl.resource.match(/bitbucket\.org/) ? parsedUrl.resource : undefined: - oauth = 'bitbucket'; - break; - case parsedUrl.resource.match(/gitlab.*\.com/) ? parsedUrl.resource : undefined: - oauth = 'gitlab'; - break; - } - return { url: parsePath(resolveURL(parsedUrl.href)), oauth: oauth }; -}; - -/** - * Examines a Repository object to determine if it is well-formed. The `id` field is validated to - * be compliant with UUID version 4 (RFC4122), the `corsProxy` and `url` fields are validated to be - * well-formed HTTP or HTTPS URI (RFC3986), or valid SSH URI (Provisional IANA format standard) in - * the case of the `url` field. - * @param repo A Repository object. - * @returns {boolean} A boolean indicating a well-formed Repository on true, and false otherwise. - */ -export const isValidRepository = (repo: Repository): boolean => - isDefined(repo.id) && - repo.name.length > 0 && - (isWebUri(repo.corsProxy) ? true : false) && - isValidRepositoryURL(repo.url); - -/** - * Checks for valid URL that is a well-formed HTTP or HTTPS URI (RFC3986), or valid SSH URI - * (Provisional IANA format standard). - * @param url A repository URL string. - * @returns {boolean} A boolean indicating a well-formed repository URL on true, and false - * otherwise. - */ -export const isValidRepositoryURL = (url: string): boolean => - (isWebUri(url) ? true : false) || - /((git|ssh?)|(git@[\w.]+))(:(\/\/)?)([\w.@:/\-~]+)(\.git)(\/)?/.test(url); - -/** - * Checks for ssh or git protocols in use within a URL and converts to http/https. This is directly - * needed in order to support **isomorphic-git** commands that require a URL, but do not currently - * support ssh or git protocols. See - * https://github.com/isomorphic-git/isomorphic-git/issues/665 or https://github.com/isomorphic-git/isomorphic-git/issues/231. - * @param url The URL to evaluate; can use http, https, ssh, or git protocols. - * @returns {string} A string containing an https protocol URL that matches to the incoming URL - * variant. - */ -export const resolveURL = (url: string): string => { - const isSSH = /((git|ssh?)|(git@[\w.]+))(:(\/\/)?)([\w.@:/\-~]+)(\.git)(\/)?/.test(url); - return isSSH ? toHTTPS(url) : url; -}; diff --git a/src/containers/git/git-version.ts b/src/containers/git/git-version.ts deleted file mode 100644 index 0502913a6..000000000 --- a/src/containers/git/git-version.ts +++ /dev/null @@ -1,30 +0,0 @@ -import execute from '../exec'; -import { coerce, satisfies } from 'semver'; - -/** - * Check for a locally installed version of git and verify that it satisfies a minimum version for specific functionality. - * @param range A range comparator string (satisfying {@link https://github.com/npm/node-semver#ranges node-semver#ranges} format). - * @param verbose Optional flag to provide feedback messages in `console.log` on success; errors are always shown in `console.error`. - * @returns {Promise} A Promise object containing a boolean indicating whether git is installed and has a version that - * satisfies the provided version range. - */ -export const checkGitVersion = async (range: string, verbose = false): Promise => { - const output = await execute({ command: 'git', args: ['version'] }); - if (output.stderr) { - console.error(output.stderr); - return false; - } - - const version = coerce(output.stdout); - if (!version) { - console.error(`unable to detect git installation...`); - return false; - } - - const satisfied = satisfies(version, range); - if (!satisfied) - console.error(`git version ${version.version} does not meet minimum range ${range}`); - if (verbose && satisfied) - console.log(`git version ${version.version} satisfies minimum range ${range}`); - return satisfied; -}; diff --git a/src/containers/git/git-worktree.spec.ts b/src/containers/git/git-worktree.spec.ts deleted file mode 100644 index 3823c2c31..000000000 --- a/src/containers/git/git-worktree.spec.ts +++ /dev/null @@ -1,69 +0,0 @@ -import * as worktree from './git-worktree'; - -describe('containers/git/git-worktree', () => { - it('processWorktreeOutput handles bare worktree', () => { - return expect(worktree.processWorktreeOutput('/path/to/bare-source (bare)')).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: '', bare: true, scope: 'local', root: '/path/to/bare-source' }) - ]) - ); - }) - - it('processWorktreeOutput handles bare worktree (porcelain)', () => { - return expect(worktree.processWorktreeOutput(`worktree /path/to/bare-source\nbare`, true)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: '', bare: true, scope: 'local', root: '/path/to/bare-source' }) - ]) - ); - }) - - it('processWorktreeOutput handles linked worktree', () => { - return expect(worktree.processWorktreeOutput('/path/to/linked-worktree abcd1234 [master]')).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'master', scope: 'local', root: '/path/to/linked-worktree', head: 'abcd1234' }) - ]) - ); - }) - - it('processWorktreeOutput handles linked worktree (porcelain)', () => { - return expect(worktree.processWorktreeOutput(`worktree /path/to/linked-worktree\nHEAD abcd1234abcd1234abcd1234abcd1234abcd1234\nbranch refs/heads/master`, true)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'master', bare: false, scope: 'local', root: '/path/to/linked-worktree', head: 'abcd1234abcd1234abcd1234abcd1234abcd1234' }) - ]) - ); - }) - - it('processWorktreeOutput handles locked worktree with no reason', () => { - return expect(worktree.processWorktreeOutput('/path/to/locked-worktree-no-reason abcd5678 (detached HEAD) locked')).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'detached', bare: false, scope: 'local', root: '/path/to/locked-worktree-no-reason', head: 'abcd5678' }) - ]) - ); - }) - - it('processWorktreeOutput handles prunable worktree with no reason', () => { - return expect(worktree.processWorktreeOutput('/path/to/prunable-worktree-no-reason 98765dcb (detached HEAD) prunable')).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'detached', bare: false, scope: 'local', root: '/path/to/prunable-worktree-no-reason', head: '98765dcb' }) - ]) - ); - }) - - it('processWorktreeOutput handles locked worktree with reason', () => { - return expect(worktree.processWorktreeOutput(`/path/to/locked-worktree-with-reason 1234abcd (brancha) - locked: worktree path is mounted on a portable device`)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'brancha', scope: 'local', root: '/path/to/locked-worktree-with-reason', head: '1234abcd' }) - ]) - ); - }) - - it('processWorktreeOutput handles prunable worktree with reason', () => { - return expect(worktree.processWorktreeOutput(`/path/to/prunable-worktree 5678abc1 (detached HEAD) - prunable: gitdir file points to non-existent location`)).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ ref: 'detached', bare: false, scope: 'local', root: '/path/to/prunable-worktree', head: '5678abc1' }) - ]) - ); - }) -}); \ No newline at end of file diff --git a/src/containers/git/git-worktree.ts b/src/containers/git/git-worktree.ts deleted file mode 100644 index da61e965c..000000000 --- a/src/containers/git/git-worktree.ts +++ /dev/null @@ -1,424 +0,0 @@ -import * as fs from 'fs-extra'; -import { Branch } from '../../store/slices/branches'; -import { Expand, isDefined, removeNullableProperties, WithRequired } from '../utils'; -import execute from '../exec'; -import { checkGitVersion } from './git-version'; - -type BranchOutput = Expand>, 'ref'>>; - -/** - * Create a worktree at `path` and checkout `commitish` into it. The new worktree is linked to the - * current repository, sharing everything except per-workrtree files such as `HEAD`, `index`, etc. - * As a convenience, `commitish` may be a bare `"-"`, which is synonymous with `@{-1}`. Matches the - * functionality of [`git-worktree.add`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-addltpathgtltcommit-ishgt) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory of the main worktree in the repository (i.e. the - * worktree directory containing a `.git` directory). - * @param obj.path - The worktree root directory where the new worktree will be created. - * @param obj.force - Optional flag to override the safeguards that prevent creating a new wortkree - * when `commitish` is a branch name and is already checked out by another worktree, or if `path` is - * already assigned to some worktree but is missing. - * @param obj.detach - Optional flag to detach HEAD in the new worktree. - * @param obj.checkout - Optional flag to enable/disable the suppression of checkout in order to - * make customizations, such as configuring sparse-checkout. - * @param obj.lock - Keep the worktree locked after creation. This is the equivalent of `git - * worktree lock` after `git worktree add`, but without a race condition. - * @param obj.newBranch - Create a new branch using the provided name starting at `commitish`, and - * checked out into the new worktree. Defaults to `HEAD`. - * @param obj.commitish - The SHA1 commit hash or branch name to checkout into the `path` directory. - * @param obj.quiet - Optional flag to suppress feedback messages. - * @returns {Promise} A Promise object containing a boolean indicating whether the worktree - * was successfully added. - */ -export const worktreeAdd = async ({ - dir, - path, - force = false, - detach = false, - checkout = true, - lock = false, - newBranch, - commitish, - quiet = false -}: { - dir: fs.PathLike; - path: fs.PathLike; - force?: boolean; - detach?: boolean; - checkout?: boolean; - lock?: false | (true & { reason?: string }); - newBranch?: string; - commitish?: string; - quiet?: false; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: [ - 'worktree', - 'add', - force ? '--force' : '', - detach ? '--detach' : '', - checkout ? '' : '--no-checkout', - lock ? `--lock ${lock.reason ?? ''}` : '', - newBranch ? `-b ${newBranch}` : '', - path.toString(), - commitish ?? '' - ], - cwd: dir.toString() - }); - if ( - !quiet && - (output.stderr?.search(/fatal:/) !== -1 || output.stderr?.search(/Preparing worktree/) == -1) - ) { - // Note: `git worktree add` behaves slightly strange and outputs "Preparing worktree (checking - // out 'branch name')" in `stderr` on success - console.error(output.stderr); - return false; - } - if (!quiet && output.stdout) console.log(output.stdout); - return true; -}; - -/** - * List details of each worktree. The main worktree is listed first, followed by each of the linked - * worktrees. The output details include whether the worktree is bare, the revision currently - * checked out, the branch currently checked out (or "detached HEAD" if none), "locked" if the - * worktree is locked, "prunable" if the worktree can be pruned by the {@link worktreePrune} - * command. Matches the functionality of - * [`git-worktree.list`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-list) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.verbose - Optional flag to output additional information about worktrees. - * @param obj.porcelain - Optional flag to output in an easy-to-parse format for scripts. - * @returns {Promise>} A Promise object containing a list - * of {@link BranchOutput} objects representing each worktree. - */ -export const worktreeList = async ({ - dir, - verbose = false, - porcelain = false -}: { - dir: fs.PathLike; - verbose?: boolean; - porcelain?: boolean; -}): Promise> => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'list', verbose ? '--verbose' : '', porcelain ? '--porcelain' : ''], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - return processWorktreeOutput(output.stdout, porcelain); -}; - -/** - * If a worktree is on a portable device or network share which is not always mounted, lock it to - * prevent its administrative files from being pruned automatically. This also prevents it from - * being moved or deleted. Matches the functionality of - * [`git-worktree.lock`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-lock) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.worktree - Worktrees can be identified by path, either relative or absolute. If the - * last path components in the worktree's path is unique among worktrees, it can be used to identify - * a worktree. - * @param obj.reason - Optional explanation why the worktree is locked. - * @returns {Promise} A Promise object containing a boolean indicating whether the worktree - * was successfully locked. - */ -export const worktreeLock = async ({ - dir, - worktree, - reason -}: { - dir: fs.PathLike; - worktree: string; - reason?: string; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'lock', reason ? `--reason "${reason}"` : '', worktree.toString()], - cwd: dir.toString() - }); - // TODO: false should be returned when the output is `fatal: {worktree} is already locked` - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Move a worktree to a new location. Note that the main worktree or linked worktrees containing - * submodules cannot be moved with this command. (The {@link worktreeRepair} command, however, can - * re-establish the connection with linked worktrees if you move the main worktree manually.) - * Matches the functionality of - * [`git-worktree.move`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-move) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.worktree - Worktrees can be identified by path, either relative or absolute. If the - * last path components in the worktree's path is unique among worktrees, it can be used to identify - * a worktree. - * @param obj.newPath - The new path to move the worktree to. - * @returns {Promise} A Promise object containing a boolean indicating whether the worktree - * was successfully moved. - */ -export const worktreeMove = async ({ - dir, - worktree, - newPath -}: { - dir: fs.PathLike; - worktree: string; - newPath: fs.PathLike; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'move', worktree.toString(), newPath.toString()], - cwd: dir.toString() - }); - // TODO: false should be returned when the output is `fatal: {worktree} is locked` - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Utility type for expressing expiration times in the supported Git format. Valid inputs include: - * | format | description | - * | ---------------- | -------------------------------------------------------------------- | - * | `{n}.days` | Restricts expiration to worktrees older than `n` days from today. | - * | `{n}.weeks.ago` | Restricts expiration to worktrees older than `n` weeks from today. | - * | `{n}.months.ago` | Restricts expiration to worktrees older than `n` months from today. | - * | `now` | Expires all worktrees immediately. | - * | `never` | Suppresses expiration altogether. | - */ -type ExpireTime = - | 'now' - | `${number}.day` - | `${number}.weeks.ago` - | `${number}.months.ago` - | `${number}.years.ago` - | 'never'; - -/** - * Prune worktree information in `$GIT_DIR/worktrees` to remove any stale administrative files, - * unless the worktree is `locked` via `git worktree lock` command. Matches the functionality of - * [`git-worktree.prune`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-prune) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.dryRun - Do not remove anything; just report what it would remove. - * @param obj.verbose - Report all removals. - * @param obj.expire - Only expire unused worktrees older than the {@link ExpireTime} restriction. - */ -export const worktreePrune = async ({ - dir, - dryRun = false, - verbose = false, - expire -}: { - dir: fs.PathLike; - dryRun?: boolean; - verbose?: boolean; - expire?: ExpireTime; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: [ - 'worktree', - 'prune', - dryRun ? '--dry-run' : '', - verbose ? '--verbose' : '', - expire ? `--expire=${expire}` : '' - ], - cwd: dir.toString() - }); - // TODO: Properly format the outputs for the `dryRun` and `verbose` options such that they can be ingested by other functions - if (output.stderr) console.error(output.stderr); - if (verbose && output.stdout) console.log(output.stdout); -}; - -/** - * Remove a worktree. Only clean worktrees (no untracked files and no modification in tracked files) - * can be removed. Unclean worktrees or ones with submodules can be removed with the `force` option - * enabled. The main worktree cannot be removed. Matches the functionality of - * [`git-worktree.remove`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-remove) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.worktree - The branch name associated with the worktree. - * @param obj.force - Optional flag to override the safeguards that prevent removing unclean - * worktrees or ones with submodules. - * @returns {boolean} A Promise object containing a boolean indicating whether the worktree was - * successfully removed. - */ -export const worktreeRemove = async ({ - dir, - worktree, - force = false -}: { - dir: fs.PathLike; - worktree: string; - force?: boolean; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'remove', force ? '--force' : '', worktree.toString()], - cwd: dir.toString() - }); - // TODO: false should be returned when the output is `fatal: {worktree} is locked` - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -/** - * Repair worktree administrative files, if possible, if they have become corrupted or outdated due - * to external factors. For instance, if the main worktree (or bare repository) is moved, linked - * worktrees will be unable to locate it. Running `git worktree repair` in the main worktree will - * re-establish the connection from linked worktrees back to the main worktree. Similarly, if the - * working tree for a linked worktree is moved without using `git worktree move`, the main worktree - * (or bare repository) will be unable to locate it. Running `git worktree repair` within the - * recently-moved worktree will reestablish the connection. Matches the functionality of - * [`git-worktree.repair`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-repairltpathgt82308203) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.paths - List of new paths for linked worktrees that were moved, so that the connection - * to all the specified paths is reestablished. - */ -export const worktreeRepair = async ({ - dir, - paths -}: { - dir: fs.PathLike; - paths?: fs.PathLike[]; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'repair', ...(paths?.map(toString) ?? [])], - cwd: dir.toString() - }); - if (output.stderr) console.error(output.stderr); - if (output.stdout) console.log(output.stdout); -}; - -/** - * Unlock a worktree, allowing it to be pruned, moved or deleted. Matches the functionality of - * [`git-worktree.unlock`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-unlock) - * command. - * @param obj - A destructured object for named parameters. - * @param obj.dir - The worktree root directory. - * @param obj.worktree - The branch name associated with the worktree. - * @returns {Promise} A Promise object containing a boolean indicating whether the worktree - * was successfully unlocked. - */ -export const worktreeUnlock = async ({ - dir, - worktree -}: { - dir: fs.PathLike; - worktree: string; -}): Promise => { - await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ - const output = await execute({ - command: 'git', - args: ['worktree', 'unlock', worktree.toString()], - cwd: dir.toString() - }); - // TODO: false should be returned when the output is `fatal: {worktree} is not locked` - if (output.stderr) { - console.error(output.stderr); - return false; - } - if (output.stdout) console.log(output.stdout); - return true; -}; - -export const processWorktreeOutput = ( - output: string | undefined, - porcelain = false -): BranchOutput[] => { - if (!isDefined(output)) return []; - if (porcelain) { - /** - * Regex patterns that matches the following capture groups: - * [1] worktree root directory path - * [2] sha1 hash for the head of the branch (e.g. `e629b39c2`) - * [3] indicator for a bare repository state - * [4] branch ref; shortened (e.g. `master` from `refs/heads/master`) - * [5] indicator for a detached HEAD state - * [6] indicator for a locked worktree - * [7] indicator for a prunable worktree (i.e. `prunable` if the worktree can be pruned via - * `git worktree prune`) - */ - const linePattern = new RegExp( - '(?:worktree )(\\S+)(?:(?:\\r?\\nHEAD )([0-9a-f]{1,40}))?(?:(?:\\r?\\n)(bare))?(?:(?:\\r?\\nbranch )(\\S+))?(?:\\r?\\n(detached))?(?:\\r?\\n(locked))?(?:\\r?\\n(prunable))?', - 'gm' - ); - return Array.from(output.matchAll(linePattern), line => { - const worktree = line[1]; - const head = line[2]; - const bare = line[3] == 'bare'; - const detached = line[5] === 'detached'; - const branch = bare ? '' : detached ? 'detached' : line[4]?.replace('refs/heads/', ''); - const locked = line[6] === 'locked'; // eslint-disable-line @typescript-eslint/no-unused-vars - const prunable = line[7] === 'prunable'; // eslint-disable-line @typescript-eslint/no-unused-vars - return isDefined(branch) - ? ({ - ref: branch, - bare: bare, - scope: 'local', - ...removeNullableProperties({ root: worktree, head: head }) - } as BranchOutput) - : undefined; - }).filter(isDefined); - } else { - /** - * Regex patterns that matches the following capture groups: - * [1] worktree root directory path - * [2] sha1 hash for the head of the branch (e.g. `e629b39c2`) - * [3] indicators for detached HEAD and bare repository states, or the branch ref (.e.g `master`) - * [4] branch state (i.e. `locked` if the worktree is locked, `prunable` if the worktree can be - * pruned via `git worktree prune`) - * [5] reason for `locked`/`prunable` state - */ - const linePattern = new RegExp( - '^(\\S+)\\s+([0-9a-f]{1,40})?\\s+(?:[\\[\\(]([\\w -]+)[\\)\\]])(?:(?: |\\r?\\n\\t)(locked|prunable)(?:\\: (.*))?)?', - 'gm' - ); - return Array.from(output.matchAll(linePattern), line => { - const worktree = line[1]; - const head = line[2]; - const detached = line[3] === 'detached HEAD'; - const bare = line[3] === 'bare'; - const branch = bare ? '' : detached ? 'detached' : line[3]; - return isDefined(branch) - ? ({ - ref: branch, - bare: bare, - scope: 'local', - ...removeNullableProperties({ root: worktree, head: head }) - } as BranchOutput) - : undefined; - }).filter(isDefined); - } -}; diff --git a/src/containers/git/index.ts b/src/containers/git/index.ts deleted file mode 100644 index 0a811374f..000000000 --- a/src/containers/git/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -export * from './git-add'; -export * from './git-branch'; -export * from './git-cat-file'; -export * from './git-check-ref-format'; -export * from './git-checkout'; -export * from './git-clone'; -export * from './git-commit'; -export * from './git-config'; -export * from './git-ignore'; -export * from './git-log'; -export * from './git-merge-base'; -export * from './git-merge'; -export * from './git-path'; -export * from './git-remote'; -export * from './git-reset'; -export * from './git-restore'; -export * from './git-rev-list'; -export * from './git-rev-parse'; -export * from './git-show-branch'; -export * from './git-status'; -export * from './git-utils'; -export * from './git-version'; -export * from './git-worktree'; diff --git a/src/containers/graph-layout.ts b/src/containers/graph-layout.ts deleted file mode 100644 index b3debaccf..000000000 --- a/src/containers/graph-layout.ts +++ /dev/null @@ -1,65 +0,0 @@ -import dagre from 'dagre'; -import { Edge, isEdge, isNode, MarkerType, Node } from 'reactflow'; -import { CommitVertex, GitGraph } from './hooks/useGitGraph'; -import { UUID } from '../store/types'; - -const nodesep = 80; - -const layoutGraph = (graph: GitGraph, topological: UUID[]): (Edge | Node)[] => { - const elements: (Edge | Node)[] = []; - for (const oid of topological) { - const commit = graph.get(oid.toString()); - if (commit) { - const node: Node = getNode(commit); - const edges: Edge[] = getEdges(commit); - elements.push(node); - edges.map(edge => elements.push(edge)); - } - } - return layoutOptimizer(elements); -}; - -const layoutOptimizer = (rfGraph: (Edge | Node)[]): (Edge | Node)[] => { - const graph = new dagre.graphlib.Graph(); - graph.setGraph({ nodesep: nodesep }); - graph.setDefaultEdgeLabel(() => { - return {}; - }); - - rfGraph.filter(isNode).map(node => graph.setNode(node.id, { width: 5, height: 5 })); - rfGraph.filter(isEdge).map(edge => graph.setEdge(edge.source, edge.target)); - dagre.layout(graph); - - return rfGraph.map(els => { - if (isNode(els)) { - const graphNode = graph.node(els.id); - return { ...els, position: { x: graphNode.x, y: graphNode.y } }; - } - return els; - }); -}; - -const getNode = (commit: CommitVertex): Node => { - return { - id: commit.oid.toString(), - type: 'gitNode', - data: commit, - position: { x: 0, y: 0 } - }; -}; - -const getEdges = (commit: CommitVertex): Edge[] => { - return commit.parents - .filter(parent => parent.length > 0) - .map(parent => ({ - id: `e${parent.toString().slice(0, 7)}=${ - commit.staged ? commit.oid.toString() : commit.oid.toString().slice(0, 7) - }`, - source: parent.toString(), - target: commit.oid.toString(), - animated: commit.staged ? true : false, - arrowHeadType: MarkerType.ArrowClosed - })); -}; - -export default layoutGraph; diff --git a/src/containers/hooks/useGitGraph.ts b/src/containers/hooks/useGitGraph.ts deleted file mode 100644 index b5399ff84..000000000 --- a/src/containers/hooks/useGitGraph.ts +++ /dev/null @@ -1,366 +0,0 @@ -import { useCallback, useEffect, useState } from 'react'; -import { useAppDispatch, useAppSelector } from '../../store/hooks'; -import branchSelectors from '../../store/selectors/branches'; -import { Branch, isUnmergedBranch } from '../../store/slices/branches'; -import { Commit } from '../../store/slices/commits'; -import { fetchCommit } from '../../store/thunks/commits'; -import { Color, SHA1, UUID } from '../../store/types'; -import { removeDuplicates, removeUndefined, symmetrical } from '../utils'; -import useMap from './useMap'; -import usePrevious from './usePrevious'; - -export type CommitVertex = Commit & { - /** The Repository object UUID that contains branches and this commit in their history. */ - repo: UUID; - /** Array of Branch object UUIDs that include this commit in their history. */ - branches: UUID[]; - /** Array of Branch object UUIDs that have HEAD pointed at this commit. */ - heads: UUID[]; - /** Array of Branch object UUIDs that have an incomplete merge (ie. conflict) at this commit. */ - conflicted: UUID[]; - /** Array of Commit object UUIDs that point back to this commit as their parent. */ - children: UUID[]; - /** Background color to display for this vertex node. */ - color: Color; - /** Indicator for whether this vertex node represents a possible future git commit. */ - staged: boolean; -}; -export type GitGraph = Map; -export type BranchLookup = Map; - -export type useGitGraphHook = { - graph: GitGraph; - topological: UUID[]; - branchLookup: BranchLookup; - printGraph: () => void; -}; - -export const useGitGraph = (id: UUID): useGitGraphHook => { - const graph = useMap([]); - const branchLookup = useMap([]); - const [topological, setTopological] = useState([]); - const branches = useAppSelector(state => branchSelectors.selectByRepo(state, id, true)); - const previous = usePrevious(branches); - const dispatch = useAppDispatch(); - - const arrayAdd = (arr: T[], addElem: T): T[] => { - return removeDuplicates([...arr, addElem], (a, b) => a === b); - }; - - const arrayRemove = (arr: T[], removeElem: T): T[] => { - return arr.filter(e => e !== removeElem); - }; - - /** - * Add or update a vertex in the graph. Multiple branches can reference the same commit, thus - * this function adds a vertex if the commit was not previously part of the graph and adds - * updated information to an existing vertex (including status changes, associated branches, - * changes in head state, colors, etc.). This function is capable of discerning conflicts and - * whether the vertex represents the head of any associated branches. - */ - const updateVertex = useCallback( - async (oid: SHA1, branch: T) => { - const commit = await dispatch( - fetchCommit({ commitIdentifiers: { oid: oid.toString(), root: branch.root } }) - ).unwrap(); - const existing = graph.get(oid); - - const updatedHeads = - branch.head === oid - ? arrayAdd(existing?.heads ?? [], branch.id) - : arrayRemove(existing?.heads ?? [], branch.id); - - const updatedConflicted = - branch.head === oid && branch.status === 'unmerged' - ? arrayAdd(existing?.conflicted ?? [], branch.id) - : arrayRemove(existing?.conflicted ?? [], branch.id); - - const update: CommitVertex = { - ...(existing ?? commit), - repo: id, - branches: arrayAdd(existing?.branches ?? [], branch.id), - heads: updatedHeads, - conflicted: updatedConflicted, - children: existing?.children ?? [], - color: - updatedConflicted.length > 0 - ? 'rgb(240, 128, 128)' // red - : updatedHeads.length > 0 - ? 'rgb(143, 226, 0)' // green - : 'rgb(128, 128, 128)', // grey - staged: false - }; - - graph.set(oid, update); - if (!existing) update.parents.forEach(async parent => await updateVertex(parent, branch)); - }, - [dispatch, graph, id] - ); - - /** - * Add or update a placeholder vertex in the graph. Placeholders represent temporary states that - * are not represented as commits within the underlying git repository (i.e. incomplete merges, - * uncommitted changes, etc.). This function checks for uncommitted changes that have been staged - * within the branch, and adds a staged placeholder vertex to represent the future commit that - * encompasses these changes. This function also checks for incomplete merges within a branch, - * and adds conflict placeholder vertices for each incomplete merge involving the specified - * branch. - */ - const updatePlaceholders = useCallback( - async (branch: T) => { - const prev = previous?.find(b => b.id === branch.id); - const compare = isUnmergedBranch(branch) - ? branches.find(b => b.scope === 'local' && b.ref === branch.merging) - : undefined; - - // add a staged placeholder vertex - if (branch.status === 'uncommitted') { - const key = `${branch.scope}/${branch.ref}*`; - - graph.set(key, { - oid: key, - message: `Staged changes in ${branch.scope}/${branch.ref}`, - parents: [branch.head], - author: { - name: '', - email: '', - timestamp: undefined - }, - repo: id, - branches: [branch.id], - heads: [], - children: [], - color: 'rgb(97, 174, 238)', // blue - staged: true, - conflicted: [] - }); - } else { - graph.delete(`${branch.scope}/${branch.ref}*`); - } - - // add a conflict placeholder vertex - if (isUnmergedBranch(branch) && compare) { - const key = `${branch.scope}/${branch.ref}<>${branch.merging}`; - const head = graph.get(branch.head); - - graph.set(key, { - oid: key, - message: `Incomplete merge from ${compare.scope}/${compare.ref} into ${branch.scope}/${branch.ref}`, - parents: [branch.head, compare.head], - author: { - name: '', - email: '', - timestamp: undefined - }, - repo: id, - branches: [branch.id], - heads: [branch.id], - children: [], - color: 'rgb(240, 128, 128)', // red - staged: true, - conflicted: [branch.id] - }); - - if (head) - graph.set(head.oid, { - ...head, - color: 'rgb(240, 128, 128)', // red - conflicted: [compare.id] - }); - } else if (isUnmergedBranch(prev)) { - const head = graph.get(prev.head); - graph.delete(`${branch.scope}/${branch.ref}<>${prev.merging}`); - - if (head) - graph.set(head.oid, { - ...head, - color: 'rgb(143, 226, 0)', // green - conflicted: [] - }); - } - }, - [branches, graph, id, previous] - ); - - /** - * Remove or update a vertex in the graph. Multiple branches can reference the same commit, thus - * this function only removes the vertex if removing association with a specified branch would - * result in the vertex being associated with no branches. Otherwise, this function will update - * the vertex to no longer include associations with the specified branch. - */ - const removeVertex = useCallback( - async (oid: SHA1, branch: T) => { - const existing = graph.get(oid); - const parents = existing ? removeUndefined(existing.parents.map(p => graph.get(p))) : []; - - parents.forEach(parent => - graph.set(parent.oid, { - ...parent, - children: parent.children.filter(c => c != oid) - }) - ); - - if (!existing || (existing.branches.includes(branch.id) && existing.branches.length === 1)) { - graph.delete(oid); - } else { - graph.set(oid, { - ...existing, - branches: existing.branches.filter(b => b != branch.id), - heads: existing.heads.filter(b => b != branch.id), - conflicted: existing.conflicted.filter(b => b != branch.id) - }); - } - - parents.forEach(async parent => await updateVertex(parent.oid, branch)); - }, - [graph, updateVertex] - ); - - /** - * Traverse all vertices and add backlinks to all child vertices. Time complexity is `O(V+E)`, - * where `V` is the number of vertices and `E` is the number of edges. - */ - const link = useCallback(() => { - for (const vertex of graph.values()) { - for (const oid of vertex.parents) { - const parent = graph.get(oid.toString()); - if (parent && !parent.children.some(child => child === vertex.oid)) { - graph.set(parent.oid.toString(), { - ...parent, - children: [...parent.children, vertex.oid.toString()] - }); - } - } - } - }, [graph]); - - const topologicalSortUtil = useCallback( - (key: SHA1, visited: Map, graph: GitGraph, stack: string[]) => { - visited.set(key, true); - const vertex = graph.get(key); - if (vertex) { - for (const v of vertex.children) { - if (visited.get(v.toString()) === false) { - topologicalSortUtil(v.toString(), visited, graph, stack); - } - } - } - stack.push(key.toString()); - }, - [] - ); - - /** - * Topological sorting for Directed Acyclic Graph (DAG) is a linear ordering of vertices such - * that for every directed edge `u -> v`, vertex `u` comes before `v` in the ordering. - * Topological Sorting for a graph is not possible if the graph is not a DAG. - * @param graph The `Map` object containing a dictionary from SHA-1 commit hash to - * `CommitVertex` object. - * @returns {string[]} An array of keys corresponding to the elements in the graph, but sorted - * in topological order. - */ - const topologicalSort = useCallback( - (graph: GitGraph) => { - const visited: Map = new Map([...graph.keys()].map(k => [k, false])); - const stack: string[] = []; - for (const key of graph.keys()) { - if (visited.get(key) === false) { - topologicalSortUtil(key, visited, graph, stack); - } - } - setTopological(stack.reverse()); - }, - [topologicalSortUtil] - ); - - const processChanges = useCallback( - async (previous: Branch[] | undefined, branches: Branch[]) => { - const { added, modified, removed } = changeFilter(previous, branches, [ - 'id', - 'head', - 'status', - 'linked', - 'commits' - ]); - await Promise.all( - added.map(async branch => { - branch.commits.forEach(async oid => await updateVertex(oid.toString(), branch)); - await updatePlaceholders(branch); - branchLookup.set(`${branch.scope}/${branch.ref}`, branch.head); - }) - ); - await Promise.all( - removed.map(async branch => { - branch.commits.forEach(async oid => await removeVertex(oid.toString(), branch)); - await updatePlaceholders(branch); - branchLookup.delete(`${branch.scope}/${branch.ref}`); - }) - ); - await Promise.all( - modified.map(async mod => { - if (mod.changed.includes('commits')) { - const [added, , removed] = symmetrical( - mod.branch.commits, - mod.prev.commits, - (a, b) => a === b - ); - added.forEach(async oid => await updateVertex(oid.toString(), mod.branch)); - removed.forEach(async oid => await removeVertex(oid.toString(), mod.branch)); - await updatePlaceholders(mod.branch); - } - if ( - !mod.changed.includes('commits') && - (mod.changed.includes('status') || mod.changed.includes('head')) - ) { - if (mod.branch.commits.includes(mod.prev.head)) - await updateVertex(mod.prev.head, mod.branch); - await updatePlaceholders(mod.branch); - } - branchLookup.set(`${mod.branch.scope}/${mod.branch.ref}`, mod.branch.head); - }) - ); - link(); - topologicalSort(graph); - }, - [branchLookup, graph, link, removeVertex, topologicalSort, updatePlaceholders, updateVertex] - ); - - useEffect(() => { - processChanges(previous, branches); - }, [previous, branches, processChanges]); - - const printGraph = () => { - console.groupCollapsed( - `%c[useGitGraph] Print repo: ${id}`, - 'background: RebeccaPurple; color: white; padding: 3px; border-radius: 5px;' - ); - console.log(`Graph:`, { graph, topological }); - console.log(`Branches:`, { prev: previous, branches }); - console.groupEnd(); - }; - - return { graph, topological, branchLookup, printGraph }; -}; - -const changeFilter = ( - previous: Branch[] | undefined, - branches: Branch[], - props: BranchProps[] -): { - added: Branch[]; - modified: { prev: Branch; branch: Branch; changed: BranchProps[] }[]; - removed: Branch[]; -} => { - const [added, existing, removed] = symmetrical(branches, previous ?? [], (a, b) => a.id === b.id); - - const modified = existing.reduce( - (accum: { prev: Branch; branch: Branch; changed: BranchProps[] }[], [curr, prev]) => { - const deltaProps = props.filter(prop => curr[prop] !== prev[prop]); - if (deltaProps.length > 0) accum.push({ prev, branch: curr, changed: deltaProps }); - return accum; - }, - [] - ); - - return { added, modified, removed }; -}; diff --git a/src/containers/hooks/useGitWatcher.spec.tsx b/src/containers/hooks/useGitWatcher.spec.tsx deleted file mode 100644 index 585bd4db9..000000000 --- a/src/containers/hooks/useGitWatcher.spec.tsx +++ /dev/null @@ -1,41 +0,0 @@ -describe('containers/hooks/useGitDirectory', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // let store: ReturnType; - // const wrapper = ({ children }: { children: React.ReactNode }) => ( - // {children} - // ); - - // beforeAll(async () => { - // const instance = await mock({ - // 'sampleUser/myRepo': { - // '.git': { - // config: {} - // }, - // empty: {}, - // 'foo/bar.js': file({ content: 'file contents', mtime: new Date(1) }) - // } - // }); - // return (mockedInstance = instance); - // }); - // beforeEach(() => (store = mockStore(emptyStore))); - - // afterAll(() => mockedInstance.reset); - // afterEach(() => { - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('useFSWatcher hook tracks filesystem updates to individual files', async () => { - // renderHook(() => useGitWatcher('sampleUser/myRepo/foo'), { wrapper }); - - // // TODO: Fix the following test to correctly mimic FS events and capture them via the useGitDirectory hook - // // - // // return writeFileAsync('sampleUser/myRepo/foo/bar.js', 'file contents updated') - // // .then(() => expect(store.getActions()).toHaveLength(1)); - - // return expect(true).toBe(true); - // }); -}); diff --git a/src/containers/hooks/useGitWatcher.ts b/src/containers/hooks/useGitWatcher.ts deleted file mode 100644 index 5f8aa9d13..000000000 --- a/src/containers/hooks/useGitWatcher.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { useAppDispatch } from '../../store/hooks'; -import { isFilebasedMetafile } from '../../store/slices/metafiles'; -import { fetchMetafile, updateVersionedMetafile } from '../../store/thunks/metafiles'; -import useWatcher, { WatchEventType, WatchListener } from './useWatcher'; - -/** - * Custom React Hook for monitoring Git repository files and triggering Redux updates on metafiles - * when changes are detected. If a root path is not under version control, then updates will only - * reflect changes in the file stats and content (i.e. `containers/git-porcelain.getStatus` will - * return undefined on non-versioned filepaths). Uses `useWatcher` hooks under the hood for opening - * and closing FS watchers, which drive subsequent status checks, based on the context closure of - * the component calling this hook. - * @param root The Git root repository (i.e. the path returned by `containers/git-path.getRoot`) - * @param additionalEventHandler An optional additional event handler for bubbling up specific - * events from the underlying `useWatcher` hooks. - */ -const useGitWatcher = ( - root: PathLike | undefined, - additionalEventHandler?: WatchListener -): void => { - const dispatch = useAppDispatch(); - - const eventHandler = async (event: WatchEventType, filename: PathLike) => { - if (!['unlink', 'unlinkDir'].includes(event)) { - const metafile = await dispatch(fetchMetafile({ path: filename.toString() })).unwrap(); - if (isFilebasedMetafile(metafile)) await dispatch(updateVersionedMetafile(metafile.id)); - } - }; - - useWatcher(root, eventHandler); - useWatcher(root, additionalEventHandler); -}; - -export default useGitWatcher; diff --git a/src/containers/hooks/useHistory.ts b/src/containers/hooks/useHistory.ts deleted file mode 100644 index 06f52d946..000000000 --- a/src/containers/hooks/useHistory.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { useCallback, useReducer } from 'react'; - -type HistoryState = { - /** Array of previous URLs updated each time a new URL is visited. */ - past: URL[]; - /** Current URL. */ - present: URL; - /** Array of "future" URLs if we go back (so that we can go forward). */ - future: URL[]; -}; - -type HistoryAction = { - type: 'GO', - newPresent: URL -} | { - type: 'CLEAR', - initialPresent: URL -} | { - type: 'BACK' | 'FORWARD' -} - -// Initial state passed to useReducer -const initialState = { - past: [], - present: null, - future: [], -}; - -// Reducer function to handle state changes based on action -const reducer = (state: HistoryState, action: HistoryAction) => { - const { past, present, future } = state; - - switch (action.type) { - case 'BACK': { - const previous = past[past.length - 1] as URL; - const newPast = past.slice(0, past.length - 1); - - return { - past: newPast, - present: previous, - future: [present, ...future], - }; - } - case 'FORWARD': { - const next = future[0] as URL; - const newFuture = future.slice(1); - - return { - past: [...past, present], - present: next, - future: newFuture, - }; - } - case 'GO': { - const { newPresent } = action; - - if (newPresent === present) { - return state; - } - return { - past: [...past, present], - present: newPresent, - future: [], - }; - } - case 'CLEAR': { - const { initialPresent } = action; - - return { - ...initialState, - present: initialPresent, - }; - } - } -}; - -// Hook -export const useHistory = (initialPresent: URL) => { - const [state, dispatch] = useReducer(reducer, { - ...initialState, - present: initialPresent, - }); - - const canGoBack = state.past.length !== 0; - const canGoForward = state.future.length !== 0; - - // All actions are memoized with useCallback to prevent unnecessary re-renders - const goBack = useCallback(() => { - if (canGoBack) { - dispatch({ type: 'BACK' }); - } - }, [canGoBack, dispatch]); - - const goForward = useCallback(() => { - if (canGoForward) { - dispatch({ type: 'FORWARD' }); - } - }, [canGoForward, dispatch]); - - const set = useCallback( - (newPresent: URL) => dispatch({ type: 'GO', newPresent }), - [dispatch] - ); - - const clear = useCallback(() => dispatch({ type: 'CLEAR', initialPresent }), - [dispatch, initialPresent] - ); - - return { state, set, goBack, goForward, clear, canGoBack, canGoForward }; -}; \ No newline at end of file diff --git a/src/containers/hooks/useImperativeRef.ts b/src/containers/hooks/useImperativeRef.ts deleted file mode 100644 index 85b37839a..000000000 --- a/src/containers/hooks/useImperativeRef.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { useCallback, useState } from 'react'; - -export const useImperativeRef = () => { - const [refState, setRefState] = useState(); - const ref = useCallback((n: T | null) => { - if (n) setRefState(n); - }, []); - - return [refState, ref] as const; -} \ No newline at end of file diff --git a/src/containers/hooks/useMap.spec.tsx b/src/containers/hooks/useMap.spec.tsx deleted file mode 100644 index 146946b2f..000000000 --- a/src/containers/hooks/useMap.spec.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { act, renderHook } from '@testing-library/react'; -import { DateTime } from 'luxon'; -import { FileMetafile, Metafile, VirtualMetafile } from '../../store/slices/metafiles'; -import useMap from './useMap'; - -const basicMetafile: FileMetafile = { - id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', - name: 'bar.js', - modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), - handler: 'Editor', - filetype: 'Javascript', - flags: [], - path: 'foo/bar.js', - state: 'unmodified', - content: 'file contents', - mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf() -}; - -const virtualMetafile: VirtualMetafile = { - id: 'a5a6806b-f7e1-4f13-bca1-b1440ecd4431', - name: 'tap.js', - modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), - handler: 'Editor', - filetype: 'Javascript', - flags: [], - content: 'new content' -}; - -describe('containers/hooks/useMap', () => { - it('useMap hook tracks added entries', async () => { - const { result } = renderHook(() => useMap([])); - act(() => result.current.set('one', 1)); - expect(result.current.size).toEqual(1); - }); - - it('useMap hook tracks removed entries', async () => { - const { result } = renderHook(() => useMap([['one', 1]])); - act(() => result.current.delete('one')); - expect(result.current.size).toEqual(0); - }); - - it('useMap hook tracks multiple updates', async () => { - const { result } = renderHook(() => useMap([['one', 1]])); - act(() => result.current.set('two', 2)); - act(() => result.current.set('three', 3)); - act(() => result.current.delete('two')); - expect(result.current.size).toEqual(2); - }); - - it('useMap hook tracks objects as values', () => { - const { result } = renderHook(() => useMap([['first', basicMetafile]])); - act(() => result.current.set('second', virtualMetafile)); - expect(result.current.size).toEqual(2); - }); -}); diff --git a/src/containers/hooks/useMap.ts b/src/containers/hooks/useMap.ts deleted file mode 100644 index 7c2c1ff8e..000000000 --- a/src/containers/hooks/useMap.ts +++ /dev/null @@ -1,43 +0,0 @@ -// copied from: https://usehooks.com/usemap, modified with TypeScript types as needed -import { useReducer, useRef } from 'react'; - -/** - * Custom React Hook to synchronize and update state based on the Map data structure. - * This hook provides a wrapper around the JavaScript - * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map Map} - * object and allows you to easily update and synchronize the map state with the component’s - * rendering. By using this hook, you can add, delete, or clear entries in the map while ensuring - * that the component re-renders whenever these operations are performed. - * @param initialState An initial state consisting of key-value tuples in an array object, where - * any value (both objects and - * {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive primitive values}) maybe used - * as either a key or a value. - * @returns {Map} A Map object holding key-value pairs that adhere to the types provided explicitly - * by type variables, or resolved to the type of the first key-value pair in the `initialState`. - */ -const useMap = (initialState: Iterable | null | undefined): Map => { - const mapRef = useRef(new Map(initialState)); - const [, reRender] = useReducer(x => x + 1, 0); - - mapRef.current.set = (...args) => { - Map.prototype.set.apply(mapRef.current, args); - reRender(); - return mapRef.current; - }; - - mapRef.current.clear = (...args) => { - Map.prototype.clear.apply(mapRef.current, args); - reRender(); - }; - - mapRef.current.delete = (...args) => { - const res = Map.prototype.delete.apply(mapRef.current, args); - reRender(); - - return res; - }; - - return mapRef.current; -}; - -export default useMap; diff --git a/src/containers/hooks/useMotif.ts b/src/containers/hooks/useMotif.ts deleted file mode 100644 index c92632042..000000000 --- a/src/containers/hooks/useMotif.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Add, Remove, SvgIconComponent, Warning } from '@mui/icons-material'; -import { Branch } from '../../store/slices/branches'; -import { Metafile, isFileMetafile, isVersionedMetafile } from '../../store/slices/metafiles'; -import { getConflictingChunks, isDefined, isModified, isStaged, isUnmerged } from '../utils'; - -type Actionable = 'conflicted' | 'staged' | 'unstaged'; - -type useMotifHook = { - actionable: Actionable | undefined; - color: string | undefined; - icon: SvgIconComponent | undefined; -}; - -export const useFilebasedMotif = (metafile: Metafile | undefined): useMotifHook => { - if (isVersionedMetafile(metafile)) { - const conflicted = - isUnmerged(metafile.status) || - (isFileMetafile(metafile) && - isDefined(metafile.content) && - getConflictingChunks(metafile.content).length > 0); - const staged = isStaged(metafile.status); - const unstaged = isModified(metafile.status); - const untracked = metafile.status === 'absent' || metafile.status === '*absent'; - const icon = conflicted ? Warning : staged ? Remove : unstaged ? Add : undefined; - const action: Actionable | undefined = conflicted - ? 'conflicted' - : staged - ? 'staged' - : untracked || unstaged - ? 'unstaged' - : undefined; - // #da6473 => red, #61aeee => blue, #d19a66 => orange, #50c878 => green - const color = conflicted - ? '#da6473' - : staged - ? '#61aeee' - : untracked - ? '#50c878' - : unstaged - ? '#d19a66' - : undefined; - return { actionable: action, color: color, icon: icon }; - } - return { actionable: undefined, color: undefined, icon: undefined }; -}; - -export const useBranchMotif = (branch: Branch | undefined): useMotifHook => { - if (isDefined(branch)) { - // #da6473 => red, #61aeee => blue - const color = branch.status === 'unmerged' ? '#da6473' : branch.linked ? '#61aeee' : undefined; - return { actionable: undefined, color: color, icon: undefined }; - } - return { actionable: undefined, color: undefined, icon: undefined }; -}; diff --git a/src/containers/hooks/usePrevious.ts b/src/containers/hooks/usePrevious.ts deleted file mode 100644 index eae0519fc..000000000 --- a/src/containers/hooks/usePrevious.ts +++ /dev/null @@ -1,19 +0,0 @@ -// copied from: https://usehooks.com/usePrevious/ -import { useEffect, useRef } from 'react'; - -/** - * Custom React Hook for maintaining the previous value of props or state. - * @param value The prop or state value to maintain in a `useRef` instance. - * @returns {object | undefined} The previous value of the props or state. - */ -const usePrevious = (value: T): T | undefined => { - const ref = useRef(); - - useEffect(() => { - ref.current = value; - }, [value]); - - return ref.current; -} - -export default usePrevious; \ No newline at end of file diff --git a/src/containers/hooks/useToggle.ts b/src/containers/hooks/useToggle.ts deleted file mode 100644 index 9edbf1545..000000000 --- a/src/containers/hooks/useToggle.ts +++ /dev/null @@ -1,26 +0,0 @@ -// copied from: https://usehooks.com/usetoggle, modified with TypeScript types as needed -import { useCallback, useState } from 'react'; - -/** - * Custom React Hook to toggle a boolean value. This hook takes a boolean parameter and toggles - * that value to the opposite. The toggle function that is returned can be used to toggle between - * states, or directly set by providing a boolean value. - * @param initialValue An initial state consisting of a boolean value. - * @returns {[boolean, (value: boolean | undefined) => void]} A tuple containing the current - * boolean state, and a function for toggling that state. - */ -const useToggle = ( - initialValue: boolean | (() => boolean) -): [boolean, (value?: boolean | undefined) => void] => { - const [on, setOn] = useState(initialValue); - - const handleToggle = useCallback((value: boolean | undefined) => { - if (value !== undefined) return setOn(value); - - return setOn(v => !v); - }, []); - - return [on, handleToggle]; -}; - -export default useToggle; diff --git a/src/containers/hooks/useWatcher.spec.tsx b/src/containers/hooks/useWatcher.spec.tsx deleted file mode 100644 index bc2499b93..000000000 --- a/src/containers/hooks/useWatcher.spec.tsx +++ /dev/null @@ -1,70 +0,0 @@ -describe('containers/hooks/useWatcher', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // let store: ReturnType; - // const wrapper = ({ children }: { children: React.ReactNode }) => ( - // {children} - // ); - - // beforeAll(async () => { - // const instance = await mock({ - // empty: {}, - // 'foo/bar.js': file({ content: 'file contents', mtime: new Date(1) }) - // }); - // return (mockedInstance = instance); - // }); - // beforeEach(() => (store = mockStore(emptyStore))); - - // afterAll(() => mockedInstance.reset); - // afterEach(() => { - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('useWatcher hook tracks filesystem updates to individual files', async () => { - // const handlerMock = jest.fn(); - // renderHook(() => useWatcher(path.resolve('foo/bar.js'), handlerMock), { wrapper }); - - // // TODO: Fix the following test to correctly mimic FS events and capture them via the useWatcher hook - // // - // // expect(handlerMock).not.toHaveBeenCalled(); - // // await writeFileAsync('foo/bar.js', 'file contents updated'); - // // expect(handlerMock).toHaveBeenCalled(); - - // return expect(true).toBe(true); - // }); - - // it('useWatcher hook tracks filesystem updates to subfiles in directories', async () => { - // const handlerMock = jest.fn(); - // const filePath = 'foo/bar.js'; - // renderHook(() => useWatcher(filePath, handlerMock, { persistent: true }), { wrapper }); - - // // TODO: Fix the following test to correctly mimic FS events and capture them via the useWatcher hook - // // - // // expect(handlerMock).not.toHaveBeenCalled(); - // // await writeFileAsync('foo/baz.js', 'another file set'); - // // await unlink(filePath); - // // await rename('foo/baz.js', filePath); - - // // return Promise.resolve(100).then(() => expect(handlerMock).toHaveBeenCalled()); - - // return expect(true).toBe(true); - // }); - - // it('useWatcher hook tracks filesystem updates through multiple render cycles', async () => { - // const handlerMock = jest.fn(); - // renderHook(() => useWatcher('foo/bar.js', handlerMock), { wrapper }); - - // // TODO: Fix the following test to correctly mimic FS events and capture them via the useWatcher hook - // // - // // expect(handlerMock).not.toHaveBeenCalled(); - // // await writeFileAsync('foo/bar.js', 'content update 1').then(() => expect(handlerMock).toHaveBeenCalledTimes(1)); - // // expect(handlerMock).toHaveBeenCalledTimes(1); - // // await writeFileAsync('foo/bar.js', 'content update 2').then(() => expect(handlerMock).toHaveBeenCalledTimes(2)); - // // expect(handlerMock).toHaveBeenCalledTimes(2); - - // return expect(true).toBe(true); - // }); -}); diff --git a/src/containers/hooks/useWatcher.ts b/src/containers/hooks/useWatcher.ts deleted file mode 100644 index d28e62dc8..000000000 --- a/src/containers/hooks/useWatcher.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { useEffect, useRef } from 'react'; -import { PathLike } from 'fs-extra'; -import { FSWatcher, WatchOptions, watch } from 'chokidar'; - -export type WatchEventType = - | 'add' - | 'addDir' - | 'change' - | 'unlink' - | 'unlinkDir' - | 'ready' - | 'raw' - | 'error'; -export type WatchListener = (event: WatchEventType, filename: T) => void; - -/** - * Custom React Hook for monitoring filesystem objects (files and directories) and triggering an - * event callback function when changes are detected. If a filepath is undefined, as in the case of - * virtual metafiles, then this hook becomes a no-op and will skip opening any FS watchers; - * similarly if the event handler is undefined. This hook initializes FS watchers upon - * initialization, and will close all watchers based on the context closure of the calling - * component. - * @param filepath The relative or absolute path to a file or directory (recursively includes all - * subdirectories - * and files) that should be watched for changes. - * @param eventHandler The event callback function that should be called on all detected change - * events. - * @param options Additional watcher options; see https://github.com/paulmillr/chokidar#api. - */ -const useWatcher = ( - filepath: PathLike | undefined, - eventHandler: WatchListener | undefined, - options?: WatchOptions -): void => { - // create a ref that caches the handler callback, and a ref to prevent race conditions on async requests - const savedHandler = useRef>(); - const active = useRef(true); - const watcher = useRef(); - - useEffect(() => { - const registerWatcher = async () => { - // update saved handler, if necessary - if (eventHandler && savedHandler.current !== eventHandler) { - savedHandler.current = eventHandler; - } - // if filepath is undefined, then a virtual metafile is calling and no watcher is needed - // if eventHandler is undefined, then no watcher is needed - if (active.current && savedHandler.current && filepath !== undefined) { - // create watcher for file or directory (and all subdirectories) - watcher.current = watch(filepath.toString(), { ...options, ignoreInitial: true }); - watcher.current.on('all', savedHandler.current); - } - }; - registerWatcher(); - // remove all watchers on cleanup; called just before component unmount - return () => { - active.current = false; - if (filepath !== undefined && watcher.current) watcher.current.close(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); -}; - -export default useWatcher; diff --git a/src/containers/inspector.tsx b/src/containers/inspector.tsx deleted file mode 100644 index e0ea33d53..000000000 --- a/src/containers/inspector.tsx +++ /dev/null @@ -1,146 +0,0 @@ -import ts from 'typescript'; -import { flattenArray } from './flatten'; - -export type ExtractedParameter = { - name: string; - kind: { tsKind: ts.SyntaxKind, toString: string }; - type: { tsType: ts.Type | undefined, toString: string }; - optional: boolean | undefined; - defaultVal: string | undefined; - value: string; -}; - -const syntaxKindToString = (kind: ts.SyntaxKind): string => { - const strKind = ts.SyntaxKind[kind]; - return strKind ? strKind : 'unknown'; -}; - -const typeToString = (type: ts.Type | undefined, typeChecker: ts.TypeChecker): string => { - return type ? typeChecker.typeToString(type) : 'unknown'; -}; - -export const extractedParametersToString = (params: ExtractedParameter[]) => { - const paramStrings = params.map(p => - `${p.name}: {\n name: ${p.name}\n kind: ${p.kind.toString}\n type: ${p.type.toString}\n optional: ${p.optional}\n default: ${p.defaultVal}\n }` - ); - return `type = { \n ${paramStrings.join("\n ")} \n } `; -}; - -const extractBindings = (bindingPattern: ts.ObjectBindingPattern, sourceFile: ts.SourceFile | undefined, typeChecker: ts.TypeChecker): Record => { - const bindings: { [name: string]: ExtractedParameter } = {}; - for (const element of bindingPattern.elements) { - const name = element.name.getText(sourceFile); - const defaultVal = element.initializer ? element.initializer.getText(sourceFile) : undefined; - bindings[name] = { - name: name, - kind: { tsKind: element.kind, toString: syntaxKindToString(element.kind) }, - type: { tsType: undefined, toString: typeToString(undefined, typeChecker) }, - optional: undefined, - defaultVal: defaultVal, - value: defaultVal ?? '' - }; - } - return bindings; -}; - -const extractTypeLiterals = (typeLiteralNode: ts.TypeLiteralNode, sourceFile: ts.SourceFile | undefined, typeChecker: ts.TypeChecker): ExtractedParameter[] => { - const typeLiterals: ExtractedParameter[] = []; - for (const member of typeLiteralNode.members) { - const type = ts.isPropertySignature(member) && member.type ? typeChecker.getTypeFromTypeNode(member.type) : undefined; - typeLiterals.push({ - name: member.name ? member.name.getText(sourceFile) : '', - kind: { tsKind: member.kind, toString: syntaxKindToString(member.kind) }, - type: { tsType: type, toString: typeToString(type, typeChecker) }, - optional: ts.isPropertySignature(member) && member.questionToken ? true : false, - defaultVal: undefined, - value: '' - }); - } - return typeLiterals; -}; - -const extractParameter = (parameterDecl: ts.ParameterDeclaration, sourceFile: ts.SourceFile | undefined, typeChecker: ts.TypeChecker): ExtractedParameter[] => { - const bindings = ts.isObjectBindingPattern(parameterDecl.name) ? extractBindings(parameterDecl.name, sourceFile, typeChecker) : undefined; - const literals = parameterDecl.type && ts.isTypeLiteralNode(parameterDecl.type) ? extractTypeLiterals(parameterDecl.type, sourceFile, typeChecker) : undefined; - - if (bindings && literals) { - return literals.map(literal => { - const match = bindings[literal.name]; - return match ? { - name: literal.name, - kind: literal.kind, - type: literal.type, - optional: literal.optional, - defaultVal: match.defaultVal, - value: match.defaultVal ?? '' - } : literal; - }); - } else if (bindings && !literals) { - return Object.values(bindings); - } else if (!bindings && literals) { - return literals; - } else { - const type = parameterDecl.type ? typeChecker.getTypeFromTypeNode(parameterDecl.type) : parameterDecl.initializer ? typeChecker.getTypeAtLocation(parameterDecl) : undefined; - return [{ - name: parameterDecl.name.getText(sourceFile), - kind: { tsKind: parameterDecl.kind, toString: syntaxKindToString(parameterDecl.kind) }, - type: { tsType: type, toString: typeToString(type, typeChecker) }, - optional: typeChecker.isOptionalParameter(parameterDecl), - defaultVal: parameterDecl.initializer ? parameterDecl.initializer.getText(sourceFile) : undefined, - value: parameterDecl.initializer ? parameterDecl.initializer.getText(sourceFile) : '', - }]; - } -}; - -const extractParameters = (params: ts.NodeArray, sourceFile: ts.SourceFile | undefined, typeChecker: ts.TypeChecker): ExtractedParameter[] => { - return flattenArray(params.map(p => extractParameter(p, sourceFile, typeChecker))); -}; - -export const checkExpressionType = (expression: string, type: ts.Type | undefined) => { - const sourceFile = ts.createSourceFile('file.ts', expression, ts.ScriptTarget.Latest, true); - const program: ts.Program = ts.createProgram(['file.ts'], { emitDeclarationOnly: true }); - const typeChecker: ts.TypeChecker = program.getTypeChecker(); - - const typeName = type ? typeToString(type, typeChecker) : 'String'; - const node: ts.TypeReferenceNode = ts.factory.createTypeReferenceNode(typeName, []); - console.log({ node }); - - // const source = "[33]"; - console.log(`expression: ${expression}`); - const result = ts.transpileModule(expression, { compilerOptions: { module: ts.ModuleKind.CommonJS } }); - console.log(JSON.stringify(result)); - - const statements = sourceFile.statements.map(s => `st: ${s.getText(sourceFile)}`); - const children = sourceFile.getChildren(sourceFile).map(c => `ch: ${typeToString(typeChecker.getTypeAtLocation(c), typeChecker)} [${syntaxKindToString(c.kind)}]`); - const statementOutput = `statement count: ${statements.length} =>\n ${statements.join('\n ')} \n`; - const childNodeOutput = `child node count: ${children.length} =>\n ${children.join('\n ')} \n`; - console.log(`checking for type: ${typeToString(type, typeChecker)}\n${statementOutput}${childNodeOutput}`); -}; - -export const transpileSource = (input: string) => ts.transpileModule(input, { compilerOptions: { module: ts.ModuleKind.CommonJS } }); - -export const extractFunctionParameterSignature = (filename: string, aliasName: string): ExtractedParameter[] => { - const program: ts.Program = ts.createProgram([filename], { emitDeclarationOnly: true }); - const sourceFile: ts.SourceFile | undefined = program.getSourceFile(filename); - const typeChecker: ts.TypeChecker = program.getTypeChecker(); - - const func: ts.FunctionDeclaration | undefined = sourceFile?.statements - .filter(ts.isFunctionDeclaration) - .find((s) => s.name?.getText(sourceFile) === aliasName); - - const arrow: ts.VariableStatement | undefined = sourceFile?.statements - .filter(ts.isVariableStatement) - .find((s) => ts.isVariableStatement(s) && s.declarationList.declarations[0]?.name.getText(sourceFile) === aliasName); - - if (!func && !arrow) { - throw new Error(`Function: '${aliasName}' not found in file: '${filename}'`); - } - - if (func) { - return extractParameters(func.parameters, sourceFile, typeChecker); - } else if (arrow) { - const initializer = arrow.declarationList.declarations[0]?.initializer; - return initializer && ts.isArrowFunction(initializer) ? extractParameters(initializer.parameters, sourceFile, typeChecker) : []; - } - return []; -}; diff --git a/src/containers/io/io-extractStats.ts b/src/containers/io/io-extractStats.ts deleted file mode 100644 index da839cbb0..000000000 --- a/src/containers/io/io-extractStats.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as fs from 'fs-extra'; - -/** - * Extracts the file stats information from the filepath. Returns an [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) - * class object and injects a `isDir` field for use in contexts without FS access (i.e. `renderer` processes); contains - * the same information as if calling `fs.stat().isDirectory()`. - * @param filepath The relative or absolute path to evaluate. - * @returns {Promise} A Promise object for a fs.Stats object containing information about - * a file, or undefined if filepath refers to a nonexistent file or directory (or read permissions are missing). - */ -export const extractStats = ( - filepath: fs.PathLike -): Promise<(fs.Stats & { isDir: boolean }) | undefined> => { - return fs - .stat(filepath.toString()) - .then(stat => ({ ...stat, isDir: stat.isDirectory() })) - .catch(() => undefined); -}; diff --git a/src/containers/io/io-writeFile.ts b/src/containers/io/io-writeFile.ts deleted file mode 100644 index ba8e72a0d..000000000 --- a/src/containers/io/io-writeFile.ts +++ /dev/null @@ -1,65 +0,0 @@ -import * as fs from 'fs-extra'; -import * as path from 'path'; -import { nodeEncoding } from './io-types'; - -/** - * Asynchronously write data to a file. Creates a new file if none exists; will destructively rewrite existing files. - * @param filepath - A valid filename or path to write data to. - * @param data - A string or buffer containing data to be written. - * @param options - Options object for setting file encoding (default: `"utf8"`), file mode (default: `0o666`), and file system flags - * (default: `"w"`). - * @param options.encoding - The possible option values are: - * - * | encoding | description | - * | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `"ascii"` | ASCII (also ISO-IR-006) is a character encoding standard used as the base for most modern character-encoding schemes, typical defaults to US-ASCII variant. | - * | `"base64"` | Base64 is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-64 representation. | - * | `"hex"` | Hexidecimal (base16) is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-16 representation. | - * | `"ucs2"`/`"ucs-2"` | UCS-2 (also ISO-10646) is a 2-byte character set for encoding Unicode characters under the Universal Character Set standard. Superseded by UTF-8 and UTF-16. | - * | `"utf16le"`/`"utf-16le"` | UTF-16 (also ISO-10646) is a variable-length (either one or tow 16-bit code units) for representing any Unicode character. | - * | `"utf8"`/`"utf-8"` | UTF-8 (also ISO-10646) can represent any character in the Unicode standard using 1 to 4 bytes (8-bit) code units. UTF-8 is backwards compatible with ASCII. | - * | `"binary"`/`"latin1"` | Latin-1 (also ISO-8859-1) is an 8-bit character set representing Western European languages. | - * @param options.mode - Mode adheres to the Unix/Linux permissions model. This model contain Read, Write, and Execute permissions that are - * combined into an octal value representing the combined permissions for each of the Owner, Group, and Other (world) attributes. For - * embedding purposes the permissions are stored with a umask; e.g. `0o753` represents the permission octal `7` for Owner, `5` for Group, - * and `3` for Other (world). The absolute octal permissions are: - * - * | octal | description | - * | ----- | ------------------------------ | - * | `0` | No permission | - * | `1` | Execute permission | - * | `2` | Write permission | - * | `3` | Execute and write permission | - * | `4` | Read permission | - * | `5` | Read and execute permission | - * | `6` | Read and write permission | - * | `7` | All permissions | - * @param options.flag - Flags adhere to the following: - * - * | flags | description | - * | ------- | ---------------------------------------------------------------------------------------------------------------------------- | - * | `"a"` | Open file for appending. The file is created if it does not exist. | - * | `"ax"` | Like `"a"` but fails if the path exists. | - * | `"a+"` | Open file for reading and appending. The file is created if it does not exist. | - * | `"ax+"` | Like `"a+"` but fails if the path exists. | - * | `"as"` | Open file for appending in synchronous mode. The file is created if it does not exist. | - * | `"as+"` | Open file for reading and appending in synchronous mode. The file is created if it does not exist. | - * | `"r"` | Open file for reading. An exception occurs if the file does not exist. | - * | `"r+"` | Open file for reading and writing. An exception occurs if the file does not exist. | - * | `"rs+"` | Open file for reading and writing in synchronous mode. Instructs the operating system to bypass the local file system cache. | - * | `"w"` | Open file for writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx"` | Like `"w"` but fails if the path exists. | - * | `"w+"` | Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx+"` | Like `"w+"` but fails if the path exists. | - * @returns {Promise} A Promise object for the file write operation; where errors cause a rejection. - */ - -export const writeFileAsync = ( - filepath: fs.PathLike, - data: string | Buffer, - options?: { encoding?: nodeEncoding; flag?: string; mode?: number } -): Promise => { - const fullPath = path.resolve(filepath.toString()); - if (options) return fs.writeFile(fullPath, data, options); - else return fs.writeFile(fullPath, data); -}; diff --git a/src/containers/io/io.spec.ts b/src/containers/io/io.spec.ts deleted file mode 100644 index 94b9920fe..000000000 --- a/src/containers/io/io.spec.ts +++ /dev/null @@ -1,556 +0,0 @@ -import { Filetype } from '../../store/slices/filetypes'; -import { extractExtension, replaceExt } from './io-extension'; -import { extractDirname, extractFilename } from './io-extractName'; -import { isDescendant } from './io-isDescendant'; -import { isEqualPaths } from './io-isEqualPaths'; -import { validateFileName } from './io-validateFileName'; - -describe('io.extractStats', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ - // content: 'file-content', - // mtime: new Date(1) - // }) - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('extractStats to extract relevant file information from valid path', async () => { - // expect.assertions(1); - // await expect(extractStats('foo/bar')).resolves.toHaveProperty('mtime', new Date(1)); - // }); - - // it('extractStats to return undefined from nonexistent path', async () => { - // expect.assertions(1); - // await expect(extractStats('foo/baz')).resolves.toBeUndefined(); - // }); -}); - -describe('io.extractFilename', () => { - it('extractFilename to extract filename from Linux/MacOS paths', () => { - expect.assertions(3); - expect(extractFilename('/Users/foo/bar/module.d.ts')).toBe('module.d.ts'); - expect(extractFilename('./baz/webpack.config.js')).toBe('webpack.config.js'); - expect(extractFilename('../../baz/sample.c9search_results')).toBe('sample.c9search_results'); - }); - - it('extractFilename to extract filename from Windows paths', () => { - expect.assertions(2); - expect(extractFilename('C:\\Foo\\Bar\\Baz\\file.js')).toBe('file.js'); - expect(extractFilename('2018\\January.xlsx')).toBe('January.xlsx'); - }); -}); - -describe('io.extractDirname', () => { - it('extractDirname to extract dirname from Linux/MacOS paths', () => { - expect.assertions(7); - expect(extractDirname('/Users/foo/bar/module.d.ts')).toBe('bar'); - expect(extractDirname('./baz/webpack.config.js')).toBe('baz'); - expect(extractDirname('../../baz/sample.c9search_results')).toBe('baz'); - expect(extractDirname('/Users/foo/bar/')).toBe('bar'); - expect(extractDirname('bar/')).toBe('bar'); - expect(extractDirname('/setup.cfg')).toBe(''); - expect(extractDirname('module.d.ts')).toBe(''); - }); - - it('extractDirname to extract dirname from Windows paths', () => { - expect.assertions(3); - expect(extractDirname('C:\\Foo\\Bar\\Baz\\file.js')).toBe('Baz'); - expect(extractDirname('2018\\January.xlsx')).toBe('2018'); - expect(extractDirname('C:\\Foo\\Bar\\Baz\\')).toBe('Baz'); - }); - - it('extractDirname resolves malformed paths', () => { - expect.assertions(4); - expect(extractDirname('')).toBe(''); - expect(extractDirname('/')).toBe(''); - expect(extractDirname(' /')).toBe(' '); - expect(extractDirname('/ ')).toBe(''); - }); -}); - -describe('io.extractExtension', () => { - it('extractExtension to extract extension from filename', () => { - expect.assertions(3); - expect(extractExtension('foo.js')).toBe('js'); - expect(extractExtension('bar.d.ts')).toBe('ts'); - expect(extractExtension('.htaccess')).toBe('htaccess'); - }); - - it('extractExtension to extract extension from Linux/MacOS paths', () => { - expect.assertions(3); - expect(extractExtension('/Users/foo/bar/module.d.ts')).toBe('ts'); - expect(extractExtension('./baz/webpack.config.js')).toBe('js'); - expect(extractExtension('../../baz/sample.c9search_results')).toBe('c9search_results'); - }); - - it('extractExtension to extract extension from Windows paths', () => { - expect.assertions(2); - expect(extractExtension('C:\\Foo\\Bar\\Baz\\file.js')).toBe('js'); - expect(extractExtension('2018\\January.xlsx')).toBe('xlsx'); - }); -}); - -describe('io.isEqualPaths', () => { - it('isEqualPaths resolves to true for absolutely equivalent paths', () => { - expect.assertions(1); - expect(isEqualPaths('foo/bar/example.ts', 'foo/bar/example.ts')).toBeTruthy(); - }); - - it('isEqualPaths resolves to true for relatively equivalent paths', () => { - expect.assertions(1); - expect(isEqualPaths('foo/bar/example.ts', 'qux/../foo/bar/example.ts')).toBeTruthy(); - }); - - it('isEqualPaths resolves to false for non-equivalent paths', () => { - expect.assertions(3); - expect(isEqualPaths('foo/bar/example.ts', 'foo/bar/sample.js')).toBeFalsy(); - expect(isEqualPaths('foo/bar/example.ts', 'qux/bar/example.ts')).toBeFalsy(); - expect(isEqualPaths('foo/bar/example.ts', 'foo/bar')).toBeFalsy(); - }); -}); - -describe('io.isDescendant', () => { - it('isDescendant resolves to true for child paths', () => { - expect.assertions(2); - expect(isDescendant('foo/', 'foo/bar/example.ts')).toBeTruthy(); - expect(isDescendant('foo/bar/', 'qux/../foo/bar/example.ts')).toBeTruthy(); - }); - - it('isDescendant resolves to true on direct child paths only with `direct` enabled', () => { - expect.assertions(2); - expect(isDescendant('foo/bar/', 'foo/bar/example.ts', true)).toBeTruthy(); - expect(isDescendant('foo/', 'foo/bar/example.ts', true)).toBeFalsy(); - }); - - it('isDescendant resolves to false for equivalent paths', () => { - expect.assertions(2); - expect(isDescendant('foo/bar/example.ts', 'foo/bar/example.ts')).toBeFalsy(); - expect(isDescendant('foo/bar/example.ts', 'qux/../foo/bar/example.ts')).toBeFalsy(); - }); -}); - -describe('io.readFileAsync', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // 'foo.txt': 'extra', - // 'foo/bar/': { - // 'some-file.txt': 'file contents', - // 'empty-dir': { - // /* empty directory */ - // } - // }, - // 'baz/qux/': { - // 'some.png': Buffer.from([8, 6, 7, 5, 3, 0, 9]), - // 'vex/bol/wiz': { - // /* another empty directory */ - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('readFileAsync resolves to string for text file content', async () => { - // expect.assertions(1); - // await expect(readFileAsync('foo/bar/some-file.txt', { encoding: 'utf-8' })).resolves.toBe( - // 'file contents' - // ); - // }); - - // it('readFileAsync resolves to Buffer for bytestring file content', async () => { - // expect.assertions(1); - // await expect(readFileAsync('baz/qux/some.png')).resolves.toEqual( - // Buffer.from([8, 6, 7, 5, 3, 0, 9]) - // ); - // }); - - // it('readFileAsync fails with error on non-existing file', async () => { - // expect.assertions(1); - // await expect(readFileAsync('foo/bar/empty-dir/nonexist.js')).rejects.toThrow(/ENOENT/); - // }); - - // it('readFileAsync fails with error on directory paths', async () => { - // expect.assertions(1); - // await expect(readFileAsync('foo/bar')).rejects.toThrow(/EISDIR/); - // }); -}); - -describe('io.decompressBinaryObject', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // 'plainfile.txt': 'no compression was used', - // e2: { - // '7bb34b0807ebf1b91bb66a4c147430cde4f08f': Buffer.from([ - // 98, 108, 111, 98, 32, 50, 53, 0, 77, 121, 32, 100, 97, 116, 97, 32, 102, 105, 116, 115, - // 32, 111, 110, 32, 111, 110, 101, 32, 108, 105, 110, 101, 10 - // ]) - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('decompressBinaryObject to decompress binary to UTF-8 string', async () => { - // expect.assertions(1); - // const compressed = await readFileAsync('e2/7bb34b0807ebf1b91bb66a4c147430cde4f08f'); - // return expect(decompressBinaryObject(compressed, 'utf-8')).toStrictEqual( - // 'blob 25\u0000My data fits on one line\n' - // ); - // }); - - // it('decompressBinaryObject to decompress string buffer to UTF-8 string', async () => { - // expect.assertions(1); - // const compressed = await readFileAsync('plainfile.txt'); - // return expect(decompressBinaryObject(compressed, 'utf-8')).toBe('no compression was used'); - // }); -}); - -describe('io.readDirAsync', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // 'foo/bar': { - // 'some-file.txt': 'file contents', - // 'empty-dir': { - // /* empty directory */ - // } - // }, - // 'baz/qux': { - // 'nup/tul/some.png': Buffer.from([8, 6, 7, 5, 3, 0, 9]), - // 'vex/bol/wiz': { - // /* another empty directory */ - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('readDirAsync to resolve to array of child filepaths', async () => { - // expect.assertions(1); - // await expect(readDirAsync('foo/bar')).resolves.toHaveLength(2); - // }); - - // it('readDirAsync fails with an error on non-existent path', async () => { - // expect.assertions(1); - // await expect(readDirAsync('foo/dep/')).rejects.toThrow(/ENOENT/); - // }); - - // it('readDirAsync fails with an error on file paths', async () => { - // expect.assertions(1); - // await expect(readDirAsync('foo/bar/some-file.txt')).rejects.toThrow(/ENOTDIR/); - // }); -}); - -describe('io.isDirectory', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ content: 'file contents', mtime: new Date(1) }), - // zap: { - // zip: file({ content: 'file contents', mtime: new Date(1) }) - // }, - // 'tracked-file.js': 'directory is tracked by git' - // }, - // empty: {} - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('isDirectory resolves to true for empty directories', () => { - // expect.assertions(1); - // return expect(isDirectory('empty')).resolves.toBe(true); - // }); - - // it('isDirectory resolves to true for non-empty directories', () => { - // expect.assertions(1); - // return expect(isDirectory('foo/zap')).resolves.toBe(true); - // }); - - // it('isDirectory resolves to false for file', async () => { - // expect.assertions(2); - // await expect(isDirectory('foo/bar')).resolves.toBe(false); - // await expect(isDirectory('foo/tracked-file.js')).resolves.toBe(false); - // }); - - // it('isDirectory fails with an error on non-existent path', () => { - // expect.assertions(1); - // return expect(isDirectory('foo/dep/')).rejects.toThrow(/ENOENT/); - // }); -}); - -describe('io.readDirAsyncDepth', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ content: 'file contents', mtime: new Date(1) }), - // baz: file({ content: 'file contents', mtime: new Date(1) }), - // zap: { - // zed: { - // beq: file({ content: 'file contents', mtime: new Date(1) }), - // bup: file({ content: 'file contents', mtime: new Date(1) }) - // }, - // zip: file({ content: 'file contents', mtime: new Date(1) }) - // } - // }, - // zonk: { - // zork: file({ content: 'file contents', mtime: new Date(1) }) - // }, - // imp: { - // bamp: {} - // }, - // empty: {} - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('readDirAsyncDepth resolves an empty directory', async () => { - // expect.assertions(2); - // const files = await readDirAsyncDepth('empty'); - // expect(files).toHaveLength(1); - // expect(files).toMatchSnapshot(); - // }); - - // it('readDirAsyncDepth resolves a directory with sub-files', async () => { - // expect.assertions(2); - // const files = await readDirAsyncDepth('zonk'); - // expect(files).toHaveLength(2); - // expect(files).toMatchSnapshot(); - // }); - - // it('readDirAsyncDepth resolves a directory with sub-directories', async () => { - // expect.assertions(2); - // const files = await readDirAsyncDepth('imp'); - // expect(files).toHaveLength(2); - // expect(files).toMatchSnapshot(); - // }); - - // it('readDirAsyncDepth resolves a directory with multiple layers of directories and files', async () => { - // expect.assertions(2); - // const files = await readDirAsyncDepth('foo'); - // expect(files).toHaveLength(8); - // expect(files).toMatchSnapshot(); - // }); - - // it('readDirAsyncDepth resolves a directory with multiple layers of directories and files to specified depth', async () => { - // expect.assertions(2); - // const files = await readDirAsyncDepth('foo', 2); - // expect(files).toHaveLength(6); - // expect(files).toMatchSnapshot(); - // }); - - // it('readDirAsyncDepth fails with an error on non-existent paths', () => { - // expect.assertions(1); - // return expect(readDirAsyncDepth('foo/dep/')).rejects.toThrow(/ENOENT/); - // }); - - // it('readDirAsyncDepth fails with an error on file paths', () => { - // expect.assertions(1); - // return expect(readDirAsyncDepth('foo/bar')).rejects.toThrow(/ENOTDIR/); - // }); -}); - -describe('io.filterReadArray', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ content: 'file contents', mtime: new Date(1) }), - // baz: file({ content: 'file contents', mtime: new Date(1) }), - // zap: { - // zed: { - // beq: file({ content: 'file contents', mtime: new Date(1) }), - // bup: file({ content: 'file contents', mtime: new Date(1) }) - // }, - // zip: file({ content: 'file contents', mtime: new Date(1) }) - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('filterReadArray returns only child directories', () => { - // expect.assertions(1); - // const paths: fs.PathLike[] = [ - // 'foo/bar', - // 'foo/baz', - // 'foo/zap/zed/beq', - // 'foo/zap/zed/bup', - // 'foo/zap/zed', - // 'foo/zap/zip', - // 'foo/zap', - // 'foo' - // ]; - // return expect(filterReadArray(paths)).resolves.toHaveLength(3); - // }); - - // it('filterReadArray returns only child files', () => { - // expect.assertions(1); - // const paths: fs.PathLike[] = [ - // 'foo/bar', - // 'foo/baz', - // 'foo/zap/zed/beq', - // 'foo/zap/zed/bup', - // 'foo/zap/zed', - // 'foo/zap/zip', - // 'foo/zap', - // 'foo' - // ]; - // return expect(filterReadArray(paths, true)).resolves.toHaveLength(5); - // }); -}); - -describe('io.writeFileAsync', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // 'foo/bar': { - // 'fileD.txt': 'version 1' - // }, - // baz: { - // /** empty directory */ - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('writeFileAsync to resolve and write a new file with string content', async () => { - // expect.assertions(2); - // const testPath = 'foo/bar/fileA.txt'; - // await writeFileAsync(testPath, 'sample data'); - // await expect(fs.ensureFile(testPath)).resolves.not.toThrow(); - // await expect(readFileAsync(testPath, { encoding: 'utf-8' })).resolves.toBe('sample data'); - // }); - - // it('writeFileAsync to resolve and write a new file with binary content', async () => { - // expect.assertions(2); - // const testPath = 'foo/bar/fileB.txt'; - // await writeFileAsync(testPath, Buffer.from([1, 2, 3])); - // await expect(fs.ensureFile(testPath)).resolves.not.toThrow(); - // await expect(readFileAsync(testPath)).resolves.toStrictEqual(Buffer.from([1, 2, 3])); - // }); - - // it('writeFileAsync to resolve and write a new file with base16 content', async () => { - // expect.assertions(2); - // const testPath = 'foo/bar/fileC.txt'; - // await writeFileAsync(testPath, Buffer.from([1, 2, 3]), { encoding: 'hex' }); - // await expect(fs.ensureFile(testPath)).resolves.not.toThrow(); - // await expect(readFileAsync(testPath, { encoding: 'hex' })).resolves.toBe('010203'); - // }); - - // it('writeFileAsync to resolve and overwrite an existing file with content', async () => { - // expect.assertions(2); - // const testPath = 'foo/bar/fileD.txt'; - // await expect(readFileAsync(testPath, { encoding: 'utf-8' })).resolves.toBe('version 1'); - // await writeFileAsync(testPath, 'version 2'); - // await expect(readFileAsync(testPath, { encoding: 'utf-8' })).resolves.toBe('version 2'); - // }); -}); - -describe('io.validateFileName', () => { - const exts = ['ts', 'html']; - const configExts = ['.gitignore', '.htaccess']; - it('validateFileName returns false for an invalid file name and true for a valid file name', () => { - expect.assertions(15); - expect(validateFileName('<.ts', configExts, exts)).toEqual(false); - expect(validateFileName('>.ts', configExts, exts)).toEqual(false); - expect(validateFileName(':.ts', configExts, exts)).toEqual(false); - expect(validateFileName('".ts', configExts, exts)).toEqual(false); - expect(validateFileName('/.ts', configExts, exts)).toEqual(false); - expect(validateFileName('\\.ts', configExts, exts)).toEqual(false); - expect(validateFileName('|.ts', configExts, exts)).toEqual(false); - expect(validateFileName('?.ts', configExts, exts)).toEqual(false); - expect(validateFileName('*.ts', configExts, exts)).toEqual(false); - expect(validateFileName(' .ts', configExts, exts)).toEqual(false); - expect(validateFileName('..ts', configExts, exts)).toEqual(false); - expect(validateFileName('foo .ts', configExts, exts)).toEqual(false); - expect(validateFileName('bar..ts', configExts, exts)).toEqual(false); - expect(validateFileName('foo.ts', configExts, exts)).toEqual(true); - expect(validateFileName('bar.html', configExts, exts)).toEqual(true); - }); -}); - -describe('io.replaceExt', () => { - const newFiletype: Filetype = { - id: '55', - filetype: 'JavaScript', - handler: 'Editor', - extensions: ['js', 'jsm'] - }; - const configFiletype: Filetype = { - id: '17', - filetype: 'ApacheConf', - handler: 'Editor', - extensions: ['.htaccess'] - }; - it('replaceFileType appends a normal extension to file name with no existing extension', () => { - expect.assertions(1); - expect(replaceExt('foo', newFiletype)).toBe('foo.js'); - }); - it('replaceFileType appends a normal extension to file name with an existing extension', () => { - expect.assertions(1); - expect(replaceExt('foo.html', newFiletype)).toBe('foo.js'); - }); - it('replaceFileType appends a normal extension to file name with a trailing "."', () => { - expect.assertions(1); - expect(replaceExt('foo.', newFiletype)).toBe('foo.js'); - }); - it('replaceFileType appends a .config extension to file name with no existing extension', () => { - expect.assertions(1); - expect(replaceExt('foo', configFiletype)).toBe('foo.htaccess'); - }); - it('replaceFileType appends a .config extension to file name with an existing extension', () => { - expect.assertions(1); - expect(replaceExt('foo.html', configFiletype)).toBe('foo.htaccess'); - }); - it('replaceFileType appends a .config extension to file name with a trailing "."', () => { - expect.assertions(1); - expect(replaceExt('foo.', configFiletype)).toBe('foo.htaccess'); - }); -}); diff --git a/src/containers/merges.spec.ts b/src/containers/merges.spec.ts deleted file mode 100644 index 3101f5581..000000000 --- a/src/containers/merges.spec.ts +++ /dev/null @@ -1,45 +0,0 @@ -describe('containers/merges', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // 'example.ts': 'import async from "typescript";\n\n<<<<<<< HEAD\nconst rand = Math.floor(Math.random() * 6) + 1;\n=======\nconst rand = Math.floor(Math.random() * 6) + 1;\n>>>>>>>\nconst double = rand * 2;\n<<<<<<< HEAD\nconst triple = rand * 3;\n=======\nconst triple = double + rand;\n>>>>>>>', - // 'bar.js': 'file contents', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // remotes: { - // origin: { - // 'HEAD': 'ref: refs/remotes/origin/main', - // 'develop': 'ref: refs/remotes/origin/develop' - // } - // } - // } - // } - // } - // }); - // return mockedInstance = instance; - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('checkFilepath resolves to undefined on non-conflicting file', async () => { - // await expect(checkUnmergedPath('foo/bar.js')).resolves.toHaveLength(0); - // }); - - // it('checkFilepath resolves to a conflict array on conflicting file', async () => { - // await expect(checkUnmergedPath('foo/example.ts')).resolves.toStrictEqual( - // expect.arrayContaining([ - // expect.objectContaining({ - // path: 'foo/example.ts', - // conflicts: [33, 183] - // }) - // ]) - // ); - // }); -}); diff --git a/src/containers/utils.spec.ts b/src/containers/utils.spec.ts deleted file mode 100644 index 1088b7f58..000000000 --- a/src/containers/utils.spec.ts +++ /dev/null @@ -1,451 +0,0 @@ -// import { DateTime } from 'luxon'; -// import { FileMetafile } from '../store/slices/metafiles'; -import * as utils from './utils'; -// import { MockInstance, file, mock } from '../test-utils/mock-fs'; - -describe('containers/utils', () => { - // let mockedInstance: MockInstance; - // beforeAll(async () => { - // const instance = await mock({ - // foo: { - // bar: file({ content: 'file contents', mtime: new Date(1) }), - // zap: file({ content: 'file contents', mtime: new Date(1) }), - // 'tracked-file.js': 'directory is tracked by git' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - it('isPresent returns true on present', () => { - expect(utils.isPresent({ data: 'hello world' })).toBeTruthy(); - }); - - it('isPresent returns false on undefined', () => { - expect(utils.isPresent(undefined)).toBeFalsy(); - }); - - it('isPresent returns false on null', () => { - expect(utils.isPresent(null)).toBeFalsy(); - }); - - it('isPresent returns false on void with undefined', () => { - const voidVal: void = undefined; - expect(utils.isPresent(voidVal)).toBeFalsy(); - }); - - it('isPresent filters out only present values from an array', () => { - const results: Array<{ data: string } | undefined | null> = [ - { data: 'hello' }, - null, - { data: 'world' }, - undefined, - { data: 'wow' } - ]; - const presentResults: Array<{ data: string }> = results.filter(utils.isPresent); - expect(presentResults).toEqual([{ data: 'hello' }, { data: 'world' }, { data: 'wow' }]); - }); - - it('isDefined returns true on defined', () => { - expect(utils.isDefined({ data: 'hello world' })).toBeTruthy(); - }); - - it('isDefined returns false on undefined', () => { - expect(utils.isDefined(undefined)).toBeFalsy(); - }); - - it('isDefined filters out only defined values from an array', () => { - const results: Array<{ data: string } | undefined> = [ - { data: 'hello' }, - { data: 'world' }, - undefined, - { data: 'wow' } - ]; - const definedResults: Array<{ data: string }> = results.filter(utils.isDefined); - expect(definedResults).toEqual([{ data: 'hello' }, { data: 'world' }, { data: 'wow' }]); - }); - - it('isFilled returns true on filled', () => { - expect(utils.isFilled({ data: 'hello world' })).toBeTruthy(); - }); - - it('isFilled returns false on null', () => { - expect(utils.isFilled(null)).toBeFalsy(); - }); - - it('isFilled filters out only filled values from an array', () => { - const results: Array<{ data: string } | null> = [ - { data: 'hello' }, - { data: 'world' }, - null, - { data: 'wow' } - ]; - const filledResults: Array<{ data: string }> = results.filter(utils.isFilled); - expect(filledResults).toEqual([{ data: 'hello' }, { data: 'world' }, { data: 'wow' }]); - }); - - // const mockedMetafile: FileMetafile = { - // id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', - // name: 'bar.js', - // modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'Javascript', - // flags: [], - // path: 'foo/bar.js', - // state: 'unmodified', - // content: 'file contents', - // mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf() - // }; - - // it('hasUpdates returns false for empty objects', () => { - // expect(utils.hasUpdates(mockedMetafile, {})).toBeFalsy(); - // }); - - // it('hasUpdates returns false for exactly similar metafiles', () => { - // expect(utils.hasUpdates(mockedMetafile, mockedMetafile)).toBeFalsy(); - // }); - - // it('hasUpdates returns true on new property', () => { - // expect(utils.hasUpdates(mockedMetafile, { repo: '23', branch: '101' })).toBeTruthy(); - // }); - - // it('hasUpdates returns true on modified property', () => { - // const updatedMetafile: FileMetafile = { - // ...mockedMetafile, - // content: 'new content' - // }; - // expect(utils.hasUpdates(mockedMetafile, updatedMetafile)).toBeTruthy(); - // }); - - // it('isNumber returns true on numeric-only strings', () => { - // expect(utils.isNumber('135')).toBe(true); - // expect(utils.isNumber('493721')).toBe(true); - // }); - - // it('isNumber returns false on non-numeric and mixed strings', () => { - // expect(utils.isNumber('test')).toBe(false); - // expect(utils.isNumber('3again2')).toBe(false); - // }); - - // it('getConflictingChunks to locate conflicts in a string', () => { - // const testfileContent = `\n
\n
    \n<<<<<<< HEAD\n
  • About Us
  • \n=======\n
  • About The Company
  • \n>>>>>>>\n
  • Contact Us
  • \n<<<<<<< HEAD\n
  • Legal
  • \n=======\n
  • License
  • \n>>>>>>>\n <\\ul>\n<\\div>\n`; - // expect(utils.getConflictingChunks(testfileContent)).toStrictEqual([21, 203]); - // }); - - // it('getConflictingChunks returns an empty array on malformed strings', () => { - // const testfileContent = `
      \n<<<<<<< HEAD\n
    • About Us
    • \n\n
    • About The Company
    • \n>>>>>>\n <\\ul>\n<\\div>\n`; - // expect(utils.getConflictingChunks(testfileContent)).toStrictEqual([]); - // }); - - it('deserialize to parse a JSON string into a TypeScript object', () => { - const json = '{"result":true, "count":42}'; - type typedJson = { result: boolean; count: number }; - const deserializedJson = utils.deserialize(json); - expect(typeof deserializedJson.result).toBe('boolean'); - expect(deserializedJson.result).toBe(true); - expect(deserializedJson).toMatchSnapshot(); - }); - - it('deserialize fails with an error on malformed JSON', () => { - // eslint-disable-next-line no-useless-escape - const malformedJson = '{ "key": "Something \\\\"Name\\\\" something", "anotherkey": "value" }'; - expect(() => utils.deserialize(malformedJson)).toThrow(SyntaxError); - }); - - it('partition splits array using value-based predicate', () => { - const arr = [4, 6, 11, 10, 19, 5, 1, 0]; - const predicate = (e: number) => e >= 10; - expect(utils.partition(arr, predicate)).toStrictEqual([ - [11, 10, 19], - [4, 6, 5, 1, 0] - ]); - }); - - it('partition splits array using type-based predicate', () => { - const arr = ['4', 6, '11', '10', 19, 5, '1', 0]; - const predicate = (e: number | string): e is number => typeof e === 'number'; - expect(utils.partition(arr, predicate)).toStrictEqual([ - [6, 19, 5, 0], - ['4', '11', '10', '1'] - ]); - }); - - it('symmetrical splits arrays of primitive types into symmetrical differences and intersection', () => { - expect(utils.symmetrical([1, 2, 3], [2, 3, 4], (e1, e2) => e1 === e2)).toStrictEqual( - expect.arrayContaining([ - [1], - [ - [2, 2], - [3, 3] - ], - [4] - ]) - ); - }); - - it('symmetrical splits arrays of dissimilar types into symmetrical differences and intersection', () => { - const arr1 = [ - [151, 'John'], - [203, 'Mary'], - [681, 'Sue'], - [750, 'Isiah'] - ]; - const arr2 = [ - { id: 151, name: 'John', rank: 3 }, - { id: 681, name: 'Robert', rank: 1 }, - { id: 85, name: 'Isiah', rank: 4 } - ]; - expect( - utils.symmetrical(arr1, arr2, (e1, e2) => e1[0] === e2.id && e1[1] === e2.name) - ).toStrictEqual( - expect.arrayContaining([ - [ - [203, 'Mary'], - [681, 'Sue'], - [750, 'Isiah'] - ], - [[[151, 'John'], { id: 151, name: 'John', rank: 3 }]], - [ - { id: 681, name: 'Robert', rank: 1 }, - { id: 85, name: 'Isiah', rank: 4 } - ] - ]) - ); - }); - - it('removeUndefined removes undefined from array of Primitive types', () => { - const arr = [3, 'a', undefined, true]; - expect(utils.removeUndefined(arr)).toStrictEqual([3, 'a', true]); - }); - - it('removeUndefined removes undefined from array of Object types', () => { - const arr = [undefined, { a: 3 }, undefined, { b: 7 }]; - expect(utils.removeUndefined(arr)).toStrictEqual([{ a: 3 }, { b: 7 }]); - }); - - it('removeUndefined returns original array when no undefined are present', () => { - const arr = [{ a: 3 }, 'a', { b: 7 }, true]; - expect(utils.removeUndefined(arr)).toStrictEqual(arr); - }); - - it('removeUndefined returns original array when no undefined are present', () => { - const arr = [{ a: 3 }, 'a', { b: 7 }, true]; - expect(utils.removeUndefined(arr)).toStrictEqual(arr); - }); - - it('removeObjectProperty removes target property from Object', () => { - const obj = { a: 3, b: 'alpha', c: { d: 4, e: 'z' } }; - expect(utils.removeObjectProperty(obj, 'c')).toStrictEqual({ a: 3, b: 'alpha' }); - }); - - it('removeNullableProperties removes undefined from Object of Primitive types', () => { - const obj = { a: 3, b: 'a', c: undefined, d: true }; - expect(utils.removeNullableProperties(obj)).toStrictEqual({ a: 3, b: 'a', d: true }); - }); - - it('removeNullableProperties removes top-level undefined from Object with nested Objects', () => { - const obj = { a: undefined, b: { c: 3 }, d: { e: undefined }, f: { g: 7 } }; - expect(utils.removeNullableProperties(obj)).toStrictEqual({ - b: { c: 3 }, - d: { e: undefined }, - f: { g: 7 } - }); - }); - - it('removeDuplicates removes duplicates from array of Primitive types', () => { - const arr = [3, 4, 1, 0, 3, 3]; - const comparator = (a: number, b: number) => a === b; - expect(utils.removeDuplicates(arr, comparator)).toStrictEqual([3, 4, 1, 0]); - }); - - it('removeDuplicates removes duplicates from array of Object types', () => { - const arr = [{ id: 3 }, { id: 10 }, { id: 3 }]; - const comparator = (a: { id: number }, b: { id: number }) => a.id === b.id; - expect(utils.removeDuplicates(arr, comparator)).toStrictEqual([{ id: 3 }, { id: 10 }]); - }); - - it('removeDuplicates returns original array on empty array', () => { - const arr: number[] = []; - const comparator = (a: number, b: number) => a === b; - expect(utils.removeDuplicates(arr, comparator)).toStrictEqual(arr); - }); - - it('asyncFilter evaluates and returns array of async Primitive types', async () => { - const arr = [3, 4, 1, 0, 2, 3]; - const predicate = async (e: number) => e % 2 == 0; - return expect(utils.asyncFilter(arr, predicate)).resolves.toStrictEqual([4, 0, 2]); - }); - - it('asyncFilter evaluates and returns array of await Primitive types', async () => { - const arr = [3, 4, 1, 0, 2, 3]; - const predicate = async (e: number) => { - await utils.delay(2); - return e % 2 === 0; - }; - return expect(utils.asyncFilter(arr, predicate)).resolves.toStrictEqual([4, 0, 2]); - }); - - it('filterObject recursively filters objects and returns homogenously-typed values', () => { - const obj: { a: number; b: { c: string; d: { e: string } } } = { - a: 13, - b: { c: 'rose', d: { e: 'tulip' } } - }; - return expect(utils.filterObject(obj, ['c', 'e'])).toStrictEqual({ c: 'rose', e: 'tulip' }); - }); - - it('filterObject recursively filters objects and returns heterogenously-typed values', () => { - const obj: { a: number; b: { c: string; d: { e: string } } } = { - a: 13, - b: { c: 'rose', d: { e: 'tulip' } } - }; - return expect(utils.filterObject(obj, ['e', 'a'])).toStrictEqual({ a: 13, e: 'tulip' }); - }); - - it('objectifyPath converts array of path elements into object with value', () => { - const expected = { user: { name: 3 } }; - expect(utils.objectifyPath(['user', 'name'], 3)).toStrictEqual(expected); - }); - - it('equalMaps identifies equal and non-equal maps containing primitive types', () => { - const map1 = new Map([ - ['a', 13], - ['b', 'thomas'] - ]); - const map2 = new Map([ - ['a', 13], - ['b', 'thomas'] - ]); - const map3 = new Map([ - ['a', 13], - ['b', 'ralph'] - ]); - expect(utils.equalMaps(map1, map2)).toBe(true); - expect(utils.equalMaps(map1, map3)).toBe(false); - }); - - it('equalMaps identifies equal and non-equal maps containing Array types', () => { - const map1 = new Map>([ - ['john', [3, 5]], - ['mary', [7, 1]] - ]); - const map2 = new Map>([ - ['john', [3, 5]], - ['mary', [7, 1]] - ]); - const map3 = new Map>([ - ['john', [3, 2]], - ['mary', [7, 1]] - ]); - expect(utils.equalMaps(map1, map2)).toBe(true); - expect(utils.equalMaps(map1, map3)).toBe(false); - }); - - it('equalMaps identifies equal and non-equal maps containing nested object types', () => { - type NestedObject = { age: number; friends: { name: string }[] }; - const map1 = new Map([ - ['john', { age: 40, friends: [{ name: 'mary' }, { name: 'thomas' }] }], - ['mary', { age: 35, friends: [{ name: 'john' }, { name: 'thomas' }] }] - ]); - const map2 = new Map([ - ['john', { age: 40, friends: [{ name: 'mary' }, { name: 'thomas' }] }], - ['mary', { age: 35, friends: [{ name: 'john' }, { name: 'thomas' }] }] - ]); - const map3 = new Map([ - ['john', { age: 40, friends: [{ name: 'mary' }, { name: 'thomas' }] }], - ['mary', { age: 35, friends: [{ name: 'john' }, { name: 'ralph' }] }] - ]); - expect(utils.equalMaps(map1, map2)).toBe(true); - expect(utils.equalMaps(map1, map3)).toBe(false); - }); - - it('equalArrays identifies equal and non-equal arrays containing primitive types', () => { - expect(utils.equalArrays([13, 'a', 14, 'b'], [13, 'a', 14, 'b'])).toBe(true); - expect(utils.equalArrays([13, 'a', 14, 'b'], [13, 'a', 14, 'c'])).toBe(false); - }); - - it('equalArrays identifies equal and non-equal arrays containing nested types', () => { - const arr = [13, 'a', [3, 2, 1], { name: 'john' }]; - expect(utils.equalArrays(arr, [13, 'a', [3, 2, 1], { name: 'john' }])).toBe(true); - expect(utils.equalArrays(arr, [13, 'a', [3, 0, 1], { name: 'john' }])).toBe(false); - }); - - it('filteredObjectEquality identifies equal and non-equal objects based on property filters', () => { - const a = { name: 'rose', age: 32, attending: true }; - const b = { name: 'rose', age: 32, attending: false }; - const c = { name: 'bob', age: 56, attending: true }; - expect(utils.filteredObjectEquality(a, b, ['age'])).toBe(true); - expect(utils.filteredObjectEquality(a, b, ['age', 'attending'])).toBe(false); - expect(utils.filteredObjectEquality(a, c, ['attending'])).toBe(true); - }); - - it('filteredArrayEquality identifies equal and non-equal arrays of objects based on property filters', () => { - const a = { name: 'rose', age: 32, attending: true }; - const b = { name: 'rose', age: 32, attending: false }; - const c = { name: 'cyrus', age: 32, attending: false }; - const d = { name: 'bob', age: 32, attending: false }; - expect(utils.filteredArrayEquality([a, b, c], [a, b, c], ['age'])).toBe(true); - expect(utils.filteredArrayEquality([a, b, c], [a, b, c, d], ['age'])).toBe(false); - expect(utils.filteredArrayEquality([a, b, c], [b, c, d], ['age', 'attending'])).toBe(false); - }); - - it('equalArrayBuffers identifies equal and non-equal Buffers containing UTF-8 string data', () => { - const buf1 = Buffer.from('test content'); - const buf2 = Buffer.from('test content'); - const buf3 = Buffer.from('other content'); - expect(utils.equalArrayBuffers(buf1, buf2)).toBe(true); - expect(utils.equalArrayBuffers(buf2, buf3)).toBe(false); - }); - - it('equalArrayBuffers identifies equal and non-equal Buffers containing binary data', () => { - const buf1 = Buffer.from([23, 13, 99]); - const buf2 = Buffer.from([23, 13, 99]); - const buf3 = Buffer.from([14, 54, 116, 34, 28]); - expect(utils.equalArrayBuffers(buf1, buf2)).toBe(true); - expect(utils.equalArrayBuffers(buf3, buf2)).toBe(false); - }); - - it('equalArrayBuffers identifies equal and non-equal Uint8Arrays containing binary data', () => { - const arr1 = new Uint8Array([23, 13, 99]); - const arr2 = new Uint8Array([23, 13, 99]); - const arr3 = new Uint8Array([14, 54, 116, 34, 28]); - const arr4 = new Uint8Array([14, 53, 116, 34, 28]); - expect(utils.equalArrayBuffers(arr1, arr2)).toBe(true); - expect(utils.equalArrayBuffers(arr3, arr2)).toBe(false); - expect(utils.equalArrayBuffers(arr3, arr4)).toBe(false); - }); - - it('equalArrayBuffers identifies equal and non-equal ArrayBufferLike objects of different types', () => { - const buf1 = Buffer.from([23, 13, 99]); - const buf2 = Buffer.from([14, 54, 116, 34, 28]); - const arr1 = new Uint8Array([23, 13, 99]); - const arr2 = new Uint8Array([14, 53, 116, 34, 28]); - expect(utils.equalArrayBuffers(buf1, arr1)).toBe(true); - expect(utils.equalArrayBuffers(buf2, arr2)).toBe(false); - }); - - it('toArrayBuffer converts Buffer containing UTF-8 string data', () => { - const buf1 = Buffer.from('test content'); - const arr1 = utils.toArrayBuffer(buf1); - expect(utils.equalArrayBuffers(buf1, arr1)).toBe(true); - }); - - it('toArrayBuffer converts Buffer containing binary data', () => { - const buf1 = Buffer.from([14, 54, 116, 34, 28]); - const arr1 = utils.toArrayBuffer(buf1); - expect(utils.equalArrayBuffers(buf1, arr1)).toBe(true); - }); - - it('toArrayBuffer converts Uint8Array containing binary data', () => { - const arr1 = new Uint8Array([14, 54, 116, 34, 28]); - const buf1 = Buffer.from(arr1); - const arr2 = utils.toArrayBuffer(buf1); - expect(utils.equalArrayBuffers(arr1, arr2)).toBe(true); - }); - - it('getRandomInt returns numbers bounded by min and max parameters', () => { - const randomNumber = utils.getRandomInt(1, 5); - expect(randomNumber).toBeGreaterThanOrEqual(1); - expect(randomNumber).toBeLessThanOrEqual(5); - }); -}); diff --git a/src/declarations.d.ts b/src/declarations.d.ts deleted file mode 100644 index 696d6b84c..000000000 --- a/src/declarations.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * TypeScript does not know how to import files with unknown file suffix (i.e. non-TS/JS files). - * To be able to import '*.css' files in TypeScript, the following definition is required to - * allow TypeScript and Webpack to combine to properly pipe CSS into the resulting JavaScript. - * - * Solution found on Stack Overflow: https://stackoverflow.com/a/41946697 - */ -declare module '*.css'; - -declare module 'git-remote-protocol'; diff --git a/src/index.css b/src/index.css deleted file mode 100644 index 22fd849c2..000000000 --- a/src/index.css +++ /dev/null @@ -1,6 +0,0 @@ -body { - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; - margin: auto; - max-width: 38rem; - padding: 2rem; -} diff --git a/src/index.html b/src/index.html deleted file mode 100644 index 943f934a4..000000000 --- a/src/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Synectic Development Environment - - -
      - - diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index 57df30922..000000000 --- a/src/index.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { app, BrowserWindow } from 'electron'; -// import installExtension, { -// REDUX_DEVTOOLS, -// REACT_DEVELOPER_TOOLS -// } from 'electron-devtools-installer'; -// This allows TypeScript to pick up the magic constant that's auto-generated by Forge's Webpack -// plugin that tells the Electron app where to look for the Webpack-bundled app code (depending on -// whether you're running in development or production). -// eslint-disable-next-line @typescript-eslint/naming-convention -declare const MAIN_WINDOW_WEBPACK_ENTRY: string; -// eslint-disable-next-line @typescript-eslint/naming-convention -declare const MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY: string; - -// Handle creating/removing shortcuts on Windows when installing/uninstalling. -if (require('electron-squirrel-startup')) { - // eslint-disable-line global-require - app.quit(); -} - -const createWindow = (): void => { - // Create the browser window. - const mainWindow = new BrowserWindow({ - height: 1200, - width: 1400, - webPreferences: { - preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY, - nodeIntegration: true, - contextIsolation: true, - // sandbox: true, - webviewTag: true - } - }); - - // and load the index.html of the app. - mainWindow.loadURL(MAIN_WINDOW_WEBPACK_ENTRY); - - // Open the DevTools. - if (process.env.NODE_ENV !== 'production') { - mainWindow.webContents.openDevTools(); - } -}; - -// This method will be called when Electron has finished -// initialization and is ready to create browser windows. -// Some APIs can only be used after this event occurs. -app.on('ready', () => { - createWindow(); -}); -// app.whenReady().then(() => { -// installExtension([REDUX_DEVTOOLS, REACT_DEVELOPER_TOOLS]) -// .then(name => console.log(`Added extension: ${name}`)) -// .catch(err => console.log('An error occurred: ', err)); -// }); - -// Quit when all windows are closed, except on macOS. There, it's common -// for applications and their menu bar to stay active until the user quits -// explicitly with Cmd + Q. -app.on('window-all-closed', () => { - if (process.platform !== 'darwin') { - app.quit(); - } -}); - -app.on('activate', () => { - // On OS X it's common to re-create a window in the app when the - // dock icon is clicked and there are no other windows open. - if (BrowserWindow.getAllWindows().length === 0) { - createWindow(); - } -}); - -// In this file you can include the rest of your app's specific main process -// code. You can also put them in separate files and import them here. -import './main.tsx'; diff --git a/src/main/index.ts b/src/main/index.ts new file mode 100644 index 000000000..cd8fccd30 --- /dev/null +++ b/src/main/index.ts @@ -0,0 +1,72 @@ +import { app, shell, BrowserWindow } from 'electron'; +import { join } from 'path'; +import { electronApp, optimizer, is } from '@electron-toolkit/utils'; +import icon from '../../icons/icon.svg?asset'; + +function createWindow(): void { + // Create the browser window. + const mainWindow = new BrowserWindow({ + width: 1400, + height: 1200, + show: false, + autoHideMenuBar: true, + ...(process.platform === 'linux' ? { icon } : {}), + webPreferences: { + preload: join(__dirname, '../preload/index.js'), + sandbox: false + } + }); + + mainWindow.on('ready-to-show', () => { + mainWindow.show(); + }); + + mainWindow.webContents.setWindowOpenHandler(details => { + shell.openExternal(details.url); + return { action: 'deny' }; + }); + + // HMR for renderer base on electron-vite cli. + // Load the remote URL for development or the local html file for production. + if (is.dev && process.env['ELECTRON_RENDERER_URL']) { + mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL']); + } else { + mainWindow.loadFile(join(__dirname, '../renderer/index.html')); + } +} + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.whenReady().then(() => { + // Set app user model id for windows + electronApp.setAppUserModelId('com.electron'); + + // Default open or close DevTools by F12 in development + // and ignore CommandOrControl + R in production. + // see https://github.com/alex8088/electron-toolkit/tree/master/packages/utils + app.on('browser-window-created', (_, window) => { + optimizer.watchWindowShortcuts(window); + }); + + createWindow(); + + app.on('activate', function () { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (BrowserWindow.getAllWindows().length === 0) createWindow(); + }); +}); + +// Quit when all windows are closed, except on macOS. There, it's common +// for applications and their menu bar to stay active until the user quits +// explicitly with Cmd + Q. +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') { + app.quit(); + } +}); + +// In this file you can include the rest of your app"s specific main process +// code. You can also put them in separate files and require them here. +import './ipc.ts'; diff --git a/src/main.tsx b/src/main/ipc.ts similarity index 75% rename from src/main.tsx rename to src/main/ipc.ts index 5891f9a08..ef1ca0d51 100644 --- a/src/main.tsx +++ b/src/main/ipc.ts @@ -1,5 +1,4 @@ -import { dialog, ipcMain, Notification, OpenDialogOptions, SaveDialogOptions } from 'electron'; -import { isRenderer } from './containers/utils'; +import { OpenDialogOptions, SaveDialogOptions, dialog, ipcMain, Notification } from 'electron'; // Handle renderer requests for Electron `showOpenDialog` and returns filepath results. ipcMain.handle('fileOpenDialog', async (_, options: OpenDialogOptions) => { @@ -15,7 +14,3 @@ ipcMain.handle('fileSaveDialog', async (_, options: SaveDialogOptions) => { ipcMain.on('notify', (_, message: string) => { new Notification({ title: 'Notification', body: message }).show(); }); - -ipcMain.handle('context', () => { - return isRenderer(); -}); diff --git a/src/preload.ts b/src/preload.ts deleted file mode 100644 index fe81ab19f..000000000 --- a/src/preload.ts +++ /dev/null @@ -1,70 +0,0 @@ -// See the Electron documentation for details on how to use preload scripts: -// https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts - -import { - OpenDialogOptions, - SaveDialogOptions, - clipboard, - contextBridge, - ipcRenderer, - shell -} from 'electron'; -import path from 'path'; -import { randomUUID, randomBytes, createHash } from 'crypto'; -import * as io from './containers/io'; -import * as git from './containers/git'; -import { performance } from 'perf_hooks'; - -const fileOpenDialog = async ( - options: OpenDialogOptions -): Promise => await ipcRenderer.invoke('fileOpenDialog', options); - -const fileSaveDialog = async ( - options: SaveDialogOptions -): Promise => await ipcRenderer.invoke('fileSaveDialog', options); - -const checkContext = async (): Promise => await ipcRenderer.invoke('context'); - -const randomSHA1 = () => { - const randomString = randomBytes(16).toString('hex'); - return createHash('sha1').update(randomString).digest('hex'); -}; - -const PreloadAPI = { - globals: { - sep: path.sep, - platform: process.platform - }, - dialogs: { - fileOpen: fileOpenDialog, - fileSave: fileSaveDialog - }, - clipboard: clipboard, - fs: { - cwd: process.cwd, - dirname: path.dirname, - join: path.join, - relative: path.relative, - normalize: path.normalize, - ...io - }, - git, - perfTime: performance.now, - notifications: { - sendNotification: (message: string) => { - ipcRenderer.send('notify', message); - } - }, - context: checkContext, - uuid: randomUUID, - hash: randomSHA1, - openExternal: shell.openExternal -} as const; - -contextBridge.exposeInMainWorld('api', PreloadAPI); - -declare global { - interface Window { - api: typeof PreloadAPI; - } -} diff --git a/src/containers/git/git-ignore.ts b/src/preload/git/git-ignore.ts similarity index 55% rename from src/containers/git/git-ignore.ts rename to src/preload/git/git-ignore.ts index 9eeaaed91..d830924f8 100644 --- a/src/containers/git/git-ignore.ts +++ b/src/preload/git/git-ignore.ts @@ -4,13 +4,16 @@ import { extractFilename, readDirAsyncDepth, readFileAsync } from '../io'; import { relative } from 'path'; /** - * Locate and parse ignore rules from all `.gitignore` files within a directory. Returns an Ignore class instance from the - * [`ignore`](https://github.com/kaelzhang/node-ignore) library, where `.filter` and `.ignores` functions can then be used - * to determine whether a git command should operate on a given filepath. + * Locate and parse ignore rules from all `.gitignore` files within a directory. Returns an Ignore + * class instance from the [`ignore`](https://github.com/kaelzhang/node-ignore) library, where + * `.filter` and `.ignores` functions can then be used to determine whether a git command should + * operate on a given filepath. + * * @param dir The relative or absolute directory path to search. - * @param useGitRules Include ignore rules common to git projects (i.e. excluding `.git` and `node_modules` directories). - * @returns {Promise} A Promise object containing a Ignore object that can be interacted with according to the - * [`ignore`](https://github.com/kaelzhang/node-ignore) API documentation. + * @param useGitRules Include ignore rules common to git projects (i.e. excluding `.git` and + * `node_modules` directories). + * @returns {Promise} A Promise object containing a Ignore object that can be interacted + * with according to the [`ignore`](https://github.com/kaelzhang/node-ignore) API documentation. */ export const getIgnore = async (dir: PathLike, useGitRules = false): Promise => { const ignoreFiles = (await readDirAsyncDepth(dir, 2)).filter( @@ -24,23 +27,32 @@ export const getIgnore = async (dir: PathLike, useGitRules = false): Promise} A Promise object containing a Ignore object that can be interacted with according to the - * [`ignore`](https://github.com/kaelzhang/node-ignore) API documentation. + * @param useGitRules Include ignore rules common to git projects (i.e. excluding `.git` and + * `node_modules` directories). + * @returns {Promise} A Promise object containing a Ignore object that can be interacted + * with according to the [`ignore`](https://github.com/kaelzhang/node-ignore) API documentation. */ export const filterIgnore = async ( dir: PathLike, @@ -61,10 +73,16 @@ export const filterIgnore = async ( if (useGitRules) { // this rule is standard for git-based projects ignoreManager.add('.git'); - // .gitignore files often incldue 'node_modules/' as a rule, but node-ignore requires the trailing '/' for directories and node - // `path` mismatches that by returning only the directory name. See: https://github.com/kaelzhang/node-ignore#2-filenames-and-dirnames + /** + * .gitignore files often incldue 'node_modules/' as a rule, but node-ignore requires the + * trailing '/' for directories and node `path` mismatches that by returning only the directory + * name. See: https://github.com/kaelzhang/node-ignore#2-filenames-and-dirnames + */ ignoreManager.add('node_modules'); - // A .DS_Store file is a Mac OS X folder information file that stores custom attributes of the containing folder. + /** + * A .DS_Store file is a Mac OS X folder information file that stores custom attributes of the + * containing folder. + */ ignoreManager.add('.DS_Store'); } diff --git a/src/preload/git/index.ts b/src/preload/git/index.ts new file mode 100644 index 000000000..76f537685 --- /dev/null +++ b/src/preload/git/index.ts @@ -0,0 +1,23 @@ +// export * from './git-add'; +// export * from './git-branch'; +// export * from './git-cat-file'; +// export * from './git-check-ref-format'; +// export * from './git-checkout'; +// export * from './git-clone'; +// export * from './git-commit'; +// export * from './git-config'; +export * from './git-ignore'; +// export * from './git-log'; +// export * from './git-merge'; +// export * from './git-merge-base'; +// export * from './git-path'; +// export * from './git-remote'; +// export * from './git-reset'; +// export * from './git-restore'; +// export * from './git-rev-list'; +// export * from './git-rev-parse'; +// export * from './git-show-branch'; +// export * from './git-status'; +// export * from './git-utils'; +// export * from './git-version'; +// export * from './git-worktree'; diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts new file mode 100644 index 000000000..ec1869bdb --- /dev/null +++ b/src/preload/index.d.ts @@ -0,0 +1,9 @@ +import { ElectronAPI } from '@electron-toolkit/preload'; +import { PreloadAPI } from '../preload/index'; + +declare global { + interface Window { + electron: ElectronAPI; + api: PreloadAPI; + } +} diff --git a/src/preload/index.ts b/src/preload/index.ts new file mode 100644 index 000000000..7b6d36bbe --- /dev/null +++ b/src/preload/index.ts @@ -0,0 +1,70 @@ +import { electronAPI } from '@electron-toolkit/preload'; +import { createHash, randomBytes, randomUUID } from 'crypto'; +import { + OpenDialogOptions, + SaveDialogOptions, + clipboard, + contextBridge, + ipcRenderer, + shell +} from 'electron'; +import path from 'path'; +import * as git from './git'; +import * as io from './io'; +import * as utils from './utils'; + +// Custom APIs for renderer +const api = { + uuid: randomUUID, + hash: (): string => { + const randomString = randomBytes(16).toString('hex'); + return createHash('sha1').update(randomString).digest('hex'); + }, + globals: { + sep: path.sep, + platform: process.platform + }, + dialogs: { + fileOpen: async (options: OpenDialogOptions): Promise => + await ipcRenderer.invoke('fileOpenDialog', options), + fileSave: async (options: SaveDialogOptions): Promise => + await ipcRenderer.invoke('fileSaveDialog', options) + }, + clipboard: clipboard, + fs: { + cwd: process.cwd, + dirname: path.dirname, + join: path.join, + relative: path.relative, + normalize: path.normalize, + ...io + }, + git, + notifications: { + sendNotification: (message: string) => { + ipcRenderer.send('notify', message); + } + }, + openExternal: shell.openExternal, + perfTime: performance.now, + utils +}; + +export type PreloadAPI = typeof api; + +// Use `contextBridge` APIs to expose Electron APIs to +// renderer only if context isolation is enabled, otherwise +// just add to the DOM global. +if (process.contextIsolated) { + try { + contextBridge.exposeInMainWorld('electron', electronAPI); + contextBridge.exposeInMainWorld('api', api); + } catch (error) { + console.error(error); + } +} else { + // @ts-ignore (define in dts) + window.electron = electronAPI; + // @ts-ignore (define in dts) + window.api = api; +} diff --git a/src/containers/io/index.ts b/src/preload/io/index.ts similarity index 53% rename from src/containers/io/index.ts rename to src/preload/io/index.ts index dc5686c68..bb7d1821f 100644 --- a/src/containers/io/index.ts +++ b/src/preload/io/index.ts @@ -1,4 +1,5 @@ export * from './io-decompress'; +export * from './io-exec'; export * from './io-extension'; export * from './io-extractName'; export * from './io-extractStats'; @@ -9,14 +10,13 @@ export * from './io-isDirectory'; export * from './io-isEqualPaths'; export * from './io-readDir'; export * from './io-readFile'; -export * from './io-types'; export * from './io-validateFileName'; export * from './io-writeFile'; /** - * **WARNING** - * If a method is not included here, please see [node-fs-extra](https://github.com/jprichardson/node-fs-extra) - * for possible utility functions that improve upon the default filesystem functions in - * [Node.js FS module](https://nodejs.org/api/fs.html). If there is no functions in `node-fs-extra` - * or `fs`, then a new method can be added here. + * **WARNING** If a method is not included here, please see + * [node-fs-extra](https://github.com/jprichardson/node-fs-extra) for possible utility functions + * that improve upon the default filesystem functions in [Node.js FS + * module](https://nodejs.org/api/fs.html). If there is no functions in `node-fs-extra` or `fs`, + * then a new method can be added here. */ diff --git a/src/containers/io/io-decompress.ts b/src/preload/io/io-decompress.ts similarity index 53% rename from src/containers/io/io-decompress.ts rename to src/preload/io/io-decompress.ts index f5766525f..349484b81 100644 --- a/src/containers/io/io-decompress.ts +++ b/src/preload/io/io-decompress.ts @@ -1,25 +1,28 @@ import pako from 'pako'; import { TextDecoder } from 'util'; -import { decoderEncoding } from './io-types'; +import type { DecoderEncoding } from './io'; export function decompressBinaryObject(filecontent: Buffer, format: 'bytes'): Uint8Array; export function decompressBinaryObject( filecontent: Buffer, - format?: Exclude + format?: Exclude ): string; /** - * Decompress binary encoded content and return in the specified encoding; default is a `Utf8Array` for `bytes` binary data. - * This method is particularly useful for reading *Git Object* files. Git stores *Git Object* files in the *.git/objects* - * directory, in a binary format that has been compressed using the `zlib` library. To read these files we use the `pako` - * package, which is a performant JavaScript port of the `zlib` library packaged as a Node.js module. - * @param filecontent - File content extracted into a *Buffer* object. + * Decompress binary encoded content and return in the specified encoding; default is a `Utf8Array` + * for `bytes` binary data. This method is particularly useful for reading _Git Object_ files. Git + * stores _Git Object_ files in the _.git/objects_ directory, in a binary format that has been + * compressed using the `zlib` library. To read these files we use the `pako` package, which is a + * performant JavaScript port of the `zlib` library packaged as a Node.js module. + * + * @param filecontent - File content extracted into a _Buffer_ object. * @param format - The encoding format for the file content. - * @returns {Uint8Array | string} A Promise object containing the decoded file contents in the specified encoding; binary - * bytes are stored in a `Uint8Array`, and all others are returned as `string` types. + * @returns {Uint8Array | string} A Promise object containing the decoded file contents in the + * specified encoding; binary bytes are stored in a `Uint8Array`, and all others are returned as + * `string` types. */ export function decompressBinaryObject( filecontent: Buffer, - format?: decoderEncoding + format?: DecoderEncoding ): Uint8Array | string { let decompressed: Uint8Array; try { diff --git a/src/containers/exec.ts b/src/preload/io/io-exec.ts similarity index 63% rename from src/containers/exec.ts rename to src/preload/io/io-exec.ts index 5b4e4b933..6091632aa 100644 --- a/src/containers/exec.ts +++ b/src/preload/io/io-exec.ts @@ -1,8 +1,6 @@ -// This file utilitizes Node.js integration, and therefore cannot be used in Electron renderer processes. - import util from 'util'; import { exec } from 'child_process'; -import { isWrappedQuote } from './utils'; + const promiseExec = util.promisify(exec); // requires nodeIntegration: true type ExecResult = { @@ -20,19 +18,23 @@ type ExecError = { }; /** - * Spawns a shell then executes the command within that shell, buffering any generated output. The command string passed to the exec - * function is processed directly by the shell and special characters (vary based on shell) need to be dealt with accordingly. + * Spawns a shell then executes the command within that shell, buffering any generated output. The + * command string passed to the exec function is processed directly by the shell and special + * characters (vary based on shell) need to be dealt with accordingly. + * + * WARNING: Never pass unsanitized user input to this function. Any input containing shell + * meta-characters may be used to trigger arbitrary command execution. * - * WARNING: Never pass unsanitized user input to this function. Any input containing shell meta-characters may be used to trigger - * arbitrary command execution. * @param obj - A destructured object for named parameters. * @param obj.command - The command to run, with space-separated arguments. * @param obj.args - List of string arguments. * @param obj.cwd - The current working directory that the command should be executed in. - * @param obj.debug - A debug flag for printing the formatted command before execution; defaults to `false`. - * @returns {Promise<{ stdout: string | undefined, stderr: string | undefined }>} A Promise object containing the `stdout` and `stderr` strings with content based on the output of the command. + * @param obj.debug - A debug flag for printing the formatted command before execution; defaults to + * `false`. + * @returns {Promise<{ stdout: string | undefined; stderr: string | undefined }>} A Promise object + * containing the `stdout` and `stderr` strings with content based on the output of the command. */ -const execute = async ({ +export const execute = async ({ command, args = [], cwd, @@ -70,4 +72,15 @@ const execute = async ({ return execResult; }; -export default execute; +/** + * Check for a string containing a quote-encapsulated value (e.g. `a = '"quote"'`). + * @param maybeQuote A string possibly containing a quote-encapsulated string value. + * @returns {boolean} A boolean indicating true if the paraemter is quote-encapsulated, false + * otherwise. + */ +const isWrappedQuote = (maybeQuote: string): boolean => { + return ( + (maybeQuote.startsWith(`'`) && maybeQuote.endsWith(`'`)) || + (maybeQuote.startsWith(`"`) && maybeQuote.endsWith(`"`)) + ); +}; \ No newline at end of file diff --git a/src/containers/io/io-extension.ts b/src/preload/io/io-extension.ts similarity index 83% rename from src/containers/io/io-extension.ts rename to src/preload/io/io-extension.ts index ff13a33d6..94578dbae 100644 --- a/src/containers/io/io-extension.ts +++ b/src/preload/io/io-extension.ts @@ -1,10 +1,12 @@ -import { Filetype } from '../../store/slices/filetypes'; -import { PathLike } from 'fs'; +import type { PathLike } from 'fs-extra'; +import { Filetype } from 'types/filetype'; /** - * Extract the file extension from the path. Returns the extension after the last period character in the path, - * otherwise returns full path if first character is a period or no period exists. Exhibits different behavior - * from `path.extname` in order to allow config files (e.g. '.htaccess' returns 'htaccess', instead of ''). + * Extract the file extension from the path. Returns the extension after the last period character + * in the path, otherwise returns full path if first character is a period or no period exists. + * Exhibits different behavior from `path.extname` in order to allow config files (e.g. '.htaccess' + * returns 'htaccess', instead of ''). + * * @param filepath The relative or absolute path to evaluate. * @returns {string} A string containing the file extension. */ @@ -17,8 +19,9 @@ export const extractExtension = (filepath: PathLike): string => { }; /** - * Appends a new file type extension to a given file name. Handles file names both with and without valid extensions, as well as file - * names with a trailing '.' from a partially deleted extension. + * Appends a new file type extension to a given file name. Handles file names both with and without + * valid extensions, as well as file names with a trailing '.' from a partially deleted extension. + * * @param fileName A string holding the current file name, with or without the extension. * @param newFiletype A Filetype that contains the new extension to be added to the file name. * @returns {string} A string with the new extension correctly appended to the original file name. diff --git a/src/containers/io/io-extractName.ts b/src/preload/io/io-extractName.ts similarity index 58% rename from src/containers/io/io-extractName.ts rename to src/preload/io/io-extractName.ts index 2b775e611..8f61c6344 100644 --- a/src/containers/io/io-extractName.ts +++ b/src/preload/io/io-extractName.ts @@ -1,11 +1,12 @@ -import { PathLike } from '../../store/types'; +import { PathLike } from 'fs-extra'; /** - * Extract the file basename from the path. Returns the filename, including extension, after the last - * platform-agnostic file separator (e.g. '/src/api/router.asp' is translated to 'router.asp'). Exhibits different - * behavior from `path.basename` since that API uses `path.delimiter` in order to set the delimiter for path - * processing, and this function is instead able to process paths across platforms (e.g. processing Windows paths - * on a MacOS platform). + * Extract the file basename from the path. Returns the filename, including extension, after the + * last platform-agnostic file separator (e.g. '/src/api/router.asp' is translated to 'router.asp'). + * Exhibits different behavior from `path.basename` since that API uses `path.delimiter` in order to + * set the delimiter for path processing, and this function is instead able to process paths across + * platforms (e.g. processing Windows paths on a MacOS platform). + * * @param filepath The relative or absolute path to evaluate. * @returns {string} A string containing the file basename. */ @@ -17,10 +18,12 @@ export const extractFilename = (filepath: PathLike): string => { }; /** - * Extract the directory name from the path. Returns the nearest directory name, excluding file separators - * (e.g. '/src/api/router.asp' is translated to 'api'). Exhibits different behavior from `path.dirname` since - * that API returns the full path of directories and includes '.' as a result for a single directory path, - * whereas this function always returns only one directory name (or '' if only a path to a file is provided). + * Extract the directory name from the path. Returns the nearest directory name, excluding file + * separators (e.g. '/src/api/router.asp' is translated to 'api'). Exhibits different behavior from + * `path.dirname` since that API returns the full path of directories and includes '.' as a result + * for a single directory path, whereas this function always returns only one directory name (or '' + * if only a path to a file is provided). + * * @param filepath The relative or absolute path to evaluate. * @returns {string} A string containing the directory name. */ diff --git a/src/preload/io/io-extractStats.ts b/src/preload/io/io-extractStats.ts new file mode 100644 index 000000000..4146b15bb --- /dev/null +++ b/src/preload/io/io-extractStats.ts @@ -0,0 +1,20 @@ +import { PathLike, Stats, stat } from 'fs-extra'; + +/** + * Extracts the file stats information from the filepath. Returns an + * [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) class object and injects a `isDir` + * field for use in contexts without FS access (i.e. `renderer` processes); contains the same + * information as if calling `fs.stat().isDirectory()`. + * + * @param filepath The relative or absolute path to evaluate. + * @returns {Promise} A Promise object for a fs.Stats object containing + * information about a file, or undefined if filepath refers to a nonexistent file or directory + * (or read permissions are missing). + */ +export const extractStats = ( + filepath: PathLike +): Promise<(Stats & { isDir: boolean }) | undefined> => { + return stat(filepath.toString()) + .then(stat => ({ ...stat, isDir: stat.isDirectory() })) + .catch(() => undefined); +}; diff --git a/src/containers/io/io-filterReadArray.ts b/src/preload/io/io-filterReadArray.ts similarity index 80% rename from src/containers/io/io-filterReadArray.ts rename to src/preload/io/io-filterReadArray.ts index 46ed27851..3c515a63f 100644 --- a/src/containers/io/io-filterReadArray.ts +++ b/src/preload/io/io-filterReadArray.ts @@ -2,12 +2,13 @@ import { PathLike } from 'fs'; import { isDirectory } from './io-isDirectory'; /** - * Asynchronously filter for either directories or files from an array of both. Returns filepaths - * of all child directories (default), or all child files if `fileOnly` option is enabled. + * Asynchronously filter for either directories or files from an array of both. Returns filepaths of + * all child directories (default), or all child files if `fileOnly` option is enabled. + * * @param filepaths Array containing filepaths for directories and files. * @param fileOnly Flag for returning only filepaths for files; defaults to false. - * @returns {Promise} A Promise object for an array containing filepaths for either all child directories or all - * child files. + * @returns {Promise} A Promise object for an array containing filepaths for either all + * child directories or all child files. */ export const filterReadArray = async ( diff --git a/src/containers/io/io-getDescendants.ts b/src/preload/io/io-getDescendants.ts similarity index 85% rename from src/containers/io/io-getDescendants.ts rename to src/preload/io/io-getDescendants.ts index bb943d593..70d8d20d1 100644 --- a/src/containers/io/io-getDescendants.ts +++ b/src/preload/io/io-getDescendants.ts @@ -3,8 +3,9 @@ import { filterIgnore } from '../git'; import { readDirAsyncDepth } from './io-readDir'; /** - * Asynchronously read filenames contained within a target directory and filter any - * paths that should be masked according to ignore rules in `.gitignore` files. + * Asynchronously read filenames contained within a target directory and filter any paths that + * should be masked according to ignore rules in `.gitignore` files. + * * @param filepath A valid directory path to read from. * @returns {Promise} A Promise object for an array of filenames. */ diff --git a/src/containers/io/io-isDescendant.ts b/src/preload/io/io-isDescendant.ts similarity index 89% rename from src/containers/io/io-isDescendant.ts rename to src/preload/io/io-isDescendant.ts index 7c84df45a..c075196c4 100644 --- a/src/containers/io/io-isDescendant.ts +++ b/src/preload/io/io-isDescendant.ts @@ -4,12 +4,13 @@ import { relative, sep } from 'path'; /** * Evaluate whether a filepath is a descendant of a root path. Enabling `direct` flag further * constrains this function to only consider direct children. + * * @param root The relative or absolute path to evaluate `{from}`. * @param filepath The relative or absolute path to evaluate `{to}`. * @param direct Optional flag for constraining the defintion of descendant to only directly - * descending children; defaults to false. - * @returns {boolean} A boolean indicating true if the `filepath` descends from the `root` path, - * or false otherwise. + * descending children; defaults to false. + * @returns {boolean} A boolean indicating true if the `filepath` descends from the `root` path, or + * false otherwise. */ export const isDescendant = (root: PathLike, filepath: PathLike, direct = false): boolean => { const relativePath = relative(root.toString(), filepath.toString()); diff --git a/src/containers/io/io-isDirectory.ts b/src/preload/io/io-isDirectory.ts similarity index 74% rename from src/containers/io/io-isDirectory.ts rename to src/preload/io/io-isDirectory.ts index 1ee3a6f2e..7e4956529 100644 --- a/src/containers/io/io-isDirectory.ts +++ b/src/preload/io/io-isDirectory.ts @@ -2,9 +2,10 @@ import * as fs from 'fs-extra'; /** * Asynchronously checks for the existence of a directory at the path. + * * @param filepath The relative or absolute path to evaluate. - * @returns {Promise} A Promise object containing a boolean indicating true if the - * filepath is a directory, or false otherwise. Throws ENOENT error on non-existent filepath. + * @returns {Promise} A Promise object containing a boolean indicating true if the filepath + * is a directory, or false otherwise. Throws ENOENT error on non-existent filepath. */ export const isDirectory = async (filepath: fs.PathLike): Promise => (await fs.stat(filepath.toString())).isDirectory(); diff --git a/src/containers/io/io-isEqualPaths.ts b/src/preload/io/io-isEqualPaths.ts similarity index 99% rename from src/containers/io/io-isEqualPaths.ts rename to src/preload/io/io-isEqualPaths.ts index 0e605e987..69a120faf 100644 --- a/src/containers/io/io-isEqualPaths.ts +++ b/src/preload/io/io-isEqualPaths.ts @@ -3,11 +3,11 @@ import { relative } from 'path'; /** * Evaluates whether two paths are equivalent. + * * @param path1 The relative or absolute path to evaluate. * @param path2 The other relative or absolute path to evaluate. * @returns {boolean} A boolean indicating true if the paths are equivalent, or false otherwise. */ - export const isEqualPaths = (path1: PathLike, path2: PathLike): boolean => { return relative(path1.toString(), path2.toString()).length === 0; }; diff --git a/src/containers/io/io-readDir.ts b/src/preload/io/io-readDir.ts similarity index 63% rename from src/containers/io/io-readDir.ts rename to src/preload/io/io-readDir.ts index a0812a455..82b7bac87 100644 --- a/src/containers/io/io-readDir.ts +++ b/src/preload/io/io-readDir.ts @@ -1,17 +1,18 @@ -import * as fs from 'fs-extra'; +import { PathLike, readdir } from 'fs-extra'; import * as path from 'path'; -import { flattenArray } from '../flatten'; +import { flattenArray } from '../utils/flatten'; import { isDirectory } from './io-isDirectory'; /** * Asynchronously read filenames contained within a target directory. + * * @param filepath A valid directory path to read from. * @returns {Promise} A Promise object for an array of filenames. Throws ENOENT error on - * non-existent filepath, and ENOTDIR error on a filepath pointing to a file. + * non-existent filepath, and ENOTDIR error on a filepath pointing to a file. */ -export const readDirAsync = (filepath: fs.PathLike): Promise => { +export const readDirAsync = (filepath: PathLike): Promise => { return new Promise((resolve, reject) => { - fs.readdir(path.resolve(filepath.toString()), (error, files) => { + readdir(path.resolve(filepath.toString()), (error, files) => { if (error) reject(error); else resolve(files); }); @@ -19,21 +20,21 @@ export const readDirAsync = (filepath: fs.PathLike): Promise => { }; /** - * Asynchronously and recursively descends from a root directory to read filenames and child directories. - * Descends to `depth` level, if specified, otherwise defaults to recursively visiting all sub-directories. + * Asynchronously and recursively descends from a root directory to read filenames and child + * directories. Descends to `depth` level, if specified, otherwise defaults to recursively visiting + * all sub-directories. + * * @param filepath A valid directory path to read from. * @param depth Number of sub-directories to descend; defaults to infinity. * @returns {Promise} A Promise object for an array of filenames. Throws ENOENT error on - * non-existent filepath, and ENOTDIR error on a filepath pointing to a file. + * non-existent filepath, and ENOTDIR error on a filepath pointing to a file. */ export const readDirAsyncDepth = async ( - filepath: fs.PathLike, + filepath: PathLike, depth = Infinity ): Promise => { const files = await Promise.all( - ( - await fs.readdir(filepath.toString()) - ).map(async f => { + (await readdir(filepath.toString())).map(async f => { const fullPath = path.join(filepath.toString(), f); return depth > 1 && (await isDirectory(fullPath)) ? await readDirAsyncDepth(fullPath, depth - 1) diff --git a/src/containers/io/io-readFile.ts b/src/preload/io/io-readFile.ts similarity index 57% rename from src/containers/io/io-readFile.ts rename to src/preload/io/io-readFile.ts index 9c8a74463..bffeebf49 100644 --- a/src/containers/io/io-readFile.ts +++ b/src/preload/io/io-readFile.ts @@ -1,49 +1,57 @@ import * as fs from 'fs-extra'; import * as path from 'path'; -import { nodeEncoding } from './io-types'; +import type { NodeEncoding } from './io'; + +// TODO: Temporary solution to avoid `prettier-plugin-jsdoc` bug: https://github.com/hosseinmd/prettier-plugin-jsdoc/issues/205 + +/** + * | encoding | description | + * | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | + * | `"ascii"` | ASCII (also ISO-IR-006) is a character encoding standard used as the base for most modern character-encoding schemes, typical defaults to US-ASCII variant. | + * | `"base64"` | Base64 is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-64 representation. | + * | `"hex"` | Hexidecimal (base16) is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-16 representation. | + * | `"ucs-2"` | UCS-2 (also ISO-10646) is a 2-byte character set for encoding Unicode characters under the Universal Character Set standard. Superseded by UTF-8 and UTF-16. | + * | `"utf-16le"` | UTF-16 (also ISO-10646) is a variable-length (either one or tow 16-bit code units) for representing any Unicode character. | + * | `"utf-8"` | UTF-8 (also ISO-10646) can represent any character in the Unicode standard using 1 to 4 bytes (8-bit) code units. UTF-8 is backwards compatible with ASCII. | + * | `"binary"`/`"latin1"` | Latin-1 (also ISO-8859-1) is an 8-bit character set representing Western European languages. | + */ + +/** + * | flags | description | + * | ------- | -------------------------------------------------------------------------------------------------------------- | + * | `"a"` | Open file for appending. The file is created if it does not exist. | + * | `"ax"` | Like `"a"` but fails if the path exists. | + * | `"a+"` | Open file for reading and appending. The file is created if it does not exist. | + * | `"ax+"` | Like `"a+"` but fails if the path exists. | + * | `"as"` | Open file for appending in synchronous mode. The file is created if it does not exist. | + * | `"as+"` | Open file for reading and appending in synchronous mode. The file is created if it does not exist. | + * | `"r"` | Open file for reading. An exception occurs if the file does not exist. | + * | `"r+"` | Open file for reading and writing. An exception occurs if the file does not exist. | + * | `"rs+"` | Open file for reading and writing in synchronous mode. Instructs the OS to bypass the local file system cache. | + * | `"w"` | Open file for writing. The file is created (if it does not exist) or truncated (if it exists). | + * | `"wx"` | Like `"w"` but fails if the path exists. | + * | `"w+"` | Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). | + * | `"wx+"` | Like `"w+"` but fails if the path exists. | + */ export function readFileAsync( filepath: fs.PathLike, - options: { flag: string } | { encoding: nodeEncoding; flag?: string } + options: { flag: string } | { encoding: NodeEncoding; flag?: string } ): Promise; export function readFileAsync(filepath: fs.PathLike): Promise; /** * Asynchronously read file contents into a Buffer or string. - * @param filepath A valid filename or path to read from. - * @param options Options object for setting either file encoding (default: `null`) or file system flags (default: `"r"`). - * The possible option values are: * - * | encoding | description | - * | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | - * | `"ascii"` | ASCII (also ISO-IR-006) is a character encoding standard used as the base for most modern character-encoding schemes, typical defaults to US-ASCII variant. | - * | `"base64"` | Base64 is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-64 representation. | - * | `"hex"` | Hexidecimal (base16) is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-16 representation. | - * | `"ucs-2"` | UCS-2 (also ISO-10646) is a 2-byte character set for encoding Unicode characters under the Universal Character Set standard. Superseded by UTF-8 and UTF-16. | - * | `"utf-16le"` | UTF-16 (also ISO-10646) is a variable-length (either one or tow 16-bit code units) for representing any Unicode character. | - * | `"utf-8"` | UTF-8 (also ISO-10646) can represent any character in the Unicode standard using 1 to 4 bytes (8-bit) code units. UTF-8 is backwards compatible with ASCII. | - * | `"binary"`/`"latin1"` | Latin-1 (also ISO-8859-1) is an 8-bit character set representing Western European languages. | - * - * | flags | description | - * | ------- | -------------------------------------------------------------------------------------------------------------------------- | - * | `"a"` | Open file for appending. The file is created if it does not exist. | - * | `"ax"` | Like `"a"` but fails if the path exists. | - * | `"a+"` | Open file for reading and appending. The file is created if it does not exist. | - * | `"ax+"` | Like `"a+"` but fails if the path exists. | - * | `"as"` | Open file for appending in synchronous mode. The file is created if it does not exist. | - * | `"as+"` | Open file for reading and appending in synchronous mode. The file is created if it does not exist. | - * | `"r"` | Open file for reading. An exception occurs if the file does not exist. | - * | `"r+"` | Open file for reading and writing. An exception occurs if the file does not exist. | - * | `"rs+"` | Open file for reading and writing in synchronous mode. Instructs the OS to bypass the local file system cache. | - * | `"w"` | Open file for writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx"` | Like `"w"` but fails if the path exists. | - * | `"w+"` | Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx+"` | Like `"w+"` but fails if the path exists. | - * @returns {Promise} A Promise object containing a Buffer, if no flag or encoding was provided, or a string of the file contents. - * Throws ENOENT error on non-existent filepath, and EISDIR error on a filepath pointing to a directory. + * @param filepath A valid filename or path to read from. + * @param options Options object for setting either file encoding (default: `null`) or file system + * flags (default: `"r"`). The possible option values are: 2@^5!~#sdE!_TABLE + * @returns {Promise} A Promise object containing a Buffer, if no flag or encoding was + * provided, or a string of the file contents. Throws ENOENT error on non-existent filepath, and + * EISDIR error on a filepath pointing to a directory. */ export function readFileAsync( filepath: fs.PathLike, - options?: { flag: string } | { encoding: nodeEncoding; flag?: string } + options?: { flag: string } | { encoding: NodeEncoding; flag?: string } ): Promise | Promise { const fullPath = path.resolve(filepath.toString()); if (options) return fs.readFile(fullPath, options); diff --git a/src/containers/io/io-validateFileName.ts b/src/preload/io/io-validateFileName.ts similarity index 67% rename from src/containers/io/io-validateFileName.ts rename to src/preload/io/io-validateFileName.ts index 8d8bf302c..7e7518b63 100644 --- a/src/containers/io/io-validateFileName.ts +++ b/src/preload/io/io-validateFileName.ts @@ -1,6 +1,8 @@ /** - * Checks whether or not a given file name and accompanying extension are valid. Checks for invalid characters and invalid placement of - * characters. Also checks for an empty file name if the extension is not a .config file. + * Checks whether or not a given file name and accompanying extension are valid. Checks for invalid + * characters and invalid placement of characters. Also checks for an empty file name if the + * extension is not a .config file. + * * @param fileName A string file name with its accompanying .extension. * @param configExts An array of strings containing only valid .config extensions in the state. * @param exts An array of strings containing all valid extensions in the state. @@ -16,14 +18,19 @@ export const validateFileName = ( const ext = index !== -1 ? fileName.substring(fileName.lastIndexOf('.')) : ''; // grabs the extension plus the '.' before it const name = index !== -1 ? fileName.substr(0, index) : fileName; // grabs the file name w/o the extension and the '.' before it - /* Regex matches all occurences of invalid file name characters in the set: <, >, \, /, |, ?, *, and - characters NULL to US (ASCII values 0 to 31) */ + /** + * Regex matches all occurences of invalid file name characters in the set: <, >, , /, |, ?, *, + * and characters NULL to US (ASCII values 0 to 31) + */ /* eslint-disable no-control-regex */ const flag = !/[<>:"\\/|?*\x00-\x1F]/g.test(name) && name.slice(-1) !== ' ' && name.slice(-1) !== '.'; /* eslint-enable no-control-regex */ - /* If ext is a .config extension, just check for invalid chars and that the final char is not '.' or ' ' in file name - Otherwise, check everything above AND that the file name is not empty and that the extension is valid */ + /** + * If ext is a .config extension, just check for invalid chars and that the final char is not '.' + * or ' ' in file name Otherwise, check everything above AND that the file name is not empty and + * that the extension is valid + */ return configExts.find(configExt => configExt === ext) ? flag : name !== '' && exts.includes(ext.substr(1)) && flag; diff --git a/src/preload/io/io-writeFile.ts b/src/preload/io/io-writeFile.ts new file mode 100644 index 000000000..2bd117230 --- /dev/null +++ b/src/preload/io/io-writeFile.ts @@ -0,0 +1,33 @@ +import * as fs from 'fs-extra'; +import * as path from 'path'; +import type { NodeEncoding } from './io'; + +/** + * Asynchronously write data to a file. Creates a new file if none exists; will destructively + * rewrite existing files. + * + * @param filepath - A valid filename or path to write data to. + * @param data - A string or buffer containing data to be written. + * @param options - Options object for setting file encoding (default: `"utf8"`), file mode + * (default: `0o666`), and file system flags (default: `"w"`). + * @param options.encoding - The possible option values are: 2@^5!~#sdE!_TABLE + * @param options.mode - Mode adheres to the Unix/Linux permissions model. This model contain Read, + * Write, and Execute permissions that are combined into an octal value representing the combined + * permissions for each of the Owner, Group, and Other (world) attributes. For embedding purposes + * the permissions are stored with a umask; e.g. `0o753` represents the permission octal `7` for + * Owner, `5` for Group, and `3` for Other (world). The absolute octal permissions are: + * 2@^5!~#sdE!_TABLE + * @param options.flag - Flags adhere to the following: 2@^5!~#sdE!_TABLE + * @returns {Promise} A Promise object for the file write operation; where errors cause a + * rejection. + */ + +export const writeFileAsync = ( + filepath: fs.PathLike, + data: string | Buffer, + options?: { encoding?: NodeEncoding; flag?: string; mode?: number } +): Promise => { + const fullPath = path.resolve(filepath.toString()); + if (options) return fs.writeFile(fullPath, data, options); + else return fs.writeFile(fullPath, data); +}; diff --git a/src/containers/io/io-types.ts b/src/preload/io/io.d.ts similarity index 75% rename from src/containers/io/io-types.ts rename to src/preload/io/io.d.ts index eccf729d3..1fe7b4ee2 100644 --- a/src/containers/io/io-types.ts +++ b/src/preload/io/io.d.ts @@ -1,8 +1,8 @@ /** - * Encoding formats that adhere to the name of - * [Node.js-supported encodings](https://stackoverflow.com/questions/14551608/list-of-encodings-that-node-js-supports#14551669). + * Encoding formats that adhere to the name of [Node.js-supported + * encodings](https://stackoverflow.com/questions/14551608/list-of-encodings-that-node-js-supports#14551669). */ -export type nodeEncoding = +export type NodeEncoding = | 'ascii' | 'utf8' | 'utf-8' @@ -18,10 +18,10 @@ export type nodeEncoding = /** * Encoding formats that adhere to the name of decoding algorithms available for * [TextDecoder.prototype.encoding](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/encoding). - * Except for `bytes`, which directly maps to the notion of a `byte-array` in other languages. This format - * requires encoding in a `Uint8Array` within JavaScript/TypeScript. + * Except for `bytes`, which directly maps to the notion of a `byte-array` in other languages. This + * format requires encoding in a `Uint8Array` within JavaScript/TypeScript. */ -export type decoderEncoding = +export type DecoderEncoding = | 'utf-8' | 'ibm866' | 'iso-8859-2' diff --git a/src/containers/flatten.ts b/src/preload/utils/flatten.ts similarity index 92% rename from src/containers/flatten.ts rename to src/preload/utils/flatten.ts index ec65eba64..120269497 100644 --- a/src/containers/flatten.ts +++ b/src/preload/utils/flatten.ts @@ -7,8 +7,9 @@ export type ObjectElementType = T extends Record` within the reducer function, but @@ -20,6 +21,7 @@ export type ObjectElementType = T extends Record(arr: T): ArrayElementType[] * of the outer container object and only hoist the inner pair. Some type casting is required (but * should be type-safe) in order to handle the gradual typing of results from square bracket * property accessors. + * * @param obj Object containing key-value pairs that point to primitives, arrays, and other objects. - * @returns {Record} d Object of depth 1, containing - * all sub-object elements (excluding keys for container objects). + * @returns {Record} D Object of depth 1, containing + * all sub-object elements (excluding keys for container objects). */ export const flattenObject = >( obj: T diff --git a/src/preload/utils/index.ts b/src/preload/utils/index.ts new file mode 100644 index 000000000..752f7cb5b --- /dev/null +++ b/src/preload/utils/index.ts @@ -0,0 +1,2 @@ +export * from './flatten'; +export * from './utils'; diff --git a/src/containers/utils.ts b/src/preload/utils/utils.ts similarity index 65% rename from src/containers/utils.ts rename to src/preload/utils/utils.ts index 94c75cb3f..9b4fa9d4c 100644 --- a/src/containers/utils.ts +++ b/src/preload/utils/utils.ts @@ -1,145 +1,13 @@ +import { GitStatus } from '../store'; import { flattenObject } from './flatten'; -import { GitStatus } from '../store/types'; - -/** - * Expand and flatten nested types; which has the side effect that IntelliSense will pull up - * any nested subtypes and expand them into a single type for cleaner type debugging. - * Reused from: https://www.youtube.com/shorts/2lCCKiWGlC0 - */ -export type Prettify = { - [K in keyof T]: T[K]; -} & {}; // eslint-disable-line @typescript-eslint/ban-types - -/** - * Expand object types one level deep; which has the side effect that IntelliSense will infer - * the resolved type of a complex type (i.e. types that use TS Utility Types). - * Reused from: https://stackoverflow.com/a/57683652 - */ -export type Expand = T extends infer O ? { [K in keyof O]: O[K] } : never; - -/** - * Expand object types recursively; which has the side effect that IntelliSense will infer - * the resolved type of a complex type (i.e. types that use TS Utility Types). - * Reused from: https://stackoverflow.com/a/57683652 - */ -export type ExpandRecursively = T extends object - ? T extends infer O - ? { [K in keyof O]: ExpandRecursively } - : never - : T; - -/** - * Extract keys from all leaf properties in an object and converts them into a tuple of string - * literals. For example, `{ a: number; b: { c: string; d: { e: string; }; }; }` would be turned - * into the type `["a", "c", "e"]`. This function uses mapped types, conditional types, - * lookup types, and recursive typing to accomplish this conversion. - * Inspired by: https://stackoverflow.com/a/68244131 - */ -type NestedKeys = ExpandRecursively< - { - [K in Exclude]: T[K] extends object ? NestedKeys : `${K}`; - }[Exclude] ->; - -type DotPrefix = T extends '' ? '' : `.${T}`; -/** - * Extract dot-prefixed path keys from all leaf properties in and object and converts them into a - * tuple of string literals. For example, `{ a: number; b: { c: string; d: { e: string; }; }; }` - * would be turned into the type `["a", "b.c", "b.d.e"]`. This function is similar to - * {@link NestedKeys}, but accomplishes the results through recursive descent and infering the - * resulting paths. - * Inspired by: https://stackoverflow.com/a/68404823 - */ -export type NestedDotKeys = ( - T extends object - ? { [K in Exclude]: `${K}${DotPrefix>}` }[Exclude< - keyof T, - symbol - >] - : '' -) extends infer D - ? Extract - : never; - -/** - * Requires all properties in U to override types in the intersection of T & U. - * Reused from: https://dev.to/vborodulin/ts-how-to-override-properties-with-type-intersection-554l - */ -export type Override = Omit & U; - -/** - * Requires all properties to be nullable (i.e. `null` or `undefined` or `void`); the inverse of - * `NonNullable`. - * Inspired by: https://javascript.plainenglish.io/typescript-advanced-mapped-and-conditional-types-2d10c96042fe - */ -export type Nullable = { - [P in keyof T]: T[P] | null | undefined; -}; - -/** - * Requires all properties in T to be non-nullable; either through type narrowing to exclude - * nullable types or excluding the property entirely when it resolves to only nullable types - * (`undefined | null | void`). - * Inspired by: https://stackoverflow.com/a/69338644 - */ -export type NonNullableObject = { - [P in keyof T]: Exclude; -}; - -/** - * Requires at least one type property, similar to `Partial` but excludes the empty object. - * Inspired by: https://stackoverflow.com/questions/48230773/how-to-create-a-partial-like-that-requires-a-single-property-to-be-set/48244432#48244432 - */ -export type AtLeastOne }> = Partial & U[keyof U]; - -/** - * Requires exactly one type property in an object, no more and no less. - * Inspired by: https://github.com/sindresorhus/type-fest/blob/main/source/require-exactly-one.d.ts - */ -export type ExactlyOne = { - [K in U]: Required> & Partial, never>>; -}[U] & - Omit; - -/** - * From T, set as required all properties whose keys are in the union K - * Inspired by: https://github.com/bkinseyx/testing-react-redux-toolkit/blob/610c8a676b7e799ea20047bf46dc35c47b3b988b/src/utils/types.ts - */ -export type WithRequired = Omit & Required>; - -/** - * From T, set as optional all properties whose keys are in the union K - * Inspired by: https://github.com/bkinseyx/testing-react-redux-toolkit/blob/610c8a676b7e799ea20047bf46dc35c47b3b988b/src/utils/types.ts - */ -export type WithOptional = Omit & Partial>; - -/** - * From T, set the value to never and optional for all properties that are exclusive to T (i.e. are - * not assignable to U). - * Reused from: https://github.com/ts-essentials/ts-essentials/blob/e0307a2e54bb6ae55666dfe434f840ccfc04e0c5/lib/types.ts - */ -export type Without = { [P in Exclude]?: never }; - -/** - * Require type to exclusively match either T or U, but not both. This is a `mutually exclusive or` - * (XOR) operation between types. - * Reused from: https://github.com/ts-essentials/ts-essentials/blob/e0307a2e54bb6ae55666dfe434f840ccfc04e0c5/lib/types.ts - * Inspired from: https://github.com/Microsoft/TypeScript/issues/14094 - */ -export type Either = T | U extends object ? (Without & U) | (Without & T) : T | U; - -export type GitProgressEvent = { - phase: string; - loaded: number; - total: number; -}; - -export type ProgressCallback = (progress: GitProgressEvent) => void | Promise; +import { NonNullableObject } from '../../renderer/src/store/types/util.types'; /** * Removes `undefined` and `null` values from an Array or Object type via a `filter` and type guard. * Reused from: https://github.com/robertmassaioli/ts-is-present - * @param t Object that includes at least one of `undefined`, `null` or `void` in the type signature. + * + * @param t Object that includes at least one of `undefined`, `null` or `void` in the type + * signature. * @returns {object | undefined | null | void} A type narrowed version of the same `t` object. */ export const isPresent = (t: T | undefined | null | void): t is T => { @@ -147,8 +15,9 @@ export const isPresent = (t: T | undefined | null | void): t is T => { }; /** - * Removes `undefined` values from an Array or Object type via a `filter` and type guard. - * Reused from: https://github.com/robertmassaioli/ts-is-present + * Removes `undefined` values from an Array or Object type via a `filter` and type guard. Reused + * from: https://github.com/robertmassaioli/ts-is-present + * * @param t Object that includes `undefined` in the type signature. * @returns {object | undefined} A type narrowed version of the same `t` object. */ @@ -157,8 +26,9 @@ export const isDefined = (t: T | undefined): t is T => { }; /** - * Removes `null` values from an Array or Object type via a `filter` and type guard. - * Reused from: https://github.com/robertmassaioli/ts-is-present + * Removes `null` values from an Array or Object type via a `filter` and type guard. Reused from: + * https://github.com/robertmassaioli/ts-is-present + * * @param t Object that includes `null` in the type signature. * @returns {object | null} A type narrowed version of the same `t` object. */ @@ -168,10 +38,11 @@ export const isFilled = (t: T | null): t is T => { /** * Generic for comparing possible updates against the current state of an object. + * * @param object The original state object. * @param properties The updated state properties. * @returns {boolean} A boolean indicating true if at least one property is new or contains modified - * values, false otherwise. + * values, false otherwise. */ export const hasUpdates = >( object: T, @@ -186,8 +57,9 @@ export const hasUpdates = >( }; /** - * Check for the existence of numeric values in a string object. - * Returns a Boolean value that indicates whether a String value contains only numeric values. + * Check for the existence of numeric values in a string object. Returns a Boolean value that + * indicates whether a String value contains only numeric values. + * * @param maybeNumber A string possibly containing only numeric values. * @returns {boolean} A boolean indicating true if the parameter is a number, false otherwise. */ @@ -197,9 +69,10 @@ export const isNumber = (maybeNumber: string | undefined): boolean => { /** * Check for a string containing a quote-encapsulated value (e.g. `a = '"quote"'`). + * * @param maybeQuote A string possibly containing a quote-encapsulated string value. * @returns {boolean} A boolean indicating true if the paraemter is quote-encapsulated, false - * otherwise. + * otherwise. */ export const isWrappedQuote = (maybeQuote: string): boolean => { return ( @@ -211,6 +84,7 @@ export const isWrappedQuote = (maybeQuote: string): boolean => { /** * Check for status indicating changes to a file have been staged; i.e. the file contents have been * added to the index (staging area). + * * @param status An enumerated git status value. * @returns {boolean} A boolean indicating true if modified and staged, and false otherwise. */ @@ -220,6 +94,7 @@ export const isStaged = (status: GitStatus): boolean => /** * Check for status indicating changes to a file that differ from the index, but have not been * staged. + * * @param status An enumerated git status value. * @returns {boolean} A boolean indicating true if modified and unstaged, and false otherwise. */ @@ -230,23 +105,17 @@ export const isModified = (status: GitStatus): boolean => * Check for status indicating a file has unmerged changes from an incomplete merge. * * **Warning:** This does not guarantee that the file _currently_ contains conflicting chunks. + * * @param status An enumerated git status value. * @returns {boolean} A boolean indicating true if unmerged, and false otherwise. */ export const isUnmerged = (status: GitStatus): boolean => status === 'unmerged'; /** - * Check whether a specific point in code is running under the Electron Renderer or Main process. - * @returns {'renderer' | 'main'} A constant string indicating `renderer` or `main`. - */ -export const isRenderer = (): 'renderer' | 'main' => { - const isRenderer = typeof process === 'undefined' || !process || process.type === 'renderer'; - return isRenderer ? 'renderer' : 'main'; -}; - -/** - * Typed version of [Object.entries](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries) + * Typed version of + * [Object.entries](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries) * which respects the types of the key/value pairs within properties on the input object. + * * @param o An object. * @returns {Array} An array of typed key/value pairs. */ @@ -256,15 +125,16 @@ export const objectEntries = < V extends T[K] >( o: T -) => { +): [K, V][] => { return Object.entries(o) as [K, V][]; }; /** * Check for conflicting chunks in a string (i.e. code surrounded by `<<<<<<<` and `>>>>>>>`). + * * @param content A string containing code that possibly includes conflicting chunks. * @returns {number[]} An array of indices representing the starting point for each conflicting - * chunk found in the string, or empty if clean. + * chunk found in the string, or empty if clean. */ export const getConflictingChunks = (content: string): number[] => { const conflictPattern = /<<<<<<<[^]+?=======[^]+?>>>>>>>/gm; @@ -277,6 +147,7 @@ export const getConflictingChunks = (content: string): number[] => { /** * Converts a JavaScript Object Notation (JSON) string into a typed object. + * * @param json A valid JSON string. * @returns {object} A typed object (or nested array of objects). */ @@ -285,12 +156,13 @@ export const deserialize = (json: string): T => JSON.parse(json) satisfies T; /** * Generic for partitioning an array into two disjoint arrays given a predicate function that * indicates whether an element should be in the passing subarray or failing subarray. + * * @param array The given array of elements to partition. - * @param predicate A predicate function that resolves to true if element `e` meets - * the inclusion requirements, and false otherwise. + * @param predicate A predicate function that resolves to true if element `e` meets the inclusion + * requirements, and false otherwise. * @returns {[object[], object[]]} The resulting array of arrays where elements that passed the - * predicate are in the left subarray and elements that failed the predicate are in the right - * subarray. + * predicate are in the left subarray and elements that failed the predicate are in the right + * subarray. */ export const partition = (array: T[], predicate: (e: T) => boolean): [T[], T[]] => { return array.reduce( @@ -306,16 +178,16 @@ export const partition = (array: T[], predicate: (e: T) => boolean): [T[], T[ * Generic for partitioning two arrays into the symmetric differences, also known as the disjunctive * union, and the intersection given a predicate that indicates whether an element should be in the * intersection subarray. + * * @param array1 An array of elements. * @param array2 An array of elements. * @param predicate A predicate function that resolves to true if element `e1` from `array1` has a - * equivalent complement - * in `array2`, and false otherwise. - * @returns {Array.<[object[], object[], object[]]>} The resulting array of arrays where - * symmetrically different elements from `array1` are in the left subarray, intersection subarray - * containing pairs of element `e1` from `array1` and the complementary element `e2` from `array2` - * in the center subarray, and the symmetrically different elements from `array2` are in the right - * subarray. + * equivalent complement in `array2`, and false otherwise. + * @returns {[object[], object[], object[]][]} The resulting array of arrays where symmetrically + * different elements from `array1` are in the left subarray, intersection subarray containing + * pairs of element `e1` from `array1` and the complementary element `e2` from `array2` in the + * center subarray, and the symmetrically different elements from `array2` are in the right + * subarray. */ export const symmetrical = ( array1: T[], @@ -334,6 +206,7 @@ export const symmetrical = ( /** * Filters an array and removes any undefined elements contained within it. + * * @param array The given array of elements that should be filtered for undefined. * @returns {object[]} The resulting array devoid of any undefined elements. */ @@ -343,9 +216,11 @@ export const removeUndefined = (array: (T | undefined)[]): T[] => { /** * Remove property from object by immutably destructuring the object properties into a new object. + * * @param obj The initial source object. * @param key The key of the property to be removed. - * @returns {object} New object containing all properties except for the one associated with the key. + * @returns {object} New object containing all properties except for the one associated with the + * key. */ export const removeObjectProperty = , K extends keyof T>( obj: T, @@ -358,10 +233,11 @@ export const removeObjectProperty = , K e /** * Generic for flattening and filtering an object given a set of filtering keys for inclusion in the * resulting object. + * * @param obj An object containing key-value indexed fields. * @param keyFilter An array of keys that indicate which key-value pairs should be included. * @returns {object} The resulting object devoid of key-value fields that did not match the key - * filter, or an empty object if all fields were removed. + * filter, or an empty object if all fields were removed. */ export const filterObject = >( obj: T, @@ -373,11 +249,12 @@ export const filterObject = >( }; /** - * Filters an object and removes properties that only resolve to nullable values - * (`undefined | null | void`), while also narrowing the property types to remove nullable types - * from any type unions. + * Filters an object and removes properties that only resolve to nullable values (`undefined | null + * + * | void`), while also narrowing the property types to remove nullable types from any type unions. + * * @param obj The given object containing key-value properties that should be filtered for nullable - * values. + * values. * @returns {object} The resulting object devoid of any nullable values. */ export const removeNullableProperties = < @@ -393,11 +270,12 @@ export const removeNullableProperties = < }; /** - * Generic for deduplicating array of elements given a comparator function that - * indicates whether a pair of elements should be considered duplicates. + * Generic for deduplicating array of elements given a comparator function that indicates whether a + * pair of elements should be considered duplicates. + * * @param arr An array of elements. - * @param comparator A comparator function that indicates true if elements a - * and b are duplicate, and false otherwise. + * @param comparator A comparator function that indicates true if elements a and b are duplicate, + * and false otherwise. * @returns {object[]} The resulting array devoid of duplicate elements. */ export const removeDuplicates = (arr: T[], comparator: (a: T, b: T) => boolean): T[] => { @@ -408,14 +286,15 @@ export const removeDuplicates = (arr: T[], comparator: (a: T, b: T) => boolea }; /** - * Generic for asynchronously filtering an array of elements given an async predicate - * function that resolves to indicate whether an element should be considered for - * inclusion in the resulting array. + * Generic for asynchronously filtering an array of elements given an async predicate function that + * resolves to indicate whether an element should be considered for inclusion in the resulting + * array. + * * @param arr An array of elements. - * @param predicate A predicate function that resolves to true if element `e` meets - * the filter inclusion requirements, and false otherwise. + * @param predicate A predicate function that resolves to true if element `e` meets the filter + * inclusion requirements, and false otherwise. * @returns {Promise} The resulting array devoid of elements that did not meet the - * predicate. + * predicate. */ export const asyncFilter = async ( arr: T[], @@ -428,11 +307,12 @@ export const asyncFilter = async ( /** * Expand an array of path elements (i.e. a dot-format path such as `user.name`) into a successive * series of named objects that contain any subsequent path elements and/or the updated value. + * * @param path An array of path elements ordered in sequence (i.e. `user.name.lastName` would be - * `[user, name, lastName]`). + * `[user, name, lastName]`). * @param value The value to insert or update at the specific path in the return object. * @returns {object} An object containing a key-value structure of embedded container objects - * according to the given path. + * according to the given path. */ export const objectifyPath = ( path: Array, @@ -448,6 +328,7 @@ export const objectifyPath = ( * Compares two `Map` objects for equality; only supports `Map` and not objects with key-value pairs * (i.e. `const map: {[key: string]: value}`). Checks for same map sizes, then tests all underlying * key-value entries for equality between maps. + * * @param map1 A `Map` object. * @param map2 A `Map` object. * @returns {boolean} A boolean indicating true if the `Map` objects are equal, or false otherwise. @@ -468,9 +349,11 @@ export const equalMaps = (map1: Map, map2: Map): boolean => { /** * Compares two `Array` objects for equality. Checks for same array length, then tests all * underlying elements for equality between arrays. + * * @param arr1 An `Array` object. * @param arr2 An `Array` object. - * @returns {boolean} A boolean indicating true if the `Array` objects are equal, or false otherwise. + * @returns {boolean} A boolean indicating true if the `Array` objects are equal, or false + * otherwise. */ export const equalArrays = (arr1: Array, arr2: Array): boolean => { if (arr1.length != arr2.length) return false; @@ -483,11 +366,12 @@ export const equalArrays = (arr1: Array, arr2: Array): boolean => { /** * Compares two objects for equality based on a filtered subset of properties. Checks for equality * on the provided properties only, enabling masked equality checks between complex objects. + * * @param obj1 A JavaScript object. * @param obj2 A JavaScript object. * @param props An array of keys derived from the type definition of comparable objects. * @returns {boolean} A boolean indicating true if the objects are equal among all selected - * properties, or false otherwise. + * properties, or false otherwise. */ export const filteredObjectEquality = ( obj1: T, @@ -501,11 +385,12 @@ export const filteredObjectEquality = ( * Compares two arrays of object for equality based on a filtered subset of object properties. * Checks for equality on the provided properties only, enabling masked equality checks between * arrays of complex objects. + * * @param arr1 An `Array` object containing JavaScript objects. * @param arr2 An `Array` object containing JavaScript objects. * @param props An array of keys derived from the type definition of comparable objects. * @returns {boolean} A boolean indicating true if all objects in both arrays are equal among all - * selected properties, or false otherwise. + * selected properties, or false otherwise. */ export const filteredArrayEquality = ( arr1: T[], @@ -527,10 +412,11 @@ export const filteredArrayEquality = ( * objects, which includes all of the following: `Int8Array`, `Uint8Array`, `Uint8ClampedArray`, * `Int16Array` ,`Int32Array`, `Uint32Array`, `Float32Array`, `Float64Array`, `BigInt64Array`, * `BigUint64Array`. + * * @param buf1 An `ArrayBufferLike` object. * @param buf2 An `ArrayBufferLike` object. * @returns {boolean} A boolean indicating true if the `ArrayBufferLike` objects are equal, or false - * otherwise. + * otherwise. */ export const equalArrayBuffers = (buf1: ArrayBufferLike, buf2: ArrayBufferLike): boolean => { if (buf1.byteLength != buf2.byteLength) return false; @@ -544,9 +430,10 @@ export const equalArrayBuffers = (buf1: ArrayBufferLike, buf2: ArrayBufferLike): /** * Convert a `Buffer` object into an `ArrayBuffer` object. + * * @param buf A `Buffer` object representing binary data in the form of a sequence of bytes. * @returns {ArrayBuffer} A new `ArrayBuffer` object containing a copy of all data in `Buffer` - * object. + * object. */ export const toArrayBuffer = (buf: Buffer): ArrayBuffer => { const ab = new ArrayBuffer(buf.length); @@ -558,8 +445,9 @@ export const toArrayBuffer = (buf: Buffer): ArrayBuffer => { }; /** - * Generates a pseudo-random number bounded by inclusive minimum and maximum bounds. - * Reused from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#getting_a_random_integer_between_two_values_inclusive + * Generates a pseudo-random number bounded by inclusive minimum and maximum bounds. Reused from: + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#getting_a_random_integer_between_two_values_inclusive + * * @param min Minimum range value. * @param max Maximum range value. * @returns {number} A pseudo-random number between `min` and `max` (inclusive). @@ -573,7 +461,9 @@ export const getRandomInt = (min: number, max: number): number => { * relies on [`setTimeout()`](https://nodejs.org/api/timers.html#settimeoutcallback-delay-args) from * Node.js, we do not guarantee the exact timing of when the callback will fire, nor of their * ordering. The callback will be called as close as possible to the time specified. + * * @param ms The number of milliseconds to wait before callback returns. * @returns {Promise} A Promise object containing a no-op callback. */ -export const delay = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +export const delay = (ms: number): Promise => + new Promise(resolve => setTimeout(resolve, ms)); diff --git a/src/renderer/index.html b/src/renderer/index.html new file mode 100644 index 000000000..17cfc0e60 --- /dev/null +++ b/src/renderer/index.html @@ -0,0 +1,17 @@ + + + + + Electron + + + + + +
      + + + diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx new file mode 100644 index 000000000..9a48bb767 --- /dev/null +++ b/src/renderer/src/App.tsx @@ -0,0 +1,53 @@ +import { Button } from '@mui/material'; +import { DateTime } from 'luxon'; +import { useState } from 'react'; +import Splash from './components/Splash'; +import { useAppSelector } from './store/hooks'; +import branchSelectors from './store/selectors/branches'; +import cardSelectors from './store/selectors/cards'; +import commitSelectors from './store/selectors/commits'; +import filetypeSelectors from './store/selectors/filetypes'; +import metafileSelectors from './store/selectors/metafiles'; +import modalSelectors from './store/selectors/modals'; +import repoSelectors from './store/selectors/repos'; +import stackSelectors from './store/selectors/stacks'; + +function App(): JSX.Element { + const [showSplash, toggleSplash] = useState(false); + const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); + const cards = useAppSelector(state => cardSelectors.selectAll(state)); + const stacks = useAppSelector(state => stackSelectors.selectAll(state)); + const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); + const modals = useAppSelector(state => modalSelectors.selectAll(state)); + const repos = useAppSelector(state => repoSelectors.selectAll(state)); + const branches = useAppSelector(state => branchSelectors.selectAll(state)); + const commits = useAppSelector(state => commitSelectors.selectAll(state)); + + const showStore = () => { + console.group( + `%cRedux Store : ${DateTime.local().toHTTP()}`, + 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' + ); + console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); + console.log(`CARDS [${Object.keys(cards).length}]`, cards); + console.log(`FILETYPES [${filetypes.length}]`, filetypes); + console.log(`METAFILES [${metafiles.length}]`, metafiles); + console.log(`REPOS [${repos.length}]`, repos); + console.log(`BRANCHES [${branches.length}]`, branches); + console.log(`COMMITS [${commits.length}]`, commits); + console.log(`MODALS [${modals.length}]`, modals); + console.groupEnd(); + }; + + return ( +
      + + + {showSplash ? : null} +
      + ); +} + +export default App; diff --git a/src/assets/canvas.png b/src/renderer/src/assets/canvas.png similarity index 100% rename from src/assets/canvas.png rename to src/renderer/src/assets/canvas.png diff --git a/src/assets/canvas@2x.png b/src/renderer/src/assets/canvas@2x.png similarity index 100% rename from src/assets/canvas@2x.png rename to src/renderer/src/assets/canvas@2x.png diff --git a/src/renderer/src/assets/electron-hero.svg b/src/renderer/src/assets/electron-hero.svg new file mode 100644 index 000000000..8ef80447e --- /dev/null +++ b/src/renderer/src/assets/electron-hero.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/renderer/src/assets/index.css b/src/renderer/src/assets/index.css new file mode 100644 index 000000000..0b3f2f1a6 --- /dev/null +++ b/src/renderer/src/assets/index.css @@ -0,0 +1,211 @@ +body { + display: flex; + flex-direction: column; + font-family: + Roboto, + -apple-system, + BlinkMacSystemFont, + 'Helvetica Neue', + 'Segoe UI', + 'Oxygen', + 'Ubuntu', + 'Cantarell', + 'Open Sans', + sans-serif; + color: #86a5b1; + background-color: #2f3241; +} + +* { + padding: 0; + margin: 0; +} + +ul { + list-style: none; +} + +code { + font-weight: 600; + padding: 3px 5px; + border-radius: 2px; + background-color: #26282e; + font-family: + ui-monospace, + SFMono-Regular, + SF Mono, + Menlo, + Consolas, + Liberation Mono, + monospace; + font-size: 85%; +} + +a { + color: #9feaf9; + font-weight: 600; + cursor: pointer; + text-decoration: none; + outline: none; +} + +a:hover { + border-bottom: 1px solid; +} + +.container { + flex: 1; + display: flex; + flex-direction: column; + max-width: 840px; + margin: 0 auto; + padding: 15px 30px 0 30px; +} + +.versions { + margin: 0 auto; + float: none; + clear: both; + overflow: hidden; + font-family: 'Menlo', 'Lucida Console', monospace; + color: #c2f5ff; + line-height: 1; + transition: all 0.3s; +} + +.versions li { + display: block; + float: left; + border-right: 1px solid rgba(194, 245, 255, 0.4); + padding: 0 20px; + font-size: 13px; + opacity: 0.8; +} + +.versions li:last-child { + border: none; +} + +.hero-logo { + margin-top: -0.4rem; + transition: all 0.3s; +} + +@media (max-width: 840px) { + .versions { + display: none; + } + + .hero-logo { + margin-top: -1.5rem; + } +} + +.hero-text { + font-weight: 400; + color: #c2f5ff; + text-align: center; + margin-top: -0.5rem; + margin-bottom: 10px; +} + +@media (max-width: 660px) { + .hero-logo { + display: none; + } + + .hero-text { + margin-top: 20px; + } +} + +.hero-tagline { + text-align: center; + margin-bottom: 14px; +} + +.links { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 24px; + font-size: 18px; + font-weight: 500; +} + +.links a { + font-weight: 500; +} + +.links .link-item { + padding: 0 4px; +} + +.prevent-select { + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.features { + display: flex; + flex-wrap: wrap; + margin: -6px; +} + +.features .feature-item { + width: 33.33%; + box-sizing: border-box; + padding: 6px; +} + +.features article { + background-color: rgba(194, 245, 255, 0.1); + border-radius: 8px; + box-sizing: border-box; + padding: 12px; + height: 100%; +} + +.features span { + color: #d4e8ef; + word-break: break-all; +} + +.features .title { + font-size: 17px; + font-weight: 500; + color: #c2f5ff; + line-height: 22px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.features .detail { + font-size: 14px; + font-weight: 500; + line-height: 22px; + margin-top: 6px; +} + +@media (max-width: 660px) { + .features .feature-item { + width: 50%; + } +} + +@media (max-width: 480px) { + .links { + flex-direction: column; + line-height: 32px; + } + + .links .link-dot { + display: none; + } + + .features .feature-item { + width: 100%; + } +} diff --git a/src/renderer/src/components/Splash.tsx b/src/renderer/src/components/Splash.tsx new file mode 100644 index 000000000..a0debe4ee --- /dev/null +++ b/src/renderer/src/components/Splash.tsx @@ -0,0 +1,170 @@ +import { Add, Remove } from '@mui/icons-material'; +import { IconButton, Stack } from '@mui/material'; +import electronLogo from '../assets/electron-hero.svg'; +import { useState } from 'react'; + +function Splash(): JSX.Element { + const [counter, setCounter] = useState(0); + const [uid, setUid] = useState(''); + + const opener = async (): Promise => { + const response = await window.api.dialogs.fileOpen({}); + console.log(response); + }; + + return ( +
      + + + + +

      + You{"'"}ve successfully created an Electron project with React and TypeScript +

      +

      + Please try pressing F12 to open the devTool +

      + +

      Counter: {counter}

      + + setCounter(c => (c -= 1))}> + + + setCounter(c => (c += 1))}> + + + +

      setUid(window.api.uuid())}> + User ID: {uid} +

      +

      + Open +

      + + + +
      +
      +
      +

      Configuring

      +

      + Config with electron.vite.config.ts and refer to the{' '} + + config guide + + . +

      +
      +
      +
      +
      +

      HMR

      +

      + Edit src/renderer files to test HMR. See{' '} + + docs + + . +

      +
      +
      +
      +
      +

      Hot Reloading

      +

      + Run{' '} + + {"'"}electron-vite dev --watch{"'"} + {' '} + to enable. See{' '} + + docs + + . +

      +
      +
      +
      +
      +

      Debugging

      +

      + Check out .vscode/launch.json. See{' '} + + docs + + . +

      +
      +
      +
      +
      +

      Source Code Protection

      +

      + Supported via built-in plugin bytecodePlugin. See{' '} + + docs + + . +

      +
      +
      +
      + +
      +
      +
      + ); +} + +export default Splash; diff --git a/src/renderer/src/env.d.ts b/src/renderer/src/env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/src/renderer/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx new file mode 100644 index 000000000..ba4717ee9 --- /dev/null +++ b/src/renderer/src/main.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { createRoot } from 'react-dom/client'; +import { Provider } from 'react-redux'; +import App from './App'; +import './assets/index.css'; +import redux from './store/store'; + +const container = document.getElementById('root'); +const root = createRoot(container!); // eslint-disable-line @typescript-eslint/no-non-null-assertion +root.render( + + + + + +); diff --git a/src/store/hooks.ts b/src/renderer/src/store/hooks.ts similarity index 80% rename from src/store/hooks.ts rename to src/renderer/src/store/hooks.ts index f6b7216c5..d6ef13ea5 100644 --- a/src/store/hooks.ts +++ b/src/renderer/src/store/hooks.ts @@ -3,10 +3,11 @@ import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'; import type { RootState, AppDispatch } from './store'; export const createAppAsyncThunk = createAsyncThunk.withTypes<{ - state: RootState, - dispatch: AppDispatch, - rejectValue: string + state: RootState; + dispatch: AppDispatch; + extra: {}; + rejectValue: string; }>(); export const useAppDispatch = () => useDispatch(); -export const useAppSelector: TypedUseSelectorHook = useSelector; \ No newline at end of file +export const useAppSelector: TypedUseSelectorHook = useSelector; diff --git a/src/store/selectors/branches.ts b/src/renderer/src/store/selectors/branches.ts similarity index 93% rename from src/store/selectors/branches.ts rename to src/renderer/src/store/selectors/branches.ts index dd4c0cf29..0056dca15 100644 --- a/src/store/selectors/branches.ts +++ b/src/renderer/src/store/selectors/branches.ts @@ -1,14 +1,16 @@ import { createSelector, EntityId } from '@reduxjs/toolkit'; -import { PathLike } from 'fs-extra'; +import type { PathLike } from 'fs-extra'; import { createCachedSelector } from 're-reselect'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { filteredArrayEquality, isDefined } from '../../containers/utils'; -import { Branch, branchAdapter } from '../slices/branches'; -import { Repository } from '../slices/repos'; -import { RootState } from '../store'; +import type { Branch } from 'types/branch'; +import type { Repository } from 'types/repo'; +import { branchAdapter } from '../slices/branches'; +import type { RootState } from '../store'; import repoSelectors from './repos'; const selectors = branchAdapter.getSelectors(state => state.branches); +const filteredArrayEquality = window.api.utils.filteredArrayEquality; +const isDefined = window.api.utils.isDefined; type BranchEntities = ReturnType; diff --git a/src/store/selectors/cards.ts b/src/renderer/src/store/selectors/cards.ts similarity index 89% rename from src/store/selectors/cards.ts rename to src/renderer/src/store/selectors/cards.ts index 63c000fa4..73f9448fb 100644 --- a/src/store/selectors/cards.ts +++ b/src/renderer/src/store/selectors/cards.ts @@ -1,9 +1,11 @@ import { EntityId, createSelector } from '@reduxjs/toolkit'; import { createCachedSelector } from 're-reselect'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { filteredArrayEquality, isDefined } from '../../containers/utils'; import { cardAdapter } from '../slices/cards'; -import { RootState } from '../store'; +import type { RootState } from '../store'; + +const filteredArrayEquality = window.api.utils.filteredArrayEquality; +const isDefined = window.api.utils.isDefined; const selectors = cardAdapter.getSelectors(state => state.cards); diff --git a/src/store/selectors/commits.ts b/src/renderer/src/store/selectors/commits.ts similarity index 83% rename from src/store/selectors/commits.ts rename to src/renderer/src/store/selectors/commits.ts index 6948cfb5d..10d698ec7 100644 --- a/src/store/selectors/commits.ts +++ b/src/renderer/src/store/selectors/commits.ts @@ -1,5 +1,5 @@ import { commitAdapter } from '../slices/commits'; -import { RootState } from '../store'; +import type { RootState } from '../store'; const selectors = commitAdapter.getSelectors(state => state.commits); diff --git a/src/store/selectors/filetypes.ts b/src/renderer/src/store/selectors/filetypes.ts similarity index 51% rename from src/store/selectors/filetypes.ts rename to src/renderer/src/store/selectors/filetypes.ts index a421b5267..a05fae9e3 100644 --- a/src/store/selectors/filetypes.ts +++ b/src/renderer/src/store/selectors/filetypes.ts @@ -1,55 +1,56 @@ import { createCachedSelector } from 're-reselect'; -import { Filetype, filetypeAdapter } from '../slices/filetypes'; -import { RootState } from '../store'; -import { CardType } from '../types'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { equalArrays } from '../../containers/utils'; +import type { CardType } from 'types/app'; +import type { Filetype } from 'types/filetype'; +import { filetypeAdapter } from '../slices/filetypes'; +import type { RootState } from '../store'; export const selectors = filetypeAdapter.getSelectors(state => state.filetypes); +const equalArrays = window.api.utils.equalArrays; const deepFiletypeEqualityCheck = (a: Filetype[], b: Filetype[]) => equalArrays(a, b); /** - * Selector for retrieving Filetype entities based on `filetype`. This selector caches on `filetype` as long as `selectAll` has not - * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated + * Selector for retrieving Filetype entities based on `filetype`. This selector caches on `filetype` as long as `selectAll` has not + * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated * when entitites change in `selectAll`, but not when `filetype` input selector changes. */ const selectByFiletype = createCachedSelector( - selectors.selectAll, - (_state: RootState, filetype: string) => filetype, - (filetypes, filetype) => filetypes.filter(f => f.filetype === filetype) + selectors.selectAll, + (_state: RootState, filetype: string) => filetype, + (filetypes, filetype) => filetypes.filter(f => f.filetype === filetype) )({ - keySelector: (_, filetype) => filetype, - selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck), + keySelector: (_, filetype) => filetype, + selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck) }); /** - * Selector for retrieving Filetype entities based on `handler`. This selector caches on `handler` as long as `selectAll` has not - * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated + * Selector for retrieving Filetype entities based on `handler`. This selector caches on `handler` as long as `selectAll` has not + * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated * when entitites change in `selectAll`, but not when `handler` input selector changes. */ const selectByHandler = createCachedSelector( - selectors.selectAll, - (_state: RootState, handler: CardType) => handler, - (filetypes, handler) => filetypes.filter(f => f.handler === handler) + selectors.selectAll, + (_state: RootState, handler: CardType) => handler, + (filetypes, handler) => filetypes.filter(f => f.handler === handler) )({ - keySelector: (_, handler) => handler, - selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck), + keySelector: (_, handler) => handler, + selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck) }); /** - * Selector for retrieving Filetype entities based on `extension`. This selector caches on `extension` as long as `selectAll` has not - * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated + * Selector for retrieving Filetype entities based on `extension`. This selector caches on `extension` as long as `selectAll` has not + * changed. The persisted selector cache provided by [re-reselect](https://github.com/toomuchdesign/re-reselect) is invalidated * when entitites change in `selectAll`, but not when `extension` input selector changes. */ const selectByExtension = createCachedSelector( - selectors.selectAll, - (_state: RootState, extension: string) => extension, - (filetypes, extension) => filetypes.filter(f => f.extensions.some(ext => ext === extension)) + selectors.selectAll, + (_state: RootState, extension: string) => extension, + (filetypes, extension) => filetypes.filter(f => f.extensions.some(ext => ext === extension)) )({ - keySelector: (_, extension) => extension, - selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck), + keySelector: (_, extension) => extension, + selectorCreator: createSelectorCreator(defaultMemoize, deepFiletypeEqualityCheck) }); const filetypeSelectors = { ...selectors, selectByFiletype, selectByHandler, selectByExtension }; -export default filetypeSelectors; \ No newline at end of file +export default filetypeSelectors; diff --git a/src/store/selectors/metafiles.ts b/src/renderer/src/store/selectors/metafiles.ts similarity index 95% rename from src/store/selectors/metafiles.ts rename to src/renderer/src/store/selectors/metafiles.ts index 5c3e65eec..9afe986b1 100644 --- a/src/store/selectors/metafiles.ts +++ b/src/renderer/src/store/selectors/metafiles.ts @@ -1,20 +1,21 @@ import { createSelector, EntityId } from '@reduxjs/toolkit'; import { createCachedSelector } from 're-reselect'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { filteredArrayEquality, isDefined, isStaged } from '../../containers/utils'; +import type { CardType, PathLike, UUID } from 'types/app'; +import type { DescendantMetafiles, Metafile } from 'types/metafile'; import { - DescendantMetafiles, isDirectoryMetafile, isFilebasedMetafile, isFileMetafile, isVersionedMetafile, - Metafile, metafileAdapter } from '../slices/metafiles'; -import { RootState } from '../store'; -import { CardType, PathLike, UUID } from '../types'; +import type { RootState } from '../store'; const selectors = metafileAdapter.getSelectors(state => state.metafiles); +const filteredArrayEquality = window.api.utils.filteredArrayEquality; +const isDefined = window.api.utils.isDefined; +const isStaged = window.api.utils.isStaged; type MetafileEntities = ReturnType; diff --git a/src/store/selectors/modals.ts b/src/renderer/src/store/selectors/modals.ts similarity index 61% rename from src/store/selectors/modals.ts rename to src/renderer/src/store/selectors/modals.ts index a0388d6a5..511100c98 100644 --- a/src/store/selectors/modals.ts +++ b/src/renderer/src/store/selectors/modals.ts @@ -1,17 +1,19 @@ -import { EntityId } from '@reduxjs/toolkit'; +import type { EntityId } from '@reduxjs/toolkit'; import { createCachedSelector } from 're-reselect'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { equalArrays, isDefined } from '../../containers/utils'; +import type { ModalType } from 'types/app'; import { modalAdapter } from '../slices/modals'; -import { RootState } from '../store'; -import { ModalType } from '../types'; +import type { RootState } from '../store'; + +const isDefined = window.api.utils.isDefined; +const equalArrays = window.api.utils.equalArrays; export const selectors = modalAdapter.getSelectors(state => state.modals); type ModalEntities = ReturnType; const shallowEntitiesEqualityCheck = (a: ModalEntities, prev: ModalEntities) => - equalArrays(Object.values(a).filter(isDefined), Object.values(prev).filter(isDefined)); + equalArrays(Object.values(a).filter(isDefined), Object.values(prev).filter(isDefined)); /** * Selector for retrieving Modal entities based on `id`. This selector caches on `id` as long as `state.modal.entities` has not changed. @@ -19,12 +21,12 @@ const shallowEntitiesEqualityCheck = (a: ModalEntities, prev: ModalEntities) => * `selectEntities`, but not when `id` input selector changes. */ const selectById = createCachedSelector( - selectors.selectEntities, - (_state: RootState, id: EntityId) => id, - (repos, id) => repos[id] + selectors.selectEntities, + (_state: RootState, id: EntityId) => id, + (repos, id) => repos[id] )({ - keySelector: (_, id) => id, - selectorCreator: createSelectorCreator(defaultMemoize, shallowEntitiesEqualityCheck), + keySelector: (_, id) => id, + selectorCreator: createSelectorCreator(defaultMemoize, shallowEntitiesEqualityCheck) }); /** @@ -33,14 +35,14 @@ const selectById = createCachedSelector( * `selectAll`, but not when `type` input selector changes. */ const selectByType = createCachedSelector( - selectors.selectAll, - (_state: RootState, type: ModalType) => type, - (modals, type) => modals.filter(m => m.type === type) + selectors.selectAll, + (_state: RootState, type: ModalType) => type, + (modals, type) => modals.filter(m => m.type === type) )({ - keySelector: (_, type) => type, - selectorCreator: createSelectorCreator(defaultMemoize, shallowEntitiesEqualityCheck), + keySelector: (_, type) => type, + selectorCreator: createSelectorCreator(defaultMemoize, shallowEntitiesEqualityCheck) }); const modalSelectors = { ...selectors, selectById, selectByType }; -export default modalSelectors; \ No newline at end of file +export default modalSelectors; diff --git a/src/store/selectors/repos.ts b/src/renderer/src/store/selectors/repos.ts similarity index 88% rename from src/store/selectors/repos.ts rename to src/renderer/src/store/selectors/repos.ts index f588af9d7..196fba8f0 100644 --- a/src/store/selectors/repos.ts +++ b/src/renderer/src/store/selectors/repos.ts @@ -1,9 +1,11 @@ -import { PathLike } from 'fs-extra'; +import type { PathLike } from 'fs-extra'; import { createCachedSelector } from 're-reselect'; import { createSelectorCreator, defaultMemoize } from 'reselect'; -import { equalArrays } from '../../containers/utils'; -import { repoAdapter, Repository } from '../slices/repos'; -import { RootState } from '../store'; +import type { Repository } from 'types/repo'; +import { repoAdapter } from '../slices/repos'; +import type { RootState } from '../store'; + +const equalArrays = window.api.utils.equalArrays; const selectors = repoAdapter.getSelectors(state => state.repos); diff --git a/src/store/selectors/stacks.ts b/src/renderer/src/store/selectors/stacks.ts similarity index 69% rename from src/store/selectors/stacks.ts rename to src/renderer/src/store/selectors/stacks.ts index 90dd61fbe..f3c3f45f6 100644 --- a/src/store/selectors/stacks.ts +++ b/src/renderer/src/store/selectors/stacks.ts @@ -1,8 +1,8 @@ import { stackAdapter } from '../slices/stacks'; -import { RootState } from '../store'; +import type { RootState } from '../store'; const selectors = stackAdapter.getSelectors(state => state.stacks); const stackSelectors = { ...selectors }; -export default stackSelectors; \ No newline at end of file +export default stackSelectors; diff --git a/src/renderer/src/store/slices/branches.ts b/src/renderer/src/store/slices/branches.ts new file mode 100644 index 000000000..13331bdc8 --- /dev/null +++ b/src/renderer/src/store/slices/branches.ts @@ -0,0 +1,25 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { Branch, UnmergedBranch } from 'types/branch'; + +const isDefined = window.api.utils.isDefined; + +export const branchAdapter = createEntityAdapter(); + +export const branchSlice = createSlice({ + name: 'branches', + initialState: branchAdapter.getInitialState(), + reducers: { + branchAdded: branchAdapter.addOne, + branchRemoved: branchAdapter.removeOne, + branchUpdated: branchAdapter.upsertOne, + branchReplaced: branchAdapter.setOne + } +}); + +export const isUnmergedBranch = (branch: Branch | undefined): branch is UnmergedBranch => { + return isDefined(branch) && (branch as UnmergedBranch).merging !== undefined; +}; + +export const { branchAdded, branchRemoved, branchReplaced, branchUpdated } = branchSlice.actions; + +export default branchSlice.reducer; diff --git a/src/renderer/src/store/slices/cards.ts b/src/renderer/src/store/slices/cards.ts new file mode 100644 index 000000000..ead5acc27 --- /dev/null +++ b/src/renderer/src/store/slices/cards.ts @@ -0,0 +1,26 @@ +import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; +import { DateTime } from 'luxon'; +import { Card } from 'types/card'; + +export const cardAdapter = createEntityAdapter(); + +export const cardSlice = createSlice({ + name: 'cards', + initialState: cardAdapter.getInitialState(), + reducers: { + cardAdded: cardAdapter.addOne, + cardRemoved: cardAdapter.removeOne, + cardUpdated: { + reducer: (state: EntityState, action: PayloadAction) => { + cardAdapter.upsertOne(state, action.payload); + }, + prepare: (card: Card) => { + return { payload: { ...card, modified: DateTime.local().valueOf() } }; + } + } + } +}); + +export const { cardAdded, cardRemoved, cardUpdated } = cardSlice.actions; + +export default cardSlice.reducer; diff --git a/src/renderer/src/store/slices/commits.ts b/src/renderer/src/store/slices/commits.ts new file mode 100644 index 000000000..9895aba4c --- /dev/null +++ b/src/renderer/src/store/slices/commits.ts @@ -0,0 +1,21 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { Commit } from 'types/commit'; + +export const commitAdapter = createEntityAdapter({ + selectId: commit => commit.oid.toString() +}); + +export const commitSlice = createSlice({ + name: 'commits', + initialState: commitAdapter.getInitialState(), + reducers: { + commitAdded: commitAdapter.addOne, + commitRemoved: commitAdapter.removeOne, + commitUpdated: commitAdapter.upsertOne, + commitReplaced: commitAdapter.setOne + } +}); + +export const { commitAdded, commitRemoved, commitUpdated, commitReplaced } = commitSlice.actions; + +export default commitSlice.reducer; diff --git a/src/renderer/src/store/slices/filetypes.ts b/src/renderer/src/store/slices/filetypes.ts new file mode 100644 index 000000000..a26fc98d5 --- /dev/null +++ b/src/renderer/src/store/slices/filetypes.ts @@ -0,0 +1,18 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { Filetype } from 'types/filetype'; + +export const filetypeAdapter = createEntityAdapter(); + +export const filetypeSlice = createSlice({ + name: 'filetypes', + initialState: filetypeAdapter.getInitialState(), + reducers: { + filetypeAdded: filetypeAdapter.addOne, + filetypeRemoved: filetypeAdapter.removeOne, + filetypeUpdated: filetypeAdapter.upsertOne + } +}); + +export const { filetypeAdded, filetypeRemoved, filetypeUpdated } = filetypeSlice.actions; + +export default filetypeSlice.reducer; diff --git a/src/renderer/src/store/slices/metafiles.ts b/src/renderer/src/store/slices/metafiles.ts new file mode 100644 index 000000000..c78638a00 --- /dev/null +++ b/src/renderer/src/store/slices/metafiles.ts @@ -0,0 +1,103 @@ +import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; +import { DateTime } from 'luxon'; +import type { + DiffMetafile, + DirectoryMetafile, + FilebasedMetafile, + FileMetafile, + Metafile, + VersionedMetafile, + VirtualMetafile +} from 'types/metafile'; + +const isDefined = window.api.utils.isDefined; + +export const metafileAdapter = createEntityAdapter(); + +export const metafileSlice = createSlice({ + name: 'metafiles', + initialState: metafileAdapter.getInitialState(), + reducers: { + metafileAdded: metafileAdapter.addOne, + metafileRemoved: metafileAdapter.removeOne, + metafileUpdated: { + reducer: (state: EntityState, action: PayloadAction) => { + metafileAdapter.upsertOne(state, action.payload); + }, + prepare: (metafile: Metafile) => { + return { payload: { ...metafile, modified: DateTime.local().valueOf() } }; + } + }, + metafilesUpdated: { + reducer: (state: EntityState, action: PayloadAction) => { + metafileAdapter.upsertMany(state, action.payload); + }, + prepare: (metafiles: readonly Metafile[]) => { + return { + payload: metafiles.map(metafile => ({ + ...metafile, + modified: DateTime.local().valueOf() + })) + }; + } + }, + metafileReplaced: metafileAdapter.setOne + } +}); + +export const isVirtualMetafile = (metafile: Metafile | undefined): metafile is VirtualMetafile => + isDefined(metafile) && !isFilebasedMetafile(metafile); + +export const isFilebasedMetafile = ( + metafile: Metafile | undefined +): metafile is FilebasedMetafile => + isDefined(metafile) && (metafile as FilebasedMetafile).path !== undefined; + +export const isFileMetafile = (metafile: Metafile | undefined): metafile is FileMetafile => + isFilebasedMetafile(metafile) && metafile.filetype !== 'Directory'; + +export const isDirectoryMetafile = ( + metafile: Metafile | undefined +): metafile is DirectoryMetafile => + isFilebasedMetafile(metafile) && metafile.filetype === 'Directory'; + +export const isVersionedMetafile = ( + metafile: Metafile | undefined +): metafile is VersionedMetafile => + isFilebasedMetafile(metafile) && (metafile as VersionedMetafile).repo !== undefined; + +export const isDiffMetafile = (metafile: Metafile | undefined): metafile is DiffMetafile => + isDefined(metafile) && (metafile as DiffMetafile).targets !== undefined; + +/** + * Check for updates to the content of a filesystem object (i.e. file or directory) by examining + * whether the [`fs.Stats.mtime`](https://nodejs.org/api/fs.html#class-fsstats) previously recorded + * for a metafile is stale, or non-existent in the case of a newly created metafile. + * + * @param metafile The filebased Metafile object that should be evaluated for possible filesystem + * updates. + * @returns {string | undefined} A string containing the epoch milliseconds of the latest `mtime` + * timestamp if newer than the previous `mtime` timestamp of the metafile, or `undefined` + * otherwise. + */ +export const hasFilebasedUpdates = async ( + metafile: FilebasedMetafile +): Promise => { + const mtime = (await window.api.fs.extractStats(metafile.path))?.mtime; + if (!isDefined(mtime)) return undefined; // file does not exist in the filesystem + const timestamp = DateTime.fromJSDate(mtime); + + if (!isDefined(metafile.mtime)) return timestamp.valueOf(); // metafile not previously identified as filebased + const delta = timestamp.diff(DateTime.fromMillis(metafile.mtime)).valueOf(); + return delta > 0 ? timestamp.valueOf() : undefined; // only return timestamp if newer than previous timestamp +}; + +export const { + metafileAdded, + metafileRemoved, + metafileReplaced, + metafileUpdated, + metafilesUpdated +} = metafileSlice.actions; + +export default metafileSlice.reducer; diff --git a/src/renderer/src/store/slices/modals.ts b/src/renderer/src/store/slices/modals.ts new file mode 100644 index 000000000..82dce8fdd --- /dev/null +++ b/src/renderer/src/store/slices/modals.ts @@ -0,0 +1,49 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { + CommitDialog, + DeleteBranchDialog, + GitGraph, + MergeDialog, + Modal, + NewBranchDialog, + Notification, + RevertCommitDialog +} from 'types/modal'; + +const isDefined = window.api.utils.isDefined; + +export const modalAdapter = createEntityAdapter(); + +export const modalSlice = createSlice({ + name: 'modals', + initialState: modalAdapter.getInitialState(), + reducers: { + modalAdded: modalAdapter.addOne, + modalRemoved: modalAdapter.removeOne + } +}); + +export const isGitGraphModal = (modal: Modal | undefined): modal is GitGraph => + isDefined(modal) && modal.type === 'GitGraph'; + +export const isCommitDialogModal = (modal: Modal | undefined): modal is CommitDialog => + isDefined(modal) && modal.type === 'CommitDialog'; + +export const isMergeDialogModal = (modal: Modal | undefined): modal is MergeDialog => + isDefined(modal) && modal.type === 'MergeDialog'; + +export const isNewBranchDialog = (modal: Modal | undefined): modal is NewBranchDialog => + isDefined(modal) && modal.type === 'NewBranchDialog'; + +export const isDeleteBranchDialog = (modal: Modal | undefined): modal is DeleteBranchDialog => + isDefined(modal) && modal.type === 'DeleteBranchDialog'; + +export const isNotification = (modal: Modal | undefined): modal is Notification => + isDefined(modal) && modal.type === 'Notification'; + +export const isRevertCommitDialog = (modal: Modal | undefined): modal is RevertCommitDialog => + isDefined(modal) && modal.type === 'RevertCommitDialog'; + +export const { modalAdded, modalRemoved } = modalSlice.actions; + +export default modalSlice.reducer; diff --git a/src/renderer/src/store/slices/repos.ts b/src/renderer/src/store/slices/repos.ts new file mode 100644 index 000000000..bc5fffb45 --- /dev/null +++ b/src/renderer/src/store/slices/repos.ts @@ -0,0 +1,19 @@ +import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; +import { Repository } from 'types/repo'; + +export const repoAdapter = createEntityAdapter(); +repoAdapter.addOne; + +export const repoSlice = createSlice({ + name: 'repos', + initialState: repoAdapter.getInitialState(), + reducers: { + repoAdded: repoAdapter.addOne, + repoRemoved: repoAdapter.removeOne, + repoUpdated: repoAdapter.upsertOne + } +}); + +export const { repoAdded, repoRemoved, repoUpdated } = repoSlice.actions; + +export default repoSlice.reducer; diff --git a/src/renderer/src/store/slices/stacks.ts b/src/renderer/src/store/slices/stacks.ts new file mode 100644 index 000000000..0f04cefc3 --- /dev/null +++ b/src/renderer/src/store/slices/stacks.ts @@ -0,0 +1,24 @@ +import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; +import { DateTime } from 'luxon'; +import { Stack } from 'types/stack'; + +export const stackAdapter = createEntityAdapter(); + +export const stacksSlice = createSlice({ + name: 'stacks', + initialState: stackAdapter.getInitialState(), + reducers: { + stackAdded: stackAdapter.addOne, + stackRemoved: stackAdapter.removeOne, + stackUpdated: (state: EntityState, action: PayloadAction) => { + stackAdapter.upsertOne(state, { + ...action.payload, + modified: DateTime.local().valueOf() + }); + } + } +}); + +export const { stackAdded, stackRemoved, stackUpdated } = stacksSlice.actions; + +export default stacksSlice.reducer; diff --git a/src/renderer/src/store/store.ts b/src/renderer/src/store/store.ts new file mode 100644 index 000000000..f9b819b74 --- /dev/null +++ b/src/renderer/src/store/store.ts @@ -0,0 +1,31 @@ +import { combineReducers, configureStore } from '@reduxjs/toolkit'; +import branchesReducer from './slices/branches'; +import cardsReducer from './slices/cards'; +import commitsReducer from './slices/commits'; +import filetypesReducer from './slices/filetypes'; +import metafilesReducer from './slices/metafiles'; +import modalsReducer from './slices/modals'; +import reposReducer from './slices/repos'; +import stacksReducer from './slices/stacks'; + +export const rootReducer = combineReducers({ + branches: branchesReducer, + cards: cardsReducer, + commits: commitsReducer, + filetypes: filetypesReducer, + metafiles: metafilesReducer, + modals: modalsReducer, + repos: reposReducer, + stacks: stacksReducer +}); + +const store = configureStore({ + reducer: rootReducer, + devTools: true + // middleware: getDefaultMiddleware => getDefaultMiddleware().concat([listenerMiddleware.middleware]) +}); + +export type RootState = ReturnType; +export type AppDispatch = typeof store.dispatch; + +export default { store: store }; diff --git a/src/store/immutables.ts b/src/store/immutables.ts deleted file mode 100644 index 54780f195..000000000 --- a/src/store/immutables.ts +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Immutably copy the values of all enumerable own properties from old object - * and map new values onto it in a new target object. - * @param oldObject The initial source object from which to copy properties. - * @param newValues The new value object from which to copy properties. - * @returns {object} New object containing all enumerable own properties from both params. - */ -export const updateObject = (oldObject: T, newValues: Partial): T => { - return Object.assign({}, oldObject, newValues); -}; - -/** - * Immutably append a new item to an array by constructing a new combined array. - * @param oldArray The initial source Array object. - * @param newItem A new item to be appended to array. - * @returns {object[]} New array containing all items from old array and including new item. - */ -export const addItemInArray = (oldArray: T[], newItem: T): T[] => [...oldArray, newItem]; - -/** - * Immutably remove an element from an array by producing a new reduced array. - * @param array The initial source Array object. - * @param item A target item contained within the array. - * @returns {object[]} New array containing all elements from array excluding target item. - */ -export const removeItemInArray = (array: T[], item: T): T[] => { - return array.filter(element => element !== item); -} - -/** - * Immutably append a new item to a map by constructing a new combined map. - * @param map The initial source key-value map object. - * @param newItem A new item to be appended to map. - * @returns {object} New map containing all items from old map and including new item. - */ -export const addItemInMap = (map: { [id: string]: T }, newItem: T): { [id: string]: T } => { - const updatedItems: { [id: string]: T } = {}; - for (const k in map) { - updatedItems[k] = map[k] as T; - } - updatedItems[newItem.id] = newItem; - return updatedItems; -}; - -/** - * Immutably remove an item from a map by producing a new reduced map. - * @param map The initial source key-value map object. - * @param itemId An id associated with an item contained in the map. - * @returns {object} New map containing all items from map excluding item with matching id. - */ -export const removeItemInMap = (map: { [id: string]: T }, itemId: string): { [id: string]: T } => { - return Object.keys(map).reduce((items: { [id: string]: T }, id) => { - if (id !== itemId) { - items[id] = map[id] as T; - } - return items; - }, {}); -} - -/** - * Immutably remove items from map using specified filter function. - * @param map The initial source key-value map object. - * @param filterFn Filter function that returns true for each item in map that - * meets conditions specified in function. - * @returns {object} New map containing all items from map excluding matching items. - */ -export const removeMatchesInMap = (map: { [id: string]: T }, filterFn: (item: T) => boolean): { [id: string]: T } => { - return Object.keys(map).reduce((items: { [id: string]: T }, id) => { - const item = map[id] as T; - if (!filterFn(item)) { - items[id] = item; - } - return items; - }, {}); -}; - -/** - * Immutably filters items from map using specified filter function and applies a callback function to update each matching item. - * @param map The initial source key-value map object. - * @param filterFn Filter function that returns true for each item in map that - * meets conditions specified in function. - * @param updateItemCallback Callback function to apply towards items that meet - * filter function predicates. - * @returns {object} New map containing all items from map including updated items. - */ -export const updateMatchesInMap = ( - map: { [id: string]: T }, filterFn: (item: T) => boolean, updateItemCallback: (item: T) => T -): { [id: string]: T } => { - const updatedItems: { [id: string]: T } = {}; - for (const k in map) { - const item = map[k] as T; - if (filterFn(item)) { - updatedItems[k] = updateItemCallback(item); - } else { - updatedItems[k] = item; - } - } - return updatedItems; -}; - -/** - * Immutably update a specific item in a key-value map based on item id and applying a callback function to that item. - * @param map The initial source key-value map object. - * @param itemId An id associated with an item contained in the map. - * @param updateItemCallback Callback function to apply towards item with matching id. - * @returns {object} New map containing all items from map including updated item. - */ -export const updateItemInMapById = ( - map: { [id: string]: T }, itemId: string, updateItemCallback: (item: T) => T -): { [id: string]: T } => { - return updateMatchesInMap(map, (item => item.id === itemId), updateItemCallback); -}; - diff --git a/src/store/listenerMiddleware.ts b/src/store/listenerMiddleware.ts deleted file mode 100644 index b8303b2c8..000000000 --- a/src/store/listenerMiddleware.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { - TypedAddListener, - TypedStartListening, - addListener, - createListenerMiddleware, - isAnyOf, - isFulfilled, - isRejected -} from '@reduxjs/toolkit'; -import { DateTime } from 'luxon'; -import { partition } from '../containers/utils'; -import metafileSelectors from './selectors/metafiles'; -import { cardUpdated } from './slices/cards'; -import { isDirectoryMetafile, isFilebasedMetafile } from './slices/metafiles'; -import { AppDispatch, RootState } from './store'; -import { createCard } from './thunks/cards'; -import { - createMetafile, - fetchParentMetafile, - saveFile, - switchBranch, - updateDirectoryMetafile, - updateFileMetafile, - updateFilebasedMetafile, - updateVersionedMetafile -} from './thunks/metafiles'; - -export const listenerMiddleware = createListenerMiddleware(); -export type AppStartListening = TypedStartListening; -export const startAppListening = listenerMiddleware.startListening as AppStartListening; -export const addAppListener = addListener as TypedAddListener; - -/** - * Listen for rejected actions and log relevant information in the console. - */ -startAppListening({ - matcher: isRejected, - effect: action => { - console.groupCollapsed( - `%c${action.type} : ${DateTime.local().toHTTP()}`, - 'background: lightcoral; color: #444; padding: 3px; border-radius: 5px;' - ); - console.log(`meta: `, action.meta); - console.log(`payload: `, action.payload); - console.log(action.error); - console.groupEnd(); - } -}); - -/** - * Listen for successful file save actions and update any parent metafiles (filebased and versioned). - */ -startAppListening({ - actionCreator: saveFile.fulfilled, - effect: async (action, listenerApi) => { - const metafile = metafileSelectors.selectById(listenerApi.getState(), action.meta.arg.id); - const parent = isFilebasedMetafile(metafile) - ? await listenerApi.dispatch(fetchParentMetafile(metafile)).unwrap() - : undefined; - if (parent) await listenerApi.dispatch(updateVersionedMetafile(parent.id)); - } -}); - -/** - * Listen for successful card build actions and update additional metafile fields (filebased and - * versioned). This listener handles updating descendants instead of offloading that task to a - * listener for {@link createMetafile} events, since that event has the potential to lead to - * excessively recursive calls to {@link updateFilebasedMetafile} and {@link updateVersionedMetafile} - * for all descendants. Instead, this listener only updates direct children and delays updates to - * deeper descendants until necessary (i.e. during directory expansion in `Explorer` cards). - */ -startAppListening({ - matcher: isAnyOf(createCard.fulfilled, switchBranch.fulfilled), - effect: async (action, listenerApi) => { - const card = isFulfilled(createCard)(action) - ? listenerApi.getState().cards.entities[action.payload] - : undefined; - - const metafile = isFulfilled(switchBranch)(action) - ? action.payload - ? listenerApi.getState().metafiles.entities[action.payload.id] - : undefined - : isFulfilled(createCard)(action) && card - ? listenerApi.getState().metafiles.entities[card.metafile] - : undefined; - - if (isFilebasedMetafile(metafile)) { - // update filebased fields - const updateFilebasedTask = listenerApi.fork(async () => { - const updated = await listenerApi.dispatch(updateFilebasedMetafile(metafile)).unwrap(); - const descendants = isDirectoryMetafile(updated) - ? metafileSelectors - .selectByIds(listenerApi.getState(), updated.contains) - .filter(isFilebasedMetafile) - : []; - - let progress = 0; - const total = descendants.length + 1; // include the `updateVersionedMetafile` dispatch - if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: 0 })); - const [directories, files] = partition( - descendants, - descendant => descendant.filetype === 'Directory' - ); - - await Promise.allSettled( - directories.map( - async desc => - await listenerApi.dispatch(updateDirectoryMetafile({ id: desc.id })).then(() => { - progress += 1; - if (card) - listenerApi.dispatch( - cardUpdated({ ...card, loading: Math.floor((progress / total) * 100) }) - ); - }) - ) - ); - - await Promise.allSettled( - files.map( - async desc => - await listenerApi.dispatch(updateFileMetafile(desc.id)).then(() => { - progress += 1; - if (card) - listenerApi.dispatch( - cardUpdated({ ...card, loading: Math.floor((progress / total) * 100) }) - ); - }) - ) - ); - - await listenerApi.dispatch(updateVersionedMetafile(metafile.id)); - if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: 100 })); - return `directories: ${directories.length}, files: ${files.length}`; - }); - - console.log(`executing tasks...`); - const result = await updateFilebasedTask.result; - console.log(`Child ${result.status}: ${result.status === 'ok' ? result.value : ''}`); - if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: undefined })); - } - } -}); diff --git a/src/store/selectors/branches.spec.ts b/src/store/selectors/branches.spec.ts deleted file mode 100644 index 82f7a45a3..000000000 --- a/src/store/selectors/branches.spec.ts +++ /dev/null @@ -1,222 +0,0 @@ -import { emptyStore } from '../../test-utils/empty-store'; -import { mockStore } from '../../test-utils/mock-store'; -import { Branch, branchAdded, branchUpdated } from '../slices/branches'; -import { repoAdded, Repository } from '../slices/repos'; -import branchSelectors from './branches'; - -const mockedRepository: Repository = { - id: '94304818-ca39-4fb1-9499-86aa329597b9', - name: 'foo/myRepo', - root: 'foo/', - corsProxy: 'http://www.oregonstate.edu', - url: 'https://github.com/foo/myRepo', - default: 'main', - local: [ - '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', - 'd498b041-5ebf-421c-a397-1d34f9d9c240', - '68ea21e3-33da-4977-845d-01e9ee1b2208' - ], - remote: ['6832864f-e51e-46e6-898e-321fd0608cb4'], - oauth: 'github', - username: 'sampleUser', - password: '12345', - token: '584n29dkj1683a67f302x009q164' -}; - -const mockedBranch1: Branch = { - id: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', - ref: 'main', - linked: false, - current: true, - bare: false, - root: 'foo/', - gitdir: 'foo/.git', - scope: 'local', - remote: 'origin', - status: 'clean', - commits: [], - head: '987654321' -}; - -const mockedBranch2: Branch = { - id: 'd498b041-5ebf-421c-a397-1d34f9d9c240', - ref: 'sample', - linked: false, - current: false, - bare: false, - root: 'foo/', - gitdir: 'foo/.git', - scope: 'local', - remote: 'origin', - status: 'clean', - commits: [], - head: '552193812' -}; - -const mockedBranch3: Branch = { - id: '68ea21e3-33da-4977-845d-01e9ee1b2208', - ref: 'test', - linked: false, - current: false, - bare: false, - root: 'bar/', - gitdir: 'bar/.git', - scope: 'local', - remote: 'origin', - status: 'clean', - commits: [], - head: '40513776' -}; - -const mockedBranch4: Branch = { - id: '6832864f-e51e-46e6-898e-321fd0608cb4', - ref: 'test', - linked: false, - current: false, - bare: false, - root: 'bar/', - gitdir: 'bar/.git', - scope: 'remote', - remote: 'origin', - status: 'clean', - commits: [], - head: '40513776' -}; - -describe('branchSelectors', () => { - const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - beforeEach(async () => { - store.dispatch(repoAdded(mockedRepository)); - store.dispatch(branchAdded(mockedBranch1)); - store.dispatch(branchAdded(mockedBranch2)); - store.dispatch(branchAdded(mockedBranch3)); - store.dispatch(branchAdded(mockedBranch4)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // bar: { - // '.git': { - // config: '', - // HEAD: 'refs/heads/test', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/test' - // } - // }, - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - }); - - afterEach(() => { - // mockedInstance.reset(); - store.clearActions(); - jest.clearAllMocks(); - }); - - it('selectById caches on id and recomputes when Branch entities change', async () => { - branchSelectors.selectById.resetRecomputations(); - - branchSelectors.selectById(store.getState(), mockedBranch1.id); - store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - branchSelectors.selectById(store.getState(), mockedBranch1.id); - branchSelectors.selectById(store.getState(), ''); - branchSelectors.selectById(store.getState(), mockedBranch1.id); // cached - return expect(branchSelectors.selectById.recomputations()).toBe(3); - }); - - it('selectByIds caches on ids and recomputes when Branch entities change', async () => { - branchSelectors.selectByIds.resetRecomputations(); - - branchSelectors.selectByIds(store.getState(), [mockedBranch1.id]); - store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - branchSelectors.selectByIds(store.getState(), [mockedBranch1.id]); - branchSelectors.selectByIds(store.getState(), []); - branchSelectors.selectByIds(store.getState(), [mockedBranch1.id]); // cached - return expect(branchSelectors.selectByIds.recomputations()).toBe(3); - }); - - // it('selectByRef caches on root, ref, and scope and recomputes when selectAll results change', async () => { - // branchSelectors.selectByRef.resetRecomputations(); - - // branchSelectors.selectByRef( - // store.getState(), - // mockedBranch1.root, - // mockedBranch1.ref, - // mockedBranch1.scope - // ); - // store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - // branchSelectors.selectByRef( - // store.getState(), - // mockedBranch1.root, - // mockedBranch1.ref, - // mockedBranch1.scope - // ); - // branchSelectors.selectByRef(store.getState(), '', '', 'local'); - // branchSelectors.selectByRef( - // store.getState(), - // mockedBranch1.root, - // mockedBranch1.ref, - // mockedBranch1.scope - // ); // cached - // return expect(branchSelectors.selectByRef.recomputations()).toBe(3); - // }); - - // it('selectByRoot caches on root and recomputes when selectAll results change', async () => { - // branchSelectors.selectByRoot.resetRecomputations(); - - // branchSelectors.selectByRoot(store.getState(), mockedBranch1.root); - // store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - // branchSelectors.selectByRoot(store.getState(), mockedBranch1.root); - // branchSelectors.selectByRoot(store.getState(), ''); - // branchSelectors.selectByRoot(store.getState(), mockedBranch1.root); // cached - // return expect(branchSelectors.selectByRoot.recomputations()).toBe(3); - // }); - - // it('selectByGitdir caches on gitdir and recomputes when selectAll results change', async () => { - // branchSelectors.selectByGitdir.resetRecomputations(); - - // branchSelectors.selectByGitdir(store.getState(), mockedBranch1.gitdir); - // store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - // branchSelectors.selectByGitdir(store.getState(), mockedBranch1.gitdir); - // branchSelectors.selectByGitdir(store.getState(), mockedBranch1.root); - // branchSelectors.selectByGitdir(store.getState(), mockedBranch1.gitdir); // cached - // return expect(branchSelectors.selectByGitdir.recomputations()).toBe(3); - // }); - - it('selectByRepo caches on repo id and dedup and recomputes when selectAll or repoSelector.selectById results change', async () => { - branchSelectors.selectByRepo.resetRecomputations(); - - branchSelectors.selectByRepo(store.getState(), mockedRepository.id); - store.dispatch(branchUpdated({ ...mockedBranch1, status: 'uncommitted' })); - branchSelectors.selectByRepo(store.getState(), mockedRepository.id); - const branches = branchSelectors.selectByRepo(store.getState(), mockedRepository.id, true); - branchSelectors.selectByRepo(store.getState(), mockedRepository.id); // cached - expect(branches).toStrictEqual( - expect.arrayContaining([ - expect.objectContaining({ id: mockedBranch1.id }), - expect.objectContaining({ id: mockedBranch2.id }), - expect.objectContaining({ id: mockedBranch3.id }) - ]) - ); - return expect(branchSelectors.selectByRepo.recomputations()).toBe(3); - }); -}); diff --git a/src/store/selectors/cards.spec.ts b/src/store/selectors/cards.spec.ts deleted file mode 100644 index 57fc474ff..000000000 --- a/src/store/selectors/cards.spec.ts +++ /dev/null @@ -1,173 +0,0 @@ -// const mockedRepository: Repository = { -// id: '94304818-ca39-4fb1-9499-86aa329597b9', -// name: 'foo/myRepo', -// root: 'foo/', -// corsProxy: 'http://www.oregonstate.edu', -// url: 'https://github.com/foo/myRepo', -// default: 'master', -// local: ['master', 'sample', 'test'], -// remote: [], -// oauth: 'github', -// username: 'sampleUser', -// password: '12345', -// token: '584n29dkj1683a67f302x009q164' -// }; - -// const mockedBranch: Branch = { -// id: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// ref: 'main', -// linked: false, -// current: true, -// bare: false, -// root: 'foo/', -// gitdir: 'foo/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '987654321' -// }; - -// const mockedMetafile1: VersionedMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'JavaScript', -// flags: [], -// path: 'foo/example.js', -// state: 'unmodified', -// content: 'var rand = Math.floor(Math.random() * 6) + 1;', -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// repo: mockedRepository.id, -// branch: mockedBranch.id, -// status: 'unmodified', -// conflicts: [] -// }; - -// const mockedMetafile2: VirtualMetafile = { -// id: '8c7bc39a-79d9-42d3-85c7-64b173a91d31', -// name: 'tap.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// content: 'new content' -// }; - -// const mockedCard1: Card = { -// id: 'b741f857-870c-4756-b38b-b375823a08f6', -// name: 'sample.js', -// type: 'Editor', -// metafile: mockedMetafile1.id, -// created: DateTime.fromISO('2019-01-10T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// captured: '51dc24aa-0caf-4283-aeac-6affa901b460', -// expanded: false, -// flipped: false, -// y: 30, -// x: 50 -// }; - -// const mockedCard2: Card = { -// id: '5d56ffda-9774-4bfd-a60c-db77165a3b9f', -// name: 'tap.js', -// type: 'Editor', -// metafile: mockedMetafile2.id, -// created: DateTime.fromISO('2013-01-10T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// captured: '51dc24aa-0caf-4283-aeac-6affa901b460', -// expanded: false, -// flipped: false, -// x: 30, -// y: 50 -// }; - -// const mockedStack: Stack = { -// id: '51dc24aa-0caf-4283-aeac-6affa901b460', -// name: 'New Stack', -// created: DateTime.fromISO('2019-05-23T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2019-05-23T19:10:47.319-08:00').valueOf(), -// cards: [mockedCard1.id, mockedCard2.id], -// x: mockedCard1.x, -// y: mockedCard1.y -// }; - -describe('cardSelectors', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(repoAdded(mockedRepository)); - // store.dispatch(branchAdded(mockedBranch)); - // store.dispatch(metafileAdded(mockedMetafile1)); - // store.dispatch(metafileAdded(mockedMetafile2)); - // store.dispatch(cardAdded(mockedCard1)); - // store.dispatch(cardAdded(mockedCard2)); - // store.dispatch(stackAdded(mockedStack)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // bar: { - // '.git': { - // config: '', - // HEAD: 'refs/heads/test', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/test' - // } - // }, - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterEach(() => { - // mockedInstance.reset(); - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('selectById caches on id and recomputes when Card entities change', async () => { - // cardSelectors.selectById.resetRecomputations(); - - // cardSelectors.selectById(store.getState(), mockedCard1.id); - // expect(cardSelectors.selectById.recomputations()).toBe(1); - // store.dispatch(cardUpdated({ ...mockedCard1, x: 13, y: 303 })); - // cardSelectors.selectById(store.getState(), mockedCard1.id); - // expect(cardSelectors.selectById.recomputations()).toBe(2); - // cardSelectors.selectById(store.getState(), ''); - // cardSelectors.selectById(store.getState(), mockedCard1.id); // cached - // return expect(cardSelectors.selectById.recomputations()).toBe(3); - // }); - - // it('selectByIds caches on ids and recomputes when Card entities change', async () => { - // cardSelectors.selectByIds.resetRecomputations(); - - // cardSelectors.selectByIds(store.getState(), [mockedCard1.id]); - // store.dispatch(cardUpdated({ ...mockedCard1, x: 13, y: 303 })); - // cardSelectors.selectByIds(store.getState(), [mockedCard1.id, mockedCard2.id]); - // cardSelectors.selectByIds(store.getState(), [mockedCard1.id]); - // cardSelectors.selectByIds(store.getState(), [mockedCard1.id, mockedCard2.id]); // cached - // return expect(cardSelectors.selectByIds.recomputations()).toBe(3); - // }); -}); diff --git a/src/store/selectors/filetypes.spec.ts b/src/store/selectors/filetypes.spec.ts deleted file mode 100644 index 2ad22ba36..000000000 --- a/src/store/selectors/filetypes.spec.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { emptyStore } from '../../test-utils/empty-store'; -import { mockStore } from '../../test-utils/mock-store'; -import { Filetype, filetypeAdded, filetypeRemoved } from '../slices/filetypes'; -import filetypeSelectors from './filetypes'; - -const mockedFiletype1: Filetype = { - id: 'eb5d332e-61a1-422d-aeba-48186d9f79f3', - filetype: 'JavaScript', - handler: 'Editor', - extensions: ['js', 'jsm'] -}; - -const mockedFiletype2: Filetype = { - id: '78aa4b01-ce6e-3161-4671-b0019de5c375', - filetype: 'Directory', - handler: 'Explorer', - extensions: [] -}; - -const mockedFiletype3: Filetype = { - id: '0b743dd5-2559-4f03-8c02-0f67676e906a', - filetype: 'Text', - handler: 'Editor', - extensions: ['txt'] -}; - -describe('filetypeSelectors', () => { - const store = mockStore(emptyStore); - - beforeEach(async () => { - store.dispatch(filetypeAdded(mockedFiletype1)); - store.dispatch(filetypeAdded(mockedFiletype2)); - store.dispatch(filetypeAdded(mockedFiletype3)); - }); - - afterEach(() => { - store.clearActions(); - }); - - it('selectByFiletype caches on filetype and recomputes when Filetype entities change', async () => { - filetypeSelectors.selectByFiletype.resetRecomputations(); - - filetypeSelectors.selectByFiletype(store.getState(), mockedFiletype1.filetype); - store.dispatch(filetypeRemoved(mockedFiletype1.id)); - filetypeSelectors.selectByFiletype(store.getState(), mockedFiletype1.filetype); - filetypeSelectors.selectByFiletype(store.getState(), mockedFiletype2.filetype); - filetypeSelectors.selectByFiletype(store.getState(), mockedFiletype1.filetype); // cached - return expect(filetypeSelectors.selectByFiletype.recomputations()).toBe(3); - }); - - it('selectByHandler caches on handler and recomputes when Filetype entities change', async () => { - filetypeSelectors.selectByHandler.resetRecomputations(); - - filetypeSelectors.selectByHandler(store.getState(), mockedFiletype1.handler); - store.dispatch(filetypeRemoved(mockedFiletype1.id)); - filetypeSelectors.selectByHandler(store.getState(), mockedFiletype1.handler); - filetypeSelectors.selectByHandler(store.getState(), mockedFiletype2.handler); - filetypeSelectors.selectByHandler(store.getState(), mockedFiletype1.handler); // cached - return expect(filetypeSelectors.selectByHandler.recomputations()).toBe(3); - }); - - it('selectByExtension caches on extension and recomputes when Filetype entities change', async () => { - filetypeSelectors.selectByExtension.resetRecomputations(); - - filetypeSelectors.selectByExtension(store.getState(), 'js'); - store.dispatch(filetypeRemoved(mockedFiletype1.id)); - filetypeSelectors.selectByExtension(store.getState(), 'js'); - filetypeSelectors.selectByExtension(store.getState(), 'txt'); - filetypeSelectors.selectByExtension(store.getState(), 'js'); // cached - return expect(filetypeSelectors.selectByExtension.recomputations()).toBe(3); - }); - -}); \ No newline at end of file diff --git a/src/store/selectors/metafiles.spec.ts b/src/store/selectors/metafiles.spec.ts deleted file mode 100644 index ced93e777..000000000 --- a/src/store/selectors/metafiles.spec.ts +++ /dev/null @@ -1,264 +0,0 @@ -// const mockedFiletype1: Filetype = { -// id: 'eb5d332e-61a1-422d-aeba-48186d9f79f3', -// filetype: 'JavaScript', -// handler: 'Editor', -// extensions: ['js', 'jsm'] -// }; - -// const mockedFiletype2: Filetype = { -// id: '78aa4b01-ce6e-3161-4671-b0019de5c375', -// filetype: 'Directory', -// handler: 'Explorer', -// extensions: [] -// }; - -// const mockedFiletype3: Filetype = { -// id: '0b743dd5-2559-4f03-8c02-0f67676e906a', -// filetype: 'Text', -// handler: 'Editor', -// extensions: ['txt'] -// }; - -// const mockedRepository: Repository = { -// id: '94304818-ca39-4fb1-9499-86aa329597b9', -// name: 'foo/myRepo', -// root: 'foo/', -// corsProxy: 'http://www.oregonstate.edu', -// url: 'https://github.com/foo/myRepo', -// default: 'main', -// local: ['main', 'sample', 'test'], -// remote: [], -// oauth: 'github', -// username: 'sampleUser', -// password: '12345', -// token: '584n29dkj1683a67f302x009q164' -// }; - -// const mockedBranch: Branch = { -// id: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// ref: 'main', -// linked: false, -// current: true, -// bare: false, -// root: 'foo/', -// gitdir: 'foo/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '987654321' -// }; - -// const mockedMetafile: VersionedMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'JavaScript', -// flags: [], -// path: 'foo/example.js', -// state: 'unmodified', -// content: 'var rand = Math.floor(Math.random() * 6) + 1;', -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// repo: mockedRepository.id, -// branch: mockedBranch.id, -// status: 'unmodified', -// conflicts: [] -// }; - -describe('metafileSelectors', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(filetypeAdded(mockedFiletype1)); - // store.dispatch(filetypeAdded(mockedFiletype2)); - // store.dispatch(filetypeAdded(mockedFiletype3)); - // store.dispatch(repoAdded(mockedRepository)); - // store.dispatch(branchAdded(mockedBranch)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // bar: { - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterEach(() => { - // mockedInstance.reset(); - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('selectByIds caches on ids and recomputes when Metafile entities change', async () => { - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // const metafile2 = await store.dispatch(fetchMetafile({ path: 'foo/zap.ts' })).unwrap(); - // await delay(3); // prevent race condition where `modified` timestamp is updated to the same value - // metafileSelectors.selectByIds.clearCache(); - - // metafileSelectors.selectByIds(store.getState(), [metafile1.id, metafile2.id]); - // store.dispatch(metafilesUpdated([metafile1, metafile2])); // `modified` timestamp will be updated - // metafileSelectors.selectByIds(store.getState(), [metafile1.id, metafile2.id]); - // metafileSelectors.selectByIds(store.getState(), [metafile1.id]); - // metafileSelectors.selectByIds(store.getState(), [metafile1.id, metafile2.id]); // cached - // return expect(metafileSelectors.selectByIds.recomputations()).toBe(3); - // }); - - // it('select[subtype] selectors recompute when selectAll results change', async () => { - // expect.assertions(5); - // const metafile = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // await delay(3); // prevent race condition where `modified` timestamp is updated to the same value - // metafileSelectors.selectFilebased.resetRecomputations(); - // metafileSelectors.selectFiles.resetRecomputations(); - // metafileSelectors.selectDirectories.resetRecomputations(); - - // metafileSelectors.selectFilebased(store.getState()); - - // store.dispatch(metafileUpdated(metafile)); // `modified` timestamp will be updated - - // metafileSelectors.selectFilebased(store.getState()); - // metafileSelectors.selectFilebased(store.getState()); //cached - // return expect(metafileSelectors.selectFilebased.recomputations()).toBe(2); - // }); - - // it('selectByFilepath caches on filepath and handlers and recomputes when selectFilebased results change', async () => { - // metafileSelectors.selectAll.clearCache(); - // metafileSelectors.selectByFilepath.clearCache(); - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // const metafile2 = await store.dispatch(fetchMetafile({ path: 'foo/zap.ts' })).unwrap(); - // await delay(3); // prevent race condition where `modified` timestamp is updated to the same value - // metafileSelectors.selectByFilepath.resetRecomputations(); - - // metafileSelectors.selectByFilepath(store.getState(), 'foo/bar.js'); - // metafileSelectors.selectByFilepath(store.getState(), 'foo/bar.js'); - // store.dispatch(metafileUpdated(metafile1)); // `modified` timestamp will be updated - // store.dispatch(metafileUpdated(metafile2)); - // metafileSelectors.selectByFilepath(store.getState(), 'foo/bar.js'); - // metafileSelectors.selectByFilepath(store.getState(), 'foo/zap.ts'); - // metafileSelectors.selectByFilepath(store.getState(), 'foo/bar.js'); // cached - // metafileSelectors.selectByFilepath(store.getState(), 'foo/zap.ts'); // cached - // return expect(metafileSelectors.selectByFilepath.recomputations()).toBe(3); - // }); - - // it('selectByRoot caches on root and direct and recomputes when selectFilebased results change', async () => { - // metafileSelectors.selectByRoot.clearCache(); - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // const metafile2 = await store.dispatch(fetchMetafile({ path: 'foo/example.js' })).unwrap(); - // metafileSelectors.selectByRoot.resetRecomputations(); - - // metafileSelectors.selectByRoot(store.getState(), 'foo', true); - // store.dispatch(metafileUpdated(metafile1)); // `modified` timestamp will be updated - // store.dispatch(metafileUpdated(metafile2)); - // metafileSelectors.selectByRoot(store.getState(), 'foo', true); - // metafileSelectors.selectByRoot(store.getState(), 'foo', false); - // metafileSelectors.selectByRoot(store.getState(), 'foo', true); // cached - // metafileSelectors.selectByRoot(store.getState(), 'foo', false); // cached - // return expect(metafileSelectors.selectByRoot.recomputations()).toBe(3); - // }); - - // it('selectDescendantsByRoot caches on root and direct and recomputes when selectByRoot results change', async () => { - // metafileSelectors.selectDescendantsByRoot.clearCache(); - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // const metafile2 = await store.dispatch(fetchMetafile({ path: 'foo/example.js' })).unwrap(); - // await delay(3); // prevent race condition where `modified` timestamp is updated to the same value - // metafileSelectors.selectDescendantsByRoot.resetRecomputations(); - - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'foo', true); - // store.dispatch(metafileUpdated(metafile1)); // `modified` timestamp will be updated - // store.dispatch(metafileUpdated(metafile2)); - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'foo', true); - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'bar', true); - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'foo', true); // cached - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'bar', false); - // metafileSelectors.selectDescendantsByRoot(store.getState(), 'bar', true); // cached - // return expect(metafileSelectors.selectDescendantsByRoot.recomputations()).toBe(4); - // }); - - // it('selectByRepo caches on repo.id and recomputes when selectVersioned results change', async () => { - // expect.assertions(2); - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // await delay(3); // prevent race condition where `modified` timestamp is updated to the same value - // store.dispatch(metafileAdded(mockedMetafile)); - // metafileSelectors.selectByRepo.resetRecomputations(); - - // metafileSelectors.selectByRepo(store.getState(), mockedRepository.id); - // store.dispatch(metafileUpdated(metafile1)); // `modified` timestamp will be updated - // store.dispatch(metafileUpdated(mockedMetafile)); - // metafileSelectors.selectByRepo(store.getState(), mockedRepository.id); - // metafileSelectors.selectByRepo(store.getState(), '13'); - // const metafiles = metafileSelectors.selectByRepo(store.getState(), mockedRepository.id); // cached - // expect(metafiles).toStrictEqual( - // expect.arrayContaining([ - // expect.objectContaining({ - // id: mockedMetafile.id, - // repo: mockedRepository.id - // }) - // ]) - // ); - // return expect(metafileSelectors.selectByRepo.recomputations()).toBe(3); - // }); - - // it('selectByBranch caches on branch.id and filepath and recomputes when selectVersioned results change', async () => { - // expect.assertions(2); - // const metafile1 = await store.dispatch(fetchMetafile({ path: 'foo/bar.js' })).unwrap(); - // store.dispatch(metafileAdded(mockedMetafile)); - // metafileSelectors.selectByBranch.resetRecomputations(); - - // metafileSelectors.selectByBranch(store.getState(), mockedBranch.id); - // store.dispatch(metafileUpdated(metafile1)); // `modified` timestamp will be updated - // metafileSelectors.selectByBranch(store.getState(), mockedBranch.id); - // store.dispatch(metafileUpdated(mockedMetafile)); - // metafileSelectors.selectByBranch(store.getState(), mockedBranch.id); // cached - // metafileSelectors.selectByBranch(store.getState(), '3'); - // metafileSelectors.selectByBranch(store.getState(), mockedBranch.id); // cached - // const metafiles = metafileSelectors.selectByBranch(store.getState(), mockedBranch.id); // cached - // expect(metafiles).toStrictEqual( - // expect.arrayContaining([ - // expect.objectContaining({ - // id: mockedMetafile.id, - // branch: mockedBranch.id - // }) - // ]) - // ); - // return expect(metafileSelectors.selectByBranch.recomputations()).toBe(3); - // }); - - // it('selectStagedByRepo caches on repo and branch and recomputes when selectVersioned results change', async () => { - // expect.assertions(3); - // store.dispatch(metafileAdded(mockedMetafile)); - // metafileSelectors.selectStagedByRepo.resetRecomputations(); - - // expect( - // metafileSelectors.selectStagedByRepo(store.getState(), mockedRepository.id, mockedBranch.id) - // ).toHaveLength(0); - // store.dispatch(metafileUpdated({ ...mockedMetafile, status: 'modified' })); - // metafileSelectors.selectStagedByRepo(store.getState(), mockedRepository.id, mockedBranch.id); - // metafileSelectors.selectStagedByRepo(store.getState(), mockedRepository.id, mockedBranch.id); // cached - // expect( - // metafileSelectors.selectStagedByRepo(store.getState(), mockedRepository.id, mockedBranch.id) - // ).toStrictEqual(expect.arrayContaining([expect.objectContaining({ id: mockedMetafile.id })])); - // return expect(metafileSelectors.selectStagedByRepo.recomputations()).toBe(2); - // }); -}); diff --git a/src/store/selectors/modals.spec.ts b/src/store/selectors/modals.spec.ts deleted file mode 100644 index e9ee53767..000000000 --- a/src/store/selectors/modals.spec.ts +++ /dev/null @@ -1,70 +0,0 @@ -// const mockedModal: Modal = { -// id: '913dd7b1-5494-a513-f14f-490843a811b3', -// type: 'MergeSelector', -// target: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71' -// }; - -describe('modalsSelectors', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(modalAdded(mockedModal)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // bar: { - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterEach(() => { - // mockedInstance.reset(); - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('selectById caches on id and recomputes when Repository entities change', async () => { - // modalSelectors.selectById.resetRecomputations(); - - // modalSelectors.selectById(store.getState(), mockedModal.id); - // store.dispatch(modalRemoved(mockedModal.id)); - // modalSelectors.selectById(store.getState(), mockedModal.id); - // modalSelectors.selectById(store.getState(), ''); - // modalSelectors.selectById(store.getState(), mockedModal.id); // cached - // return expect(modalSelectors.selectById.recomputations()).toBe(3); - // }); - - // it('selectByType caches on type and recomputes when selectAll results change', async () => { - // modalSelectors.selectByType.resetRecomputations(); - - // modalSelectors.selectByType(store.getState(), 'MergeSelector'); - // store.dispatch(modalRemoved(mockedModal.id)); - // modalSelectors.selectByType(store.getState(), 'MergeSelector'); - // modalSelectors.selectByType(store.getState(), 'NewCardDialog'); - // modalSelectors.selectByType(store.getState(), 'MergeSelector'); // cached - // return expect(modalSelectors.selectByType.recomputations()).toBe(3); - // }); -}); diff --git a/src/store/selectors/repos.spec.ts b/src/store/selectors/repos.spec.ts deleted file mode 100644 index cf7fe56e9..000000000 --- a/src/store/selectors/repos.spec.ts +++ /dev/null @@ -1,111 +0,0 @@ -// const mockedFiletype1: Filetype = { -// id: 'eb5d332e-61a1-422d-aeba-48186d9f79f3', -// filetype: 'JavaScript', -// handler: 'Editor', -// extensions: ['js', 'jsm'] -// }; - -// const mockedFiletype2: Filetype = { -// id: '78aa4b01-ce6e-3161-4671-b0019de5c375', -// filetype: 'Directory', -// handler: 'Explorer', -// extensions: [] -// }; - -// const mockedFiletype3: Filetype = { -// id: '0b743dd5-2559-4f03-8c02-0f67676e906a', -// filetype: 'Text', -// handler: 'Editor', -// extensions: ['txt'] -// }; - -// const mockedRepository: Repository = { -// id: '94304818-ca39-4fb1-9499-86aa329597b9', -// name: 'foo/myRepo', -// root: 'foo/', -// corsProxy: 'http://www.oregonstate.edu', -// url: 'https://github.com/foo/myRepo', -// default: 'master', -// local: ['master', 'sample', 'test'], -// remote: [], -// oauth: 'github', -// username: 'sampleUser', -// password: '12345', -// token: '584n29dkj1683a67f302x009q164' -// }; - -// const mockedBranch: Branch = { -// id: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// ref: 'main', -// linked: false, -// current: true, -// bare: false, -// root: 'foo/', -// gitdir: 'foo/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '987654321' -// }; - -describe('repoSelectors', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(filetypeAdded(mockedFiletype1)); - // store.dispatch(filetypeAdded(mockedFiletype2)); - // store.dispatch(filetypeAdded(mockedFiletype3)); - // store.dispatch(repoAdded(mockedRepository)); - // store.dispatch(branchAdded(mockedBranch)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // bar: { - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterEach(() => { - // mockedInstance.reset(); - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('selectByRoot selectors recompute when selectAll results change', async () => { - // expect.assertions(3); - // repoSelectors.selectByRoot.resetRecomputations(); - - // repoSelectors.selectByRoot(store.getState(), mockedRepository.root); - - // store.dispatch( - // repoUpdated({ ...mockedRepository, local: [...mockedRepository.local, 'debug'] }) - // ); - - // repoSelectors.selectByRoot(store.getState(), mockedRepository.root); - // repoSelectors.selectByRoot(store.getState(), mockedRepository.root); // cached - // return expect(repoSelectors.selectByRoot.recomputations()).toBe(2); - // }); -}); diff --git a/src/store/slices/commits.ts b/src/store/slices/commits.ts deleted file mode 100644 index f4800d824..000000000 --- a/src/store/slices/commits.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; -import { SHA1, Timestamp } from '../types'; - -export type Commit = { - /** The Oid hash value, which is also the UUID for Commit object. */ - readonly oid: SHA1; - /** The commit message. */ - readonly message: string; - /** - * The list of the SHA1 commit hashes for logical predecessor(s) in the line of - * development (i.e. parents); this may be empty in the case of orphan or root commits. - */ - readonly parents: SHA1[]; - /** The information of the person who originally wrote the patch. */ - readonly author: { - name: string; - email: string; - timestamp: Timestamp | undefined; - }; - /** The information of the person who last applied the patch on behalf of the author. */ - readonly committer?: { - name: string; - email: string; - timestamp: Timestamp | undefined; - }; -}; - -export const commitAdapter = createEntityAdapter({ - selectId: commit => commit.oid.toString() -}); - -export const commitSlice = createSlice({ - name: 'commits', - initialState: commitAdapter.getInitialState(), - reducers: { - commitAdded: commitAdapter.addOne, - commitRemoved: commitAdapter.removeOne, - commitUpdated: commitAdapter.upsertOne, - commitReplaced: commitAdapter.setOne - } -}); - -export const { commitAdded, commitRemoved, commitUpdated, commitReplaced } = commitSlice.actions; - -export default commitSlice.reducer; diff --git a/src/store/slices/filetypes.ts b/src/store/slices/filetypes.ts deleted file mode 100644 index d1cf9d321..000000000 --- a/src/store/slices/filetypes.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; -import { CardType, UUID } from '../types'; - -/** A supported filetype with mapping to type of supporting card in Synectic. */ -export type Filetype = { - /** The UUID for Filetype object. */ - readonly id: UUID; - /** The filetype format for encoding/decoding. */ - readonly filetype: string; - /** The type of card that can load content for this filetype. */ - readonly handler: CardType; - /** An array with all filetype extensions (e.g. `.py`, `.js`, `.gitignore`) associated with this filetype. */ - readonly extensions: string[]; -} - -export const filetypeAdapter = createEntityAdapter(); - -export const filetypeSlice = createSlice({ - name: 'filetypes', - initialState: filetypeAdapter.getInitialState(), - reducers: { - filetypeAdded: filetypeAdapter.addOne, - filetypeRemoved: filetypeAdapter.removeOne, - filetypeUpdated: filetypeAdapter.upsertOne - } -}) - -export const { filetypeAdded, filetypeRemoved, filetypeUpdated } = filetypeSlice.actions; - -export default filetypeSlice.reducer; \ No newline at end of file diff --git a/src/store/slices/metafiles.ts b/src/store/slices/metafiles.ts deleted file mode 100644 index d82f8dd4a..000000000 --- a/src/store/slices/metafiles.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; -import { DateTime } from 'luxon'; -// import { repoRemoved } from './repos'; -// import { PURGE } from 'redux-persist'; -// import { branchRemoved } from './branches'; -import { CardType, FilesystemStatus, Flag, GitStatus, PathLike, Timestamp, UUID } from '../types'; -import { Expand, isDefined, Override } from '../../containers/utils'; - -/** A metafile representing specifications and state for files, directories, diffs, and virtual content loaded into Synectic. */ -export type Metafile = { - /** The UUID for Metafile object. */ - readonly id: UUID; - /** The name of metafile (e.g. `data.php` for files, `tests/` for directories, `local/data.php<>remote/data.php` for diffs). */ - readonly name: string; - /** The timestamp for last update to metafile properties (not directly associated with filesystem `mtime` or `ctime`). */ - readonly modified: Timestamp; - /** The type of card that can load the content of this metafile. */ - readonly handler: CardType; - /** The filetype format for encoding/decoding contents, as well as determining syntax highlighting. */ - readonly filetype: string; - /** Flags indicating in-progress actions that might affect values in this metafile. */ - readonly flags: Flag[]; -} & Partial & - Partial & - Partial & - Partial & - Partial; - -/** - * A metafile without the requisite ID field (and with certain fields made optional), which can be - * used for composing valid Metafiles prior to them being assigned an ID. - */ -export type MetafileTemplate = Expand< - Override, Partial>> ->; -/** A metafile without an associated filesystem object. */ -export type VirtualMetafile = Omit; -export const isVirtualMetafile = (metafile: Metafile | undefined): metafile is VirtualMetafile => - isDefined(metafile) && !isFilebasedMetafile(metafile); - -/** A metafile with an associated filesystem object (e.g. file or directory). Does not guarantee that type-specific fields have been added. */ -export type FilebasedMetafile = Override; -export type FilebasedProps = { - /** The relative or absolute path to the file or directory of this metafile. */ - readonly path: PathLike; - /** The latest Filesystem status code for this file relative to the associated content. */ - readonly state: FilesystemStatus; - /** The timestamp for last observed update to the associated filesystem object (represented by the `mtime` filesystem value). */ - readonly mtime: Timestamp; -}; -export const isFilebasedMetafile = ( - metafile: Metafile | undefined -): metafile is FilebasedMetafile => - isDefined(metafile) && (metafile as FilebasedMetafile).path !== undefined; - -/** A metafile that contains file information related to a similar type of filesystem object. */ -export type FileMetafile = Override; -export type FileProps = { - /** The textual contents maintained for files; can differ from actual file content when unsaved changes have been made. */ - readonly content: string; -}; -export const isFileMetafile = (metafile: Metafile | undefined): metafile is FileMetafile => - isFilebasedMetafile(metafile) && metafile.filetype !== 'Directory'; - -/** A metafile that contains directory information related to a similar type of filesystem object. */ -export type DirectoryMetafile = Override; -export type DescendantMetafiles = { directories: FilebasedMetafile[]; files: FilebasedMetafile[] }; -export type DirectoryProps = { - /** An array with all Metafile object UUIDs for direct sub-files and sub-directories. */ - readonly contains: UUID[]; -}; -export const isDirectoryMetafile = ( - metafile: Metafile | undefined -): metafile is DirectoryMetafile => - isFilebasedMetafile(metafile) && metafile.filetype === 'Directory'; - -/** A metafile that is associated with a filesystem object that is tracked by a version control system. */ -export type VersionedMetafile = Override; -export type VersionedProps = { - /** The UUID for associated Repository object. */ - readonly repo: UUID; - /** The UUID for associated Branch object. */ - readonly branch: UUID; - /** The latest Git status code for this metafile relative to the associated repository and branch. */ - readonly status: GitStatus; - /** - * An array indicating paths to conflicting sub-files (in the case of a DirectoryMetafile), or an - * array indicating the starting index for each Git conflict chunk in the content of this metafile - * (in the case of a FileMetafile). - */ - readonly conflicts: (number | PathLike)[]; -}; -export const isVersionedMetafile = ( - metafile: Metafile | undefined -): metafile is VersionedMetafile => - isFilebasedMetafile(metafile) && (metafile as VersionedMetafile).repo !== undefined; - -export type DiffMetafile = Override; -export type DiffProps = { - /** An array with all Card object UUIDs included in the diff output. */ - readonly targets: UUID[]; -}; -export const isDiffMetafile = (metafile: Metafile | undefined): metafile is DiffMetafile => - isDefined(metafile) && (metafile as DiffMetafile).targets !== undefined; - -/** - * Check for updates to the content of a filesystem object (i.e. file or directory) by examining whether the - * [`fs.Stats.mtime`](https://nodejs.org/api/fs.html#class-fsstats) previously recorded for a metafile is stale, or - * non-existent in the case of a newly created metafile. - * @param metafile The filebased Metafile object that should be evaluated for possible filesystem updates. - * @returns {string | undefined} A string containing the epoch milliseconds of the latest `mtime` timestamp if newer - * than the previous `mtime` timestamp of the metafile, or `undefined` otherwise. - */ -export const hasFilebasedUpdates = async ( - metafile: FilebasedMetafile -): Promise => { - const mtime = (await window.api.fs.extractStats(metafile.path))?.mtime; - if (!isDefined(mtime)) return undefined; // file does not exist in the filesystem - const timestamp = DateTime.fromJSDate(mtime); - - if (!isDefined(metafile.mtime)) return timestamp.valueOf(); // metafile not previously identified as filebased - const delta = timestamp.diff(DateTime.fromMillis(metafile.mtime)).valueOf(); - return delta > 0 ? timestamp.valueOf() : undefined; // only return timestamp if newer than previous timestamp -}; - -export const metafileAdapter = createEntityAdapter(); - -export const metafileSlice = createSlice({ - name: 'metafiles', - initialState: metafileAdapter.getInitialState(), - reducers: { - metafileAdded: metafileAdapter.addOne, - metafileRemoved: metafileAdapter.removeOne, - metafileUpdated: { - reducer: (state: EntityState, action: PayloadAction) => { - metafileAdapter.upsertOne(state, action.payload); - }, - prepare: (metafile: Metafile) => { - return { payload: { ...metafile, modified: DateTime.local().valueOf() } }; - } - }, - metafilesUpdated: { - reducer: (state: EntityState, action: PayloadAction) => { - metafileAdapter.upsertMany(state, action.payload); - }, - prepare: (metafiles: readonly Metafile[]) => { - return { - payload: metafiles.map(metafile => ({ - ...metafile, - modified: DateTime.local().valueOf() - })) - }; - } - }, - metafileReplaced: metafileAdapter.setOne - } - // extraReducers: builder => { - // builder - // .addCase(repoRemoved, (state, action) => { - // const updatedMetafiles = Object.values(state.entities) - // .filter(isDefined) - // .filter(m => m.repo === action.payload) - // .map(m => { - // return { id: m.id, changes: filterObject(m, ['repo', 'branch', 'status']) }; - // }); - // metafileAdapter.updateMany(state, updatedMetafiles); - // }) - // .addCase(branchRemoved, (state, action) => { - // const updatedMetafiles = Object.values(state.entities) - // .filter(isDefined) - // .filter(m => m.branch === action.payload) - // .map(m => { - // return { id: m.id, changes: filterObject(m, ['branch', 'status']) }; - // }); - // metafileAdapter.updateMany(state, updatedMetafiles); - // }) - // .addCase(PURGE, state => { - // metafileAdapter.removeAll(state); - // }); - // } -}); - -export const { - metafileAdded, - metafileRemoved, - metafileReplaced, - metafileUpdated, - metafilesUpdated -} = metafileSlice.actions; - -export default metafileSlice.reducer; diff --git a/src/store/slices/repos.ts b/src/store/slices/repos.ts deleted file mode 100644 index 876839bcd..000000000 --- a/src/store/slices/repos.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; -import { PathLike, UUID } from '../types'; - -/** A version control repository associated with content loaded into Synectic. */ -export type Repository = { - /** The UUID for Repository object. */ - readonly id: UUID; - /** - * The name of repository. Either a qualified name for remote-tracking repositories (e.g. `EPICLab/synectic`), or the root - * directory name for local-only repositories (e.g. `synectic`). - */ - readonly name: string; - /** The relative or absolute path to the main worktree root directory (e.g. *'/{project}'*). */ - readonly root: PathLike; - /** - * The URL for a CORS proxy service that enables User-Agent Header requests that meet same-origin policies on web services - * (including GitHub). - */ - readonly corsProxy: string; - /** The URL associated with any remote-hosted instances of this repository; contains empty string if local-only repository. */ - readonly url: string; - /** The branch name corresponding to the default branch within this repository. */ - readonly default: string; - /** An array with all Branch object UUIDs for local branch refs associated with this repository. */ - readonly local: UUID[]; - /** An array with all Branch object UUIDs for remote branch refs associated with this repository. */ - readonly remote: UUID[]; - /** The type of OAuth authentication required based on the remote-hosting service for this repository. */ - readonly oauth: 'github' | 'bitbucket' | 'gitlab'; - /** - * The authentication username associated with an account on the remote-hosting service indicated in `oauth`. Not all services require - * a username, see https://isomorphic-git.org/docs/en/authentication for service-specific authentication requirements. - */ - readonly username: string; - /** The authentication password associated with an account on the remote-hosting service indicated in `oauth`. */ - readonly password: string; - /** - * The authentication token associated with an account on the remote-hosting service indicated in `oauth`. Not all services require - * a token, see https://isomorphic-git.org/docs/en/authentication for service-specific authentication requirements. - */ - readonly token: string; -}; - -export const repoAdapter = createEntityAdapter(); -repoAdapter.addOne; - -export const repoSlice = createSlice({ - name: 'repos', - initialState: repoAdapter.getInitialState(), - reducers: { - repoAdded: repoAdapter.addOne, - repoRemoved: repoAdapter.removeOne, - repoUpdated: repoAdapter.upsertOne - } -}); - -export const { repoAdded, repoRemoved, repoUpdated } = repoSlice.actions; - -export default repoSlice.reducer; diff --git a/src/store/slices/stacks.ts b/src/store/slices/stacks.ts deleted file mode 100644 index dd05cd1ca..000000000 --- a/src/store/slices/stacks.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; -import { DateTime } from 'luxon'; -import { PURGE } from 'redux-persist'; -import { Timestamp, UUID } from '../types'; - -/** A stack representation containing cards grouped according to the user. */ -export type Stack = { - /** The unique ID for Stack object. */ - readonly id: UUID; - /** The name of stack. */ - readonly name: string; - /** The timestamp when stack was created. */ - readonly created: Timestamp; - /** The timestamp for last update to stack properties. */ - readonly modified: Timestamp; - /** An array with all Card object unique IDs contained in stack. */ - readonly cards: UUID[]; - /** The horizontal position of stack relative to parent object. */ - readonly x: number; - /** The vertical position of stack relative to parent object. */ - readonly y: number; -}; - -export const stackAdapter = createEntityAdapter(); - -export const stacksSlice = createSlice({ - name: 'stacks', - initialState: stackAdapter.getInitialState(), - reducers: { - stackAdded: stackAdapter.addOne, - stackRemoved: stackAdapter.removeOne, - stackUpdated: (state: EntityState, action: PayloadAction) => { - stackAdapter.upsertOne(state, { - ...action.payload, - modified: DateTime.local().valueOf() - }); - } - }, - extraReducers: builder => { - builder.addCase(PURGE, state => { - stackAdapter.removeAll(state); - }); - } -}); - -export const { stackAdded, stackRemoved, stackUpdated } = stacksSlice.actions; - -export default stacksSlice.reducer; diff --git a/src/store/store.ts b/src/store/store.ts deleted file mode 100644 index 2229326f8..000000000 --- a/src/store/store.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { combineReducers, configureStore } from '@reduxjs/toolkit'; -import stacksReducer from './slices/stacks'; -import cardsReducer from './slices/cards'; -import filetypesReducer from './slices/filetypes'; -import metafilesReducer from './slices/metafiles'; -// import cacheReducer from './slices/cache'; -import reposReducer from './slices/repos'; -import branchesReducer from './slices/branches'; -import commitsReducer from './slices/commits'; -import modalsReducer from './slices/modals'; -// import { -// FLUSH, -// PAUSE, -// PERSIST, -// persistReducer, -// persistStore, -// PURGE, -// REGISTER, -// REHYDRATE -// } from 'redux-persist'; -// import storage from 'redux-persist/lib/storage'; -import { listenerMiddleware } from './listenerMiddleware'; -// import { createLogger } from 'redux-logger'; - -export const rootReducer = combineReducers({ - stacks: stacksReducer, - cards: cardsReducer, - filetypes: filetypesReducer, - metafiles: metafilesReducer, - // cache: cacheReducer, - repos: reposReducer, - branches: branchesReducer, - commits: commitsReducer, - modals: modalsReducer -}); - -// const persistConfig = { -// key: 'root', -// storage: storage, -// version: 0, -// blacklist: ['filetypes'] -// }; - -// const logger = createLogger({ -// predicate: (_getState, action) => -// !action.type.startsWith('filetypes/') && !action.type.startsWith('persist/'), -// duration: true, -// collapsed: true, -// diff: true -// }); - -// export const persistedReducer = persistReducer(persistConfig, rootReducer); - -const store = configureStore({ - reducer: rootReducer, - devTools: true, - middleware: getDefaultMiddleware => - getDefaultMiddleware({ - serializableCheck: { - // ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER] - } - }).concat([listenerMiddleware.middleware /*, logger*/]) -}); -// const persistor = persistStore(store); - -export type RootState = ReturnType; -export type AppDispatch = typeof store.dispatch; - -export default { store: store }; diff --git a/src/store/thunks/branches.spec.ts b/src/store/thunks/branches.spec.ts deleted file mode 100644 index bf6fd423b..000000000 --- a/src/store/thunks/branches.spec.ts +++ /dev/null @@ -1,223 +0,0 @@ -// const mockedMetafile1: FilebasedMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.ts', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Typescript', -// flags: [], -// path: 'foo/example.ts', -// state: 'unmodified', -// mtime: 0, -// content: 'const rand = Math.floor(Math.random() * 6) + 1;', -// repo: '94304818-ca39-4fb1-9499-86aa329597b9', -// branch: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// status: 'unmodified', -// conflicts: [] -// }; - -// const mockedMetafile2: FilebasedMetafile = { -// id: '821c9159-292b-4639-b90e-e84fc12740ee', -// name: 'test.js', -// modified: DateTime.fromISO('2019-11-19T19:19:47.572-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/test.js', -// state: 'unmodified', -// mtime: 0, -// content: 'var rand: number = Math.floor(Math.random() * 6) + 1;' -// }; - -// const mockedMetafile3: FilebasedMetafile = { -// id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', -// name: 'bar.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/bar.js', -// state: 'unmodified', -// mtime: 0, -// content: 'file contents' -// }; - -// const mockedDirectoryMetafile: DirectoryMetafile = { -// id: 'b859d4e8-b932-4fc7-a2f7-29a8ef8cd8f8', -// name: 'foo', -// modified: DateTime.fromISO('2021-01-31T11:24:54.527-08:00').valueOf(), -// handler: 'Explorer', -// filetype: 'Directory', -// flags: [], -// path: 'foo', -// state: 'unmodified', -// contains: ['46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71'], -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// repo: '94304818-ca39-4fb1-9499-86aa329597b9', -// branch: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// status: 'unmodified', -// conflicts: [] -// }; - -// const mockedRepository: Repository = { -// id: '94304818-ca39-4fb1-9499-86aa329597b9', -// name: 'foo/myRepo', -// root: 'foo/', -// corsProxy: 'http://www.oregonstate.edu', -// url: 'https://github.com/foo/myRepo', -// default: 'master', -// local: ['7351312c-b7bf-4f9c-af65-d9fdfb7847e7'], -// remote: [], -// oauth: 'github', -// username: 'sampleUser', -// password: '12345', -// token: '584n29dkj1683a67f302x009q164' -// }; - -// const mockedBranch1: Branch = { -// id: '7351312c-b7bf-4f9c-af65-d9fdfb7847e7', -// ref: 'main', -// linked: false, -// current: true, -// bare: false, -// root: 'foo/', -// gitdir: 'foo/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '2a57bfcebde7479fd10578ae7da65c93fbb41514' -// }; - -// const mockedBranch2: Branch = { -// id: '37a161a5-2e50-47b1-8cde-d4dba8d5286b', -// ref: 'test', -// linked: false, -// current: false, -// bare: false, -// root: 'foo/', -// gitdir: 'foo/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '8d04e8c703f46ae79edbedc0cc4be8f686956e3f' -// }; - -describe('thunks/branches', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(metafileAdded(mockedMetafile1)); - // store.dispatch(metafileAdded(mockedMetafile2)); - // store.dispatch(metafileAdded(mockedMetafile3)); - // store.dispatch(metafileAdded(mockedDirectoryMetafile)); - // store.dispatch(repoAdded(mockedRepository)); - // store.dispatch(branchAdded(mockedBranch1)); - // store.dispatch(branchAdded(mockedBranch2)); - // const instance = await mock({ - // foo: { - // 'example.ts': 'const rand = Math.floor(Math.random() * 6) + 1;', - // 'bar.js': 'file contents', - // 'test.js': 'var rand: number = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // heads: { - // main: '2a57bfcebde7479fd10578ae7da65c93fbb41514', - // test: '8d04e8c703f46ae79edbedc0cc4be8f686956e3f' - // }, - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // baz: { - // 'qux.ts': 'const content = examples', - // '.git': { - // config: '', - // 'refs/remotes/origin/HEAD': '987654321' - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => { - // mockedInstance.reset(); - // store.clearActions(); - // }); - - // afterEach(() => jest.clearAllMocks()); - - // it('fetchBranch resolves existing branch via branch UUID in metafile', async () => { - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('main'); // mock for git-rev-parse of curent branch name - // const branch = await store.dispatch(fetchBranch({ metafile: mockedMetafile1 })).unwrap(); - // expect(branch).toStrictEqual(mockedBranch1); - // }); - - // it('fetchBranch resolves existing branch via branch UUID in parent metafile', async () => { - // const branch = await store.dispatch(fetchBranch({ metafile: mockedMetafile2 })).unwrap(); - // expect(branch).toStrictEqual(mockedBranch1); - // }); - - // it('fetchBranch resolves existing branch via root path', async () => { - // const branch = await store - // .dispatch(fetchBranch({ branchIdentifiers: { root: 'foo/', ref: 'main', scope: 'local' } })) - // .unwrap(); - // expect(branch).toStrictEqual(mockedBranch1); - // }); - - // it('fetchBranches resolves existing branches via root path', async () => { - // jest.spyOn(gitShowBranch, 'showBranch').mockResolvedValue([ - // { ref: 'test', remote: 'origin', scope: 'local' }, - // { ref: 'main', remote: 'origin', scope: 'local' } - // ]); // mock for branches - - // const branches = await store.dispatch(fetchBranches('foo/')).unwrap(); - // expect(branches).toStrictEqual({ - // local: expect.arrayContaining([mockedBranch1, mockedBranch2]), - // remote: [] - // }); - // }); - - // it('buildBranch resolves a Branch object via root path', async () => { - // jest.spyOn(gitLog, 'log').mockResolvedValue([ - // { - // oid: '2a57bfcebde7479fd10578ae7da65c93fbb41514', - // message: 'example commit', - // parents: [], - // author: { - // name: 'John Doe', - // email: 'jdoe@company.com', - // timestamp: undefined - // } - // } - // ]); - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('false'); // mock for git-rev-parse of bare repository check - // jest.spyOn(gitStatus, 'worktreeStatus').mockResolvedValueOnce({ - // // mock for git-status of current branch - // ref: 'main', - // root: 'foo/', - // status: 'clean', - // bare: false, - // entries: [] - // }); - // expect.assertions(2); - // const branch = await store - // .dispatch(buildBranch({ root: 'foo/', ref: 'main', scope: 'local' })) - // .unwrap(); - // expect(isUUID(branch.id.toString())).toBe(true); - // expect(branch).toStrictEqual( - // expect.objectContaining({ - // ref: 'main', - // root: 'foo', - // gitdir: normalize('foo/.git'), - // scope: 'local' - // }) - // ); - // }); -}); diff --git a/src/store/thunks/branches.ts b/src/store/thunks/branches.ts deleted file mode 100644 index 08efb00bd..000000000 --- a/src/store/thunks/branches.ts +++ /dev/null @@ -1,523 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { ExactlyOne, isDefined, partition, removeObjectProperty } from '../../containers/utils'; -import { createAppAsyncThunk } from '../hooks'; -import branchSelectors from '../selectors/branches'; -import repoSelectors from '../selectors/repos'; -import { - Branch, - UnmergedBranch, - branchAdded, - branchReplaced, - isUnmergedBranch -} from '../slices/branches'; -import { FilebasedMetafile, isVersionedMetafile } from '../slices/metafiles'; -import { Repository, repoUpdated } from '../slices/repos'; -import { MergeOutput, SHA1, UUID } from '../types'; -import { fetchParentMetafile } from './metafiles'; -import { MergeAction } from '../../containers/git'; -import { fetchCommits } from './commits'; - -export type BranchIdentifiers = Pick; - -/** - * Fetch a {@link Branch} object from the Redux store. This function does not create git branches - * within a repository worktree (i.e. it does not interact with the filesystem). Instead, this - * function checks for an existing branch based on `branchIdentifiers` or `metafile` parameters, - * and adds a new {@link Branch} to the Redux store if no matches were found. - * @param obj - A destructed object for named parameters. - * @param obj.branchIdentifiers - Fetch based on {@link BranchIdentifiers} fields. - * @param obj.metafile - Fetch based on {@link FilebasedMetafile} fields. - * @returns {Branch} A new {@link Branch} object representing the updated worktree information, or - * an existing Branch if `ref` matches the existing current branch in the repository root directory. - */ -export const fetchBranch = createAppAsyncThunk< - Branch | undefined, - ExactlyOne<{ branchIdentifiers: BranchIdentifiers; metafile: FilebasedMetafile }> ->('branches/fetchBranch', async (input, thunkAPI) => { - const state = thunkAPI.getState(); - - // handle branchIdentifiers using the least expensive method first - if (input.branchIdentifiers) { - // check for a directly matching branch before using any expensive methods - const branchRoot = await window.api.git.getBranchRoot( - input.branchIdentifiers.root, - input.branchIdentifiers.ref - ); - const root = - input.branchIdentifiers.scope === 'local' && branchRoot - ? branchRoot - : input.branchIdentifiers.root; - const branch = branchRoot - ? branchSelectors.selectByRef( - state, - root, - input.branchIdentifiers.ref, - input.branchIdentifiers.scope - ) - : undefined; - if (branch) return branch; - } - - // if no branchIdentifier matches or a metafile was provided instead, parse relevant fields - const root = input.metafile - ? await window.api.git.getRoot(input.metafile.path) - : input.branchIdentifiers.root; - const current = - input.metafile && root - ? await window.api.git.revParse({ dir: root, opts: ['abbrevRef'], args: ['HEAD'] }) - : undefined; - const ref = input.metafile ? current : input.branchIdentifiers.ref; - const scope = input.metafile ? 'local' : input.branchIdentifiers.scope; - - // handle metafile using the least expensive method first - if (input.metafile) { - // check for a directly matching branch before using any expensive methods - let branch = isVersionedMetafile(input.metafile) - ? branchSelectors.selectById(state, input.metafile.branch) - : undefined; - if (branch) return branch; - - // otherwise, if parent metafile already has a branch UUID then check for matching branch - const parent = !branch - ? await thunkAPI.dispatch(fetchParentMetafile(input.metafile)).unwrap() - : undefined; - branch = - parent && isVersionedMetafile(parent) - ? branchSelectors.selectById(state, parent.branch) - : branch; - if (branch) return branch; - - // otherwise, check for the current branch in the root git directory (derived from metafile) - branch = root && ref ? branchSelectors.selectByRef(state, root, ref, scope) : undefined; - if (branch) return branch; - } - - // if no matches were found for branchIdentifiers or metafile, then build a new branch - const branch = - root && ref ? await thunkAPI.dispatch(buildBranch({ ref, root, scope })).unwrap() : undefined; - return branch; -}); - -/** - * Fetch all branches within a repository based in the specified root directory. This function wraps - * around {@linkcode fetchBranch} and filters the results into `local` and `remote` branch arrays. - */ -export const fetchBranches = createAppAsyncThunk<{ local: Branch[]; remote: Branch[] }, PathLike>( - 'branches/fetchBranches', - async (root, thunkAPI) => { - const branches = ( - await Promise.all( - (await window.api.git.showBranch({ dir: root, all: true })) - .filter(branch => branch.ref !== 'HEAD') - .map(branch => - thunkAPI - .dispatch( - fetchBranch({ - branchIdentifiers: { root: root.toString(), ref: branch.ref, scope: branch.scope } - }) - ) - .unwrap() - ) - ) - ).filter(isDefined); - const [local, remote] = partition(branches, branch => branch.scope === 'local'); - return { local, remote }; - } -); - -/** - * Build a {@link Branch} object that is added to the Redux store. This function does not - * create git branches within a repository worktree (i.e. it does not interact with the - * filesystem), but instead updates the store to reflect any newly created branches. - * Use {@linkcode addBranch} to create a new branch within the filesystem. - */ -export const buildBranch = createAppAsyncThunk( - 'branches/buildBranch', - async (identifiers, thunkAPI) => { - const branchRoot = await window.api.git.getBranchRoot(identifiers.root, identifiers.ref); - const root = identifiers.scope === 'local' && branchRoot ? branchRoot : identifiers.root; - const { dir, gitdir, worktreeDir, worktreeGitdir } = await window.api.git.getWorktreePaths( - root - ); - const config = await window.api.git.getConfig({ - dir: dir ? dir : root, - keyPath: `branch.${identifiers.ref}.remote` - }); - const remote = config && config.scope !== 'none' ? config.value : 'origin'; - const ref = identifiers.scope === 'remote' ? `${remote}/${identifiers.ref}` : identifiers.ref; - const existingRef = - (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [ref] })) === 'true'; - if (!existingRef) return undefined; - - const rootGitdir = worktreeGitdir ? worktreeGitdir : gitdir ? gitdir : ''; - const linked = isDefined(worktreeDir); - const current = dir - ? (await window.api.git.revParse({ - dir: dir, - opts: ['abbrevRef'], - args: ['HEAD'] - })) === identifiers.ref - : false; - const commits = ( - await thunkAPI - .dispatch( - fetchCommits({ - branchIdentifiers: { root: root, ref: identifiers.ref, scope: identifiers.scope } - }) - ) - .unwrap() - ).map(commit => commit.oid.toString()); - - const status = - !linked && !current - ? 'clean' - : (await window.api.git.worktreeStatus({ dir: root }))?.status ?? 'uncommitted'; - const head = commits.length > 0 ? commits[0]?.toString() ?? '' : ''; - const revBare = await window.api.git.revParse({ dir: root, opts: ['isBareRepository'] }); - const bare = revBare?.toLowerCase() === 'true'; - const merging = (await window.api.git.fetchMergingBranches(root))?.compare; - - const repo = dir ? repoSelectors.selectByRoot(thunkAPI.getState(), dir) : undefined; - const repoHas = (branch: UUID): boolean => - repo ? repo.local.includes(branch) || repo.remote.includes(branch) : false; - const existing = Object.values(thunkAPI.getState().branches.entities) - .filter( - branch => - branch?.scope === identifiers.scope && - branch?.ref === identifiers.ref && - repoHas(branch.id) - ) - .filter(isDefined)[0]; - - const base = { - id: existing ? existing.id : window.api.uuid(), - scope: identifiers.scope, - ref: identifiers.ref, - linked: linked, - current: current, - bare: bare, - root: root, - gitdir: rootGitdir, - remote: remote, - status: status, - commits: commits, - head: head - }; - - const branch: Branch | UnmergedBranch = merging - ? { ...base, status: 'unmerged', merging } - : isUnmergedBranch(base) - ? removeObjectProperty(base, 'merging') - : base; - - if (existing) { - return thunkAPI.dispatch(branchReplaced(branch)).payload; - } else { - return thunkAPI.dispatch(branchAdded(branch)).payload; - } - } -); - -/** - * Checkout a branch in a {@link https://git-scm.com/docs/git-worktree linked worktree} and return - * a Branch object representing the updated branch information. - * @param obj - A destructed object for named parameters. - * @param obj.root - The relative or absolute path to the repository root directory (i.e. the `dir` - * in the `WorktreePaths` type). - * @param obj.ref - The name of the branch to checkout. - * @param obj.head - Optional SHA1 commit hash for targeting a specific commit as the HEAD of the - * new branch. - * @returns {Branch} A new Branch object representing the updated worktree information, or an - * existing Branch if `ref` matches the existing current branch in the repository root directory. - */ -export const addBranch = createAppAsyncThunk< - Branch | undefined, - { root: string; ref: string; head?: SHA1 | undefined } ->('branches/addBranch', async ({ root, ref, head }, thunkAPI) => { - const state = thunkAPI.getState(); - - // check if ref refers to the current branch in repo root path; return it without adding a worktree - const current = await window.api.git.revParse({ - dir: root, - opts: ['abbrevRef'], - args: ['HEAD'] - }); - if (ref === current) { - return await thunkAPI - .dispatch(fetchBranch({ branchIdentifiers: { root: root, ref: ref, scope: 'local' } })) - .unwrap(); - } - - const config = await window.api.git.getConfig({ dir: root, keyPath: `branch.${ref}.remote` }); - const remote = config && config.scope !== 'none' ? config.value : 'origin'; - // SHA-1 hash of head commit for local branch ref - const localRef = - (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [ref] })) === 'true' - ? await window.api.git.revParse({ dir: root, opts: [], args: [ref] }) - : undefined; - // SHA-1 hash of head commit for remote branch ref - const remoteRef = - (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [`${remote}/${ref}`] })) === - 'true' - ? await window.api.git.revParse({ dir: root, opts: [], args: [`${remote}/${ref}`] }) - : undefined; - const repo = repoSelectors.selectByRoot(state, root); - const worktrees = repo ? await window.api.git.worktreeList({ dir: repo.root }) : []; - const existingWorktree = worktrees.find(w => w.ref === ref); - const linkedRoot = existingWorktree - ? existingWorktree.root - : repo - ? window.api.fs.normalize(`${root.toString()}/../.syn/${repo.name}/${ref}`) - : undefined; - if (!linkedRoot) return undefined; // cannot create a linked worktree when no repo exists - - // check if ref refers to a local branch in a linked worktree; return it without adding a worktree - if (existingWorktree) { - return await thunkAPI - .dispatch(fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } })) - .unwrap(); - } - - // check if ref refers to a local branch in the repo root directory; switch to new linked worktree - if (!existingWorktree && localRef) { - const newWorktree = head - ? { - dir: root, - path: linkedRoot, - commitish: head.toString(), - newBranch: ref - } - : { - dir: root, - path: linkedRoot, - commitish: ref - }; - return (await window.api.git.worktreeAdd(newWorktree)) - ? thunkAPI - .dispatch( - fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) - ) - .unwrap() - : undefined; - } - - // check if ref refers to a remote-only branch - if (!existingWorktree && !localRef && remoteRef) { - const newWorktree = { - dir: root, - path: linkedRoot, - commitish: head ? head.toString() : remoteRef, - newBranch: ref - }; - return (await window.api.git.worktreeAdd(newWorktree)) - ? thunkAPI - .dispatch( - fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) - ) - .unwrap() - : undefined; - } - - // check if ref cannot be resolved in the repository; i.e. a new branch is being requested - if (!localRef && !remoteRef && current) { - const newWorktree = { - dir: root, - path: linkedRoot, - commitish: head ? head.toString() : current, - newBranch: ref - }; - return (await window.api.git.worktreeAdd(newWorktree)) - ? thunkAPI - .dispatch( - fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) - ) - .unwrap() - : undefined; - } - - return undefined; -}); - -/** - * Remove a Branch object from the Redux store. This will delete the local branch (including in a - * linked worktree), but will not alter any remote branches associated with the repository. This - * function does interact with the filesystem in order to remove the target branch and update the - * branches in the repository according to the Redux store. - * @param obj - A destructed object for named parameters. - * @param obj.repoId - The UUID of a Repository object found in the Redux store. - * @param obj.branchId - The UUID of a Branch object found in the Redux store; points to the - * underlying branch to be removed. - * @returns {boolean} A boolean indicating whether the branch was successfully removed. - */ -export const removeBranch = createAppAsyncThunk( - 'branches/removeBranch', - async ({ repoId, branchId }, thunkAPI) => { - const state = thunkAPI.getState(); - const repo = repoSelectors.selectById(state, repoId); - if (!repo) return false; - const branch = branchSelectors.selectById(state, branchId); - if (!branch) return false; - const current = await window.api.git.revParse({ - dir: repo.root, - opts: ['abbrevRef'], - args: ['HEAD'] - }); - if (branch.ref === current) return false; - const worktreeRemoved = branch.linked - ? await window.api.git.worktreeRemove({ dir: branch.root, worktree: branch.ref }) - : true; - const branchRemoved = repo - ? await window.api.git.deleteBranch({ dir: repo.root, branchName: branch.ref, force: true }) - : false; - await thunkAPI.dispatch(updateBranches(repo)); - - return worktreeRemoved && branchRemoved; - } -); - -/** - * Merge changes from the named commits (or branches) into the base branch. This function does - * interact with the filesystem in order to execute a merge and collect the results. Changes - * to state are updated in the Redux store for the Repository and Branch objects associated - * with this merge action. - */ -export const mergeBranch = createAppAsyncThunk< - MergeOutput | undefined, - { repoId: UUID; baseBranch: UUID; commitishes: string[] } ->('branches/mergeBranch', async ({ repoId, baseBranch, commitishes }, thunkAPI) => { - const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); - if (!isDefined(repo)) return undefined; - const base = branchSelectors.selectById(thunkAPI.getState(), baseBranch); - if (!isDefined(base)) return undefined; - - let result: MergeOutput; - try { - result = await window.api.git.mergeBranch({ - dir: base?.root ?? repo.root, - base: base?.ref ?? '', - commitish: commitishes.join(' ') - }); - } catch (error) { - console.error({ error }); - result = { - status: 'Failing', - alreadyMerged: false, - fastForward: false, - output: error as string - }; - } - - await thunkAPI.dispatch(updateBranch(base.id)); - return result; -}); - -/** - * Continue an in-progress merge such that changes from the named commits (or branches) are - * merged into the base branch. This function interacts with the filesystem in order to - * send continuation action commands to the underlying VCS. Changes to state are updated in - * the Redux store for the Repository and Branch objects associated with this merge action. - */ -export const mergeBranchContinue = createAppAsyncThunk< - MergeOutput | undefined, - { repoId: UUID; baseBranch: UUID; action: MergeAction } ->('branches/mergeBranchResume', async ({ repoId, baseBranch, action }, thunkAPI) => { - const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); - if (!isDefined(repo)) return undefined; - const base = branchSelectors.selectById(thunkAPI.getState(), baseBranch); - if (!isDefined(base)) return undefined; - - let result: MergeOutput; - try { - const succeeded = await window.api.git.mergeInProgress({ - dir: base?.root ?? repo.root, - action: action - }); - result = { - status: succeeded ? 'Passing' : 'Failing', - alreadyMerged: false, - fastForward: false, - output: String(succeeded) - }; - } catch (error) { - console.error({ error }); - result = { - status: 'Failing', - alreadyMerged: false, - fastForward: false, - output: error as string - }; - } - - await thunkAPI.dispatch(updateBranch(base.id)); - return result; -}); - -/** - * Update the root directory path and linked worktree status of a Branch object in the Redux store - * to reflect the current filesystem and git status of a branch. Also appends/removes merging - * information in the case of an in-progress merge where this branch is the base. This function - * updates the store state to reflect any recent changes to these fields. - */ -export const updateBranch = createAppAsyncThunk( - 'branches/updateBranch', - async (id, thunkAPI) => { - const branch = branchSelectors.selectById(thunkAPI.getState(), id); - if (!branch) return undefined; - const branchRoot = await window.api.git.getBranchRoot(branch.root, branch.ref); - const root = branch.scope === 'local' && branchRoot ? branchRoot : branch.root; - const { dir, worktreeDir } = await window.api.git.getWorktreePaths(root); - - const linked = isDefined(worktreeDir); - const rootLocal = - isDefined(branchRoot) && isDefined(dir) && window.api.fs.isEqualPaths(branchRoot, dir); - const current = - dir && branch.scope === 'local' - ? (await window.api.git.listBranch({ dir: dir, showCurrent: true })).some( - b => b.ref === branch.ref - ) - : false; - const updatedRoot = linked ? worktreeDir : branch.root; - const commits = (await thunkAPI.dispatch(fetchCommits({ branchId: id })).unwrap()).map(commit => - commit.oid.toString() - ); - const status = - rootLocal && !current - ? 'clean' - : (await window.api.git.worktreeStatus({ dir: updatedRoot }))?.status ?? 'uncommitted'; - const head = commits.length > 0 ? commits[0]?.toString() ?? '' : ''; - const merging = (await window.api.git.fetchMergingBranches(updatedRoot))?.compare; - - const updates: Branch = { - ...branch, - linked: linked, - root: updatedRoot, - status: status, - commits: commits, - head: head - }; - const updatedBranch = merging - ? { ...updates, merging: merging } - : isUnmergedBranch(updates) - ? removeObjectProperty(updates, 'merging') - : updates; - return thunkAPI.dispatch(branchReplaced(updatedBranch)).payload; - } -); - -/** - * Update the list of branches associated with a Repository entry in the Redux store. This - * function captures added/removed branches so that the repository remains up-to-date with the - * state of branches in the underlying git repository on the filesystem. - */ -export const updateBranches = createAppAsyncThunk( - 'branches/updateBranches', - async (repo, thunkAPI) => { - const branches = await thunkAPI.dispatch(fetchBranches(repo.root)).unwrap(); - branches.local.forEach(branch => thunkAPI.dispatch(updateBranch(branch.id))); - const branchIds = { - local: branches.local.map(b => b.id), - remote: branches.remote.map(b => b.id) - }; - return thunkAPI.dispatch(repoUpdated({ ...repo, ...branchIds })).payload; - } -); diff --git a/src/store/thunks/cards.spec.ts b/src/store/thunks/cards.spec.ts deleted file mode 100644 index 0c56a8c7a..000000000 --- a/src/store/thunks/cards.spec.ts +++ /dev/null @@ -1,72 +0,0 @@ -// const mockedMetafile1: FilebasedMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.ts', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Typescript', -// flags: [], -// path: 'foo/example.ts', -// state: 'unmodified', -// mtime: 0, -// content: 'const rand = Math.floor(Math.random() * 6) + 1;', -// repo: '23', -// branch: '503', -// status: 'unmodified', -// conflicts: [] -// }; - -describe('thunks/cards', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(metafileAdded(mockedMetafile1)); - // const instance = await mock({ - // foo: { - // 'example.ts': 'const rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('createCard resolves an Editor card via metafile', async () => { - // expect.assertions(2); - // const id = await store.dispatch(createCard({ metafile: mockedMetafile1 })).unwrap(); - // const card = store.getState().cards.entities[id]; - // expect(isUUID(card?.id.toString() ?? '')).toBe(true); - // expect(card).toStrictEqual( - // expect.objectContaining({ - // name: 'example.ts', - // type: 'Editor', - // metafile: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71' - // }) - // ); - // }); - - // it('createCard resolves an Editor card via filepath', async () => { - // expect.assertions(3); - // const id = await store.dispatch(createCard({ path: 'foo/example.ts' })).unwrap(); - // const card = store.getState().cards.entities[id]; - // expect(isUUID(id.toString())).toBe(true); - // expect(isUUID(card?.metafile.toString() ?? '')).toBe(true); - // expect(card).toStrictEqual( - // expect.objectContaining({ - // name: 'example.ts', - // type: 'Editor' - // }) - // ); - // }); -}); diff --git a/src/store/thunks/cards.ts b/src/store/thunks/cards.ts deleted file mode 100644 index e62fabb32..000000000 --- a/src/store/thunks/cards.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { ExactlyOne } from '../../containers/utils'; -import { createAppAsyncThunk } from '../hooks'; -import cardSelectors from '../selectors/cards'; -import stackSelectors from '../selectors/stacks'; -import { cardAdded, cardRemoved, cardUpdated } from '../slices/cards'; -import { stackUpdated } from '../slices/stacks'; -import { PathLike, UUID } from '../types'; -import { Metafile } from '../slices/metafiles'; -import { DateTime } from 'luxon'; -import { fetchMetafile } from './metafiles'; - -/** - * Create a new Card component that is added to the Redux store and the UI. - * @param path The relative or absolute path to a file or directory. - * @param metafile The initial Metafile object that should be encapsulated within the new Card component. - * @returns {UUID} The UUID of the new Card component. - */ -export const createCard = createAppAsyncThunk< - UUID, - ExactlyOne<{ path: PathLike; metafile: Metafile }> ->('cards/createCard', async (input, thunkAPI) => { - const cardId = window.api.uuid(); - const card = thunkAPI.dispatch( - cardAdded({ - id: cardId, - name: input.metafile ? input.metafile.name : window.api.fs.extractFilename(input.path), - type: input.metafile?.handler ?? 'Editor', - metafile: input.metafile?.id ?? '', - created: DateTime.local().valueOf(), - modified: DateTime.local().valueOf(), - captured: undefined, - expanded: false, - flipped: false, - loading: undefined, - x: 40, - y: 40 - }) - ).payload; - if (input.path) { - const metafile = await thunkAPI.dispatch(fetchMetafile({ path: input.path })).unwrap(); - if (metafile) { - thunkAPI.dispatch( - cardUpdated({ - ...card, - name: metafile.name, - type: metafile.handler, - metafile: metafile.id - }) - ); - } - } - return cardId; -}); - -/** - * Remove a Card component from the Redux store and the UI. - * @param card The UUID of the Card component to remove. - */ -export const removeCard = createAppAsyncThunk( - 'cards/removeCard', - async (input, thunkAPI) => { - const card = cardSelectors.selectById(thunkAPI.getState(), input.card); - const stacks = stackSelectors.selectEntities(thunkAPI.getState()); - const stack = card?.captured ? stacks[card?.captured] : undefined; - - if (stack && card) { - thunkAPI.dispatch( - stackUpdated({ - ...stack, - cards: stack.cards.filter(c => c !== card.id) - }) - ); - thunkAPI.dispatch(cardRemoved(card.id)); - } else if (card) { - thunkAPI.dispatch(cardRemoved(card.id)); - } - } -); diff --git a/src/store/thunks/commits.ts b/src/store/thunks/commits.ts deleted file mode 100644 index 39224948e..000000000 --- a/src/store/thunks/commits.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { ExactlyOne, Prettify, removeUndefined } from '../../containers/utils'; -import { createAppAsyncThunk } from '../hooks'; -import branchSelectors from '../selectors/branches'; -import commitSelectors from '../selectors/commits'; -import metafileSelectors from '../selectors/metafiles'; -import repoSelectors from '../selectors/repos'; -import { Commit, commitAdded, commitRemoved } from '../slices/commits'; -import { isVersionedMetafile } from '../slices/metafiles'; -import { PathLike, UUID } from '../types'; -import { BranchIdentifiers, updateBranches } from './branches'; -import { updateFilebasedMetafile, updateVersionedMetafile } from './metafiles'; -import { fetchRepo } from './repos'; - -export type CommitIdentifiers = Prettify & { root: PathLike }>; - -export const fetchCommit = createAppAsyncThunk< - Commit, - ExactlyOne<{ commitIdentifiers: CommitIdentifiers; commit: Commit }> ->('commits/fetchCommit', async (input, thunkAPI) => { - const existing = input.commit - ? commitSelectors.selectById(thunkAPI.getState(), input.commit.oid.toString()) - : commitSelectors.selectById(thunkAPI.getState(), input.commitIdentifiers.oid.toString()); - - if (existing) return existing; - return input.commit - ? thunkAPI.dispatch(commitAdded(input.commit)).payload - : await thunkAPI.dispatch(buildCommit(input.commitIdentifiers)).unwrap(); -}); - -export const fetchParentCommits = createAppAsyncThunk( - 'commits/fetchParents', - async (oid, thunkAPI) => { - const commit = commitSelectors.selectById(thunkAPI.getState(), oid); - if (!commit) return []; - - const parents = removeUndefined( - commit.parents.map(oid => commitSelectors.selectById(thunkAPI.getState(), oid.toString())) - ); - return parents; - } -); - -/** - * Fetch {@link Commit} objects from the Redux store that represent the commit information - * contained within a specific git branch. This function attempts to locate existing {@link Commit} - * objects in the Redux store, and adds new {@link Commit} objects if no match was found. - */ -export const fetchCommits = createAppAsyncThunk< - Commit[], - ExactlyOne<{ branchIdentifiers: BranchIdentifiers; branchId: UUID }> ->('commits/fetchCommits', async (input, thunkAPI) => { - const branchIdentifiers: BranchIdentifiers | undefined = input.branchId - ? thunkAPI.getState().branches.entities[input.branchId] - : input.branchIdentifiers; - if (!branchIdentifiers) return []; - - const config = await window.api.git.getConfig({ - dir: branchIdentifiers.root, - keyPath: `branch.${branchIdentifiers.ref}.remote` - }); - const remote = config && config.scope !== 'none' ? config.value : 'origin'; - const commits = ( - await window.api.git.revList({ - dir: branchIdentifiers.root, - commitish: [ - branchIdentifiers.scope === 'local' - ? branchIdentifiers.ref - : `remotes/${remote}/${branchIdentifiers.ref}` - ] - }) - ) - .trim() - .split(/\r\n|\n/); - - return await Promise.all( - commits.map( - async oid => - await thunkAPI - .dispatch(fetchCommit({ commitIdentifiers: { oid: oid, root: branchIdentifiers.root } })) - .unwrap() - ) - ); -}); - -/** - * Build a {@link Commit} object that is added to the Redux store. This function does not create - * git commits within a repository worktree (i.e. it does not interact with the filesystem), but - * instead updates the store with all of the required git commit information. Use - * {@linkcode addCommit} to create a new commit within the filesystem. - */ -export const buildCommit = createAppAsyncThunk( - 'commits/buildCommit', - async ({ oid, root }, thunkAPI) => { - const objectInfo = await window.api.git.catFile({ dir: root, objectRef: oid }); - - return thunkAPI.dispatch( - commitAdded( - objectInfo ?? { - oid: oid, - message: '', - parents: [], - author: { - name: '', - email: '', - timestamp: undefined - }, - committer: { - name: '', - email: '', - timestamp: undefined - } - } - ) - ).payload; - } -); - -export const addCommit = createAppAsyncThunk< - Commit | undefined, - { repoId: UUID; branchId: UUID; message: string } ->('commits/addCommit', async ({ repoId, branchId, message }, thunkAPI) => { - const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); - const branch = branchSelectors.selectById(thunkAPI.getState(), branchId); - if (!repo || !branch) return undefined; - - const oid = await window.api.git.commit({ dir: branch.root, message: message }); - if (!oid) { - console.error(`Unable to commit to ${branch.root}...`); - return undefined; - } - const commit = await thunkAPI - .dispatch(fetchCommit({ commitIdentifiers: { oid: oid, root: branch.root } })) - .unwrap(); - - await thunkAPI.dispatch(updateBranches(repo)).unwrap(); - - const metafiles = metafileSelectors.selectStagedByRepo( - thunkAPI.getState(), - repoId, - branchId, - false - ); - metafiles.forEach(async metafile => { - await thunkAPI.dispatch(updateFilebasedMetafile(metafile)); - if (isVersionedMetafile(metafile)) - await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); - }); - - return commit; -}); - -/** - * Remove a Commit object from the Redux store. This will delete the commit from the history of the - * specified branch, but will only remove the Commit object in Redux if no other branches contain - * that particular commit. - */ -export const revertCommit = createAppAsyncThunk( - 'commits/revertCommit', - async ({ oid, root }, thunkAPI) => { - const metafiles = metafileSelectors.selectByRoot(thunkAPI.getState(), root); - const repo = await thunkAPI.dispatch(fetchRepo({ filepath: root })).unwrap(); - if (!repo) return false; - - const succeeded = await window.api.git.reset({ dir: root, mode: 'soft', commit: oid }); - if (succeeded) { - await thunkAPI.dispatch(commitRemoved(oid.toString())); - await thunkAPI.dispatch(updateBranches(repo)).unwrap(); - metafiles.forEach(async metafile => { - await thunkAPI.dispatch(updateFilebasedMetafile(metafile)); - if (isVersionedMetafile(metafile)) - await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); - }); - } - return succeeded; - } -); diff --git a/src/store/thunks/filetypes.spec.ts b/src/store/thunks/filetypes.spec.ts deleted file mode 100644 index b6551aca0..000000000 --- a/src/store/thunks/filetypes.spec.ts +++ /dev/null @@ -1,79 +0,0 @@ -// const mockedFiletype1: Filetype = { -// id: 'eb5d332e-61a1-422d-aeba-48186d9f79f3', -// filetype: 'JavaScript', -// handler: 'Editor', -// extensions: ['js', 'jsm'] -// }; - -// const mockedFiletype2: Filetype = { -// id: '78aa4b01-ce6e-3161-4671-b0019de5c375', -// filetype: 'Directory', -// handler: 'Explorer', -// extensions: [] -// }; - -// const mockedFiletype3: Filetype = { -// id: '0b743dd5-2559-4f03-8c02-0f67676e906a', -// filetype: 'Text', -// handler: 'Editor', -// extensions: ['txt'] -// }; - -describe('thunks/filetypes', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(filetypeAdded(mockedFiletype1)); - // store.dispatch(filetypeAdded(mockedFiletype2)); - // store.dispatch(filetypeAdded(mockedFiletype3)); - // const instance = await mock({ - // foo: { - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;' - // }, - // }); - // return mockedInstance = instance; - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('fetchFiletype resolves new existing filetype for file', async () => { - // const filetype = await store.dispatch(fetchFiletype('foo/example.js')).unwrap(); - // expect(filetype).toStrictEqual(expect.objectContaining(mockedFiletype1)); - // }); - - // it('fetchFiletype resolves new existing filetype for directory', async () => { - // const filetype = await store.dispatch(fetchFiletype('foo/')).unwrap(); - // expect(filetype).toStrictEqual(expect.objectContaining(mockedFiletype2)); - // }); - - // it('fetchFiletype defaults to text filetype when no match found', async () => { - // const filetype = await store.dispatch(fetchFiletype('foo/test.ts')).unwrap(); - // expect(filetype).toStrictEqual(expect.objectContaining(mockedFiletype3)); - // }); - - // it('importFiletypes resolves supported filetypes', async () => { - // await store.dispatch(importFiletypes([{ - // "filetype": "Typescript", - // "handler": "Editor", - // "extensions": [ - // "ts", - // "typescript", - // "str" - // ] - // }])); - // expect(store.getActions()).toEqual(expect.arrayContaining([ - // expect.objectContaining({ - // type: 'filetypes/filetypeAdded', - // payload: expect.objectContaining({ - // filetype: 'Typescript', - // handler: 'Editor', - // extensions: ['ts', 'typescript', 'str'] - // }) - // }) - // ])); - // }); -}); diff --git a/src/store/thunks/filetypes.ts b/src/store/thunks/filetypes.ts deleted file mode 100644 index 294bb7fad..000000000 --- a/src/store/thunks/filetypes.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { createAppAsyncThunk } from '../hooks'; -import filetypeSelectors from '../selectors/filetypes'; -import { Filetype, filetypeAdded } from '../slices/filetypes'; -import { PathLike } from '../types'; - -export const fetchFiletype = createAppAsyncThunk( - 'filetypes/fetchFiletype', - async (filepath, thunkAPI) => { - const state = thunkAPI.getState(); - const stats = await window.api.fs.extractStats(filepath); - const result = stats?.isDir - ? filetypeSelectors.selectByFiletype(state, 'Directory') - : filetypeSelectors.selectByExtension(state, window.api.fs.extractExtension(filepath)); - return result.length > 0 ? result[0] : filetypeSelectors.selectByFiletype(state, 'Text')[0]; - } -); - -export const importFiletypes = createAppAsyncThunk[]>( - 'filetypes/importFiletypes', - async (filetypes, thunkAPI) => { - filetypes.map(filetype => { - thunkAPI.dispatch(filetypeAdded({ id: window.api.uuid(), ...filetype })); - }); - } -); diff --git a/src/store/thunks/metafiles.spec.ts b/src/store/thunks/metafiles.spec.ts deleted file mode 100644 index 4719c03d7..000000000 --- a/src/store/thunks/metafiles.spec.ts +++ /dev/null @@ -1,444 +0,0 @@ -// const mockedFiletype1: Filetype = { -// id: 'eb5d332e-61a1-422d-aeba-48186d9f79f3', -// filetype: 'JavaScript', -// handler: 'Editor', -// extensions: ['js', 'jsm'] -// }; - -// const mockedFiletype2: Filetype = { -// id: '78aa4b01-ce6e-3161-4671-b0019de5c375', -// filetype: 'Directory', -// handler: 'Explorer', -// extensions: [] -// }; - -// const mockedFiletype3: Filetype = { -// id: '0b743dd5-2559-4f03-8c02-0f67676e906a', -// filetype: 'Text', -// handler: 'Editor', -// extensions: ['txt'] -// }; - -// const mockedMetafile: FileMetafile = { -// id: '8ac62438-0069-4208-9231-f03b61fdd8e6', -// name: 'zap.ts', -// modified: DateTime.fromISO('2021-04-05T14:21:32.783-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'TypeScript', -// flags: [], -// path: 'foo/zap.ts', -// state: 'unmodified', -// content: 'file contents', -// mtime: DateTime.fromISO('2021-04-05T14:21:32.783-08:00').valueOf() -// }; - -describe('thunks/metafiles', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeEach(async () => { - // store.dispatch(filetypeAdded(mockedFiletype1)); - // store.dispatch(filetypeAdded(mockedFiletype2)); - // store.dispatch(filetypeAdded(mockedFiletype3)); - // const instance = await mock({ - // foo: { - // 'bar.js': file({ - // content: 'file contents', - // mtime: new Date('2020-01-01T07:13:04.276-08:00') - // }), - // 'zap.ts': file({ - // content: 'file contents', - // mtime: new Date('2021-04-05T14:21:32.783-08:00') - // }), - // 'example.js': 'var rand = Math.floor(Math.random() * 6) + 1;', - // '.git': {} - // }, - // bar: { - // 'sample.js': 'var rand = Math.floor(Math.random() * 8) + 2;' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterEach(() => { - // mockedInstance.reset(); - // store.clearActions(); - // jest.clearAllMocks(); - // }); - - // it('hasFilebasedUpdates returns filesystem timestamp when metafile has not previously been populated', async () => { - // const unpopulatedMetafile: FilebasedMetafile = { - // id: 'a58e4a5b-c8ec-42ba-86d2-82fa4d47638b', - // name: 'bar.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/bar.js', - // state: 'unmodified', - // mtime: 0 - // }; - // const filesystemTimestamp = DateTime.fromISO('2020-01-01T07:13:04.276-08:00').valueOf(); - // await expect(hasFilebasedUpdates(unpopulatedMetafile)).resolves.toBe(filesystemTimestamp); - // }); - - // it('hasFilebasedUpdates returns filesystem timestamp when metafile timestamp is behind filesystem timestamp (stale)', async () => { - // const staleMetafile: FileMetafile = { - // id: 'b5ee58cf-fe0b-41ce-8f42-a70f0f9d776e', - // name: 'zap.ts', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/zap.ts', - // state: 'unmodified', - // content: 'file content', - // mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf() - // }; - // const filesystemTimestamp = DateTime.fromISO('2021-04-05T14:21:32.783-08:00').valueOf(); - // await expect(hasFilebasedUpdates(staleMetafile)).resolves.toBe(filesystemTimestamp); - // }); - - // it('hasFilebasedUpdates returns undefined when filesystem and metafile timestamps match', async () => { - // const matchedMetafile: FilebasedMetafile = { - // id: 'a58e4a5b-c8ec-42ba-86d2-82fa4d47638b', - // name: 'bar.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/bar.js', - // state: 'unmodified', - // content: 'file content', - // mtime: DateTime.fromISO('2020-01-01T07:13:04.276-08:00').valueOf() - // }; - // await expect(hasFilebasedUpdates(matchedMetafile)).resolves.toBeUndefined(); - // }); - - // it('hasFilebasedUpdates returns undefined when metafile timestamp is ahead of filesystem timestamp (updated)', async () => { - // const aheadMetafile: FileMetafile = { - // id: 'b5ee58cf-fe0b-41ce-8f42-a70f0f9d776e', - // name: 'zap.ts', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/zap.ts', - // state: 'unmodified', - // content: 'file content has been locally updated', - // mtime: DateTime.fromISO('2021-04-27T22:21:20.443-08:00').valueOf() - // }; - // await expect(hasFilebasedUpdates(aheadMetafile)).resolves.toBeUndefined(); - // }); - - // it('hasFilebasedUpdates returns undefined when underlying filesystem object no longer exists', async () => { - // const deletedFile: FilebasedMetafile = { - // id: 'a5d4d43d-9bbd-4d08-ac7e-bcde32428c94', - // name: 'quz.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/quz.js', - // state: 'unmodified', - // mtime: 0 - // }; - // await expect(hasFilebasedUpdates(deletedFile)).resolves.toBeUndefined(); - // }); - - // it('fetchMetafile resolves a metafile via existing filepath', async () => { - // store.dispatch(metafileAdded(mockedMetafile)); - // const metafile = await store.dispatch(fetchMetafile({ path: mockedMetafile.path })).unwrap(); - // expect(metafile).toStrictEqual(mockedMetafile); - // }); - - // it('fetchMetafile resolves a metafile via existing filepath and handlers', async () => { - // store.dispatch(metafileAdded(mockedMetafile)); - // const metafile = await store - // .dispatch(fetchMetafile({ path: mockedMetafile.path, handlers: [mockedMetafile.handler] })) - // .unwrap(); - // expect(metafile).toStrictEqual(mockedMetafile); - // }); - - // it('fetchMetafile resolves a new metafile when no matching filepath exists', async () => { - // const metafile = await store.dispatch(fetchMetafile({ path: mockedMetafile.path })).unwrap(); - // expect(metafile).not.toStrictEqual(mockedMetafile); - // }); - - // it('fetchMetafile resolves a new metafile when no matching filepath and handlers exist', async () => { - // store.dispatch(metafileAdded(mockedMetafile)); - // const metafile = await store - // .dispatch(fetchMetafile({ path: mockedMetafile.path, handlers: ['Browser'] })) - // .unwrap(); - // expect(metafile).not.toStrictEqual(mockedMetafile); - // }); - - // it('createMetafile resolves a supported metafile via filepath', async () => { - // const metafile = await store.dispatch(createMetafile({ path: 'foo/example.js' })).unwrap(); - // expect(metafile).toStrictEqual( - // expect.objectContaining({ - // name: 'example.js', - // handler: 'Editor', - // filetype: 'JavaScript', - // path: 'foo/example.js' - // }) - // ); - // }); - - // it('createMetafile resolves a supported metafile via metafile template', async () => { - // const template: MetafileTemplate = { - // name: 'test.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // content: 'var rand = Math.floor(Math.random() * 3) * 2;' - // }; - // const metafile = await store.dispatch(createMetafile({ metafile: template })).unwrap(); - // expect(isUUID(metafile.id.toString())).toBe(true); - // expect(metafile).toStrictEqual( - // expect.objectContaining({ - // ...template - // }) - // ); - // }); - - // it('updateFilebasedMetafile updates list of contained metafiles for Directory filetypes', async () => { - // const file1: FilebasedMetafile = { - // id: 'a58e4a5b-c8ec-42ba-86d2-82fa4d47638b', - // name: 'sample.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'bar/sample.js', - // state: 'unmodified', - // mtime: 0 - // }; - // const file2: FilebasedMetafile = { - // id: '7d2a0568-ad1b-4402-839b-593db00c445a', - // name: 'second.js', - // modified: DateTime.fromISO('2022-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'bar/second.js', - // state: 'unmodified', - // mtime: 0, - // content: 'var multi = 3 * 2;' - // }; - // const directory: FilebasedMetafile = { - // id: '91509174-9ccb-441f-a5c9-ff0b848cbc7b', - // name: 'bar', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Explorer', - // filetype: 'Directory', - // flags: [], - // path: 'bar/', - // state: 'unmodified', - // mtime: 0 - // }; - // store.dispatch(metafileAdded(file1)); - // const update1 = await store.dispatch(updateFilebasedMetafile(directory)).unwrap(); - // expect(update1).toStrictEqual(expect.objectContaining({ contains: [file1.id] })); - - // // setup for examining the addition of a new file - // await mockedInstance.addItem('bar/second.js', file({ content: 'var multi = 3 * 2;' })); - // store.dispatch(metafileAdded(file2)); - // const expected = DateTime.fromISO('2021-10-10T14:52:55.118-08:00'); - // Settings.now = () => expected.toMillis(); - - // const update2 = await store.dispatch(updateFilebasedMetafile(directory)).unwrap(); - // expect(update2).toStrictEqual(expect.objectContaining({ contains: [file1.id, file2.id] })); - // expect(update2?.modified).toEqual(expected.valueOf()); - // expect(update1?.modified).not.toStrictEqual(update2?.modified); - // }); - - // it('updateFilebasedMetafile updates file content for non-Directory filetypes', async () => { - // const file: FilebasedMetafile = { - // id: 'a58e4a5b-c8ec-42ba-86d2-82fa4d47638b', - // name: 'sample.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'bar/sample.js', - // state: 'unmodified', - // mtime: 0, - // content: 'var rand = Math.floor(Math.random() * 8) + 5;' - // }; - // store.dispatch(metafileAdded(file)); - // const updated = await store.dispatch(updateFilebasedMetafile(file)).unwrap(); - // expect(updated).toStrictEqual( - // expect.objectContaining({ content: 'var rand = Math.floor(Math.random() * 8) + 2;' }) - // ); - // }); - - // it('updateVersionedMetafile updates version information to filebased metafile', async () => { - // jest.spyOn(gitStatus, 'fileStatus').mockResolvedValue('unmodified'); - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('test'); // mock for git-rev-parse of curent branch name - // jest.spyOn(gitStatus, 'worktreeStatus').mockResolvedValueOnce({ - // // mock for git-status of current branch - // ref: 'test', - // root: 'foo/', - // status: 'clean', - // bare: false, - // entries: [] - // }); - // const repo: Repository = { - // id: 'c5739e69-9979-41fe-8605-5bb5ff341027', - // name: 'foo/myRepo', - // root: 'foo/', - // corsProxy: 'http://www.oregonstate.edu', - // url: 'https://github.com/foo/myRepo', - // default: 'master', - // local: ['9ae32e4a-10f2-4f7b-93d6-39ccb466c504'], - // remote: [], - // oauth: 'github', - // username: 'sampleUser', - // password: '12345', - // token: '584n29dkj1683a67f302x009q164' - // }; - // const branch: Branch = { - // id: '9ae32e4a-10f2-4f7b-93d6-39ccb466c504', - // ref: 'test', - // linked: false, - // current: false, - // bare: false, - // root: 'foo/', - // gitdir: 'foo/.git', - // scope: 'local', - // remote: 'origin', - // status: 'clean', - // commits: [], - // head: '987654321' - // }; - // const metafile: FilebasedMetafile = { - // id: 'a5d4d43d-9bbd-4d08-ac7e-bcde32428c94', - // name: 'example.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/example.js', - // state: 'modified', - // mtime: 0, - // content: 'var id = 300 * Math.floor(Math.random() * 10) - 5;', - // repo: 'c5739e69-9979-41fe-8605-5bb5ff341027', - // branch: '9ae32e4a-10f2-4f7b-93d6-39ccb466c504', - // status: 'modified', - // conflicts: [] - // }; - // store.dispatch(metafileAdded(metafile)); - // store.dispatch(repoAdded(repo)); - // store.dispatch(branchAdded(branch)); - // const updated = await store.dispatch(updateVersionedMetafile(metafile.id)).unwrap(); - // expect(updated).toStrictEqual( - // expect.objectContaining({ - // repo: 'c5739e69-9979-41fe-8605-5bb5ff341027', - // branch: '9ae32e4a-10f2-4f7b-93d6-39ccb466c504', - // status: 'unmodified', - // conflicts: [] - // }) - // ); - // }); - - // it('updateVersionedMetafile adds version information to filebased metafile', async () => { - // jest.spyOn(gitStatus, 'fileStatus').mockResolvedValue('unmodified'); - // jest.spyOn(gitStatus, 'worktreeStatus').mockResolvedValueOnce({ - // // mock for git-status of current branch - // ref: 'test', - // root: 'foo/', - // status: 'clean', - // bare: false, - // entries: [] - // }); - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('test'); // mock for git-rev-parse of curent branch name - // const repo: Repository = { - // id: 'c5739e69-9979-41fe-8605-5bb5ff341027', - // name: 'foo/myRepo', - // root: 'foo/', - // corsProxy: 'http://www.oregonstate.edu', - // url: 'https://github.com/foo/myRepo', - // default: 'master', - // local: ['9ae32e4a-10f2-4f7b-93d6-39ccb466c504'], - // remote: [], - // oauth: 'github', - // username: 'sampleUser', - // password: '12345', - // token: '584n29dkj1683a67f302x009q164' - // }; - // const branch: Branch = { - // id: '9ae32e4a-10f2-4f7b-93d6-39ccb466c504', - // ref: 'test', - // linked: false, - // current: false, - // bare: false, - // root: 'foo/', - // gitdir: 'foo/.git', - // scope: 'local', - // remote: 'origin', - // status: 'clean', - // commits: [], - // head: '987654321' - // }; - // const metafile: FilebasedMetafile = { - // id: 'a5d4d43d-9bbd-4d08-ac7e-bcde32428c94', - // name: 'example.js', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/example.js', - // state: 'unmodified', - // mtime: 0, - // content: 'var id = 300 * Math.floor(Math.random() * 10) - 15;' - // }; - // store.dispatch(metafileAdded(metafile)); - // store.dispatch(repoAdded(repo)); - // store.dispatch(branchAdded(branch)); - // const updated = await store.dispatch(updateVersionedMetafile(metafile.id)).unwrap(); - // expect(updated).toStrictEqual( - // expect.objectContaining({ - // repo: 'c5739e69-9979-41fe-8605-5bb5ff341027', - // branch: '9ae32e4a-10f2-4f7b-93d6-39ccb466c504', - // status: 'unmodified', - // conflicts: [] - // }) - // ); - // }); - - // it('fetchParentMetafile resolves existing DirectoryMetafile for parent directory', async () => { - // const directory: DirectoryMetafile = { - // id: 'b5ee58cf-fe0b-41ce-8f42-a70f0f9d776e', - // name: 'foo', - // modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), - // handler: 'Explorer', - // filetype: 'Directory', - // flags: [], - // path: 'foo/', - // state: 'unmodified', - // mtime: DateTime.fromISO('2021-01-01T07:13:04.276-08:00').valueOf(), - // contains: ['a5d4d43d-9bbd-4d08-ac7e-bcde32428c94'] - // }; - // const metafile: FilebasedMetafile = { - // id: 'a5d4d43d-9bbd-4d08-ac7e-bcde32428c94', - // name: 'example.js', - // modified: DateTime.fromISO('2020-01-29T07:44:15.276-08:00').valueOf(), - // handler: 'Editor', - // filetype: 'JavaScript', - // flags: [], - // path: 'foo/example.js', - // state: 'unmodified', - // mtime: 0, - // content: 'var id = 300 * Math.floor(Math.random() * 10) - 15;' - // }; - // store.dispatch(metafileAdded(metafile)); - // store.dispatch(metafileAdded(directory)); - // const parent = await store.dispatch(fetchParentMetafile(metafile)).unwrap(); - // expect(parent).toBe(directory); - // }); -}); diff --git a/src/store/thunks/metafiles.ts b/src/store/thunks/metafiles.ts deleted file mode 100644 index 3b833a2a1..000000000 --- a/src/store/thunks/metafiles.ts +++ /dev/null @@ -1,434 +0,0 @@ -import { UniqueIdentifier } from '@dnd-kit/core'; -import { DateTime } from 'luxon'; -import { - ExactlyOne, - hasUpdates, - isDefined, - isStaged, - removeDuplicates, - symmetrical -} from '../../containers/utils'; -import { createAppAsyncThunk } from '../hooks'; -import branchSelectors from '../selectors/branches'; -import metafileSelectors from '../selectors/metafiles'; -import { - DirectoryMetafile, - FileMetafile, - FilebasedMetafile, - Metafile, - MetafileTemplate, - VersionedMetafile, - VirtualMetafile, - hasFilebasedUpdates, - isDirectoryMetafile, - isFileMetafile, - isFilebasedMetafile, - isVersionedMetafile, - isVirtualMetafile, - metafileAdded, - metafileUpdated -} from '../slices/metafiles'; -import { CardType, FilesystemStatus, PathLike, UUID } from '../types'; -import { addBranch, fetchBranch, updateBranch } from './branches'; -import { fetchFiletype } from './filetypes'; -import { fetchRepo } from './repos'; - -/** - * Fetch a {@link Metafile} object from the Redux store. This function does not create a new - * object within the filesystem, but checks for an existing `Metafile` based on matching the `path` - * and `handlers` parameters, and adds a new {@link Metafile} object if no matches were found. - * Use {@linkcode metafileSelectors} if attempting to locate a {@link VirtualMetafile}, or directly - * call {@linkcode createMetafile} to create one. - * @param obj - A destructed object for named parameters. - * @param obj.path - A relative or absolute file path to the requested filesystem object. - * @param obj.metafile - Fetch based on {@link FilebasedMetafile} fields. - * @returns {Metafile} A new {@link Metafile} object representing the basic information of the - * indicated filesystem object; {@linkcode updateFilebasedMetafile} and - * {@linkcode updateVersionedMetafile} should be called to add/update filebased and versioned - * fields within the `Metafile` object. - */ -export const fetchMetafile = createAppAsyncThunk< - Metafile, - { path: PathLike; handlers?: CardType[] } ->('metafiles/fetchMetafile', async ({ path: filepath, handlers }, thunkAPI) => { - const existing = metafileSelectors.selectByFilepath(thunkAPI.getState(), filepath, handlers); - return existing.length > 0 - ? (existing[0] as FilebasedMetafile) - : await thunkAPI.dispatch(createMetafile({ path: filepath })).unwrap(); -}); - -export const fetchParentMetafile = createAppAsyncThunk< - DirectoryMetafile | undefined, - FilebasedMetafile ->('metafiles/fetchParent', async (metafile, thunkAPI) => { - const metafiles: ReturnType = - metafileSelectors.selectByFilepath( - thunkAPI.getState(), - window.api.fs.dirname(metafile.path.toString()) - ); - return metafiles.length > 0 ? (metafiles[0] as DirectoryMetafile) : undefined; -}); - -export const createMetafile = createAppAsyncThunk< - Metafile, - ExactlyOne<{ path: PathLike; metafile: MetafileTemplate }> ->('metafiles/createMetafile', async (input, thunkAPI) => { - const filetype = await thunkAPI.dispatch(fetchFiletype(input.path ?? '')).unwrap(); - return thunkAPI.dispatch( - metafileAdded({ - ...(input.metafile ?? {}), - id: window.api.uuid(), - name: input.metafile ? input.metafile.name : window.api.fs.extractFilename(input.path), - modified: input.metafile?.modified ?? DateTime.local().valueOf(), - handler: input.metafile?.handler ?? filetype?.handler ?? 'Editor', - filetype: input.metafile?.filetype ?? filetype?.filetype ?? 'Text', - flags: input.metafile?.flags ?? [], - ...(input.path ? { path: input.path, state: 'unmodified' satisfies FilesystemStatus } : {}) - }) - ).payload; -}); - -export const updateDirectoryMetafile = createAppAsyncThunk< - DirectoryMetafile | undefined, - { id: UUID; shallow?: boolean } ->('metafiles/updateDirectoryMetafile', async ({ id, shallow = false }, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; - - const mtime = shallow ? 0 : await hasFilebasedUpdates(metafile); - if (!isDefined(mtime)) return metafile as DirectoryMetafile; - - const contains: UniqueIdentifier[] = []; - if (!shallow) { - const descendants = await window.api.fs.getDescendantPaths(metafile.path); - await Promise.all( - descendants.map(async desc => { - const existing = metafileSelectors.selectByFilepath(thunkAPI.getState(), desc); - if (existing.length > 0) { - existing.map(metafile => contains.push(metafile.id)); - } else { - const dirMetafile = await thunkAPI.dispatch(createMetafile({ path: desc })).unwrap(); - contains.push(dirMetafile.id); - } - }) - ); - } - const updating = hasUpdates(metafile, { contains }); - - return updating - ? (thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - contains: contains, - mtime: mtime, - state: 'unmodified' - }) - ).payload as DirectoryMetafile) - : (metafile as DirectoryMetafile); -}); - -export const updateFileMetafile = createAppAsyncThunk( - 'metafiles/updateFileMetafile', - async (id, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; - - const mtime = await hasFilebasedUpdates(metafile); - if (!isDefined(mtime)) return metafile as FileMetafile; - const content = ( - await window.api.fs.readFileAsync(metafile.path, { encoding: 'utf-8' }) - ).toString(); - - return hasUpdates(metafile, { content }) - ? (thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - content: content, - mtime: mtime, - state: 'unmodified' - }) - ).payload as FileMetafile) - : (metafile as FileMetafile); - } -); - -export const updateFilebasedMetafile = createAppAsyncThunk< - DirectoryMetafile | FileMetafile | undefined, - FilebasedMetafile ->('metafiles/updateFilebasedMetafile', async (metafile, thunkAPI) => { - return metafile.filetype === 'Directory' - ? await thunkAPI.dispatch(updateDirectoryMetafile({ id: metafile.id })).unwrap() - : await thunkAPI.dispatch(updateFileMetafile(metafile.id)).unwrap(); -}); - -export const updateVersionedMetafile = createAppAsyncThunk< - VersionedMetafile | FilebasedMetafile | undefined, - UUID ->('metafiles/updateVersionedMetafile', async (id, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; - - const repo = await thunkAPI.dispatch(fetchRepo({ metafile })).unwrap(); - const branch = await thunkAPI.dispatch(fetchBranch({ metafile })).unwrap(); - if (!isDefined(repo) || !isDefined(branch)) return metafile; // not under version control - - if (isDirectoryMetafile(metafile)) { - const root = await window.api.git.getRoot(metafile.path); - const descendants = root ? metafileSelectors.selectByRoot(thunkAPI.getState(), root) : []; - const statuses = root - ? (await window.api.git.worktreeStatus({ dir: root, pathspec: metafile.path }))?.entries - : undefined; - - if (isDefined(statuses)) { - const [newEntries, updatedMetafiles, unmatchedMetafiles] = symmetrical( - statuses, - descendants, - (status, descendant) => window.api.fs.isEqualPaths(status.path, descendant.path) - ); - - // update all matching metafiles with their current status - removeDuplicates(updatedMetafiles, (a, b) => a[1].id === b[1].id).map( - ([status, metafile]) => { - if (metafile.status !== status.status) { - thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - repo: repo.id, - branch: branch.id, - status: status.status - }) - ); - } - } - ); - - // descendants without a matching status update need to find any ascendant status updates, - // or update to `unmodified` status - await Promise.all( - unmatchedMetafiles.map(async metafile => { - const matcher = (directory: string): boolean => { - const match = statuses.find(status => - window.api.fs.isEqualPaths(status.path, directory) - ); - return isDefined(match); - }; - - const match = await window.api.git.getMatchUp(metafile.path, matcher); - const parentStatus = match - ? statuses.find(status => window.api.fs.isEqualPaths(status.path, match)) - : undefined; - - if ( - (parentStatus && metafile.status !== parentStatus.status) || - (!parentStatus && metafile.status !== 'unmodified') - ) { - thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - repo: repo.id, - branch: branch.id, - status: parentStatus?.status ?? 'unmodified' - }) - ); - } - }) - ); - - // status entries without a matching metafile in the Redux store need to be created - await Promise.all( - newEntries.map(async file => { - const metafile = await thunkAPI.dispatch(fetchMetafile({ path: file.path })).unwrap(); - thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - repo: repo.id, - branch: branch.id, - status: file.status - }) - ); - }) - ); - } - } - - const status = await window.api.git.fileStatus(metafile.path); - const conflicted = await window.api.git.checkUnmergedPath(metafile.path); - const typedConflicts = isDirectoryMetafile(metafile) - ? conflicted.map(c => c.path) - : conflicted[0]?.conflicts ?? []; - - return isDefined(status) && - hasUpdates(metafile, { - repo: repo.id, - branch: branch.id, - status, - conflicts: typedConflicts - }) - ? (thunkAPI.dispatch( - metafileUpdated({ - ...metafile, - repo: repo.id, - branch: branch.id, - status: status, - conflicts: typedConflicts - }) - ).payload as VersionedMetafile) - : metafile; -}); - -/** - * Write content updates to files in the filesystem and update Metafile object with content and - * version information. - * @param obj - A destructured object for named parameters. - * @param obj.id - The UUID of a {@link Metafile} object that should have either `content` (for - * {@link FileMetafile}) or `contains` (for {@link DirectoryMetafile}) written to the filesystem - * at the `path` location. - * @param obj.filepath - The relative or absolute file path to use, regardless of whether the - * metafile contains a valid `path` field. - * @returns {boolean} A boolean indicating true if the filesystem and metafile were successfully - * updated, false otherwise. - */ -export const saveFile = createAppAsyncThunk( - 'metafiles/saveFile', - async ({ id, filepath }, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - const targetPath = filepath ?? metafile?.path; - - if ( - (isFileMetafile(metafile) || isVirtualMetafile(metafile)) && - metafile.content && - targetPath - ) { - // update metafile - const updated = thunkAPI.dispatch( - metafileUpdated({ ...metafile, path: targetPath, state: 'unmodified' }) - ).payload; - // write file - await window.api.fs.writeFileAsync(targetPath, metafile.content); - // update parent metafile - const parent = await thunkAPI - .dispatch(fetchParentMetafile(updated as FilebasedMetafile)) - .unwrap(); - if (parent) thunkAPI.dispatch(updateDirectoryMetafile(parent)); - // // update git info - await Promise.all( - metafileSelectors - .selectByFilepath(thunkAPI.getState(), targetPath) - .filter(isFilebasedMetafile) - .map(async m => await thunkAPI.dispatch(updateVersionedMetafile(m.id))) - ); - return true; - } - return false; - } -); - -export const stageMetafile = createAppAsyncThunk( - 'metafiles/stageMetafile', - async (id, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - - if (isVersionedMetafile(metafile) && !isStaged(metafile.status)) { - await window.api.git.add(metafile.path); - const parent = await thunkAPI.dispatch(fetchParentMetafile(metafile)).unwrap(); - if (parent) await thunkAPI.dispatch(updateVersionedMetafile(parent.id)); - else await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); - await thunkAPI.dispatch(updateBranch(metafile.branch)); - } - } -); - -export const unstageMetafile = createAppAsyncThunk( - 'metafiles/unstageMetafile', - async (id, thunkAPI) => { - const metafile = thunkAPI.getState().metafiles.entities[id]; - - if (isVersionedMetafile(metafile) && isStaged(metafile.status)) { - await window.api.git.restore({ filepath: metafile.path, staged: true }); - const parent = await thunkAPI.dispatch(fetchParentMetafile(metafile)).unwrap(); - if (parent) await thunkAPI.dispatch(updateVersionedMetafile(parent.id)); - else await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); - await thunkAPI.dispatch(updateBranch(metafile.branch)); - } - } -); - -/** - * Switch branches or restore working tree files in the filesystem and return an updated Metafile - * object. This will create a new linked worktree (if not already present) based on the HEAD of - * the branch reference provided. This thunk also creates a new Metafile object pointing to the - * same file in the new branch. - * @param obj - A destructured object for named parameters. - * @param obj.id - The UUID of a {@link Metafile} object that should be reparented to a new linked - * worktree (branch and root path). - * @param obj.ref - The name of the branch to check out and switch to. - * @returns {Metafile | undefined} A new {@link Metafile} object pointing to the same file as the - * metafile parameter except rooted in the new worktree, or undefined if a linked worktree could - * not be created. - */ -export const switchBranch = createAppAsyncThunk( - 'metafiles/switchBranch', - async ({ id, ref }, thunkAPI) => { - const metafile = metafileSelectors.selectById(thunkAPI.getState(), id); - const { dir } = await window.api.git.getWorktreePaths(metafile?.path ?? ''); - if (!dir) return undefined; // unless metafile has a root path, there is no repository - - const branchA = branchSelectors.selectById(thunkAPI.getState(), metafile?.branch ?? ''); - // `addBranch` handles cases where no new worktree (or branch) is needing and gracefully - // returns the target branch; this includes when the target branch is the current branch in the - // repository, and when the target branch is already in a linked worktree - const branchB = await thunkAPI.dispatch(addBranch({ root: dir, ref })).unwrap(); - - if (isVersionedMetafile(metafile) && branchA && branchB) { - // relative path from root to file - const relativePath = window.api.fs.relative( - branchA.root.toString(), - metafile.path.toString() - ); - // absolute path from new linked worktree root to file - const absolutePath = window.api.fs.join(branchB.root.toString(), relativePath); - return await thunkAPI.dispatch(fetchMetafile({ path: absolutePath })).unwrap(); - } - - console.error( - `Unable to switch ${metafile?.name} [${id}] from '${branchA?.scope}/${branchA?.ref}' to '${branchB?.scope}/${branchB?.ref}'` - ); - return undefined; - } -); - -export const revertChanges = createAppAsyncThunk( - 'metafiles/revertChanges', - async (metafile, thunkAPI) => { - const branch = await thunkAPI.dispatch(fetchBranch({ metafile })).unwrap(); - - if (metafile.status !== 'unmodified' && branch) { - await window.api.git.checkoutPathspec({ - dir: branch.root, - pathspec: metafile.path.toString(), - ours: true - }); - const updated = await thunkAPI.dispatch(updateFilebasedMetafile(metafile)).unwrap(); - if (updated) await thunkAPI.dispatch(updateVersionedMetafile(updated?.id)).unwrap(); - } - } -); - -// export const updateConflicted = createAppAsyncThunk( -// 'metafiles/fetchConflicted', -// async (conflicts, thunkAPI) => { -// const conflictedFiles = removeDuplicates(conflicts, (c1, c2) => isEqualPaths(c1.path, c2.path)); -// return flattenArray( -// await Promise.all( -// conflictedFiles.map(async conflict => { -// const metafile = await thunkAPI -// .dispatch(fetchMetafile({ path: conflict.path, handlers: ['Editor', 'Explorer'] })) -// .unwrap(); -// return isFilebasedMetafile(metafile) -// ? await thunkAPI.dispatch(updateVersionedMetafile(metafile)).unwrap() -// : metafile; -// }) -// ) -// ); -// } -// ); diff --git a/src/store/thunks/repos.spec.ts b/src/store/thunks/repos.spec.ts deleted file mode 100644 index 0129e3b9a..000000000 --- a/src/store/thunks/repos.spec.ts +++ /dev/null @@ -1,189 +0,0 @@ -// const mockedMetafile1: FilebasedMetafile = { -// id: '46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71', -// name: 'example.ts', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Typescript', -// flags: [], -// path: 'example.ts', -// state: 'unmodified', -// mtime: 0, -// content: 'const rand = Math.floor(Math.random() * 6) + 1;', -// repo: '23', -// branch: 'master', -// status: 'unmodified', -// conflicts: [] -// }; - -// const mockedMetafile2: FilebasedMetafile = { -// id: '821c9159-292b-4639-b90e-e84fc12740ee', -// name: 'test.js', -// modified: DateTime.fromISO('2019-11-19T19:19:47.572-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/test.js', -// state: 'unmodified', -// mtime: 0, -// content: 'var rand: number = Math.floor(Math.random() * 6) + 1;' -// }; - -// const mockedMetafile3: FilebasedMetafile = { -// id: '88e2gd50-3a5q-6401-b5b3-203c6710e35c', -// name: 'bar.js', -// modified: DateTime.fromISO('2015-06-19T19:10:47.319-08:00').valueOf(), -// handler: 'Editor', -// filetype: 'Javascript', -// flags: [], -// path: 'foo/bar.js', -// state: 'unmodified', -// mtime: 0, -// content: 'file contents' -// }; - -// const mockedDirectoryMetafile: DirectoryMetafile = { -// id: 'b859d4e8-b932-4fc7-a2f7-29a8ef8cd8f8', -// name: 'foo', -// modified: DateTime.fromISO('2021-01-31T11:24:54.527-08:00').valueOf(), -// handler: 'Explorer', -// filetype: 'Directory', -// flags: [], -// path: 'foo', -// state: 'unmodified', -// contains: ['46ae0111-0c82-4ee2-9ee5-cd5bdf8d8a71'], -// mtime: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// repo: '23', -// branch: 'master', -// status: 'unmodified', -// conflicts: [] -// }; - -// const mockedRepository: Repository = { -// id: '23', -// name: 'foo/myRepo', -// root: 'foo/', -// corsProxy: 'http://www.oregonstate.edu', -// url: 'https://github.com/foo/myRepo', -// default: 'master', -// local: ['b12bbec1-0903-4b74-8bf9-b313ea5af934'], -// remote: [], -// oauth: 'github', -// username: 'sampleUser', -// password: '12345', -// token: '584n29dkj1683a67f302x009q164' -// }; - -// const mockedBranch1: Branch = { -// id: '8843ba60-5a1c-431d-aa0a-042012b2e8d9', -// ref: 'default', -// linked: false, -// current: true, -// bare: false, -// root: 'baz/', -// gitdir: 'baz/.git', -// scope: 'local', -// remote: 'origin', -// status: 'clean', -// commits: [], -// head: '43e47372349e1123af230332f7fb385696101e0d' -// }; - -describe('thunks/repos', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(metafileAdded(mockedMetafile1)); - // store.dispatch(metafileAdded(mockedMetafile2)); - // store.dispatch(metafileAdded(mockedMetafile3)); - // store.dispatch(metafileAdded(mockedDirectoryMetafile)); - // store.dispatch(repoAdded(mockedRepository)); - // store.dispatch(branchAdded(mockedBranch1)); - // const instance = await mock({ - // foo: { - // 'bar.js': 'content', - // 'example.ts': 'const rand = Math.floor(Math.random() * 6) + 1;', - // '.git': { - // config: '', - // HEAD: 'refs/heads/main', - // refs: { - // 'heads/main': 'a4400ff0ceb22fb1c4f4032b6e3c649011dd259e', - // 'remotes/origin/HEAD': 'ref: refs/remotes/origin/main' - // } - // } - // }, - // baz: { - // 'qux.ts': 'const content = examples', - // '.git': { - // config: '', - // HEAD: 'refs/heads/default', - // refs: { - // 'heads/default': '43e47372349e1123af230332f7fb385696101e0d', - // 'remotes/origin/HEAD': '987654321' - // } - // } - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // afterEach(() => jest.clearAllMocks()); - - // it('fetchRepo resolves existing repository via repo UUID in metafile', async () => { - // const repo = await store.dispatch(fetchRepo({ metafile: mockedMetafile1 })).unwrap(); - // expect(repo).toStrictEqual(mockedRepository); - // }); - - // it('fetchRepo resolves existing repository via repo UUID in parent metafile', async () => { - // const repo = await store.dispatch(fetchRepo({ metafile: mockedMetafile2 })).unwrap(); - // expect(repo).toStrictEqual(mockedRepository); - // }); - - // it('fetchRepo resolves existing repository via root path', async () => { - // const repo = await store.dispatch(fetchRepo({ filepath: 'foo/bar.js' })).unwrap(); - // expect(repo).toStrictEqual(mockedRepository); - // }); - - // it('fetchRepo resolves new repository via root path', async () => { - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('default'); // mock for git-rev-parse of curent branch name - // jest.spyOn(gitWorktree, 'worktreePrune').mockResolvedValue(undefined); // mock for pruning worktrees - // jest.spyOn(gitRemote, 'getRemote').mockResolvedValue([{ remote: 'origin' }]); // mock for pruning worktrees - // jest - // .spyOn(gitShowBranch, 'showBranch') - // .mockResolvedValue([{ ref: 'default', scope: 'local', remote: 'origin' }]); // mock for branches - // expect.assertions(2); - // const repo = await store.dispatch(fetchRepo({ filepath: 'baz/qux.ts' })).unwrap(); - // expect(isDefined(repo) && isUUID(repo.id.toString())).toBeTruthy(); - // expect(repo).toStrictEqual( - // expect.objectContaining({ - // root: 'baz' - // }) - // ); - // }); - - // it('buildRepo resolves a supported repository', async () => { - // jest.spyOn(gitRevParse, 'revParse').mockResolvedValue('default'); // mock for git-rev-parse of curent branch name - // jest.spyOn(gitWorktree, 'worktreePrune').mockResolvedValue(undefined); // mock for pruning worktrees - // expect.assertions(2); - // const repo = await store.dispatch(buildRepo('baz')).unwrap(); - // expect(isDefined(repo) && isUUID(repo.id.toString())).toBeTruthy(); - // expect(repo).toStrictEqual( - // expect.objectContaining({ - // name: 'baz', - // root: 'baz', - // corsProxy: 'https://cors-anywhere.herokuapp.com', - // url: '', - // default: 'default', - // local: [mockedBranch1.id], - // remote: [], - // oauth: 'github', - // token: '' - // }) - // ); - // }); -}); diff --git a/src/store/thunks/repos.ts b/src/store/thunks/repos.ts deleted file mode 100644 index 29a901f47..000000000 --- a/src/store/thunks/repos.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { PathLike } from 'fs-extra'; -import { ExactlyOne } from '../../containers/utils'; -import { createAppAsyncThunk } from '../hooks'; -import repoSelectors from '../selectors/repos'; -import { FilebasedMetafile, isVersionedMetafile } from '../slices/metafiles'; -import { repoAdded, Repository } from '../slices/repos'; -import { fetchBranches } from './branches'; -import { fetchParentMetafile } from './metafiles'; - -export const fetchRepo = createAppAsyncThunk< - Repository | undefined, - ExactlyOne<{ filepath: PathLike; metafile: FilebasedMetafile }> ->('repos/fetchRepo', async (input, thunkAPI) => { - const state = thunkAPI.getState(); - - if (input.metafile) { - // if metafile already has a repo UUID, check for matching repository - let repo = input.metafile.repo - ? repoSelectors.selectById(state, input.metafile.repo) - : undefined; - // otherwise if parent metafile already has a repo UUID, check for matching repository - const parent = !repo - ? await thunkAPI.dispatch(fetchParentMetafile(input.metafile)).unwrap() - : undefined; - repo = - parent && isVersionedMetafile(parent) ? repoSelectors.selectById(state, parent.repo) : repo; - if (repo) return repo; - } - - // unless filepath has a root path, there is no repository - const filepath = input.metafile ? input.metafile.path : input.filepath.toString(); - const { dir } = await window.api.git.getWorktreePaths(filepath); - if (!dir) return undefined; - - // check root for existing repository - const existingRepo = repoSelectors.selectByRoot(state, dir); - const repo = existingRepo ? existingRepo : await thunkAPI.dispatch(buildRepo(dir)).unwrap(); - return repo; -}); - -export const buildRepo = createAppAsyncThunk( - 'repos/buildRepo', - async (filepath, thunkAPI) => { - const { dir } = await window.api.git.getWorktreePaths(filepath.toString()); - const { url, oauth } = await window.api.git.getRemoteConfig(dir); - if (dir) await window.api.git.worktreePrune({ dir: dir, verbose: true }); // prune worktree information to remove stale linked branches - const current = dir - ? await window.api.git.revParse({ dir: dir, opts: ['abbrevRef'], args: ['HEAD'] }) - : undefined; - const branches = dir - ? await thunkAPI.dispatch(fetchBranches(dir)).unwrap() - : { local: [], remote: [] }; - const { local, remote } = { - local: branches.local.map(branch => branch.id), - remote: branches.remote.map(branch => branch.id) - }; - const { username, password } = await window.api.git.getCredentials(dir); - - return thunkAPI.dispatch( - repoAdded({ - id: window.api.uuid(), - name: url - ? window.api.git.extractRepoName(url.href) - : dir - ? window.api.fs.extractFilename(dir) - : '', - root: dir ?? '', - corsProxy: 'https://cors-anywhere.herokuapp.com', - url: url?.href ?? '', - default: current ?? '', - local: local, - remote: remote, - oauth: oauth ?? 'github', - username: username, - password: password, - token: '' - }) - ).payload; - } -); diff --git a/src/store/thunks/stacks.spec.ts b/src/store/thunks/stacks.spec.ts deleted file mode 100644 index fb32a57eb..000000000 --- a/src/store/thunks/stacks.spec.ts +++ /dev/null @@ -1,213 +0,0 @@ -// const card1: Card = { -// id: 'b741f857-870c-4756-b38b-b375823a08f6', -// name: 'sample.js', -// type: 'Editor', -// metafile: 'a58e4a5b-c8ec-42ba-86d2-82fa4d47638b', -// created: DateTime.fromISO('2019-01-10T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2020-01-28T07:44:15.276-08:00').valueOf(), -// captured: undefined, -// expanded: false, -// flipped: false, -// x: 30, -// y: 50 -// }; - -// const card2: Card = { -// id: 'bca65655-a072-4a71-803b-9fef3a358a93', -// name: 'second.js', -// type: 'Editor', -// metafile: '7d2a0568-ad1b-4402-839b-593db00c445a', -// created: DateTime.fromISO('2019-01-10T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2022-01-28T07:44:15.276-08:00').valueOf(), -// captured: undefined, -// expanded: false, -// flipped: false, -// x: 45, -// y: 65 -// }; - -// const card3: Card = { -// id: 'e9da275d-0640-4f9f-a0da-bc9d2a2c70d6', -// name: 'third.js', -// type: 'Editor', -// metafile: '7d2a0568-ad1b-4402-839b-593db00c445a', -// created: DateTime.fromISO('2019-01-10T10:08:30.114-08:00').valueOf(), -// modified: DateTime.fromISO('2021-12-25T07:44:15.276-08:00').valueOf(), -// captured: undefined, -// expanded: false, -// flipped: false, -// x: 30, -// y: 85 -// }; - -describe('thunks/stacks', () => { - it('node::fs module cannot be injected into this jest test suite, so passthrough', () => { - expect(true).toBeTruthy(); - }); - // const store = mockStore(emptyStore); - // let mockedInstance: MockInstance; - - // beforeAll(async () => { - // store.dispatch(cardAdded(card1)); - // store.dispatch(cardAdded(card2)); - // const instance = await mock({ - // foo: { - // bar: 'content stuff' - // } - // }); - // return (mockedInstance = instance); - // }); - - // afterAll(() => mockedInstance.reset()); - - // it('createStack resolves a Stack from a pair of cards', async () => { - // expect.assertions(4); - // const id = await store - // .dispatch( - // createStack({ - // name: 'New Stack', - // cards: [card1.id, card2.id] - // }) - // ) - // .unwrap(); - // const stack = store.getState().stacks.entities[id]; - // const updated1 = store.getState().cards.entities[card1.id]; - // const updated2 = store.getState().cards.entities[card2.id]; - - // expect(isUUID(id.toString())).toBe(true); - // expect(stack).toStrictEqual( - // expect.objectContaining({ - // left: card1.x, - // top: card1.y - // }) - // ); - // expect(updated1).toStrictEqual( - // expect.objectContaining({ - // zIndex: 1, - // top: 50, - // left: 10 - // }) - // ); - // expect(updated2).toStrictEqual( - // expect.objectContaining({ - // zIndex: 2, - // top: 60, - // left: 20 - // }) - // ); - // }); - - // // it('createStack rejects creating a Stack from non-existing cards', async () => { - // // const stack = await store.dispatch(createStack({ - // // name: 'New Stack', note: 'two cards', cards: [card1.id, card3.id] - // // })).unwrap(); - // // const updated1 = store.getState().cards.entities[card1.id]; - // // const updated3 = store.getState().cards.entities[card3.id]; - // // expect() - // // }); - - // it('pushCards rejects adding non-existing cards to a Stack', async () => { - // expect.assertions(2); - // const id = await store - // .dispatch( - // createStack({ - // name: 'New Stack', - // cards: [card1.id, card2.id] - // }) - // ) - // .unwrap(); - // const stack = store.getState().stacks.entities[id]; - // expect(stack?.cards).toHaveLength(2); - - // await store.dispatch(pushCards({ stack: id, cards: [card3.id] })); - // const updatedStack = store.getState().stacks.entities[id]; - // expect(updatedStack?.cards).toHaveLength(2); - // }); - - // it('pushCards resolves to add cards to existing set in a Stack', async () => { - // expect.assertions(3); - // store.dispatch(cardAdded(card3)); - // const id = await store - // .dispatch( - // createStack({ - // name: 'New Stack', - // cards: [card1.id, card2.id] - // }) - // ) - // .unwrap(); - // const stack = store.getState().stacks.entities[id]; - // expect(stack?.cards).toHaveLength(2); - - // await store.dispatch(pushCards({ stack: id, cards: [card3.id] })); - // const updatedStack = store.getState().stacks.entities[id]; - // expect(updatedStack?.cards).toHaveLength(3); - - // const updatedCard3 = store.getState().cards.entities[card3.id]; - // expect(updatedCard3).toStrictEqual( - // expect.objectContaining({ - // zIndex: 4, - // top: 80, - // left: 40 - // }) - // ); - // }); - - // it('popCards resolves removing cards from a Stack with greater than two cards', async () => { - // expect.assertions(3); - // const id = await store - // .dispatch( - // createStack({ - // name: 'New Stack', - // cards: [card1.id, card2.id, card3.id] - // }) - // ) - // .unwrap(); - - // await store.dispatch(popCard({ stack: id, card: card2.id, x: 10, y: 100 })); - // const updatedStack = store.getState().stacks.entities[id]; - // expect(updatedStack?.cards).toHaveLength(2); - - // const updatedCard2 = store.getState().cards.entities[card2.id]; - // expect(updatedCard2).toStrictEqual( - // expect.objectContaining({ - // captured: undefined, - // left: 55, - // top: 135 - // }) - // ); - - // const updatedCard3 = store.getState().cards.entities[card3.id]; - // expect(updatedCard3).toStrictEqual( - // expect.objectContaining({ - // captured: id, - // x: 20, - // y: 60 - // }) - // ); - // }); - - // it('popCards resolves removing cards from a Stack with only two cards and delta is provided', async () => { - // expect.assertions(2); - // const id = await store - // .dispatch( - // createStack({ - // name: 'New Stack', - // cards: [card1.id, card2.id] - // }) - // ) - // .unwrap(); - - // await store.dispatch(popCard({ stack: id, card: card2.id, x: 10, y: 100 })); - // const updatedStack = store.getState().stacks.entities[id]; - // expect(updatedStack).not.toBeDefined(); - - // const updatedCard2 = store.getState().cards.entities[card2.id]; - // expect(updatedCard2).toStrictEqual( - // expect.objectContaining({ - // captured: undefined, - // x: 40, - // y: 210 - // }) - // ); - // }); -}); diff --git a/src/store/thunks/stacks.ts b/src/store/thunks/stacks.ts deleted file mode 100644 index 2a6a814af..000000000 --- a/src/store/thunks/stacks.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { DateTime } from 'luxon'; -import { createAppAsyncThunk } from '../hooks'; -import cardSelectors from '../selectors/cards'; -import { stackAdded, stackRemoved, stackUpdated } from '../slices/stacks'; -import { cardUpdated } from '../slices/cards'; -import { UUID } from '../types'; -import stackSelectors from '../selectors/stacks'; - -/** - * Create a new Stack component that is added to the Redux store and the UI. - * @param name The name of the new Stack component. - * @param cards The UUIDs of Card components that should be pushed onto the Stack component. - * @param x The horizontal position of the new Stack component; defaults to 40. - * @param y The vertical position of the new Stack component; defaults to 40. - * @returns {UUID} The UUID of the new Stack component. - */ -export const createStack = createAppAsyncThunk< - UUID, - { name: string; cards: UUID[]; x?: number; y?: number } ->('stacks/createStack', async (input, thunkAPI) => { - const cards = cardSelectors.selectByIds(thunkAPI.getState(), input.cards); - - const stackId = window.api.uuid(); - thunkAPI.dispatch( - stackAdded({ - id: stackId, - name: input.name, - created: DateTime.local().valueOf(), - modified: DateTime.local().valueOf(), - cards: input.cards, - x: input.x ?? 40, - y: input.y ?? 40 - }) - ); - cards.map(card => - thunkAPI.dispatch( - cardUpdated({ - ...card, - captured: stackId - }) - ) - ); - return stackId; -}); - -/** - * Remove a Stack component from the Redux store and the UI. - * @param stack The UUID of the Stack component to remove. - */ -export const removeStack = createAppAsyncThunk( - 'stacks/removeStack', - async (input, thunkAPI) => { - const state = thunkAPI.getState(); - const stack = stackSelectors.selectById(state, input.stack); - - if (stack) { - const cards = cardSelectors.selectByIds(state, stack.cards); - cards.map((card, index) => - thunkAPI.dispatch( - cardUpdated({ - ...card, - captured: undefined, - x: stack.x + index * 15, - y: stack.y + (index + 1) * 15 - }) - ) - ); - thunkAPI.dispatch(stackRemoved(stack.id)); - } - } -); - -/** - * Push Card components onto the Stack by updating the Redux store and UI. - * @param stack The UUID of the Stack component to receive the cards. - * @param cards The UUIDs of Card components that should be pushed onto the Stack component. - */ -export const pushCards = createAppAsyncThunk( - 'stacks/pushCards', - async (input, thunkAPI) => { - const state = thunkAPI.getState(); - const stack = stackSelectors.selectById(state, input.stack); - const cards = cardSelectors.selectByIds(state, input.cards); - - if (stack && cards.length > 0) { - thunkAPI.dispatch( - stackUpdated({ - ...stack, - cards: [...stack.cards, ...input.cards] - }) - ); - cards.map(card => - thunkAPI.dispatch( - cardUpdated({ - ...card, - captured: stack.id - }) - ) - ); - } - } -); - -/** - * Pop Card components off of the Stack by updating the Redux store and UI. - * @param stack The UUID of the Stack component to pop the cards from. - * @param card The UUID of the Card component to be popped from the Stack component. - * @param x The updated horizontal position of the popped Card component. - * @param y The vertical position of the popped Card component. - */ -export const popCard = createAppAsyncThunk( - 'stacks/popCard', - async (input, thunkAPI) => { - const state = thunkAPI.getState(); - const stack = stackSelectors.selectById(state, input.stack); - const card = cardSelectors.selectById(state, input.card); - - if (stack && card) { - if (stack.cards.length <= 2) { - thunkAPI.dispatch(removeStack({ stack: stack.id })); - } else { - thunkAPI.dispatch( - stackUpdated({ - ...stack, - cards: stack.cards.filter(id => id !== input.card) - }) - ); - } - thunkAPI.dispatch( - cardUpdated({ - ...card, - captured: undefined, - x: input.x, - y: input.y - }) - ); - } - } -); diff --git a/src/test-utils/empty-store.ts b/src/test-utils/empty-store.ts deleted file mode 100644 index b9f867454..000000000 --- a/src/test-utils/empty-store.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { RootState } from '../store/store'; - -export const emptyStore: RootState = { - stacks: { - ids: [], - entities: {} - }, - cards: { - ids: [], - entities: {} - }, - filetypes: { - ids: [], - entities: {} - }, - metafiles: { - ids: [], - entities: {} - }, - repos: { - ids: [], - entities: {} - }, - branches: { - ids: [], - entities: {} - }, - commits: { - ids: [], - entities: {} - }, - modals: { - ids: [], - entities: {} - } -}; diff --git a/src/test-utils/mock-electron.ts b/src/test-utils/mock-electron.ts deleted file mode 100644 index daf804a6a..000000000 --- a/src/test-utils/mock-electron.ts +++ /dev/null @@ -1,10 +0,0 @@ -const sampleFilePaths = ['./src/test-utils/mock-file.ts', './src/test-utils/mock-store.ts']; -const sampleFilePath = './src/test-utils/mock-file.ts'; - -export const remote = { - dialog: { - // replace the showOpenDialog and showSaveDialog functions with spies which return a valid value - showOpenDialog: jest.fn().mockReturnValue(new Promise((resolve) => resolve({ canceled: false, filePaths: sampleFilePaths }))), - showSaveDialog: jest.fn().mockReturnValue(new Promise((resolve) => resolve({ canceled: false, filePath: sampleFilePath }))) - } -} \ No newline at end of file diff --git a/src/test-utils/mock-file.ts b/src/test-utils/mock-file.ts deleted file mode 100644 index 38fb155da..000000000 --- a/src/test-utils/mock-file.ts +++ /dev/null @@ -1,2 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -const rand: number = Math.floor(Math.random() * 6) + 1; \ No newline at end of file diff --git a/src/test-utils/mock-store.ts b/src/test-utils/mock-store.ts deleted file mode 100644 index 2f4a4c11a..000000000 --- a/src/test-utils/mock-store.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { AnyAction } from 'redux'; -import { getDefaultMiddleware } from '@reduxjs/toolkit'; -import configureMockStore, { MockStoreEnhanced } from 'redux-mock-store'; -import { RootState, AppDispatch, rootReducer } from '../store/store'; -import { listenerMiddleware } from '../store/listenerMiddleware'; - -const middlewares = (withListeners = false) => { - const defaultMiddlewares = getDefaultMiddleware({ serializableCheck: false, immutableCheck: false }); - return withListeners ? defaultMiddlewares.concat([listenerMiddleware.middleware]) : defaultMiddlewares; -} -const createMockStore = (withListeners = false) => configureMockStore(middlewares(withListeners)); - -/** - * The mocked Redux store does not execute any reducers, and therefore `getActions()` only provides the unexecuted actions - * without applying their updates on the state. In order to handle Thunk Action Creators that rely on `getState()` for - * controlling behavior, we must have actions apply their updates to the mocked store. Therefore, we must inject a reducer - * step into the state of the mocked store using a customized initial state. - * - * For more information, see: https://github.com/reduxjs/redux-mock-store/issues/71 and - * https://github.com/reduxjs/redux-mock-store/issues/71#issuecomment-515209822 - * @param initialState An initial state of the store. - * @returns {Function} A curried function for step-wise applying actions to an initial store state. - */ -export const createState = (initialState: RootState) => (actions: AnyAction[]): RootState => - actions.reduce((state, action) => rootReducer(state, action), initialState); - -/** - * Creates a mocked Redux store for testing purposes. The resulting store can be interacted with using: - * `store.dispatch()`: To dispatch Redux actions, thunks, and async thunks. - * `store.getActions()`: Returns the actions list of the mocked store. - * `store.getState()`: Returns the state of the mocked store. - * `store.clearActions()`: Clears the stored actions. - * `store.subscribe()`: Subscribes a listener to the store for specific actions. - * @param initialState A JavaScript object containing an initial Redux store state that mimicks the shape of `RootState`. - * @param withListeners Option for including possibly asynchronous listeners from createListenerMiddleware API. - * @returns {MockStoreEnhanced} A mocked store enhanced with listeners for mimicking relevant listener middleware. - */ -export const mockStore = (initialState: RootState, withListeners = false) => createMockStore(withListeners)(createState(initialState)); \ No newline at end of file diff --git a/src/test-utils/setupTests.ts b/src/test-utils/setupTests.ts deleted file mode 100644 index 585323050..000000000 --- a/src/test-utils/setupTests.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * 'ace-builds/webpack-resolver' is for dynamically loading modes and themes, however, Jest does not rely on webpack - * for setting configurations and resolving paths. Therefore, resolving paths to modes and themes during testing will - * not work unless paths are directly set using `basePath`, `modePath`, and `themePath`. For more details regarding this - * problem and the steps used to resolve it, see https://github.com/EPICLab/synectic/issues/90. - */ -import * as ace from 'ace-builds/src-noconflict/ace'; -ace.config.set('basePath', './node_modules/ace-builds/'); -ace.config.set('modePath', ''); -ace.config.set('themePath', ''); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index e381a401f..31bac6e94 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,24 +1,4 @@ { - "compilerOptions": { - "target": "ES6", - "allowJs": true, - "module": "commonjs", - "skipLibCheck": true, - "esModuleInterop": true, - "strictNullChecks": true, - "exactOptionalPropertyTypes": true, - "useUnknownInCatchVariables": true, - "noImplicitAny": true, - "noUncheckedIndexedAccess": true, - "sourceMap": true, - "baseUrl": ".", - "jsx": "react", - "outDir": "dist", - "moduleResolution": "node", - "resolveJsonModule": true, - "paths": { - "*": ["node_modules/*"] - } - }, - "include": ["src/**/*"] + "files": [], + "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 000000000..70133dd11 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,13 @@ +{ + "extends": "@electron-toolkit/tsconfig/tsconfig.node.json", + "include": [ + "electron.vite.config.*", + "src/main/*", + "src/preload/**/*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "types": ["electron-vite/node"] + } +} diff --git a/tsconfig.web.json b/tsconfig.web.json new file mode 100644 index 000000000..2cd9d4a19 --- /dev/null +++ b/tsconfig.web.json @@ -0,0 +1,22 @@ +{ + "extends": "@electron-toolkit/tsconfig/tsconfig.web.json", + "include": [ + "src/renderer/src/env.d.ts", + "src/renderer/src/**/*", + "src/renderer/src/**/*.tsx", + "src/preload/*.d.ts", + "src/preload/io/**/*", + "src/preload/git/**/*", + "src/preload/utils/**/*", + "types/*.d.ts", + ], + "compilerOptions": { + "composite": true, + "jsx": "react-jsx", + "noEmit": true, + "baseUrl": ".", + "paths": { + "@renderer/*": ["src/renderer/src/*"] + } + } +} diff --git a/src/store/types.ts b/types/app.d.ts similarity index 54% rename from src/store/types.ts rename to types/app.d.ts index c3e18b6d5..c6f0dd2f2 100644 --- a/src/store/types.ts +++ b/types/app.d.ts @@ -1,15 +1,16 @@ -// Type definitions for synectic 3.0.0 -// Project: https://github.com/EPICLab/synectic -// Definitions by: Nicholas Nelson -// TypeScript Version: 4.5 - +import type { UniqueIdentifier } from '@dnd-kit/core'; import { DateTime } from 'luxon'; import sha1 from 'sha1'; -import type { UniqueIdentifier } from '@dnd-kit/core'; -/** Universal unique identifier based on RFC4122 version 4 for cryptographically-strong random values. */ +/** + * Universal unique identifier based on RFC4122 version 4 for cryptographically-strong random + * values. + */ export type UUID = UniqueIdentifier; -/** Valid types for path values in "node::fs" module; fs-extra allows for `string | Buffer | URL` which is problematic when encoding for Redux. */ +/** + * Valid types for path values in "node::fs" module; fs-extra allows for `string | Buffer | URL` + * which is problematic when encoding for Redux. + */ export type PathLike = string; /** 160-bit hash value for identify revisions in Git and other VCS. */ export type SHA1 = ReturnType; @@ -20,7 +21,10 @@ type RGBA = `rgba(${number}, ${number}, ${number}, ${number})`; type HEX = `#${string}`; /** Color type representing CSS colors in hexidecimal, RGB, or RGBA format. */ export type Color = RGB | RGBA | HEX; -/** Detailed commit representation for Git. @deprecated Use `Commit` type, slice, selector, and thunks instead. */ +/** + * Detailed commit representation for Git. @deprecated Use `Commit` type, slice, selector, and + * thunks instead. + */ export type CommitObject = { oid: string; message: string; @@ -48,22 +52,22 @@ export type MergeOutput = { conflicts?: string[]; }; /** - * | status | description | - * | --------------------- | -------------------------------------------------------------------------------------- | - * | `"ignored"` | file ignored by a .gitignore rule | - * | `"unmodified"` | file unchanged from HEAD commit | - * | `"*modified"` | file has modifications, not yet staged | - * | `"*deleted"` | file has been removed, but the removal is not yet staged | - * | `"*added"` | file is untracked, not yet staged | - * | `"absent"` | file not present in HEAD commit, staging area, or working dir | - * | `"modified"` | file has modifications, staged | - * | `"deleted"` | file has been removed, staged | - * | `"added"` | previously untracked file, staged | - * | `"*unmodified"` | working dir and HEAD commit match, but index differs | - * | `"*absent"` | file not present in working dir or HEAD commit, but present in the index | - * | `"*undeleted"` | file was deleted from the index, but is still in the working dir | - * | `"*undeletemodified"` | file was deleted from the index, but is present with modifications in the working dir | - * | `"unmerged"` | file has unmerged changes from an incomplete merge | + * | status | description | + * | --------------------- | ------------------------------------------------------------------------------------- | + * | `"ignored"` | file ignored by a .gitignore rule | + * | `"unmodified"` | file unchanged from HEAD commit | + * | `"*modified"` | file has modifications, not yet staged | + * | `"*deleted"` | file has been removed, but the removal is not yet staged | + * | `"*added"` | file is untracked, not yet staged | + * | `"absent"` | file not present in HEAD commit, staging area, or working dir | + * | `"modified"` | file has modifications, staged | + * | `"deleted"` | file has been removed, staged | + * | `"added"` | previously untracked file, staged | + * | `"*unmodified"` | working dir and HEAD commit match, but index differs | + * | `"*absent"` | file not present in working dir or HEAD commit, but present in the index | + * | `"*undeleted"` | file was deleted from the index, but is still in the working dir | + * | `"*undeletemodified"` | file was deleted from the index, but is present with modifications in the working dir | + * | `"unmerged"` | file has unmerged changes from an incomplete merge | */ export type GitStatus = | 'modified' @@ -81,20 +85,20 @@ export type GitStatus = | '*undeletemodified' | 'unmerged'; /** - * | status | description | - * | --------------------- | -------------------------------------------------------------------------------------- | - * | `"clean"` | no untracked files and no modifications in tracked files | - * | `"unstaged"` | untracked files or uncommitted changes in tracked files exist, none are staged | - * | `"uncommitted"` | untracked files or uncommitted changes in tracked files exist, some are staged | - * | `"unmerged"` | unmerged paths possibly exist in the worktree directory, indicates incomplete merge | + * | status | description | + * | --------------- | ----------------------------------------------------------------------------------- | + * | `"clean"` | no untracked files and no modifications in tracked files | + * | `"unstaged"` | untracked files or uncommitted changes in tracked files exist, none are staged | + * | `"uncommitted"` | untracked files or uncommitted changes in tracked files exist, some are staged | + * | `"unmerged"` | unmerged paths possibly exist in the worktree directory, indicates incomplete merge | */ export type BranchStatus = 'clean' | 'unstaged' | 'uncommitted' | 'unmerged'; /** - * | status | description | - * | --------------------- | -------------------------------------------------------------------------------------- | - * | `"unmodified"` | file unchanged from metafile content | - * | `"modified"` | file has modifications, not yet saved | - * | `"unlinked"` | no file linked to metafile, virtual metafile | + * | status | description | + * | -------------- | -------------------------------------------- | + * | `"unmodified"` | file unchanged from metafile content | + * | `"modified"` | file has modifications, not yet saved | + * | `"unlinked"` | no file linked to metafile, virtual metafile | */ export type FilesystemStatus = 'modified' | 'unmodified' | 'unlinked'; export type CardType = @@ -119,3 +123,8 @@ export type ModalType = | 'Notification' | 'RevertCommitDialog'; export type Flag = 'checkout' | 'updating'; +export type Conflict = { + readonly path: string; + readonly conflicts: (string | number)[]; +}; +export type MergeAction = 'continue' | 'abort' | 'quit'; diff --git a/src/store/slices/branches.ts b/types/branch.d.ts similarity index 62% rename from src/store/slices/branches.ts rename to types/branch.d.ts index aed813551..be1bc5f7e 100644 --- a/src/store/slices/branches.ts +++ b/types/branch.d.ts @@ -1,13 +1,12 @@ -import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; -import { Override, isDefined } from '../../containers/utils'; -import { BranchStatus, PathLike, UUID } from '../types'; +import type { BranchStatus, PathLike, UUID } from './app'; +import type { Override } from './util'; /** * TODO: (bare) branches don't have a branch name, but have everything else (including possibly a - * linked-worktree) - * TODO: (detached HEAD) branches don't have a branch name + * linked-worktree) TODO: (detached HEAD) branches don't have a branch name */ +/** A representation of branches in version control; i.e. a named reference to a commit object. */ export type Branch = { /** The UUID for Branch object. */ readonly id: UUID; @@ -19,13 +18,13 @@ export type Branch = { */ readonly linked: boolean; /** - * The branch is current branch in the repository root path; i.e. the main worktree contains - * files tracked by this branch. + * The branch is current branch in the repository root path; i.e. the main worktree contains files + * tracked by this branch. */ readonly current: boolean; /** - * No working tree exists because the directory is part of a bare repository; i.e. commits - * cannot be made to it. + * No working tree exists because the directory is part of a bare repository; i.e. commits cannot + * be made to it. */ readonly bare: boolean; /** @@ -46,8 +45,8 @@ export type Branch = { */ readonly scope: 'local' | 'remote'; /** - * The name of the remote to fetch from/push to using `git fetch` and `git push` commands for - * this branch; default is `origin`. + * The name of the remote to fetch from/push to using `git fetch` and `git push` commands for this + * branch; default is `origin`. */ readonly remote: string; /** The latest Git branch status for this branch relative to index and any remote refs. */ @@ -67,29 +66,3 @@ export type UnmergedProps = { readonly merging: string; readonly status: 'unmerged'; }; -export const isUnmergedBranch = (branch: Branch | undefined): branch is UnmergedBranch => { - return isDefined(branch) && (branch as UnmergedBranch).merging !== undefined; -}; - -export const branchAdapter = createEntityAdapter(); - -export const branchSlice = createSlice({ - name: 'branches', - initialState: branchAdapter.getInitialState(), - reducers: { - branchAdded: branchAdapter.addOne, - branchRemoved: branchAdapter.removeOne, - branchUpdated: branchAdapter.upsertOne, - branchReplaced: branchAdapter.setOne - } - // extraReducers: (builder) => { - // builder - // .addCase(PURGE, (state) => { - // branchAdapter.removeAll(state); - // }) - // } -}); - -export const { branchAdded, branchRemoved, branchReplaced, branchUpdated } = branchSlice.actions; - -export default branchSlice.reducer; diff --git a/src/store/slices/cards.ts b/types/card.d.ts similarity index 55% rename from src/store/slices/cards.ts rename to types/card.d.ts index 7a682fa03..41e31309d 100644 --- a/src/store/slices/cards.ts +++ b/types/card.d.ts @@ -1,7 +1,4 @@ -import { createEntityAdapter, createSlice, EntityState, PayloadAction } from '@reduxjs/toolkit'; -import { DateTime } from 'luxon'; -import { PURGE } from 'redux-persist'; -import { CardType, Timestamp, UUID } from '../types'; +import type { CardType, Timestamp, UUID } from './app'; /** A card representation containing actionable content (e.g. editor, explorer, browser). */ export type Card = { @@ -33,31 +30,3 @@ export type Card = { /** The vertical position of card relative to parent object. */ readonly y: number; }; - -export const cardAdapter = createEntityAdapter(); - -export const cardSlice = createSlice({ - name: 'cards', - initialState: cardAdapter.getInitialState(), - reducers: { - cardAdded: cardAdapter.addOne, - cardRemoved: cardAdapter.removeOne, - cardUpdated: { - reducer: (state: EntityState, action: PayloadAction) => { - cardAdapter.upsertOne(state, action.payload); - }, - prepare: (card: Card) => { - return { payload: { ...card, modified: DateTime.local().valueOf() } }; - } - } - }, - extraReducers: builder => { - builder.addCase(PURGE, state => { - cardAdapter.removeAll(state); - }); - } -}); - -export const { cardAdded, cardRemoved, cardUpdated } = cardSlice.actions; - -export default cardSlice.reducer; diff --git a/types/commit.d.ts b/types/commit.d.ts new file mode 100644 index 000000000..7786a1246 --- /dev/null +++ b/types/commit.d.ts @@ -0,0 +1,25 @@ +import type { SHA1, Timestamp } from './app'; + +export type Commit = { + /** The Oid hash value, which is also the UUID for Commit object. */ + readonly oid: SHA1; + /** The commit message. */ + readonly message: string; + /** + * The list of the SHA1 commit hashes for logical predecessor(s) in the line of development (i.e. + * parents); this may be empty in the case of orphan or root commits. + */ + readonly parents: SHA1[]; + /** The information of the person who originally wrote the patch. */ + readonly author: { + name: string; + email: string; + timestamp: Timestamp | undefined; + }; + /** The information of the person who last applied the patch on behalf of the author. */ + readonly committer?: { + name: string; + email: string; + timestamp: Timestamp | undefined; + }; +}; diff --git a/types/filetype.d.ts b/types/filetype.d.ts new file mode 100644 index 000000000..ebd9138b9 --- /dev/null +++ b/types/filetype.d.ts @@ -0,0 +1,16 @@ +import type { CardType, UUID } from './app'; + +/** A supported filetype with mapping to type of supporting card in Synectic. */ +export type Filetype = { + /** The UUID for Filetype object. */ + readonly id: UUID; + /** The filetype format for encoding/decoding. */ + readonly filetype: string; + /** The type of card that can load content for this filetype. */ + readonly handler: CardType; + /** + * An array with all filetype extensions (e.g. `.py`, `.js`, `.gitignore`) associated with this + * filetype. + */ + readonly extensions: string[]; +}; diff --git a/types/metafile.d.ts b/types/metafile.d.ts new file mode 100644 index 000000000..f5b1af6e6 --- /dev/null +++ b/types/metafile.d.ts @@ -0,0 +1,103 @@ +import { DateTime } from 'luxon'; +import type { CardType, FilesystemStatus, Flag, GitStatus, PathLike, Timestamp, UUID } from './app'; +import type { Override } from './util'; + +/** + * A metafile representing specifications and state for files, directories, diffs, and virtual + * content loaded into Synectic. + */ +export type Metafile = { + /** The UUID for Metafile object. */ + readonly id: UUID; + /** + * The name of metafile (e.g. `data.php` for files, `tests/` for directories, + * `local/data.php<>remote/data.php` for diffs). + */ + readonly name: string; + /** + * The timestamp for last update to metafile properties (not directly associated with filesystem + * `mtime` or `ctime`). + */ + readonly modified: Timestamp; + /** The type of card that can load the content of this metafile. */ + readonly handler: CardType; + /** The filetype format for encoding/decoding contents, as well as determining syntax highlighting. */ + readonly filetype: string; + /** Flags indicating in-progress actions that might affect values in this metafile. */ + readonly flags: Flag[]; +} & Partial & + Partial & + Partial & + Partial & + Partial; + +/** + * A metafile without the requisite ID field (and with certain fields made optional), which can be + * used for composing valid Metafiles prior to them being assigned an ID. + */ +export type MetafileTemplate = Expand< + Override, Partial>> +>; +/** A metafile without an associated filesystem object. */ +export type VirtualMetafile = Omit; + +/** + * A metafile with an associated filesystem object (e.g. file or directory). Does not guarantee that + * type-specific fields have been added. + */ +export type FilebasedMetafile = Override; +export type FilebasedProps = { + /** The relative or absolute path to the file or directory of this metafile. */ + readonly path: PathLike; + /** The latest Filesystem status code for this file relative to the associated content. */ + readonly state: FilesystemStatus; + /** + * The timestamp for last observed update to the associated filesystem object (represented by the + * `mtime` filesystem value). + */ + readonly mtime: Timestamp; +}; + +/** A metafile that contains file information related to a similar type of filesystem object. */ +export type FileMetafile = Override; +export type FileProps = { + /** + * The textual contents maintained for files; can differ from actual file content when unsaved + * changes have been made. + */ + readonly content: string; +}; + +/** A metafile that contains directory information related to a similar type of filesystem object. */ +export type DirectoryMetafile = Override; +export type DescendantMetafiles = { directories: FilebasedMetafile[]; files: FilebasedMetafile[] }; +export type DirectoryProps = { + /** An array with all Metafile object UUIDs for direct sub-files and sub-directories. */ + readonly contains: UUID[]; +}; + +/** + * A metafile that is associated with a filesystem object that is tracked by a version control + * system. + */ +export type VersionedMetafile = Override; +export type VersionedProps = { + /** The UUID for associated Repository object. */ + readonly repo: UUID; + /** The UUID for associated Branch object. */ + readonly branch: UUID; + /** The latest Git status code for this metafile relative to the associated repository and branch. */ + readonly status: GitStatus; + /** + * An array indicating paths to conflicting sub-files (in the case of a DirectoryMetafile), or an + * array indicating the starting index for each Git conflict chunk in the content of this metafile + * (in the case of a FileMetafile). + */ + readonly conflicts: (number | PathLike)[]; +}; + +export type DiffMetafile = Override; +export type DiffProps = { + /** An array with all Card object UUIDs included in the diff output. */ + readonly targets: UUID[]; +}; diff --git a/src/store/slices/modals.ts b/types/modal.d.ts similarity index 64% rename from src/store/slices/modals.ts rename to types/modal.d.ts index a561dde05..1cf0a9334 100644 --- a/src/store/slices/modals.ts +++ b/types/modal.d.ts @@ -1,8 +1,5 @@ -import { createEntityAdapter, createSlice } from '@reduxjs/toolkit'; -import { PURGE } from 'redux-persist'; -import { ModalType, SHA1, UUID } from '../types'; -import { Override, Prettify, isDefined } from '../../containers/utils'; -import { MergeAction } from '../../containers/git'; +import type { MergeAction, ModalType, SHA1, UUID } from './app'; +import type { Override, Prettify } from './util'; /** A queued modal event (dialog or error) that requires a visible response from the system. */ export type Modal = { @@ -28,8 +25,6 @@ export type GitGraphProps = { /** The UUID for associated Repository object. */ readonly repo: UUID; }; -export const isGitGraphModal = (modal: Modal | undefined): modal is GitGraph => - isDefined(modal) && modal.type === 'GitGraph'; /** A modal for composing and initiating a commit through version control. */ export type CommitDialog = Prettify>; @@ -39,8 +34,6 @@ export type CommitDialogProps = { /** The UUID for associated Branch object. */ readonly branch: UUID; }; -export const isCommitDialogModal = (modal: Modal | undefined): modal is CommitDialog => - isDefined(modal) && modal.type === 'CommitDialog'; /** A modal for selecting and initiating a merge through version control. */ export type MergeDialog = Prettify>; @@ -52,8 +45,6 @@ export type MergeDialogProps = { /** Commands for interacting with a merge that is in progress. */ readonly mode?: MergeAction; }; -export const isMergeDialogModal = (modal: Modal | undefined): modal is MergeDialog => - isDefined(modal) && modal.type === 'MergeDialog'; /** A modal for creating a new branch within the filesystem and Redux store. */ export type NewBranchDialog = Prettify>; @@ -63,8 +54,6 @@ export type NewBranchDialogProps = { /** The SHA1 hash that HEAD will point to for the new branch. */ readonly head: SHA1; }; -export const isNewBranchDialog = (modal: Modal | undefined): modal is NewBranchDialog => - isDefined(modal) && modal.type === 'NewBranchDialog'; /** A modal for deleting an existing branch within the filesystem and Redux store. */ export type DeleteBranchDialog = Prettify>; @@ -74,8 +63,6 @@ export type DeleteBranchDialogProps = { /** The UUID for associated Branch object. */ readonly branch: UUID; }; -export const isDeleteBranchDialog = (modal: Modal | undefined): modal is DeleteBranchDialog => - isDefined(modal) && modal.type === 'DeleteBranchDialog'; /** A modal for notifying the user of system changes occurring within Synectic. */ export type Notification = Prettify>; @@ -83,8 +70,6 @@ export type NotificationProps = { /** The message to display within this notification. */ readonly message: UUID; }; -export const isNotification = (modal: Modal | undefined): modal is Notification => - isDefined(modal) && modal.type === 'Notification'; /** A modal for reverting a commit through version control. */ export type RevertCommitDialog = Prettify>; @@ -96,25 +81,3 @@ export type RevertCommitDialogProps = { /** THe UUID for associated Commit object that will be reverted. */ readonly commit: UUID; }; -export const isRevertCommitDialog = (modal: Modal | undefined): modal is RevertCommitDialog => - isDefined(modal) && modal.type === 'RevertCommitDialog'; - -export const modalAdapter = createEntityAdapter(); - -export const modalSlice = createSlice({ - name: 'modals', - initialState: modalAdapter.getInitialState(), - reducers: { - modalAdded: modalAdapter.addOne, - modalRemoved: modalAdapter.removeOne - }, - extraReducers: builder => { - builder.addCase(PURGE, state => { - modalAdapter.removeAll(state); - }); - } -}); - -export const { modalAdded, modalRemoved } = modalSlice.actions; - -export default modalSlice.reducer; diff --git a/types/repo.d.ts b/types/repo.d.ts new file mode 100644 index 000000000..5dbc2bca1 --- /dev/null +++ b/types/repo.d.ts @@ -0,0 +1,54 @@ +import type { PathLike, UUID } from './app'; + +/** A version control repository associated with content loaded into Synectic. */ +export type Repository = { + /** The UUID for Repository object. */ + readonly id: UUID; + /** + * The name of repository. Either a qualified name for remote-tracking repositories (e.g. + * `EPICLab/synectic`), or the root directory name for local-only repositories (e.g. `synectic`). + */ + readonly name: string; + /** The relative or absolute path to the main worktree root directory (e.g. _'/{project}'_). */ + readonly root: PathLike; + /** + * The URL for a CORS proxy service that enables User-Agent Header requests that meet same-origin + * policies on web services (including GitHub). + */ + readonly corsProxy: string; + /** + * The URL associated with any remote-hosted instances of this repository; contains empty string + * if local-only repository. + */ + readonly url: string; + /** The branch name corresponding to the default branch within this repository. */ + readonly default: string; + /** An array with all Branch object UUIDs for local branch refs associated with this repository. */ + readonly local: UUID[]; + /** An array with all Branch object UUIDs for remote branch refs associated with this repository. */ + readonly remote: UUID[]; + /** + * The type of OAuth authentication required based on the remote-hosting service for this + * repository. + */ + readonly oauth: 'github' | 'bitbucket' | 'gitlab'; + /** + * The authentication username associated with an account on the remote-hosting service indicated + * in `oauth`. Not all services require a username, see + * https://isomorphic-git.org/docs/en/authentication for service-specific authentication + * requirements. + */ + readonly username: string; + /** + * The authentication password associated with an account on the remote-hosting service indicated + * in `oauth`. + */ + readonly password: string; + /** + * The authentication token associated with an account on the remote-hosting service indicated in + * `oauth`. Not all services require a token, see + * https://isomorphic-git.org/docs/en/authentication for service-specific authentication + * requirements. + */ + readonly token: string; +}; diff --git a/types/stack.d.ts b/types/stack.d.ts new file mode 100644 index 000000000..76e188b62 --- /dev/null +++ b/types/stack.d.ts @@ -0,0 +1,19 @@ +import type { Timestamp, UUID } from './app'; + +/** A stack representation containing cards grouped according to the user. */ +export type Stack = { + /** The unique ID for Stack object. */ + readonly id: UUID; + /** The name of stack. */ + readonly name: string; + /** The timestamp when stack was created. */ + readonly created: Timestamp; + /** The timestamp for last update to stack properties. */ + readonly modified: Timestamp; + /** An array with all Card object unique IDs contained in stack. */ + readonly cards: UUID[]; + /** The horizontal position of stack relative to parent object. */ + readonly x: number; + /** The vertical position of stack relative to parent object. */ + readonly y: number; +}; diff --git a/types/util.d.ts b/types/util.d.ts new file mode 100644 index 000000000..9b8dc3859 --- /dev/null +++ b/types/util.d.ts @@ -0,0 +1,133 @@ +/** + * Expand and flatten nested types; which has the side effect that IntelliSense will pull up any + * nested subtypes and expand them into a single type for cleaner type debugging. Reused from: + * https://www.youtube.com/shorts/2lCCKiWGlC0 + */ +export type Prettify = { + [K in keyof T]: T[K]; +} & {}; // eslint-disable-line @typescript-eslint/ban-types + +/** + * Expand object types one level deep; which has the side effect that IntelliSense will infer the + * resolved type of a complex type (i.e. types that use TS Utility Types). Reused from: + * https://stackoverflow.com/a/57683652 + */ +export type Expand = T extends infer O ? { [K in keyof O]: O[K] } : never; + +/** + * Expand object types recursively; which has the side effect that IntelliSense will infer the + * resolved type of a complex type (i.e. types that use TS Utility Types). Reused from: + * https://stackoverflow.com/a/57683652 + */ +export type ExpandRecursively = T extends object + ? T extends infer O + ? { [K in keyof O]: ExpandRecursively } + : never + : T; + +/** + * Extract keys from all leaf properties in an object and converts them into a tuple of string + * literals. For example, `{ a: number; b: { c: string; d: { e: string; }; }; }` would be turned + * into the type `["a", "c", "e"]`. This function uses mapped types, conditional types, lookup + * types, and recursive typing to accomplish this conversion. Inspired by: + * https://stackoverflow.com/a/68244131 + */ +export type NestedKeys = ExpandRecursively< + { + [K in Exclude]: T[K] extends object ? NestedKeys : `${K}`; + }[Exclude] +>; + +type DotPrefix = T extends '' ? '' : `.${T}`; +/** + * Extract dot-prefixed path keys from all leaf properties in and object and converts them into a + * tuple of string literals. For example, `{ a: number; b: { c: string; d: { e: string; }; }; }` + * would be turned into the type `["a", "b.c", "b.d.e"]`. This function is similar to + * {@link NestedKeys}, but accomplishes the results through recursive descent and infering the + * resulting paths. Inspired by: https://stackoverflow.com/a/68404823 + */ +export type NestedDotKeys = ( + T extends object + ? { [K in Exclude]: `${K}${DotPrefix>}` }[Exclude< + keyof T, + symbol + >] + : '' +) extends infer D + ? Extract + : never; + +/** + * Requires all properties in U to override types in the intersection of T & U. Reused from: + * https://dev.to/vborodulin/ts-how-to-override-properties-with-type-intersection-554l + */ +export type Override = Omit & U; + +/** + * Requires all properties to be nullable (i.e. `null` or `undefined` or `void`); the inverse of + * `NonNullable`. Inspired by: + * https://javascript.plainenglish.io/typescript-advanced-mapped-and-conditional-types-2d10c96042fe + */ +export type Nullable = { + [P in keyof T]: T[P] | null | undefined; +}; + +/** + * Requires all properties in T to be non-nullable; either through type narrowing to exclude + * nullable types or excluding the property entirely when it resolves to only nullable types + * (`undefined | null | void`). Inspired by: https://stackoverflow.com/a/69338644 + */ +export type NonNullableObject = { + [P in keyof T]: Exclude; +}; + +/** + * Requires at least one type property, similar to `Partial` but excludes the empty object. + * Inspired by: + * https://stackoverflow.com/questions/48230773/how-to-create-a-partial-like-that-requires-a-single-property-to-be-set/48244432#48244432 + */ +export type AtLeastOne }> = Partial & U[keyof U]; + +/** + * Requires exactly one type property in an object, no more and no less. Inspired by: + * https://github.com/sindresorhus/type-fest/blob/main/source/require-exactly-one.d.ts + */ +export type ExactlyOne = { + [K in U]: Required> & Partial, never>>; +}[U] & + Omit; + +/** + * From T, set as required all properties whose keys are in the union K Inspired by: + * https://github.com/bkinseyx/testing-react-redux-toolkit/blob/610c8a676b7e799ea20047bf46dc35c47b3b988b/src/utils/types.ts + */ +export type WithRequired = Omit & Required>; + +/** + * From T, set as optional all properties whose keys are in the union K Inspired by: + * https://github.com/bkinseyx/testing-react-redux-toolkit/blob/610c8a676b7e799ea20047bf46dc35c47b3b988b/src/utils/types.ts + */ +export type WithOptional = Omit & Partial>; + +/** + * From T, set the value to never and optional for all properties that are exclusive to T (i.e. are + * not assignable to U). Reused from: + * https://github.com/ts-essentials/ts-essentials/blob/e0307a2e54bb6ae55666dfe434f840ccfc04e0c5/lib/types.ts + */ +export type Without = { [P in Exclude]?: never }; + +/** + * Require type to exclusively match either T or U, but not both. This is a `mutually exclusive or` + * (XOR) operation between types. Reused from: + * https://github.com/ts-essentials/ts-essentials/blob/e0307a2e54bb6ae55666dfe434f840ccfc04e0c5/lib/types.ts + * Inspired from: https://github.com/Microsoft/TypeScript/issues/14094 + */ +export type Either = T | U extends object ? (Without & U) | (Without & T) : T | U; + +export type GitProgressEvent = { + phase: string; + loaded: number; + total: number; +}; + +export type ProgressCallback = (progress: GitProgressEvent) => void | Promise; diff --git a/version.js b/version.js deleted file mode 100644 index f554997c0..000000000 --- a/version.js +++ /dev/null @@ -1,2 +0,0 @@ -// Generated by genversion. -module.exports = '4.4.2' diff --git a/webpack.main.config.ts b/webpack.main.config.ts deleted file mode 100644 index 6b2207b90..000000000 --- a/webpack.main.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Configuration } from 'webpack'; - -import { rules } from './webpack.rules'; - -export const mainConfig: Configuration = { - /** - * This is the main entry point for your application, it's the first file - * that runs in the main process. - */ - entry: './src/index.ts', - // Put your normal webpack config below here - module: { - rules - }, - resolve: { - extensions: ['.js', '.ts', '.jsx', '.tsx', '.css', '.json'] - } -}; diff --git a/webpack.plugins.ts b/webpack.plugins.ts deleted file mode 100644 index bc87e27d1..000000000 --- a/webpack.plugins.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type IForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const ForkTsCheckerWebpackPlugin: typeof IForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); - -export const plugins = [ - new ForkTsCheckerWebpackPlugin({ - logger: 'webpack-infrastructure' - }) -]; diff --git a/webpack.renderer.config.ts b/webpack.renderer.config.ts deleted file mode 100644 index cdd784573..000000000 --- a/webpack.renderer.config.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { Configuration } from 'webpack'; -import path from 'path'; - -import { rules } from './webpack.rules'; -import { plugins } from './webpack.plugins'; - -rules.push({ - test: /\.css$/, - use: [{ loader: 'style-loader' }, { loader: 'css-loader' }] -}); - -export const rendererConfig: Configuration = { - module: { - rules - }, - plugins, - resolve: { - alias: { - 'react-dnd': path.resolve('node_modules/react-dnd') - }, - extensions: ['.js', '.ts', '.jsx', '.tsx', '.css'], - fallback: { - assert: false, - constants: false, - crypto: false, - fs: false, - os: false, - path: false, - stream: false, - url: false, - util: false - } - } -}; diff --git a/webpack.rules.ts b/webpack.rules.ts deleted file mode 100644 index 34750f804..000000000 --- a/webpack.rules.ts +++ /dev/null @@ -1,35 +0,0 @@ -import type { ModuleOptions } from 'webpack'; - -export const rules: Required['rules'] = [ - // Add support for native node modules - { - // We're specifying native_modules in the test because the asset relocator loader generates a - // "fake" .node file which is really a cjs file. - test: /native_modules[/\\].+\.node$/, - use: 'node-loader' - }, - { - test: /[/\\]node_modules[/\\].+\.(m?js|node)$/, - parser: { amd: false }, - use: { - loader: '@vercel/webpack-asset-relocator-loader', - options: { - outputAssetBase: 'native_modules' - } - } - }, - { - test: /\.tsx?$/, - exclude: /(node_modules|\.webpack)/, - use: { - loader: 'ts-loader', - options: { - transpileOnly: true - } - } - }, - { - test: /\.(png|jpe?g|gif|svg|ico|icns)$/i, - type: 'asset/resource' - } -]; diff --git a/yarn.lock b/yarn.lock index 60faf701d..e6eb831ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,20 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd - languageName: node - linkType: hard - -"@adobe/css-tools@npm:^4.3.0": - version: 4.3.1 - resolution: "@adobe/css-tools@npm:4.3.1" - checksum: ad43456379ff391132aff687ece190cb23ea69395e23c9b96690eeabe2468da89a4aaf266e4f8b6eaab53db3d1064107ce0f63c3a974e864f4a04affc768da3f - languageName: node - linkType: hard - "@ampproject/remapping@npm:^2.2.0": version: 2.2.1 resolution: "@ampproject/remapping@npm:2.2.1" @@ -29,131 +15,85 @@ __metadata: languageName: node linkType: hard -"@atao60/fse-cli@npm:^0.1.9": - version: 0.1.9 - resolution: "@atao60/fse-cli@npm:0.1.9" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.22.13": + version: 7.22.13 + resolution: "@babel/code-frame@npm:7.22.13" dependencies: - "@babel/runtime": ^7.13.10 - arg: ^5.0.0 - chalk: ^4.1.0 - core-js: ^3.10.1 - fs-extra: ^11.1.1 - graceful-fs: ^4.2.6 - inquirer: ^8.0.0 - regenerator-runtime: ^0.13.7 - source-map-support: ^0.5.19 - terminal-link: ^3.0.0 - tslib: ^2.2.0 - bin: - fse: bin/fse.js - fse-cli: bin/fse.js - fse-cli-copy: bin/fse.js - fse-cli-emptyDir: bin/fse.js - fse-cli-ensureDir: bin/fse.js - fse-cli-ensureFile: bin/fse.js - fse-cli-help: bin/fse.js - fse-cli-mkdirp: bin/fse.js - fse-cli-mkdirs: bin/fse.js - fse-cli-move: bin/fse.js - fse-cli-remove: bin/fse.js - fse-cli-rimraf: bin/fse.js - fse-cli-touch: bin/fse.js - fse-cli-version: bin/fse.js - fse-copy: bin/fse.js - fse-emptyDir: bin/fse.js - fse-ensureDir: bin/fse.js - fse-ensureFile: bin/fse.js - fse-help: bin/fse.js - fse-mkdirp: bin/fse.js - fse-mkdirs: bin/fse.js - fse-move: bin/fse.js - fse-remove: bin/fse.js - fse-rimraf: bin/fse.js - fse-touch: bin/fse.js - fse-version: bin/fse.js - checksum: 91db7d43e965303e9767142411883c840756bc832f51512c51648d1f1fb58bbb82d84fb04ab63bc4acc1917ec73bb1faba97fed0b9183b23b2ac937bc9c0e717 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.22.10, @babel/code-frame@npm:^7.22.5": - version: 7.22.10 - resolution: "@babel/code-frame@npm:7.22.10" - dependencies: - "@babel/highlight": ^7.22.10 + "@babel/highlight": ^7.22.13 chalk: ^2.4.2 - checksum: 89a06534ad19759da6203a71bad120b1d7b2ddc016c8e07d4c56b35dea25e7396c6da60a754e8532a86733092b131ae7f661dbe6ba5d165ea777555daa2ed3c9 + checksum: 22e342c8077c8b77eeb11f554ecca2ba14153f707b85294fcf6070b6f6150aae88a7b7436dd88d8c9289970585f3fe5b9b941c5aa3aa26a6d5a8ef3f292da058 languageName: node linkType: hard "@babel/compat-data@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/compat-data@npm:7.22.9" - checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 + version: 7.22.20 + resolution: "@babel/compat-data@npm:7.22.20" + checksum: efedd1d18878c10fde95e4d82b1236a9aba41395ef798cbb651f58dbf5632dbff475736c507b8d13d4c8f44809d41c0eb2ef0d694283af9ba5dd8339b6dab451 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.4.4": - version: 7.22.10 - resolution: "@babel/core@npm:7.22.10" +"@babel/core@npm:^7.22.20, @babel/core@npm:^7.22.8": + version: 7.23.0 + resolution: "@babel/core@npm:7.23.0" dependencies: "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.10 - "@babel/generator": ^7.22.10 - "@babel/helper-compilation-targets": ^7.22.10 - "@babel/helper-module-transforms": ^7.22.9 - "@babel/helpers": ^7.22.10 - "@babel/parser": ^7.22.10 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.10 - "@babel/types": ^7.22.10 - convert-source-map: ^1.7.0 + "@babel/code-frame": ^7.22.13 + "@babel/generator": ^7.23.0 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-module-transforms": ^7.23.0 + "@babel/helpers": ^7.23.0 + "@babel/parser": ^7.23.0 + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.0 + "@babel/types": ^7.23.0 + convert-source-map: ^2.0.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 - json5: ^2.2.2 + json5: ^2.2.3 semver: ^6.3.1 - checksum: cc4efa09209fe1f733cf512e9e4bb50870b191ab2dee8014e34cd6e731f204e48476cc53b4bbd0825d4d342304d577ae43ff5fd8ab3896080673c343321acb32 + checksum: cebd9b48dbc970a7548522f207f245c69567e5ea17ebb1a4e4de563823cf20a01177fe8d2fe19b6e1461361f92fa169fd0b29f8ee9d44eeec84842be1feee5f2 languageName: node linkType: hard -"@babel/generator@npm:^7.22.10, @babel/generator@npm:^7.7.2": - version: 7.22.10 - resolution: "@babel/generator@npm:7.22.10" +"@babel/generator@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/generator@npm:7.23.0" dependencies: - "@babel/types": ^7.22.10 + "@babel/types": ^7.23.0 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 59a79730abdff9070692834bd3af179e7a9413fa2ff7f83dff3eb888765aeaeb2bfc7b0238a49613ed56e1af05956eff303cc139f2407eda8df974813e486074 + checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/helper-compilation-targets@npm:7.22.10" +"@babel/helper-compilation-targets@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 browserslist: ^4.21.9 lru-cache: ^5.1.1 semver: ^6.3.1 - checksum: f6f1896816392bcff671bbe6e277307729aee53befb4a66ea126e2a91eda78d819a70d06fa384c74ef46c1595544b94dca50bef6c78438d9ffd31776dafbd435 + checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-environment-visitor@npm:7.22.5" - checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" +"@babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a + "@babel/template": ^7.22.15 + "@babel/types": ^7.23.0 + checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 languageName: node linkType: hard @@ -166,31 +106,31 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-imports@npm:7.22.5" +"@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad + "@babel/types": ^7.22.15 + checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-module-transforms@npm:7.22.9" +"@babel/helper-module-transforms@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-module-transforms@npm:7.23.0" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-simple-access": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 + checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0": +"@babel/helper-plugin-utils@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 @@ -222,289 +162,130 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-option@npm:7.22.5" - checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 +"@babel/helper-validator-option@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-validator-option@npm:7.22.15" + checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d languageName: node linkType: hard -"@babel/helpers@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/helpers@npm:7.22.10" +"@babel/helpers@npm:^7.23.0": + version: 7.23.1 + resolution: "@babel/helpers@npm:7.23.1" dependencies: - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.10 - "@babel/types": ^7.22.10 - checksum: 3b1219e362df390b6c5d94b75a53fc1c2eb42927ced0b8022d6a29b833a839696206b9bdad45b4805d05591df49fc16b6fb7db758c9c2ecfe99e3e94cb13020f + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.0 + "@babel/types": ^7.23.0 + checksum: acfc345102045c24ea2a4d60e00dcf8220e215af3add4520e2167700661338e6a80bd56baf44bb764af05ec6621101c9afc315dc107e18c61fa6da8acbdbb893 languageName: node linkType: hard -"@babel/highlight@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/highlight@npm:7.22.10" +"@babel/highlight@npm:^7.22.13": + version: 7.22.20 + resolution: "@babel/highlight@npm:7.22.20" dependencies: - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: f714a1e1a72dd9d72f6383f4f30fd342e21a8df32d984a4ea8f5eab691bb6ba6db2f8823d4b4cf135d98869e7a98925b81306aa32ee3c429f8cfa52c75889e1b + checksum: 84bd034dca309a5e680083cd827a766780ca63cef37308404f17653d32366ea76262bd2364b2d38776232f2d01b649f26721417d507e8b4b6da3e4e739f6d134 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.10, @babel/parser@npm:^7.22.5": - version: 7.22.10 - resolution: "@babel/parser@npm:7.22.10" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/parser@npm:7.23.0" bin: parser: ./bin/babel-parser.js - checksum: af51567b7d3cdf523bc608eae057397486c7fa6c2e5753027c01fe5c36f0767b2d01ce3049b222841326cc5b8c7fda1d810ac1a01af0a97bb04679e2ef9f7049 - languageName: node - linkType: hard - -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 7ed1c1d9b9e5b64ef028ea5e755c0be2d4e5e4e3d6cf7df757b9a8c4cfa4193d268176d0f1f7fbecdda6fe722885c7fda681f480f3741d8a2d26854736f05367 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 3a10849d83e47aec50f367a9e56a6b22d662ddce643334b087f9828f4c3dd73bdc5909aaeabe123fed78515767f9ca43498a0e621c438d1cd2802d7fae3c9648 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.8.3": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": ^7.12.13 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 24f34b196d6342f28d4bad303612d7ff566ab0a013ce89e775d98d6f832969462e7235f3e7eaf17678a533d4be0ba45d3ae34ab4e5a9dcbda5d98d49e5efa2fc - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 166ac1125d10b9c0c430e4156249a13858c0366d38844883d75d27389621ebe651115cb2ceb6dc011534d5055719fa1727b59f39e1ab3ca97820eef3dcab5b9b - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bf5aea1f3188c9a507e16efe030efb996853ca3cadd6512c51db7233cc58f3ac89ff8c6bdfb01d30843b161cfe7d321e1bf28da82f7ab8d7e6bc5464666f354a + checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.7.2": +"@babel/plugin-transform-arrow-functions@npm:^7.22.5": version: 7.22.5 - resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" + resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: aff33577037e34e515911255cdbb1fd39efee33658aa00b8a5fd3a4b903585112d037cce1cc9e4632f0487dc554486106b79ccd5ea63a2e00df4363f6d4ff886 - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 87aca4918916020d1fedba54c0e232de408df2644a425d153be368313fdde40d96088feed6c4e5ab72aac89be5d07fef2ddf329a15109c5eb65df006bf2580d1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.8.3": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": ^7.10.4 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 01ec5547bd0497f76cc903ff4d6b02abc8c05f301c88d2622b6d834e33a5651aa7c7a3d80d8d57656a4588f7276eba357f6b7e006482f5b564b7a6488de493a1 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: fddcf581a57f77e80eb6b981b10658421bc321ba5f0a5b754118c6a92a5448f12a0c336f77b8abf734841e102e5126d69110a306eadb03ca3e1547cab31f5cbf - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 910d90e72bc90ea1ce698e89c1027fed8845212d5ab588e35ef91f13b93143845f94e2539d831dc8d8ededc14ec02f04f7bd6a8179edd43a326c784e7ed7f0b9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": ^7.8.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: eef94d53a1453361553c1f98b68d17782861a04a392840341bc91780838dd4e695209c783631cf0de14c635758beafb6a3a65399846ffa4386bff90639347f30 - languageName: node - linkType: hard - -"@babel/plugin-syntax-top-level-await@npm:^7.8.3": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": ^7.14.5 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: bbd1a56b095be7820029b209677b194db9b1d26691fe999856462e66b25b281f031f3dfd91b1619e9dcf95bebe336211833b854d0fb8780d618e35667c2d0d7e + checksum: 35abb6c57062802c7ce8bd96b2ef2883e3124370c688bbd67609f7d2453802fb73944df8808f893b6c67de978eb2bcf87bbfe325e46d6f39b5fcb09ece11d01a languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.7.2": +"@babel/plugin-transform-react-jsx-self@npm:^7.22.5": version: 7.22.5 - resolution: "@babel/plugin-syntax-typescript@npm:7.22.5" + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.22.5" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8ab7718fbb026d64da93681a57797d60326097fd7cb930380c8bffd9eb101689e90142c760a14b51e8e69c88a73ba3da956cb4520a3b0c65743aee5c71ef360a + checksum: 671eebfabd14a0c7d6ae805fff7e289dfdb7ba984bb100ea2ef6dad1d6a665ebbb09199ab2e64fca7bc78bd0fdc80ca897b07996cf215fafc32c67bc564309af languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.4.4": +"@babel/plugin-transform-react-jsx-source@npm:^7.22.5": version: 7.22.5 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.22.5" dependencies: - "@babel/helper-module-transforms": ^7.22.5 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-simple-access": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2067aca8f6454d54ffcce69b02c457cfa61428e11372f6a1d99ff4fcfbb55c396ed2ca6ca886bf06c852e38c1a205b8095921b2364fd0243f3e66bc1dda61caa - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.22.10 - resolution: "@babel/runtime@npm:7.22.10" - dependencies: - regenerator-runtime: ^0.14.0 - checksum: 524d41517e68953dbc73a4f3616b8475e5813f64e28ba89ff5fca2c044d535c2ea1a3f310df1e5bb06162e1f0b401b5c4af73fe6e2519ca2450d9d8c44cf268d + checksum: 4ca2bd62ca14f8bbdcda9139f3f799e1c1c1bae504b67c1ca9bca142c53d81926d1a2b811f66a625f20999b2d352131053d886601f1ba3c1e9378c104d884277 languageName: node linkType: hard -"@babel/runtime@npm:^7.22.10": - version: 7.22.11 - resolution: "@babel/runtime@npm:7.22.11" +"@babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.22.15, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.23.1 + resolution: "@babel/runtime@npm:7.23.1" dependencies: regenerator-runtime: ^0.14.0 - checksum: a5cd6683a8fcdb8065cb1677f221e22f6c67ec8f15ad1d273b180b93ab3bd86c66da2c48f500d4e72d8d2cfa85ff4872a3f350e5aa3855630036af5da765c001 + checksum: 0cd0d43e6e7dc7f9152fda8c8312b08321cda2f56ef53d6c22ebdd773abdc6f5d0a69008de90aa41908d00e2c1facb24715ff121274e689305c858355ff02c70 languageName: node linkType: hard -"@babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" +"@babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 + "@babel/code-frame": ^7.22.13 + "@babel/parser": ^7.22.15 + "@babel/types": ^7.22.15 + checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd languageName: node linkType: hard -"@babel/traverse@npm:^7.22.10": - version: 7.22.10 - resolution: "@babel/traverse@npm:7.22.10" +"@babel/traverse@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/traverse@npm:7.23.0" dependencies: - "@babel/code-frame": ^7.22.10 - "@babel/generator": ^7.22.10 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/code-frame": ^7.22.13 + "@babel/generator": ^7.23.0 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.10 - "@babel/types": ^7.22.10 + "@babel/parser": ^7.23.0 + "@babel/types": ^7.23.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 9f7b358563bfb0f57ac4ed639f50e5c29a36b821a1ce1eea0c7db084f5b925e3275846d0de63bde01ca407c85d9804e0efbe370d92cd2baaafde3bd13b0f4cdb + checksum: 0b17fae53269e1af2cd3edba00892bc2975ad5df9eea7b84815dab07dfec2928c451066d51bc65b4be61d8499e77db7e547ce69ef2a7b0eca3f96269cb43a0b0 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.10, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": - version: 7.22.10 - resolution: "@babel/types@npm:7.22.10" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.8.3": + version: 7.23.0 + resolution: "@babel/types@npm:7.23.0" dependencies: "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: 095c4f4b7503fa816e4094113f0ec2351ef96ff32012010b771693066ff628c7c664b21c6bd3fb93aeb46fe7c61f6b3a3c9e4ed0034d6a2481201c417371c8af - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 850f9305536d0f2bd13e9e0881cb5f02e4f93fad1189f7b2d4bebf694e3206924eadee1068130d43c11b750efcc9405f88a8e42ef098b6d75239c0f047de1a27 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": 0.3.9 - checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa + checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 languageName: node linkType: hard @@ -570,340 +351,36 @@ __metadata: languageName: node linkType: hard -"@electron-forge/cli@npm:^6.4.2": - version: 6.4.2 - resolution: "@electron-forge/cli@npm:6.4.2" - dependencies: - "@electron-forge/core": 6.4.2 - "@electron-forge/shared-types": 6.4.2 - "@electron/get": ^2.0.0 - chalk: ^4.0.0 - commander: ^4.1.1 - debug: ^4.3.1 - fs-extra: ^10.0.0 - listr2: ^5.0.3 - semver: ^7.2.1 - bin: - electron-forge: dist/electron-forge.js - electron-forge-vscode-nix: script/vscode.sh - electron-forge-vscode-win: script/vscode.cmd - checksum: fc679ec2715bcebe2cc11cbb56943bb667d12f56ce603647a706b1e58a5ac8426632bd89118fc6b9bf08de1834f3dac004362fd791d61530b31c9b6a0885b7ea - languageName: node - linkType: hard - -"@electron-forge/core-utils@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/core-utils@npm:6.4.1" - dependencies: - "@electron-forge/shared-types": 6.4.1 - "@electron/rebuild": ^3.2.10 - "@malept/cross-spawn-promise": ^2.0.0 - chalk: ^4.0.0 - debug: ^4.3.1 - find-up: ^5.0.0 - fs-extra: ^10.0.0 - log-symbols: ^4.0.0 - semver: ^7.2.1 - yarn-or-npm: ^3.0.1 - checksum: bd88e16e498ab0a83bb2e218b70bf677816a2314fe08e770c3ae24a31926b01660c0bdd3fa6c9653a8c2772324f323605627532ee376ea2d741a4e07e3f81d1c - languageName: node - linkType: hard - -"@electron-forge/core-utils@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/core-utils@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@electron/rebuild": ^3.2.10 - "@malept/cross-spawn-promise": ^2.0.0 - chalk: ^4.0.0 - debug: ^4.3.1 - find-up: ^5.0.0 - fs-extra: ^10.0.0 - log-symbols: ^4.0.0 - semver: ^7.2.1 - yarn-or-npm: ^3.0.1 - checksum: 91db8534fa7af85346f7321bf9dd4815563c645a42a8d5a01ec650ece57ed2a1e86453a5f221da20019bb3b44f1efbf39d4d5c22fdf3fc7773cc03dd7cc0903a - languageName: node - linkType: hard - -"@electron-forge/core@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/core@npm:6.4.2" - dependencies: - "@electron-forge/core-utils": 6.4.2 - "@electron-forge/maker-base": 6.4.2 - "@electron-forge/plugin-base": 6.4.2 - "@electron-forge/publisher-base": 6.4.2 - "@electron-forge/shared-types": 6.4.2 - "@electron-forge/template-base": 6.4.2 - "@electron-forge/template-vite": 6.4.2 - "@electron-forge/template-vite-typescript": 6.4.2 - "@electron-forge/template-webpack": 6.4.2 - "@electron-forge/template-webpack-typescript": 6.4.2 - "@electron/get": ^2.0.0 - "@electron/rebuild": ^3.2.10 - "@malept/cross-spawn-promise": ^2.0.0 - chalk: ^4.0.0 - debug: ^4.3.1 - electron-packager: ^17.1.2 - fast-glob: ^3.2.7 - filenamify: ^4.1.0 - find-up: ^5.0.0 - fs-extra: ^10.0.0 - got: ^11.8.5 - interpret: ^3.1.1 - listr2: ^5.0.3 - lodash: ^4.17.20 - log-symbols: ^4.0.0 - node-fetch: ^2.6.7 - progress: ^2.0.3 - rechoir: ^0.8.0 - resolve-package: ^1.0.1 - semver: ^7.2.1 - source-map-support: ^0.5.13 - sudo-prompt: ^9.1.1 - username: ^5.1.0 - yarn-or-npm: ^3.0.1 - checksum: 491ca4f5c12c782ca858ecf90124e932794afbc622c538891127a2722cf8f1beacb00d830d065e56accf24f408f47d4ac83e985d4c728fecb78d64587ef88989 - languageName: node - linkType: hard - -"@electron-forge/maker-base@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/maker-base@npm:6.4.1" - dependencies: - "@electron-forge/shared-types": 6.4.1 - fs-extra: ^10.0.0 - which: ^2.0.2 - checksum: 30b798cf3be3d84e3756ffe9c714e1529e6ddd27eaff74fc1470abe5671f9226480d352fa2c391cc9e7b0b07f4824fdd567268c1551e9319e83c054f917918f4 - languageName: node - linkType: hard - -"@electron-forge/maker-base@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/maker-base@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - fs-extra: ^10.0.0 - which: ^2.0.2 - checksum: 59bc1e33b6fc1833930d3877ca1adbd15249a114108ebadba7e1f60c0798624099e255d52e08e816ce6ae8ff024295afd0296149f74a786d45acc57206a1ab7a - languageName: node - linkType: hard - -"@electron-forge/maker-deb@npm:^6.4.2": - version: 6.4.2 - resolution: "@electron-forge/maker-deb@npm:6.4.2" - dependencies: - "@electron-forge/maker-base": 6.4.2 - "@electron-forge/shared-types": 6.4.2 - electron-installer-debian: ^3.2.0 - dependenciesMeta: - electron-installer-debian: - optional: true - checksum: f7e2032ba429e6a8638dc6dd21d5b1f399f988df49521a27cffe840ed871738f7614c60bcab89255f189c75745dd9348c40b302f44eff3dec0993feefb0828fa - languageName: node - linkType: hard - -"@electron-forge/maker-dmg@npm:^6.4.2": - version: 6.4.2 - resolution: "@electron-forge/maker-dmg@npm:6.4.2" - dependencies: - "@electron-forge/maker-base": 6.4.2 - "@electron-forge/shared-types": 6.4.2 - electron-installer-dmg: ^4.0.0 - fs-extra: ^10.0.0 - dependenciesMeta: - electron-installer-dmg: - optional: true - checksum: c83689f929d19dee23fd34644f50b56eec93917a1f069243969621706e8267c3474aca50c457b1ce52aa4c0e2b0f6fc76fedd9b4cbd08cd070f9c4e161a51565 - languageName: node - linkType: hard - -"@electron-forge/maker-rpm@npm:^6.4.2": - version: 6.4.2 - resolution: "@electron-forge/maker-rpm@npm:6.4.2" - dependencies: - "@electron-forge/maker-base": 6.4.2 - "@electron-forge/shared-types": 6.4.2 - electron-installer-redhat: ^3.2.0 - dependenciesMeta: - electron-installer-redhat: - optional: true - checksum: 3bbecfd7a6e21811945b5ada66336ba934c9c46314b28ce1e663d5d9588b0d36cfcaf1b247c174ea93959c7e2cc8df39288bfeab7b8926d94b6235a535221680 - languageName: node - linkType: hard - -"@electron-forge/maker-squirrel@npm:^6.4.1": - version: 6.4.1 - resolution: "@electron-forge/maker-squirrel@npm:6.4.1" - dependencies: - "@electron-forge/maker-base": 6.4.1 - "@electron-forge/shared-types": 6.4.1 - electron-winstaller: ^5.0.0 - fs-extra: ^10.0.0 - dependenciesMeta: - electron-winstaller: - optional: true - checksum: d05e154f404d1fee8de1422c39b4efd9545cf8003add1faf8ce81e91cab77511df62896a52f60a23e472cac7242f73541dc3139aee03852386d56db9a184a9ff - languageName: node - linkType: hard - -"@electron-forge/plugin-base@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/plugin-base@npm:6.4.1" - dependencies: - "@electron-forge/shared-types": 6.4.1 - checksum: 9201a1819483c27a42f14d9a3cf28c50b65c6bc1fb310f4e44f8a26d3d705b33dec8cbe1cf8086780fade8afb73b32c5cee4e2ef4027228e873ecb3869755d7e - languageName: node - linkType: hard - -"@electron-forge/plugin-base@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/plugin-base@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - checksum: e5ee02111198b5748347913c33015e8d2c9abc097b13dbdc918a42c0e8e660c8f1451e3b6e2ec4108911313be1c76a59682547087ae3052bbdc9c8b6c0953795 - languageName: node - linkType: hard - -"@electron-forge/plugin-webpack@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/plugin-webpack@npm:6.4.1" - dependencies: - "@electron-forge/core-utils": 6.4.1 - "@electron-forge/plugin-base": 6.4.1 - "@electron-forge/shared-types": 6.4.1 - "@electron-forge/web-multi-logger": 6.4.1 - chalk: ^4.0.0 - debug: ^4.3.1 - fs-extra: ^10.0.0 - html-webpack-plugin: ^5.3.1 - webpack: ^5.69.1 - webpack-dev-server: ^4.0.0 - webpack-merge: ^5.7.3 - checksum: da81af636fcd5413f7137371b5fc3609a93822c2d759576c49d6ece5165f0002b67462f2711b4c4c7d8c1d252e5f4110a257b69fcbf02c472486579e7dcc1b72 - languageName: node - linkType: hard - -"@electron-forge/publisher-base@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/publisher-base@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - checksum: 7a4ac73aeabbd92b5e8494e8c17ed08c66a56fc08f8e6976192641328d49bc185d87178dd9a9fae584841c39ba7e4d269bbc482cc525263c24133547f099eab8 - languageName: node - linkType: hard - -"@electron-forge/shared-types@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/shared-types@npm:6.4.1" - dependencies: - "@electron/rebuild": ^3.2.10 - electron-packager: ^17.1.2 - listr2: ^5.0.3 - checksum: 0a629d559e4968f9bbcdf086850449194bb09f051dfd272644a0979f871de611b066da4936a0841e6f3d6b21d6487c5b3ee27fffadea055cec13926e8d89658f - languageName: node - linkType: hard - -"@electron-forge/shared-types@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/shared-types@npm:6.4.2" - dependencies: - "@electron/rebuild": ^3.2.10 - electron-packager: ^17.1.2 - listr2: ^5.0.3 - checksum: cdc8f05a78c199d7a2b03949a6d0750fb72699cfaa490303df9cf0b541ff8372fb17d4c8ceb6a193adce607120ebafde2ebb73710f24b5a76c75fdc198746199 - languageName: node - linkType: hard - -"@electron-forge/template-base@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/template-base@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@malept/cross-spawn-promise": ^2.0.0 - debug: ^4.3.1 - fs-extra: ^10.0.0 - username: ^5.1.0 - checksum: 87ebf67296db774d699a3e1c8190be516f05706254a87dd7e7e2a8b6bad44889b2b9a20ad8012207c92ca8c44629162fb6bea4d158bf8fff316d5348ab8c8c8c - languageName: node - linkType: hard - -"@electron-forge/template-vite-typescript@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/template-vite-typescript@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@electron-forge/template-base": 6.4.2 - fs-extra: ^10.0.0 - checksum: 280ce2eb10302340a1ad85026e509965a0dbc7fbb5eefec9d9112f10850d1d708976c073fc4d9a35719bd62bb670b80e90905e93a135be1b64ebc2f84ea6e211 - languageName: node - linkType: hard - -"@electron-forge/template-vite@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/template-vite@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@electron-forge/template-base": 6.4.2 - fs-extra: ^10.0.0 - checksum: 131fe18a60e7490fb7133eb8ab46587b162332a9cb90806e81db842f14389420c57cce1dd5d16ed86d63505264edaeb9b0a21c946cd961ff09618b74c35ceef0 - languageName: node - linkType: hard - -"@electron-forge/template-webpack-typescript@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/template-webpack-typescript@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@electron-forge/template-base": 6.4.2 - fs-extra: ^10.0.0 - checksum: 584d65bca01fdc933cc01c6d1d033718bb4d2f57a0aa82207761aff5d8259f23dda4d6ceba20b87acb8771e81168db3dafaca241eee5a333e5c7fa9ce6a397a0 - languageName: node - linkType: hard - -"@electron-forge/template-webpack@npm:6.4.2": - version: 6.4.2 - resolution: "@electron-forge/template-webpack@npm:6.4.2" - dependencies: - "@electron-forge/shared-types": 6.4.2 - "@electron-forge/template-base": 6.4.2 - fs-extra: ^10.0.0 - checksum: 058c4fbc0153aefe2ac1835191299aeb8c7039a3660cab1604f2e5cd16a37a3595faa72480c5e9fef8ce3eb8c2cfe89daf0146c22fe15d410978ff3f2c397a95 +"@electron-toolkit/preload@npm:^2.0.0": + version: 2.0.0 + resolution: "@electron-toolkit/preload@npm:2.0.0" + peerDependencies: + electron: ">=13.0.0" + checksum: 3f2f0495616625ea9d831ffb6a731645203eda7f73994ab7f7c5390d85bedde55f72ce4ae67ea9098f14ede3b59afb0b6904402e92ce52d6f2e104d4b519bf15 languageName: node linkType: hard -"@electron-forge/web-multi-logger@npm:6.4.1": - version: 6.4.1 - resolution: "@electron-forge/web-multi-logger@npm:6.4.1" - dependencies: - express: ^4.17.1 - express-ws: ^5.0.2 - xterm: ^4.9.0 - xterm-addon-fit: ^0.5.0 - xterm-addon-search: ^0.8.0 - checksum: 94563e05a73d1f09242512da406ed892cc38ab8a622d47cb9e727f93b95b7ab38a4fa10510b2e6942caa49fb50694f0afc51875418f63e787605bf1c7d9859f4 +"@electron-toolkit/tsconfig@npm:^1.0.1": + version: 1.0.1 + resolution: "@electron-toolkit/tsconfig@npm:1.0.1" + peerDependencies: + "@types/node": "*" + checksum: ea2651eea8a36ec4b20a2eb5bb36d89e585f6b4884ef9c2397d605e1a47e9131b1e2d8631a67fcf495cb56addcc626d325585d207b51506d17175ad47988a983 languageName: node linkType: hard -"@electron/asar@npm:^3.2.1": - version: 3.2.4 - resolution: "@electron/asar@npm:3.2.4" - dependencies: - chromium-pickle-js: ^0.2.0 - commander: ^5.0.0 - glob: ^7.1.6 - minimatch: ^3.0.4 - bin: - asar: bin/asar.js - checksum: 06e3e8fe7c894f7e7727410af5a9957ec77088f775b22441acf4ef718a9e6642a4dc1672f77ee1ce325fc367c8d59ac1e02f7db07869c8ced8a00132a3b54643 +"@electron-toolkit/utils@npm:^2.0.1": + version: 2.0.1 + resolution: "@electron-toolkit/utils@npm:2.0.1" + peerDependencies: + electron: ">=13.0.0" + checksum: cb272711e531ecc53ece80d5bbe3174012d923072ec7f69d7f30412394eaf7b404321c09e375a67c2f77d8604063b70c08818c395a8a9ab88bf3653845824050 languageName: node linkType: hard "@electron/get@npm:^2.0.0": - version: 2.0.2 - resolution: "@electron/get@npm:2.0.2" + version: 2.0.3 + resolution: "@electron/get@npm:2.0.3" dependencies: debug: ^4.1.1 env-paths: ^2.2.0 @@ -916,72 +393,7 @@ __metadata: dependenciesMeta: global-agent: optional: true - checksum: 900845cc0b31b54761fc9b0ada2dea1e999e59aacc48999d53903bcb7c9a0a7356b5fe736cf610b2a56c5a21f5a3c0e083b2ed2b7e52c36a4d0f420d4b5ec268 - languageName: node - linkType: hard - -"@electron/notarize@npm:^1.2.3": - version: 1.2.4 - resolution: "@electron/notarize@npm:1.2.4" - dependencies: - debug: ^4.1.1 - fs-extra: ^9.0.1 - checksum: 3aa19fb247f9297b96a25f1a082f552e0c78a726ddfc98de9cdd4e4b092fc36fe07d680b762dd5a2bceda97b1044d3a0e6d9eadc5022f7c329a1fcf081133c9b - languageName: node - linkType: hard - -"@electron/osx-sign@npm:^1.0.5": - version: 1.0.5 - resolution: "@electron/osx-sign@npm:1.0.5" - dependencies: - compare-version: ^0.1.2 - debug: ^4.3.4 - fs-extra: ^10.0.0 - isbinaryfile: ^4.0.8 - minimist: ^1.2.6 - plist: ^3.0.5 - bin: - electron-osx-flat: bin/electron-osx-flat.js - electron-osx-sign: bin/electron-osx-sign.js - checksum: 6c662e8bb4322b83f0147ddb4f5815770aca980a2cefc58a8423d502ccee4428168e11fa3c50f9660d29a74e3397f96c4f6ebddf1695ed28366aac0b92a49029 - languageName: node - linkType: hard - -"@electron/rebuild@npm:^3.2.10": - version: 3.2.13 - resolution: "@electron/rebuild@npm:3.2.13" - dependencies: - "@malept/cross-spawn-promise": ^2.0.0 - chalk: ^4.0.0 - debug: ^4.1.1 - detect-libc: ^2.0.1 - fs-extra: ^10.0.0 - got: ^11.7.0 - node-abi: ^3.0.0 - node-api-version: ^0.1.4 - node-gyp: ^9.0.0 - ora: ^5.1.0 - semver: ^7.3.5 - tar: ^6.0.5 - yargs: ^17.0.1 - bin: - electron-rebuild: lib/cli.js - checksum: 79ce6323fa95cab75dc1edb52540c8dd367db9ab084ca94fefde1a46699139b3cee3f5449b7b3b5b9b529887d9f3fabe1689a738351b716e3090e636296c3b1b - languageName: node - linkType: hard - -"@electron/universal@npm:^1.3.2": - version: 1.4.1 - resolution: "@electron/universal@npm:1.4.1" - dependencies: - "@electron/asar": ^3.2.1 - "@malept/cross-spawn-promise": ^1.1.0 - debug: ^4.3.1 - dir-compare: ^3.0.0 - fs-extra: ^9.0.1 - minimatch: ^3.0.4 - plist: ^3.0.4 - checksum: 257f3a25a4f940ccbe601a0f3a2a925a28657bc3c5fc46018980b771825834665d184e5ce75cfa0b8639525a0bdbb7f0bc02e69e2d4fb044add64638db4d48a4 + checksum: 98f7713e1dda6d1b9d1598890e4e12e38e2d2cb7634e44c31bd494c60a1e97583cdfe4a38408985daaa8deee0a1ea3b6b1add3520874bdb00b6bffba86e7e30d languageName: node linkType: hard @@ -1131,415 +543,209 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.40.1": - version: 0.40.1 - resolution: "@es-joy/jsdoccomment@npm:0.40.1" - dependencies: - comment-parser: 1.4.0 - esquery: ^1.5.0 - jsdoc-type-pratt-parser: ~4.0.0 - checksum: 6098394cd97ad0532dde4f3171980e700e4199c231969311efd2362c2b5a4eefa9d59a0bc1fe513afbb5cc456ef7633491a2984d64252e7bd8ebe22489120610 +"@esbuild/android-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-arm64@npm:0.18.20" + conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: ^3.3.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: cdfe3ae42b4f572cbfb46d20edafe6f36fc5fb52bf2d90875c58aefe226892b9677fef60820e2832caf864a326fe4fc225714c46e8389ccca04d5f9288aabd22 +"@esbuild/android-arm@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-arm@npm:0.18.20" + conditions: os=android & cpu=arm languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.6.2 - resolution: "@eslint-community/regexpp@npm:4.6.2" - checksum: a3c341377b46b54fa228f455771b901d1a2717f95d47dcdf40199df30abc000ba020f747f114f08560d119e979d882a94cf46cfc51744544d54b00319c0f2724 +"@esbuild/android-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/android-x64@npm:0.18.20" + conditions: os=android & cpu=x64 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.2": - version: 2.1.2 - resolution: "@eslint/eslintrc@npm:2.1.2" - 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 - checksum: bc742a1e3b361f06fedb4afb6bf32cbd27171292ef7924f61c62f2aed73048367bcc7ac68f98c06d4245cd3fabc43270f844e3c1699936d4734b3ac5398814a7 +"@esbuild/darwin-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/darwin-arm64@npm:0.18.20" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@eslint/js@npm:8.48.0": - version: 8.48.0 - resolution: "@eslint/js@npm:8.48.0" - checksum: b2755f9c0ee810c886eba3c50dcacb184ba5a5cd1cbc01988ee506ad7340653cae0bd55f1d95c64b56dfc6d25c2caa7825335ffd2c50165bae9996fe0f396851 +"@esbuild/darwin-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/darwin-x64@npm:0.18.20" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@floating-ui/core@npm:^1.4.1": - version: 1.4.1 - resolution: "@floating-ui/core@npm:1.4.1" - dependencies: - "@floating-ui/utils": ^0.1.1 - checksum: be4ab864fe17eeba5e205bd554c264b9a4895a57c573661bbf638357fa3108677fed7ba3269ec15b4da90e29274c9b626d5a15414e8d1fe691e210d02a03695c +"@esbuild/freebsd-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/freebsd-arm64@npm:0.18.20" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@floating-ui/dom@npm:^1.3.0": - version: 1.5.1 - resolution: "@floating-ui/dom@npm:1.5.1" - dependencies: - "@floating-ui/core": ^1.4.1 - "@floating-ui/utils": ^0.1.1 - checksum: ddb509030978536ba7b321cf8c764ae9d0142a3b1fefb7e6bc050a5de7e825e12131fa5089009edabf7c125fb274886da211a5220fe17a71d875a7a96eb1386c +"@esbuild/freebsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/freebsd-x64@npm:0.18.20" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.1": - version: 2.0.1 - resolution: "@floating-ui/react-dom@npm:2.0.1" - dependencies: - "@floating-ui/dom": ^1.3.0 - peerDependencies: - react: ">=16.8.0" - react-dom: ">=16.8.0" - checksum: 00fef2cf69ac2b15952e47505fd9e23f6cc5c20a26adc707862932826d1682f3c30f83c9887abfc93574fdca2d34dd2fc00271527318b1db403549cd6bc9eb00 +"@esbuild/linux-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-arm64@npm:0.18.20" + conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.1.1": - version: 0.1.1 - resolution: "@floating-ui/utils@npm:0.1.1" - checksum: 548acdda7902f45b0afbe34e2e7f4cbff0696b95bad8c039f80936519de24ef2ec20e79902825b7815294b37f51a7c52ee86288b0688869a57cc229a164d86b4 +"@esbuild/linux-arm@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-arm@npm:0.18.20" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.10": - version: 0.11.10 - resolution: "@humanwhocodes/config-array@npm:0.11.10" - dependencies: - "@humanwhocodes/object-schema": ^1.2.1 - debug: ^4.1.1 - minimatch: ^3.0.5 - checksum: 1b1302e2403d0e35bc43e66d67a2b36b0ad1119efc704b5faff68c41f791a052355b010fb2d27ef022670f550de24cd6d08d5ecf0821c16326b7dcd0ee5d5d8a +"@esbuild/linux-ia32@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-ia32@npm:0.18.20" + conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 +"@esbuild/linux-loong64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-loong64@npm:0.18.20" + conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@esbuild/linux-mips64el@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-mips64el@npm:0.18.20" + conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: ^5.1.2 - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: ^7.0.1 - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: ^8.1.0 - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 4a473b9b32a7d4d3cfb7a614226e555091ff0c5a29a1734c28c72a182c2f6699b26fc6b5c2131dfd841e86b185aea714c72201d7c98c2fba5f17709333a67aeb +"@esbuild/linux-ppc64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-ppc64@npm:0.18.20" + conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - 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 - checksum: d578da5e2e804d5c93228450a1380e1a3c691de4953acc162f387b717258512a3e07b83510a936d9fab03eac90817473917e24f5d16297af3867f59328d58568 +"@esbuild/linux-riscv64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-riscv64@npm:0.18.20" + conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 5282759d961d61350f33d9118d16bcaed914ebf8061a52f4fa474b2cb08720c9c81d165e13b82f2e5a8a212cc5af482f0c6fc1ac27b9e067e5394c9a6ed186c9 +"@esbuild/linux-s390x@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-s390x@npm:0.18.20" + conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@jest/console@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/console@npm:29.6.4" - dependencies: - "@jest/types": ^29.6.3 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^29.6.3 - jest-util: ^29.6.3 - slash: ^3.0.0 - checksum: 1caf061a39266b86e96ca13358401839e4d930742cbaa9e87e79d7ce170a83195e52e5b2d22eb5aa9a949219b61a163a81e337ec98b8323d88d79853051df96c +"@esbuild/linux-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/linux-x64@npm:0.18.20" + conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@jest/core@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/core@npm:29.6.4" - dependencies: - "@jest/console": ^29.6.4 - "@jest/reporters": ^29.6.4 - "@jest/test-result": ^29.6.4 - "@jest/transform": ^29.6.4 - "@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.6.3 - jest-config: ^29.6.4 - jest-haste-map: ^29.6.4 - jest-message-util: ^29.6.3 - jest-regex-util: ^29.6.3 - jest-resolve: ^29.6.4 - jest-resolve-dependencies: ^29.6.4 - jest-runner: ^29.6.4 - jest-runtime: ^29.6.4 - jest-snapshot: ^29.6.4 - jest-util: ^29.6.3 - jest-validate: ^29.6.3 - jest-watcher: ^29.6.4 - micromatch: ^4.0.4 - pretty-format: ^29.6.3 - slash: ^3.0.0 - strip-ansi: ^6.0.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 0f36532c909775814cb7d4310d61881beaefdec6229ef0b7493c6191dfca20ae5222120846ea5ef8cdeaa8cef265aae9cea8989dcab572d8daea9afd14247c7a - languageName: node - linkType: hard - -"@jest/environment@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/environment@npm:29.6.4" - dependencies: - "@jest/fake-timers": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/node": "*" - jest-mock: ^29.6.3 - checksum: 810d8f1fc26d293acfc44927bcb78adc58ed4ea580a64c8d94aa6c67239dcb149186bf25b94ff28b79de15253e0c877ad8d330feac205f185f3517593168510c - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.6.2": - version: 29.6.2 - resolution: "@jest/expect-utils@npm:29.6.2" - dependencies: - jest-get-type: ^29.4.3 - checksum: 0decf2009aa3735f9df469e78ce1721c2815e4278439887e0cf0321ca8979541a22515d114a59b2445a6cd70a074b09dc9c00b5e7b3b3feac5174b9c4a78b2e1 - languageName: node - linkType: hard - -"@jest/expect-utils@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/expect-utils@npm:29.6.4" - dependencies: - jest-get-type: ^29.6.3 - checksum: a17059e02a4c0fca98e2abb7e9e58c70df3cd3d4ebcc6a960cb57c571726f7bd738c6cd008a9bf99770b77e92f7e21c75fe1f9ceec9b7a7710010f9340bb28ad - languageName: node - linkType: hard - -"@jest/expect@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/expect@npm:29.6.4" - dependencies: - expect: ^29.6.4 - jest-snapshot: ^29.6.4 - checksum: e9d7306a96e2f9f9f7a0d93d41850cbad987ebda951a5d9a63d3f5fb61da4c1e41adb54af7f7222e4a185454ecb17ddc77845e18001ee28ac114f7a7fe9e671d +"@esbuild/netbsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/netbsd-x64@npm:0.18.20" + conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/fake-timers@npm:29.6.4" - dependencies: - "@jest/types": ^29.6.3 - "@sinonjs/fake-timers": ^10.0.2 - "@types/node": "*" - jest-message-util: ^29.6.3 - jest-mock: ^29.6.3 - jest-util: ^29.6.3 - checksum: 3f06d1090cbaaf781920fe59b10509ad86b587c401818a066ee1550101c6203e0718f0f83bbd2afa8bdf7b43eb280f89fb9f8c98886094e53ccabe5e64de9be1 +"@esbuild/openbsd-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/openbsd-x64@npm:0.18.20" + conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@jest/globals@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/globals@npm:29.6.4" - dependencies: - "@jest/environment": ^29.6.4 - "@jest/expect": ^29.6.4 - "@jest/types": ^29.6.3 - jest-mock: ^29.6.3 - checksum: a41b18871a248151264668a38b13cb305f03db112bfd89ec44e858af0e79066e0b03d6b68c8baf1ec6c578be6fdb87519389c83438608b91471d17a5724858e0 +"@esbuild/sunos-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/sunos-x64@npm:0.18.20" + conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@jest/reporters@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/reporters@npm:29.6.4" - dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.6.4 - "@jest/test-result": ^29.6.4 - "@jest/transform": ^29.6.4 - "@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.6.3 - jest-util: ^29.6.3 - jest-worker: ^29.6.4 - slash: ^3.0.0 - string-length: ^4.0.1 - strip-ansi: ^6.0.0 - v8-to-istanbul: ^9.0.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 9ee0db497f3a826f535d3af0575ceb67984f9708bc6386450359517c212c67218ae98b8ea93ab05df2f920aed9c4166ef64209d66a09b7e30fc0077c91347ad0 +"@esbuild/win32-arm64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-arm64@npm:0.18.20" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@jest/schemas@npm:^29.6.0": - version: 29.6.0 - resolution: "@jest/schemas@npm:29.6.0" - dependencies: - "@sinclair/typebox": ^0.27.8 - checksum: c00511c69cf89138a7d974404d3a5060af375b5a52b9c87215d91873129b382ca11c1ff25bd6d605951404bb381ddce5f8091004a61e76457da35db1f5c51365 +"@esbuild/win32-ia32@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-ia32@npm:0.18.20" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": ^0.27.8 - checksum: 910040425f0fc93cd13e68c750b7885590b8839066dfa0cd78e7def07bbb708ad869381f725945d66f2284de5663bbecf63e8fdd856e2ae6e261ba30b1687e93 +"@esbuild/win32-x64@npm:0.18.20": + version: 0.18.20 + resolution: "@esbuild/win32-x64@npm:0.18.20" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" +"@floating-ui/core@npm:^1.4.2": + version: 1.5.0 + resolution: "@floating-ui/core@npm:1.5.0" dependencies: - "@jridgewell/trace-mapping": ^0.3.18 - callsites: ^3.0.0 - graceful-fs: ^4.2.9 - checksum: bcc5a8697d471396c0003b0bfa09722c3cd879ad697eb9c431e6164e2ea7008238a01a07193dfe3cbb48b1d258eb7251f6efcea36f64e1ebc464ea3c03ae2deb + "@floating-ui/utils": ^0.1.3 + checksum: 54b4fe26b3c228746ac5589f97303abf158b80aa5f8b99027259decd68d1c2030c4c637648ebd33dfe78a4212699453bc2bd7537fd5a594d3bd3e63d362f666f languageName: node linkType: hard -"@jest/test-result@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/test-result@npm:29.6.4" +"@floating-ui/dom@npm:^1.5.1": + version: 1.5.3 + resolution: "@floating-ui/dom@npm:1.5.3" dependencies: - "@jest/console": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: a13c82d29038e80059191a1a443240678c6934ea832fdabaec12b3ece397b6303022a064494a6bbd167a024f04e6b4d9ace1001300927ff70405ec9d854f1193 + "@floating-ui/core": ^1.4.2 + "@floating-ui/utils": ^0.1.3 + checksum: 00053742064aac70957f0bd5c1542caafb3bfe9716588bfe1d409fef72a67ed5e60450d08eb492a77f78c22ed1ce4f7955873cc72bf9f9caf2b0f43ae3561c21 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/test-sequencer@npm:29.6.4" +"@floating-ui/react-dom@npm:^2.0.2": + version: 2.0.2 + resolution: "@floating-ui/react-dom@npm:2.0.2" dependencies: - "@jest/test-result": ^29.6.4 - graceful-fs: ^4.2.9 - jest-haste-map: ^29.6.4 - slash: ^3.0.0 - checksum: 517fc66b74a87431a8a1429e4505d85bd09c11f2ba835e46c07c79911fbee23b89c01ec444c7c1d12d1b36f9eba60fcbbccc8e1bc1ae54a1a8b03b5f530ff81b + "@floating-ui/dom": ^1.5.1 + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: 4797e1f7a19c1e531ed0d578ccdcbe58970743e5a480ba30424857fc953063f36d481f8c5d69248a8f1d521b739e94bf5e1ffb35506400dea3d914f166ed2f7f languageName: node linkType: hard -"@jest/transform@npm:^29.6.4": - version: 29.6.4 - resolution: "@jest/transform@npm:29.6.4" - 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.6.4 - jest-regex-util: ^29.6.3 - jest-util: ^29.6.3 - micromatch: ^4.0.4 - pirates: ^4.0.4 - slash: ^3.0.0 - write-file-atomic: ^4.0.2 - checksum: 0341a200a0bb926fc67ab9aede91c7b4009458206495e92057e72a115c55da5fed117457e68c6ea821e24c58b55da75c6a7b0f272ed63c2693db583d689a3383 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.1": - version: 29.6.1 - resolution: "@jest/types@npm:29.6.1" - dependencies: - "@jest/schemas": ^29.6.0 - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^17.0.8 - chalk: ^4.0.0 - checksum: 89fc1ccf71a84fe0da643e0675b1cfe6a6f19ea72e935b2ab1dbdb56ec547e94433fb59b3536d3832a6e156c077865b7176fe9dae707dab9c3d2f9405ba6233c +"@floating-ui/utils@npm:^0.1.3": + version: 0.1.4 + resolution: "@floating-ui/utils@npm:0.1.4" + checksum: e6195ded5b3a6fd38411a833605184c31f24609b08feab2615e90ccc063bf4d3965383d817642fc7e8ca5ab6a54c29c71103e874f3afb0518595c8bd3390ba16 languageName: node linkType: hard -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" 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 - checksum: a0bcf15dbb0eca6bdd8ce61a3fb055349d40268622a7670a3b2eb3c3dbafe9eb26af59938366d520b86907b9505b0f9b29b85cec11579a9e580694b87cd90fcc + string-width: ^5.1.2 + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: ^7.0.1 + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: ^8.1.0 + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 4a473b9b32a7d4d3cfb7a614226e555091ff0c5a29a1734c28c72a182c2f6699b26fc6b5c2131dfd841e86b185aea714c72201d7c98c2fba5f17709333a67aeb languageName: node linkType: hard @@ -1554,7 +760,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": +"@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.1 resolution: "@jridgewell/resolve-uri@npm:3.1.1" checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 @@ -1568,34 +774,14 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.3": - version: 0.3.5 - resolution: "@jridgewell/source-map@npm:0.3.5" - dependencies: - "@jridgewell/gen-mapping": ^0.3.0 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1ad4dec0bdafbade57920a50acec6634f88a0eb735851e0dda906fa9894e7f0549c492678aad1a10f8e144bfe87f238307bf2a914a1bc85b7781d345417e9f6f - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": +"@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.19 resolution: "@jridgewell/trace-mapping@npm:0.3.19" dependencies: @@ -1605,68 +791,17 @@ __metadata: languageName: node linkType: hard -"@leichtgewicht/ip-codec@npm:^2.0.1": - version: 2.0.4 - resolution: "@leichtgewicht/ip-codec@npm:2.0.4" - checksum: 468de1f04d33de6d300892683d7c8aecbf96d1e2c5fe084f95f816e50a054d45b7c1ebfb141a1447d844b86a948733f6eebd92234da8581c84a1ad4de2946a2d - languageName: node - linkType: hard - -"@malept/cross-spawn-promise@npm:^1.0.0, @malept/cross-spawn-promise@npm:^1.1.0": - version: 1.1.1 - resolution: "@malept/cross-spawn-promise@npm:1.1.1" - dependencies: - cross-spawn: ^7.0.1 - checksum: 1aa468f9ff3aa59dbaa720731ddf9c1928228b6844358d8821b86628953e0608420e88c6366d85af35acad73b1addaa472026a1836ad3fec34813eb38b2bd25a - languageName: node - linkType: hard - -"@malept/cross-spawn-promise@npm:^2.0.0": - version: 2.0.0 - resolution: "@malept/cross-spawn-promise@npm:2.0.0" - dependencies: - cross-spawn: ^7.0.1 - checksum: 9016a6674842c161b6949d7876e655874ca2d7f6a4fd88a73147d2abde0dcb3981c5dd9714e721e40f92e953ba16e18d7ee3fc94e8b1aae9b5922c582cd320da - languageName: node - linkType: hard - -"@mui/base@npm:5.0.0-beta.12": - version: 5.0.0-beta.12 - resolution: "@mui/base@npm:5.0.0-beta.12" - dependencies: - "@babel/runtime": ^7.22.10 - "@emotion/is-prop-valid": ^1.2.1 - "@floating-ui/react-dom": ^2.0.1 - "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.6 - "@popperjs/core": ^2.11.8 - clsx: ^2.0.0 - prop-types: ^15.8.1 - react-is: ^18.2.0 - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 3ed9b43323595588ccea7325a79bbaab60bf5a99a970821555c449f53ca4c8f7f298a4d5c8a280c5ea0b2b47273a0b1a03e33ef6cbbbd428b14bcc33222b5f75 - languageName: node - linkType: hard - -"@mui/base@npm:5.0.0-beta.13": - version: 5.0.0-beta.13 - resolution: "@mui/base@npm:5.0.0-beta.13" +"@mui/base@npm:5.0.0-beta.17": + version: 5.0.0-beta.17 + resolution: "@mui/base@npm:5.0.0-beta.17" dependencies: - "@babel/runtime": ^7.22.10 - "@emotion/is-prop-valid": ^1.2.1 - "@floating-ui/react-dom": ^2.0.1 + "@babel/runtime": ^7.22.15 + "@floating-ui/react-dom": ^2.0.2 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.7 + "@mui/utils": ^5.14.11 "@popperjs/core": ^2.11.8 clsx: ^2.0.0 prop-types: ^15.8.1 - react-is: ^18.2.0 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 @@ -1674,73 +809,43 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 3e42e64e14d37ccee7a2623c7759e118f22482ca04044b50be2cd02f5bd365a5ca588ca8e7361345e42ad8c9fcf03b79d61602a08f78ee2a1a6cc447fb1ed49d + checksum: 96ffb85864fc796783514e089c0011ebcc5174705082dc98197ab035dfb287427069c0338e662a4680951849dfbe7a5231f4f6f2aee710af05c07e8578f93310 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/core-downloads-tracker@npm:5.14.6" - checksum: 500b6a0e709f75fa8798caf4ad993d1024c046f25f0624e7d36c454ca53aebf119eb8645bb6cf762a2e27520deb843e546c95874e32183f1255044fe73184c79 - languageName: node - linkType: hard - -"@mui/icons-material@npm:^5.14.8": - version: 5.14.8 - resolution: "@mui/icons-material@npm:5.14.8" - dependencies: - "@babel/runtime": ^7.22.10 - peerDependencies: - "@mui/material": ^5.0.0 - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: b4e73454b3ac22ccd78cb742d2a610c00494bf0fc5ffcae4133d40a6de92fd320553edbbe853e6595fd7565fa98fed97b9c2c733bc7e0a345a24527f699cc639 +"@mui/core-downloads-tracker@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/core-downloads-tracker@npm:5.14.11" + checksum: f3e7594c93d4cf5e3649336eef2b57842c171f3deb6890c03be7eccb88d3ac276aac1ab3ad409d124d16468314018778e2dbb92a62ac34c7f44b2813c47f29fb languageName: node linkType: hard -"@mui/lab@npm:^5.0.0-alpha.142": - version: 5.0.0-alpha.142 - resolution: "@mui/lab@npm:5.0.0-alpha.142" +"@mui/icons-material@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/icons-material@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 - "@mui/base": 5.0.0-beta.13 - "@mui/system": ^5.14.7 - "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.7 - clsx: ^2.0.0 - prop-types: ^15.8.1 - react-is: ^18.2.0 + "@babel/runtime": ^7.22.15 peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true "@types/react": optional: true - checksum: 1d64b6dbaa4d46f19c0d0b034241a5ac10ce981123dcc5fb1c415a68fd9441a07f1ebcf30cc5975e93813e83d5a49084767e3afdd6ce77ed645888722661aa78 + checksum: 69262147025d3e9ef45219bcaf5cb38eb84b4198ddb290a17b21a0877fcb01682caaeadce3c905b36a9cf127bbf6f9469f9fc9e1d3592b12476d6e758d900e41 languageName: node linkType: hard -"@mui/material@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/material@npm:5.14.6" +"@mui/material@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/material@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 - "@mui/base": 5.0.0-beta.12 - "@mui/core-downloads-tracker": ^5.14.6 - "@mui/system": ^5.14.6 + "@babel/runtime": ^7.22.15 + "@mui/base": 5.0.0-beta.17 + "@mui/core-downloads-tracker": ^5.14.11 + "@mui/system": ^5.14.11 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.6 + "@mui/utils": ^5.14.11 "@types/react-transition-group": ^4.4.6 clsx: ^2.0.0 csstype: ^3.1.2 @@ -1760,33 +865,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: e22977cb010b54ba43e7b13105c7dbe3e5361f960fd4eecc3ed28480a8abc531b44abdb093bafe9ce291c6a23c25039e0677d5d965210d7fc9ac5e25bb68a876 - languageName: node - linkType: hard - -"@mui/private-theming@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/private-theming@npm:5.14.6" - dependencies: - "@babel/runtime": ^7.22.10 - "@mui/utils": ^5.14.6 - prop-types: ^15.8.1 - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 2d477657c5c10bbc2628b741c85d5bc66f36f379eaafc97f534500584e4ab2f098e8cf29eec0f079b9a34a414027235ab433f3f41771ea4b9cacdcd783111726 + checksum: 350d642773d4b19d5b9deac956203dafe89cd005ba8cd6017d1ab0e97ba45ca230050249f34a17f0f00efe466162d47487f160159bebe3e52af1b34dd28579d0 languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.7": - version: 5.14.7 - resolution: "@mui/private-theming@npm:5.14.7" +"@mui/private-theming@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/private-theming@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 - "@mui/utils": ^5.14.7 + "@babel/runtime": ^7.22.15 + "@mui/utils": ^5.14.11 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -1794,36 +882,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: a13344a23854d1d56fed2a8b844eae6c9f42c139082ca3c4a338737aa1b291097bc3559f0ed07adc10fe2b49d0ed47b414ec94e970737c07f1901c029b4f23ee - languageName: node - linkType: hard - -"@mui/styled-engine@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/styled-engine@npm:5.14.6" - dependencies: - "@babel/runtime": ^7.22.10 - "@emotion/cache": ^11.11.0 - csstype: ^3.1.2 - prop-types: ^15.8.1 - peerDependencies: - "@emotion/react": ^11.4.1 - "@emotion/styled": ^11.3.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - checksum: 7bbef4574195d70945041a645f5d0e372762cad28d873794e750bbd570daf901392205d69c3593ad55c43088361e1b90c7b9798a5d013c4a1783553d42c758dd + checksum: a5d461ae9679b1f3b79f529c51c055e03d84421812bb12110d735fbc5528ae188900488b32aa1b860cb978ac6dd0cb9f54a10e2ff214e853e969ef5c1ed87e84 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.7": - version: 5.14.7 - resolution: "@mui/styled-engine@npm:5.14.7" +"@mui/styled-engine@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/styled-engine@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 + "@babel/runtime": ^7.22.15 "@emotion/cache": ^11.11.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -1836,47 +903,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 693f5fce8d08545504b91553fb53d133b79ba6abc4b01ae4ac71485738a46fdf6c80ad22277c4eb8ac1a009e643dadbdeb832ed3f25a24fc60f226a1251e5bff - languageName: node - linkType: hard - -"@mui/system@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/system@npm:5.14.6" - dependencies: - "@babel/runtime": ^7.22.10 - "@mui/private-theming": ^5.14.6 - "@mui/styled-engine": ^5.14.6 - "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.6 - clsx: ^2.0.0 - csstype: ^3.1.2 - prop-types: ^15.8.1 - peerDependencies: - "@emotion/react": ^11.5.0 - "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@emotion/react": - optional: true - "@emotion/styled": - optional: true - "@types/react": - optional: true - checksum: 5090761f86b858df6109c57c7c1d6912462781b1280d43d672b64e095564eefe4f64f5bf8ebf5ad9cefdc27efba8964e59bc2c234005ca33da4831aff4fed8db + checksum: 0a593f967ab56c32c611eae4a83bc23c4ab3a8931e76a6e553ed18230c2f4e9e912d519fe2f0a24970ff154c198634903f134eb54f00ceebde138a73b953622f languageName: node linkType: hard -"@mui/system@npm:^5.14.7": - version: 5.14.7 - resolution: "@mui/system@npm:5.14.7" +"@mui/system@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/system@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 - "@mui/private-theming": ^5.14.7 - "@mui/styled-engine": ^5.14.7 + "@babel/runtime": ^7.22.15 + "@mui/private-theming": ^5.14.11 + "@mui/styled-engine": ^5.14.11 "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.7 + "@mui/utils": ^5.14.11 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -1892,7 +931,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 1ee6b2dba5ff89faded03bac77d8f8c081653d1422582b15211dabc485747cb4e9a01ba9b1817532b9dd916711ccd2a2e754be874a12a7027bb7c15505cb6945 + checksum: c3d0e1a09a9638663a6467452a7725593e9de6f9620e199add1080db42a7affaca39f52a1b6a52fb75d708f3e30336946babb2a8d1d43fab81c6a1fe3e420b21 languageName: node linkType: hard @@ -1908,60 +947,21 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.14.6": - version: 5.14.6 - resolution: "@mui/utils@npm:5.14.6" - dependencies: - "@babel/runtime": ^7.22.10 - "@types/prop-types": ^15.7.5 - "@types/react-is": ^18.2.1 - prop-types: ^15.8.1 - react-is: ^18.2.0 - peerDependencies: - react: ^17.0.0 || ^18.0.0 - checksum: c5d2f37dec7984b9cf4da10a2fd9eabe23e7481ad0f3674cc9cdc2b7a3938eca28e92068f6d58b42cc807192dbb5e40d4885f8d896a4a01bab32a05c5ac3920b - languageName: node - linkType: hard - -"@mui/utils@npm:^5.14.7": - version: 5.14.7 - resolution: "@mui/utils@npm:5.14.7" +"@mui/utils@npm:^5.14.11": + version: 5.14.11 + resolution: "@mui/utils@npm:5.14.11" dependencies: - "@babel/runtime": ^7.22.10 + "@babel/runtime": ^7.22.15 "@types/prop-types": ^15.7.5 - "@types/react-is": ^18.2.1 prop-types: ^15.8.1 react-is: ^18.2.0 peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0 - checksum: 520c6ccc63f9d8557fbf37ff356445ebc9a293e7f60550063a9e2913b7d56f5d30a746dfe9e5e126c618138020498ce5cb89d9df31d9589619b2723beb795982 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: ^1.1.9 - checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: ^1.6.0 - checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 84e640dea3589ea7edb7d8f33748d83d561d4ef413c4d3e2216ddf9c0842d8b04d162e3fa5ea59f03846934f17fb446ed8464e318dd4e2e299e3b44b06637d76 languageName: node linkType: hard @@ -1988,105 +988,9 @@ __metadata: languageName: node linkType: hard -"@reactflow/background@npm:11.2.8": - version: 11.2.8 - resolution: "@reactflow/background@npm:11.2.8" - dependencies: - "@reactflow/core": 11.8.3 - classcat: ^5.0.3 - zustand: ^4.4.1 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 85251e8e31bce5d984bda64475ebbd4ac256f40d85c1938dfd4af9fdf8814d1649e017026046d049772766bebe7a60fe9c6079d8708c62fd8434cf9af9ca728c - languageName: node - linkType: hard - -"@reactflow/controls@npm:11.1.19": - version: 11.1.19 - resolution: "@reactflow/controls@npm:11.1.19" - dependencies: - "@reactflow/core": 11.8.3 - classcat: ^5.0.3 - zustand: ^4.4.1 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 0e2e94b5c329bf4764cff15c84aa4281ba5070ee57a0c93d0779d285be4bd7cf8904bb139e9c8120b8fe0f7a9beea60ceed9ed04e994b267bda5e3c25041d877 - languageName: node - linkType: hard - -"@reactflow/core@npm:11.8.3": - version: 11.8.3 - resolution: "@reactflow/core@npm:11.8.3" - 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 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 68b807a5866649e8f0799c7630579ce829127f9d4665e9507c29072ac78e29b4ad5a33c1d757e2b19dfdd9db82404fc10b858c6a047e91c9b567316ced89fb9f - languageName: node - linkType: hard - -"@reactflow/minimap@npm:11.6.3": - version: 11.6.3 - resolution: "@reactflow/minimap@npm:11.6.3" - dependencies: - "@reactflow/core": 11.8.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 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 6364a9f40efbc7fcc0807febfa6ac21778bf67b8ab0d83775b50021dd872c9c3f7f1f4ac9acdb578fada5a207809e917c4b1e6e31348d21a6591f98b72b31e74 - languageName: node - linkType: hard - -"@reactflow/node-resizer@npm:2.1.5": - version: 2.1.5 - resolution: "@reactflow/node-resizer@npm:2.1.5" - dependencies: - "@reactflow/core": 11.8.3 - classcat: ^5.0.4 - d3-drag: ^3.0.0 - d3-selection: ^3.0.0 - zustand: ^4.4.1 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 58e366e979b746d620c919d2e3c84085f69ec6d94fef674e85737a43f226b90d2c3894d1eccdf969baf929b9965abde9ecee990125d713d1a1be1da5a5eac1ae - languageName: node - linkType: hard - -"@reactflow/node-toolbar@npm:1.2.7": - version: 1.2.7 - resolution: "@reactflow/node-toolbar@npm:1.2.7" - dependencies: - "@reactflow/core": 11.8.3 - classcat: ^5.0.3 - zustand: ^4.4.1 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: c92e2cd8142375532522d755bf9bb2000e36509bb93e8b4c875b40a0237d50a2c6840179afb1f4007d803333e9bfe89f76ae3871a86e08cfbb5159af038b8339 - languageName: node - linkType: hard - -"@reduxjs/toolkit@npm:^1.9.5": - version: 1.9.5 - resolution: "@reduxjs/toolkit@npm:1.9.5" +"@reduxjs/toolkit@npm:^1.9.6": + version: 1.9.6 + resolution: "@reduxjs/toolkit@npm:1.9.6" dependencies: immer: ^9.0.21 redux: ^4.2.1 @@ -2100,14 +1004,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 54672c5593d05208af577e948a338f23128d3aa01ef056ab0d40bcfa14400cf6566be99e11715388f12c1d7655cdf7c5c6b63cb92eb0fecf996c454a46a3914c - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 + checksum: 61d445f7e084c79f9601f61fcfc4eb65152b850b2a4330239d982297605bd870e63dc1e0211deb3822392cd3bc0c88ca0cdb236a9711a4311dfb199c607b6ac5 languageName: node linkType: hard @@ -2118,24 +1015,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.0 - resolution: "@sinonjs/commons@npm:3.0.0" - dependencies: - type-detect: 4.0.8 - checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": ^3.0.0 - checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 - languageName: node - linkType: hard - "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -2145,174 +1024,51 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^9.0.0, @testing-library/dom@npm:^9.3.1": - version: 9.3.1 - resolution: "@testing-library/dom@npm:9.3.1" - dependencies: - "@babel/code-frame": ^7.10.4 - "@babel/runtime": ^7.12.5 - "@types/aria-query": ^5.0.1 - aria-query: 5.1.3 - chalk: ^4.1.0 - dom-accessibility-api: ^0.5.9 - lz-string: ^1.5.0 - pretty-format: ^27.0.2 - checksum: 8ee3136451644e39990edea93709c38cf1e8ce5306f3c66273ca00935963faa51ca74e8d92b02eb442ccb842cfa28ca62833e393e075eb269cf9bef6f5600663 +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.1.3": - version: 6.1.3 - resolution: "@testing-library/jest-dom@npm:6.1.3" +"@types/babel__core@npm:^7.20.2": + version: 7.20.2 + resolution: "@types/babel__core@npm:7.20.2" dependencies: - "@adobe/css-tools": ^4.3.0 - "@babel/runtime": ^7.9.2 - aria-query: ^5.0.0 - chalk: ^3.0.0 - css.escape: ^1.5.1 - dom-accessibility-api: ^0.5.6 - lodash: ^4.17.15 - redent: ^3.0.0 - peerDependencies: - "@jest/globals": ">= 28" - "@types/jest": ">= 28" - jest: ">= 28" - vitest: ">= 0.32" - peerDependenciesMeta: - "@jest/globals": - optional: true - "@types/jest": - optional: true - jest: - optional: true - vitest: - optional: true - checksum: 5bd14ba31fd3d64cff8ca55cccd335bedadf1db1119643954ca8cd30af835defe6f3a21e7d7617d20205b07abba1b2e668be1b9d6743504800f17fdc4344db75 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 564fbaa8ff1305d50807ada0ec227c3e7528bebb2f8fe6b2ed88db0735a31511a74ad18729679c43eeed8025ed29d408f53059289719e95ab1352ed559a100bd languageName: node linkType: hard -"@testing-library/react@npm:^14.0.0": - version: 14.0.0 - resolution: "@testing-library/react@npm:14.0.0" - dependencies: - "@babel/runtime": ^7.12.5 - "@testing-library/dom": ^9.0.0 - "@types/react-dom": ^18.0.0 - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - checksum: 4a54c8f56cc4a39b50803205f84f06280bb76521d6d5d4b3b36651d760c7c7752ef142d857d52aaf4fad4848ed7a8be49afc793a5dda105955d2f8bef24901ac - languageName: node - linkType: hard - -"@testing-library/user-event@npm:^14.4.3": - version: 14.4.3 - resolution: "@testing-library/user-event@npm:14.4.3" - peerDependencies: - "@testing-library/dom": ">=7.21.4" - checksum: 852c48ea6db1c9471b18276617c84fec4320771e466cd58339a732ca3fd73ad35e5a43ae14f51af51a8d0a150dcf60fcaab049ef367871207bea8f92c4b8195e - languageName: node - linkType: hard - -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: a33ae4dc2a621c0678ac8ac4bceb8e512ae75dac65417a2ad9b022d9b5411e863c4c198b6ba9ef659e14b9fb609bbec680841a2e84c1172df7a5ffcf076539df - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff - languageName: node - linkType: hard - -"@types/aria-query@npm:^5.0.1": - version: 5.0.1 - resolution: "@types/aria-query@npm:5.0.1" - checksum: 69fd7cceb6113ed370591aef04b3fd0742e9a1b06dd045c43531448847b85de181495e4566f98e776b37c422a12fd71866e0a1dfd904c5ec3f84d271682901de - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.1 - resolution: "@types/babel__core@npm:7.20.1" - dependencies: - "@babel/parser": ^7.20.7 - "@babel/types": ^7.20.7 - "@types/babel__generator": "*" - "@types/babel__template": "*" - "@types/babel__traverse": "*" - checksum: 9fcd9691a33074802d9057ff70b0e3ff3778f52470475b68698a0f6714fbe2ccb36c16b43dc924eb978cd8a81c1f845e5ff4699e7a47606043b539eb8c6331a8 - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.6.4 - resolution: "@types/babel__generator@npm:7.6.4" +"@types/babel__generator@npm:*": + version: 7.6.5 + resolution: "@types/babel__generator@npm:7.6.5" dependencies: "@babel/types": ^7.0.0 - checksum: 20effbbb5f8a3a0211e95959d06ae70c097fb6191011b73b38fe86deebefad8e09ee014605e0fd3cdaedc73d158be555866810e9166e1f09e4cfd880b874dcb0 + checksum: c7459f5025c4c800eaf58f4db3b24e9d736331fe7df40961d9bc49f31b46e2a3be83dc9276e8688f10a5ed752ae153ad5f1bdd45e2245bac95273730b9115ec2 languageName: node linkType: hard "@types/babel__template@npm:*": - version: 7.4.1 - resolution: "@types/babel__template@npm:7.4.1" + version: 7.4.2 + resolution: "@types/babel__template@npm:7.4.2" dependencies: "@babel/parser": ^7.1.0 "@babel/types": ^7.0.0 - checksum: 649fe8b42c2876be1fd28c6ed9b276f78152d5904ec290b6c861d9ef324206e0a5c242e8305c421ac52ecf6358fa7e32ab7a692f55370484825c1df29b1596ee + checksum: 0fe977b45a3269336c77f3ae4641a6c48abf0fa35ab1a23fb571690786af02d6cec08255a43499b0b25c5633800f7ae882ace450cce905e3060fa9e6995047ae languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.1 - resolution: "@types/babel__traverse@npm:7.20.1" +"@types/babel__traverse@npm:*": + version: 7.20.2 + resolution: "@types/babel__traverse@npm:7.20.2" dependencies: "@babel/types": ^7.20.7 - checksum: 58341e23c649c0eba134a1682d4f20d027fad290d92e5740faa1279978f6ed476fc467ae51ce17a877e2566d805aeac64eae541168994367761ec883a4150221 - languageName: node - linkType: hard - -"@types/body-parser@npm:*": - version: 1.19.2 - resolution: "@types/body-parser@npm:1.19.2" - dependencies: - "@types/connect": "*" - "@types/node": "*" - checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 - languageName: node - linkType: hard - -"@types/bonjour@npm:^3.5.9": - version: 3.5.10 - resolution: "@types/bonjour@npm:3.5.10" - dependencies: - "@types/node": "*" - checksum: bfcadb042a41b124c4e3de4925e3be6d35b78f93f27c4535d5ff86980dc0f8bc407ed99b9b54528952dc62834d5a779392f7a12c2947dd19330eb05a6bcae15a + checksum: 981340286479524436348d32373eaa3bf993c635cbf70307b4b69463eee83406a959ac4844f683911e0db8ab8d9f0025ab630dc7a8c170fee9ee74144c2a528f languageName: node linkType: hard @@ -2328,11302 +1084,2589 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.0 - resolution: "@types/connect-history-api-fallback@npm:1.5.0" +"@types/fs-extra@npm:^11.0.2": + version: 11.0.2 + resolution: "@types/fs-extra@npm:11.0.2" dependencies: - "@types/express-serve-static-core": "*" + "@types/jsonfile": "*" "@types/node": "*" - checksum: f180e7c540728d6dd3a1eb2376e445fe7f9de4ee8a5b460d5ad80062cdb6de6efc91c6851f39e9d5933b3dcd5cd370673c52343a959aa091238b6f863ea4447c + checksum: 5b3e30343ee62d2e393e1029355f13f64bab6f3416226e22492483f99da840e2e53ca22cbfa4ac3749f2f83f7086d19c009005c8fa175da01df0fae59c2d73e1 languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.35 - resolution: "@types/connect@npm:3.4.35" +"@types/hoist-non-react-statics@npm:^3.3.1": + version: 3.3.2 + resolution: "@types/hoist-non-react-statics@npm:3.3.2" dependencies: - "@types/node": "*" - checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 + "@types/react": "*" + hoist-non-react-statics: ^3.3.0 + checksum: fe5d4b751e13f56010811fd6c4e49e53e2ccbcbbdc54bb8d86a413fbd08c5a83311bca9ef75a1a88d3ba62806711b5dea3f323c0e0f932b3a283dcebc3240238 languageName: node linkType: hard -"@types/d3-array@npm:*": - version: 3.0.5 - resolution: "@types/d3-array@npm:3.0.5" - checksum: c0014042f75dc77ff4749f6a7a78074aa73e63e5b6a985ac79a0abf3e3d943b19ddd3fbfcfcd11124f25b7f4b97cd0948eec84b2e0783cd617b49c593de695f0 +"@types/http-cache-semantics@npm:*": + version: 4.0.2 + resolution: "@types/http-cache-semantics@npm:4.0.2" + checksum: 513429786a45d8124f93cc7ea1454b692008190ef743e9fec75a6a3c998309782d216f1e67d7d497ffece9c9212310ae05a8c56e8955492ee400eacdd7620e61 languageName: node linkType: hard -"@types/d3-axis@npm:*": - version: 3.0.2 - resolution: "@types/d3-axis@npm:3.0.2" +"@types/jsonfile@npm:*": + version: 6.1.2 + resolution: "@types/jsonfile@npm:6.1.2" dependencies: - "@types/d3-selection": "*" - checksum: 3067a949572da14050c1ee1dc6a4e9ceb32e9a1bdd99e4029cdf1f541b86a843294d12f911fb9faa32a75107d36d925efcc66116f8341573cba4bb780f42ca00 + "@types/node": "*" + checksum: 3e020944de09e54ef7c4200dfbbedba76da417a58c712611ff9d30921e214dfabbe81dadd4d6608647a3ee8900d445407d7336dd991b8fe6df4249320ad4a1b4 languageName: node linkType: hard -"@types/d3-brush@npm:*": - version: 3.0.2 - resolution: "@types/d3-brush@npm:3.0.2" +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" dependencies: - "@types/d3-selection": "*" - checksum: 5a539f94ff8f397a1ca874b1cf4e641a9b26cb965904f13b1b566a6505685124c37fecf45bd88b0527727b3ffcfadf53613e90aceb5cd774fa3b62f5960db019 + "@types/node": "*" + checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d languageName: node linkType: hard -"@types/d3-chord@npm:*": - version: 3.0.2 - resolution: "@types/d3-chord@npm:3.0.2" - checksum: 7ea3398d826a0a6affe4bafb96340f74baf6126c11547af37962f486e31d4dd48d85ade8a357585bbc7616e46e43f82d2d2435e8bfe4c2d57977fd75dd53d1e5 +"@types/luxon@npm:^3.3.2": + version: 3.3.2 + resolution: "@types/luxon@npm:3.3.2" + checksum: b9111132720eae0269538872a5a496b29587ecfc8edc3b0ff7d269aa93a5ff00a131b23d1e9d1f12ec39f2c779ad21bd8d9f90b122c85a182771aabde7f676b8 languageName: node linkType: hard -"@types/d3-color@npm:*": - version: 3.1.0 - resolution: "@types/d3-color@npm:3.1.0" - checksum: b1856f17d6366559a68eaba0164f30727e9dc5eaf1b3a6c8844354da228860240423d19fa4de65bff9da26b4ead8843eab14b1566962665412e8fd82c3810554 +"@types/node@npm:*, @types/node@npm:^20.7.2": + version: 20.7.2 + resolution: "@types/node@npm:20.7.2" + checksum: 5baa09368c8daa50ad1eaa2499b988b2f4c06cacf8b251d1e63f68ad32df97b21d8104f1ac06889481f1d3e84056842732bb848dd1136164d823c1d4a6baf435 languageName: node linkType: hard -"@types/d3-contour@npm:*": - version: 3.0.2 - resolution: "@types/d3-contour@npm:3.0.2" - dependencies: - "@types/d3-array": "*" - "@types/geojson": "*" - checksum: 7b0f7ccf33dbad8124bd96736adf64b3630087fa0bda355685bcde43e13d51109a30de738785dd33d627bd2672d78d0210b7997403358974ac87b57fcf5e2752 +"@types/node@npm:^18.11.18": + version: 18.18.1 + resolution: "@types/node@npm:18.18.1" + checksum: 079085afc8615b91727900628410a2077f7fff51c5c3e20c4ab2d9caae4010b035aac13dae1221155e9d6ca46084aebf68121642140527b4009eee17b716d339 languageName: node linkType: hard -"@types/d3-delaunay@npm:*": - version: 6.0.1 - resolution: "@types/d3-delaunay@npm:6.0.1" - checksum: c46fd6f399ed604e9f40841851c432c936c4408af9e61b235a7f6030e93faa9b5c4f6c33a62be221e1d33f48a9162e9c4bbfa173746c0e4787483310da9a03b2 +"@types/pako@npm:^2.0.1": + version: 2.0.1 + resolution: "@types/pako@npm:2.0.1" + checksum: be23a275eba2ac6e1251962837c6353a11adda4302881b264786c73f684f44788a28a97714a4c3498f1c95190b3b8c18041140a57dfbb6df1e5520167ff4e9aa languageName: node linkType: hard -"@types/d3-dispatch@npm:*": - version: 3.0.2 - resolution: "@types/d3-dispatch@npm:3.0.2" - checksum: 716f21bdc4e0057ecc2989f8c3b69ba18244b40ba42e6029aad30cbd254a42ce113ec775f40ca300e02fb23823a5ebf378dae3008614d7e591b7759607fde68a +"@types/parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/parse-json@npm:4.0.0" + checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b languageName: node linkType: hard -"@types/d3-drag@npm:*, @types/d3-drag@npm:^3.0.1": - version: 3.0.2 - resolution: "@types/d3-drag@npm:3.0.2" - dependencies: - "@types/d3-selection": "*" - checksum: cd2fd6a628c097c0c4fbd1ebe647f846d7bcc7819879882e48fd64fd743b5328efe715d002e9cbf47faa2ce3fabaec9795659cb0849c326576e98cd2bf95cbf1 +"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5": + version: 15.7.7 + resolution: "@types/prop-types@npm:15.7.7" + checksum: 023b95f7dd82e1c594f51dcb93ec4c382600cef6eeee29a2ac7b782b92c0882eab8da16d4cbd6e18b39e85ac8d94ebf4ca02c6e248ce5b5fb4b16dbab5d82861 languageName: node linkType: hard -"@types/d3-dsv@npm:*": - version: 3.0.1 - resolution: "@types/d3-dsv@npm:3.0.1" - checksum: f3dbb3c994b1564b5cbeb2991fa9a0e0cee82e93e2d304f2e643b1808818493c6bb11da5503562e21ba6f6cced0faccc8d9cd5005e9065af8e4b6b4477cc8982 +"@types/react-dom@npm:^18.2.8": + version: 18.2.8 + resolution: "@types/react-dom@npm:18.2.8" + dependencies: + "@types/react": "*" + checksum: d36264631028d021b73cd9e015f10b95c4959ae1ce8f7a7419f318d1f05b1d063e6afffcd2a349a6bccd64ccc9ee9d2d976e1f0437643f0e7db621fa035bca65 languageName: node linkType: hard -"@types/d3-ease@npm:*": - version: 3.0.0 - resolution: "@types/d3-ease@npm:3.0.0" - checksum: 1be7c993643b5a08332e0ee146375a3845545d8deb423db5d152e0b061524385d2345ceccf968f75f605247b940dd3f9a144335fee2e7d935cddaf187afb7095 +"@types/react-transition-group@npm:^4.4.6": + version: 4.4.7 + resolution: "@types/react-transition-group@npm:4.4.7" + dependencies: + "@types/react": "*" + checksum: 3b91486e7aa777a3787e773efce79a0fa9be4ec9e02d51ccda8c7532c5c5d84fbcefe248dacb4007293d85bf0794ac51603bb9cec360db81cf3657d2b7123fb9 languageName: node linkType: hard -"@types/d3-fetch@npm:*": - version: 3.0.2 - resolution: "@types/d3-fetch@npm:3.0.2" +"@types/react@npm:*, @types/react@npm:^18.2.23": + version: 18.2.23 + resolution: "@types/react@npm:18.2.23" dependencies: - "@types/d3-dsv": "*" - checksum: 10fad5c1d4d8c225f2381772fe85e92cfab6575d85069e7a6361eb4d8c0030e1cde7e9db484be7db2b2f075e8e0043dae827b72396a20b94b97e58cedc50f7a5 + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: efb9d1ed1940c0e7ba08a21ffba5e266d8dbbb8fe618cfb97bc902dfc96385fdd8189e3f7f64b4aa13134f8e61947d60560deb23be151253c3a97b0d070897ca languageName: node linkType: hard -"@types/d3-force@npm:*": - version: 3.0.4 - resolution: "@types/d3-force@npm:3.0.4" - checksum: 779fb597fb41e7bc6a5e1b8969d500deb95c4a73428c7c268bf0ca6f3ed668dd2ed6aa652de7af14d2f9c192dad4f6e7badf2c5bc330624bd8405ac88440b278 +"@types/responselike@npm:^1.0.0": + version: 1.0.1 + resolution: "@types/responselike@npm:1.0.1" + dependencies: + "@types/node": "*" + checksum: ae8c36c9354aaedfa462dab655aa17613529d545a418acc54ba0214145fc1d0454be2ae107031a1b2c24768f19f2af7e4096a85d1e604010becd0bec2355cb0e languageName: node linkType: hard -"@types/d3-format@npm:*": - version: 3.0.1 - resolution: "@types/d3-format@npm:3.0.1" - checksum: 6819fae7e7c3fce1e44cd56e9b6d8ea5508f708cb7a42793edf82ff914b120bf6cddc35208b1b33ec82615ab82b843c284709f9cea5c3fe1ea5f012106b3d32c +"@types/scheduler@npm:*": + version: 0.16.4 + resolution: "@types/scheduler@npm:0.16.4" + checksum: a57b0f10da1b021e6bd5eeef8a1917dd3b08a8715bd8029e2ded2096d8f091bb1bb1fef2d66e139588a983c4bfbad29b59e48011141725fa83c76e986e1257d7 languageName: node linkType: hard -"@types/d3-geo@npm:*": - version: 3.0.3 - resolution: "@types/d3-geo@npm:3.0.3" +"@types/sha1@npm:^1.1.3": + version: 1.1.3 + resolution: "@types/sha1@npm:1.1.3" dependencies: - "@types/geojson": "*" - checksum: d2f0d386024efb97a0829488cf31d574669ff37f452bb4bb58ba62b03e705e583e166ba30844beffb51119909bf1a168a1efc91885c55ab72da9a52a46c114e2 + "@types/node": "*" + checksum: 654bd64df38229f6cb05cc20d07c0cda52b301a3e5b3fd13fe32b3da5dac7faa9f6230b3067323564369505ec12a247756867fd1aa851e331c7f5085e3427ca0 languageName: node linkType: hard -"@types/d3-hierarchy@npm:*": - version: 3.1.2 - resolution: "@types/d3-hierarchy@npm:3.1.2" - checksum: fc423b25843fb54a411e4e119eaa5a092c6da65cf17855c56fcd4807dcc897145aed78578d9af7dd9b924204c34588b1d8c9b973c27474512048e9486439b2d4 +"@types/use-sync-external-store@npm:^0.0.3": + version: 0.0.3 + resolution: "@types/use-sync-external-store@npm:0.0.3" + checksum: 161ddb8eec5dbe7279ac971531217e9af6b99f7783213566d2b502e2e2378ea19cf5e5ea4595039d730aa79d3d35c6567d48599f69773a02ffcff1776ec2a44e languageName: node linkType: hard -"@types/d3-interpolate@npm:*": - version: 3.0.1 - resolution: "@types/d3-interpolate@npm:3.0.1" +"@types/yauzl@npm:^2.9.1": + version: 2.10.1 + resolution: "@types/yauzl@npm:2.10.1" dependencies: - "@types/d3-color": "*" - checksum: 29ce472968b9e6611bdf0eeedaf89e8d6066190b52ced011d16d8183b8b9f8e6dd6516ca2b85242594942896299b42f37504d44e635f8fba3090c2c58594e21b + "@types/node": "*" + checksum: 3377916a2d493cb2422b167fb7dfff8cb3ea045a9489dab4955858719bf7fe6808e5f6a51ee819904fb7f623f7ac092b87f9d6a857ea1214a45070d19c8b3d7e languageName: node linkType: hard -"@types/d3-path@npm:*": - version: 3.0.0 - resolution: "@types/d3-path@npm:3.0.0" - checksum: af7f45ea912cddd794c03384baba856f11e1f9b57a49d05a66a61968dafaeb86e0e42394883118b9b8ccadce21a5f25b1f9a88ad05235e1dc6d24c3e34a379ff +"@vitejs/plugin-react@npm:^4.1.0": + version: 4.1.0 + resolution: "@vitejs/plugin-react@npm:4.1.0" + dependencies: + "@babel/core": ^7.22.20 + "@babel/plugin-transform-react-jsx-self": ^7.22.5 + "@babel/plugin-transform-react-jsx-source": ^7.22.5 + "@types/babel__core": ^7.20.2 + react-refresh: ^0.14.0 + peerDependencies: + vite: ^4.2.0 + checksum: 73dd403f5bca4f3f99f0bd3dcbb0cc0ecf88f758b886fb599711be744ca93f20adafe1af3574a998ac7cbd24aaf67ac7fe06983d87088cbdf535540ab402d496 languageName: node linkType: hard -"@types/d3-polygon@npm:*": - version: 3.0.0 - resolution: "@types/d3-polygon@npm:3.0.0" - checksum: 2b4fbd864e6e40c8f63c56c46ed27f63c18d4b9b8c6f03c48bda048bc29e0d77c01763122a3cf85cce89acb12c4a65f3cd7b1d87b53ced8bf6ce341831b30190 +"abbrev@npm:^1.0.0": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 languageName: node linkType: hard -"@types/d3-quadtree@npm:*": - version: 3.0.2 - resolution: "@types/d3-quadtree@npm:3.0.2" - checksum: 2a831a80590df125b07bc573c081449823e85159bb8fafbfee9f211dbe402840aeb01f4b04b4b47b0f28394daee29c8a10185f9acf17b6a8be649a377aff006b +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d languageName: node linkType: hard -"@types/d3-random@npm:*": - version: 3.0.1 - resolution: "@types/d3-random@npm:3.0.1" - checksum: 7ed9f83ee3c0b02510767bf15551984c229491d694c3c9a45a8eb80b27f7eb5f9096a48011c8cae6787b3e36321a6aaf2fe0efed8685a669481927a3d08e6b8a +"agentkeepalive@npm:^4.2.1": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: ^1.2.1 + checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481 languageName: node linkType: hard -"@types/d3-scale-chromatic@npm:*": - version: 3.0.0 - resolution: "@types/d3-scale-chromatic@npm:3.0.0" - checksum: e06afffd2725570aa90cb3050eb96a94727264948d9256e56807ab582aba379168d84d1d98bcaa275bf38375148b35dfe13697e06fc7565dd17ac7e2acb11980 +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 languageName: node linkType: hard -"@types/d3-scale@npm:*": - version: 4.0.3 - resolution: "@types/d3-scale@npm:4.0.3" - dependencies: - "@types/d3-time": "*" - checksum: 76684da8519ab5f2210e647f74f96ece9c6816dea4ad5d76131121703a5268cc65687a8bc9ebbf4a44039482247336d98811ecc3fbfeb7f0122fdce4bb295547 +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b languageName: node linkType: hard -"@types/d3-selection@npm:*, @types/d3-selection@npm:^3.0.3": - version: 3.0.5 - resolution: "@types/d3-selection@npm:3.0.5" - checksum: 77ea35c92273cd2d736355ab5a4cf6477086b064a1f608489a6fef4198ee6bc1d5440e5dfd880099265ac96c4f4b4fda659d89fbaaef37ba03708663196ba8ad +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 languageName: node linkType: hard -"@types/d3-shape@npm:*": - version: 3.1.1 - resolution: "@types/d3-shape@npm:3.1.1" +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" dependencies: - "@types/d3-path": "*" - checksum: 8f1762ecdeb4833a3802be1c65363cbc7cca753d0b836a3855fde4ba12f8e6fc142dba3c5f6d669a9e89374cc6dc414464e4f2d04e72fafd4bc64819ce30bb63 + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 languageName: node linkType: hard -"@types/d3-time-format@npm:*": - version: 4.0.0 - resolution: "@types/d3-time-format@npm:4.0.0" - checksum: ac3a841b0cd6e7f4d4c6c2cd09a2662facea6993c16b10f40fdf84f55adf7be59a6d08fd6ac1c42c27c7340f3b5eeafef968b45b052a5476a580c78a991668db +"ansi-styles@npm:^4.0.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 languageName: node linkType: hard -"@types/d3-time@npm:*": - version: 3.0.0 - resolution: "@types/d3-time@npm:3.0.0" - checksum: e76adb056daccf80107f4db190ac6deb77e8774f00362bb6c76f178e67f2f217422fe502b654edbc9ac6451f6619045b9f6f5fe0db1ec5520e2ada377af7c72e +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 languageName: node linkType: hard -"@types/d3-timer@npm:*": - version: 3.0.0 - resolution: "@types/d3-timer@npm:3.0.0" - checksum: 1ec86b3808de6ecfa93cfdf34254761069658af0cc1d9540e8353dbcba161cdf1296a0724187bd17433b2ff16563115fd20b85fc89d5e809ff28f9b1ab134b42 +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 languageName: node linkType: hard -"@types/d3-transition@npm:*": - version: 3.0.3 - resolution: "@types/d3-transition@npm:3.0.3" +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" dependencies: - "@types/d3-selection": "*" - checksum: ab9ce125108a5a5b67b972cfe23a73a0efbe958a38f51e7a2ef1003759d79f72e4563baac12400a6d6663885372bef25a50ea4433243f1a040e7fc9096b44d9d + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 languageName: node linkType: hard -"@types/d3-zoom@npm:*, @types/d3-zoom@npm:^3.0.1": - version: 3.0.3 - resolution: "@types/d3-zoom@npm:3.0.3" +"babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" dependencies: - "@types/d3-interpolate": "*" - "@types/d3-selection": "*" - checksum: 1c828538e2b04c47f659ead552824bed1c545dd1934f38abfec95f4a3c1cb4eaf7e107959ebd05a3dfec0166fa98677037ede6f633383c6502b1a05eaeb1d418 + "@babel/runtime": ^7.12.5 + cosmiconfig: ^7.0.0 + resolve: ^1.19.0 + checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6 languageName: node linkType: hard -"@types/d3@npm:^7.4.0": - version: 7.4.0 - resolution: "@types/d3@npm:7.4.0" - 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": "*" - checksum: d1383f5fca7c4a819d57eb4bccc387dccaa7cb4c24d56388e5247954db6c88f5fb7c74d156165dfe044f1da8d4d510796c8d8487b5956d8270a94a1182a6e00f +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 languageName: node linkType: hard -"@types/dagre@npm:^0.7.49": - version: 0.7.49 - resolution: "@types/dagre@npm:0.7.49" - checksum: cb27683074f8c89c073d0b7b549692b67ddae7225a2b6f9586d75c11598f7bd32d9246ecb184017a55592e7daaf63e4d33dcbc56ca4c3999cf34352460ddf772 +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: fb29535b8bf710ef45279677a86d14f5185d604557204abd2ca5fa3fb2a5c80e04d695c8dbf13ab269991977a79bb6c04b048220a6b2a3849853faa94f4a7d77 languageName: node linkType: hard -"@types/diff@npm:^5.0.3": - version: 5.0.3 - resolution: "@types/diff@npm:5.0.3" - checksum: d8a7d4de12f1aba0bd0c17b0b0d1e45c83824d3d6cc65763fbad371cd8315361a7e16fbae3f260a83bfdf30cebe1c876b42cec4518698055bc430fb09db1cbc8 +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 languageName: node linkType: hard -"@types/eslint-scope@npm:^3.7.3": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" dependencies: - "@types/eslint": "*" - "@types/estree": "*" - checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 languageName: node linkType: hard -"@types/eslint@npm:*": - version: 8.44.2 - resolution: "@types/eslint@npm:8.44.2" +"browserslist@npm:^4.21.9": + version: 4.22.1 + resolution: "browserslist@npm:4.22.1" dependencies: - "@types/estree": "*" - "@types/json-schema": "*" - checksum: 25b3ef61bae96350026593c9914c8a61ee02fde48ab8d568a73ee45032f13c0028c62e47a5ff78715af488dfe8e8bba913f7d30f859f60c7f9e639d328e80482 + caniuse-lite: ^1.0.30001541 + electron-to-chromium: ^1.4.535 + node-releases: ^2.0.13 + update-browserslist-db: ^1.0.13 + bin: + browserslist: cli.js + checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": - version: 1.0.1 - resolution: "@types/estree@npm:1.0.1" - checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.17.35 - resolution: "@types/express-serve-static-core@npm:4.17.35" - dependencies: - "@types/node": "*" - "@types/qs": "*" - "@types/range-parser": "*" - "@types/send": "*" - checksum: cc8995d10c6feda475ec1b3a0e69eb0f35f21ab6b49129ad5c6f279e0bc5de8175bc04ec51304cb79a43eec3ed2f5a1e01472eb6d5f827b8c35c6ca8ad24eb6e +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a languageName: node linkType: hard -"@types/express@npm:*, @types/express@npm:^4.17.13": - version: 4.17.17 - resolution: "@types/express@npm:4.17.17" +"cacache@npm:^17.0.0": + version: 17.1.4 + resolution: "cacache@npm:17.1.4" dependencies: - "@types/body-parser": "*" - "@types/express-serve-static-core": ^4.17.33 - "@types/qs": "*" - "@types/serve-static": "*" - checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da + "@npmcli/fs": ^3.1.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^7.7.1 + minipass: ^7.0.3 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + p-map: ^4.0.0 + ssri: ^10.0.0 + tar: ^6.1.11 + unique-filename: ^3.0.0 + checksum: b7751df756656954a51201335addced8f63fc53266fa56392c9f5ae83c8d27debffb4458ac2d168a744a4517ec3f2163af05c20097f93d17bdc2dc8a385e14a6 languageName: node linkType: hard -"@types/fs-extra@npm:^11.0.1": - version: 11.0.1 - resolution: "@types/fs-extra@npm:11.0.1" - dependencies: - "@types/jsonfile": "*" - "@types/node": "*" - checksum: 3e930346e5d84f419deb8ced1c582beef8cb20d0bd8a0eb145a37d75bab0572a1895f0e48a0d681d386b3a58b9a992b2d2acecc464bcaec2548f53ea00718651 +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: 763e02cf9196bc9afccacd8c418d942fc2677f22261969a4c2c2e760fa44a2351a81557bd908291c3921fe9beb10b976ba8fa50c5ca837c5a0dd945f16468f2d languageName: node linkType: hard -"@types/fs-extra@npm:^9.0.1": - version: 9.0.13 - resolution: "@types/fs-extra@npm:9.0.13" +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" dependencies: - "@types/node": "*" - checksum: add79e212acd5ac76b97b9045834e03a7996aef60a814185e0459088fd290519a3c1620865d588fa36c4498bf614210d2a703af5cf80aa1dbc125db78f6edac3 + 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 + checksum: 0de9df773fd4e7dd9bd118959878f8f2163867e2e1ab3575ffbecbe6e75e80513dd0c68ba30005e5e5a7b377cc6162bbc00ab1db019bb4e9cb3c2f3f7a6f1ee4 languageName: node linkType: hard -"@types/geojson@npm:*": - version: 7946.0.10 - resolution: "@types/geojson@npm:7946.0.10" - checksum: 12c407c2dc93ecb26c08af533ee732f1506a9b29456616ba7ba1d525df96206c28ddf44a528f6a5415d7d22893e9d967420940a9c095ee5e539c1eba5fefc1f4 +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 languageName: node linkType: hard -"@types/git-config-path@npm:^2.0.1": - version: 2.0.1 - resolution: "@types/git-config-path@npm:2.0.1" - checksum: 6641555c7671c044b2098dcb9e7eda11253a1a80250883bede25cf33abe5650302c3c46773cc5e8b9117a0ff11593e824580a506c531e9c83fa4aa2ad213d143 +"caniuse-lite@npm:^1.0.30001541": + version: 1.0.30001541 + resolution: "caniuse-lite@npm:1.0.30001541" + checksum: 972f6c223cf4ea2c6821b817b419249285006bbf67ebe415fe58097cf07551e3bae898586736d92f7c40b9f0ac28638dbf760631c23742b780affd0254f44d17 languageName: node linkType: hard -"@types/glob@npm:^7.1.1": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" dependencies: - "@types/minimatch": "*" - "@types/node": "*" - checksum: 6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.6 - resolution: "@types/graceful-fs@npm:4.1.6" - dependencies: - "@types/node": "*" - checksum: c3070ccdc9ca0f40df747bced1c96c71a61992d6f7c767e8fd24bb6a3c2de26e8b84135ede000b7e79db530a23e7e88dcd9db60eee6395d0f4ce1dae91369dd4 +"charenc@npm:>= 0.0.1": + version: 0.0.2 + resolution: "charenc@npm:0.0.2" + checksum: 81dcadbe57e861d527faf6dd3855dc857395a1c4d6781f4847288ab23cffb7b3ee80d57c15bba7252ffe3e5e8019db767757ee7975663ad2ca0939bb8fcaf2e5 languageName: node linkType: hard -"@types/hoist-non-react-statics@npm:^3.3.1": - version: 3.3.1 - resolution: "@types/hoist-non-react-statics@npm:3.3.1" - dependencies: - "@types/react": "*" - hoist-non-react-statics: ^3.3.0 - checksum: 2c0778570d9a01d05afabc781b32163f28409bb98f7245c38d5eaf082416fdb73034003f5825eb5e21313044e8d2d9e1f3fe2831e345d3d1b1d20bcd12270719 +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f languageName: node linkType: hard -"@types/html-minifier-terser@npm:^6.0.0": - version: 6.1.0 - resolution: "@types/html-minifier-terser@npm:6.1.0" - checksum: eb843f6a8d662d44fb18ec61041117734c6aae77aa38df1be3b4712e8e50ffaa35f1e1c92fdd0fde14a5675fecf457abcd0d15a01fae7506c91926176967f452 +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 languageName: node linkType: hard -"@types/http-cache-semantics@npm:*": - version: 4.0.1 - resolution: "@types/http-cache-semantics@npm:4.0.1" - checksum: 1048aacf627829f0d5f00184e16548205cd9f964bf0841c29b36bc504509230c40bc57c39778703a1c965a6f5b416ae2cbf4c1d4589c889d2838dd9dbfccf6e9 +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: ^1.0.0 + checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e languageName: node linkType: hard -"@types/http-errors@npm:*": - version: 2.0.1 - resolution: "@types/http-errors@npm:2.0.1" - checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f +"clsx@npm:^2.0.0": + version: 2.0.0 + resolution: "clsx@npm:2.0.0" + checksum: a2cfb2351b254611acf92faa0daf15220f4cd648bdf96ce369d729813b85336993871a4bf6978ddea2b81b5a130478339c20d9d0b5c6fc287e5147f0c059276e languageName: node linkType: hard -"@types/http-proxy@npm:^1.17.8": - version: 1.17.11 - resolution: "@types/http-proxy@npm:1.17.11" +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" dependencies: - "@types/node": "*" - checksum: 38ef4f8c91c7a5b664cf6dd4d90de7863f88549a9f8ef997f2f1184e4f8cf2e7b9b63c04f0b7b962f34a09983073a31a9856de5aae5159b2ddbb905a4c44dc9f - languageName: node - linkType: hard - -"@types/ini@npm:^1.3.31": - version: 1.3.31 - resolution: "@types/ini@npm:1.3.31" - checksum: aca4fed0cd68f6693fd64e1b7d188a9c8c6f5823b2e3501b0570135555d4184d7d0dfba2c1afb3514c94cb21ece732f4467ea98c827d1b1b98716827ac9de680 + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: a25d7589ee65c94d31464c16b72a9dc81dfa0bea9d3e105ae03882d616e2a0712a9c101a599ec482d297c3591e16336962878cb3eb1a0a62d5b76d277a890ce7 +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 languageName: node linkType: hard -"@types/istanbul-lib-report@npm:*": - version: 3.0.0 - resolution: "@types/istanbul-lib-report@npm:3.0.0" - dependencies: - "@types/istanbul-lib-coverage": "*" - checksum: 656398b62dc288e1b5226f8880af98087233cdb90100655c989a09f3052b5775bf98ba58a16c5ae642fb66c61aba402e07a9f2bff1d1569e3b306026c59f3f36 +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.1 - resolution: "@types/istanbul-reports@npm:3.0.1" - dependencies: - "@types/istanbul-lib-report": "*" - checksum: f1ad54bc68f37f60b30c7915886b92f86b847033e597f9b34f2415acdbe5ed742fa559a0a40050d74cdba3b6a63c342cac1f3a64dba5b68b66a6941f4abd7903 +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 languageName: node linkType: hard -"@types/jest@npm:^29.5.4": - version: 29.5.4 - resolution: "@types/jest@npm:29.5.4" - dependencies: - expect: ^29.0.0 - pretty-format: ^29.0.0 - checksum: 38ed5942f44336452efd0f071eab60aaa57cd8d46530348d0a3aa5a691dcbf1366c4ca8f6ee8364efb45b4413bfefae443e5d4f469246a472a03b21ac11cd4ed +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b languageName: node linkType: hard -"@types/js-cookie@npm:^2.2.6": - version: 2.2.7 - resolution: "@types/js-cookie@npm:2.2.7" - checksum: 851f47e94ca1fc43661d8f51614d67a613e7810c91b876d0a3b311ce72f7df800107fd02a08cb6948184e12c120b4f058edca2f50424d8798bdcffd6627281e3 +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af languageName: node linkType: hard -"@types/jsdom@npm:^20.0.0": - version: 20.0.1 - resolution: "@types/jsdom@npm:20.0.1" - dependencies: - "@types/node": "*" - "@types/tough-cookie": "*" - parse5: ^7.0.0 - checksum: d55402c5256ef451f93a6e3d3881f98339fe73a5ac2030588df056d6835df8367b5a857b48d27528289057e26dcdd3f502edc00cb877c79174cb3a4c7f2198c1 +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.12, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": - version: 7.0.12 - resolution: "@types/json-schema@npm:7.0.12" - checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 +"convert-source-map@npm:^1.5.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 languageName: node linkType: hard -"@types/jsonfile@npm:*": - version: 6.1.1 - resolution: "@types/jsonfile@npm:6.1.1" +"cosmiconfig@npm:^7.0.0": + version: 7.1.0 + resolution: "cosmiconfig@npm:7.1.0" dependencies: - "@types/node": "*" - checksum: 0f8fe0a9221a00e8413cffba723dfe16553868724b830237256fb0052ecd5cac96498189d1235a001cfa815f352008261c9ceb373f0aa58227f891e0c7a12c4d + "@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 + checksum: c53bf7befc1591b2651a22414a5e786cd5f2eeaa87f3678a3d49d6069835a9d8d1aef223728e98aa8fec9a95bf831120d245096db12abe019fecb51f5696c96f languageName: node linkType: hard -"@types/keyv@npm:^3.1.4": - version: 3.1.4 - resolution: "@types/keyv@npm:3.1.4" +"cross-spawn@npm:^7.0.0": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" dependencies: - "@types/node": "*" - checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 languageName: node linkType: hard -"@types/luxon@npm:^3.3.2": - version: 3.3.2 - resolution: "@types/luxon@npm:3.3.2" - checksum: b9111132720eae0269538872a5a496b29587ecfc8edc3b0ff7d269aa93a5ff00a131b23d1e9d1f12ec39f2c779ad21bd8d9f90b122c85a182771aabde7f676b8 +"crypt@npm:>= 0.0.1": + version: 0.0.2 + resolution: "crypt@npm:0.0.2" + checksum: baf4c7bbe05df656ec230018af8cf7dbe8c14b36b98726939cef008d473f6fe7a4fad906cfea4062c93af516f1550a3f43ceb4d6615329612c6511378ed9fe34 languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.1 - resolution: "@types/mime@npm:3.0.1" - checksum: 4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 +"csstype@npm:^3.0.2, csstype@npm:^3.1.2": + version: 3.1.2 + resolution: "csstype@npm:3.1.2" + checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5 languageName: node linkType: hard -"@types/mime@npm:^1": - version: 1.3.2 - resolution: "@types/mime@npm:1.3.2" - checksum: 0493368244cced1a69cb791b485a260a422e6fcc857782e1178d1e6f219f1b161793e9f87f5fae1b219af0f50bee24fcbe733a18b4be8fdd07a38a8fb91146fd +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 languageName: node linkType: hard -"@types/minimatch@npm:*": - version: 5.1.2 - resolution: "@types/minimatch@npm:5.1.2" - checksum: 0391a282860c7cb6fe262c12b99564732401bdaa5e395bee9ca323c312c1a0f45efbf34dce974682036e857db59a5c9b1da522f3d6055aeead7097264c8705a8 +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: ^3.1.0 + checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 languageName: node linkType: hard -"@types/node@npm:*": - version: 20.5.0 - resolution: "@types/node@npm:20.5.0" - checksum: 659bc5fc93b5c02bd88ca4bfae4f6b9dc307d45884d1dd9d69df85819a9943cdc00cd3c87eec3048866df6a67f52297f74d170e47a44f61edb3e8f770d94e85e +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b languageName: node linkType: hard -"@types/node@npm:^18.11.18": - version: 18.17.5 - resolution: "@types/node@npm:18.17.5" - checksum: b8c658a99234b99425243c324b641ed7b9ceb6bee6b06421fdc9bb7c58f9a5552e353225cc549e6982462ac384abe1985022ed76e2e4728797f59b21f659ca2b +"define-data-property@npm:^1.0.1": + version: 1.1.0 + resolution: "define-data-property@npm:1.1.0" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: 7ad4ee84cca8ad427a4831f5693526804b62ce9dfd4efac77214e95a4382aed930072251d4075dc8dc9fc949a353ed51f19f5285a84a788ba9216cc51472a093 languageName: node linkType: hard -"@types/node@npm:^20.5.7": - version: 20.5.7 - resolution: "@types/node@npm:20.5.7" - checksum: fc284c8e16ddc04569730d58e87eae349eb1c3dd9020cb79a1862d9d9add6f04e7367a236f3252db8db2572f90278e250f4cd43d27d264972b54394eaba1ed76 +"define-properties@npm:^1.1.3": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: ^1.0.1 + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 languageName: node linkType: hard -"@types/pako@npm:^2.0.0": - version: 2.0.0 - resolution: "@types/pako@npm:2.0.0" - checksum: 50240a036b5e6acabbf36ac4dca93ec9e619241f0404da8d401cdb427bec3029833324b8a04c4b1ae2ecbc33422fdec31dbf9f43653d9d07cafb82ace78dfccd +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd languageName: node linkType: hard -"@types/parse-git-config@npm:^3.0.1": - version: 3.0.1 - resolution: "@types/parse-git-config@npm:3.0.1" - checksum: 4eae7044c83484b8bbd3dd5f84969747d2152b5f29b587ce39ba419c36b58f2fd414f2b731d9e675316af93aad6723d90046e0061776754233bfeb61c4539c1d +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e languageName: node linkType: hard -"@types/parse-json@npm:^4.0.0": - version: 4.0.0 - resolution: "@types/parse-json@npm:4.0.0" - checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b +"dom-helpers@npm:^5.0.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": ^7.8.7 + csstype: ^3.0.2 + checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c languageName: node linkType: hard -"@types/parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "@types/parse-path@npm:7.0.0" - checksum: 46148da2ef5eccca84c664e2ebc47bdcb0e2bc93a489a121a62d93520ef469ba11494f7026af5503ee2b7c33dfe66f3ac334690d3420027c9d5f8a6ee4d0d56c +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5": - version: 15.7.5 - resolution: "@types/prop-types@npm:15.7.5" - checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980 +"electron-to-chromium@npm:^1.4.535": + version: 1.4.537 + resolution: "electron-to-chromium@npm:1.4.537" + checksum: 6375d3261eb2af2d2ba0d777c8639d7d3a32cfaf42b447e3f13faa21b27b7db3007205da3ce38cd7d2fc01ad3074bbefba1c4c588ded704becd8d6f27887db4e languageName: node linkType: hard -"@types/qs@npm:*": - version: 6.9.7 - resolution: "@types/qs@npm:6.9.7" - checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba +"electron-vite@npm:^1.0.28": + version: 1.0.28 + resolution: "electron-vite@npm:1.0.28" + dependencies: + "@babel/core": ^7.22.8 + "@babel/plugin-transform-arrow-functions": ^7.22.5 + cac: ^6.7.14 + esbuild: ^0.18.11 + magic-string: ^0.30.1 + picocolors: ^1.0.0 + peerDependencies: + "@swc/core": ^1.0.0 + vite: ^3.0.0 || ^4.0.0 + peerDependenciesMeta: + "@swc/core": + optional: true + bin: + electron-vite: bin/electron-vite.js + checksum: b16adbf4ea95dc16b970935fab53de14bfdc08f0d8664e2192f7510fdc7d411338c903e2b2700f1996c49583c1181a19e1787b1e1e4c9af98666e4399014cd92 languageName: node linkType: hard -"@types/range-parser@npm:*": - version: 1.2.4 - resolution: "@types/range-parser@npm:1.2.4" - checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 +"electron@npm:26.2.4": + version: 26.2.4 + resolution: "electron@npm:26.2.4" + dependencies: + "@electron/get": ^2.0.0 + "@types/node": ^18.11.18 + extract-zip: ^2.0.1 + bin: + electron: cli.js + checksum: c47047ad20c1772058b46d3912839e437b533a7955dfd0ae6e43f069a69e542f2d2c9563e8d58d4b8d14d3ddfa166f18a732f7068117f8b6544fb62ed75989c3 languageName: node linkType: hard -"@types/react-dom@npm:^18.0.0, @types/react-dom@npm:^18.2.7": - version: 18.2.7 - resolution: "@types/react-dom@npm:18.2.7" - dependencies: - "@types/react": "*" - checksum: e02ea908289a7ad26053308248d2b87f6aeafd73d0e2de2a3d435947bcea0422599016ffd1c3e38ff36c42f5e1c87c7417f05b0a157e48649e4a02f21727d54f +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 languageName: node linkType: hard -"@types/react-is@npm:^18.2.1": - version: 18.2.1 - resolution: "@types/react-is@npm:18.2.1" - dependencies: - "@types/react": "*" - checksum: b44c3262efa2c68fa6fe2beb9ef86170b18305469461a3f97aa14943cc033cb21a26944f718bdb6434eea6e8f7fcba251c4f45b65b897a3fcf751b5a6003cf82 +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.6": - version: 4.4.6 - resolution: "@types/react-transition-group@npm:4.4.6" +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" dependencies: - "@types/react": "*" - checksum: 0872143821d7ee20a1d81e965f8b1e837837f11cd2206973f1f98655751992d9390304d58bac192c9cd923eca95bff107d8c9e3364a180240d5c2a6fd70fd7c3 + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.2.20": - version: 18.2.20 - resolution: "@types/react@npm:18.2.20" +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" dependencies: - "@types/prop-types": "*" - "@types/scheduler": "*" - csstype: ^3.0.2 - checksum: 30f699c60e5e4bfef273ce64d320651cdd60f5c6a08361c6c7eca8cebcccda1ac953d2ee57c9f321b5ae87f8a62c72b6d35ca42df0e261d337849952daab2141 + once: ^1.4.0 + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b languageName: node linkType: hard -"@types/redux-logger@npm:^3.0.9": - version: 3.0.9 - resolution: "@types/redux-logger@npm:3.0.9" - dependencies: - redux: ^4.0.0 - checksum: c41fdc09198fae2d62ff7d6bd029ccae1fed655e6a7abd40614a8db5d6e01adbe565881b2c8d398789804a48259e3399af3939f994a532c11904ba2021799275 +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e languageName: node linkType: hard -"@types/redux-mock-store@npm:^1.0.3": - version: 1.0.3 - resolution: "@types/redux-mock-store@npm:1.0.3" - dependencies: - redux: ^4.0.5 - checksum: b8c76be560fb06c0b5fc8b8874001f0b0219a7a5d0bbbf8f06ebfc437a1300df49f079b30199a9fa99c738817145895a4f0297b8f614edadd1d9e110e917cd0a +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 languageName: node linkType: hard -"@types/responselike@npm:^1.0.0": - version: 1.0.0 - resolution: "@types/responselike@npm:1.0.0" +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" dependencies: - "@types/node": "*" - checksum: e99fc7cc6265407987b30deda54c1c24bb1478803faf6037557a774b2f034c5b097ffd65847daa87e82a61a250d919f35c3588654b0fdaa816906650f596d1b0 + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 languageName: node linkType: hard -"@types/retry@npm:0.12.0": - version: 0.12.0 - resolution: "@types/retry@npm:0.12.0" - checksum: 61a072c7639f6e8126588bf1eb1ce8835f2cb9c2aba795c4491cf6310e013267b0c8488039857c261c387e9728c1b43205099223f160bb6a76b4374f741b5603 +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: ae41332a51ec1323da6bbc5d75b7803ccdeddfae17c41b6166ebbafc8e8beb7a7b80b884b7fab1cc80df485860ac3c59d78605e860bb4f8cd816b3d6ade0d010 languageName: node linkType: hard -"@types/scheduler@npm:*": - version: 0.16.3 - resolution: "@types/scheduler@npm:0.16.3" - checksum: 2b0aec39c24268e3ce938c5db2f2e77f5c3dd280e05c262d9c2fe7d890929e4632a6b8e94334017b66b45e4f92a5aa42ba3356640c2a1175fa37bef2f5200767 +"esbuild@npm:^0.18.10, esbuild@npm:^0.18.11": + version: 0.18.20 + resolution: "esbuild@npm:0.18.20" + dependencies: + "@esbuild/android-arm": 0.18.20 + "@esbuild/android-arm64": 0.18.20 + "@esbuild/android-x64": 0.18.20 + "@esbuild/darwin-arm64": 0.18.20 + "@esbuild/darwin-x64": 0.18.20 + "@esbuild/freebsd-arm64": 0.18.20 + "@esbuild/freebsd-x64": 0.18.20 + "@esbuild/linux-arm": 0.18.20 + "@esbuild/linux-arm64": 0.18.20 + "@esbuild/linux-ia32": 0.18.20 + "@esbuild/linux-loong64": 0.18.20 + "@esbuild/linux-mips64el": 0.18.20 + "@esbuild/linux-ppc64": 0.18.20 + "@esbuild/linux-riscv64": 0.18.20 + "@esbuild/linux-s390x": 0.18.20 + "@esbuild/linux-x64": 0.18.20 + "@esbuild/netbsd-x64": 0.18.20 + "@esbuild/openbsd-x64": 0.18.20 + "@esbuild/sunos-x64": 0.18.20 + "@esbuild/win32-arm64": 0.18.20 + "@esbuild/win32-ia32": 0.18.20 + "@esbuild/win32-x64": 0.18.20 + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 5d253614e50cdb6ec22095afd0c414f15688e7278a7eb4f3720a6dd1306b0909cf431e7b9437a90d065a31b1c57be60130f63fe3e8d0083b588571f31ee6ec7b languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.0": - version: 7.5.0 - resolution: "@types/semver@npm:7.5.0" - checksum: 0a64b9b9c7424d9a467658b18dd70d1d781c2d6f033096a6e05762d20ebbad23c1b69b0083b0484722aabf35640b78ccc3de26368bcae1129c87e9df028a22e2 +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 languageName: node linkType: hard -"@types/send@npm:*": - version: 0.17.1 - resolution: "@types/send@npm:0.17.1" - dependencies: - "@types/mime": ^1 - "@types/node": "*" - checksum: 10b620a5960058ef009afbc17686f680d6486277c62f640845381ec4baa0ea683fdd77c3afea4803daf5fcddd3fb2972c8aa32e078939f1d4e96f83195c89793 +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 languageName: node linkType: hard -"@types/serve-index@npm:^1.9.1": - version: 1.9.1 - resolution: "@types/serve-index@npm:1.9.1" - dependencies: - "@types/express": "*" - checksum: 026f3995fb500f6df7c3fe5009e53bad6d739e20b84089f58ebfafb2f404bbbb6162bbe33f72d2f2af32d5b8d3799c8e179793f90d9ed5871fb8591190bb6056 +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 languageName: node linkType: hard -"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": - version: 1.15.2 - resolution: "@types/serve-static@npm:1.15.2" - dependencies: - "@types/http-errors": "*" - "@types/mime": "*" - "@types/node": "*" - checksum: 15c261dbfc57890f7cc17c04d5b22b418dfa0330c912b46c5d8ae2064da5d6f844ef7f41b63c7f4bbf07675e97ebe6ac804b032635ec742ae45d6f1274259b3e +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 languageName: node linkType: hard -"@types/sha1@npm:^1.1.3": - version: 1.1.3 - resolution: "@types/sha1@npm:1.1.3" +"extract-zip@npm:^2.0.1": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" dependencies: - "@types/node": "*" - checksum: 654bd64df38229f6cb05cc20d07c0cda52b301a3e5b3fd13fe32b3da5dac7faa9f6230b3067323564369505ec12a247756867fd1aa851e331c7f5085e3427ca0 + "@types/yauzl": ^2.9.1 + debug: ^4.1.1 + get-stream: ^5.1.0 + yauzl: ^2.10.0 + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635 languageName: node linkType: hard -"@types/sockjs@npm:^0.3.33": - version: 0.3.33 - resolution: "@types/sockjs@npm:0.3.33" +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" dependencies: - "@types/node": "*" - checksum: b9bbb2b5c5ead2fb884bb019f61a014e37410bddd295de28184e1b2e71ee6b04120c5ba7b9954617f0bdf962c13d06249ce65004490889c747c80d3f628ea842 + pend: ~1.2.0 + checksum: c8585fd5713f4476eb8261150900d2cb7f6ff2d87f8feb306ccc8a1122efd152f1783bdb2b8dc891395744583436bfd8081d8e63ece0ec8687eeefea394d4ff2 languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": - version: 2.0.1 - resolution: "@types/stack-utils@npm:2.0.1" - checksum: 205fdbe3326b7046d7eaf5e494d8084f2659086a266f3f9cf00bccc549c8e36e407f88168ad4383c8b07099957ad669f75f2532ed4bc70be2b037330f7bae019 +"find-root@npm:^1.1.0": + version: 1.1.0 + resolution: "find-root@npm:1.1.0" + checksum: b2a59fe4b6c932eef36c45a048ae8f93c85640212ebe8363164814990ee20f154197505965f3f4f102efc33bfb1cbc26fd17c4a2fc739ebc51b886b137cbefaf languageName: node linkType: hard -"@types/tough-cookie@npm:*": - version: 4.0.2 - resolution: "@types/tough-cookie@npm:4.0.2" - checksum: e055556ffdaa39ad85ede0af192c93f93f986f4bd9e9426efdc2948e3e2632db3a4a584d4937dbf6d7620527419bc99e6182d3daf2b08685e710f2eda5291905 +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^4.0.1 + checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/use-sync-external-store@npm:0.0.3" - checksum: 161ddb8eec5dbe7279ac971531217e9af6b99f7783213566d2b502e2e2378ea19cf5e5ea4595039d730aa79d3d35c6567d48599f69773a02ffcff1776ec2a44e +"fs-extra@npm:^11.1.1": + version: 11.1.1 + resolution: "fs-extra@npm:11.1.1" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: fb883c68245b2d777fbc1f2082c9efb084eaa2bbf9fddaa366130d196c03608eebef7fb490541276429ee1ca99f317e2d73e96f5ca0999eefedf5a624ae1edfd languageName: node linkType: hard -"@types/valid-url@npm:^1.0.4": - version: 1.0.4 - resolution: "@types/valid-url@npm:1.0.4" - checksum: 49f32b4fb6090e9261c294cfb86c8b7aea2e96fd3906d6bc9fcff3c08179022dc61b386a8ac47803ec12887f21298ecd6209660b3aa579f0be9d163b7af3e74d +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 languageName: node linkType: hard -"@types/validator@npm:^13.11.1": - version: 13.11.1 - resolution: "@types/validator@npm:13.11.1" - checksum: 49e8b611e0b9a0cd645534fd5eeacc64c14ac2f11d7e91d3d8b891f7cf730bccb8a4b7466ac67f4c11e16531bc211a547b97314ca977dd5e58468a77bd0da735 +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 languageName: node linkType: hard -"@types/ws@npm:^8.5.5": - version: 8.5.5 - resolution: "@types/ws@npm:8.5.5" +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" dependencies: - "@types/node": "*" - checksum: d00bf8070e6938e3ccf933010921c6ce78ac3606696ce37a393b27a9a603f7bd93ea64f3c5fa295a2f743575ba9c9a9fdb904af0f5fe2229bf2adf0630386e4a + minipass: ^7.0.3 + checksum: 8722a41109130851d979222d3ec88aabaceeaaf8f57b2a8f744ef8bd2d1ce95453b04a61daa0078822bc5cd21e008814f06fe6586f56fef511e71b8d2394d802 languageName: node linkType: hard -"@types/yargs-parser@npm:*": - version: 21.0.0 - resolution: "@types/yargs-parser@npm:21.0.0" - checksum: b2f4c8d12ac18a567440379909127cf2cec393daffb73f246d0a25df36ea983b93b7e9e824251f959e9f928cbc7c1aab6728d0a0ff15d6145f66cec2be67d9a2 +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 languageName: node linkType: hard -"@types/yargs@npm:^17.0.8": - version: 17.0.24 - resolution: "@types/yargs@npm:17.0.24" +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" dependencies: - "@types/yargs-parser": "*" - checksum: 5f3ac4dc4f6e211c1627340160fbe2fd247ceba002190da6cf9155af1798450501d628c9165a183f30a224fc68fa5e700490d740ff4c73e2cdef95bc4e8ba7bf + node-gyp: latest + checksum: 11e6ea6fea15e42461fc55b4b0e4a0a3c654faa567f1877dbd353f39156f69def97a69936d1746619d656c4b93de2238bf731f6085a03a50cabf287c9d024317 + conditions: os=darwin languageName: node linkType: hard -"@types/yauzl@npm:^2.9.1": - version: 2.10.0 - resolution: "@types/yauzl@npm:2.10.0" +"fsevents@patch:fsevents@~2.3.2#~builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" dependencies: - "@types/node": "*" - checksum: 55d27ae5d346ea260e40121675c24e112ef0247649073848e5d4e03182713ae4ec8142b98f61a1c6cbe7d3b72fa99bbadb65d8b01873e5e605cdc30f1ff70ef2 + node-gyp: latest + conditions: os=darwin languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.6.0" - dependencies: - "@eslint-community/regexpp": ^4.5.1 - "@typescript-eslint/scope-manager": 6.6.0 - "@typescript-eslint/type-utils": 6.6.0 - "@typescript-eslint/utils": 6.6.0 - "@typescript-eslint/visitor-keys": 6.6.0 - debug: ^4.3.4 - graphemer: ^1.4.0 - ignore: ^5.2.4 - natural-compare: ^1.4.0 - semver: ^7.5.4 - ts-api-utils: ^1.0.1 - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: ed41c6df87096706777e9c1f53adabd998fd840691b57f5b68b18903e567f16c0a8354ff0ad29229c249f29440ba4a017c9fe966da182a455dde9769232a4344 +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/parser@npm:6.6.0" +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" dependencies: - "@typescript-eslint/scope-manager": 6.6.0 - "@typescript-eslint/types": 6.6.0 - "@typescript-eslint/typescript-estree": 6.6.0 - "@typescript-eslint/visitor-keys": 6.6.0 - debug: ^4.3.4 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: b2d0082b6acc1a85997ebbb60fc73a43f3fe5e5028cb4130938a2cffddc94872c8e0d00a1742be8f8b755bc1994d43b55b7e4660dc88946744094ff2aca4ffd3 + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" - dependencies: - "@typescript-eslint/types": 5.62.0 - "@typescript-eslint/visitor-keys": 5.62.0 - checksum: 6062d6b797fe1ce4d275bb0d17204c827494af59b5eaf09d8a78cdd39dadddb31074dded4297aaf5d0f839016d601032857698b0e4516c86a41207de606e9573 +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/scope-manager@npm:6.6.0" +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1": + version: 1.2.1 + resolution: "get-intrinsic@npm:1.2.1" dependencies: - "@typescript-eslint/types": 6.6.0 - "@typescript-eslint/visitor-keys": 6.6.0 - checksum: 18b552fee98894c4f35e9f3d71a276f266ad4e2d7c6b9bb32a9b25caa36cc3768928676972b4e78308098ad53fa8dc6626a82810f17d51c667ce959da3ac11bc + function-bind: ^1.1.1 + has: ^1.0.3 + has-proto: ^1.0.1 + has-symbols: ^1.0.3 + checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/type-utils@npm:6.6.0" +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" dependencies: - "@typescript-eslint/typescript-estree": 6.6.0 - "@typescript-eslint/utils": 6.6.0 - debug: ^4.3.4 - ts-api-utils: ^1.0.1 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: be68ebc1d8da9d4db48933cfd5c8f22382fdf1faf4116b0eb929c65eaeaf00ef224f38b03e7f6ea2de4496d046380876dd5db514c65d078ebc7a25e771a61265 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 48c87117383d1864766486f24de34086155532b070f6264e09d0e6139449270f8a9559cfef3c56d16e3bcfb52d83d42105d61b36743626399c7c2b5e0ac3b670 + pump: ^3.0.0 + checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/types@npm:6.6.0" - checksum: d0642ad52e904062a4ac75ac4e6cc51d81ec6030f8830e230df476e69786d3232d45ca0c9ce011add9ede13f0eba4ab7f1eaf679954c6602cf4f43e1ba002be9 +"glob@npm:^10.2.2, glob@npm:^10.3.7": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^2.3.5 + minimatch: ^9.0.1 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 + bin: + glob: dist/esm/bin.mjs + checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" 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 - peerDependenciesMeta: - typescript: - optional: true - checksum: 3624520abb5807ed8f57b1197e61c7b1ed770c56dfcaca66372d584ff50175225798bccb701f7ef129d62c5989070e1ee3a0aa2d84e56d9524dcf011a2bb1a52 + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.1.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.6.0" +"global-agent@npm:^3.0.0": + version: 3.0.0 + resolution: "global-agent@npm:3.0.0" dependencies: - "@typescript-eslint/types": 6.6.0 - "@typescript-eslint/visitor-keys": 6.6.0 - debug: ^4.3.4 - globby: ^11.1.0 - is-glob: ^4.0.3 - semver: ^7.5.4 - ts-api-utils: ^1.0.1 - peerDependenciesMeta: - typescript: - optional: true - checksum: 100620bc5865dc9d2551c6be520a34b931bc70eca144c5ab0e275b81e57aa92f24a9d3a57f332d98b96e4581cf7e87211c3196d964f4951c7a2508105e3bd3f5 + boolean: ^3.0.1 + es6-error: ^4.1.1 + matcher: ^3.0.0 + roarr: ^2.15.3 + semver: ^7.3.2 + serialize-error: ^7.0.1 + checksum: 75074d80733b4bd5386c47f5df028e798018025beac0ab310e9908c72bf5639e408203e7bca0130d5ee01b5f4abc6d34385d96a9f950ea5fe1979bb431c808f7 languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/utils@npm:6.6.0" - dependencies: - "@eslint-community/eslint-utils": ^4.4.0 - "@types/json-schema": ^7.0.12 - "@types/semver": ^7.5.0 - "@typescript-eslint/scope-manager": 6.6.0 - "@typescript-eslint/types": 6.6.0 - "@typescript-eslint/typescript-estree": 6.6.0 - semver: ^7.5.4 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: da02305703569549eb7deebb7512940cd40426eccec684680087a5b8c8e08052e2ff0ff6951a2ca64740e86e4b5b390903d0b13ad51efc374d9ae54f70c6a046 +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e languageName: node linkType: hard -"@typescript-eslint/utils@npm:^5.58.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" +"globalthis@npm:^1.0.1": + version: 1.0.3 + resolution: "globalthis@npm:1.0.3" 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 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: ee9398c8c5db6d1da09463ca7bf36ed134361e20131ea354b2da16a5fdb6df9ba70c62a388d19f6eebb421af1786dbbd79ba95ddd6ab287324fc171c3e28d931 + define-properties: ^1.1.3 + checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" dependencies: - "@typescript-eslint/types": 5.62.0 - eslint-visitor-keys: ^3.3.0 - checksum: 976b05d103fe8335bef5c93ad3f76d781e3ce50329c0243ee0f00c0fcfb186c81df50e64bfdd34970148113f8ade90887f53e3c4938183afba830b4ba8e30a35 + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.6.0": - version: 6.6.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.6.0" +"got@npm:^11.8.5": + version: 11.8.6 + resolution: "got@npm:11.8.6" dependencies: - "@typescript-eslint/types": 6.6.0 - eslint-visitor-keys: ^3.4.1 - checksum: 28171124c5c7d5d10c04c204530508f1488214f2af5eb7e64a5f1cc410c64f02676c04be087adcfd0deb5566f5bb7337b208afcb249719614634c38bcc3da897 + "@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 + checksum: bbc783578a8d5030c8164ef7f57ce41b5ad7db2ed13371e1944bef157eeca5a7475530e07c0aaa71610d7085474d0d96222c9f4268d41db333a17e39b463f45d languageName: node linkType: hard -"@vercel/webpack-asset-relocator-loader@npm:1.7.3": - version: 1.7.3 - resolution: "@vercel/webpack-asset-relocator-loader@npm:1.7.3" - dependencies: - resolve: ^1.10.0 - checksum: e4d761e82f5f389206b7261874cc232382984c84f9476fb1c90759507782f8cc8a414ec910e24e63075d28ca5999bdf9d8f3ef2b2e41ea05e477188e8b9669d6 +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/ast@npm:1.11.6" - dependencies: - "@webassemblyjs/helper-numbers": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - checksum: 38ef1b526ca47c210f30975b06df2faf1a8170b1636ce239fc5738fc231ce28389dd61ecedd1bacfc03cbe95b16d1af848c805652080cb60982836eb4ed2c6cf +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.6" - checksum: b14d0573bf680d22b2522e8a341ec451fddd645d1f9c6bd9012ccb7e587a2973b86ab7b89fe91e1c79939ba96095f503af04369a3b356c8023c13a5893221644 +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" - dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 - "@xtuc/long": 4.2.2 - checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 - languageName: node - linkType: hard - -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6" +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - checksum: b2cf751bf4552b5b9999d27bbb7692d0aca75260140195cb58ea6374d7b9c2dc69b61e10b211a0e773f66209c3ddd612137ed66097e3684d7816f854997682e9 + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": + version: 3.3.2 + resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: - "@xtuc/ieee754": ^1.2.0 - checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de + react-is: ^16.7.0 + checksum: b1538270429b13901ee586aa44f4cc3ecd8831c061d06cb8322e50ea17b3f5ce4d0e2e66394761e6c8e152cd8c34fb3b4b690116c6ce2bd45b18c746516cb9e8 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" - dependencies: - "@xtuc/long": 4.2.2 - checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.6" +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/helper-wasm-section": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - "@webassemblyjs/wasm-opt": 1.11.6 - "@webassemblyjs/wasm-parser": 1.11.6 - "@webassemblyjs/wast-printer": 1.11.6 - checksum: 29ce75870496d6fad864d815ebb072395a8a3a04dc9c3f4e1ffdc63fc5fa58b1f34304a1117296d8240054cfdbc38aca88e71fb51483cf29ffab0a61ef27b481 + quick-lru: ^5.1.1 + resolve-alpn: ^1.0.0 + checksum: 74160b862ec699e3f859739101ff592d52ce1cb207b7950295bf7962e4aa1597ef709b4292c673bece9c9b300efad0559fc86c71b1409c7a1e02b7229456003e languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.6" +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: a645a2eecbea24833c3260a249704a7f554ef4a94c6000984728e94bb2bc9140a68dfd6fd21d5e0bbb09f6dfc98e083a45760a83ae0417b41a0196ff6d45a23a + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.6" +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-buffer": 1.11.6 - "@webassemblyjs/wasm-gen": 1.11.6 - "@webassemblyjs/wasm-parser": 1.11.6 - checksum: b4557f195487f8e97336ddf79f7bef40d788239169aac707f6eaa2fa5fe243557c2d74e550a8e57f2788e70c7ae4e7d32f7be16101afe183d597b747a3bdd528 + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5": - version: 1.11.6 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.6" +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" dependencies: - "@webassemblyjs/ast": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 8200a8d77c15621724a23fdabe58d5571415cda98a7058f542e670ea965dd75499f5e34a48675184947c66f3df23adf55df060312e6d72d57908e3f049620d8a + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/wast-printer@npm:1.11.6" - dependencies: - "@webassemblyjs/ast": 1.11.6 - "@xtuc/long": 4.2.2 - checksum: d2fa6a4c427325ec81463e9c809aa6572af6d47f619f3091bf4c4a6fc34f1da3df7caddaac50b8e7a457f8784c62cd58c6311b6cb69b0162ccd8d4c072f79cf8 +"ignore@npm:^5.2.4": + version: 5.2.4 + resolution: "ignore@npm:5.2.4" + checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef languageName: node linkType: hard -"@xmldom/xmldom@npm:^0.8.8": - version: 0.8.10 - resolution: "@xmldom/xmldom@npm:0.8.10" - checksum: 4c136aec31fb3b49aaa53b6fcbfe524d02a1dc0d8e17ee35bd3bf35e9ce1344560481cd1efd086ad1a4821541482528672306d5e37cdbd187f33d7fadd3e2cf0 +"immer@npm:^9.0.21": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 languageName: node linkType: hard -"@xobotyi/scrollbar-width@npm:^1.9.5": - version: 1.9.5 - resolution: "@xobotyi/scrollbar-width@npm:1.9.5" - checksum: e880c8696bd6c7eedaad4e89cc7bcfcd502c22dc6c061288ffa7f5a4fe5dab4aa2358bdd68e7357bf0334dc8b56724ed9bee05e010b60d83a3bb0d855f3d886f +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa languageName: node linkType: hard -"@xtuc/ieee754@npm:^1.2.0": - version: 1.2.0 - resolution: "@xtuc/ieee754@npm:1.2.0" - checksum: ac56d4ca6e17790f1b1677f978c0c6808b1900a5b138885d3da21732f62e30e8f0d9120fcf8f6edfff5100ca902b46f8dd7c1e3f903728634523981e80e2885a +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 languageName: node linkType: hard -"@xtuc/long@npm:4.2.2": - version: 4.2.2 - resolution: "@xtuc/long@npm:4.2.2" - checksum: 8ed0d477ce3bc9c6fe2bf6a6a2cc316bb9c4127c5a7827bae947fa8ec34c7092395c5a283cc300c05b5fa01cbbfa1f938f410a7bf75db7c7846fea41949989ec +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 languageName: node linkType: hard -"abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 6ffc1af4ff315066c62600123990d87551ceb0aafa01e6539da77b0f5987ac7019466780bf480f1787576d4385e3690c81ccc37cfda12819bf510b8ab47e5a3e +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd languageName: node linkType: hard -"abbrev@npm:^1.0.0": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 +"inherits@npm:2, inherits@npm:^2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 languageName: node linkType: hard -"accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: ~2.1.34 - negotiator: 0.6.3 - checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 languageName: node linkType: hard -"ace-builds@npm:^1.4.14": - version: 1.24.0 - resolution: "ace-builds@npm:1.24.0" - checksum: ffb19f6cd2d86c17d2275f3d0f8a42fbd02435fe932983cc4ebbf512589819c0c376e4bd53476d80dbec8219ada21208db33728641c6157a0571249f2f52f3e9 +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f languageName: node linkType: hard -"acorn-globals@npm:^7.0.0": - version: 7.0.1 - resolution: "acorn-globals@npm:7.0.1" +"is-core-module@npm:^2.13.0": + version: 2.13.0 + resolution: "is-core-module@npm:2.13.0" dependencies: - acorn: ^8.1.0 - acorn-walk: ^8.0.2 - checksum: 2a2998a547af6d0db5f0cdb90acaa7c3cbca6709010e02121fb8b8617c0fbd8bab0b869579903fde358ac78454356a14fadcc1a672ecb97b04b1c2ccba955ce8 + has: ^1.0.3 + checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 languageName: node linkType: hard -"acorn-import-assertions@npm:^1.9.0": - version: 1.9.0 - resolution: "acorn-import-assertions@npm:1.9.0" - peerDependencies: - acorn: ^8 - checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 languageName: node linkType: hard -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 languageName: node linkType: hard -"acorn-walk@npm:^8.0.2, acorn-walk@npm:^8.1.1": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 languageName: node linkType: hard -"acorn@npm:^8.1.0, acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": ^8.0.2 + "@pkgjs/parseargs": ^0.11.0 + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 languageName: node linkType: hard -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: 4 - checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 languageName: node linkType: hard -"agentkeepalive@npm:^4.2.1": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" - dependencies: - humanize-ms: ^1.2.1 - checksum: 13278cd5b125e51eddd5079f04d6fe0914ac1b8b91c1f3db2c1822f99ac1a7457869068997784342fe455d59daaff22e14fb7b8c3da4e741896e7e31faf92481 +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d languageName: node linkType: hard -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: ^2.0.0 - indent-string: ^4.0.0 - checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581 languageName: node linkType: hard -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: ^8.0.0 - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 4a287d937f1ebaad4683249a4c40c0fa3beed30d9ddc0adba04859026a622da0d317851316ea64b3680dc60f5c3c708105ddd5d5db8fe595d9d0207fd19f90b7 +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f languageName: node linkType: hard -"ajv-keywords@npm:^3.5.2": - version: 3.5.2 - resolution: "ajv-keywords@npm:3.5.2" - peerDependencies: - ajv: ^6.9.1 - checksum: 7dc5e5931677a680589050f79dcbe1fefbb8fea38a955af03724229139175b433c63c68f7ae5f86cf8f65d55eb7c25f75a046723e2e58296707617ca690feae9 +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee languageName: node linkType: hard -"ajv-keywords@npm:^5.1.0": - version: 5.1.0 - resolution: "ajv-keywords@npm:5.1.0" - dependencies: - fast-deep-equal: ^3.1.3 - peerDependencies: - ajv: ^8.8.2 - checksum: c35193940b853119242c6757787f09ecf89a2c19bcd36d03ed1a615e710d19d450cb448bfda407b939aba54b002368c8bff30529cc50a0536a8e10bcce300421 +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.5": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" 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 - checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.9.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 4dc13714e316e67537c8b31bc063f99a1d9d9a497eb4bbd55191ac0dcd5e4985bbb71570352ad6f1e76684fb6d790928f96ba3b2d4fd6e10024be9612fe3f001 + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" +"keyv@npm:^4.0.0": + version: 4.5.3 + resolution: "keyv@npm:4.5.3" dependencies: - type-fest: ^0.21.3 - checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + json-buffer: 3.0.1 + checksum: 3ffb4d5b72b6b4b4af443bbb75ca2526b23c750fccb5ac4c267c6116888b4b65681015c2833cb20d26cf3e6e32dac6b988c77f7f022e1a571b7d90f1442257da languageName: node linkType: hard -"ansi-escapes@npm:^5.0.0": - version: 5.0.0 - resolution: "ansi-escapes@npm:5.0.0" - dependencies: - type-fest: ^1.0.2 - checksum: d4b5eb8207df38367945f5dd2ef41e08c28edc192dc766ef18af6b53736682f49d8bfcfa4e4d6ecbc2e2f97c258fda084fb29a9e43b69170b71090f771afccac +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 languageName: node linkType: hard -"ansi-html-community@npm:^0.0.8": - version: 0.0.8 - resolution: "ansi-html-community@npm:0.0.8" +"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: ^3.0.0 || ^4.0.0 bin: - ansi-html: bin/ansi-html - checksum: 04c568e8348a636963f915e48eaa3e01218322e1169acafdd79c384f22e5558c003f79bbc480c1563865497482817c7eed025f0653ebc17642fededa5cb42089 + loose-envify: cli.js + checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 languageName: node linkType: hard -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23 languageName: node linkType: hard -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" dependencies: - color-convert: ^1.9.0 - checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 languageName: node linkType: hard -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: ^2.0.1 - checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 +"lru-cache@npm:^7.7.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: d7f4e97ce0623aea6bc0d90dcd28881ee04cba06c570b97fd3391bd7a268eedfd9d5e2dd4fdcbdd82b8105df5faf6f24aaedc08eaf3da898e702db5948f63469 +"lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.0.1 + resolution: "lru-cache@npm:10.0.1" + checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 languageName: node linkType: hard -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 - languageName: node - linkType: hard - -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: ^3.0.0 - picomatch: ^2.0.4 - checksum: 3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 - languageName: node - linkType: hard - -"appdmg@npm:^0.6.4": - version: 0.6.6 - resolution: "appdmg@npm:0.6.6" - dependencies: - async: ^1.4.2 - ds-store: ^0.1.5 - execa: ^1.0.0 - fs-temp: ^1.0.0 - fs-xattr: ^0.3.0 - image-size: ^0.7.4 - is-my-json-valid: ^2.20.0 - minimist: ^1.1.3 - parse-color: ^1.0.0 - path-exists: ^4.0.0 - repeat-string: ^1.5.4 - bin: - appdmg: bin/appdmg.js - conditions: os=darwin - languageName: node - linkType: hard - -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 - languageName: node - linkType: hard - -"are-docs-informative@npm:^0.0.2": - version: 0.0.2 - resolution: "are-docs-informative@npm:0.0.2" - checksum: 7a48ca90d66e29afebc4387d7029d86cfe97bad7e796c8e7de01309e02dcfc027250231c02d4ca208d2984170d09026390b946df5d3d02ac638ab35f74501c74 - languageName: node - linkType: hard - -"are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" - dependencies: - delegates: ^1.0.0 - readable-stream: ^3.6.0 - checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 - languageName: node - linkType: hard - -"arg@npm:^5.0.0": - version: 5.0.2 - resolution: "arg@npm:5.0.2" - checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078 - languageName: node - linkType: hard - -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: ~1.0.2 - checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced - languageName: node - linkType: hard - -"aria-query@npm:5.1.3": - version: 5.1.3 - resolution: "aria-query@npm:5.1.3" - dependencies: - deep-equal: ^2.0.5 - checksum: 929ff95f02857b650fb4cbcd2f41072eee2f46159a6605ea03bf63aa572e35ffdff43d69e815ddc462e16e07de8faba3978afc2813650b4448ee18c9895d982b +"luxon@npm:^3.4.3": + version: 3.4.3 + resolution: "luxon@npm:3.4.3" + checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3 languageName: node linkType: hard -"aria-query@npm:^5.0.0": - version: 5.3.0 - resolution: "aria-query@npm:5.3.0" +"magic-string@npm:^0.30.1": + version: 0.30.4 + resolution: "magic-string@npm:0.30.4" dependencies: - dequal: ^2.0.3 - checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9 + "@jridgewell/sourcemap-codec": ^1.4.15 + checksum: bef57c926d14e9926c142307c1494cc4bdea28a56601a7624f1a5bcd34a63800e2d8a363e826436ce86104460a63ee76c7c185a6ab1f8f7ee5af2de475b98947 languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" +"make-fetch-happen@npm:^11.0.3": + version: 11.1.1 + resolution: "make-fetch-happen@npm:11.1.1" dependencies: - call-bind: ^1.0.2 - is-array-buffer: ^3.0.1 - checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 - languageName: node - linkType: hard - -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b - languageName: node - linkType: hard - -"array-flatten@npm:^2.1.2": - version: 2.1.2 - resolution: "array-flatten@npm:2.1.2" - checksum: e8988aac1fbfcdaae343d08c9a06a6fddd2c6141721eeeea45c3cf523bf4431d29a46602929455ed548c7a3e0769928cdc630405427297e7081bd118fdec9262 + agentkeepalive: ^4.2.1 + cacache: ^17.0.0 + http-cache-semantics: ^4.1.1 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^5.0.0 + minipass-fetch: ^3.0.0 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^7.0.0 + ssri: ^10.0.0 + checksum: 7268bf274a0f6dcf0343829489a4506603ff34bd0649c12058753900b0eb29191dce5dba12680719a5d0a983d3e57810f594a12f3c18494e93a1fbc6348a4540 languageName: node linkType: hard -"array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 - is-string: ^1.0.7 - checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 + escape-string-regexp: ^4.0.0 + checksum: 8bee1a7ab7609c2c21d9c9254b6785fa708eadf289032b556d57a34e98fcd4c537659a004dafee6ce80ab157099e645c199dc52678dff1e7fb0a6684e0da4dbe languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.2": - version: 1.2.2 - resolution: "array.prototype.findlastindex@npm:1.2.2" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.1.3 - checksum: 8a166359f69a2a751c843f26b9c8cd03d0dc396a92cdcb85f4126b5f1cecdae5b2c0c616a71ea8aff026bde68165b44950b3664404bb73db0673e288495ba264 +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flat@npm:1.3.1" +"minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" +"minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + brace-expansion: ^2.0.1 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.1": - version: 1.0.1 - resolution: "arraybuffer.prototype.slice@npm:1.0.1" +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.2 - define-properties: ^1.2.0 - get-intrinsic: ^1.2.1 - is-array-buffer: ^3.0.2 - is-shared-array-buffer: ^1.0.2 - checksum: e3e9b2a3e988ebfeddce4c7e8f69df730c9e48cb04b0d40ff0874ce3d86b3d1339dd520ffde5e39c02610bc172ecfbd4bc93324b1cabd9554c44a56b131ce0ce + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 languageName: node linkType: hard -"asar@npm:^3.0.0": - version: 3.2.0 - resolution: "asar@npm:3.2.0" +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" dependencies: - "@types/glob": ^7.1.1 - chromium-pickle-js: ^0.2.0 - commander: ^5.0.0 - glob: ^7.1.6 - minimatch: ^3.0.4 + encoding: ^0.1.13 + minipass: ^7.0.3 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 dependenciesMeta: - "@types/glob": + encoding: optional: true - bin: - asar: bin/asar.js - checksum: f7d30b45970b053252ac124230bf319459d0728d7f6dedbe2f765cd2a83792d5a716d2c3f2861ceda69372b401f335e1f46460335169eadd0e91a0904a4f5a15 - languageName: node - linkType: hard - -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - -"async-lock@npm:^1.1.0": - version: 1.4.0 - resolution: "async-lock@npm:1.4.0" - checksum: a71ef9e50dc448a8e8dd6482494210d7b6f556d4815612b1fed5662216cd756c2c8fb9c2153a9a66ea90b36ba7fb18aa568d11813aadc23feb4c5b0b188df614 - languageName: node - linkType: hard - -"async@npm:^1.4.2": - version: 1.5.2 - resolution: "async@npm:1.5.2" - checksum: fe5d6214d8f15bd51eee5ae8ec5079b228b86d2d595f47b16369dec2e11b3ff75a567bb5f70d12d79006665fbbb7ee0a7ec0e388524eefd454ecbe651c124ebd - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be - languageName: node - linkType: hard - -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e - languageName: node - linkType: hard - -"author-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "author-regex@npm:1.0.0" - checksum: 9ad8bffb02978c7a53cbe0b0ff55988fa9f4429797b2c3783f0964df6ee198663285d7f0f3f981766a8c4fe91633ba62582244c1b54d50096007a0fe115b6898 + checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": +"minipass-flush@npm:^1.0.5": version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a - languageName: node - linkType: hard - -"babel-jest@npm:^29.6.4": - version: 29.6.4 - resolution: "babel-jest@npm:29.6.4" + resolution: "minipass-flush@npm:1.0.5" dependencies: - "@jest/transform": ^29.6.4 - "@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 - peerDependencies: - "@babel/core": ^7.8.0 - checksum: c574f1805ab6b51a7d0f5a028aad19eec4634be81e66e6f4631b79b34d8ea05dfb53629f3686c77345163872730aa0408c9e5937ed85f846984228f7ab5e5d96 + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" 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 - checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" dependencies: - "@babel/template": ^7.3.3 - "@babel/types": ^7.3.3 - "@types/babel__core": ^7.1.14 - "@types/babel__traverse": ^7.0.6 - checksum: 51250f22815a7318f17214a9d44650ba89551e6d4f47a2dc259128428324b52f5a73979d010cefd921fd5a720d8c1d55ad74ff601cd94c7bd44d5f6292fde2d1 + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 languageName: node linkType: hard -"babel-plugin-macros@npm:^3.1.0": - version: 3.1.0 - resolution: "babel-plugin-macros@npm:3.1.0" +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" dependencies: - "@babel/runtime": ^7.12.5 - cosmiconfig: ^7.0.0 - resolve: ^1.19.0 - checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6 - languageName: node - linkType: hard - -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.0.1 - resolution: "babel-preset-current-node-syntax@npm:1.0.1" - 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 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: d118c2742498c5492c095bc8541f4076b253e705b5f1ad9a2e7d302d81a84866f0070346662355c8e25fc02caa28dc2da8d69bcd67794a0d60c4d6fab6913cc8 + yallist: ^4.0.0 + checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 languageName: node linkType: hard -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: ^29.6.3 - babel-preset-current-node-syntax: ^1.0.0 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: aa4ff2a8a728d9d698ed521e3461a109a1e66202b13d3494e41eea30729a5e7cc03b3a2d56c594423a135429c37bf63a9fa8b0b9ce275298be3095a88c69f6fb +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea languageName: node linkType: hard -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 languageName: node linkType: hard -"base32-encode@npm:^0.1.0 || ^1.0.0": - version: 1.2.0 - resolution: "base32-encode@npm:1.2.0" +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" dependencies: - to-data-view: ^1.1.0 - checksum: b8df667599d50b2c9fca206fcab9bf6500d2e980b14da204eb7de5ce978c99e4874e8138d109bd88d5bca1bfb5ae83926bca37b084d2c9842f8acb12b4b839d9 + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 languageName: node linkType: hard -"base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f languageName: node linkType: hard -"batch@npm:0.6.1": - version: 0.6.1 - resolution: "batch@npm:0.6.1" - checksum: 61f9934c7378a51dce61b915586191078ef7f1c3eca707fdd58b96ff2ff56d9e0af2bdab66b1462301a73c73374239e6542d9821c0af787f3209a23365d07e7f +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f languageName: node linkType: hard -"big.js@npm:^5.2.2": - version: 5.2.2 - resolution: "big.js@npm:5.2.2" - checksum: b89b6e8419b097a8fb4ed2399a1931a68c612bce3cfd5ca8c214b2d017531191070f990598de2fc6f3f993d91c0f08aa82697717f6b3b8732c9731866d233c9e +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d languageName: node linkType: hard -"binarnia@npm:^3.1.3": - version: 3.1.3 - resolution: "binarnia@npm:3.1.3" - dependencies: - currify: ^4.0.0 - read-uint: ^2.0.0 - checksum: 73840b59a887b86ebf1b389b2d22040772610844359b3fa2e11910476a976f7438f6f930064ed0ea347474befbd0653779ae4477ac8390ef47f0021a325796ed +"nanoid@npm:^3.3.6": + version: 3.3.6 + resolution: "nanoid@npm:3.3.6" + bin: + nanoid: bin/nanoid.cjs + checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.2.0 - resolution: "binary-extensions@npm:2.2.0" - checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 languageName: node linkType: hard -"bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" +"node-gyp@npm:latest": + version: 9.4.0 + resolution: "node-gyp@npm:9.4.0" dependencies: - buffer: ^5.5.0 - inherits: ^2.0.4 - readable-stream: ^3.4.0 - checksum: 9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662 + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^11.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 78b404e2e0639d64e145845f7f5a3cb20c0520cdaf6dda2f6e025e9b644077202ea7de1232396ba5bde3fee84cdc79604feebe6ba3ec84d464c85d407bb5da99 languageName: node linkType: hard -"bluebird@npm:^3.1.1": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef +"node-releases@npm:^2.0.13": + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 languageName: node linkType: hard -"body-parser@npm:1.20.1": - version: 1.20.1 - resolution: "body-parser@npm:1.20.1" - dependencies: - bytes: 3.1.2 - content-type: ~1.0.4 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: ~1.6.18 - unpipe: 1.0.0 - checksum: f1050dbac3bede6a78f0b87947a8d548ce43f91ccc718a50dd774f3c81f2d8b04693e52acf62659fad23101827dd318da1fb1363444ff9a8482b886a3e4a5266 - languageName: node - linkType: hard - -"bonjour-service@npm:^1.0.11": - version: 1.1.1 - resolution: "bonjour-service@npm:1.1.1" - dependencies: - array-flatten: ^2.1.2 - dns-equal: ^1.0.0 - fast-deep-equal: ^3.1.3 - multicast-dns: ^7.2.5 - checksum: 832d0cf78b91368fac8bb11fd7a714e46f4c4fb1bb14d7283bce614a6fb3aae2f3fe209aba5b4fa051811c1cab6921d073a83db8432fb23292f27dd4161fb0f1 - languageName: node - linkType: hard - -"boolbase@npm:^1.0.0": - version: 1.0.0 - resolution: "boolbase@npm:1.0.0" - checksum: 3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 - languageName: node - linkType: hard - -"boolean@npm:^3.0.1": - version: 3.2.0 - resolution: "boolean@npm:3.2.0" - checksum: fb29535b8bf710ef45279677a86d14f5185d604557204abd2ca5fa3fb2a5c80e04d695c8dbf13ab269991977a79bb6c04b048220a6b2a3849853faa94f4a7d77 - languageName: node - linkType: hard - -"bplist-creator@npm:~0.0.3": - version: 0.0.8 - resolution: "bplist-creator@npm:0.0.8" - dependencies: - stream-buffers: ~2.2.0 - checksum: 7a98c7fb3c1b505a0667abd0f8c976bc01c4437fbb52cb902076a3aea3523e8d44111e21a4228c4c3b307d1c4a727968ed02bd91daf0aea7efed5081db92fb95 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: ^1.0.0 - concat-map: 0.0.1 - checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: ^1.0.0 - checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 - languageName: node - linkType: hard - -"braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: ^7.0.1 - checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 - languageName: node - linkType: hard - -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.9": - version: 4.21.10 - resolution: "browserslist@npm:4.21.10" +"nopt@npm:^6.0.0": + version: 6.0.0 + resolution: "nopt@npm:6.0.0" dependencies: - caniuse-lite: ^1.0.30001517 - electron-to-chromium: ^1.4.477 - node-releases: ^2.0.13 - update-browserslist-db: ^1.0.11 + abbrev: ^1.0.0 bin: - browserslist: cli.js - checksum: 1e27c0f111a35d1dd0e8fc2c61781b0daefabc2c9471b0b10537ce54843014bceb2a1ce4571af1a82b2bf1e6e6e05d38865916689a158f03bc2c7a4ec2577db8 - languageName: node - linkType: hard - -"bs-logger@npm:0.x": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: 2.x - checksum: d34bdaf68c64bd099ab97c3ea608c9ae7d3f5faa1178b3f3f345acd94e852e608b2d4f9103fb2e503f5e69780e98293df41691b84be909b41cf5045374d54606 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: ^0.4.0 - checksum: 9ba4dc58ce86300c862bffc3ae91f00b2a03b01ee07f3564beeeaf82aa243b8b03ba53f123b0b842c190d4399b94697970c8e7cf7b1ea44b61aa28c3526a4449 - languageName: node - linkType: hard - -"buffer-crc32@npm:~0.2.3": - version: 0.2.13 - resolution: "buffer-crc32@npm:0.2.13" - checksum: 06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c - languageName: node - linkType: hard - -"buffer-equal@npm:^1.0.0": - version: 1.0.1 - resolution: "buffer-equal@npm:1.0.1" - checksum: 6ead0f976726c4e2fb6f2e82419983f4a99cbf2cca1f1e107e16c23c4d91d9046c732dd29b63fc6ac194354f74fa107e8e94946ef2527812d83cde1d5a006309 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb - languageName: node - linkType: hard - -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.1.13 - checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 - languageName: node - linkType: hard - -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: db021755d7ed8be048f25668fe2117620861ef6703ea2c65ed2779c9e3636d5c3b82325bd912244293959ff3ae303afa3471f6a15bf5060c103e4cc3a839749d - languageName: node - linkType: hard - -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: a2b386dd8188849a5325f58eef69c3b73c51801c08ffc6963eddc9be244089ba32d19347caf6d145c86f315ae1b1fc7061a32b0c1aa6379e6a719090287ed101 - languageName: node - linkType: hard - -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e - languageName: node - linkType: hard - -"cacache@npm:^17.0.0": - version: 17.1.4 - resolution: "cacache@npm:17.1.4" - dependencies: - "@npmcli/fs": ^3.1.0 - fs-minipass: ^3.0.0 - glob: ^10.2.2 - lru-cache: ^7.7.1 - minipass: ^7.0.3 - minipass-collect: ^1.0.2 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - p-map: ^4.0.0 - ssri: ^10.0.0 - tar: ^6.1.11 - unique-filename: ^3.0.0 - checksum: b7751df756656954a51201335addced8f63fc53266fa56392c9f5ae83c8d27debffb4458ac2d168a744a4517ec3f2163af05c20097f93d17bdc2dc8a385e14a6 - languageName: node - linkType: hard - -"cacheable-lookup@npm:^5.0.3": - version: 5.0.4 - resolution: "cacheable-lookup@npm:5.0.4" - checksum: 763e02cf9196bc9afccacd8c418d942fc2677f22261969a4c2c2e760fa44a2351a81557bd908291c3921fe9beb10b976ba8fa50c5ca837c5a0dd945f16468f2d - languageName: node - linkType: hard - -"cacheable-request@npm:^7.0.2": - version: 7.0.4 - resolution: "cacheable-request@npm:7.0.4" - 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 - checksum: 0de9df773fd4e7dd9bd118959878f8f2163867e2e1ab3575ffbecbe6e75e80513dd0c68ba30005e5e5a7b377cc6162bbc00ab1db019bb4e9cb3c2f3f7a6f1ee4 - languageName: node - linkType: hard - -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" - dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 - languageName: node - linkType: hard - -"camel-case@npm:^4.1.2": - version: 4.1.2 - resolution: "camel-case@npm:4.1.2" - dependencies: - pascal-case: ^3.1.2 - tslib: ^2.0.3 - checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6 - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b - languageName: node - linkType: hard - -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001517": - version: 1.0.30001520 - resolution: "caniuse-lite@npm:1.0.30001520" - checksum: 59991ad8f36cf282f81abbcc6074c3097c21914cdd54bd2b3f73ac9462f57fc74e90371cd22bcdff4d085d09da42a07dcea384cb81e4ac260496e1bd79e1fe7c - languageName: node - linkType: hard - -"casual@npm:^1.6.2": - version: 1.6.2 - resolution: "casual@npm:1.6.2" - dependencies: - mersenne-twister: ^1.0.1 - moment: ^2.15.2 - checksum: e9df662950412735ca0622d7891463805239943fe76db50ec8a8fb3abaefb0bc1bbd08a48bcd6faf20a4227c9cd3ef8dc1c743fa21af0917ac9e820d89feb838 - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: ^3.2.1 - escape-string-regexp: ^1.0.5 - supports-color: ^5.3.0 - checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 - languageName: node - linkType: hard - -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: b563e4b6039b15213114626621e7a3d12f31008bdce20f9c741d69987f62aeaace7ec30f6018890ad77b2e9b4d95324c9f5acfca58a9441e3b1dcdd1e2525d17 - languageName: node - linkType: hard - -"chardet@npm:^0.7.0": - version: 0.7.0 - resolution: "chardet@npm:0.7.0" - checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d - languageName: node - linkType: hard - -"charenc@npm:>= 0.0.1": - version: 0.0.2 - resolution: "charenc@npm:0.0.2" - checksum: 81dcadbe57e861d527faf6dd3855dc857395a1c4d6781f4847288ab23cffb7b3ee80d57c15bba7252ffe3e5e8019db767757ee7975663ad2ca0939bb8fcaf2e5 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.3": - version: 3.5.3 - resolution: "chokidar@npm:3.5.3" - dependencies: - anymatch: ~3.1.2 - braces: ~3.0.2 - fsevents: ~2.3.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 - dependenciesMeta: - fsevents: - optional: true - checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f - languageName: node - linkType: hard - -"chrome-trace-event@npm:^1.0.2": - version: 1.0.3 - resolution: "chrome-trace-event@npm:1.0.3" - checksum: cb8b1fc7e881aaef973bd0c4a43cd353c2ad8323fb471a041e64f7c2dd849cde4aad15f8b753331a32dda45c973f032c8a03b8177fc85d60eaa75e91e08bfb97 - languageName: node - linkType: hard - -"chromium-pickle-js@npm:^0.2.0": - version: 0.2.0 - resolution: "chromium-pickle-js@npm:0.2.0" - checksum: 5ccacc538b0a1ecf3484c8fb3327eae129ceee858db0f64eb0a5ff87bda096a418d0d3e6f6e0967c6334d336a2c7463f7b683ec0e1cafbe736907fa2ee2f58ca - languageName: node - linkType: hard - -"ci-info@npm:^3.2.0": - version: 3.8.0 - resolution: "ci-info@npm:3.8.0" - checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098 - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.2.3 - resolution: "cjs-module-lexer@npm:1.2.3" - checksum: 5ea3cb867a9bb609b6d476cd86590d105f3cfd6514db38ff71f63992ab40939c2feb68967faa15a6d2b1f90daa6416b79ea2de486e9e2485a6f8b66a21b4fb0a - languageName: node - linkType: hard - -"classcat@npm:^5.0.3, classcat@npm:^5.0.4": - version: 5.0.4 - resolution: "classcat@npm:5.0.4" - checksum: 77373c58fa15ad2d4494b5c73c7ed2f859e7126227c357a3931e3f2a28e45dd9d8e779c1c8d3a8ba9ece833b21f14cd79160a7999973e28888d7e47f56c83170 - languageName: node - linkType: hard - -"clean-css@npm:^5.2.2": - version: 5.3.2 - resolution: "clean-css@npm:5.3.2" - dependencies: - source-map: ~0.6.0 - checksum: 8787b281acc9878f309b5f835d410085deedfd4e126472666773040a6a8a72f472a1d24185947d23b87b1c419bf2c5ed429395d5c5ff8279c98b05d8011e9758 - languageName: node - linkType: hard - -"clean-git-ref@npm:^2.0.1": - version: 2.0.1 - resolution: "clean-git-ref@npm:2.0.1" - checksum: b25f585ed47040ea5d699d40a2bb84d1f35afd651f3fcc05fb077224358ffd3d7509fc9edbfc4570f1fc732c987e03ac7d8ec31524ac503ac35c53cb1f5e3bf9 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: ^3.1.0 - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.5.0": - version: 2.9.0 - resolution: "cli-spinners@npm:2.9.0" - checksum: a9c56e1f44457d4a9f4f535364e729cb8726198efa9e98990cfd9eda9e220dfa4ba12f92808d1be5e29029cdfead781db82dc8549b97b31c907d55f96aa9b0e2 - languageName: node - linkType: hard - -"cli-truncate@npm:^2.1.0": - version: 2.1.0 - resolution: "cli-truncate@npm:2.1.0" - dependencies: - slice-ansi: ^3.0.0 - string-width: ^4.2.0 - checksum: bf1e4e6195392dc718bf9cd71f317b6300dc4a9191d052f31046b8773230ece4fa09458813bf0e3455a5e68c0690d2ea2c197d14a8b85a7b5e01c97f4b5feb5d - languageName: node - linkType: hard - -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^7.0.0 - checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f - languageName: node - linkType: hard - -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.1 - wrap-ansi: ^7.0.0 - checksum: 79648b3b0045f2e285b76fb2e24e207c6db44323581e421c3acbd0e86454cba1b37aea976ab50195a49e7384b871e6dfb2247ad7dec53c02454ac6497394cb56 - languageName: node - linkType: hard - -"clone-deep@npm:^4.0.1": - version: 4.0.1 - resolution: "clone-deep@npm:4.0.1" - dependencies: - is-plain-object: ^2.0.4 - kind-of: ^6.0.2 - shallow-clone: ^3.0.0 - checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 - languageName: node - linkType: hard - -"clone-response@npm:^1.0.2": - version: 1.0.3 - resolution: "clone-response@npm:1.0.3" - dependencies: - mimic-response: ^1.0.0 - checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e - languageName: node - linkType: hard - -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd - languageName: node - linkType: hard - -"clsx@npm:^2.0.0": - version: 2.0.0 - resolution: "clsx@npm:2.0.0" - checksum: a2cfb2351b254611acf92faa0daf15220f4cd648bdf96ce369d729813b85336993871a4bf6978ddea2b81b5a130478339c20d9d0b5c6fc287e5147f0c059276e - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 5210d9223010eb95b29df06a91116f2cf7c8e0748a9013ed853b53f362ea0e822f1e5bb054fb3cefc645239a4cf966af1f6133a3b43f40d591f3b68ed6cf0510 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: c10f41c39ab84629d16f9f6137bc8a63d332244383fc368caf2d2052b5e04c20cd1fd70f66fcf4e2422b84c8226598b776d39d5f2d2a51867cc1ed5d1982b4da - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: 1.1.3 - checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: ~1.1.4 - checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 - languageName: node - linkType: hard - -"color-convert@npm:~0.5.0": - version: 0.5.3 - resolution: "color-convert@npm:0.5.3" - checksum: 1074989a2c216d0171a397b870a0d698ef802ab3f9ece72b35bd92c4d20aeab31f222ea525dd5d3fad175a3f256a750eadd14ab882caed0089efc1cb7ba74086 - languageName: node - linkType: hard - -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 - languageName: node - linkType: hard - -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b - languageName: node - linkType: hard - -"colorette@npm:^2.0.10, colorette@npm:^2.0.19": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 0c016fea2b91b733eb9f4bcdb580018f52c0bc0979443dad930e5037a968237ac53d9beb98e218d2e9235834f8eebce7f8e080422d6194e957454255bde71d3d - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: ~1.0.0 - checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c - languageName: node - linkType: hard - -"commander@npm:^2.20.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e - languageName: node - linkType: hard - -"commander@npm:^4.1.1": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977 - languageName: node - linkType: hard - -"commander@npm:^5.0.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 0b7fec1712fbcc6230fcb161d8d73b4730fa91a21dc089515489402ad78810547683f058e2a9835929c212fead1d6a6ade70db28bbb03edbc2829a9ab7d69447 - languageName: node - linkType: hard - -"commander@npm:^7.2.0": - version: 7.2.0 - resolution: "commander@npm:7.2.0" - checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc - languageName: node - linkType: hard - -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 - languageName: node - linkType: hard - -"comment-parser@npm:1.4.0": - version: 1.4.0 - resolution: "comment-parser@npm:1.4.0" - checksum: e086da3b14af9455177f1ab801bc54de9139a77fcef55dbfb751ae68d687ac83b0effb83d113ccf8cd217d9d93ce2b472002953cac342092a3fadfb9f5cd8e38 - languageName: node - linkType: hard - -"compare-version@npm:^0.1.2": - version: 0.1.2 - resolution: "compare-version@npm:0.1.2" - checksum: 0ceaf50b5f912c8eb8eeca19375e617209d200abebd771e9306510166462e6f91ad764f33f210a3058ee27c83f2f001a7a4ca32f509da2d207d0143a3438a020 - languageName: node - linkType: hard - -"compressible@npm:~2.0.16": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: ">= 1.43.0 < 2" - checksum: 58321a85b375d39230405654721353f709d0c1442129e9a17081771b816302a012471a9b8f4864c7dbe02eef7f2aaac3c614795197092262e94b409c9be108f0 - languageName: node - linkType: hard - -"compression@npm:^1.7.4": - version: 1.7.4 - resolution: "compression@npm:1.7.4" - dependencies: - accepts: ~1.3.5 - bytes: 3.0.0 - compressible: ~2.0.16 - debug: 2.6.9 - on-headers: ~1.0.2 - safe-buffer: 5.1.2 - vary: ~1.1.2 - checksum: 35c0f2eb1f28418978615dc1bc02075b34b1568f7f56c62d60f4214d4b7cc00d0f6d282b5f8a954f59872396bd770b6b15ffd8aa94c67d4bce9b8887b906999b - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af - languageName: node - linkType: hard - -"connect-history-api-fallback@npm:^2.0.0": - version: 2.0.0 - resolution: "connect-history-api-fallback@npm:2.0.0" - checksum: dc5368690f4a5c413889792f8df70d5941ca9da44523cde3f87af0745faee5ee16afb8195434550f0504726642734f2683d6c07f8b460f828a12c45fbd4c9a68 - languageName: node - linkType: hard - -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed - languageName: node - linkType: hard - -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: 5.2.1 - checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 - languageName: node - linkType: hard - -"content-type@npm:~1.0.4": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 - languageName: node - linkType: hard - -"convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": - version: 1.9.0 - resolution: "convert-source-map@npm:1.9.0" - checksum: dc55a1f28ddd0e9485ef13565f8f756b342f9a46c4ae18b843fe3c30c675d058d6a4823eff86d472f187b176f0adf51ea7b69ea38be34be4a63cbbf91b0593c8 - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 - languageName: node - linkType: hard - -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a - languageName: node - linkType: hard - -"cookie@npm:0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 - languageName: node - linkType: hard - -"copy-to-clipboard@npm:^3.3.1": - version: 3.3.3 - resolution: "copy-to-clipboard@npm:3.3.3" - dependencies: - toggle-selection: ^1.0.6 - checksum: e0a325e39b7615108e6c1c8ac110ae7b829cdc4ee3278b1df6a0e4228c490442cc86444cd643e2da344fbc424b3aab8909e2fec82f8bc75e7e5b190b7c24eecf - languageName: node - linkType: hard - -"core-js@npm:^3.10.1": - version: 3.32.0 - resolution: "core-js@npm:3.32.0" - checksum: 52921395028550e4c9d21d47b9836439bb5b6b9eefc34d45a3948a68d81fdd093acc0fadf69f9cf632b82f01f95f22f484408a93dd9e940b19119ac204cd2925 - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 - languageName: node - linkType: hard - -"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" - 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 - checksum: c53bf7befc1591b2651a22414a5e786cd5f2eeaa87f3678a3d49d6069835a9d8d1aef223728e98aa8fec9a95bf831120d245096db12abe019fecb51f5696c96f - languageName: node - linkType: hard - -"crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" - bin: - crc32: bin/crc32.njs - checksum: ad2d0ad0cbd465b75dcaeeff0600f8195b686816ab5f3ba4c6e052a07f728c3e70df2e3ca9fd3d4484dc4ba70586e161ca5a2334ec8bf5a41bf022a6103ff243 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff - languageName: node - linkType: hard - -"cross-spawn-windows-exe@npm:^1.1.0, cross-spawn-windows-exe@npm:^1.2.0": - version: 1.2.0 - resolution: "cross-spawn-windows-exe@npm:1.2.0" - dependencies: - "@malept/cross-spawn-promise": ^1.1.0 - is-wsl: ^2.2.0 - which: ^2.0.2 - checksum: 57662e8fb24b53f39330aa405e5bbce874dc5cc61fcf212031def1c6fbb1aa62f5635dcacb942d6165e97460984c16b0a57ee223b4c8492f4b92147c77bc573f - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.0, cross-spawn@npm:^6.0.5": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" - dependencies: - nice-try: ^1.0.4 - path-key: ^2.0.1 - semver: ^5.5.0 - shebang-command: ^1.2.0 - which: ^1.2.9 - checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: ^3.1.0 - shebang-command: ^2.0.0 - which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 - languageName: node - linkType: hard - -"crypt@npm:>= 0.0.1": - version: 0.0.2 - resolution: "crypt@npm:0.0.2" - checksum: baf4c7bbe05df656ec230018af8cf7dbe8c14b36b98726939cef008d473f6fe7a4fad906cfea4062c93af516f1550a3f43ceb4d6615329612c6511378ed9fe34 - languageName: node - linkType: hard - -"css-in-js-utils@npm:^3.1.0": - version: 3.1.0 - resolution: "css-in-js-utils@npm:3.1.0" - dependencies: - hyphenate-style-name: ^1.0.3 - checksum: 066318e918c04a5e5bce46b38fe81052ea6ac051bcc6d3c369a1d59ceb1546cb2b6086901ab5d22be084122ee3732169996a3dfb04d3406eaee205af77aec61b - languageName: node - linkType: hard - -"css-loader@npm:^6.8.1": - version: 6.8.1 - resolution: "css-loader@npm:6.8.1" - dependencies: - icss-utils: ^5.1.0 - postcss: ^8.4.21 - postcss-modules-extract-imports: ^3.0.0 - postcss-modules-local-by-default: ^4.0.3 - postcss-modules-scope: ^3.0.0 - postcss-modules-values: ^4.0.0 - postcss-value-parser: ^4.2.0 - semver: ^7.3.8 - peerDependencies: - webpack: ^5.0.0 - checksum: 7c1784247bdbe76dc5c55fb1ac84f1d4177a74c47259942c9cfdb7a8e6baef11967a0bc85ac285f26bd26d5059decb848af8154a03fdb4f4894f41212f45eef3 - languageName: node - linkType: hard - -"css-select@npm:^4.1.3": - version: 4.3.0 - resolution: "css-select@npm:4.3.0" - dependencies: - boolbase: ^1.0.0 - css-what: ^6.0.1 - domhandler: ^4.3.1 - domutils: ^2.8.0 - nth-check: ^2.0.1 - checksum: d6202736839194dd7f910320032e7cfc40372f025e4bf21ca5bf6eb0a33264f322f50ba9c0adc35dadd342d3d6fae5ca244779a4873afbfa76561e343f2058e0 - languageName: node - linkType: hard - -"css-tree@npm:^1.1.2": - version: 1.1.3 - resolution: "css-tree@npm:1.1.3" - dependencies: - mdn-data: 2.0.14 - source-map: ^0.6.1 - checksum: 79f9b81803991b6977b7fcb1588799270438274d89066ce08f117f5cdb5e20019b446d766c61506dd772c839df84caa16042d6076f20c97187f5abe3b50e7d1f - languageName: node - linkType: hard - -"css-what@npm:^6.0.1": - version: 6.1.0 - resolution: "css-what@npm:6.1.0" - checksum: b975e547e1e90b79625918f84e67db5d33d896e6de846c9b584094e529f0c63e2ab85ee33b9daffd05bff3a146a1916bec664e18bb76dd5f66cbff9fc13b2bbe - languageName: node - linkType: hard - -"css.escape@npm:^1.5.1": - version: 1.5.1 - resolution: "css.escape@npm:1.5.1" - checksum: f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774 - languageName: node - linkType: hard - -"cssesc@npm:^3.0.0": - version: 3.0.0 - resolution: "cssesc@npm:3.0.0" - bin: - cssesc: bin/cssesc - checksum: f8c4ababffbc5e2ddf2fa9957dda1ee4af6048e22aeda1869d0d00843223c1b13ad3f5d88b51caa46c994225eacb636b764eb807a8883e2fb6f99b4f4e8c48b2 - languageName: node - linkType: hard - -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 823471aa30091c59e0a305927c30e7768939b6af70405808f8d2ce1ca778cddcb24722717392438329d1691f9a87cb0183b64b8d779b56a961546d54854fde01 - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 - languageName: node - linkType: hard - -"csstype@npm:^3.0.2, csstype@npm:^3.0.6, csstype@npm:^3.1.2": - version: 3.1.2 - resolution: "csstype@npm:3.1.2" - checksum: e1a52e6c25c1314d6beef5168da704ab29c5186b877c07d822bd0806717d9a265e8493a2e35ca7e68d0f5d472d43fac1cdce70fd79fd0853dff81f3028d857b5 - languageName: node - linkType: hard - -"currify@npm:^4.0.0": - version: 4.0.0 - resolution: "currify@npm:4.0.0" - checksum: a0b1ded58985cd5f9ec08b8ca2b9307c7c379504ff8edfe68be69e368108c14384d63a28ae3ac3591e05287ae06261243ea812e137ed91b165bcbc7f725b9cac - languageName: node - linkType: hard - -"d3-color@npm:1 - 3": - version: 3.1.0 - resolution: "d3-color@npm:3.1.0" - checksum: 4931fbfda5d7c4b5cfa283a13c91a954f86e3b69d75ce588d06cde6c3628cebfc3af2069ccf225e982e8987c612aa7948b3932163ce15eb3c11cd7c003f3ee3b - languageName: node - linkType: hard - -"d3-dispatch@npm:1 - 3": - version: 3.0.1 - resolution: "d3-dispatch@npm:3.0.1" - checksum: fdfd4a230f46463e28e5b22a45dd76d03be9345b605e1b5dc7d18bd7ebf504e6c00ae123fd6d03e23d9e2711e01f0e14ea89cd0632545b9f0c00b924ba4be223 - languageName: node - linkType: hard - -"d3-drag@npm:2 - 3, d3-drag@npm:^3.0.0": - version: 3.0.0 - resolution: "d3-drag@npm:3.0.0" - dependencies: - d3-dispatch: 1 - 3 - d3-selection: 3 - checksum: d297231e60ecd633b0d076a63b4052b436ddeb48b5a3a11ff68c7e41a6774565473a6b064c5e9256e88eca6439a917ab9cea76032c52d944ddbf4fd289e31111 - languageName: node - linkType: hard - -"d3-ease@npm:1 - 3": - version: 3.0.1 - resolution: "d3-ease@npm:3.0.1" - checksum: 06e2ee5326d1e3545eab4e2c0f84046a123dcd3b612e68858219aa034da1160333d9ce3da20a1d3486d98cb5c2a06f7d233eee1bc19ce42d1533458bd85dedcd - languageName: node - linkType: hard - -"d3-interpolate@npm:1 - 3": - version: 3.0.1 - resolution: "d3-interpolate@npm:3.0.1" - dependencies: - d3-color: 1 - 3 - checksum: a42ba314e295e95e5365eff0f604834e67e4a3b3c7102458781c477bd67e9b24b6bb9d8e41ff5521050a3f2c7c0c4bbbb6e187fd586daa3980943095b267e78b - languageName: node - linkType: hard - -"d3-selection@npm:2 - 3, d3-selection@npm:3, d3-selection@npm:^3.0.0": - version: 3.0.0 - resolution: "d3-selection@npm:3.0.0" - checksum: f4e60e133309115b99f5b36a79ae0a19d71ee6e2d5e3c7216ef3e75ebd2cb1e778c2ed2fa4c01bef35e0dcbd96c5428f5bd6ca2184fe2957ed582fde6841cbc5 - languageName: node - linkType: hard - -"d3-timer@npm:1 - 3": - version: 3.0.1 - resolution: "d3-timer@npm:3.0.1" - checksum: 1cfddf86d7bca22f73f2c427f52dfa35c49f50d64e187eb788dcad6e927625c636aa18ae4edd44d084eb9d1f81d8ca4ec305dae7f733c15846a824575b789d73 - languageName: node - linkType: hard - -"d3-transition@npm:2 - 3": - version: 3.0.1 - resolution: "d3-transition@npm:3.0.1" - dependencies: - d3-color: 1 - 3 - d3-dispatch: 1 - 3 - d3-ease: 1 - 3 - d3-interpolate: 1 - 3 - d3-timer: 1 - 3 - peerDependencies: - d3-selection: 2 - 3 - checksum: cb1e6e018c3abf0502fe9ff7b631ad058efb197b5e14b973a410d3935aead6e3c07c67d726cfab258e4936ef2667c2c3d1cd2037feb0765f0b4e1d3b8788c0ea - languageName: node - linkType: hard - -"d3-zoom@npm:^3.0.0": - version: 3.0.0 - resolution: "d3-zoom@npm:3.0.0" - dependencies: - d3-dispatch: 1 - 3 - d3-drag: 2 - 3 - d3-interpolate: 1 - 3 - d3-selection: 2 - 3 - d3-transition: 2 - 3 - checksum: 8056e3527281cfd1ccbcbc458408f86973b0583e9dac00e51204026d1d36803ca437f970b5736f02fafed9f2b78f145f72a5dbc66397e02d4d95d4c594b8ff54 - languageName: node - linkType: hard - -"dagre@npm:^0.8.5": - version: 0.8.5 - resolution: "dagre@npm:0.8.5" - dependencies: - graphlib: ^2.1.8 - lodash: ^4.17.15 - checksum: b9fabd425466d7b662381c2e457b1adda996bc4169aa60121d4de50250d83a6bb4b77d559e2f887c9c564caea781c2a377fd4de2a76c15f8f04ec3d086ca95f9 - languageName: node - linkType: hard - -"data-urls@npm:^3.0.2": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: ^2.0.6 - whatwg-mimetype: ^3.0.0 - whatwg-url: ^11.0.0 - checksum: 033fc3dd0fba6d24bc9a024ddcf9923691dd24f90a3d26f6545d6a2f71ec6956f93462f2cdf2183cc46f10dc01ed3bcb36731a8208456eb1a08147e571fe2a76 - languageName: node - linkType: hard - -"debug@npm:2.6.9, debug@npm:^2.2.0": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: 2.0.0 - checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: 2.1.2 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c - languageName: node - linkType: hard - -"decimal.js@npm:^10.4.2": - version: 10.4.3 - resolution: "decimal.js@npm:10.4.3" - checksum: 796404dcfa9d1dbfdc48870229d57f788b48c21c603c3f6554a1c17c10195fc1024de338b0cf9e1efe0c7c167eeb18f04548979bcc5fdfabebb7cc0ae3287bae - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: ^3.1.0 - checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812 - languageName: node - linkType: hard - -"dedent@npm:^1.0.0": - version: 1.5.1 - resolution: "dedent@npm:1.5.1" - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - checksum: c3c300a14edf1bdf5a873f9e4b22e839d62490bc5c8d6169c1f15858a1a76733d06a9a56930e963d677a2ceeca4b6b0894cc5ea2f501aa382ca5b92af3413c2a - languageName: node - linkType: hard - -"deep-diff@npm:^0.3.5": - version: 0.3.8 - resolution: "deep-diff@npm:0.3.8" - checksum: 8a0fb6cbe468e50211836f8daa1c14798b2d7436bfbcb7d8eb0902e0d61bf1dfd48d5b9edd46a10596182b90ad25f87461b8e55111ff9257b6067ad0676f79c9 - languageName: node - linkType: hard - -"deep-equal@npm:^2.0.5": - version: 2.2.2 - resolution: "deep-equal@npm:2.2.2" - dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.2 - es-get-iterator: ^1.1.3 - get-intrinsic: ^1.2.1 - 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 - checksum: eb61c35157b6ecb96a5359b507b083fbff8ddb4c86a78a781ee38485f77a667465e45d63ee2ebd8a00e86d94c80e499906900cd82c2debb400237e1662cd5397 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 - languageName: node - linkType: hard - -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 - languageName: node - linkType: hard - -"default-gateway@npm:^6.0.3": - version: 6.0.3 - resolution: "default-gateway@npm:6.0.3" - dependencies: - execa: ^5.0.0 - checksum: 126f8273ecac8ee9ff91ea778e8784f6cd732d77c3157e8c5bdd6ed03651b5291f71446d05bc02d04073b1e67583604db5394ea3cf992ede0088c70ea15b7378 - languageName: node - linkType: hard - -"defaults@npm:^1.0.3": - version: 1.0.4 - resolution: "defaults@npm:1.0.4" - dependencies: - clone: ^1.0.2 - checksum: 3a88b7a587fc076b84e60affad8b85245c01f60f38fc1d259e7ac1d89eb9ce6abb19e27215de46b98568dd5bc48471730b327637e6f20b0f1bc85cf00440c80a - languageName: node - linkType: hard - -"defer-to-connect@npm:^2.0.0": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b - languageName: node - linkType: hard - -"define-lazy-prop@npm:^2.0.0": - version: 2.0.0 - resolution: "define-lazy-prop@npm:2.0.0" - checksum: 0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 - languageName: node - linkType: hard - -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" - dependencies: - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 - languageName: node - linkType: hard - -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a - languageName: node - linkType: hard - -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 - languageName: node - linkType: hard - -"dequal@npm:^2.0.3": - version: 2.0.3 - resolution: "dequal@npm:2.0.3" - checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 - languageName: node - linkType: hard - -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.1": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: 2b2cd3649b83d576f4be7cc37eb3b1815c79969c8b1a03a40a4d55d83bc74d010753485753448eacb98784abf22f7dbd3911fd3b60e29fda28fed2d1a997944d - languageName: node - linkType: hard - -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: ae6cd429c41ad01b164c59ea36f264a2c479598e61cba7c99da24175a7ab80ddf066420f2bec9a1c57a6bead411b4655ff15ad7d281c000a89791f48cbe939e7 - languageName: node - linkType: hard - -"detect-node@npm:^2.0.4": - version: 2.1.0 - resolution: "detect-node@npm:2.1.0" - checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e - languageName: node - linkType: hard - -"diff-match-patch@npm:^1.0.5": - version: 1.0.5 - resolution: "diff-match-patch@npm:1.0.5" - checksum: 841522d01b09cccbc4e4402cf61514a81b906349a7d97b67222390f2d35cf5df277cb23959eeed212d5e46afb5629cebab41b87918672c5a05c11c73688630e3 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.4.3": - version: 29.4.3 - resolution: "diff-sequences@npm:29.4.3" - checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: f4914158e1f2276343d98ff5b31fc004e7304f5470bf0f1adb2ac6955d85a531a6458d33e87667f98f6ae52ebd3891bb47d420bb48a5bd8b7a27ee25b20e33aa - languageName: node - linkType: hard - -"diff3@npm:0.0.3": - version: 0.0.3 - resolution: "diff3@npm:0.0.3" - checksum: 28d883f1057b9873dfcb38cd2750337e6b32bf184bb1c0fb3292efeb83c597f1ce9b8f508bdd0d623a58b9ca1c917b1f297b90cb7fce3a62b26b0dde496f70e6 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d - languageName: node - linkType: hard - -"diff@npm:^5.1.0": - version: 5.1.0 - resolution: "diff@npm:5.1.0" - checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 - languageName: node - linkType: hard - -"dir-compare@npm:^3.0.0": - version: 3.3.0 - resolution: "dir-compare@npm:3.3.0" - dependencies: - buffer-equal: ^1.0.0 - minimatch: ^3.0.4 - checksum: 05e7381509b17cb4e6791bd9569c12ce4267f44b1ee36594946ed895ed7ad24da9285130dc42af3a60707d58c76307bb3a1cbae2acd0a9cce8c74664e6a26828 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: ^4.0.0 - checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 - languageName: node - linkType: hard - -"dns-equal@npm:^1.0.0": - version: 1.0.0 - resolution: "dns-equal@npm:1.0.0" - checksum: a8471ac849c7c13824f053babea1bc26e2f359394dd5a460f8340d8abd13434be01e3327a5c59d212f8c8997817450efd3f3ac77bec709b21979cf0235644524 - languageName: node - linkType: hard - -"dns-packet@npm:^5.2.2": - version: 5.6.0 - resolution: "dns-packet@npm:5.6.0" - dependencies: - "@leichtgewicht/ip-codec": ^2.0.1 - checksum: 1b643814e5947a87620f8a906287079347492282964ce1c236d52c414e3e3941126b96581376b180ba6e66899e70b86b587bc1aa23e3acd9957765be952d83fc - languageName: node - linkType: hard - -"doctrine@npm:^2.1.0": - version: 2.1.0 - resolution: "doctrine@npm:2.1.0" - dependencies: - esutils: ^2.0.2 - checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8 - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce - languageName: node - linkType: hard - -"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": - version: 0.5.16 - resolution: "dom-accessibility-api@npm:0.5.16" - checksum: 005eb283caef57fc1adec4d5df4dd49189b628f2f575af45decb210e04d634459e3f1ee64f18b41e2dcf200c844bc1d9279d80807e686a30d69a4756151ad248 - languageName: node - linkType: hard - -"dom-converter@npm:^0.2.0": - version: 0.2.0 - resolution: "dom-converter@npm:0.2.0" - dependencies: - utila: ~0.4 - checksum: ea52fe303f5392e48dea563abef0e6fb3a478b8dbe3c599e99bb5d53981c6c38fc4944e56bb92a8ead6bb989d10b7914722ae11febbd2fd0910e33b9fc4aaa77 - languageName: node - linkType: hard - -"dom-helpers@npm:^5.0.1": - version: 5.2.1 - resolution: "dom-helpers@npm:5.2.1" - dependencies: - "@babel/runtime": ^7.8.7 - csstype: ^3.0.2 - checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c - languageName: node - linkType: hard - -"dom-serializer@npm:^1.0.1": - version: 1.4.1 - resolution: "dom-serializer@npm:1.4.1" - dependencies: - domelementtype: ^2.0.1 - domhandler: ^4.2.0 - entities: ^2.0.0 - checksum: fbb0b01f87a8a2d18e6e5a388ad0f7ec4a5c05c06d219377da1abc7bb0f674d804f4a8a94e3f71ff15f6cb7dcfc75704a54b261db672b9b3ab03da6b758b0b22 - languageName: node - linkType: hard - -"domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 - languageName: node - linkType: hard - -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: ^7.0.0 - checksum: ddbc1268edf33a8ba02ccc596735ede80375ee0cf124b30d2f05df5b464ba78ef4f49889b6391df4a04954e63d42d5631c7fcf8b1c4f12bc531252977a5f13d5 - languageName: node - linkType: hard - -"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0, domhandler@npm:^4.3.1": - version: 4.3.1 - resolution: "domhandler@npm:4.3.1" - dependencies: - domelementtype: ^2.2.0 - checksum: 4c665ceed016e1911bf7d1dadc09dc888090b64dee7851cccd2fcf5442747ec39c647bb1cb8c8919f8bbdd0f0c625a6bafeeed4b2d656bbecdbae893f43ffaaa - languageName: node - linkType: hard - -"domutils@npm:^2.5.2, domutils@npm:^2.8.0": - version: 2.8.0 - resolution: "domutils@npm:2.8.0" - dependencies: - dom-serializer: ^1.0.1 - domelementtype: ^2.2.0 - domhandler: ^4.2.0 - checksum: abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391 - languageName: node - linkType: hard - -"dot-case@npm:^3.0.4": - version: 3.0.4 - resolution: "dot-case@npm:3.0.4" - dependencies: - no-case: ^3.0.4 - tslib: ^2.0.3 - checksum: a65e3519414856df0228b9f645332f974f2bf5433370f544a681122eab59e66038fc3349b4be1cdc47152779dac71a5864f1ccda2f745e767c46e9c6543b1169 - languageName: node - linkType: hard - -"dot-prop@npm:8.0.2": - version: 8.0.2 - resolution: "dot-prop@npm:8.0.2" - dependencies: - type-fest: ^3.8.0 - checksum: 6bb27f4a1790c340a8d848063ee8410184be0535082b942731a5d6d84763766d5811d9d7015c7f678e1e6b0d3839f65ce19a453525746bd853d2c09a064d4fdb - languageName: node - linkType: hard - -"ds-store@npm:^0.1.5": - version: 0.1.6 - resolution: "ds-store@npm:0.1.6" - dependencies: - bplist-creator: ~0.0.3 - macos-alias: ~0.2.5 - tn1150: ^0.1.0 - checksum: b574fdd92d8008e6e089ca958a9d186e4cca2b69131004ccc958a06fcea0a1079b6efd0693a74ad7f85b1f5df69edbfb81896eaef1644e1d23c506f9740c0945 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed - languageName: node - linkType: hard - -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f - languageName: node - linkType: hard - -"electron-devtools-installer@npm:^3.2.0": - version: 3.2.0 - resolution: "electron-devtools-installer@npm:3.2.0" - dependencies: - rimraf: ^3.0.2 - semver: ^7.2.1 - tslib: ^2.1.0 - unzip-crx-3: ^0.2.0 - checksum: e87d4c9283f84ac610e9ee37d72677f18feed05174e9d5bf0415a56c3daac717e3f34a5a763499aff7fc2e565660d2ad66beb95d960e8176ed148acf1c3a416b - languageName: node - linkType: hard - -"electron-installer-common@npm:^0.10.2": - version: 0.10.3 - resolution: "electron-installer-common@npm:0.10.3" - dependencies: - "@malept/cross-spawn-promise": ^1.0.0 - "@types/fs-extra": ^9.0.1 - asar: ^3.0.0 - debug: ^4.1.1 - fs-extra: ^9.0.0 - glob: ^7.1.4 - lodash: ^4.17.15 - parse-author: ^2.0.0 - semver: ^7.1.1 - tmp-promise: ^3.0.2 - dependenciesMeta: - "@types/fs-extra": - optional: true - checksum: c441c1fc1e8d57428b872cccf82e9748183588224fcdaf90189fa38f735311c7e4ebeb4c02d6b9e9901a3922f89b9c426e8be543359b44e2d12251be026f1ded - languageName: node - linkType: hard - -"electron-installer-debian@npm:^3.2.0": - version: 3.2.0 - resolution: "electron-installer-debian@npm:3.2.0" - dependencies: - "@malept/cross-spawn-promise": ^1.0.0 - debug: ^4.1.1 - electron-installer-common: ^0.10.2 - fs-extra: ^9.0.0 - get-folder-size: ^2.0.1 - lodash: ^4.17.4 - word-wrap: ^1.2.3 - yargs: ^16.0.2 - bin: - electron-installer-debian: src/cli.js - conditions: (os=darwin | os=linux) - languageName: node - linkType: hard - -"electron-installer-dmg@npm:^4.0.0": - version: 4.0.0 - resolution: "electron-installer-dmg@npm:4.0.0" - dependencies: - appdmg: ^0.6.4 - debug: ^4.3.2 - minimist: ^1.1.1 - dependenciesMeta: - appdmg: - optional: true - bin: - electron-installer-dmg: bin/electron-installer-dmg.js - checksum: 59006b5a560bf08096d970a44b429c218cb3b0c99144d8f276a354af66312c6cb215b177e4411a833013754a0033c28b2c2dadf5cd2b1dfee7c8b6b6dbdc9dae - languageName: node - linkType: hard - -"electron-installer-redhat@npm:^3.2.0": - version: 3.4.0 - resolution: "electron-installer-redhat@npm:3.4.0" - dependencies: - "@malept/cross-spawn-promise": ^1.0.0 - debug: ^4.1.1 - electron-installer-common: ^0.10.2 - fs-extra: ^9.0.0 - lodash: ^4.17.15 - word-wrap: ^1.2.3 - yargs: ^16.0.2 - bin: - electron-installer-redhat: src/cli.js - conditions: (os=darwin | os=linux) - languageName: node - linkType: hard - -"electron-packager@npm:^17.1.2": - version: 17.1.2 - resolution: "electron-packager@npm:17.1.2" - dependencies: - "@electron/asar": ^3.2.1 - "@electron/get": ^2.0.0 - "@electron/notarize": ^1.2.3 - "@electron/osx-sign": ^1.0.5 - "@electron/universal": ^1.3.2 - cross-spawn-windows-exe: ^1.2.0 - debug: ^4.0.1 - extract-zip: ^2.0.0 - filenamify: ^4.1.0 - fs-extra: ^11.1.0 - galactus: ^1.0.0 - get-package-info: ^1.0.0 - junk: ^3.1.0 - parse-author: ^2.0.0 - plist: ^3.0.0 - rcedit: ^3.0.1 - resolve: ^1.1.6 - semver: ^7.1.3 - yargs-parser: ^21.1.1 - bin: - electron-packager: bin/electron-packager.js - checksum: ce65f120084d1562a6534d1f594e2be21d13cf24dfd58f2651cf6fc519f3d2a25fa32743ed17a4fe53f096aafe0e920ae90cb20afb3a1841cf52a6a86a80a6db - languageName: node - linkType: hard - -"electron-squirrel-startup@npm:^1.0.0": - version: 1.0.0 - resolution: "electron-squirrel-startup@npm:1.0.0" - dependencies: - debug: ^2.2.0 - checksum: a1f658e326bd0f5c24aec95fd9a94a2e2b8b645adbd421465829f32719d15e85d6469d9369914c3b766d61e71eebb9f6725057b7fafa78adbcc5d6d3ce5d7a22 - languageName: node - linkType: hard - -"electron-to-chromium@npm:^1.4.477": - version: 1.4.490 - resolution: "electron-to-chromium@npm:1.4.490" - checksum: c81bf177ff64ceb54fa90f715f1d52fb9106b0ef4426b816c4ae0471c562d8f4d110531df1a164ce17eda13ad9481f6bcd15f1368b6d5442a1d2f93102ef221a - languageName: node - linkType: hard - -"electron-winstaller@npm:^5.0.0": - version: 5.1.0 - resolution: "electron-winstaller@npm:5.1.0" - dependencies: - "@electron/asar": ^3.2.1 - debug: ^4.1.1 - fs-extra: ^7.0.1 - lodash.template: ^4.2.2 - temp: ^0.9.0 - checksum: a283b1ee0b0355a54602c807dcf55e7cef92b79ddd08de8ec1e0913ca0c976ed0c03ec651fb0cc69ff86d6a21f2caef7d6992b83c03af772cc03ddf17fd68151 - languageName: node - linkType: hard - -"electron@npm:26.1.0": - version: 26.1.0 - resolution: "electron@npm:26.1.0" - dependencies: - "@electron/get": ^2.0.0 - "@types/node": ^18.11.18 - extract-zip: ^2.0.1 - bin: - electron: cli.js - checksum: caad2f041433b488f7edf3eeae7754c19ed04b153ca5a8ea335756786a870ebc67fd9c77afb0a17bb73ece890b331e8092221fc87831684146ec2f9b622e5cf0 - languageName: node - linkType: hard - -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 2b089ab6306f38feaabf4f6f02792f9ec85fc054fda79f44f6790e61bbf6bc4e1616afb9b232e0c5ec5289a8a452f79bfa6d905a6fd64e94b49981f0934001c6 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 - languageName: node - linkType: hard - -"emojis-list@npm:^3.0.0": - version: 3.0.0 - resolution: "emojis-list@npm:3.0.0" - checksum: ddaaa02542e1e9436c03970eeed445f4ed29a5337dfba0fe0c38dfdd2af5da2429c2a0821304e8a8d1cadf27fdd5b22ff793571fa803ae16852a6975c65e8e70 - languageName: node - linkType: hard - -"encode-utf8@npm:^1.0.3": - version: 1.0.3 - resolution: "encode-utf8@npm:1.0.3" - checksum: 550224bf2a104b1d355458c8a82e9b4ea07f9fc78387bc3a49c151b940ad26473de8dc9e121eefc4e84561cb0b46de1e4cd2bc766f72ee145e9ea9541482817f - languageName: node - linkType: hard - -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: ^0.6.2 - checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: ^1.4.0 - checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b - languageName: node - linkType: hard - -"enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.15.0": - version: 5.15.0 - resolution: "enhanced-resolve@npm:5.15.0" - dependencies: - graceful-fs: ^4.2.4 - tapable: ^2.2.0 - checksum: fbd8cdc9263be71cc737aa8a7d6c57b43d6aa38f6cc75dde6fcd3598a130cc465f979d2f4d01bb3bf475acb43817749c79f8eef9be048683602ca91ab52e4f11 - languageName: node - linkType: hard - -"entities@npm:^2.0.0": - version: 2.2.0 - resolution: "entities@npm:2.2.0" - checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 - languageName: node - linkType: hard - -"entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 853f8ebd5b425d350bffa97dd6958143179a5938352ccae092c62d1267c4e392a039be1bae7d51b6e4ffad25f51f9617531fedf5237f15df302ccfb452cbf2d7 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 - languageName: node - linkType: hard - -"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": - version: 1.3.2 - resolution: "error-ex@npm:1.3.2" - dependencies: - is-arrayish: ^0.2.1 - checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 - languageName: node - linkType: hard - -"error-stack-parser@npm:^2.0.6": - version: 2.1.4 - resolution: "error-stack-parser@npm:2.1.4" - dependencies: - stackframe: ^1.3.4 - checksum: 3b916d2d14c6682f287c8bfa28e14672f47eafe832701080e420e7cdbaebb2c50293868256a95706ac2330fe078cf5664713158b49bc30d7a5f2ac229ded0e18 - languageName: node - linkType: hard - -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2": - version: 1.22.1 - resolution: "es-abstract@npm:1.22.1" - dependencies: - array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.1 - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-set-tostringtag: ^2.0.1 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.1 - get-symbol-description: ^1.0.0 - globalthis: ^1.0.3 - gopd: ^1.0.1 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - 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.10 - is-weakref: ^1.0.2 - object-inspect: ^1.12.3 - object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.0 - safe-array-concat: ^1.0.0 - safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.7 - string.prototype.trimend: ^1.0.6 - string.prototype.trimstart: ^1.0.6 - 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.10 - checksum: 614e2c1c3717cb8d30b6128ef12ea110e06fd7d75ad77091ca1c5dbfb00da130e62e4bbbbbdda190eada098a22b27fe0f99ae5a1171dac2c8663b1e8be8a3a9b - languageName: node - linkType: hard - -"es-get-iterator@npm:^1.1.3": - version: 1.1.3 - resolution: "es-get-iterator@npm:1.1.3" - 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 - checksum: 8fa118da42667a01a7c7529f8a8cca514feeff243feec1ce0bb73baaa3514560bd09d2b3438873cf8a5aaec5d52da248131de153b28e2638a061b6e4df13267d - languageName: node - linkType: hard - -"es-module-lexer@npm:^1.2.1": - version: 1.3.0 - resolution: "es-module-lexer@npm:1.3.0" - checksum: 48fd9f504a9d2a894126f75c8b7ccc6273a289983e9b67255f165bfd9ae765d50100218251e94e702ca567826905ea2f7b3b4a0c4d74d3ce99cce3a2a606a238 - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.0.1": - version: 2.0.1 - resolution: "es-set-tostringtag@npm:2.0.1" - dependencies: - get-intrinsic: ^1.1.3 - has: ^1.0.3 - has-tostringtag: ^1.0.0 - checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 - languageName: node - linkType: hard - -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" - dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 - languageName: node - linkType: hard - -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" - dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed - languageName: node - linkType: hard - -"es6-error@npm:^4.1.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: ae41332a51ec1323da6bbc5d75b7803ccdeddfae17c41b6166ebbafc8e8beb7a7b80b884b7fab1cc80df485860ac3c59d78605e860bb4f8cd816b3d6ade0d010 - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 - languageName: node - linkType: hard - -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 096696407e161305cd05aebb95134ad176708bc5cb13d0dcc89a5fcbb959b8ed757e7f2591a5f8036f8f4952d4a724de0df14cd419e29212729fa6df5ce16bf6 - languageName: node - linkType: hard - -"eslint-config-prettier@npm:^9.0.0": - version: 9.0.0 - resolution: "eslint-config-prettier@npm:9.0.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 362e991b6cb343f79362bada2d97c202e5303e6865888918a7445c555fb75e4c078b01278e90be98aa98ae22f8597d8e93d48314bec6824f540f7efcab3ce451 - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.7": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" - dependencies: - debug: ^3.2.7 - is-core-module: ^2.13.0 - resolve: ^1.22.4 - checksum: 439b91271236b452d478d0522a44482e8c8540bf9df9bd744062ebb89ab45727a3acd03366a6ba2bdbcde8f9f718bab7fe8db64688aca75acf37e04eafd25e22 - languageName: node - linkType: hard - -"eslint-module-utils@npm:^2.8.0": - version: 2.8.0 - resolution: "eslint-module-utils@npm:2.8.0" - dependencies: - debug: ^3.2.7 - peerDependenciesMeta: - eslint: - optional: true - checksum: 74c6dfea7641ebcfe174be61168541a11a14aa8d72e515f5f09af55cd0d0862686104b0524aa4b8e0ce66418a44aa38a94d2588743db5fd07a6b49ffd16921d2 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.28.1": - version: 2.28.1 - resolution: "eslint-plugin-import@npm:2.28.1" - dependencies: - array-includes: ^3.1.6 - array.prototype.findlastindex: ^1.2.2 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 - debug: ^3.2.7 - doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 - eslint-module-utils: ^2.8.0 - has: ^1.0.3 - is-core-module: ^2.13.0 - is-glob: ^4.0.3 - minimatch: ^3.1.2 - object.fromentries: ^2.0.6 - object.groupby: ^1.0.0 - object.values: ^1.1.6 - semver: ^6.3.1 - tsconfig-paths: ^3.14.2 - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: e8ae6dd8f06d8adf685f9c1cfd46ac9e053e344a05c4090767e83b63a85c8421ada389807a39e73c643b9bff156715c122e89778169110ed68d6428e12607edf - languageName: node - linkType: hard - -"eslint-plugin-jsdoc@npm:^46.6.0": - version: 46.6.0 - resolution: "eslint-plugin-jsdoc@npm:46.6.0" - dependencies: - "@es-joy/jsdoccomment": ~0.40.1 - are-docs-informative: ^0.0.2 - comment-parser: 1.4.0 - debug: ^4.3.4 - escape-string-regexp: ^4.0.0 - esquery: ^1.5.0 - is-builtin-module: ^3.2.1 - semver: ^7.5.4 - spdx-expression-parse: ^3.0.1 - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 3e2b46b31c6022773b8d21282b3a95fcc8053c865e4529516f9806860331021db1548a75972cf39eb1615fb5b794340365e4bd90033218aa427693c96d9e7878 - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.0 - resolution: "eslint-plugin-react-hooks@npm:4.6.0" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 23001801f14c1d16bf0a837ca7970d9dd94e7b560384b41db378b49b6e32dc43d6e2790de1bd737a652a86f81a08d6a91f402525061b47719328f586a57e86c3 - languageName: node - linkType: hard - -"eslint-plugin-testing-library@npm:^6.0.1": - version: 6.0.1 - resolution: "eslint-plugin-testing-library@npm:6.0.1" - dependencies: - "@typescript-eslint/utils": ^5.58.0 - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 - checksum: eff1a134cb62f1c39d2136d8b89d4f231a32003fe45da2a905e5dfaa820c4a235f601ea66be6f44dd51e91debc69a36a70b586af65ac8831102b9bd411bc2705 - languageName: node - linkType: hard - -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": - version: 5.1.1 - resolution: "eslint-scope@npm:5.1.1" - dependencies: - esrecurse: ^4.3.0 - estraverse: ^4.1.1 - checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb - languageName: node - linkType: hard - -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: ^4.3.0 - estraverse: ^5.2.0 - checksum: ec97dbf5fb04b94e8f4c5a91a7f0a6dd3c55e46bfc7bbcd0e3138c3a76977570e02ed89a1810c778dcd72072ff0e9621ba1379b4babe53921d71e2e4486fda3e - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 - languageName: node - linkType: hard - -"eslint@npm:^8.48.0": - version: 8.48.0 - resolution: "eslint@npm:8.48.0" - dependencies: - "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.2 - "@eslint/js": 8.48.0 - "@humanwhocodes/config-array": ^0.11.10 - "@humanwhocodes/module-importer": ^1.0.1 - "@nodelib/fs.walk": ^1.2.8 - 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 - bin: - eslint: bin/eslint.js - checksum: f20b359a4f8123fec5c033577368cc020d42978b1b45303974acd8da7a27063168ee3fe297ab5b35327162f6a93154063e3ce6577102f70f9809aff793db9bd0 - languageName: node - linkType: hard - -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: ^8.9.0 - acorn-jsx: ^5.3.2 - eslint-visitor-keys: ^3.4.1 - checksum: eb8c149c7a2a77b3f33a5af80c10875c3abd65450f60b8af6db1bfcfa8f101e21c1e56a561c6dc13b848e18148d43469e7cd208506238554fb5395a9ea5a1ab9 - languageName: node - linkType: hard - -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 - languageName: node - linkType: hard - -"esquery@npm:^1.4.2, esquery@npm:^1.5.0": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: ^5.1.0 - checksum: aefb0d2596c230118656cd4ec7532d447333a410a48834d80ea648b1e7b5c9bc9ed8b5e33a89cb04e487b60d622f44cf5713bf4abed7c97343edefdc84a35900 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: ^5.2.0 - checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837 - languageName: node - linkType: hard - -"estraverse@npm:^4.1.1": - version: 4.3.0 - resolution: "estraverse@npm:4.3.0" - checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 - languageName: node - linkType: hard - -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff - languageName: node - linkType: hard - -"eventemitter3@npm:^4.0.0": - version: 4.0.7 - resolution: "eventemitter3@npm:4.0.7" - checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 - languageName: node - linkType: hard - -"events@npm:^3.2.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 - languageName: node - linkType: hard - -"execa@npm:^1.0.0": - version: 1.0.0 - resolution: "execa@npm:1.0.0" - dependencies: - cross-spawn: ^6.0.0 - get-stream: ^4.0.0 - is-stream: ^1.1.0 - npm-run-path: ^2.0.0 - p-finally: ^1.0.0 - signal-exit: ^3.0.0 - strip-eof: ^1.0.0 - checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 - languageName: node - linkType: hard - -"execa@npm:^5.0.0": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - 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 - checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 - languageName: node - linkType: hard - -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: abc407f07a875c3961e4781dfcb743b58d6c93de9ab263f4f8c9d23bb6da5f9b7764fc773f86b43dd88030444d5ab8abcb611cb680fba8ca075362b77114bba3 - languageName: node - linkType: hard - -"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2": - version: 2.0.2 - resolution: "expand-tilde@npm:2.0.2" - dependencies: - homedir-polyfill: ^1.0.1 - checksum: 2efe6ed407d229981b1b6ceb552438fbc9e5c7d6a6751ad6ced3e0aa5cf12f0b299da695e90d6c2ac79191b5c53c613e508f7149e4573abfbb540698ddb7301a - languageName: node - linkType: hard - -"expect@npm:^29.0.0": - version: 29.6.2 - resolution: "expect@npm:29.6.2" - dependencies: - "@jest/expect-utils": ^29.6.2 - "@types/node": "*" - jest-get-type: ^29.4.3 - jest-matcher-utils: ^29.6.2 - jest-message-util: ^29.6.2 - jest-util: ^29.6.2 - checksum: 71f7b0c560e58bf6d27e0fded261d4bdb7ef81552a6bb4bd1ee09ce7a1f7dca67fbf83cf9b07a6645a88ef52e65085a0dcbe17f6c063b53ff7c2f0f3ea4ef69e - languageName: node - linkType: hard - -"expect@npm:^29.6.4": - version: 29.6.4 - resolution: "expect@npm:29.6.4" - dependencies: - "@jest/expect-utils": ^29.6.4 - jest-get-type: ^29.6.3 - jest-matcher-utils: ^29.6.4 - jest-message-util: ^29.6.3 - jest-util: ^29.6.3 - checksum: 019b187d665562e4948b239e011a8791363e916f3076a229298d625e67fdadb06e8c2748798c49b4cf418ea223673eadd1de06537e08ba3c055c6f0efefc2306 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 - languageName: node - linkType: hard - -"express-ws@npm:^5.0.2": - version: 5.0.2 - resolution: "express-ws@npm:5.0.2" - dependencies: - ws: ^7.4.6 - peerDependencies: - express: ^4.0.0 || ^5.0.0-alpha.1 - checksum: a7134c51b6a630a369bbc7e06b6fad9ec174d535dd76c990ea6285e6cb08abad408ddb1162ba347ec5725fc483ae9f035f2eecb22ea91f3ecebff05772f62f0b - languageName: node - linkType: hard - -"express@npm:^4.17.1, express@npm:^4.17.3": - version: 4.18.2 - resolution: "express@npm:4.18.2" - dependencies: - accepts: ~1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: ~1.0.4 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: ~1.1.2 - on-finished: 2.4.1 - parseurl: ~1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: ~2.0.7 - qs: 6.11.0 - range-parser: ~1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: ~1.6.18 - utils-merge: 1.0.1 - vary: ~1.1.2 - checksum: 3c4b9b076879442f6b968fe53d85d9f1eeacbb4f4c41e5f16cc36d77ce39a2b0d81b3f250514982110d815b2f7173f5561367f9110fcc541f9371948e8c8b037 - languageName: node - linkType: hard - -"external-editor@npm:^3.0.3": - version: 3.1.0 - resolution: "external-editor@npm:3.1.0" - dependencies: - chardet: ^0.7.0 - iconv-lite: ^0.4.24 - tmp: ^0.0.33 - checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 - languageName: node - linkType: hard - -"extract-zip@npm:^2.0.0, extract-zip@npm:^2.0.1": - version: 2.0.1 - resolution: "extract-zip@npm:2.0.1" - dependencies: - "@types/yauzl": ^2.9.1 - debug: ^4.1.1 - get-stream: ^5.1.0 - yauzl: ^2.10.0 - dependenciesMeta: - "@types/yauzl": - optional: true - bin: - extract-zip: cli.js - checksum: 8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.3.1 - resolution: "fast-glob@npm:3.3.1" - 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 - checksum: b6f3add6403e02cf3a798bfbb1183d0f6da2afd368f27456010c0bc1f9640aea308243d4cb2c0ab142f618276e65ecb8be1661d7c62a7b4e5ba774b9ce5432e5 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb - languageName: node - linkType: hard - -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c - languageName: node - linkType: hard - -"fast-loops@npm:^1.1.3": - version: 1.1.3 - resolution: "fast-loops@npm:1.1.3" - checksum: b674378ba2ed8364ca1a00768636e88b22201c8d010fa62a8588a4cace04f90bac46714c13cf638be82b03438d2fe813600da32291fb47297a1bd7fa6cef0cee - languageName: node - linkType: hard - -"fast-shallow-equal@npm:^1.0.0": - version: 1.0.0 - resolution: "fast-shallow-equal@npm:1.0.0" - checksum: ae89318ce43c0c46410d9511ac31520d59cfe675bad3d0b1cb5f900b2d635943d788b8370437178e91ae0d0412decc394229c03e69925ade929a8c02da241610 - languageName: node - linkType: hard - -"fastest-stable-stringify@npm:^2.0.2": - version: 2.0.2 - resolution: "fastest-stable-stringify@npm:2.0.2" - checksum: 5e2cb166c7bb6f16ac25a1e4be17f6b8d2923234c80739e12c9d21dea376b3128b2c63f90aa2aae7746cfec4dcf188d1d4eb6a964bb484ca133f17c8e9acfacc - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.15.0 - resolution: "fastq@npm:1.15.0" - dependencies: - reusify: ^1.0.4 - checksum: 0170e6bfcd5d57a70412440b8ef600da6de3b2a6c5966aeaf0a852d542daff506a0ee92d6de7679d1de82e644bce69d7a574a6c93f0b03964b5337eed75ada1a - languageName: node - linkType: hard - -"faye-websocket@npm:^0.11.3": - version: 0.11.4 - resolution: "faye-websocket@npm:0.11.4" - dependencies: - websocket-driver: ">=0.5.1" - checksum: d49a62caf027f871149fc2b3f3c7104dc6d62744277eb6f9f36e2d5714e847d846b9f7f0d0b7169b25a012e24a594cde11a93034b30732e4c683f20b8a5019fa - languageName: node - linkType: hard - -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: 2.1.1 - checksum: b15a124cef28916fe07b400eb87cbc73ca082c142abf7ca8e8de6af43eca79ca7bd13eb4d4d48240b3bd3136eaac40d16e42d6edf87a8e5d1dd8070626860c78 - languageName: node - linkType: hard - -"fd-slicer@npm:~1.1.0": - version: 1.1.0 - resolution: "fd-slicer@npm:1.1.0" - dependencies: - pend: ~1.2.0 - checksum: c8585fd5713f4476eb8261150900d2cb7f6ff2d87f8feb306ccc8a1122efd152f1783bdb2b8dc891395744583436bfd8081d8e63ece0ec8687eeefea394d4ff2 - languageName: node - linkType: hard - -"figures@npm:^3.0.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: ^1.0.5 - checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: ^3.0.4 - checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 - languageName: node - linkType: hard - -"file-loader@npm:^6.2.0": - version: 6.2.0 - resolution: "file-loader@npm:6.2.0" - dependencies: - loader-utils: ^2.0.0 - schema-utils: ^3.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: faf43eecf233f4897b0150aaa874eeeac214e4f9de49738a9e0ef734a30b5260059e85b7edadf852b98e415f875bd5f12587768a93fd52aaf2e479ecf95fab20 - languageName: node - linkType: hard - -"filename-reserved-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "filename-reserved-regex@npm:2.0.0" - checksum: 323a0020fd7f243238ffccab9d728cbc5f3a13c84b2c10e01efb09b8324561d7a51776be76f36603c734d4f69145c39a5d12492bf6142a28b50d7f90bd6190bc - languageName: node - linkType: hard - -"filenamify@npm:^4.1.0": - version: 4.3.0 - resolution: "filenamify@npm:4.3.0" - dependencies: - filename-reserved-regex: ^2.0.0 - strip-outer: ^1.0.1 - trim-repeated: ^1.0.0 - checksum: 5b71a7ff8e958c8621957e6fbf7872024126d3b5da50f59b1634af3343ba1a69d4cc15cfe4ca4bbfa7c959ad4d98614ee51e6f1d9fa7326eef8ceda2da8cd74e - languageName: node - linkType: hard - -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: ^5.0.1 - checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 - languageName: node - linkType: hard - -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" - dependencies: - debug: 2.6.9 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - on-finished: 2.4.1 - parseurl: ~1.3.3 - statuses: 2.0.1 - unpipe: ~1.0.0 - checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 - languageName: node - linkType: hard - -"find-package@npm:^1.0.0": - version: 1.0.0 - resolution: "find-package@npm:1.0.0" - dependencies: - parents: ^1.0.1 - checksum: 48840557446ffbd5d461080be9d55ee0858a493678b9fdf03512ce0f69b20572a990d2b9489f50f762164e6021fe9421d92b9d578779bf343af775a69185fc95 - languageName: node - linkType: hard - -"find-root@npm:^1.1.0": - version: 1.1.0 - resolution: "find-root@npm:1.1.0" - checksum: b2a59fe4b6c932eef36c45a048ae8f93c85640212ebe8363164814990ee20f154197505965f3f4f102efc33bfb1cbc26fd17c4a2fc739ebc51b886b137cbefaf - languageName: node - linkType: hard - -"find-up@npm:^2.0.0": - version: 2.1.0 - resolution: "find-up@npm:2.1.0" - dependencies: - locate-path: ^2.0.0 - checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd - languageName: node - linkType: hard - -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: ^5.0.0 - path-exists: ^4.0.0 - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: ^6.0.0 - path-exists: ^4.0.0 - checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 - languageName: node - linkType: hard - -"find-up@npm:^6.3.0": - version: 6.3.0 - resolution: "find-up@npm:6.3.0" - dependencies: - locate-path: ^7.1.0 - path-exists: ^5.0.0 - checksum: 9a21b7f9244a420e54c6df95b4f6fc3941efd3c3e5476f8274eb452f6a85706e7a6a90de71353ee4f091fcb4593271a6f92810a324ec542650398f928783c280 - languageName: node - linkType: hard - -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" - dependencies: - flatted: ^3.1.0 - rimraf: ^3.0.2 - checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 - languageName: node - linkType: hard - -"flatted@npm:^3.1.0": - version: 3.2.7 - resolution: "flatted@npm:3.2.7" - checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35 - languageName: node - linkType: hard - -"flora-colossus@npm:^2.0.0": - version: 2.0.0 - resolution: "flora-colossus@npm:2.0.0" - dependencies: - debug: ^4.3.4 - fs-extra: ^10.1.0 - checksum: b31b30697de4969e97201f1b17353c533430d1606911c4d3e4f7f6dafda4a62f50c4ddf99fdd2f6f6313666a572e83c0831302a3e25c997a5679998b440d6265 - languageName: node - linkType: hard - -"fmix@npm:^0.1.0": - version: 0.1.0 - resolution: "fmix@npm:0.1.0" - dependencies: - imul: ^1.0.0 - checksum: c465344d4f169eaf10d45c33949a1e7a633f09dba2ac7063ce8ae8be743df5979d708f7f24900163589f047f5194ac5fc2476177ce31175e8805adfa7b8fb7a4 - languageName: node - linkType: hard - -"follow-redirects@npm:^1.0.0": - version: 1.15.2 - resolution: "follow-redirects@npm:1.15.2" - peerDependenciesMeta: - debug: - optional: true - checksum: faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190 - languageName: node - linkType: hard - -"for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" - dependencies: - is-callable: ^1.1.3 - checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: ^7.0.0 - signal-exit: ^4.0.1 - checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 - languageName: node - linkType: hard - -"fork-ts-checker-webpack-plugin@npm:^8.0.0": - version: 8.0.0 - resolution: "fork-ts-checker-webpack-plugin@npm:8.0.0" - 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 - peerDependencies: - typescript: ">3.6.0" - webpack: ^5.11.0 - checksum: aad4cbc5b802e6281a2700a379837697c93ad95288468f9595219d91d9c26674736d37852bb4c4341e9122f26181e9e05fc1a362e8d029fdd88e99de7816037b - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 - languageName: node - linkType: hard - -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 - languageName: node - linkType: hard - -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: dc94ab37096f813cc3ca12f0f1b5ad6744dfed9ed21e953d72530d103cea193c2f81584a39e9dee1bea36de5ee66805678c0dddc048e8af1427ac19c00fffc50 - languageName: node - linkType: hard - -"fs-extra@npm:^11.1.0, fs-extra@npm:^11.1.1": - version: 11.1.1 - resolution: "fs-extra@npm:11.1.1" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: fb883c68245b2d777fbc1f2082c9efb084eaa2bbf9fddaa366130d196c03608eebef7fb490541276429ee1ca99f317e2d73e96f5ca0999eefedf5a624ae1edfd - languageName: node - linkType: hard - -"fs-extra@npm:^7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: ^4.1.2 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: 141b9dccb23b66a66cefdd81f4cda959ff89282b1d721b98cea19ba08db3dcbe6f862f28841f3cf24bb299e0b7e6c42303908f65093cb7e201708e86ea5a8dcf - languageName: node - linkType: hard - -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - -"fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" - dependencies: - at-least-node: ^1.0.0 - graceful-fs: ^4.2.0 - jsonfile: ^6.0.1 - universalify: ^2.0.0 - checksum: ba71ba32e0faa74ab931b7a0031d1523c66a73e225de7426e275e238e312d07313d2da2d33e34a52aa406c8763ade5712eb3ec9ba4d9edce652bcacdc29e6b20 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: ^3.0.0 - checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: ^7.0.3 - checksum: 8722a41109130851d979222d3ec88aabaceeaaf8f57b2a8f744ef8bd2d1ce95453b04a61daa0078822bc5cd21e008814f06fe6586f56fef511e71b8d2394d802 - languageName: node - linkType: hard - -"fs-monkey@npm:^1.0.0, fs-monkey@npm:^1.0.4": - version: 1.0.4 - resolution: "fs-monkey@npm:1.0.4" - checksum: 8b254c982905c0b7e028eab22b410dc35a5c0019c1c860456f5f54ae6a61666e1cb8c6b700d6c88cc873694c00953c935847b9959cc4dcf274aacb8673c1e8bf - languageName: node - linkType: hard - -"fs-temp@npm:^1.0.0": - version: 1.2.1 - resolution: "fs-temp@npm:1.2.1" - dependencies: - random-path: ^0.1.0 - checksum: 64d1b96c7adc172a0fbe6116f425f3588ac585dc7011524174e539df7794a4ca81874bb1c8ee74a47991cc35b7dc036f5bf880074844b2165027042b346b38d9 - languageName: node - linkType: hard - -"fs-xattr@npm:^0.3.0": - version: 0.3.1 - resolution: "fs-xattr@npm:0.3.1" - dependencies: - node-gyp: latest - conditions: "!os=win32" - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 - languageName: node - linkType: hard - -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" - dependencies: - node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" - dependencies: - node-gyp: latest - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a - languageName: node - linkType: hard - -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 - languageName: node - linkType: hard - -"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": - version: 1.2.3 - resolution: "functions-have-names@npm:1.2.3" - checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 - languageName: node - linkType: hard - -"galactus@npm:^1.0.0": - version: 1.0.0 - resolution: "galactus@npm:1.0.0" - dependencies: - debug: ^4.3.4 - flora-colossus: ^2.0.0 - fs-extra: ^10.1.0 - checksum: f7a3bd16c8bd5304e27b0e631defb8750ab8a9676c4fc754ec48f97f8d56b0841850372d9bf9932bd77833d16225c81dedb0e7366ccd82c11c2bd5cc41644493 - languageName: node - linkType: hard - -"gar@npm:^1.0.4": - version: 1.0.4 - resolution: "gar@npm:1.0.4" - checksum: 6b1010b5c17056526298734bfa08716f111cd023394dbe32496841e2f7b0dfe9e742b8ddb56103c0867f2ae80f5f069262916e5398ac982467be4da240ba7bb9 - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: ^1.0.3 || ^2.0.0 - color-support: ^1.1.3 - console-control-strings: ^1.1.0 - has-unicode: ^2.0.1 - signal-exit: ^3.0.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - wide-align: ^1.1.5 - checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d - languageName: node - linkType: hard - -"generate-function@npm:^2.0.0": - version: 2.3.1 - resolution: "generate-function@npm:2.3.1" - dependencies: - is-property: ^1.0.2 - checksum: 652f083de206ead2bae4caf9c7eeb465e8d98c0b8ed2a29c6afc538cef0785b5c6eea10548f1e13cc586d3afd796c13c830c2cb3dc612ec2457b2aadda5f57c9 - languageName: node - linkType: hard - -"generate-object-property@npm:^1.1.0": - version: 1.2.0 - resolution: "generate-object-property@npm:1.2.0" - dependencies: - is-property: ^1.0.0 - checksum: 5141ca5fd545f0aabd24fd13f9f3ecf9cfea2255db00d46e282d65141d691d560c70b6361c3c0c4982f86f600361925bfd4773e0350c66d0210e6129ae553a09 - languageName: node - linkType: hard - -"gensync@npm:^1.0.0-beta.2": - version: 1.0.0-beta.2 - resolution: "gensync@npm:1.0.0-beta.2" - checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec - languageName: node - linkType: hard - -"genversion@npm:^3.1.1": - version: 3.1.1 - resolution: "genversion@npm:3.1.1" - dependencies: - commander: ^7.2.0 - find-package: ^1.0.0 - bin: - genversion: bin/genversion.js - checksum: 6cc575683f0a68e4a6d58e3e2087cc9a32522048ce7b1fc999eec8fba71deb74f9bd78f10724a0cf6e9fb836bdcae1258b1f199eb0fe6c4cc5adedb9055c0037 - languageName: node - linkType: hard - -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 - languageName: node - linkType: hard - -"get-folder-size@npm:^2.0.1": - version: 2.0.1 - resolution: "get-folder-size@npm:2.0.1" - dependencies: - gar: ^1.0.4 - tiny-each-async: 2.0.3 - bin: - get-folder-size: bin/get-folder-size - checksum: f6bc0fe8dda84aa15ca2170ffbeefde99870e6f6cfc807bd6eb035163b53c3266e41be66ea34b181a296a535dd976d7f26eff2bbaf6d1d6e8833d6634032549a - languageName: node - linkType: hard - -"get-installed-path@npm:^2.0.3": - version: 2.1.1 - resolution: "get-installed-path@npm:2.1.1" - dependencies: - global-modules: 1.0.0 - checksum: 7b07d8279a5e3629378ddf4d310653dfa478b74ace43b90e93954455085231946e6f97e7870a5b92d4fa3e45b423b8aebcae652dee742b01a797f54f1c1e90a9 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" - dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f - languageName: node - linkType: hard - -"get-package-info@npm:^1.0.0": - version: 1.0.0 - resolution: "get-package-info@npm:1.0.0" - dependencies: - bluebird: ^3.1.1 - debug: ^2.2.0 - lodash.get: ^4.0.0 - read-pkg-up: ^2.0.0 - checksum: 6b2c99d9eaf7adbd7fa246fdcf1b20fc5171d2be661e042dc1bf851cdb028955640745c88f2f92463477cba9030240fad05619ddc874bc99f9c021921e892462 - languageName: node - linkType: hard - -"get-package-type@npm:^0.1.0": - version: 0.1.0 - resolution: "get-package-type@npm:0.1.0" - checksum: bba0811116d11e56d702682ddef7c73ba3481f114590e705fc549f4d868972263896af313c57a25c076e3c0d567e11d919a64ba1b30c879be985fc9d44f96148 - languageName: node - linkType: hard - -"get-stream@npm:^4.0.0": - version: 4.1.0 - resolution: "get-stream@npm:4.1.0" - dependencies: - pump: ^3.0.0 - checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 - languageName: node - linkType: hard - -"get-stream@npm:^5.1.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" - dependencies: - pump: ^3.0.0 - checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad - languageName: node - linkType: hard - -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 - languageName: node - linkType: hard - -"git-config-path@npm:^2.0.0": - version: 2.0.0 - resolution: "git-config-path@npm:2.0.0" - checksum: f67bee619b76a339d39dee6094c4db914512e3ca7e5ec0a05421b81a6ad0221d6fccfcc0b1c5127cf5af4ed3a49184279bde91b61c003f1cff58ac61e7139cfc - languageName: node - linkType: hard - -"git-remote-protocol@npm:^0.1.0": - version: 0.1.0 - resolution: "git-remote-protocol@npm:0.1.0" - checksum: 439d3a62d8c6f522d80e29b779be6ffca9ced8775e92f5ada4ef376edf152f7f450ea036ea7f0650c7c02c8993a8633ae969bd63265bf1ba2da92f743dd9201e - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: ^4.0.1 - checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: ^4.0.3 - checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 - languageName: node - linkType: hard - -"glob-to-regexp@npm:^0.4.1": - version: 0.4.1 - resolution: "glob-to-regexp@npm:0.4.1" - checksum: e795f4e8f06d2a15e86f76e4d92751cf8bbfcf0157cea5c2f0f35678a8195a750b34096b1256e436f0cebc1883b5ff0888c47348443e69546a5a87f9e1eb1167 - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.3.3 - resolution: "glob@npm:10.3.3" - dependencies: - foreground-child: ^3.1.0 - jackspeak: ^2.0.3 - minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - path-scurry: ^1.10.1 - bin: - glob: dist/cjs/src/bin.js - checksum: 29190d3291f422da0cb40b77a72fc8d2c51a36524e99b8bf412548b7676a6627489528b57250429612b6eec2e6fe7826d328451d3e694a9d15e575389308ec53 - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^3.1.1 - once: ^1.3.0 - path-is-absolute: ^1.0.0 - checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 - languageName: node - linkType: hard - -"global-agent@npm:^3.0.0": - version: 3.0.0 - resolution: "global-agent@npm:3.0.0" - dependencies: - boolean: ^3.0.1 - es6-error: ^4.1.1 - matcher: ^3.0.0 - roarr: ^2.15.3 - semver: ^7.3.2 - serialize-error: ^7.0.1 - checksum: 75074d80733b4bd5386c47f5df028e798018025beac0ab310e9908c72bf5639e408203e7bca0130d5ee01b5f4abc6d34385d96a9f950ea5fe1979bb431c808f7 - languageName: node - linkType: hard - -"global-modules@npm:1.0.0, global-modules@npm:^1.0.0": - version: 1.0.0 - resolution: "global-modules@npm:1.0.0" - dependencies: - global-prefix: ^1.0.1 - is-windows: ^1.0.1 - resolve-dir: ^1.0.0 - checksum: 10be68796c1e1abc1e2ba87ec4ea507f5629873b119ab0cd29c07284ef2b930f1402d10df01beccb7391dedd9cd479611dd6a24311c71be58937beaf18edf85e - languageName: node - linkType: hard - -"global-prefix@npm:^1.0.1": - version: 1.0.2 - resolution: "global-prefix@npm:1.0.2" - dependencies: - expand-tilde: ^2.0.2 - homedir-polyfill: ^1.0.1 - ini: ^1.3.4 - is-windows: ^1.0.1 - which: ^1.2.14 - checksum: 061b43470fe498271bcd514e7746e8a8535032b17ab9570517014ae27d700ff0dca749f76bbde13ba384d185be4310d8ba5712cb0e74f7d54d59390db63dd9a0 - languageName: node - linkType: hard - -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.21.0 - resolution: "globals@npm:13.21.0" - dependencies: - type-fest: ^0.20.2 - checksum: 86c92ca8a04efd864c10852cd9abb1ebe6d447dcc72936783e66eaba1087d7dba5c9c3421a48d6ca722c319378754dbcc3f3f732dbe47592d7de908edf58a773 - languageName: node - linkType: hard - -"globalthis@npm:^1.0.1, globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" - dependencies: - define-properties: ^1.1.3 - checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - 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 - checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 - languageName: node - linkType: hard - -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: ^1.1.3 - checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 - languageName: node - linkType: hard - -"got@npm:^11.7.0, got@npm:^11.8.5": - version: 11.8.6 - resolution: "got@npm:11.8.6" - 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 - checksum: bbc783578a8d5030c8164ef7f57ce41b5ad7db2ed13371e1944bef157eeca5a7475530e07c0aaa71610d7085474d0d96222c9f4268d41db333a17e39b463f45d - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 - languageName: node - linkType: hard - -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: bab8f0be9b568857c7bec9fda95a89f87b783546d02951c40c33f84d05bb7da3fd10f863a9beb901463669b6583173a8c8cc6d6b306ea2b9b9d5d3d943c3a673 - languageName: node - linkType: hard - -"graphlib@npm:^2.1.8": - version: 2.1.8 - resolution: "graphlib@npm:2.1.8" - dependencies: - lodash: ^4.17.15 - checksum: 1e0db4dea1c8187d59103d5582ecf32008845ebe2103959a51d22cb6dae495e81fb9263e22c922bca3aaecb56064a45cd53424e15a4626cfb5a0c52d0aff61a8 - languageName: node - linkType: hard - -"handle-thing@npm:^2.0.0": - version: 2.0.1 - resolution: "handle-thing@npm:2.0.1" - checksum: 68071f313062315cd9dce55710e9496873945f1dd425107007058fc1629f93002a7649fcc3e464281ce02c7e809a35f5925504ab8105d972cf649f1f47cb7d6c - languageName: node - linkType: hard - -"harmony-reflect@npm:^1.4.6": - version: 1.6.2 - resolution: "harmony-reflect@npm:1.6.2" - checksum: 2e5bae414cd2bfae5476147f9935dc69ee9b9a413206994dcb94c5b3208d4555da3d4313aff6fd14bd9991c1e3ef69cdda5c8fac1eb1d7afc064925839339b8c - languageName: node - linkType: hard - -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad - languageName: node - linkType: hard - -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" - dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb - languageName: node - linkType: hard - -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" - dependencies: - has-symbols: ^1.0.2 - checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c - languageName: node - linkType: hard - -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 - languageName: node - linkType: hard - -"has@npm:^1.0.3": - version: 1.0.3 - resolution: "has@npm:1.0.3" - dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 - languageName: node - linkType: hard - -"he@npm:^1.2.0": - version: 1.2.0 - resolution: "he@npm:1.2.0" - bin: - he: bin/he - checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7 - languageName: node - linkType: hard - -"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1, hoist-non-react-statics@npm:^3.3.2": - version: 3.3.2 - resolution: "hoist-non-react-statics@npm:3.3.2" - dependencies: - react-is: ^16.7.0 - checksum: b1538270429b13901ee586aa44f4cc3ecd8831c061d06cb8322e50ea17b3f5ce4d0e2e66394761e6c8e152cd8c34fb3b4b690116c6ce2bd45b18c746516cb9e8 - languageName: node - linkType: hard - -"homedir-polyfill@npm:^1.0.1": - version: 1.0.3 - resolution: "homedir-polyfill@npm:1.0.3" - dependencies: - parse-passwd: ^1.0.0 - checksum: 18dd4db87052c6a2179d1813adea0c4bfcfa4f9996f0e226fefb29eb3d548e564350fa28ec46b0bf1fbc0a1d2d6922ceceb80093115ea45ff8842a4990139250 - languageName: node - linkType: hard - -"hosted-git-info@npm:^2.1.4": - version: 2.8.9 - resolution: "hosted-git-info@npm:2.8.9" - checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd - languageName: node - linkType: hard - -"hpack.js@npm:^2.1.6": - version: 2.1.6 - resolution: "hpack.js@npm:2.1.6" - dependencies: - inherits: ^2.0.1 - obuf: ^1.0.0 - readable-stream: ^2.0.1 - wbuf: ^1.1.0 - checksum: 2de144115197967ad6eeee33faf41096c6ba87078703c5cb011632dcfbffeb45784569e0cf02c317bd79c48375597c8ec88c30fff5bb0b023e8f654fb6e9c06e - languageName: node - linkType: hard - -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: ^2.0.0 - checksum: 8d806aa00487e279e5ccb573366a951a9f68f65c90298eac9c3a2b440a7ffe46615aff2995a2f61c6746c639234e6179a97e18ca5ccbbf93d3725ef2099a4502 - languageName: node - linkType: hard - -"html-entities@npm:^2.3.2": - version: 2.4.0 - resolution: "html-entities@npm:2.4.0" - checksum: 25bea32642ce9ebd0eedc4d24381883ecb0335ccb8ac26379a0958b9b16652fdbaa725d70207ce54a51db24103436a698a8e454397d3ba8ad81460224751f1dc - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: d2df2da3ad40ca9ee3a39c5cc6475ef67c8f83c234475f24d8e9ce0dc80a2c82df8e1d6fa78ddd1e9022a586ea1bd247a615e80a5cd9273d90111ddda7d9e974 - languageName: node - linkType: hard - -"html-minifier-terser@npm:^6.0.2": - version: 6.1.0 - resolution: "html-minifier-terser@npm:6.1.0" - 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 - bin: - html-minifier-terser: cli.js - checksum: ac52c14006476f773204c198b64838477859dc2879490040efab8979c0207424da55d59df7348153f412efa45a0840a1ca3c757bf14767d23a15e3e389d37a93 - languageName: node - linkType: hard - -"html-webpack-plugin@npm:^5.3.1": - version: 5.5.3 - resolution: "html-webpack-plugin@npm:5.5.3" - 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 - peerDependencies: - webpack: ^5.20.0 - checksum: ccf685195739c372ad641bbd0c9100a847904f34eedc7aff3ece7856cd6c78fd3746d2d615af1bb71e5727993fe711b89e9b744f033ed3fde646540bf5d5e954 - languageName: node - linkType: hard - -"htmlparser2@npm:^6.1.0": - version: 6.1.0 - resolution: "htmlparser2@npm:6.1.0" - dependencies: - domelementtype: ^2.0.1 - domhandler: ^4.0.0 - domutils: ^2.5.2 - entities: ^2.0.0 - checksum: 81a7b3d9c3bb9acb568a02fc9b1b81ffbfa55eae7f1c41ae0bf840006d1dbf54cb3aa245b2553e2c94db674840a9f0fdad7027c9a9d01a062065314039058c4e - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 - languageName: node - linkType: hard - -"http-deceiver@npm:^1.2.7": - version: 1.2.7 - resolution: "http-deceiver@npm:1.2.7" - checksum: 64d7d1ae3a6933eb0e9a94e6f27be4af45a53a96c3c34e84ff57113787105a89fff9d1c3df263ef63add823df019b0e8f52f7121e32393bb5ce9a713bf100b41 - languageName: node - linkType: hard - -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 - languageName: node - linkType: hard - -"http-errors@npm:~1.6.2": - version: 1.6.3 - resolution: "http-errors@npm:1.6.3" - dependencies: - depd: ~1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: ">= 1.4.0 < 2" - checksum: a9654ee027e3d5de305a56db1d1461f25709ac23267c6dc28cdab8323e3f96caa58a9a6a5e93ac15d7285cee0c2f019378c3ada9026e7fe19c872d695f27de7c - languageName: node - linkType: hard - -"http-parser-js@npm:>=0.5.1": - version: 0.5.8 - resolution: "http-parser-js@npm:0.5.8" - checksum: 6bbdf2429858e8cf13c62375b0bfb6dc3955ca0f32e58237488bc86cd2378f31d31785fd3ac4ce93f1c74e0189cf8823c91f5cb061696214fd368d2452dc871d - languageName: node - linkType: hard - -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": 2 - agent-base: 6 - debug: 4 - checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 - languageName: node - linkType: hard - -"http-proxy-middleware@npm:^2.0.3": - version: 2.0.6 - resolution: "http-proxy-middleware@npm:2.0.6" - dependencies: - "@types/http-proxy": ^1.17.8 - http-proxy: ^1.18.1 - is-glob: ^4.0.1 - is-plain-obj: ^3.0.0 - micromatch: ^4.0.2 - peerDependencies: - "@types/express": ^4.17.13 - peerDependenciesMeta: - "@types/express": - optional: true - checksum: 2ee85bc878afa6cbf34491e972ece0f5be0a3e5c98a60850cf40d2a9a5356e1fc57aab6cff33c1fc37691b0121c3a42602d2b1956c52577e87a5b77b62ae1c3a - languageName: node - linkType: hard - -"http-proxy@npm:^1.18.1": - version: 1.18.1 - resolution: "http-proxy@npm:1.18.1" - dependencies: - eventemitter3: ^4.0.0 - follow-redirects: ^1.0.0 - requires-port: ^1.0.0 - checksum: f5bd96bf83e0b1e4226633dbb51f8b056c3e6321917df402deacec31dd7fe433914fc7a2c1831cf7ae21e69c90b3a669b8f434723e9e8b71fd68afe30737b6a5 - languageName: node - linkType: hard - -"http2-wrapper@npm:^1.0.0-beta.5.2": - version: 1.0.3 - resolution: "http2-wrapper@npm:1.0.3" - dependencies: - quick-lru: ^5.1.1 - resolve-alpn: ^1.0.0 - checksum: 74160b862ec699e3f859739101ff592d52ce1cb207b7950295bf7962e4aa1597ef709b4292c673bece9c9b300efad0559fc86c71b1409c7a1e02b7229456003e - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: 6 - debug: 4 - checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 - languageName: node - linkType: hard - -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: ^2.0.0 - checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 - languageName: node - linkType: hard - -"hyphenate-style-name@npm:^1.0.3": - version: 1.0.4 - resolution: "hyphenate-style-name@npm:1.0.4" - checksum: 4f5bf4b055089754924babebaa23c17845937bcca6aee95d5d015f8fa1e6814279002bd6a9e541e3fac2cd02519fc76305396727066c57c8e21a7e73e7a12137 - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: ">= 2.1.2 < 3" - checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 - languageName: node - linkType: hard - -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: ">= 2.1.2 < 3.0.0" - checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf - languageName: node - linkType: hard - -"icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": - version: 5.1.0 - resolution: "icss-utils@npm:5.1.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 5c324d283552b1269cfc13a503aaaa172a280f914e5b81544f3803bc6f06a3b585fb79f66f7c771a2c052db7982c18bf92d001e3b47282e3abbbb4c4cc488d68 - languageName: node - linkType: hard - -"identity-obj-proxy@npm:^3.0.0": - version: 3.0.0 - resolution: "identity-obj-proxy@npm:3.0.0" - dependencies: - harmony-reflect: ^1.4.6 - checksum: 97559f8ea2aeaa1a880d279d8c49550dce01148321e00a2102cda5ddf9ce622fa1d7f3efc7bed63458af78889de888fdaebaf31c816312298bb3fdd0ef8aaf2c - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e - languageName: node - linkType: hard - -"ignore@npm:^5.1.4, ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.2.4 - resolution: "ignore@npm:5.2.4" - checksum: 3d4c309c6006e2621659311783eaea7ebcd41fe4ca1d78c91c473157ad6666a57a2df790fe0d07a12300d9aac2888204d7be8d59f9aaf665b1c7fcdb432517ef - languageName: node - linkType: hard - -"image-size@npm:^0.7.4": - version: 0.7.5 - resolution: "image-size@npm:0.7.5" - bin: - image-size: bin/image-size.js - checksum: f88860c9d9b5c8ad00d3de9d6f5ba105bda5a5024bfb6b90559a075a4b838ed4f5d3cba14edf0f18fe5d75df596a172b52feca43848e11c34f31f4df2c88a011 - languageName: node - linkType: hard - -"immediate@npm:~3.0.5": - version: 3.0.6 - resolution: "immediate@npm:3.0.6" - checksum: f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62 - languageName: node - linkType: hard - -"immer@npm:^9.0.21": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 - languageName: node - linkType: hard - -"import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" - dependencies: - parent-module: ^1.0.0 - resolve-from: ^4.0.0 - checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa - languageName: node - linkType: hard - -"import-local@npm:^3.0.2": - version: 3.1.0 - resolution: "import-local@npm:3.1.0" - dependencies: - pkg-dir: ^4.2.0 - resolve-cwd: ^3.0.0 - bin: - import-local-fixture: fixtures/cli.js - checksum: bfcdb63b5e3c0e245e347f3107564035b128a414c4da1172a20dc67db2504e05ede4ac2eee1252359f78b0bfd7b19ef180aec427c2fce6493ae782d73a04cddd - languageName: node - linkType: hard - -"imul@npm:^1.0.0": - version: 1.0.1 - resolution: "imul@npm:1.0.1" - checksum: 6c2af3d5f09e2135e14d565a2c108412b825b221eb2c881f9130467f2adccf7ae201773ae8bcf1be169e2d090567a1fdfa9cf20d3b7da7b9cecb95b920ff3e52 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: ^1.3.0 - wrappy: 1 - checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 - languageName: node - linkType: hard - -"inherits@npm:2.0.3": - version: 2.0.3 - resolution: "inherits@npm:2.0.3" - checksum: 78cb8d7d850d20a5e9a7f3620db31483aa00ad5f722ce03a55b110e5a723539b3716a3b463e2b96ce3fe286f33afc7c131fa2f91407528ba80cea98a7545d4c0 - languageName: node - linkType: hard - -"ini@npm:^1.3.4, ini@npm:^1.3.5": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 - languageName: node - linkType: hard - -"ini@npm:^4.1.1": - version: 4.1.1 - resolution: "ini@npm:4.1.1" - checksum: 0e5909554074fbc31824fa5415b0f604de4a665514c96a897a77bf77353a7ad4743927321270e9d0610a9d510ccd1f3cd77422f7cc80d8f4542dbce75476fb6d - languageName: node - linkType: hard - -"inline-style-prefixer@npm:^6.0.0": - version: 6.0.4 - resolution: "inline-style-prefixer@npm:6.0.4" - dependencies: - css-in-js-utils: ^3.1.0 - fast-loops: ^1.1.3 - checksum: caf7a75d18acbedc7e3b8bfac17563082becd2df6b65accad964a6afdf490329b42315c37fe65ba0177cc10fd32809eb40d62aba23a0118c74d87d4fc58defa2 - languageName: node - linkType: hard - -"inquirer@npm:^8.0.0": - version: 8.2.6 - resolution: "inquirer@npm:8.2.6" - dependencies: - ansi-escapes: ^4.2.1 - chalk: ^4.1.1 - cli-cursor: ^3.1.0 - cli-width: ^3.0.0 - external-editor: ^3.0.3 - figures: ^3.0.0 - lodash: ^4.17.21 - mute-stream: 0.0.8 - ora: ^5.4.1 - run-async: ^2.4.0 - rxjs: ^7.5.5 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - through: ^2.3.6 - wrap-ansi: ^6.0.1 - checksum: 387ffb0a513559cc7414eb42c57556a60e302f820d6960e89d376d092e257a919961cd485a1b4de693dbb5c0de8bc58320bfd6247dfd827a873aa82a4215a240 - languageName: node - linkType: hard - -"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" - dependencies: - get-intrinsic: ^1.2.0 - has: ^1.0.3 - side-channel: ^1.0.4 - checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a - languageName: node - linkType: hard - -"interpret@npm:^3.1.1": - version: 3.1.1 - resolution: "interpret@npm:3.1.1" - checksum: 35cebcf48c7351130437596d9ab8c8fe131ce4038da4561e6d665f25640e0034702a031cf7e3a5cea60ac7ac548bf17465e0571ede126f3d3a6933152171ac82 - languageName: node - linkType: hard - -"ip@npm:^2.0.0": - version: 2.0.0 - resolution: "ip@npm:2.0.0" - checksum: cfcfac6b873b701996d71ec82a7dd27ba92450afdb421e356f44044ed688df04567344c36cbacea7d01b1c39a4c732dc012570ebe9bebfb06f27314bca625349 - languageName: node - linkType: hard - -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 - languageName: node - linkType: hard - -"ipaddr.js@npm:^2.0.1": - version: 2.1.0 - resolution: "ipaddr.js@npm:2.1.0" - checksum: 807a054f2bd720c4d97ee479d6c9e865c233bea21f139fb8dabd5a35c4226d2621c42e07b4ad94ff3f82add926a607d8d9d37c625ad0319f0e08f9f2bd1968e2 - languageName: node - linkType: hard - -"is-arguments@npm:^1.1.1": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 - languageName: node - linkType: hard - -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 - is-typed-array: ^1.1.10 - checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 - languageName: node - linkType: hard - -"is-arrayish@npm:^0.2.1": - version: 0.2.1 - resolution: "is-arrayish@npm:0.2.1" - checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f - languageName: node - linkType: hard - -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" - dependencies: - has-bigints: ^1.0.1 - checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: ^2.0.0 - checksum: 84192eb88cff70d320426f35ecd63c3d6d495da9d805b19bc65b518984b7c0760280e57dbf119b7e9be6b161784a5a673ab2c6abe83abb5198a432232ad5b35c - languageName: node - linkType: hard - -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 - languageName: node - linkType: hard - -"is-builtin-module@npm:^3.2.1": - version: 3.2.1 - resolution: "is-builtin-module@npm:3.2.1" - dependencies: - builtin-modules: ^3.3.0 - checksum: e8f0ffc19a98240bda9c7ada84d846486365af88d14616e737d280d378695c8c448a621dcafc8332dbf0fcd0a17b0763b845400709963fa9151ddffece90ae88 - languageName: node - linkType: hard - -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": - version: 1.2.7 - resolution: "is-callable@npm:1.2.7" - checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac - languageName: node - linkType: hard - -"is-core-module@npm:^2.13.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" - dependencies: - has: ^1.0.3 - checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 - languageName: node - linkType: hard - -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" - dependencies: - has-tostringtag: ^1.0.0 - checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc - languageName: node - linkType: hard - -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": - version: 2.2.1 - resolution: "is-docker@npm:2.2.1" - bin: - is-docker: cli.js - checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 - languageName: node - linkType: hard - -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: a6ad5492cf9d1746f73b6744e0c43c0020510b59d56ddcb78a91cbc173f09b5e6beff53d75c9c5a29feb618bfef2bf458e025ecf3a57ad2268e2fb2569f56215 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: ^2.1.1 - checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 - languageName: node - linkType: hard - -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 - languageName: node - linkType: hard - -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 - languageName: node - linkType: hard - -"is-map@npm:^2.0.1, is-map@npm:^2.0.2": - version: 2.0.2 - resolution: "is-map@npm:2.0.2" - checksum: ace3d0ecd667bbdefdb1852de601268f67f2db725624b1958f279316e13fecb8fa7df91fd60f690d7417b4ec180712f5a7ee967008e27c65cfd475cc84337728 - languageName: node - linkType: hard - -"is-my-ip-valid@npm:^1.0.0": - version: 1.0.1 - resolution: "is-my-ip-valid@npm:1.0.1" - checksum: 0a50180a9c0842503a2199ca0ba03888069e7c093f71236c65632e9b0f496ea57536856e1ad3d1635010cb5959c551496ea84cfc56088a8e7879fe30b9d71943 - languageName: node - linkType: hard - -"is-my-json-valid@npm:^2.20.0": - version: 2.20.6 - resolution: "is-my-json-valid@npm:2.20.6" - dependencies: - generate-function: ^2.0.0 - generate-object-property: ^1.1.0 - is-my-ip-valid: ^1.0.0 - jsonpointer: ^5.0.0 - xtend: ^4.0.0 - checksum: d3519e18e6a0f4c777d5a2027b5c80d05abd0949179b94795bd2aa6c54e8f44c23b8789cb7d44332015b86cfd73dca57331e7fa53202b28e40aa4620e7f61166 - languageName: node - linkType: hard - -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a - languageName: node - linkType: hard - -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" - dependencies: - has-tostringtag: ^1.0.0 - checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 - languageName: node - linkType: hard - -"is-plain-obj@npm:^3.0.0": - version: 3.0.0 - resolution: "is-plain-obj@npm:3.0.0" - checksum: a6ebdf8e12ab73f33530641972a72a4b8aed6df04f762070d823808303e4f76d87d5ea5bd76f96a7bbe83d93f04ac7764429c29413bd9049853a69cb630fb21c - languageName: node - linkType: hard - -"is-plain-object@npm:^2.0.4": - version: 2.0.4 - resolution: "is-plain-object@npm:2.0.4" - dependencies: - isobject: ^3.0.1 - checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca - languageName: node - linkType: hard - -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab - languageName: node - linkType: hard - -"is-property@npm:^1.0.0, is-property@npm:^1.0.2": - version: 1.0.2 - resolution: "is-property@npm:1.0.2" - checksum: 33b661a3690bcc88f7e47bb0a21b9e3187e76a317541ea7ec5e8096d954f441b77a46d8930c785f7fbf4ef8dfd624c25495221e026e50f74c9048fe501773be5 - languageName: node - linkType: hard - -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 - languageName: node - linkType: hard - -"is-set@npm:^2.0.1, is-set@npm:^2.0.2": - version: 2.0.2 - resolution: "is-set@npm:2.0.2" - checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 - languageName: node - linkType: hard - -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a - languageName: node - linkType: hard - -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 - languageName: node - linkType: hard - -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" - dependencies: - has-tostringtag: ^1.0.0 - checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 - languageName: node - linkType: hard - -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" - dependencies: - has-symbols: ^1.0.2 - checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" - dependencies: - which-typed-array: ^1.1.11 - checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 - languageName: node - linkType: hard - -"is-weakmap@npm:^2.0.1": - version: 2.0.1 - resolution: "is-weakmap@npm:2.0.1" - checksum: 1222bb7e90c32bdb949226e66d26cb7bce12e1e28e3e1b40bfa6b390ba3e08192a8664a703dff2a00a84825f4e022f9cd58c4599ff9981ab72b1d69479f4f7f6 - languageName: node - linkType: hard - -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de - languageName: node - linkType: hard - -"is-weakset@npm:^2.0.1": - version: 2.0.2 - resolution: "is-weakset@npm:2.0.2" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 5d8698d1fa599a0635d7ca85be9c26d547b317ed8fd83fc75f03efbe75d50001b5eececb1e9971de85fcde84f69ae6f8346bc92d20d55d46201d328e4c74a367 - languageName: node - linkType: hard - -"is-windows@npm:^1.0.1": - version: 1.0.2 - resolution: "is-windows@npm:1.0.2" - checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 - languageName: node - linkType: hard - -"is-wsl@npm:^2.2.0": - version: 2.2.0 - resolution: "is-wsl@npm:2.2.0" - dependencies: - is-docker: ^2.0.0 - checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab - languageName: node - linkType: hard - -"isbinaryfile@npm:^4.0.8": - version: 4.0.10 - resolution: "isbinaryfile@npm:4.0.10" - checksum: a6b28db7e23ac7a77d3707567cac81356ea18bd602a4f21f424f862a31d0e7ab4f250759c98a559ece35ffe4d99f0d339f1ab884ffa9795172f632ab8f88e686 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 - languageName: node - linkType: hard - -"isobject@npm:^3.0.1": - version: 3.0.1 - resolution: "isobject@npm:3.0.1" - checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 - languageName: node - linkType: hard - -"isomorphic-git@npm:^1.24.5": - version: 1.24.5 - resolution: "isomorphic-git@npm:1.24.5" - dependencies: - async-lock: ^1.1.0 - clean-git-ref: ^2.0.1 - crc-32: ^1.2.0 - diff3: 0.0.3 - ignore: ^5.1.4 - minimisted: ^2.0.0 - pako: ^1.0.10 - pify: ^4.0.1 - readable-stream: ^3.4.0 - sha.js: ^2.4.9 - simple-get: ^4.0.1 - bin: - isogit: cli.cjs - checksum: d9d13d76ec3a7d7cc8afd70d07ea920f07806b74810fe414559d460cbef8d49c7e0f6dfba0e1773c7856b1d3dd1bf98e17a09ae6aa4a8fd2d759a2f54989491a - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": - version: 3.2.0 - resolution: "istanbul-lib-coverage@npm:3.2.0" - checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - 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 - checksum: bf16f1803ba5e51b28bbd49ed955a736488381e09375d830e42ddeb403855b2006f850711d95ad726f2ba3f1ae8e7366de7e51d2b9ac67dc4d80191ef7ddf272 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.0 - resolution: "istanbul-lib-instrument@npm:6.0.0" - dependencies: - "@babel/core": ^7.12.3 - "@babel/parser": ^7.14.7 - "@istanbuljs/schema": ^0.1.2 - istanbul-lib-coverage: ^3.2.0 - semver: ^7.5.4 - checksum: b9dc3723a769e65dbe1b912f935088ffc07cf393fa78a3ce79022c91aabb0ad01405ffd56083cdd822e514798e9daae3ea7bfe85633b094ecb335d28eb0a3f97 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: ^3.0.0 - make-dir: ^4.0.0 - supports-color: ^7.1.0 - checksum: fd17a1b879e7faf9bb1dc8f80b2a16e9f5b7b8498fe6ed580a618c34df0bfe53d2abd35bf8a0a00e628fb7405462576427c7df20bbe4148d19c14b431c974b21 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: ^4.1.1 - istanbul-lib-coverage: ^3.0.0 - source-map: ^0.6.1 - checksum: 21ad3df45db4b81852b662b8d4161f6446cd250c1ddc70ef96a585e2e85c26ed7cd9c2a396a71533cfb981d1a645508bc9618cae431e55d01a0628e7dec62ef2 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" - dependencies: - html-escaper: ^2.0.0 - istanbul-lib-report: ^3.0.0 - checksum: 44c4c0582f287f02341e9720997f9e82c071627e1e862895745d5f52ec72c9b9f38e1d12370015d2a71dcead794f34c7732aaef3fab80a24bc617a21c3d911d6 - languageName: node - linkType: hard - -"jackspeak@npm:^2.0.3": - version: 2.2.3 - resolution: "jackspeak@npm:2.2.3" - dependencies: - "@isaacs/cliui": ^8.0.2 - "@pkgjs/parseargs": ^0.11.0 - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 8add557045eb51f619d247ac9786dbfa7ee4d52a0eb3fb488c2637aecfd15d12c284a4ff7dead2c1aba34d6228d9452e4509fb771daae87793a48786b095ee07 - languageName: node - linkType: hard - -"jest-changed-files@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-changed-files@npm:29.6.3" - dependencies: - execa: ^5.0.0 - jest-util: ^29.6.3 - p-limit: ^3.1.0 - checksum: 55bc820a70c220a02fec214d5c48d5e0d829549e5c7b9959776b4ca3f76f5ff20c7c8ff816a847822766f1d712477ab3027f7a66ec61bf65de3f852e878b4dfd - languageName: node - linkType: hard - -"jest-circus@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-circus@npm:29.6.4" - dependencies: - "@jest/environment": ^29.6.4 - "@jest/expect": ^29.6.4 - "@jest/test-result": ^29.6.4 - "@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.6.3 - jest-matcher-utils: ^29.6.4 - jest-message-util: ^29.6.3 - jest-runtime: ^29.6.4 - jest-snapshot: ^29.6.4 - jest-util: ^29.6.3 - p-limit: ^3.1.0 - pretty-format: ^29.6.3 - pure-rand: ^6.0.0 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 31f64ddf6df4aefe30ef5f8de9da137c9cba58ab5e2a25cf749450735088dc88a9974591a4256d481af0fe64608173c921219f9fad9a7dd87cbe47a79e111be8 - languageName: node - linkType: hard - -"jest-cli@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-cli@npm:29.6.4" - dependencies: - "@jest/core": ^29.6.4 - "@jest/test-result": ^29.6.4 - "@jest/types": ^29.6.3 - chalk: ^4.0.0 - exit: ^0.1.2 - graceful-fs: ^4.2.9 - import-local: ^3.0.2 - jest-config: ^29.6.4 - jest-util: ^29.6.3 - jest-validate: ^29.6.3 - prompts: ^2.0.1 - yargs: ^17.3.1 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: 87a85a27eff0e502717b6ee0ce861d3e50d8c47d7298477f8ca10964b958f06c20241d28f1360ce2a85072763483e4924248106a8ed530ca460a56db3fdfc53e - languageName: node - linkType: hard - -"jest-config@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-config@npm:29.6.4" - dependencies: - "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.6.4 - "@jest/types": ^29.6.3 - babel-jest: ^29.6.4 - 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.6.4 - jest-environment-node: ^29.6.4 - jest-get-type: ^29.6.3 - jest-regex-util: ^29.6.3 - jest-resolve: ^29.6.4 - jest-runner: ^29.6.4 - jest-util: ^29.6.3 - jest-validate: ^29.6.3 - micromatch: ^4.0.4 - parse-json: ^5.2.0 - pretty-format: ^29.6.3 - slash: ^3.0.0 - strip-json-comments: ^3.1.1 - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 177352658774344896df3988dbe892e0b117579f45cc43aebc588493665bf19a557e202f097f5b4a987314ec2d84afa0769299ac6e702c5923d1fd3cfa4692b0 - languageName: node - linkType: hard - -"jest-diff@npm:^29.6.2": - version: 29.6.2 - resolution: "jest-diff@npm:29.6.2" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^29.4.3 - jest-get-type: ^29.4.3 - pretty-format: ^29.6.2 - checksum: 0effd66a0c23f8c139ebf7ca99ed30b479b86fff66f19ad4869f130aaf7ae6a24ca1533f697b7e4930cbe2ddffc85387723fcca673501c653fb77a38f538e959 - languageName: node - linkType: hard - -"jest-diff@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-diff@npm:29.6.4" - dependencies: - chalk: ^4.0.0 - diff-sequences: ^29.6.3 - jest-get-type: ^29.6.3 - pretty-format: ^29.6.3 - checksum: e205c45ab6dbcc660dc2a682cddb20f6a3cbbbdecd2821cce2050619f96dbd7560ee25f7f51d42c302596aeaddbea54390b78be3ab639340d24d67e4d270a8b0 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-docblock@npm:29.6.3" - dependencies: - detect-newline: ^3.0.0 - checksum: 6f3213a1e79e7eedafeb462acfa9a41303f9c0167893b140f6818fa16d7eb6bf3f9b9cf4669097ca6b7154847793489ecd6b4f6cfb0e416b88cfa3b4b36715b6 - languageName: node - linkType: hard - -"jest-each@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-each@npm:29.6.3" - dependencies: - "@jest/types": ^29.6.3 - chalk: ^4.0.0 - jest-get-type: ^29.6.3 - jest-util: ^29.6.3 - pretty-format: ^29.6.3 - checksum: fe06e80b3554e2a8464f5f5c61943e02db1f8a7177139cb55b3201a1d1513cb089d8800401f102729a31bf8dd6f88229044e6088fea9dd5647ed11e841b6b88c - languageName: node - linkType: hard - -"jest-environment-jsdom@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-environment-jsdom@npm:29.6.4" - dependencies: - "@jest/environment": ^29.6.4 - "@jest/fake-timers": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/jsdom": ^20.0.0 - "@types/node": "*" - jest-mock: ^29.6.3 - jest-util: ^29.6.3 - jsdom: ^20.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 2afe105f12d7d93ca56e2e6f67ab07ada3dd3da0516d1198f254930683ab9feb2b8c14417baaca53544eed88fd7fb5744f0dbce2e100269746187317ce0347df - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-environment-node@npm:29.6.4" - dependencies: - "@jest/environment": ^29.6.4 - "@jest/fake-timers": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/node": "*" - jest-mock: ^29.6.3 - jest-util: ^29.6.3 - checksum: 518221505af4bd32c84f2af2c03f9d771de2711bd69fe7723b648fcc2e05d95b4e75f493afa9010209e26a4a3309ebee971f9b18c45b540891771d3b68c3a16e - languageName: node - linkType: hard - -"jest-esm-transformer@npm:^1.0.0": - version: 1.0.0 - resolution: "jest-esm-transformer@npm:1.0.0" - dependencies: - "@babel/core": ^7.4.4 - "@babel/plugin-transform-modules-commonjs": ^7.4.4 - checksum: aae5235bde132094cb77fe3304bc4285786ab75cd43ab57435fd5b1e7ce37f57ef7c48a786d684f48fe215d6c9abb20f7e02365b9c228cfa22c704fb618cfc58 - languageName: node - linkType: hard - -"jest-get-type@npm:^29.4.3": - version: 29.4.3 - resolution: "jest-get-type@npm:29.4.3" - checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 88ac9102d4679d768accae29f1e75f592b760b44277df288ad76ce5bf038c3f5ce3719dea8aa0f035dac30e9eb034b848ce716b9183ad7cc222d029f03e92205 - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-haste-map@npm:29.6.4" - dependencies: - "@jest/types": ^29.6.3 - "@types/graceful-fs": ^4.1.3 - "@types/node": "*" - anymatch: ^3.0.3 - fb-watchman: ^2.0.0 - fsevents: ^2.3.2 - graceful-fs: ^4.2.9 - jest-regex-util: ^29.6.3 - jest-util: ^29.6.3 - jest-worker: ^29.6.4 - micromatch: ^4.0.4 - walker: ^1.0.8 - dependenciesMeta: - fsevents: - optional: true - checksum: 4f720fd3813bb38400b7a9a094e55664cbddd907ba1769457ed746f6c870c615167647a5b697a788183d832b1dcb1b66143e52990a6f4403283f6686077fa868 - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-leak-detector@npm:29.6.3" - dependencies: - jest-get-type: ^29.6.3 - pretty-format: ^29.6.3 - checksum: 27548fcfc7602fe1b88f8600185e35ffff71751f3631e52bbfdfc72776f5a13a430185cf02fc632b41320a74f99ae90e40ce101c8887509f0f919608a7175129 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.6.2": - version: 29.6.2 - resolution: "jest-matcher-utils@npm:29.6.2" - dependencies: - chalk: ^4.0.0 - jest-diff: ^29.6.2 - jest-get-type: ^29.4.3 - pretty-format: ^29.6.2 - checksum: 3e1b65dd30d05f75fe56dc45fbe4135aec2ff96a3d1e21afbf6a66f3a45a7e29cd0fd37cf80b9564e0381d6205833f77ccaf766c6f7e1aad6b7924d117be504e - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-matcher-utils@npm:29.6.4" - dependencies: - chalk: ^4.0.0 - jest-diff: ^29.6.4 - jest-get-type: ^29.6.3 - pretty-format: ^29.6.3 - checksum: 9e17bce282e74bdbba2ce5475c490e0bba4f464cd42132bfc5df0337e0853af4dba925c7f4f61cbb0a4818fa121d28d7ff0196ec8829773a22fce59a822976d2 - languageName: node - linkType: hard - -"jest-message-util@npm:^29.6.2": - version: 29.6.2 - resolution: "jest-message-util@npm:29.6.2" - dependencies: - "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.6.1 - "@types/stack-utils": ^2.0.0 - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - micromatch: ^4.0.4 - pretty-format: ^29.6.2 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: e8e3c8d2301e2ca4038ed6df8cbba7fedc6949d1ede4c0e3f1f44f53afb56d77eb35983fa460140d0eadeab99a5f3ae04b703fe77cd7b316b40b361228b5aa1a - languageName: node - linkType: hard - -"jest-message-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-message-util@npm:29.6.3" - 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.6.3 - slash: ^3.0.0 - stack-utils: ^2.0.3 - checksum: 59f5229a06c073a8877ba4d2e304cc07d63b0062bf5764d4bed14364403889e77f1825d1bd9017c19a840847d17dffd414dc06f1fcb537b5f9e03dbc65b84ada - languageName: node - linkType: hard - -"jest-mock@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-mock@npm:29.6.3" - dependencies: - "@jest/types": ^29.6.3 - "@types/node": "*" - jest-util: ^29.6.3 - checksum: 35772968010c0afb1bb1ef78570b9cbea907c6f967d24b4e95e1a596a1000c63d60e225fb9ddfdd5218674da4aa61d92a09927fc26310cecbbfaa8278d919e32 - languageName: node - linkType: hard - -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: db1a8ab2cb97ca19c01b1cfa9a9c8c69a143fde833c14df1fab0766f411b1148ff0df878adea09007ac6a2085ec116ba9a996a6ad104b1e58c20adbf88eed9b2 - languageName: node - linkType: hard - -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 0518beeb9bf1228261695e54f0feaad3606df26a19764bc19541e0fc6e2a3737191904607fb72f3f2ce85d9c16b28df79b7b1ec9443aa08c3ef0e9efda6f8f2a - languageName: node - linkType: hard - -"jest-resolve-dependencies@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-resolve-dependencies@npm:29.6.4" - dependencies: - jest-regex-util: ^29.6.3 - jest-snapshot: ^29.6.4 - checksum: 34f81d22cbd72203130cc14cbb66d5783d9f59fba4d366b9653f8fb4f6feeaac25d89696f2f77c700659843d5440dc92f58ad443ba05da1da46c39234866d916 - languageName: node - linkType: hard - -"jest-resolve@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-resolve@npm:29.6.4" - dependencies: - chalk: ^4.0.0 - graceful-fs: ^4.2.9 - jest-haste-map: ^29.6.4 - jest-pnp-resolver: ^1.2.2 - jest-util: ^29.6.3 - jest-validate: ^29.6.3 - resolve: ^1.20.0 - resolve.exports: ^2.0.0 - slash: ^3.0.0 - checksum: 5f0ef260aec79ef00e16e0ba7b27d527054e1faed08a144279cd191b5c5b71af67c52b9ddfd24aa2f563d254618ce9bf7519809f23fb2abf6c4fa375503caa28 - languageName: node - linkType: hard - -"jest-runner@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-runner@npm:29.6.4" - dependencies: - "@jest/console": ^29.6.4 - "@jest/environment": ^29.6.4 - "@jest/test-result": ^29.6.4 - "@jest/transform": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/node": "*" - chalk: ^4.0.0 - emittery: ^0.13.1 - graceful-fs: ^4.2.9 - jest-docblock: ^29.6.3 - jest-environment-node: ^29.6.4 - jest-haste-map: ^29.6.4 - jest-leak-detector: ^29.6.3 - jest-message-util: ^29.6.3 - jest-resolve: ^29.6.4 - jest-runtime: ^29.6.4 - jest-util: ^29.6.3 - jest-watcher: ^29.6.4 - jest-worker: ^29.6.4 - p-limit: ^3.1.0 - source-map-support: 0.5.13 - checksum: ca977dd30262171fe000de8407a3187c16e7057ddf690bcc21068155aacd4824ee927b544e0fa9f2885948b47a5123b472da41e095e3bcbdebb79f1fa2f2fc56 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-runtime@npm:29.6.4" - dependencies: - "@jest/environment": ^29.6.4 - "@jest/fake-timers": ^29.6.4 - "@jest/globals": ^29.6.4 - "@jest/source-map": ^29.6.3 - "@jest/test-result": ^29.6.4 - "@jest/transform": ^29.6.4 - "@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.6.4 - jest-message-util: ^29.6.3 - jest-mock: ^29.6.3 - jest-regex-util: ^29.6.3 - jest-resolve: ^29.6.4 - jest-snapshot: ^29.6.4 - jest-util: ^29.6.3 - slash: ^3.0.0 - strip-bom: ^4.0.0 - checksum: 93deacd06f8f2bb808dbfb8acbcbc0b724187b3d3fffafd497a32c939bf385ca21f5a3f03eebd5b958a0e93865d0e68a0db73bd0fe16dafbd5e922558aa7b359 - languageName: node - linkType: hard - -"jest-serializer-path@npm:^0.1.15": - version: 0.1.15 - resolution: "jest-serializer-path@npm:0.1.15" - dependencies: - lodash.clonedeep: ^4.5.0 - lodash.iserror: ^3.1.1 - slash: ^2.0.0 - checksum: 007c6fd94d74d622329a44792579b066a3b397009fa9be9e61ef64d733d3dfe3b546f0b23b9d1c7ce9b53591846411b5612f2ab56659b3bf1cd27c7fb9ddf27d - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-snapshot@npm:29.6.4" - 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.6.4 - "@jest/transform": ^29.6.4 - "@jest/types": ^29.6.3 - babel-preset-current-node-syntax: ^1.0.0 - chalk: ^4.0.0 - expect: ^29.6.4 - graceful-fs: ^4.2.9 - jest-diff: ^29.6.4 - jest-get-type: ^29.6.3 - jest-matcher-utils: ^29.6.4 - jest-message-util: ^29.6.3 - jest-util: ^29.6.3 - natural-compare: ^1.4.0 - pretty-format: ^29.6.3 - semver: ^7.5.3 - checksum: 0c9b5ec640457fb780ac6c9b6caa814436e9e16bf744772eee3bfd055ae5f7a3085a6a09b2f30910e31915dafc3955d92357cc98189e4d5dcb417b5fdafda6e3 - languageName: node - linkType: hard - -"jest-util@npm:^29.0.0, jest-util@npm:^29.6.2": - version: 29.6.2 - resolution: "jest-util@npm:29.6.2" - dependencies: - "@jest/types": ^29.6.1 - "@types/node": "*" - chalk: ^4.0.0 - ci-info: ^3.2.0 - graceful-fs: ^4.2.9 - picomatch: ^2.2.3 - checksum: 8aedc0c80083d0cabd6c6c4f04dea1cbcac609fd7bc3b1fc05a3999291bd6e63dd52b0c806f9378d5cae28eff5a6191709a4987861001293f8d03e53984adca4 - languageName: node - linkType: hard - -"jest-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-util@npm:29.6.3" - 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 - checksum: 7bf3ba3ac67ac6ceff7d8fdd23a86768e23ddd9133ecd9140ef87cc0c28708effabaf67a6cd45cd9d90a63d645a522ed0825d09ee59ac4c03b9c473b1fef4c7c - languageName: node - linkType: hard - -"jest-validate@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-validate@npm:29.6.3" - 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.6.3 - checksum: caa489ed11080441c636b8035ab71bafbdc0c052b1e452855e4d2dd24ac15e497710a270ea6fc5ef8926b22c1ce4d6e07ec2dc193f0810cff5851d7a2222c045 - languageName: node - linkType: hard - -"jest-watcher@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-watcher@npm:29.6.4" - dependencies: - "@jest/test-result": ^29.6.4 - "@jest/types": ^29.6.3 - "@types/node": "*" - ansi-escapes: ^4.2.1 - chalk: ^4.0.0 - emittery: ^0.13.1 - jest-util: ^29.6.3 - string-length: ^4.0.1 - checksum: 13c0f96f7e9212e4f3ef2daf3e787045bdcec414061bf286eca934c7f4083fb04d38df9ced9c0edfbe15f3521ca581eb2ed6108c338a0db1f3e1def65687992f - languageName: node - linkType: hard - -"jest-worker@npm:^27.4.5": - version: 27.5.1 - resolution: "jest-worker@npm:27.5.1" - dependencies: - "@types/node": "*" - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: 98cd68b696781caed61c983a3ee30bf880b5bd021c01d98f47b143d4362b85d0737f8523761e2713d45e18b4f9a2b98af1eaee77afade4111bb65c77d6f7c980 - languageName: node - linkType: hard - -"jest-worker@npm:^29.6.4": - version: 29.6.4 - resolution: "jest-worker@npm:29.6.4" - dependencies: - "@types/node": "*" - jest-util: ^29.6.3 - merge-stream: ^2.0.0 - supports-color: ^8.0.0 - checksum: 05d19a5759ebfeb964036065be55ad8d8e8ddffa85d9b3a4c0b95765695efb1d8226ec824a4d8e660c38cda3389bfeb98d819f47232acf9fb0e79f553b7c0a76 - languageName: node - linkType: hard - -"jest@npm:^29.6.4": - version: 29.6.4 - resolution: "jest@npm:29.6.4" - dependencies: - "@jest/core": ^29.6.4 - "@jest/types": ^29.6.3 - import-local: ^3.0.2 - jest-cli: ^29.6.4 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - bin: - jest: bin/jest.js - checksum: ba28ca7a86d029bcd742bb254c0c8d0119c1e002ddae128ff6409ebabc0b29c36f69dbf3fdd326aff16e7b2500c9a918bbc6a9a5db4d966e035127242239439f - languageName: node - linkType: hard - -"js-cookie@npm:^2.2.1": - version: 2.2.1 - resolution: "js-cookie@npm:2.2.1" - checksum: 9b1fb980a1c5e624fd4b28ea4867bb30c71e04c4484bb3a42766344c533faa684de9498e443425479ec68609e96e27b60614bfe354877c449c631529b6d932f2 - languageName: node - linkType: hard - -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": - version: 4.0.0 - resolution: "js-tokens@npm:4.0.0" - checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 - languageName: node - linkType: hard - -"js-yaml@npm:^3.13.1": - version: 3.14.1 - resolution: "js-yaml@npm:3.14.1" - dependencies: - argparse: ^1.0.7 - esprima: ^4.0.0 - bin: - js-yaml: bin/js-yaml.js - checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: ^2.0.1 - bin: - js-yaml: bin/js-yaml.js - checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a - languageName: node - linkType: hard - -"jsdoc-type-pratt-parser@npm:~4.0.0": - version: 4.0.0 - resolution: "jsdoc-type-pratt-parser@npm:4.0.0" - checksum: af0629c9517e484be778d8564440fec8de5b7610e0c9c88a3ba4554321364faf72b46689c8d8845faa12c0718437a9ed97e231977efc0f2d50e8a2dbad807eb3 - languageName: node - linkType: hard - -"jsdom@npm:^20.0.0": - version: 20.0.3 - resolution: "jsdom@npm:20.0.3" - 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 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 6e2ae21db397133a061b270c26d2dbc0b9051733ea3b896a7ece78d79f475ff0974f766a413c1198a79c793159119169f2335ddb23150348fbfdcfa6f3105536 - languageName: node - linkType: hard - -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581 - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": - version: 2.3.1 - resolution: "json-parse-even-better-errors@npm:2.3.1" - checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215 - languageName: node - linkType: hard - -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee - languageName: node - linkType: hard - -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: ^1.2.0 - bin: - json5: lib/cli.js - checksum: 866458a8c58a95a49bef3adba929c625e82532bcff1fe93f01d29cb02cac7c3fe1f4b79951b7792c2da9de0b32871a8401a6e3c5b36778ad852bf5b8a61165d7 - languageName: node - linkType: hard - -"json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 - languageName: node - linkType: hard - -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.6 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: ^4.1.6 - universalify: ^2.0.0 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 - languageName: node - linkType: hard - -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 0b40f712900ad0c846681ea2db23b6684b9d5eedf55807b4708c656f5894b63507d0e28ae10aa1bddbea551241035afe62b6df0800fc94c2e2806a7f3adecd7c - languageName: node - linkType: hard - -"jszip@npm:^3.1.0": - version: 3.10.1 - resolution: "jszip@npm:3.10.1" - dependencies: - lie: ~3.3.0 - pako: ~1.0.2 - readable-stream: ~2.3.6 - setimmediate: ^1.0.5 - checksum: abc77bfbe33e691d4d1ac9c74c8851b5761fba6a6986630864f98d876f3fcc2d36817dfc183779f32c00157b5d53a016796677298272a714ae096dfe6b1c8b60 - languageName: node - linkType: hard - -"junk@npm:^3.1.0": - version: 3.1.0 - resolution: "junk@npm:3.1.0" - checksum: 6c4d68e8f8bc25b546baed802cd0e7be6a971e92f1e885c92cbfe98946d5690b961a32f8e7909e77765d3204c3e556d13c17f73e31697ffae1db07a58b9e68c0 - languageName: node - linkType: hard - -"keyv@npm:^4.0.0": - version: 4.5.3 - resolution: "keyv@npm:4.5.3" - dependencies: - json-buffer: 3.0.1 - checksum: 3ffb4d5b72b6b4b4af443bbb75ca2526b23c750fccb5ac4c267c6116888b4b65681015c2833cb20d26cf3e6e32dac6b988c77f7f022e1a571b7d90f1442257da - languageName: node - linkType: hard - -"kind-of@npm:^6.0.2": - version: 6.0.3 - resolution: "kind-of@npm:6.0.3" - checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b - languageName: node - linkType: hard - -"kleur@npm:^3.0.3": - version: 3.0.3 - resolution: "kleur@npm:3.0.3" - checksum: df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169 - languageName: node - linkType: hard - -"launch-editor@npm:^2.6.0": - version: 2.6.0 - resolution: "launch-editor@npm:2.6.0" - dependencies: - picocolors: ^1.0.0 - shell-quote: ^1.7.3 - checksum: 48e4230643e8fdb5c14c11314706d58d9f3fbafe2606be3d6e37da1918ad8bfe39dd87875c726a1b59b9f4da99d87ec3e36d4c528464f0b820f9e91e5cb1c02d - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 638401d534585261b6003db9d99afd244dfe82d75ddb6db5c0df412842d5ab30b2ef18de471aaec70fe69a46f17b4ae3c7f01d8a4e6580ef7adb9f4273ad1e55 - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: ^1.2.1 - type-check: ~0.4.0 - checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4 - languageName: node - linkType: hard - -"lie@npm:~3.3.0": - version: 3.3.0 - resolution: "lie@npm:3.3.0" - dependencies: - immediate: ~3.0.5 - checksum: 33102302cf19766f97919a6a98d481e01393288b17a6aa1f030a3542031df42736edde8dab29ffdbf90bebeffc48c761eb1d064dc77592ca3ba3556f9fe6d2a8 - languageName: node - linkType: hard - -"lines-and-columns@npm:^1.1.6": - version: 1.2.4 - resolution: "lines-and-columns@npm:1.2.4" - checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5 - languageName: node - linkType: hard - -"listr2@npm:^5.0.3": - version: 5.0.8 - resolution: "listr2@npm:5.0.8" - 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 - peerDependencies: - enquirer: ">= 2.3.0 < 3" - peerDependenciesMeta: - enquirer: - optional: true - checksum: 8be9f5632627c4df0dc33f452c98d415a49e5f1614650d3cab1b103c33e95f2a7a0e9f3e1e5de00d51bf0b4179acd8ff11b25be77dbe097cf3773c05e728d46c - languageName: node - linkType: hard - -"load-json-file@npm:^2.0.0": - version: 2.0.0 - resolution: "load-json-file@npm:2.0.0" - dependencies: - graceful-fs: ^4.1.2 - parse-json: ^2.2.0 - pify: ^2.0.0 - strip-bom: ^3.0.0 - checksum: 7f212bbf08a8c9aab087ead07aa220d1f43d83ec1c4e475a00a8d9bf3014eb29ebe901db8554627dcfb70184c274d05b7379f1e9678fe8297ae74dc495212049 - languageName: node - linkType: hard - -"loader-runner@npm:^4.2.0": - version: 4.3.0 - resolution: "loader-runner@npm:4.3.0" - checksum: a90e00dee9a16be118ea43fec3192d0b491fe03a32ed48a4132eb61d498f5536a03a1315531c19d284392a8726a4ecad71d82044c28d7f22ef62e029bf761569 - languageName: node - linkType: hard - -"loader-utils@npm:^2.0.0": - version: 2.0.4 - resolution: "loader-utils@npm:2.0.4" - dependencies: - big.js: ^5.2.2 - emojis-list: ^3.0.0 - json5: ^2.1.2 - checksum: a5281f5fff1eaa310ad5e1164095689443630f3411e927f95031ab4fb83b4a98f388185bb1fe949e8ab8d4247004336a625e9255c22122b815bb9a4c5d8fc3b7 - languageName: node - linkType: hard - -"locate-path@npm:^2.0.0": - version: 2.0.0 - resolution: "locate-path@npm:2.0.0" - dependencies: - p-locate: ^2.0.0 - path-exists: ^3.0.0 - checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 - languageName: node - linkType: hard - -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: ^4.1.0 - checksum: 83e51725e67517287d73e1ded92b28602e3ae5580b301fe54bfb76c0c723e3f285b19252e375712316774cf52006cb236aed5704692c32db0d5d089b69696e30 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: ^5.0.0 - checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a - languageName: node - linkType: hard - -"locate-path@npm:^7.1.0": - version: 7.2.0 - resolution: "locate-path@npm:7.2.0" - dependencies: - p-locate: ^6.0.0 - checksum: c1b653bdf29beaecb3d307dfb7c44d98a2a98a02ebe353c9ad055d1ac45d6ed4e1142563d222df9b9efebc2bcb7d4c792b507fad9e7150a04c29530b7db570f8 - languageName: node - linkType: hard - -"lodash._reinterpolate@npm:^3.0.0": - version: 3.0.0 - resolution: "lodash._reinterpolate@npm:3.0.0" - checksum: 06d2d5f33169604fa5e9f27b6067ed9fb85d51a84202a656901e5ffb63b426781a601508466f039c720af111b0c685d12f1a5c14ff8df5d5f27e491e562784b2 - languageName: node - linkType: hard - -"lodash.clonedeep@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.clonedeep@npm:4.5.0" - checksum: 92c46f094b064e876a23c97f57f81fbffd5d760bf2d8a1c61d85db6d1e488c66b0384c943abee4f6af7debf5ad4e4282e74ff83177c9e63d8ff081a4837c3489 - languageName: node - linkType: hard - -"lodash.get@npm:^4.0.0, lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 - languageName: node - linkType: hard - -"lodash.isequal@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.isequal@npm:4.5.0" - checksum: da27515dc5230eb1140ba65ff8de3613649620e8656b19a6270afe4866b7bd461d9ba2ac8a48dcc57f7adac4ee80e1de9f965d89d4d81a0ad52bb3eec2609644 - languageName: node - linkType: hard - -"lodash.iserror@npm:^3.1.1": - version: 3.1.1 - resolution: "lodash.iserror@npm:3.1.1" - checksum: 65e0c6025529b64ca66dad2f15b50461063f41dc09b71cee1c16ddcb5ce435f67b570b3266691c3e7ff8a01001de14e0aa4692e7d46cc017d7965b31b4811038 - languageName: node - linkType: hard - -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337 - languageName: node - linkType: hard - -"lodash.memoize@npm:4.x": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 9ff3942feeccffa4f1fafa88d32f0d24fdc62fd15ded5a74a5f950ff5f0c6f61916157246744c620173dddf38d37095a92327d5fd3861e2063e736a5c207d089 - languageName: node - linkType: hard - -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 - languageName: node - linkType: hard - -"lodash.template@npm:^4.2.2": - version: 4.5.0 - resolution: "lodash.template@npm:4.5.0" - dependencies: - lodash._reinterpolate: ^3.0.0 - lodash.templatesettings: ^4.0.0 - checksum: ca64e5f07b6646c9d3dbc0fe3aaa995cb227c4918abd1cef7a9024cd9c924f2fa389a0ec4296aa6634667e029bc81d4bbdb8efbfde11df76d66085e6c529b450 - languageName: node - linkType: hard - -"lodash.templatesettings@npm:^4.0.0": - version: 4.2.0 - resolution: "lodash.templatesettings@npm:4.2.0" - dependencies: - lodash._reinterpolate: ^3.0.0 - checksum: 863e025478b092997e11a04e9d9e735875eeff1ffcd6c61742aa8272e3c2cddc89ce795eb9726c4e74cef5991f722897ff37df7738a125895f23fc7d12a7bb59 - languageName: node - linkType: hard - -"lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.4": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 - languageName: node - linkType: hard - -"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: ^4.1.0 - is-unicode-supported: ^0.1.0 - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 - languageName: node - linkType: hard - -"log-update@npm:^4.0.0": - version: 4.0.0 - resolution: "log-update@npm:4.0.0" - dependencies: - ansi-escapes: ^4.3.0 - cli-cursor: ^3.1.0 - slice-ansi: ^4.0.0 - wrap-ansi: ^6.2.0 - checksum: ae2f85bbabc1906034154fb7d4c4477c79b3e703d22d78adee8b3862fa913942772e7fa11713e3d96fb46de4e3cabefbf5d0a544344f03b58d3c4bff52aa9eb2 - languageName: node - linkType: hard - -"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: ^3.0.0 || ^4.0.0 - bin: - loose-envify: cli.js - checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 - languageName: node - linkType: hard - -"lower-case@npm:^2.0.2": - version: 2.0.2 - resolution: "lower-case@npm:2.0.2" - dependencies: - tslib: ^2.0.3 - checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010 - languageName: node - linkType: hard - -"lowercase-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "lowercase-keys@npm:2.0.0" - checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23 - languageName: node - linkType: hard - -"lru-cache@npm:^5.1.1": - version: 5.1.1 - resolution: "lru-cache@npm:5.1.1" - dependencies: - yallist: ^3.0.2 - checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb - languageName: node - linkType: hard - -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: ^4.0.0 - checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 - languageName: node - linkType: hard - -"lru-cache@npm:^7.7.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 - languageName: node - linkType: hard - -"lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.1 - resolution: "lru-cache@npm:10.0.1" - checksum: 06f8d0e1ceabd76bb6f644a26dbb0b4c471b79c7b514c13c6856113879b3bf369eb7b497dad4ff2b7e2636db202412394865b33c332100876d838ad1372f0181 - languageName: node - linkType: hard - -"luxon@npm:^3.4.3": - version: 3.4.3 - resolution: "luxon@npm:3.4.3" - checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3 - languageName: node - linkType: hard - -"lz-string@npm:^1.5.0": - version: 1.5.0 - resolution: "lz-string@npm:1.5.0" - bin: - lz-string: bin/bin.js - checksum: 1ee98b4580246fd90dd54da6e346fb1caefcf05f677c686d9af237a157fdea3fd7c83a4bc58f858cd5b10a34d27afe0fdcbd0505a47e0590726a873dc8b8f65d - languageName: node - linkType: hard - -"macos-alias@npm:~0.2.5": - version: 0.2.11 - resolution: "macos-alias@npm:0.2.11" - dependencies: - nan: ^2.4.0 - node-gyp: latest - conditions: os=darwin - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: ^7.5.3 - checksum: bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a - languageName: node - linkType: hard - -"make-error@npm:1.x, make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^11.0.3": - version: 11.1.1 - resolution: "make-fetch-happen@npm:11.1.1" - dependencies: - agentkeepalive: ^4.2.1 - cacache: ^17.0.0 - http-cache-semantics: ^4.1.1 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 - is-lambda: ^1.0.1 - lru-cache: ^7.7.1 - minipass: ^5.0.0 - minipass-fetch: ^3.0.0 - minipass-flush: ^1.0.5 - minipass-pipeline: ^1.2.4 - negotiator: ^0.6.3 - promise-retry: ^2.0.1 - socks-proxy-agent: ^7.0.0 - ssri: ^10.0.0 - checksum: 7268bf274a0f6dcf0343829489a4506603ff34bd0649c12058753900b0eb29191dce5dba12680719a5d0a983d3e57810f594a12f3c18494e93a1fbc6348a4540 - languageName: node - linkType: hard - -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: 1.0.5 - checksum: b38a025a12c8146d6eeea5a7f2bf27d51d8ad6064da8ca9405fcf7bf9b54acd43e3b30ddd7abb9b1bfa4ddb266019133313482570ddb207de568f71ecfcf6060 - languageName: node - linkType: hard - -"map-age-cleaner@npm:^0.1.1": - version: 0.1.3 - resolution: "map-age-cleaner@npm:0.1.3" - dependencies: - p-defer: ^1.0.0 - checksum: cb2804a5bcb3cbdfe4b59066ea6d19f5e7c8c196cd55795ea4c28f792b192e4c442426ae52524e5e1acbccf393d3bddacefc3d41f803e66453f6c4eda3650bc1 - languageName: node - linkType: hard - -"matcher@npm:^3.0.0": - version: 3.0.0 - resolution: "matcher@npm:3.0.0" - dependencies: - escape-string-regexp: ^4.0.0 - checksum: 8bee1a7ab7609c2c21d9c9254b6785fa708eadf289032b556d57a34e98fcd4c537659a004dafee6ce80ab157099e645c199dc52678dff1e7fb0a6684e0da4dbe - languageName: node - linkType: hard - -"mdn-data@npm:2.0.14": - version: 2.0.14 - resolution: "mdn-data@npm:2.0.14" - checksum: 9d0128ed425a89f4cba8f787dca27ad9408b5cb1b220af2d938e2a0629d17d879a34d2cb19318bdb26c3f14c77dd5dfbae67211f5caaf07b61b1f2c5c8c7dc16 - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 - languageName: node - linkType: hard - -"mem@npm:^4.3.0": - version: 4.3.0 - resolution: "mem@npm:4.3.0" - dependencies: - map-age-cleaner: ^0.1.1 - mimic-fn: ^2.0.0 - p-is-promise: ^2.0.0 - checksum: cf488608e5d59c6cb68004b70de317222d4be9f857fd535dfa6a108e04f40821479c080bc763c417b1030569d303538c59d441280078cfce07fefd1c523f98ef - languageName: node - linkType: hard - -"memfs@npm:^3.4.1, memfs@npm:^3.4.3": - version: 3.5.3 - resolution: "memfs@npm:3.5.3" - dependencies: - fs-monkey: ^1.0.4 - checksum: 18dfdeacad7c8047b976a6ccd58bc98ba76e122ad3ca0e50a21837fe2075fc0d9aafc58ab9cf2576c2b6889da1dd2503083f2364191b695273f40969db2ecc44 - languageName: node - linkType: hard - -"merge-descriptors@npm:1.0.1": - version: 1.0.1 - resolution: "merge-descriptors@npm:1.0.1" - checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 - languageName: node - linkType: hard - -"mersenne-twister@npm:^1.0.1": - version: 1.1.0 - resolution: "mersenne-twister@npm:1.1.0" - checksum: 7de1940ded117f2aad9320ae4d21d647b0ecf0667abbadcfe6a2835c669feb674ef46cb7a72da7af69a56d8b19e50e95e2fb7ef6d780efab7a6acd4d87f4cb2d - languageName: node - linkType: hard - -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a - languageName: node - linkType: hard - -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: ^3.0.2 - picomatch: ^2.3.1 - checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc - languageName: node - linkType: hard - -"mime-db@npm:1.52.0, mime-db@npm:>= 1.43.0 < 2": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: 1.52.0 - checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 - languageName: node - linkType: hard - -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.0.0, mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a - languageName: node - linkType: hard - -"mimic-response@npm:^1.0.0": - version: 1.0.1 - resolution: "mimic-response@npm:1.0.1" - checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867 - languageName: node - linkType: hard - -"min-indent@npm:^1.0.0": - version: 1.0.1 - resolution: "min-indent@npm:1.0.1" - checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 - languageName: node - linkType: hard - -"minimalistic-assert@npm:^1.0.0": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: ^1.1.7 - checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a - languageName: node - linkType: hard - -"minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: ^2.0.1 - checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 - languageName: node - linkType: hard - -"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 - languageName: node - linkType: hard - -"minimisted@npm:^2.0.0": - version: 2.0.1 - resolution: "minimisted@npm:2.0.1" - dependencies: - minimist: ^1.2.5 - checksum: 6bc3df14558481c96764cfd6bf77a59f5838dec715c38c1e338193c1e56f536ba792ccbae84ff6632d13a7dd37ac888141c091d23733229b8d100148eec930aa - languageName: node - linkType: hard - -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" - dependencies: - minipass: ^3.0.0 - checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: ^0.1.13 - minipass: ^7.0.3 - minipass-sized: ^1.0.3 - minizlib: ^2.1.2 - dependenciesMeta: - encoding: - optional: true - checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: ^3.0.0 - checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: ^3.0.0 - checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: ^3.0.0 - checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: ^4.0.0 - checksum: a30d083c8054cee83cdcdc97f97e4641a3f58ae743970457b1489ce38ee1167b3aaf7d815cd39ec7a99b9c40397fd4f686e83750e73e652b21cb516f6d845e48 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.3": - version: 7.0.3 - resolution: "minipass@npm:7.0.3" - checksum: 6f1614f5b5b55568a46bca5fec0e7c46dac027691db27d0e1923a8192866903144cd962ac772c0e9f89b608ea818b702709c042bce98e190d258847d85461531 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: ^3.0.0 - yallist: ^4.0.0 - checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 - languageName: node - linkType: hard - -"mkdirp@npm:^0.5.1": - version: 0.5.6 - resolution: "mkdirp@npm:0.5.6" - dependencies: - minimist: ^1.2.6 - bin: - mkdirp: bin/cmd.js - checksum: 0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f - languageName: node - linkType: hard - -"moment@npm:^2.15.2": - version: 2.29.4 - resolution: "moment@npm:2.29.4" - checksum: 0ec3f9c2bcba38dc2451b1daed5daded747f17610b92427bebe1d08d48d8b7bdd8d9197500b072d14e326dd0ccf3e326b9e3d07c5895d3d49e39b6803b76e80e - languageName: node - linkType: hard - -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d - languageName: node - linkType: hard - -"multicast-dns@npm:^7.2.5": - version: 7.2.5 - resolution: "multicast-dns@npm:7.2.5" - dependencies: - dns-packet: ^5.2.2 - thunky: ^1.0.2 - bin: - multicast-dns: cli.js - checksum: 00b8a57df152d4cd0297946320a94b7c3cdf75a46a2247f32f958a8927dea42958177f9b7fdae69fab2e4e033fb3416881af1f5e9055a3e1542888767139e2fb - languageName: node - linkType: hard - -"murmur-32@npm:^0.1.0 || ^0.2.0": - version: 0.2.0 - resolution: "murmur-32@npm:0.2.0" - dependencies: - encode-utf8: ^1.0.3 - fmix: ^0.1.0 - imul: ^1.0.0 - checksum: 664f19319c23b2910bd6b4d79e072c910168b157c26bf4507c78f0c7a259cb6f6233fb04eca7d02b271491a8f87660d5c4619f35f7411d9ab10fca715fa93f7c - languageName: node - linkType: hard - -"mute-stream@npm:0.0.8": - version: 0.0.8 - resolution: "mute-stream@npm:0.0.8" - checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 - languageName: node - linkType: hard - -"nan@npm:^2.4.0": - version: 2.17.0 - resolution: "nan@npm:2.17.0" - dependencies: - node-gyp: latest - checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed - languageName: node - linkType: hard - -"nano-css@npm:^5.3.1": - version: 5.3.5 - resolution: "nano-css@npm:5.3.5" - dependencies: - css-tree: ^1.1.2 - csstype: ^3.0.6 - fastest-stable-stringify: ^2.0.2 - inline-style-prefixer: ^6.0.0 - rtl-css-js: ^1.14.0 - sourcemap-codec: ^1.4.8 - stacktrace-js: ^2.0.2 - stylis: ^4.0.6 - peerDependencies: - react: "*" - react-dom: "*" - checksum: 8d4e59a2a29477221af47320d850a7dcee1ac51774fb5a0dce6ee59b22174c7149f75108235de85559581fbb2b93aa222a2b32ea53c93ba3f5d322c4d098c355 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.6": - version: 3.3.6 - resolution: "nanoid@npm:3.3.6" - bin: - nanoid: bin/nanoid.cjs - checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3 - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d - languageName: node - linkType: hard - -"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 - languageName: node - linkType: hard - -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 - languageName: node - linkType: hard - -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff - languageName: node - linkType: hard - -"no-case@npm:^3.0.4": - version: 3.0.4 - resolution: "no-case@npm:3.0.4" - dependencies: - lower-case: ^2.0.2 - tslib: ^2.0.3 - checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c - languageName: node - linkType: hard - -"node-abi@npm:^3.0.0": - version: 3.46.0 - resolution: "node-abi@npm:3.46.0" - dependencies: - semver: ^7.3.5 - checksum: 8d23e6813c4d62e69e460f55d6c649710df735e39ec2febbeb0a0e395bff4f437833a9bb069618254614fa1e19fbd0530b50b63a17b912e8febf110076087225 - languageName: node - linkType: hard - -"node-abort-controller@npm:^3.0.1": - version: 3.1.1 - resolution: "node-abort-controller@npm:3.1.1" - checksum: 2c340916af9710328b11c0828223fc65ba320e0d082214a211311bf64c2891028e42ef276b9799188c4ada9e6e1c54cf7a0b7c05dd9d59fcdc8cd633304c8047 - languageName: node - linkType: hard - -"node-api-version@npm:^0.1.4": - version: 0.1.4 - resolution: "node-api-version@npm:0.1.4" - dependencies: - semver: ^7.3.5 - checksum: e652a9502a6b62bda01d6134be30195f9d8b3ba75190a4190c76e7ed4f12a410cdc7ec301f878aff11dafc14bc7d9c4fc81f88c1e174c8fb970b7b33eb978b98 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.7": - version: 2.6.12 - resolution: "node-fetch@npm:2.6.12" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 3bc1655203d47ee8e313c0d96664b9673a3d4dd8002740318e9d27d14ef306693a4b2ef8d6525775056fd912a19e23f3ac0d7111ad8925877b7567b29a625592 - languageName: node - linkType: hard - -"node-forge@npm:^1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 08fb072d3d670599c89a1704b3e9c649ff1b998256737f0e06fbd1a5bf41cae4457ccaee32d95052d80bbafd9ffe01284e078c8071f0267dc9744e51c5ed42a9 - languageName: node - linkType: hard - -"node-gyp@npm:^9.0.0, node-gyp@npm:latest": - version: 9.4.0 - resolution: "node-gyp@npm:9.4.0" - dependencies: - env-paths: ^2.2.0 - exponential-backoff: ^3.1.1 - glob: ^7.1.4 - graceful-fs: ^4.2.6 - make-fetch-happen: ^11.0.3 - nopt: ^6.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.2 - which: ^2.0.2 - bin: - node-gyp: bin/node-gyp.js - checksum: 78b404e2e0639d64e145845f7f5a3cb20c0520cdaf6dda2f6e025e9b644077202ea7de1232396ba5bde3fee84cdc79604feebe6ba3ec84d464c85d407bb5da99 - languageName: node - linkType: hard - -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: d0b30b1ee6d961851c60d5eaa745d30b5c95d94bc0e74b81e5292f7c42a49e3af87f1eb9e89f59456f80645d679202537de751b7d72e9e40ceea40c5e449057e - languageName: node - linkType: hard - -"node-loader@npm:^2.0.0": - version: 2.0.0 - resolution: "node-loader@npm:2.0.0" - dependencies: - loader-utils: ^2.0.0 - peerDependencies: - webpack: ^5.0.0 - checksum: 9252a92b226c0e6fdd29fef92d9853d6c389a4c65119a32306dc12cee7886f2ab4dde333dda5e37df92283c34bd0267e98c384be6d548dbe69676e3343f549ea - languageName: node - linkType: hard - -"node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 - languageName: node - linkType: hard - -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" - dependencies: - abbrev: ^1.0.0 - bin: - nopt: bin/nopt.js - checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac - languageName: node - linkType: hard - -"normalize-package-data@npm:^2.3.2": - version: 2.5.0 - resolution: "normalize-package-data@npm:2.5.0" - dependencies: - hosted-git-info: ^2.1.4 - resolve: ^1.10.0 - semver: 2 || 3 || 4 || 5 - validate-npm-package-license: ^3.0.1 - checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 - languageName: node - linkType: hard - -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 - languageName: node - linkType: hard - -"npm-run-path@npm:^2.0.0": - version: 2.0.2 - resolution: "npm-run-path@npm:2.0.2" - dependencies: - path-key: ^2.0.0 - checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 - languageName: node - linkType: hard - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: ^3.0.0 - checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 - languageName: node - linkType: hard - -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: ^3.0.0 - console-control-strings: ^1.1.0 - gauge: ^4.0.3 - set-blocking: ^2.0.0 - checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a - languageName: node - linkType: hard - -"nth-check@npm:^2.0.1": - version: 2.1.1 - resolution: "nth-check@npm:2.1.1" - dependencies: - boolbase: ^1.0.0 - checksum: 5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 - languageName: node - linkType: hard - -"nwsapi@npm:^2.2.2": - version: 2.2.7 - resolution: "nwsapi@npm:2.2.7" - checksum: cab25f7983acec7e23490fec3ef7be608041b460504229770e3bfcf9977c41d6fe58f518994d3bd9aa3a101f501089a3d4a63536f4ff8ae4b8c4ca23bdbfda4e - languageName: node - linkType: hard - -"object-assign@npm:^4.1.1": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f - languageName: node - linkType: hard - -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db - languageName: node - linkType: hard - -"object-is@npm:^1.1.5": - version: 1.1.5 - resolution: "object-is@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe - languageName: node - linkType: hard - -"object-keys@npm:^1.1.1": - version: 1.1.1 - resolution: "object-keys@npm:1.1.1" - checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a - languageName: node - linkType: hard - -"object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - has-symbols: ^1.0.3 - object-keys: ^1.1.1 - checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.6": - version: 2.0.6 - resolution: "object.fromentries@npm:2.0.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.0": - version: 1.0.0 - resolution: "object.groupby@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.21.2 - get-intrinsic: ^1.2.1 - checksum: 64b00b287d57580111c958e7ff375c9b61811fa356f2cf0d35372d43cab61965701f00fac66c19fd8f49c4dfa28744bee6822379c69a73648ad03e09fcdeae70 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6": - version: 1.1.6 - resolution: "object.values@npm:1.1.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e - languageName: node - linkType: hard - -"obuf@npm:^1.0.0, obuf@npm:^1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 41a2ba310e7b6f6c3b905af82c275bf8854896e2e4c5752966d64cbcd2f599cfffd5932006bcf3b8b419dfdacebb3a3912d5d94e10f1d0acab59876c8757f27f - languageName: node - linkType: hard - -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: 1.1.1 - checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 - languageName: node - linkType: hard - -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 2bf13467215d1e540a62a75021e8b318a6cfc5d4fc53af8e8f84ad98dbcea02d506c6d24180cd62e1d769c44721ba542f3154effc1f7579a8288c9f7873ed8e5 - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: 1 - checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 - languageName: node - linkType: hard - -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: ^2.1.0 - checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 - languageName: node - linkType: hard - -"open@npm:^8.0.9": - version: 8.4.2 - resolution: "open@npm:8.4.2" - dependencies: - define-lazy-prop: ^2.0.0 - is-docker: ^2.1.1 - is-wsl: ^2.2.0 - checksum: 6388bfff21b40cb9bd8f913f9130d107f2ed4724ea81a8fd29798ee322b361ca31fa2cdfb491a5c31e43a3996cfe9566741238c7a741ada8d7af1cb78d85cf26 - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" - dependencies: - "@aashutoshrathi/word-wrap": ^1.2.3 - deep-is: ^0.1.3 - fast-levenshtein: ^2.0.6 - levn: ^0.4.1 - prelude-ls: ^1.2.1 - type-check: ^0.4.0 - checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a - languageName: node - linkType: hard - -"ora@npm:^5.1.0, ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: ^4.1.0 - chalk: ^4.1.0 - cli-cursor: ^3.1.0 - cli-spinners: ^2.5.0 - is-interactive: ^1.0.0 - is-unicode-supported: ^0.1.0 - log-symbols: ^4.1.0 - strip-ansi: ^6.0.0 - wcwidth: ^1.0.1 - checksum: 28d476ee6c1049d68368c0dc922e7225e3b5600c3ede88fade8052837f9ed342625fdaa84a6209302587c8ddd9b664f71f0759833cbdb3a4cf81344057e63c63 - languageName: node - linkType: hard - -"os-tmpdir@npm:~1.0.2": - version: 1.0.2 - resolution: "os-tmpdir@npm:1.0.2" - checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d - languageName: node - linkType: hard - -"p-cancelable@npm:^2.0.0": - version: 2.1.1 - resolution: "p-cancelable@npm:2.1.1" - checksum: 3dba12b4fb4a1e3e34524535c7858fc82381bbbd0f247cc32dedc4018592a3950ce66b106d0880b4ec4c2d8d6576f98ca885dc1d7d0f274d1370be20e9523ddf - languageName: node - linkType: hard - -"p-defer@npm:^1.0.0": - version: 1.0.0 - resolution: "p-defer@npm:1.0.0" - checksum: 4271b935c27987e7b6f229e5de4cdd335d808465604644cb7b4c4c95bef266735859a93b16415af8a41fd663ee9e3b97a1a2023ca9def613dba1bad2a0da0c7b - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 - languageName: node - linkType: hard - -"p-is-promise@npm:^2.0.0": - version: 2.1.0 - resolution: "p-is-promise@npm:2.1.0" - checksum: c9a8248c8b5e306475a5d55ce7808dbce4d4da2e3d69526e4991a391a7809bfd6cfdadd9bf04f1c96a3db366c93d9a0f5ee81d949e7b1684c4e0f61f747199ef - languageName: node - linkType: hard - -"p-limit@npm:^1.1.0": - version: 1.3.0 - resolution: "p-limit@npm:1.3.0" - dependencies: - p-try: ^1.0.0 - checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: ^2.0.0 - checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: ^0.1.0 - checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 - languageName: node - linkType: hard - -"p-limit@npm:^4.0.0": - version: 4.0.0 - resolution: "p-limit@npm:4.0.0" - dependencies: - yocto-queue: ^1.0.0 - checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b - languageName: node - linkType: hard - -"p-locate@npm:^2.0.0": - version: 2.0.0 - resolution: "p-locate@npm:2.0.0" - dependencies: - p-limit: ^1.1.0 - checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 - languageName: node - linkType: hard - -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: ^2.2.0 - checksum: 513bd14a455f5da4ebfcb819ef706c54adb09097703de6aeaa5d26fe5ea16df92b48d1ac45e01e3944ce1e6aa2a66f7f8894742b8c9d6e276e16cd2049a2b870 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: ^3.0.2 - checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 - languageName: node - linkType: hard - -"p-locate@npm:^6.0.0": - version: 6.0.0 - resolution: "p-locate@npm:6.0.0" - dependencies: - p-limit: ^4.0.0 - checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: ^3.0.0 - checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c - languageName: node - linkType: hard - -"p-retry@npm:^4.5.0": - version: 4.6.2 - resolution: "p-retry@npm:4.6.2" - dependencies: - "@types/retry": 0.12.0 - retry: ^0.13.1 - checksum: 45c270bfddaffb4a895cea16cb760dcc72bdecb6cb45fef1971fa6ea2e91ddeafddefe01e444ac73e33b1b3d5d29fb0dd18a7effb294262437221ddc03ce0f2e - languageName: node - linkType: hard - -"p-try@npm:^1.0.0": - version: 1.0.0 - resolution: "p-try@npm:1.0.0" - checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae - languageName: node - linkType: hard - -"pako@npm:^1.0.10, pako@npm:~1.0.2": - version: 1.0.11 - resolution: "pako@npm:1.0.11" - checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16 - languageName: node - linkType: hard - -"pako@npm:^2.1.0": - version: 2.1.0 - resolution: "pako@npm:2.1.0" - checksum: 71666548644c9a4d056bcaba849ca6fd7242c6cf1af0646d3346f3079a1c7f4a66ffec6f7369ee0dc88f61926c10d6ab05da3e1fca44b83551839e89edd75a3e - languageName: node - linkType: hard - -"param-case@npm:^3.0.4": - version: 3.0.4 - resolution: "param-case@npm:3.0.4" - dependencies: - dot-case: ^3.0.4 - tslib: ^2.0.3 - checksum: b34227fd0f794e078776eb3aa6247442056cb47761e9cd2c4c881c86d84c64205f6a56ef0d70b41ee7d77da02c3f4ed2f88e3896a8fefe08bdfb4deca037c687 - languageName: node - linkType: hard - -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: ^3.0.0 - checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff - languageName: node - linkType: hard - -"parents@npm:^1.0.1": - version: 1.0.1 - resolution: "parents@npm:1.0.1" - dependencies: - path-platform: ~0.11.15 - checksum: 094fc817d5e8d94e9f9d38c2618a2822f2960b7a268183a36326c5d1cf6ff32f97b1158b0f9b32ab126573996dfe6db104feda6d26e8531d762d178ef4488fc8 - languageName: node - linkType: hard - -"parse-author@npm:^2.0.0": - version: 2.0.0 - resolution: "parse-author@npm:2.0.0" - dependencies: - author-regex: ^1.0.0 - checksum: 066ad615de7dbc3c4293eaaf66a65ea81f8e75e2cffcaf9dd3bcdd4dc4cfff1baa3c85bb3adbedfbed2ddee3298ef4e25ef51b524e91d5a5815d8d9598d31367 - languageName: node - linkType: hard - -"parse-color@npm:^1.0.0": - version: 1.0.0 - resolution: "parse-color@npm:1.0.0" - dependencies: - color-convert: ~0.5.0 - checksum: 0e6e1821eacb4cd21dff380eceafa229052fe22b9951a891c7cac6080a681f29cb2ac50050398ae6cba089cde87f640bcaf8439bf16d468de029691275c175ef - languageName: node - linkType: hard - -"parse-git-config@npm:^3.0.0": - version: 3.0.0 - resolution: "parse-git-config@npm:3.0.0" - dependencies: - git-config-path: ^2.0.0 - ini: ^1.3.5 - checksum: 243aa781d08f3208e94708a59e3410af90a7e831054c08775e7aeccaa23fc03240092ffd829412ee3dbe57f33ae876883b7e63171499041d4522e92d7d624c13 - languageName: node - linkType: hard - -"parse-json@npm:^2.2.0": - version: 2.2.0 - resolution: "parse-json@npm:2.2.0" - dependencies: - error-ex: ^1.2.0 - checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca - languageName: node - linkType: hard - -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": - version: 5.2.0 - resolution: "parse-json@npm:5.2.0" - 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 - checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 - languageName: node - linkType: hard - -"parse-passwd@npm:^1.0.0": - version: 1.0.0 - resolution: "parse-passwd@npm:1.0.0" - checksum: 4e55e0231d58f828a41d0f1da2bf2ff7bcef8f4cb6146e69d16ce499190de58b06199e6bd9b17fbf0d4d8aef9052099cdf8c4f13a6294b1a522e8e958073066e - languageName: node - linkType: hard - -"parse-path@npm:^7.0.0": - version: 7.0.0 - resolution: "parse-path@npm:7.0.0" - dependencies: - protocols: ^2.0.0 - checksum: 244b46523a58181d251dda9b888efde35d8afb957436598d948852f416d8c76ddb4f2010f9fc94218b4be3e5c0f716aa0d2026194a781e3b8981924142009302 - languageName: node - linkType: hard - -"parse-url@npm:^8.1.0": - version: 8.1.0 - resolution: "parse-url@npm:8.1.0" - dependencies: - parse-path: ^7.0.0 - checksum: b93e21ab4c93c7d7317df23507b41be7697694d4c94f49ed5c8d6288b01cba328fcef5ba388e147948eac20453dee0df9a67ab2012415189fff85973bdffe8d9 - languageName: node - linkType: hard - -"parse5@npm:^7.0.0, parse5@npm:^7.1.1": - version: 7.1.2 - resolution: "parse5@npm:7.1.2" - dependencies: - entities: ^4.4.0 - checksum: 59465dd05eb4c5ec87b76173d1c596e152a10e290b7abcda1aecf0f33be49646ea74840c69af975d7887543ea45564801736356c568d6b5e71792fd0f4055713 - languageName: node - linkType: hard - -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 - languageName: node - linkType: hard - -"pascal-case@npm:^3.1.2": - version: 3.1.2 - resolution: "pascal-case@npm:3.1.2" - dependencies: - no-case: ^3.0.4 - tslib: ^2.0.3 - checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e - languageName: node - linkType: hard - -"path-exists@npm:^3.0.0": - version: 3.0.0 - resolution: "path-exists@npm:3.0.0" - checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 - languageName: node - linkType: hard - -"path-exists@npm:^5.0.0": - version: 5.0.0 - resolution: "path-exists@npm:5.0.0" - checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 - languageName: node - linkType: hard - -"path-key@npm:^2.0.0, path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 - languageName: node - linkType: hard - -"path-parse@npm:^1.0.7": - version: 1.0.7 - resolution: "path-parse@npm:1.0.7" - checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a - languageName: node - linkType: hard - -"path-platform@npm:~0.11.15": - version: 0.11.15 - resolution: "path-platform@npm:0.11.15" - checksum: 239f2eae720531ff5a48837de68f94ebd7cf6cd2bf295b39beb97c5bafc34a34a683b62f9f5ad5ca5e78d71d7d44c29e7c56373c1c8473ab128a4e648bb898f0 - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: ^9.1.1 || ^10.0.0 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 - languageName: node - linkType: hard - -"path-to-regexp@npm:0.1.7": - version: 0.1.7 - resolution: "path-to-regexp@npm:0.1.7" - checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce - languageName: node - linkType: hard - -"path-type@npm:^2.0.0": - version: 2.0.0 - resolution: "path-type@npm:2.0.0" - dependencies: - pify: ^2.0.0 - checksum: 749dc0c32d4ebe409da155a0022f9be3d08e6fd276adb3dfa27cb2486519ab2aa277d1453b3fde050831e0787e07b0885a75653fefcc82d883753c5b91121b1c - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 - languageName: node - linkType: hard - -"pend@npm:~1.2.0": - version: 1.2.0 - resolution: "pend@npm:1.2.0" - checksum: 6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf - languageName: node - linkType: hard - -"pify@npm:^2.0.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba - languageName: node - linkType: hard - -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b - languageName: node - linkType: hard - -"pirates@npm:^4.0.4": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 - languageName: node - linkType: hard - -"pkg-dir@npm:^4.2.0": - version: 4.2.0 - resolution: "pkg-dir@npm:4.2.0" - dependencies: - find-up: ^4.0.0 - checksum: 9863e3f35132bf99ae1636d31ff1e1e3501251d480336edb1c211133c8d58906bed80f154a1d723652df1fda91e01c7442c2eeaf9dc83157c7ae89087e43c8d6 - languageName: node - linkType: hard - -"plist@npm:^3.0.0, plist@npm:^3.0.4, plist@npm:^3.0.5": - version: 3.1.0 - resolution: "plist@npm:3.1.0" - dependencies: - "@xmldom/xmldom": ^0.8.8 - base64-js: ^1.5.1 - xmlbuilder: ^15.1.1 - checksum: c8ea013da8646d4c50dff82f9be39488054621cc229957621bb00add42b5d4ce3657cf58d4b10c50f7dea1a81118f825838f838baeb4e6f17fab453ecf91d424 - languageName: node - linkType: hard - -"postcss-modules-extract-imports@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-extract-imports@npm:3.0.0" - peerDependencies: - postcss: ^8.1.0 - checksum: 4b65f2f1382d89c4bc3c0a1bdc5942f52f3cb19c110c57bd591ffab3a5fee03fcf831604168205b0c1b631a3dce2255c70b61aaae3ef39d69cd7eb450c2552d2 - languageName: node - linkType: hard - -"postcss-modules-local-by-default@npm:^4.0.3": - version: 4.0.3 - resolution: "postcss-modules-local-by-default@npm:4.0.3" - dependencies: - icss-utils: ^5.0.0 - postcss-selector-parser: ^6.0.2 - postcss-value-parser: ^4.1.0 - peerDependencies: - postcss: ^8.1.0 - checksum: 2f8083687f3d6067885f8863dd32dbbb4f779cfcc7e52c17abede9311d84faf6d3ed8760e7c54c6380281732ae1f78e5e56a28baf3c271b33f450a11c9e30485 - languageName: node - linkType: hard - -"postcss-modules-scope@npm:^3.0.0": - version: 3.0.0 - resolution: "postcss-modules-scope@npm:3.0.0" - dependencies: - postcss-selector-parser: ^6.0.4 - peerDependencies: - postcss: ^8.1.0 - checksum: 330b9398dbd44c992c92b0dc612c0626135e2cc840fee41841eb61247a6cfed95af2bd6f67ead9dd9d0bb41f5b0367129d93c6e434fa3e9c58ade391d9a5a138 - languageName: node - linkType: hard - -"postcss-modules-values@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-modules-values@npm:4.0.0" - dependencies: - icss-utils: ^5.0.0 - peerDependencies: - postcss: ^8.1.0 - checksum: f7f2cdf14a575b60e919ad5ea52fed48da46fe80db2733318d71d523fc87db66c835814940d7d05b5746b0426e44661c707f09bdb83592c16aea06e859409db6 - languageName: node - linkType: hard - -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": - version: 6.0.13 - resolution: "postcss-selector-parser@npm:6.0.13" - dependencies: - cssesc: ^3.0.0 - util-deprecate: ^1.0.2 - checksum: f89163338a1ce3b8ece8e9055cd5a3165e79a15e1c408e18de5ad8f87796b61ec2d48a2902d179ae0c4b5de10fccd3a325a4e660596549b040bc5ad1b465f096 - languageName: node - linkType: hard - -"postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 819ffab0c9d51cf0acbabf8996dffbfafbafa57afc0e4c98db88b67f2094cb44488758f06e5da95d7036f19556a4a732525e84289a425f4f6fd8e412a9d7442f - languageName: node - linkType: hard - -"postcss@npm:^8.4.21": - version: 8.4.27 - resolution: "postcss@npm:8.4.27" - dependencies: - nanoid: ^3.3.6 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 1cdd0c298849df6cd65f7e646a3ba36870a37b65f55fd59d1a165539c263e9b4872a402bf4ed1ca1bc31f58b68b2835545e33ea1a23b161a1f8aa6d5ded81e78 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a - languageName: node - linkType: hard - -"prettier@npm:^3.0.3": - version: 3.0.3 - resolution: "prettier@npm:3.0.3" - bin: - prettier: bin/prettier.cjs - checksum: e10b9af02b281f6c617362ebd2571b1d7fc9fb8a3bd17e371754428cda992e5e8d8b7a046e8f7d3e2da1dcd21aa001e2e3c797402ebb6111b5cd19609dd228e0 - languageName: node - linkType: hard - -"pretty-error@npm:^4.0.0": - version: 4.0.0 - resolution: "pretty-error@npm:4.0.0" - dependencies: - lodash: ^4.17.20 - renderkid: ^3.0.0 - checksum: a5b9137365690104ded6947dca2e33360bf55e62a4acd91b1b0d7baa3970e43754c628cc9e16eafbdd4e8f8bcb260a5865475d4fc17c3106ff2d61db4e72cdf3 - languageName: node - linkType: hard - -"pretty-format@npm:^27.0.2": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" - dependencies: - ansi-regex: ^5.0.1 - ansi-styles: ^5.0.0 - react-is: ^17.0.1 - checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 - languageName: node - linkType: hard - -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.6.2": - version: 29.6.2 - resolution: "pretty-format@npm:29.6.2" - dependencies: - "@jest/schemas": ^29.6.0 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: a0f972a44f959023c0df9cdfe9eed7540264d7f7ddf74667db8a5294444d5aa153fd47d20327df10ae86964e2ceec10e46ea06b1a5c9c12e02348b78c952c9fc - languageName: node - linkType: hard - -"pretty-format@npm:^29.6.3": - version: 29.6.3 - resolution: "pretty-format@npm:29.6.3" - dependencies: - "@jest/schemas": ^29.6.3 - ansi-styles: ^5.0.0 - react-is: ^18.0.0 - checksum: 4e1c0db48e65571c22e80ff92123925ff8b3a2a89b71c3a1683cfde711004d492de32fe60c6bc10eea8bf6c678e5cbe544ac6c56cb8096e1eb7caf856928b1c4 - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf - languageName: node - linkType: hard - -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: ^2.0.2 - retry: ^0.12.0 - checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 - languageName: node - linkType: hard - -"prompts@npm:^2.0.1": - version: 2.4.2 - resolution: "prompts@npm:2.4.2" - dependencies: - kleur: ^3.0.3 - sisteransi: ^1.0.5 - checksum: d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d - languageName: node - linkType: hard - -"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": - version: 15.8.1 - resolution: "prop-types@npm:15.8.1" - dependencies: - loose-envify: ^1.4.0 - object-assign: ^4.1.1 - react-is: ^16.13.1 - checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459 - languageName: node - linkType: hard - -"protocols@npm:^2.0.0": - version: 2.0.1 - resolution: "protocols@npm:2.0.1" - checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 - languageName: node - linkType: hard - -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 - languageName: node - linkType: hard - -"psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: ^1.1.0 - once: ^1.3.1 - checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 - languageName: node - linkType: hard - -"pure-rand@npm:^6.0.0": - version: 6.0.2 - resolution: "pure-rand@npm:6.0.2" - checksum: 79de33876a4f515d759c48e98d00756bbd916b4ea260cc572d7adfa4b62cace9952e89f0241d0410214554503d25061140fe325c66f845213d2b1728ba8d413e - languageName: node - linkType: hard - -"qs@npm:6.11.0": - version: 6.11.0 - resolution: "qs@npm:6.11.0" - dependencies: - side-channel: ^1.0.4 - checksum: 6e1f29dd5385f7488ec74ac7b6c92f4d09a90408882d0c208414a34dd33badc1a621019d4c799a3df15ab9b1d0292f97c1dd71dc7c045e69f81a8064e5af7297 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 5641ea231bad7ef6d64d9998faca95611ed4b11c2591a8cae741e178a974f6a8e0ebde008475259abe1621cb15e692404e6b6626e927f7b849d5c09392604b15 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 - languageName: node - linkType: hard - -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed - languageName: node - linkType: hard - -"random-path@npm:^0.1.0": - version: 0.1.2 - resolution: "random-path@npm:0.1.2" - dependencies: - base32-encode: ^0.1.0 || ^1.0.0 - murmur-32: ^0.1.0 || ^0.2.0 - checksum: 9fe83df7705e7c7707feba280433f1dd3937dfd6feccc85e1f5fad1e5f84930777a64faa871f4ced4c7825fdfeb5f727f70fc808d81914c02e4c914bac177a34 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: ^5.1.0 - checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 - languageName: node - linkType: hard - -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 - languageName: node - linkType: hard - -"raw-body@npm:2.5.1": - version: 2.5.1 - resolution: "raw-body@npm:2.5.1" - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - checksum: 5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e - languageName: node - linkType: hard - -"rcedit@npm:^3.0.1": - version: 3.1.0 - resolution: "rcedit@npm:3.1.0" - dependencies: - cross-spawn-windows-exe: ^1.1.0 - checksum: 5c44061f29ac19dbcc309ec4a97cdb163eb936836214b113a2fe31de5a7da5a448b5e60741d8d663d8c2dffb75a9e0803820c1066d9cfa33793f6f5d39896300 - languageName: node - linkType: hard - -"re-reselect@npm:^4.0.1": - version: 4.0.1 - resolution: "re-reselect@npm:4.0.1" - peerDependencies: - reselect: ">1.0.0" - checksum: 6acb302c5a3d7aa44d32b329babaeed73a5d78eb832e2020d4f5f9515d38d3bebae5d0cfe853e5ceb2682abd8cdfe41b51ab76a997c18fcc8f1cfa4ab81ff58e - languageName: node - linkType: hard - -"react-ace@npm:^10.1.0": - version: 10.1.0 - resolution: "react-ace@npm:10.1.0" - dependencies: - ace-builds: ^1.4.14 - diff-match-patch: ^1.0.5 - lodash.get: ^4.4.2 - lodash.isequal: ^4.5.0 - prop-types: ^15.7.2 - peerDependencies: - react: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 8fc67e02f911dcc31cf474df97c06f2ba5b5f402d9ed425895e479e2daddf4894a2cd0e81744b37b7f2b07109cfe4470fc5ebeed305d648c596e3442142e4823 - languageName: node - linkType: hard - -"react-dom@npm:^18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" - dependencies: - loose-envify: ^1.1.0 - scheduler: ^0.23.0 - peerDependencies: - react: ^18.2.0 - checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc - languageName: node - linkType: hard - -"react-error-boundary@npm:^4.0.11": - version: 4.0.11 - resolution: "react-error-boundary@npm:4.0.11" - dependencies: - "@babel/runtime": ^7.12.5 - peerDependencies: - react: ">=16.13.1" - checksum: b3c157fea4e8f78411e9aa0fbf5241f6907b66ede1cd8b7bb22faaeb0339ebeb3dc8e63bf90ef3f740bfa8fd994ca6edf975089cd371b664ad6c2735e7512d38 - languageName: node - linkType: hard - -"react-is@npm:^16.13.1, react-is@npm:^16.7.0": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f - languageName: node - linkType: hard - -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0, react-is@npm:^18.2.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e - languageName: node - linkType: hard - -"react-redux@npm:^8.1.2": - version: 8.1.2 - resolution: "react-redux@npm:8.1.2" - dependencies: - "@babel/runtime": ^7.12.1 - "@types/hoist-non-react-statics": ^3.3.1 - "@types/use-sync-external-store": ^0.0.3 - hoist-non-react-statics: ^3.3.2 - react-is: ^18.0.0 - use-sync-external-store: ^1.0.0 - peerDependencies: - "@types/react": ^16.8 || ^17.0 || ^18.0 - "@types/react-dom": ^16.8 || ^17.0 || ^18.0 - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - react-native: ">=0.59" - redux: ^4 || ^5.0.0-beta.0 - peerDependenciesMeta: - "@types/react": - optional: true - "@types/react-dom": - optional: true - react-dom: - optional: true - react-native: - optional: true - redux: - optional: true - checksum: 4d5976b0f721e4148475871fcabce2fee875cc7f70f9a292f3370d63b38aa1dd474eb303c073c5555f3e69fc732f3bac05303def60304775deb28361e3f4b7cc - languageName: node - linkType: hard - -"react-transition-group@npm:^4.4.5": - version: 4.4.5 - resolution: "react-transition-group@npm:4.4.5" - dependencies: - "@babel/runtime": ^7.5.5 - dom-helpers: ^5.0.1 - loose-envify: ^1.4.0 - prop-types: ^15.6.2 - peerDependencies: - react: ">=16.6.0" - react-dom: ">=16.6.0" - checksum: 75602840106aa9c6545149d6d7ae1502fb7b7abadcce70a6954c4b64a438ff1cd16fc77a0a1e5197cdd72da398f39eb929ea06f9005c45b132ed34e056ebdeb1 - languageName: node - linkType: hard - -"react-universal-interface@npm:^0.6.2": - version: 0.6.2 - resolution: "react-universal-interface@npm:0.6.2" - peerDependencies: - react: "*" - tslib: "*" - checksum: 070a7e9e3cdd8b0ec91a2ac9ac0a8df6bcb3fd183d2775bf0f439b9870fc1faf5b4fa9fe9741abd5187f0a35be645cb4004e1c9ebda9ada7e5d0a624f94910cb - languageName: node - linkType: hard - -"react-use@npm:^17.4.0": - version: 17.4.0 - resolution: "react-use@npm:17.4.0" - dependencies: - "@types/js-cookie": ^2.2.6 - "@xobotyi/scrollbar-width": ^1.9.5 - copy-to-clipboard: ^3.3.1 - fast-deep-equal: ^3.1.3 - fast-shallow-equal: ^1.0.0 - js-cookie: ^2.2.1 - nano-css: ^5.3.1 - react-universal-interface: ^0.6.2 - resize-observer-polyfill: ^1.5.1 - screenfull: ^5.1.0 - set-harmonic-interval: ^1.0.1 - throttle-debounce: ^3.0.1 - ts-easing: ^0.2.0 - tslib: ^2.1.0 - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 0889da919b49a186de375ec15d2778b954ae981c523acd17dd496e4a4da7b6190efe7993491e1b85fdd6de3e745d08a4eaba4caa35408d570b5f1de550f35d11 - languageName: node - linkType: hard - -"react@npm:^18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" - dependencies: - loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b - languageName: node - linkType: hard - -"reactflow@npm:^11.8.3": - version: 11.8.3 - resolution: "reactflow@npm:11.8.3" - dependencies: - "@reactflow/background": 11.2.8 - "@reactflow/controls": 11.1.19 - "@reactflow/core": 11.8.3 - "@reactflow/minimap": 11.6.3 - "@reactflow/node-resizer": 2.1.5 - "@reactflow/node-toolbar": 1.2.7 - peerDependencies: - react: ">=17" - react-dom: ">=17" - checksum: 805deb1ce920c17ca58fe5bb34dd3befe3a11476a496d3b71108488b6d702809a41a3802fcaa4148cd2b4998c5cccd4611b55a86f15437f0ccd7986ee1b8d970 - languageName: node - linkType: hard - -"read-pkg-up@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg-up@npm:2.0.0" - dependencies: - find-up: ^2.0.0 - read-pkg: ^2.0.0 - checksum: 22f9026fb72219ecd165f94f589461c70a88461dc7ea0d439a310ef2a5271ff176a4df4e5edfad087d8ac89b8553945eb209476b671e8ed081c990f30fc40b27 - languageName: node - linkType: hard - -"read-pkg@npm:^2.0.0": - version: 2.0.0 - resolution: "read-pkg@npm:2.0.0" - dependencies: - load-json-file: ^2.0.0 - normalize-package-data: ^2.3.2 - path-type: ^2.0.0 - checksum: 85c5bf35f2d96acdd756151ba83251831bb2b1040b7d96adce70b2cb119b5320417f34876de0929f2d06c67f3df33ef4636427df3533913876f9ef2487a6f48f - languageName: node - linkType: hard - -"read-uint@npm:^2.0.0": - version: 2.0.0 - resolution: "read-uint@npm:2.0.0" - checksum: 897cc084bb1c9c98260df04e5054e46da9ea5d3aaca7336cf5ca8a1a2795196fd31a5a9cab76454e2abd38651f5acf596a4d32d2a5105014e2638e307be01568 - languageName: node - linkType: hard - -"readable-stream@npm:^2.0.1, readable-stream@npm:~2.3.6": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - 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 - checksum: 65645467038704f0c8aaf026a72fbb588a9e2ef7a75cd57a01702ee9db1c4a1e4b03aaad36861a6a0926546a74d174149c8c207527963e0c2d3eee2f37678a42 - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.6, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: ^2.2.1 - checksum: 1ced032e6e45670b6d7352d71d21ce7edf7b9b928494dcaba6f11fba63180d9da6cd7061ebc34175ffda6ff529f481818c962952004d273178acd70f7059b320 - languageName: node - linkType: hard - -"rechoir@npm:^0.8.0": - version: 0.8.0 - resolution: "rechoir@npm:0.8.0" - dependencies: - resolve: ^1.20.0 - checksum: ad3caed8afdefbc33fbc30e6d22b86c35b3d51c2005546f4e79bcc03c074df804b3640ad18945e6bef9ed12caedc035655ec1082f64a5e94c849ff939dc0a788 - languageName: node - linkType: hard - -"redent@npm:^3.0.0": - version: 3.0.0 - resolution: "redent@npm:3.0.0" - dependencies: - indent-string: ^4.0.0 - strip-indent: ^3.0.0 - checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b - languageName: node - linkType: hard - -"redux-logger@npm:^3.0.6": - version: 3.0.6 - resolution: "redux-logger@npm:3.0.6" - dependencies: - deep-diff: ^0.3.5 - checksum: c40f63c44c6475cf6374ae0eaa810d913f142614cb80692a0beacaf135c5dc3eb3e2cdd4296f01446ba48cb69b82e81363b84d829f1f6659382c991022a814ac - languageName: node - linkType: hard - -"redux-mock-store@npm:^1.5.4": - version: 1.5.4 - resolution: "redux-mock-store@npm:1.5.4" - dependencies: - lodash.isplainobject: ^4.0.6 - checksum: 571eab2cca3e46321969025af865ddd780804c811be9db277fddf772d86e3ea67b4ef1b19ea3866417d41eb1b73605103020321f68cf68f379a52679a6823d12 - languageName: node - linkType: hard - -"redux-persist@npm:^6.0.0": - version: 6.0.0 - resolution: "redux-persist@npm:6.0.0" - peerDependencies: - redux: ">4.0.0" - checksum: edaf10dbf17351ce8058d0802357adae8665b3a1ff39371834e37838ddbe1a79cccbc717b8ba54acb5307651ccf51d0f7dc1cbc8dbae0726ff952d11ef61c6b8 - languageName: node - linkType: hard - -"redux-thunk@npm:^2.4.2": - version: 2.4.2 - resolution: "redux-thunk@npm:2.4.2" - peerDependencies: - redux: ^4 - checksum: c7f757f6c383b8ec26152c113e20087818d18ed3edf438aaad43539e9a6b77b427ade755c9595c4a163b6ad3063adf3497e5fe6a36c68884eb1f1cfb6f049a5c - languageName: node - linkType: hard - -"redux@npm:^4.0.0, redux@npm:^4.0.5, redux@npm:^4.2.1": - version: 4.2.1 - resolution: "redux@npm:4.2.1" - dependencies: - "@babel/runtime": ^7.9.2 - checksum: f63b9060c3a1d930ae775252bb6e579b42415aee7a23c4114e21a0b4ba7ec12f0ec76936c00f546893f06e139819f0e2855e0d55ebfce34ca9c026241a6950dd - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.13.7": - version: 0.13.11 - resolution: "regenerator-runtime@npm:0.13.11" - checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 - languageName: node - linkType: hard - -"regenerator-runtime@npm:^0.14.0": - version: 0.14.0 - resolution: "regenerator-runtime@npm:0.14.0" - checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.0": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - functions-have-names: ^1.2.3 - checksum: c541687cdbdfff1b9a07f6e44879f82c66bbf07665f9a7544c5fd16acdb3ec8d1436caab01662d2fbcad403f3499d49ab0b77fbc7ef29ef961d98cc4bc9755b4 - languageName: node - linkType: hard - -"relateurl@npm:^0.2.7": - version: 0.2.7 - resolution: "relateurl@npm:0.2.7" - checksum: 5891e792eae1dfc3da91c6fda76d6c3de0333a60aa5ad848982ebb6dccaa06e86385fb1235a1582c680a3d445d31be01c6bfc0804ebbcab5aaf53fa856fde6b6 - languageName: node - linkType: hard - -"renderkid@npm:^3.0.0": - version: 3.0.0 - resolution: "renderkid@npm:3.0.0" - dependencies: - css-select: ^4.1.3 - dom-converter: ^0.2.0 - htmlparser2: ^6.1.0 - lodash: ^4.17.21 - strip-ansi: ^6.0.1 - checksum: 77162b62d6f33ab81f337c39efce0439ff0d1f6d441e29c35183151f83041c7850774fb904da163d6c844264d440d10557714e6daa0b19e4561a5cd4ef305d41 - languageName: node - linkType: hard - -"repeat-string@npm:^1.5.4": - version: 1.6.1 - resolution: "repeat-string@npm:1.6.1" - checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 - languageName: node - linkType: hard - -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b - languageName: node - linkType: hard - -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: eee0e303adffb69be55d1a214e415cf42b7441ae858c76dfc5353148644f6fd6e698926fc4643f510d5c126d12a705e7c8ed7e38061113bdf37547ab356797ff - languageName: node - linkType: hard - -"reselect@npm:^4.1.8": - version: 4.1.8 - resolution: "reselect@npm:4.1.8" - checksum: a4ac87cedab198769a29be92bc221c32da76cfdad6911eda67b4d3e7136dca86208c3b210e31632eae31ebd2cded18596f0dd230d3ccc9e978df22f233b5583e - languageName: node - linkType: hard - -"resize-observer-polyfill@npm:^1.5.1": - version: 1.5.1 - resolution: "resize-observer-polyfill@npm:1.5.1" - checksum: 57e7f79489867b00ba43c9c051524a5c8f162a61d5547e99333549afc23e15c44fd43f2f318ea0261ea98c0eb3158cca261e6f48d66e1ed1cd1f340a43977094 - languageName: node - linkType: hard - -"resolve-alpn@npm:^1.0.0": - version: 1.2.1 - resolution: "resolve-alpn@npm:1.2.1" - checksum: f558071fcb2c60b04054c99aebd572a2af97ef64128d59bef7ab73bd50d896a222a056de40ffc545b633d99b304c259ea9d0c06830d5c867c34f0bfa60b8eae0 - languageName: node - linkType: hard - -"resolve-cwd@npm:^3.0.0": - version: 3.0.0 - resolution: "resolve-cwd@npm:3.0.0" - dependencies: - resolve-from: ^5.0.0 - checksum: 546e0816012d65778e580ad62b29e975a642989108d9a3c5beabfb2304192fa3c9f9146fbdfe213563c6ff51975ae41bac1d3c6e047dd9572c94863a057b4d81 - languageName: node - linkType: hard - -"resolve-dir@npm:^1.0.0": - version: 1.0.1 - resolution: "resolve-dir@npm:1.0.1" - dependencies: - expand-tilde: ^2.0.0 - global-modules: ^1.0.0 - checksum: ef736b8ed60d6645c3b573da17d329bfb50ec4e1d6c5ffd6df49e3497acef9226f9810ea6823b8ece1560e01dcb13f77a9f6180d4f242d00cc9a8f4de909c65c - languageName: node - linkType: hard - -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f - languageName: node - linkType: hard - -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf - languageName: node - linkType: hard - -"resolve-package@npm:^1.0.1": - version: 1.0.1 - resolution: "resolve-package@npm:1.0.1" - dependencies: - get-installed-path: ^2.0.3 - checksum: ce89b69e58171ccbf5ea05afdcf42ae7ebd98e210472a2bee194750796d480d98703a773abb4dab1a685346ef91210c2aa6dbc5cfda1bdcd71b1b8cc43ef0627 - languageName: node - linkType: hard - -"resolve.exports@npm:^2.0.0": - version: 2.0.2 - resolution: "resolve.exports@npm:2.0.2" - checksum: 1c7778ca1b86a94f8ab4055d196c7d87d1874b96df4d7c3e67bbf793140f0717fd506dcafd62785b079cd6086b9264424ad634fb904409764c3509c3df1653f2 - languageName: node - linkType: hard - -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4": - version: 1.22.4 - resolution: "resolve@npm:1.22.4" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 23f25174c2736ce24c6d918910e0d1f89b6b38fefa07a995dff864acd7863d59a7f049e691f93b4b2ee29696303390d921552b6d1b841ed4a8101f517e1d0124 - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin": - version: 1.22.4 - resolution: "resolve@patch:resolve@npm%3A1.22.4#~builtin::version=1.22.4&hash=c3c19d" - dependencies: - is-core-module: ^2.13.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: c45f2545fdc4d21883861b032789e20aa67a2f2692f68da320cc84d5724cd02f2923766c5354b3210897e88f1a7b3d6d2c7c22faeead8eed7078e4c783a444bc - languageName: node - linkType: hard - -"responselike@npm:^2.0.0": - version: 2.0.1 - resolution: "responselike@npm:2.0.1" - dependencies: - lowercase-keys: ^2.0.0 - checksum: b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a - languageName: node - linkType: hard - -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: ^5.1.0 - signal-exit: ^3.0.2 - checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c - languageName: node - linkType: hard - -"retry@npm:^0.13.1": - version: 0.13.1 - resolution: "retry@npm:0.13.1" - checksum: 47c4d5be674f7c13eee4cfe927345023972197dbbdfba5d3af7e461d13b44de1bfd663bfc80d2f601f8ef3fc8164c16dd99655a221921954a65d044a2fc1233b - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc - languageName: node - linkType: hard - -"rfdc@npm:^1.3.0": - version: 1.3.0 - resolution: "rfdc@npm:1.3.0" - checksum: fb2ba8512e43519983b4c61bd3fa77c0f410eff6bae68b08614437bc3f35f91362215f7b4a73cbda6f67330b5746ce07db5dd9850ad3edc91271ad6deea0df32 - languageName: node - linkType: hard - -"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: ^7.1.3 - bin: - rimraf: bin.js - checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 - languageName: node - linkType: hard - -"rimraf@npm:~2.6.2": - version: 2.6.3 - resolution: "rimraf@npm:2.6.3" - dependencies: - glob: ^7.1.3 - bin: - rimraf: ./bin.js - checksum: 3ea587b981a19016297edb96d1ffe48af7e6af69660e3b371dbfc73722a73a0b0e9be5c88089fbeeb866c389c1098e07f64929c7414290504b855f54f901ab10 - languageName: node - linkType: hard - -"roarr@npm:^2.15.3": - version: 2.15.4 - resolution: "roarr@npm:2.15.4" - dependencies: - boolean: ^3.0.1 - detect-node: ^2.0.4 - globalthis: ^1.0.1 - json-stringify-safe: ^5.0.1 - semver-compare: ^1.0.0 - sprintf-js: ^1.1.2 - checksum: 682e28d5491e3ae99728a35ba188f4f0ccb6347dbd492f95dc9f4bfdfe8ee63d8203ad234766ee2db88c8d7a300714304976eb095ce5c9366fe586c03a21586c - languageName: node - linkType: hard - -"rtl-css-js@npm:^1.14.0": - version: 1.16.1 - resolution: "rtl-css-js@npm:1.16.1" - dependencies: - "@babel/runtime": ^7.1.2 - checksum: 7d9ab942098eee565784ccf957f6b7dfa78ea1eec7c6bffedc6641575d274189e90752537c7bdba1f43ae6534648144f467fd6d581527455ba626a4300e62c7a - languageName: node - linkType: hard - -"run-async@npm:^2.4.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: ^1.2.2 - checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d - languageName: node - linkType: hard - -"rxjs@npm:^7.5.5, rxjs@npm:^7.8.0": - version: 7.8.1 - resolution: "rxjs@npm:7.8.1" - dependencies: - tslib: ^2.1.0 - checksum: de4b53db1063e618ec2eca0f7965d9137cabe98cf6be9272efe6c86b47c17b987383df8574861bcced18ebd590764125a901d5506082be84a8b8e364bf05f119 - languageName: node - linkType: hard - -"safe-array-concat@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-array-concat@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 - has-symbols: ^1.0.3 - isarray: ^2.0.5 - checksum: f43cb98fe3b566327d0c09284de2b15fb85ae964a89495c1b1a5d50c7c8ed484190f4e5e71aacc167e16231940079b326f2c0807aea633d47cc7322f40a6b57f - languageName: node - linkType: hard - -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c - languageName: node - linkType: hard - -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 - languageName: node - linkType: hard - -"safe-regex-test@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 - is-regex: ^1.1.4 - checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 - languageName: node - linkType: hard - -"saxes@npm:^6.0.0": - version: 6.0.0 - resolution: "saxes@npm:6.0.0" - dependencies: - xmlchars: ^2.2.0 - checksum: d3fa3e2aaf6c65ed52ee993aff1891fc47d5e47d515164b5449cbf5da2cbdc396137e55590472e64c5c436c14ae64a8a03c29b9e7389fc6f14035cf4e982ef3b - languageName: node - linkType: hard - -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" - dependencies: - loose-envify: ^1.1.0 - checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a - languageName: node - linkType: hard - -"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": - version: 3.3.0 - resolution: "schema-utils@npm:3.3.0" - dependencies: - "@types/json-schema": ^7.0.8 - ajv: ^6.12.5 - ajv-keywords: ^3.5.2 - checksum: ea56971926fac2487f0757da939a871388891bc87c6a82220d125d587b388f1704788f3706e7f63a7b70e49fc2db974c41343528caea60444afd5ce0fe4b85c0 - languageName: node - linkType: hard - -"schema-utils@npm:^4.0.0": - version: 4.2.0 - resolution: "schema-utils@npm:4.2.0" - dependencies: - "@types/json-schema": ^7.0.9 - ajv: ^8.9.0 - ajv-formats: ^2.1.1 - ajv-keywords: ^5.1.0 - checksum: 26a0463d47683258106e6652e9aeb0823bf0b85843039e068b57da1892f7ae6b6b1094d48e9ed5ba5cbe9f7166469d880858b9d91abe8bd249421eb813850cde - languageName: node - linkType: hard - -"screenfull@npm:^5.1.0": - version: 5.2.0 - resolution: "screenfull@npm:5.2.0" - checksum: 21eae33b780eb4679ea0ea2d14734b11168cf35049c45a2bf24ddeb39c67a788e7a8fb46d8b61ca6d8367fd67ce9dd4fc8bfe476489249c7189c2a79cf83f51a - languageName: node - linkType: hard - -"select-hose@npm:^2.0.0": - version: 2.0.0 - resolution: "select-hose@npm:2.0.0" - checksum: d7e5fcc695a4804209d232a1b18624a5134be334d4e1114b0721f7a5e72bd73da483dcf41528c1af4f4f4892ad7cfd6a1e55c8ffb83f9c9fe723b738db609dbb - languageName: node - linkType: hard - -"selfsigned@npm:^2.1.1": - version: 2.1.1 - resolution: "selfsigned@npm:2.1.1" - dependencies: - node-forge: ^1 - checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a - languageName: node - linkType: hard - -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: dd1d7e2909744cf2cf71864ac718efc990297f9de2913b68e41a214319e70174b1d1793ac16e31183b128c2b9812541300cb324db8168e6cf6b570703b171c68 - languageName: node - linkType: hard - -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: fb4ab5e0dd1c22ce0c937ea390b4a822147a9c53dbd2a9a0132f12fe382902beef4fbf12cf51bb955248d8d15874ce8cd89532569756384f994309825f10b686 - languageName: node - linkType: hard - -"semver@npm:^6.2.0, semver@npm:^6.3.0, semver@npm:^6.3.1": - version: 6.3.1 - resolution: "semver@npm:6.3.1" - bin: - semver: bin/semver.js - checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 - languageName: node - linkType: hard - -"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 - languageName: node - linkType: hard - -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - etag: ~1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: ~1.2.1 - statuses: 2.0.1 - checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 - languageName: node - linkType: hard - -"serialize-error@npm:^7.0.1": - version: 7.0.1 - resolution: "serialize-error@npm:7.0.1" - dependencies: - type-fest: ^0.13.1 - checksum: e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e - languageName: node - linkType: hard - -"serialize-javascript@npm:^6.0.1": - version: 6.0.1 - resolution: "serialize-javascript@npm:6.0.1" - dependencies: - randombytes: ^2.1.0 - checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f - languageName: node - linkType: hard - -"serve-index@npm:^1.9.1": - version: 1.9.1 - resolution: "serve-index@npm:1.9.1" - dependencies: - accepts: ~1.3.4 - batch: 0.6.1 - debug: 2.6.9 - escape-html: ~1.0.3 - http-errors: ~1.6.2 - mime-types: ~2.1.17 - parseurl: ~1.3.2 - checksum: e2647ce13379485b98a53ba2ea3fbad4d44b57540d00663b02b976e426e6194d62ac465c0d862cb7057f65e0de8ab8a684aa095427a4b8612412eca0d300d22f - languageName: node - linkType: hard - -"serve-static@npm:1.15.0": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" - dependencies: - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - parseurl: ~1.3.3 - send: 0.18.0 - checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 - languageName: node - linkType: hard - -"set-harmonic-interval@npm:^1.0.1": - version: 1.0.1 - resolution: "set-harmonic-interval@npm:1.0.1" - checksum: c122b831c2e0b1fb812e5e9d065094b9d174bd0576f9a779ab7a7d8881c8f6dd7d5fcab9a2553da15eea670eb598f9dd4d5162b626d45cc9c529706aa1444a84 - languageName: node - linkType: hard - -"setimmediate@npm:^1.0.5": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd - languageName: node - linkType: hard - -"setprototypeof@npm:1.1.0": - version: 1.1.0 - resolution: "setprototypeof@npm:1.1.0" - checksum: 27cb44304d6c9e1a23bc6c706af4acaae1a7aa1054d4ec13c05f01a99fd4887109a83a8042b67ad90dbfcd100d43efc171ee036eb080667172079213242ca36e - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 - languageName: node - linkType: hard - -"sha.js@npm:^2.4.9": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" - dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - bin: - sha.js: ./bin.js - checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 - languageName: node - linkType: hard - -"sha1@npm:^1.1.1": - version: 1.1.1 - resolution: "sha1@npm:1.1.1" - dependencies: - charenc: ">= 0.0.1" - crypt: ">= 0.0.1" - checksum: da9f47e949988e2f595ef19733fd1dc736866ef6de4e421a55c13b444c03ae532e528b7350ae6ea55d9fb053be61d4648ec2cd5250d46cfdbdf4f6b4e763713d - languageName: node - linkType: hard - -"shallow-clone@npm:^3.0.0": - version: 3.0.1 - resolution: "shallow-clone@npm:3.0.1" - dependencies: - kind-of: ^6.0.2 - checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 - languageName: node - linkType: hard - -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: ^1.0.0 - checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: ^3.0.0 - checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa - languageName: node - linkType: hard - -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 - languageName: node - linkType: hard - -"shell-quote@npm:^1.7.3": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b - languageName: node - linkType: hard - -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" - dependencies: - call-bind: ^1.0.0 - get-intrinsic: ^1.0.2 - object-inspect: ^1.9.0 - checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 - languageName: node - linkType: hard - -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a - languageName: node - linkType: hard - -"simple-get@npm:^4.0.1": - version: 4.0.1 - resolution: "simple-get@npm:4.0.1" - dependencies: - decompress-response: ^6.0.0 - once: ^1.3.1 - simple-concat: ^1.0.0 - checksum: e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e - languageName: node - linkType: hard - -"sisteransi@npm:^1.0.5": - version: 1.0.5 - resolution: "sisteransi@npm:1.0.5" - checksum: aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4 - languageName: node - linkType: hard - -"slash@npm:^2.0.0": - version: 2.0.0 - resolution: "slash@npm:2.0.0" - checksum: 512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c - languageName: node - linkType: hard - -"slice-ansi@npm:^3.0.0": - version: 3.0.0 - resolution: "slice-ansi@npm:3.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 5ec6d022d12e016347e9e3e98a7eb2a592213a43a65f1b61b74d2c78288da0aded781f665807a9f3876b9daa9ad94f64f77d7633a0458876c3a4fdc4eb223f24 - languageName: node - linkType: hard - -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b - languageName: node - linkType: hard - -"sockjs@npm:^0.3.24": - version: 0.3.24 - resolution: "sockjs@npm:0.3.24" - dependencies: - faye-websocket: ^0.11.3 - uuid: ^8.3.2 - websocket-driver: ^0.7.4 - checksum: 355309b48d2c4e9755349daa29cea1c0d9ee23e49b983841c6bf7a20276b00d3c02343f9f33f26d2ee8b261a5a02961b52a25c8da88b2538c5b68d3071b4934c - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "socks-proxy-agent@npm:7.0.0" - dependencies: - agent-base: ^6.0.2 - debug: ^4.3.3 - socks: ^2.6.2 - checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 - languageName: node - linkType: hard - -"socks@npm:^2.6.2": - version: 2.7.1 - resolution: "socks@npm:2.7.1" - dependencies: - ip: ^2.0.0 - smart-buffer: ^4.2.0 - checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c - languageName: node - linkType: hard - -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: ^1.0.0 - source-map: ^0.6.0 - checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 - languageName: node - linkType: hard - -"source-map-support@npm:^0.5.13, source-map-support@npm:^0.5.19, source-map-support@npm:~0.5.20": - version: 0.5.21 - resolution: "source-map-support@npm:0.5.21" - dependencies: - buffer-from: ^1.0.0 - source-map: ^0.6.0 - checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 - languageName: node - linkType: hard - -"source-map@npm:0.5.6": - version: 0.5.6 - resolution: "source-map@npm:0.5.6" - checksum: 390b3f5165c9631a74fb6fb55ba61e62a7f9b7d4026ae0e2bfc2899c241d71c1bccb8731c496dc7f7cb79a5f523406eb03d8c5bebe8448ee3fc38168e2d209c8 - languageName: node - linkType: hard - -"source-map@npm:^0.5.7": - version: 0.5.7 - resolution: "source-map@npm:0.5.7" - checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d - languageName: node - linkType: hard - -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 - languageName: node - linkType: hard - -"sourcemap-codec@npm:^1.4.8": - version: 1.4.8 - resolution: "sourcemap-codec@npm:1.4.8" - checksum: b57981c05611afef31605732b598ccf65124a9fcb03b833532659ac4d29ac0f7bfacbc0d6c5a28a03e84c7510e7e556d758d0bb57786e214660016fb94279316 - languageName: node - linkType: hard - -"spdx-correct@npm:^3.0.0": - version: 3.2.0 - resolution: "spdx-correct@npm:3.2.0" - dependencies: - spdx-expression-parse: ^3.0.0 - spdx-license-ids: ^3.0.0 - checksum: e9ae98d22f69c88e7aff5b8778dc01c361ef635580e82d29e5c60a6533cc8f4d820803e67d7432581af0cc4fb49973125076ee3b90df191d153e223c004193b2 - languageName: node - linkType: hard - -"spdx-exceptions@npm:^2.1.0": - version: 2.3.0 - resolution: "spdx-exceptions@npm:2.3.0" - checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 - languageName: node - linkType: hard - -"spdx-expression-parse@npm:^3.0.0, spdx-expression-parse@npm:^3.0.1": - version: 3.0.1 - resolution: "spdx-expression-parse@npm:3.0.1" - dependencies: - spdx-exceptions: ^2.1.0 - spdx-license-ids: ^3.0.0 - checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde - languageName: node - linkType: hard - -"spdx-license-ids@npm:^3.0.0": - version: 3.0.13 - resolution: "spdx-license-ids@npm:3.0.13" - checksum: 3469d85c65f3245a279fa11afc250c3dca96e9e847f2f79d57f466940c5bb8495da08a542646086d499b7f24a74b8d0b42f3fc0f95d50ff99af1f599f6360ad7 - languageName: node - linkType: hard - -"spdy-transport@npm:^3.0.0": - version: 3.0.0 - resolution: "spdy-transport@npm:3.0.0" - dependencies: - debug: ^4.1.0 - detect-node: ^2.0.4 - hpack.js: ^2.1.6 - obuf: ^1.1.2 - readable-stream: ^3.0.6 - wbuf: ^1.7.3 - checksum: 0fcaad3b836fb1ec0bdd39fa7008b9a7a84a553f12be6b736a2512613b323207ffc924b9551cef0378f7233c85916cff1118652e03a730bdb97c0e042243d56c - languageName: node - linkType: hard - -"spdy@npm:^4.0.2": - version: 4.0.2 - resolution: "spdy@npm:4.0.2" - dependencies: - debug: ^4.1.0 - handle-thing: ^2.0.0 - http-deceiver: ^1.2.7 - select-hose: ^2.0.0 - spdy-transport: ^3.0.0 - checksum: 2c739d0ff6f56ad36d2d754d0261d5ec358457bea7cbf77b1b05b0c6464f2ce65b85f196305f50b7bd9120723eb94bae9933466f28e67e5cd8cde4e27f1d75f8 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.2": - version: 1.1.2 - resolution: "sprintf-js@npm:1.1.2" - checksum: d4bb46464632b335e5faed381bd331157e0af64915a98ede833452663bc672823db49d7531c32d58798e85236581fb7342fd0270531ffc8f914e186187bf1c90 - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 - languageName: node - linkType: hard - -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" - dependencies: - minipass: ^7.0.3 - checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 - languageName: node - linkType: hard - -"stack-generator@npm:^2.0.5": - version: 2.0.10 - resolution: "stack-generator@npm:2.0.10" - dependencies: - stackframe: ^1.3.4 - checksum: 4fc3978a934424218a0aa9f398034e1f78153d5ff4f4ff9c62478c672debb47dd58de05b09fc3900530cbb526d72c93a6e6c9353bacc698e3b1c00ca3dda0c47 - languageName: node - linkType: hard - -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: ^2.0.0 - checksum: 052bf4d25bbf5f78e06c1d5e67de2e088b06871fa04107ca8d3f0e9d9263326e2942c8bedee3545795fc77d787d443a538345eef74db2f8e35db3558c6f91ff7 - languageName: node - linkType: hard - -"stackframe@npm:^1.3.4": - version: 1.3.4 - resolution: "stackframe@npm:1.3.4" - checksum: bae1596873595c4610993fa84f86a3387d67586401c1816ea048c0196800c0646c4d2da98c2ee80557fd9eff05877efe33b91ba6cd052658ed96ddc85d19067d - languageName: node - linkType: hard - -"stacktrace-gps@npm:^3.0.4": - version: 3.1.2 - resolution: "stacktrace-gps@npm:3.1.2" - dependencies: - source-map: 0.5.6 - stackframe: ^1.3.4 - checksum: 85daa232d138239b6ae0f4bcdd87d15d302a045d93625db17614030945b5314e204b5fbcf9bee5b6f4f9e6af5fca05f65c27fe910894b861ef6853b99470aa1c - languageName: node - linkType: hard - -"stacktrace-js@npm:^2.0.2": - version: 2.0.2 - resolution: "stacktrace-js@npm:2.0.2" - dependencies: - error-stack-parser: ^2.0.6 - stack-generator: ^2.0.5 - stacktrace-gps: ^3.0.4 - checksum: 081e786d56188ac04ac6604c09cd863b3ca2b4300ec061366cf68c3e4ad9edaa34fb40deea03cc23a05f442aa341e9171f47313f19bd588f9bec6c505a396286 - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb - languageName: node - linkType: hard - -"statuses@npm:>= 1.4.0 < 2": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c - languageName: node - linkType: hard - -"stop-iteration-iterator@npm:^1.0.0": - version: 1.0.0 - resolution: "stop-iteration-iterator@npm:1.0.0" - dependencies: - internal-slot: ^1.0.4 - checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 - languageName: node - linkType: hard - -"stream-buffers@npm:~2.2.0": - version: 2.2.0 - resolution: "stream-buffers@npm:2.2.0" - checksum: 4587d9e8f050d689fb38b4295e73408401b16de8edecc12026c6f4ae92956705ecfd995ae3845d7fa3ebf19502d5754df9143d91447fd881d86e518f43882c1c - languageName: node - linkType: hard - -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: ^1.0.2 - strip-ansi: ^6.0.0 - checksum: ce85533ef5113fcb7e522bcf9e62cb33871aa99b3729cec5595f4447f660b0cefd542ca6df4150c97a677d58b0cb727a3fe09ac1de94071d05526c73579bf505 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: ^8.0.0 - is-fullwidth-code-point: ^3.0.0 - strip-ansi: ^6.0.1 - checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: ^0.2.0 - emoji-regex: ^9.2.2 - strip-ansi: ^7.0.1 - checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.7": - version: 1.2.7 - resolution: "string.prototype.trim@npm:1.2.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 05b7b2d6af63648e70e44c4a8d10d8cc457536df78b55b9d6230918bde75c5987f6b8604438c4c8652eb55e4fc9725d2912789eb4ec457d6995f3495af190c09 - languageName: node - linkType: hard - -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e - languageName: node - linkType: hard - -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: ~5.2.0 - checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: ~5.1.0 - checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: ^5.0.1 - checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: ^6.0.1 - checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d - languageName: node - linkType: hard - -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b - languageName: node - linkType: hard - -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 9dbcfbaf503c57c06af15fe2c8176fb1bf3af5ff65003851a102749f875a6dbe0ab3b30115eccf6e805e9d756830d3e40ec508b62b3f1ddf3761a20ebe29d3f3 - languageName: node - linkType: hard - -"strip-eof@npm:^1.0.0": - version: 1.0.0 - resolution: "strip-eof@npm:1.0.0" - checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 - languageName: node - linkType: hard - -"strip-indent@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-indent@npm:3.0.0" - dependencies: - min-indent: ^1.0.0 - checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 - languageName: node - linkType: hard - -"strip-outer@npm:^1.0.1": - version: 1.0.1 - resolution: "strip-outer@npm:1.0.1" - dependencies: - escape-string-regexp: ^1.0.2 - checksum: f8d65d33ca2b49aabc66bb41d689dda7b8b9959d320e3a40a2ef4d7079ff2f67ffb72db43f179f48dbf9495c2e33742863feab7a584d180fa62505439162c191 - languageName: node - linkType: hard - -"style-loader@npm:^3.3.3": - version: 3.3.3 - resolution: "style-loader@npm:3.3.3" - peerDependencies: - webpack: ^5.0.0 - checksum: f59c953f56f6a935bd6a1dfa409f1128fed2b66b48ce4a7a75b85862a7156e5e90ab163878962762f528ec4d510903d828da645e143fbffd26f055dc1c094078 - languageName: node - linkType: hard - -"stylis@npm:4.2.0": - version: 4.2.0 - resolution: "stylis@npm:4.2.0" - checksum: 0eb6cc1b866dc17a6037d0a82ac7fa877eba6a757443e79e7c4f35bacedbf6421fadcab4363b39667b43355cbaaa570a3cde850f776498e5450f32ed2f9b7584 - languageName: node - linkType: hard - -"stylis@npm:^4.0.6": - version: 4.3.0 - resolution: "stylis@npm:4.3.0" - checksum: 6120de3f03eacf3b5adc8e7919c4cca991089156a6badc5248752a3088106afaaf74996211a6817a7760ebeadca09004048eea31875bd8d4df51386365c50025 - languageName: node - linkType: hard - -"sudo-prompt@npm:^9.1.1": - version: 9.2.1 - resolution: "sudo-prompt@npm:9.2.1" - checksum: 50a29eec2f264f2b78d891452a64112d839a30bffbff4ec065dba4af691a35b23cdb8f9107d413e25c1a9f1925644a19994c00602495cab033d53f585fdfd665 - languageName: node - linkType: hard - -"sumchecker@npm:^3.0.1": - version: 3.0.1 - resolution: "sumchecker@npm:3.0.1" - dependencies: - debug: ^4.1.0 - checksum: 31ba7a62c889236b5b07f75b5c250d481158a1ca061b8f234fca0457bdbe48a20e5011c12c715343dc577e111463dc3d9e721b98015a445a2a88c35e0c9f0f91 - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: ^3.0.0 - checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac - languageName: node - linkType: hard - -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: ^4.0.0 - checksum: 3dda818de06ebbe5b9653e07842d9479f3555ebc77e9a0280caf5a14fb877ffee9ed57007c3b78f5a6324b8dbeec648d9e97a24e2ed9fdb81ddc69ea07100f4a - languageName: node - linkType: hard - -"supports-color@npm:^8.0.0": - version: 8.1.1 - resolution: "supports-color@npm:8.1.1" - dependencies: - has-flag: ^4.0.0 - checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 - languageName: node - linkType: hard - -"supports-hyperlinks@npm:^2.2.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" - dependencies: - has-flag: ^4.0.0 - supports-color: ^7.0.0 - checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 - languageName: node - linkType: hard - -"supports-preserve-symlinks-flag@npm:^1.0.0": - version: 1.0.0 - resolution: "supports-preserve-symlinks-flag@npm:1.0.0" - checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae - languageName: node - linkType: hard - -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d - languageName: node - linkType: hard - -"synectic@workspace:.": - version: 0.0.0-use.local - resolution: "synectic@workspace:." - dependencies: - "@atao60/fse-cli": ^0.1.9 - "@dnd-kit/core": ^6.0.8 - "@dnd-kit/modifiers": ^6.0.1 - "@dnd-kit/sortable": ^7.0.2 - "@electron-forge/cli": ^6.4.2 - "@electron-forge/maker-deb": ^6.4.2 - "@electron-forge/maker-dmg": ^6.4.2 - "@electron-forge/maker-rpm": ^6.4.2 - "@electron-forge/maker-squirrel": ^6.4.1 - "@electron-forge/plugin-webpack": 6.4.1 - "@emotion/react": ^11.11.1 - "@emotion/styled": ^11.11.0 - "@mui/icons-material": ^5.14.8 - "@mui/lab": ^5.0.0-alpha.142 - "@mui/material": ^5.14.6 - "@reduxjs/toolkit": ^1.9.5 - "@testing-library/dom": ^9.3.1 - "@testing-library/jest-dom": ^6.1.3 - "@testing-library/react": ^14.0.0 - "@testing-library/user-event": ^14.4.3 - "@types/dagre": ^0.7.49 - "@types/diff": ^5.0.3 - "@types/fs-extra": ^11.0.1 - "@types/git-config-path": ^2.0.1 - "@types/ini": ^1.3.31 - "@types/jest": ^29.5.4 - "@types/luxon": ^3.3.2 - "@types/node": ^20.5.7 - "@types/pako": ^2.0.0 - "@types/parse-git-config": ^3.0.1 - "@types/parse-path": ^7.0.0 - "@types/react": ^18.2.20 - "@types/react-dom": ^18.2.7 - "@types/react-transition-group": ^4.4.6 - "@types/redux-logger": ^3.0.9 - "@types/redux-mock-store": ^1.0.3 - "@types/semver": ^7.5.0 - "@types/sha1": ^1.1.3 - "@types/valid-url": ^1.0.4 - "@types/validator": ^13.11.1 - "@typescript-eslint/eslint-plugin": ^6.6.0 - "@typescript-eslint/parser": ^6.6.0 - "@vercel/webpack-asset-relocator-loader": 1.7.3 - binarnia: ^3.1.3 - casual: ^1.6.2 - chokidar: ^3.5.3 - clsx: ^2.0.0 - css-loader: ^6.8.1 - dagre: ^0.8.5 - diff: ^5.1.0 - dot-prop: 8.0.2 - electron: 26.1.0 - electron-devtools-installer: ^3.2.0 - electron-squirrel-startup: ^1.0.0 - eslint: ^8.48.0 - eslint-config-prettier: ^9.0.0 - eslint-plugin-import: ^2.28.1 - eslint-plugin-jsdoc: ^46.6.0 - eslint-plugin-react-hooks: ^4.6.0 - eslint-plugin-testing-library: ^6.0.1 - file-loader: ^6.2.0 - find-up: ^6.3.0 - fork-ts-checker-webpack-plugin: ^8.0.0 - genversion: ^3.1.1 - git-config-path: ^2.0.0 - git-remote-protocol: ^0.1.0 - identity-obj-proxy: ^3.0.0 - ignore: ^5.2.4 - ini: ^4.1.1 - isomorphic-git: ^1.24.5 - jest: ^29.6.4 - jest-environment-jsdom: ^29.6.4 - jest-esm-transformer: ^1.0.0 - jest-serializer-path: ^0.1.15 - luxon: ^3.4.3 - node-loader: ^2.0.0 - pako: ^2.1.0 - parse-git-config: ^3.0.0 - parse-path: ^7.0.0 - parse-url: ^8.1.0 - prettier: ^3.0.3 - re-reselect: ^4.0.1 - react: ^18.2.0 - react-ace: ^10.1.0 - react-dom: ^18.2.0 - react-error-boundary: ^4.0.11 - react-redux: ^8.1.2 - react-transition-group: ^4.4.5 - react-use: ^17.4.0 - reactflow: ^11.8.3 - redux: ^4.2.1 - redux-logger: ^3.0.6 - redux-mock-store: ^1.5.4 - redux-persist: ^6.0.0 - reselect: ^4.1.8 - semver: ^7.5.4 - sha1: ^1.1.1 - style-loader: ^3.3.3 - ts-jest: ^29.1.1 - ts-loader: ^9.4.4 - ts-node: ^10.9.1 - typescript: ^5.1.6 - unionfs: ^4.5.1 - use-callback-ref: ^1.3.0 - valid-url: ^1.0.9 - validator: ^13.11.0 - webpack: ^5.88.2 - languageName: unknown - linkType: soft - -"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0, tapable@npm:^2.2.1": - version: 2.2.1 - resolution: "tapable@npm:2.2.1" - checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 + nopt: bin/nopt.js + checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac languageName: node linkType: hard -"tar@npm:^6.0.5, tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.15 - resolution: "tar@npm:6.1.15" - 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 - checksum: f23832fceeba7578bf31907aac744ae21e74a66f4a17a9e94507acf460e48f6db598c7023882db33bab75b80e027c21f276d405e4a0322d58f51c7088d428268 +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50 languageName: node linkType: hard -"temp@npm:^0.9.0": - version: 0.9.4 - resolution: "temp@npm:0.9.4" +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" dependencies: - mkdirp: ^0.5.1 - rimraf: ~2.6.2 - checksum: 8709d4d63278bd309ca0e49e80a268308dea543a949e71acd427b3314cd9417da9a2cc73425dd9c21c6780334dbffd67e05e7be5aaa73e9affe8479afc6f20e3 + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a languageName: node linkType: hard -"terminal-link@npm:^3.0.0": - version: 3.0.0 - resolution: "terminal-link@npm:3.0.0" - dependencies: - ansi-escapes: ^5.0.0 - supports-hyperlinks: ^2.2.0 - checksum: 85a78ae50a2cd3c43df25922e7572f1008c92b1ea98c6c4579bbbe02fa54677a487123c3cae44fecd1a36cac782d0be2cec212a916818abb2b4df6fbb8eed341 +"object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.3.7": - version: 5.3.9 - resolution: "terser-webpack-plugin@npm:5.3.9" - dependencies: - "@jridgewell/trace-mapping": ^0.3.17 - jest-worker: ^27.4.5 - schema-utils: ^3.1.1 - serialize-javascript: ^6.0.1 - terser: ^5.16.8 - peerDependencies: - webpack: ^5.1.0 - peerDependenciesMeta: - "@swc/core": - optional: true - esbuild: - optional: true - uglify-js: - optional: true - checksum: 41705713d6f9cb83287936b21e27c658891c78c4392159f5148b5623f0e8c48559869779619b058382a4c9758e7820ea034695e57dc7c474b4962b79f553bc5f +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a languageName: node linkType: hard -"terser@npm:^5.10.0, terser@npm:^5.16.8": - version: 5.19.2 - resolution: "terser@npm:5.19.2" +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" dependencies: - "@jridgewell/source-map": ^0.3.3 - acorn: ^8.8.2 - commander: ^2.20.0 - source-map-support: ~0.5.20 - bin: - terser: bin/terser - checksum: e059177775b4d4f4cff219ad89293175aefbd1b081252270444dc83e42a2c5f07824eb2a85eae6e22ef6eb7ef04b21af36dd7d1dd7cfb93912310e57d416a205 + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": ^0.1.2 - glob: ^7.1.4 - minimatch: ^3.0.4 - checksum: 3b34a3d77165a2cb82b34014b3aba93b1c4637a5011807557dc2f3da826c59975a5ccad765721c4648b39817e3472789f9b0fa98fc854c5c1c7a1e632aacdc28 +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 3dba12b4fb4a1e3e34524535c7858fc82381bbbd0f247cc32dedc4018592a3950ce66b106d0880b4ec4c2d8d6576f98ca885dc1d7d0f274d1370be20e9523ddf languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c languageName: node linkType: hard -"throttle-debounce@npm:^3.0.1": - version: 3.0.1 - resolution: "throttle-debounce@npm:3.0.1" - checksum: e34ef638e8df3a9154249101b68afcbf2652a139c803415ef8a2f6a8bc577bcd4d79e4bb914ad3cd206523ac78b9fb7e80885bfa049f64fbb1927f99d98b5736 +"pako@npm:^2.1.0": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 71666548644c9a4d056bcaba849ca6fd7242c6cf1af0646d3346f3079a1c7f4a66ffec6f7369ee0dc88f61926c10d6ab05da3e1fca44b83551839e89edd75a3e languageName: node linkType: hard -"through@npm:^2.3.6, through@npm:^2.3.8": - version: 2.3.8 - resolution: "through@npm:2.3.8" - checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff languageName: node linkType: hard -"thunky@npm:^1.0.2": - version: 1.1.0 - resolution: "thunky@npm:1.1.0" - checksum: 993096c472b6b8f30e29dc777a8d17720e4cab448375041f20c0cb802a09a7fb2217f2a3e8cdc11851faa71c957e2db309357367fc9d7af3cb7a4d00f4b66034 +"parse-json@npm:^5.0.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + 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 + checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2 languageName: node linkType: hard -"tiny-each-async@npm:2.0.3": - version: 2.0.3 - resolution: "tiny-each-async@npm:2.0.3" - checksum: 363511e6dd1dd9eadee4809d8a3485783f24579ae464c7b0768bb48047e6eaae3360cfe72b2ba345523d1d4033b5542129771c320bfb756abcf4918824511624 +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 languageName: node linkType: hard -"tmp-promise@npm:^3.0.2": - version: 3.0.3 - resolution: "tmp-promise@npm:3.0.3" - dependencies: - tmp: ^0.2.0 - checksum: f854f5307dcee6455927ec3da9398f139897faf715c5c6dcee6d9471ae85136983ea06662eba2edf2533bdcb0fca66d16648e79e14381e30c7fb20be9c1aa62c +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 languageName: node linkType: hard -"tmp@npm:^0.0.33": - version: 0.0.33 - resolution: "tmp@npm:0.0.33" - dependencies: - os-tmpdir: ~1.0.2 - checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a languageName: node linkType: hard -"tmp@npm:^0.2.0": - version: 0.2.1 - resolution: "tmp@npm:0.2.1" +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" dependencies: - rimraf: ^3.0.0 - checksum: 8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: cd922d9b853c00fe414c5a774817be65b058d54a2d01ebb415840960406c669a0fc632f66df885e24cb022ec812739199ccbdb8d1164c3e513f85bfca5ab2873 +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 languageName: node linkType: hard -"tn1150@npm:^0.1.0": - version: 0.1.0 - resolution: "tn1150@npm:0.1.0" - dependencies: - unorm: ^1.4.1 - checksum: 525b996bd02aacb77db951c6cedc59262fc737749a9a26b6ec2c120426196f92fe796ba161382499401f9ffc2652455a21467e8d8142cb352a5017c3f1292e97 +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d languageName: node linkType: hard -"to-data-view@npm:^1.1.0": - version: 1.1.0 - resolution: "to-data-view@npm:1.1.0" - checksum: 53bf818cf7ed4b481568085cfed5528b268efe1e95d0b90c2a45031de9cf40de91600771c046924348fdedbedb54f655f98e7bf1c51041ba06f0ec3f2fd53dc6 +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 +"postcss@npm:^8.4.27": + version: 8.4.31 + resolution: "postcss@npm:8.4.31" + dependencies: + nanoid: ^3.3.6 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: 1d8611341b073143ad90486fcdfeab49edd243377b1f51834dc4f6d028e82ce5190e4f11bb2633276864503654fb7cab28e67abdc0fbf9d1f88cad4a0ff0beea languageName: node linkType: hard -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: ^7.0.0 - checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed +"prettier@npm:^3.0.3": + version: 3.0.3 + resolution: "prettier@npm:3.0.3" + bin: + prettier: bin/prettier.cjs + checksum: e10b9af02b281f6c617362ebd2571b1d7fc9fb8a3bd17e371754428cda992e5e8d8b7a046e8f7d3e2da1dcd21aa001e2e3c797402ebb6111b5cd19609dd228e0 languageName: node linkType: hard -"toggle-selection@npm:^1.0.6": - version: 1.0.6 - resolution: "toggle-selection@npm:1.0.6" - checksum: a90dc80ed1e7b18db8f4e16e86a5574f87632dc729cfc07d9ea3ced50021ad42bb4e08f22c0913e0b98e3837b0b717e0a51613c65f30418e21eb99da6556a74c +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 languageName: node linkType: hard -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 languageName: node linkType: hard -"tough-cookie@npm:^4.1.2": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" +"prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": + version: 15.8.1 + resolution: "prop-types@npm:15.8.1" dependencies: - psl: ^1.1.33 - punycode: ^2.1.1 - universalify: ^0.2.0 - url-parse: ^1.5.3 - checksum: c9226afff36492a52118432611af083d1d8493a53ff41ec4ea48e5b583aec744b989e4280bcf476c910ec1525a89a4a0f1cae81c08b18fb2ec3a9b3a72b91dcc + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.13.1 + checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459 languageName: node linkType: hard -"tr46@npm:^3.0.0": +"pump@npm:^3.0.0": version: 3.0.0 - resolution: "tr46@npm:3.0.0" + resolution: "pump@npm:3.0.0" dependencies: - punycode: ^2.1.1 - checksum: 44c3cc6767fb800490e6e9fd64fd49041aa4e49e1f6a012b34a75de739cc9ed3a6405296072c1df8b6389ae139c5e7c6496f659cfe13a04a4bff3a1422981270 + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed languageName: node linkType: hard -"trim-repeated@npm:^1.0.0": - version: 1.0.0 - resolution: "trim-repeated@npm:1.0.0" - dependencies: - escape-string-regexp: ^1.0.2 - checksum: e25c235305b82c43f1d64a67a71226c406b00281755e4c2c4f3b1d0b09c687a535dd3c4483327f949f28bb89dc400a0bc5e5b749054f4b99f49ebfe48ba36496 +"re-reselect@npm:^4.0.1": + version: 4.0.1 + resolution: "re-reselect@npm:4.0.1" + peerDependencies: + reselect: ">1.0.0" + checksum: 6acb302c5a3d7aa44d32b329babaeed73a5d78eb832e2020d4f5f9515d38d3bebae5d0cfe853e5ceb2682abd8cdfe41b51ab76a997c18fcc8f1cfa4ab81ff58e languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "ts-api-utils@npm:1.0.1" +"react-dom@npm:^18.2.0": + version: 18.2.0 + resolution: "react-dom@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + scheduler: ^0.23.0 peerDependencies: - typescript: ">=4.2.0" - checksum: 78794fc7270d295b36c1ac613465b5dc7e7226907a533125b30f177efef9dd630d4e503b00be31b44335eb2ebf9e136ebe97353f8fc5d383885d5fead9d54c09 + react: ^18.2.0 + checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc languageName: node linkType: hard -"ts-easing@npm:^0.2.0": - version: 0.2.0 - resolution: "ts-easing@npm:0.2.0" - checksum: e67ee862acca3b2e2718e736f31999adcef862d0df76d76a0e138588728d8a87dfec9978556044640bd0e90203590ad88ac2fe8746d0e9959b8d399132315150 +"react-is@npm:^16.13.1, react-is@npm:^16.7.0": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f + languageName: node + linkType: hard + +"react-is@npm:^18.0.0, react-is@npm:^18.2.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e languageName: node linkType: hard -"ts-jest@npm:^29.1.1": - version: 29.1.1 - resolution: "ts-jest@npm:29.1.1" +"react-redux@npm:^8.1.2": + version: 8.1.2 + resolution: "react-redux@npm:8.1.2" dependencies: - bs-logger: 0.x - fast-json-stable-stringify: 2.x - jest-util: ^29.0.0 - json5: ^2.2.3 - lodash.memoize: 4.x - make-error: 1.x - semver: ^7.5.3 - yargs-parser: ^21.0.1 + "@babel/runtime": ^7.12.1 + "@types/hoist-non-react-statics": ^3.3.1 + "@types/use-sync-external-store": ^0.0.3 + hoist-non-react-statics: ^3.3.2 + react-is: ^18.0.0 + use-sync-external-store: ^1.0.0 peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" + "@types/react": ^16.8 || ^17.0 || ^18.0 + "@types/react-dom": ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + react-native: ">=0.59" + redux: ^4 || ^5.0.0-beta.0 peerDependenciesMeta: - "@babel/core": + "@types/react": + optional: true + "@types/react-dom": optional: true - "@jest/types": + react-dom: optional: true - babel-jest: + react-native: optional: true - esbuild: + redux: optional: true - bin: - ts-jest: cli.js - checksum: a8c9e284ed4f819526749f6e4dc6421ec666f20ab44d31b0f02b4ed979975f7580b18aea4813172d43e39b29464a71899f8893dd29b06b4a351a3af8ba47b402 + checksum: 4d5976b0f721e4148475871fcabce2fee875cc7f70f9a292f3370d63b38aa1dd474eb303c073c5555f3e69fc732f3bac05303def60304775deb28361e3f4b7cc languageName: node linkType: hard -"ts-loader@npm:^9.4.4": - version: 9.4.4 - resolution: "ts-loader@npm:9.4.4" - dependencies: - chalk: ^4.1.0 - enhanced-resolve: ^5.0.0 - micromatch: ^4.0.0 - semver: ^7.3.4 - peerDependencies: - typescript: "*" - webpack: ^5.0.0 - checksum: 8e5e6b839b0edfa40d2156c880d88ccab58226894ea5978221bc48c7db3215e2e856bfd0093f148e925a2befc42d6c94cafa9a994a7da274541efaa916012b63 - languageName: node - linkType: hard - -"ts-node@npm:^10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" - 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 - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 +"react-refresh@npm:^0.14.0": + version: 0.14.0 + resolution: "react-refresh@npm:0.14.0" + checksum: dc69fa8c993df512f42dd0f1b604978ae89bd747c0ed5ec595c0cc50d535fb2696619ccd98ae28775cc01d0a7c146a532f0f7fb81dc22e1977c242a4912312f4 languageName: node linkType: hard -"tsconfig-paths@npm:^3.14.2": - version: 3.14.2 - resolution: "tsconfig-paths@npm:3.14.2" +"react-transition-group@npm:^4.4.5": + version: 4.4.5 + resolution: "react-transition-group@npm:4.4.5" dependencies: - "@types/json5": ^0.0.29 - json5: ^1.0.2 - minimist: ^1.2.6 - strip-bom: ^3.0.0 - checksum: a6162eaa1aed680537f93621b82399c7856afd10ec299867b13a0675e981acac4e0ec00896860480efc59fc10fd0b16fdc928c0b885865b52be62cadac692447 + "@babel/runtime": ^7.5.5 + dom-helpers: ^5.0.1 + loose-envify: ^1.4.0 + prop-types: ^15.6.2 + peerDependencies: + react: ">=16.6.0" + react-dom: ">=16.6.0" + checksum: 75602840106aa9c6545149d6d7ae1502fb7b7abadcce70a6954c4b64a438ff1cd16fc77a0a1e5197cdd72da398f39eb929ea06f9005c45b132ed34e056ebdeb1 languageName: node linkType: hard -"tslib@npm:^1.8.1": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd +"react@npm:^18.2.0": + version: 18.2.0 + resolution: "react@npm:18.2.0" + dependencies: + loose-envify: ^1.1.0 + checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0": - version: 2.6.1 - resolution: "tslib@npm:2.6.1" - checksum: b0d176d176487905b66ae4d5856647df50e37beea7571c53b8d10ba9222c074b81f1410fb91da13debaf2cbc970663609068bdebafa844ea9d69b146527c38fe +"readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: bdcbe6c22e846b6af075e32cf8f4751c2576238c5043169a1c221c92ee2878458a816a4ea33f4c67623c0b6827c8a400409bfb3cf0bf3381392d0b1dfb52ac8d languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: ^1.8.1 +"redux-thunk@npm:^2.4.2": + version: 2.4.2 + resolution: "redux-thunk@npm:2.4.2" peerDependencies: - 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" - checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 + redux: ^4 + checksum: c7f757f6c383b8ec26152c113e20087818d18ed3edf438aaad43539e9a6b77b427ade755c9595c4a163b6ad3063adf3497e5fe6a36c68884eb1f1cfb6f049a5c languageName: node linkType: hard -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" +"redux@npm:^4.2.1": + version: 4.2.1 + resolution: "redux@npm:4.2.1" dependencies: - prelude-ls: ^1.2.1 - checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a + "@babel/runtime": ^7.9.2 + checksum: f63b9060c3a1d930ae775252bb6e579b42415aee7a23c4114e21a0b4ba7ec12f0ec76936c00f546893f06e139819f0e2855e0d55ebfce34ca9c026241a6950dd languageName: node linkType: hard -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 +"regenerator-runtime@npm:^0.14.0": + version: 0.14.0 + resolution: "regenerator-runtime@npm:0.14.0" + checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3 languageName: node linkType: hard -"type-fest@npm:^0.13.1": - version: 0.13.1 - resolution: "type-fest@npm:0.13.1" - checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4 +"reselect@npm:^4.1.8": + version: 4.1.8 + resolution: "reselect@npm:4.1.8" + checksum: a4ac87cedab198769a29be92bc221c32da76cfdad6911eda67b4d3e7136dca86208c3b210e31632eae31ebd2cded18596f0dd230d3ccc9e978df22f233b5583e languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: f558071fcb2c60b04054c99aebd572a2af97ef64128d59bef7ab73bd50d896a222a056de40ffc545b633d99b304c259ea9d0c06830d5c867c34f0bfa60b8eae0 languageName: node linkType: hard -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f languageName: node linkType: hard -"type-fest@npm:^1.0.2": - version: 1.4.0 - resolution: "type-fest@npm:1.4.0" - checksum: b011c3388665b097ae6a109a437a04d6f61d81b7357f74cbcb02246f2f5bd72b888ae33631b99871388122ba0a87f4ff1c94078e7119ff22c70e52c0ff828201 +"resolve@npm:^1.19.0": + version: 1.22.6 + resolution: "resolve@npm:1.22.6" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: d13bf66d4e2ee30d291491f16f2fa44edd4e0cefb85d53249dd6f93e70b2b8c20ec62f01b18662e3cd40e50a7528f18c4087a99490048992a3bb954cf3201a5b languageName: node linkType: hard -"type-fest@npm:^3.8.0": - version: 3.13.1 - resolution: "type-fest@npm:3.13.1" - checksum: c06b0901d54391dc46de3802375f5579868949d71f93b425ce564e19a428a0d411ae8d8cb0e300d330071d86152c3ea86e744c3f2860a42a79585b6ec2fdae8e +"resolve@patch:resolve@^1.19.0#~builtin": + version: 1.22.6 + resolution: "resolve@patch:resolve@npm%3A1.22.6#~builtin::version=1.22.6&hash=c3c19d" + dependencies: + is-core-module: ^2.13.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 9d3b3c67aefd12cecbe5f10ca4d1f51ea190891096497c43f301b086883b426466918c3a64f1bbf1788fabb52b579d58809614006c5d0b49186702b3b8fb746a languageName: node linkType: hard -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" dependencies: - media-typer: 0.3.0 - mime-types: ~2.1.24 - checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + lowercase-keys: ^2.0.0 + checksum: b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - is-typed-array: ^1.1.10 - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" dependencies: - call-bind: ^1.0.2 - for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" +"rimraf@npm:^5.0.5": + version: 5.0.5 + resolution: "rimraf@npm:5.0.5" 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 - checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + glob: ^10.3.7 + bin: + rimraf: dist/esm/bin.mjs + checksum: d66eef829b2e23b16445f34e73d75c7b7cf4cbc8834b04720def1c8f298eb0753c3d76df77325fad79d0a2c60470525d95f89c2475283ad985fd7441c32732d1 languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" dependencies: - call-bind: ^1.0.2 - for-each: ^0.3.3 - is-typed-array: ^1.1.9 - checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + boolean: ^3.0.1 + detect-node: ^2.0.4 + globalthis: ^1.0.1 + json-stringify-safe: ^5.0.1 + semver-compare: ^1.0.0 + sprintf-js: ^1.1.2 + checksum: 682e28d5491e3ae99728a35ba188f4f0ccb6347dbd492f95dc9f4bfdfe8ee63d8203ad234766ee2db88c8d7a300714304976eb095ce5c9366fe586c03a21586c languageName: node linkType: hard -"typescript@npm:^5.1.6": - version: 5.1.6 - resolution: "typescript@npm:5.1.6" +"rollup@npm:^3.27.1": + version: 3.29.4 + resolution: "rollup@npm:3.29.4" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: b2f2c35096035fe1f5facd1e38922ccb8558996331405eb00a5111cc948b2e733163cc22fab5db46992aba7dd520fff637f2c1df4996ff0e134e77d3249a7350 + rollup: dist/bin/rollup + checksum: 8bb20a39c8d91130825159c3823eccf4dc2295c9a0a5c4ed851a5bf2167dbf24d9a29f23461a54c955e5506395e6cc188eafc8ab0e20399d7489fb33793b184e languageName: node linkType: hard -"typescript@patch:typescript@^5.1.6#~builtin": - version: 5.1.6 - resolution: "typescript@patch:typescript@npm%3A5.1.6#~builtin::version=5.1.6&hash=5da071" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: f53bfe97f7c8b2b6d23cf572750d4e7d1e0c5fff1c36d859d0ec84556a827b8785077bc27676bf7e71fae538e517c3ecc0f37e7f593be913d884805d931bc8be +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" - dependencies: - call-bind: ^1.0.2 - has-bigints: ^1.0.2 - has-symbols: ^1.0.3 - which-boxed-primitive: ^1.0.2 - checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 languageName: node linkType: hard -"unionfs@npm:^4.5.1": - version: 4.5.1 - resolution: "unionfs@npm:4.5.1" +"scheduler@npm:^0.23.0": + version: 0.23.0 + resolution: "scheduler@npm:0.23.0" dependencies: - fs-monkey: ^1.0.0 - checksum: 6d915b206403c05fe1d01259529f24af82c20858f37b5c7f08068f1419dc579e103f5f243a74a93629382d8f84be7ee231de9b3d71ed96b7ed0bb67d0701e7a0 + loose-envify: ^1.1.0 + checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: ^4.0.0 - checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: dd1d7e2909744cf2cf71864ac718efc990297f9de2913b68e41a214319e70174b1d1793ac16e31183b128c2b9812541300cb324db8168e6cf6b570703b171c68 languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: ^0.1.4 - checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 +"semver@npm:^6.2.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff +"semver@npm:^7.3.2, semver@npm:^7.3.5": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: ^0.13.1 + checksum: e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e languageName: node linkType: hard -"universalify@npm:^2.0.0": +"set-blocking@npm:^2.0.0": version: 2.0.0 - resolution: "universalify@npm:2.0.0" - checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 - languageName: node - linkType: hard - -"unorm@npm:^1.4.1": - version: 1.6.0 - resolution: "unorm@npm:1.6.0" - checksum: 9a86546256a45f855b6cfe719086785d6aada94f63778cecdecece8d814ac26af76cb6da70130da0a08b8803bbf0986e56c7ec4249038198f3de02607fffd811 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 +"sha1@npm:^1.1.1": + version: 1.1.1 + resolution: "sha1@npm:1.1.1" + dependencies: + charenc: ">= 0.0.1" + crypt: ">= 0.0.1" + checksum: da9f47e949988e2f595ef19733fd1dc736866ef6de4e421a55c13b444c03ae532e528b7350ae6ea55d9fb053be61d4648ec2cd5250d46cfdbdf4f6b4e763713d languageName: node linkType: hard -"unzip-crx-3@npm:^0.2.0": - version: 0.2.0 - resolution: "unzip-crx-3@npm:0.2.0" +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" dependencies: - jszip: ^3.1.0 - mkdirp: ^0.5.1 - yaku: ^0.16.6 - checksum: 3988dd19feac161953862835ad7df2c0c155dd9aad6e48c36abc093e810036dd1877d81ad6b7825e788c1d05f4eabf99e2874c9104b95613ead500abb9664b40 + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" - dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 languageName: node linkType: hard -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: ^2.1.0 - checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: ^2.1.1 - requires-port: ^1.0.0 - checksum: fbdba6b1d83336aca2216bbdc38ba658d9cfb8fc7f665eb8b17852de638ff7d1a162c198a8e4ed66001ddbf6c9888d41e4798912c62b4fd777a31657989f7bdf +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 languageName: node linkType: hard -"use-callback-ref@npm:^1.3.0": - version: 1.3.0 - resolution: "use-callback-ref@npm:1.3.0" - dependencies: - tslib: ^2.0.0 - peerDependencies: - "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: 7913df383a5a6fcb399212eedefaac2e0c6f843555202d4e3010bac3848afe38ecaa3d0d6500ad1d936fbeffd637e6c517e68edb024af5e6beca7f27f3ce7b21 +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b languageName: node linkType: hard -"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.0.0": - version: 1.2.0 - resolution: "use-sync-external-store@npm:1.2.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 5c639e0f8da3521d605f59ce5be9e094ca772bd44a4ce7322b055a6f58eeed8dda3c94cabd90c7a41fb6fa852210092008afe48f7038792fd47501f33299116a +"socks-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "socks-proxy-agent@npm:7.0.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 languageName: node linkType: hard -"username@npm:^5.1.0": - version: 5.1.0 - resolution: "username@npm:5.1.0" +"socks@npm:^2.6.2": + version: 2.7.1 + resolution: "socks@npm:2.7.1" dependencies: - execa: ^1.0.0 - mem: ^4.3.0 - checksum: 455c3b2103c164c867c263696fa3bc9a4066a3941d2d5d04bb51d9e092874af075c08311d50c9fc4685d75b3dcad43dd42d3ac1a775340f473042797dce86edb + ip: ^2.0.0 + smart-buffer: ^4.2.0 + checksum: 259d9e3e8e1c9809a7f5c32238c3d4d2a36b39b83851d0f573bfde5f21c4b1288417ce1af06af1452569cd1eb0841169afd4998f0e04ba04656f6b7f0e46d748 languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": +"source-map-js@npm:^1.0.2": version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + resolution: "source-map-js@npm:1.0.2" + checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c languageName: node linkType: hard -"utila@npm:~0.4": - version: 0.4.0 - resolution: "utila@npm:0.4.0" - checksum: 97ffd3bd2bb80c773429d3fb8396469115cd190dded1e733f190d8b602bd0a1bcd6216b7ce3c4395ee3c79e3c879c19d268dbaae3093564cb169ad1212d436f4 +"source-map@npm:^0.5.7": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d languageName: node linkType: hard -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 +"sprintf-js@npm:^1.1.2": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: a3fdac7b49643875b70864a9d9b469d87a40dfeaf5d34d9d0c5b1cda5fd7d065531fcb43c76357d62254c57184a7b151954156563a4d6a747015cfb41021cad0 languageName: node linkType: hard -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: ^7.0.3 + checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb languageName: node linkType: hard -"v8-to-istanbul@npm:^9.0.1": - version: 9.1.0 - resolution: "v8-to-istanbul@npm:9.1.0" +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" dependencies: - "@jridgewell/trace-mapping": ^0.3.12 - "@types/istanbul-lib-coverage": ^2.0.1 - convert-source-map: ^1.6.0 - checksum: 2069d59ee46cf8d83b4adfd8a5c1a90834caffa9f675e4360f1157ffc8578ef0f763c8f32d128334424159bb6b01f3876acd39cd13297b2769405a9da241f8d1 + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 languageName: node linkType: hard -"valid-url@npm:^1.0.9": - version: 1.0.9 - resolution: "valid-url@npm:1.0.9" - checksum: 3ecb030559404441c2cf104cbabab8770efb0f36d117db03d1081052ef133015a68806148ce954bb4dd0b5c42c14b709a88783c93d66b0916cb67ba771c98702 +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": - version: 3.0.4 - resolution: "validate-npm-package-license@npm:3.0.4" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" dependencies: - spdx-correct: ^3.0.0 - spdx-expression-parse: ^3.0.0 - checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c languageName: node linkType: hard -"validator@npm:^13.11.0": - version: 13.11.0 - resolution: "validator@npm:13.11.0" - checksum: d1e0c27022681420756da25bc03eb08d5f0c66fb008f8ff02ebc95812b77c6be6e03d3bd05cf80ca702e23eeb73dadd66b4b3683173ea2a0bc7cc72820bee131 +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: ^6.0.1 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d languageName: node linkType: hard -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b +"stylis@npm:4.2.0": + version: 4.2.0 + resolution: "stylis@npm:4.2.0" + checksum: 0eb6cc1b866dc17a6037d0a82ac7fa877eba6a757443e79e7c4f35bacedbf6421fadcab4363b39667b43355cbaaa570a3cde850f776498e5450f32ed2f9b7584 languageName: node linkType: hard -"w3c-xmlserializer@npm:^4.0.0": - version: 4.0.0 - resolution: "w3c-xmlserializer@npm:4.0.0" +"sumchecker@npm:^3.0.1": + version: 3.0.1 + resolution: "sumchecker@npm:3.0.1" dependencies: - xml-name-validator: ^4.0.0 - checksum: eba070e78deb408ae8defa4d36b429f084b2b47a4741c4a9be3f27a0a3d1845e277e3072b04391a138f7e43776842627d1334e448ff13ff90ad9fb1214ee7091 + debug: ^4.1.0 + checksum: 31ba7a62c889236b5b07f75b5c250d481158a1ca061b8f234fca0457bdbe48a20e5011c12c715343dc577e111463dc3d9e721b98015a445a2a88c35e0c9f0f91 languageName: node linkType: hard -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" dependencies: - makeerror: 1.0.12 - checksum: ad7a257ea1e662e57ef2e018f97b3c02a7240ad5093c392186ce0bcf1f1a60bbadd520d073b9beb921ed99f64f065efb63dfc8eec689a80e569f93c1c5d5e16c + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac languageName: node linkType: hard -"watchpack@npm:^2.4.0": - version: 2.4.0 - resolution: "watchpack@npm:2.4.0" - dependencies: - glob-to-regexp: ^0.4.1 - graceful-fs: ^4.1.2 - checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae languageName: node linkType: hard -"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": - version: 1.7.3 - resolution: "wbuf@npm:1.7.3" +"synectic-conveyor@workspace:.": + version: 0.0.0-use.local + resolution: "synectic-conveyor@workspace:." dependencies: - minimalistic-assert: ^1.0.0 - checksum: 2abc306c96930b757972a1c4650eb6b25b5d99f24088714957f88629e137db569368c5de0e57986c89ea70db2f1df9bba11a87cb6d0c8694b6f53a0159fab3bf - languageName: node - linkType: hard + "@dnd-kit/core": ^6.0.8 + "@dnd-kit/modifiers": ^6.0.1 + "@dnd-kit/sortable": ^7.0.2 + "@electron-toolkit/preload": ^2.0.0 + "@electron-toolkit/tsconfig": ^1.0.1 + "@electron-toolkit/utils": ^2.0.1 + "@emotion/react": ^11.11.1 + "@emotion/styled": ^11.11.0 + "@mui/icons-material": ^5.14.11 + "@mui/material": ^5.14.11 + "@reduxjs/toolkit": ^1.9.6 + "@types/fs-extra": ^11.0.2 + "@types/luxon": ^3.3.2 + "@types/node": ^20.7.2 + "@types/pako": ^2.0.1 + "@types/react": ^18.2.23 + "@types/react-dom": ^18.2.8 + "@types/sha1": ^1.1.3 + "@vitejs/plugin-react": ^4.1.0 + electron: 26.2.4 + electron-vite: ^1.0.28 + fs-extra: ^11.1.1 + ignore: ^5.2.4 + luxon: ^3.4.3 + pako: ^2.1.0 + prettier: ^3.0.3 + re-reselect: ^4.0.1 + react: ^18.2.0 + react-dom: ^18.2.0 + react-redux: ^8.1.2 + reselect: ^4.1.8 + rimraf: ^5.0.5 + sha1: ^1.1.1 + typescript: ^5.2.2 + vite: ^4.4.9 + languageName: unknown + linkType: soft -"wcwidth@npm:^1.0.1": - version: 1.0.1 - resolution: "wcwidth@npm:1.0.1" +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" dependencies: - defaults: ^1.0.3 - checksum: 814e9d1ddcc9798f7377ffa448a5a3892232b9275ebb30a41b529607691c0491de47cba426e917a4d08ded3ee7e9ba2f3fe32e62ee3cd9c7d3bafb7754bd553c + 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 + checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 languageName: node linkType: hard -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: f05588567a2a76428515333eff87200fae6c83c3948a7482ebb109562971e77ef6dc49749afa58abb993391227c5697b3ecca52018793e0cb4620a48f10bd21b +"tslib@npm:^2.0.0": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad languageName: node linkType: hard -"webpack-dev-middleware@npm:^5.3.1": - version: 5.3.3 - resolution: "webpack-dev-middleware@npm:5.3.3" - dependencies: - colorette: ^2.0.10 - memfs: ^3.4.3 - mime-types: ^2.1.31 - range-parser: ^1.2.1 - schema-utils: ^4.0.0 - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - checksum: dd332cc6da61222c43d25e5a2155e23147b777ff32fdf1f1a0a8777020c072fbcef7756360ce2a13939c3f534c06b4992a4d659318c4a7fe2c0530b52a8a6621 - languageName: node - linkType: hard - -"webpack-dev-server@npm:^4.0.0": - version: 4.15.1 - resolution: "webpack-dev-server@npm:4.15.1" - dependencies: - "@types/bonjour": ^3.5.9 - "@types/connect-history-api-fallback": ^1.3.5 - "@types/express": ^4.17.13 - "@types/serve-index": ^1.9.1 - "@types/serve-static": ^1.13.10 - "@types/sockjs": ^0.3.33 - "@types/ws": ^8.5.5 - ansi-html-community: ^0.0.8 - bonjour-service: ^1.0.11 - chokidar: ^3.5.3 - colorette: ^2.0.10 - compression: ^1.7.4 - connect-history-api-fallback: ^2.0.0 - default-gateway: ^6.0.3 - express: ^4.17.3 - graceful-fs: ^4.2.6 - html-entities: ^2.3.2 - http-proxy-middleware: ^2.0.3 - ipaddr.js: ^2.0.1 - launch-editor: ^2.6.0 - open: ^8.0.9 - p-retry: ^4.5.0 - rimraf: ^3.0.2 - schema-utils: ^4.0.0 - selfsigned: ^2.1.1 - serve-index: ^1.9.1 - sockjs: ^0.3.24 - spdy: ^4.0.2 - webpack-dev-middleware: ^5.3.1 - ws: ^8.13.0 - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - bin: - webpack-dev-server: bin/webpack-dev-server.js - checksum: cd0063b068d2b938fd76c412d555374186ac2fa84bbae098265212ed50a5c15d6f03aa12a5a310c544a242943eb58c0bfde4c296d5c36765c182f53799e1bc71 - languageName: node - linkType: hard - -"webpack-merge@npm:^5.7.3": - version: 5.9.0 - resolution: "webpack-merge@npm:5.9.0" - dependencies: - clone-deep: ^4.0.1 - wildcard: ^2.0.0 - checksum: 64fe2c23aacc5f19684452a0e84ec02c46b990423aee6fcc5c18d7d471155bd14e9a6adb02bd3656eb3e0ac2532c8e97d69412ad14c97eeafe32fa6d10050872 - languageName: node - linkType: hard - -"webpack-sources@npm:^3.2.3": - version: 3.2.3 - resolution: "webpack-sources@npm:3.2.3" - checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 - languageName: node - linkType: hard - -"webpack@npm:^5.69.1, webpack@npm:^5.88.2": - version: 5.88.2 - resolution: "webpack@npm:5.88.2" - dependencies: - "@types/eslint-scope": ^3.7.3 - "@types/estree": ^1.0.0 - "@webassemblyjs/ast": ^1.11.5 - "@webassemblyjs/wasm-edit": ^1.11.5 - "@webassemblyjs/wasm-parser": ^1.11.5 - acorn: ^8.7.1 - acorn-import-assertions: ^1.9.0 - browserslist: ^4.14.5 - chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.15.0 - 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.9 - 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: ^3.2.0 - tapable: ^2.1.1 - terser-webpack-plugin: ^5.3.7 - watchpack: ^2.4.0 - webpack-sources: ^3.2.3 - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4 languageName: node linkType: hard -"websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": - version: 0.7.4 - resolution: "websocket-driver@npm:0.7.4" - dependencies: - http-parser-js: ">=0.5.1" - safe-buffer: ">=5.1.0" - websocket-extensions: ">=0.1.1" - checksum: fffe5a33fe8eceafd21d2a065661d09e38b93877eae1de6ab5d7d2734c6ed243973beae10ae48c6613cfd675f200e5a058d1e3531bc9e6c5d4f1396ff1f0bfb9 +"typescript@npm:^5.2.2": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c languageName: node linkType: hard -"websocket-extensions@npm:>=0.1.1": - version: 0.1.4 - resolution: "websocket-extensions@npm:0.1.4" - checksum: 5976835e68a86afcd64c7a9762ed85f2f27d48c488c707e67ba85e717b90fa066b98ab33c744d64255c9622d349eedecf728e65a5f921da71b58d0e9591b9038 +"typescript@patch:typescript@^5.2.2#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=f3b441" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 0f4da2f15e6f1245e49db15801dbee52f2bbfb267e1c39225afdab5afee1a72839cd86000e65ee9d7e4dfaff12239d28beaf5ee431357fcced15fb08583d72ca languageName: node linkType: hard -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" dependencies: - iconv-lite: 0.6.3 - checksum: 7087810c410aa9b689cbd6af8773341a53cdc1f3aae2a882c163bd5522ec8ca4cdfc269aef417a5792f411807d5d77d50df4c24e3abb00bb60192858a40cc675 + unique-slug: ^4.0.0 + checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df languageName: node linkType: hard -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: ce08bbb36b6aaf64f3a84da89707e3e6a31e5ab1c1a2379fd68df79ba712a4ab090904f0b50e6693b0dafc8e6343a6157e40bf18fdffd26e513cf95ee2a59824 +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: ^0.1.4 + checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 languageName: node linkType: hard -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: ^3.0.0 - webidl-conversions: ^7.0.0 - checksum: ed4826aaa57e66bb3488a4b25c9cd476c46ba96052747388b5801f137dd740b73fde91ad207d96baf9f17fbcc80fc1a477ad65181b5eb5fa718d27c69501d7af +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: ~0.0.3 - webidl-conversions: ^3.0.0 - checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" 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 - checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322 languageName: node linkType: hard -"which-collection@npm:^1.0.1": - version: 1.0.1 - resolution: "which-collection@npm:1.0.1" - dependencies: - is-map: ^2.0.1 - is-set: ^2.0.1 - is-weakmap: ^2.0.1 - is-weakset: ^2.0.1 - checksum: c815bbd163107ef9cb84f135e6f34453eaf4cca994e7ba85ddb0d27cea724c623fae2a473ceccfd5549c53cc65a5d82692de418166df3f858e1e5dc60818581c +"use-sync-external-store@npm:^1.0.0": + version: 1.2.0 + resolution: "use-sync-external-store@npm:1.2.0" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 5c639e0f8da3521d605f59ce5be9e094ca772bd44a4ce7322b055a6f58eeed8dda3c94cabd90c7a41fb6fa852210092008afe48f7038792fd47501f33299116a languageName: node linkType: hard -"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.9": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: 711ffc8ef891ca6597b19539075ec3e08bb9b4c2ca1f78887e3c07a977ab91ac1421940505a197758fb5939aa9524976d0a5bbcac34d07ed6faa75cedbb17206 +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 languageName: node linkType: hard -"which@npm:^1.2.14, which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" +"vite@npm:^4.4.9": + version: 4.4.9 + resolution: "vite@npm:4.4.9" dependencies: - isexe: ^2.0.0 + esbuild: ^0.18.10 + fsevents: ~2.3.2 + postcss: ^8.4.27 + rollup: ^3.27.1 + peerDependencies: + "@types/node": ">= 14" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true bin: - which: ./bin/which - checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + vite: bin/vite.js + checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908 languageName: node linkType: hard @@ -13647,21 +3690,7 @@ __metadata: languageName: node linkType: hard -"wildcard@npm:^2.0.0": - version: 2.0.1 - resolution: "wildcard@npm:2.0.1" - checksum: e0c60a12a219e4b12065d1199802d81c27b841ed6ad6d9d28240980c73ceec6f856771d575af367cbec2982d9ae7838759168b551776577f155044f5a5ba843c - languageName: node - linkType: hard - -"word-wrap@npm:^1.2.3": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: f93ba3586fc181f94afdaff3a6fef27920b4b6d9eaefed0f428f8e07adea2a7f54a5f2830ce59406c8416f033f86902b91eb824072354645eea687dff3691ccb - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -13672,17 +3701,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.0.1, wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: ^4.0.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a - languageName: node - linkType: hard - "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -13701,113 +3719,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: ^0.1.4 - signal-exit: ^3.0.7 - checksum: 5da60bd4eeeb935eec97ead3df6e28e5917a6bd317478e4a85a5285e8480b8ed96032bbcc6ecd07b236142a24f3ca871c924ec4a6575e623ec1b11bf8c1c253c - languageName: node - linkType: hard - -"ws@npm:^7.4.6": - version: 7.5.9 - resolution: "ws@npm:7.5.9" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138 - languageName: node - linkType: hard - -"ws@npm:^8.11.0, ws@npm:^8.13.0": - version: 8.13.0 - resolution: "ws@npm:8.13.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c - languageName: node - linkType: hard - -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: af100b79c29804f05fa35aa3683e29a321db9b9685d5e5febda3fa1e40f13f85abc40f45a6b2bf7bee33f68a1dc5e8eaef4cec100a304a9db565e6061d4cb5ad - languageName: node - linkType: hard - -"xmlbuilder@npm:^15.1.1": - version: 15.1.1 - resolution: "xmlbuilder@npm:15.1.1" - checksum: 14f7302402e28d1f32823583d121594a9dca36408d40320b33f598bd589ca5163a352d076489c9c64d2dc1da19a790926a07bf4191275330d4de2b0d85bb1843 - languageName: node - linkType: hard - -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 - languageName: node - linkType: hard - -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a - languageName: node - linkType: hard - -"xterm-addon-fit@npm:^0.5.0": - version: 0.5.0 - resolution: "xterm-addon-fit@npm:0.5.0" - peerDependencies: - xterm: ^4.0.0 - checksum: 884d9f360893335c87e4514beeda2af6dbebf38a89b8518f1126d9c4611aefc1598b750bb43a953b79fdf1179c40d70c77a9169ae10f07e0abbbdb39b919b33f - languageName: node - linkType: hard - -"xterm-addon-search@npm:^0.8.0": - version: 0.8.2 - resolution: "xterm-addon-search@npm:0.8.2" - peerDependencies: - xterm: ^4.0.0 - checksum: cb5fa8a551354d98d81c3f4792a43150670be119a0bf10fdff6727ee80ba2524682371f828bb175bd71075ca45989805560754bb22a30ed87d59725b7910cf1c - languageName: node - linkType: hard - -"xterm@npm:^4.9.0": - version: 4.19.0 - resolution: "xterm@npm:4.19.0" - checksum: 4385e08d6f1e26d0db295ba55f0ed9c304686a72c2cfdd32502cf59de23ae9c93434d469fc3735f44375602f209f767a1ba643a86be6f8e0f1cf7e5bfdccde87 - languageName: node - linkType: hard - -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 - languageName: node - linkType: hard - -"yaku@npm:^0.16.6": - version: 0.16.7 - resolution: "yaku@npm:0.16.7" - checksum: 000cf744ead4cc72ef7d04faf09a2d18b63efab83cede2ed0f2911a86fd5da8638a4fbae9f359956c1ed9c1179fe012404b1ec104972e4c204f6550ff1a1454b - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -13829,63 +3740,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 - languageName: node - linkType: hard - -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c - languageName: node - linkType: hard - -"yargs@npm:^16.0.2": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: ^7.0.2 - escalade: ^3.1.1 - get-caller-file: ^2.0.5 - require-directory: ^2.1.1 - string-width: ^4.2.0 - y18n: ^5.0.5 - yargs-parser: ^20.2.2 - checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 - languageName: node - linkType: hard - -"yargs@npm:^17.0.1, yargs@npm:^17.3.1": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - 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 - checksum: 73b572e863aa4a8cbef323dd911d79d193b772defd5a51aab0aca2d446655216f5002c42c5306033968193bdbf892a7a4c110b0d77954a7fdf563e653967b56a - languageName: node - linkType: hard - -"yarn-or-npm@npm:^3.0.1": - version: 3.0.1 - resolution: "yarn-or-npm@npm:3.0.1" - dependencies: - cross-spawn: ^6.0.5 - pkg-dir: ^4.2.0 - bin: - yarn-or-npm: bin/index.js - yon: bin/index.js - checksum: 94421b4315520075b4db6c09b6284064c047058d8bbe2663cdd4269491e5f7ea5d2e68eeaa0182a760a8757479cef665b7040a8c9ddb48a3da52587a8b712b27 - languageName: node - linkType: hard - "yauzl@npm:^2.10.0": version: 2.10.0 resolution: "yauzl@npm:2.10.0" @@ -13895,44 +3749,3 @@ __metadata: checksum: 7f21fe0bbad6e2cb130044a5d1d0d5a0e5bf3d8d4f8c4e6ee12163ce798fee3de7388d22a7a0907f563ac5f9d40f8699a223d3d5c1718da90b0156da6904022b languageName: node linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 - languageName: node - linkType: hard - -"yocto-queue@npm:^1.0.0": - version: 1.0.0 - resolution: "yocto-queue@npm:1.0.0" - checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 - languageName: node - linkType: hard - -"zustand@npm:^4.4.1": - version: 4.4.1 - resolution: "zustand@npm:4.4.1" - dependencies: - use-sync-external-store: 1.2.0 - peerDependencies: - "@types/react": ">=16.8" - immer: ">=9.0" - react: ">=16.8" - peerDependenciesMeta: - "@types/react": - optional: true - immer: - optional: true - react: - optional: true - checksum: 80acd0fbf633782996642802c8692bbb80ae5c80a8dff4c501b88250acd5ccd468fbc6398bdce198475a25e3839c91385b81da921274f33ffb5c2d08c3eab400 - languageName: node - linkType: hard From 15299f959ffb0afad9fde5f891127f0e87fd7d69 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 29 Sep 2023 16:31:51 -0700 Subject: [PATCH 02/21] Populated preload API and redux store (in renderer) --- .prettierignore | 2 +- conveyor.conf | 1 + package.json | 17 + src/preload/git/declarations.d.ts | 8 + src/preload/git/git-add.ts | 30 + src/preload/git/git-branch.ts | 319 +++++++++ src/preload/git/git-cat-file.ts | 113 ++++ src/preload/git/git-check-ref-format.ts | 20 + src/preload/git/git-checkout.ts | 179 +++++ src/preload/git/git-clone.ts | 71 ++ src/preload/git/git-commit.ts | 38 ++ src/preload/git/git-config.ts | 139 ++++ src/preload/git/git-ignore.ts | 2 +- src/preload/git/git-log.ts | 117 ++++ src/preload/git/git-merge-base.ts | 69 ++ src/preload/git/git-merge.ts | 289 ++++++++ src/preload/git/git-path.ts | 206 ++++++ src/preload/git/git-remote.ts | 67 ++ src/preload/git/git-reset.ts | 38 ++ src/preload/git/git-restore.ts | 48 ++ src/preload/git/git-rev-list.ts | 34 + src/preload/git/git-rev-parse.ts | 56 ++ src/preload/git/git-show-branch.ts | 76 +++ src/preload/git/git-status.ts | 226 +++++++ src/preload/git/git-utils.ts | 107 +++ src/preload/git/git-version.ts | 30 + src/preload/git/git-worktree.ts | 427 ++++++++++++ src/preload/git/index.ts | 44 +- src/renderer/src/App.tsx | 64 +- src/renderer/src/components/Canvas.tsx | 53 ++ src/renderer/src/containers/filetypes.json | 744 +++++++++++++++++++++ src/renderer/src/main.tsx | 6 +- src/renderer/src/store/hooks.ts | 2 +- src/renderer/src/store/thunks/branches.ts | 522 +++++++++++++++ src/renderer/src/store/thunks/cards.ts | 78 +++ src/renderer/src/store/thunks/commits.ts | 179 +++++ src/renderer/src/store/thunks/filetypes.ts | 26 + src/renderer/src/store/thunks/metafiles.ts | 435 ++++++++++++ src/renderer/src/store/thunks/repos.ts | 82 +++ src/renderer/src/store/thunks/stacks.ts | 139 ++++ yarn.lock | 209 +++++- 41 files changed, 5235 insertions(+), 77 deletions(-) create mode 100644 src/preload/git/declarations.d.ts create mode 100644 src/preload/git/git-add.ts create mode 100644 src/preload/git/git-branch.ts create mode 100644 src/preload/git/git-cat-file.ts create mode 100644 src/preload/git/git-check-ref-format.ts create mode 100644 src/preload/git/git-checkout.ts create mode 100644 src/preload/git/git-clone.ts create mode 100644 src/preload/git/git-commit.ts create mode 100644 src/preload/git/git-config.ts create mode 100644 src/preload/git/git-log.ts create mode 100644 src/preload/git/git-merge-base.ts create mode 100644 src/preload/git/git-merge.ts create mode 100644 src/preload/git/git-path.ts create mode 100644 src/preload/git/git-remote.ts create mode 100644 src/preload/git/git-reset.ts create mode 100644 src/preload/git/git-restore.ts create mode 100644 src/preload/git/git-rev-list.ts create mode 100644 src/preload/git/git-rev-parse.ts create mode 100644 src/preload/git/git-show-branch.ts create mode 100644 src/preload/git/git-status.ts create mode 100644 src/preload/git/git-utils.ts create mode 100644 src/preload/git/git-version.ts create mode 100644 src/preload/git/git-worktree.ts create mode 100644 src/renderer/src/components/Canvas.tsx create mode 100644 src/renderer/src/containers/filetypes.json create mode 100644 src/renderer/src/store/thunks/branches.ts create mode 100644 src/renderer/src/store/thunks/cards.ts create mode 100644 src/renderer/src/store/thunks/commits.ts create mode 100644 src/renderer/src/store/thunks/filetypes.ts create mode 100644 src/renderer/src/store/thunks/metafiles.ts create mode 100644 src/renderer/src/store/thunks/repos.ts create mode 100644 src/renderer/src/store/thunks/stacks.ts diff --git a/.prettierignore b/.prettierignore index 2f43a50bd..d2786c772 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,4 @@ -# Ignore artifacts +# Ignore artifacts (node_modules is include by default) out # Ignore config files diff --git a/conveyor.conf b/conveyor.conf index 31828d326..fd4a20956 100644 --- a/conveyor.conf +++ b/conveyor.conf @@ -14,6 +14,7 @@ app { inputs = ${app.inputs} [ package.json out -> out + types -> types { from = node_modules to = node_modules diff --git a/package.json b/package.json index b13bfe4e2..976c8b522 100644 --- a/package.json +++ b/package.json @@ -20,25 +20,36 @@ "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", "@types/fs-extra": "^11.0.2", + "@types/git-config-path": "^2", + "@types/ini": "^1.3.31", "@types/luxon": "^3.3.2", "@types/node": "^20.7.2", "@types/pako": "^2.0.1", + "@types/parse-git-config": "^3", + "@types/parse-path": "^7", "@types/react": "^18.2.23", "@types/react-dom": "^18.2.8", + "@types/semver": "^7", "@types/sha1": "^1.1.3", + "@types/valid-url": "^1", "@vitejs/plugin-react": "^4.1.0", + "dot-prop": "^8.0.2", "electron": "26.2.4", "electron-vite": "^1.0.28", "fs-extra": "^11.1.1", + "git-remote-protocol": "^0.1.0", "ignore": "^5.2.4", + "ini": "^4.1.1", "luxon": "^3.4.3", "pako": "^2.1.0", "prettier": "^3.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", "rimraf": "^5.0.5", + "semver": "^7.5.4", "sha1": "^1.1.1", "typescript": "^5.2.2", + "valid-url": "^1.0.9", "vite": "^4.4.9" }, "dependencies": { @@ -52,7 +63,13 @@ "@mui/icons-material": "^5.14.11", "@mui/material": "^5.14.11", "@reduxjs/toolkit": "^1.9.6", + "find-up": "^6.3.0", + "git-config-path": "^2.0.0", + "parse-git-config": "^3.0.0", + "parse-path": "^7.0.0", + "parse-url": "^8.1.0", "re-reselect": "^4.0.1", + "react-error-boundary": "^4.0.11", "react-redux": "^8.1.2", "reselect": "^4.1.8" } diff --git a/src/preload/git/declarations.d.ts b/src/preload/git/declarations.d.ts new file mode 100644 index 000000000..a39d0ec50 --- /dev/null +++ b/src/preload/git/declarations.d.ts @@ -0,0 +1,8 @@ +/** + * TypeScript requires type definitions, otherwise types from libraries written in JavaScript will + * be inferred to have type `any`. This is not ideal, as it defeats the purpose of using TypeScript, + * so we include the placeholder type definition below. + * + * Solution found on Stack Overflow: https://stackoverflow.com/a/41946697 + */ +declare module 'git-remote-protocol'; diff --git a/src/preload/git/git-add.ts b/src/preload/git/git-add.ts new file mode 100644 index 000000000..1405bb4d3 --- /dev/null +++ b/src/preload/git/git-add.ts @@ -0,0 +1,30 @@ +import type { PathLike } from 'fs-extra'; +import { relative } from 'path'; +import { execute } from '../io'; +import { getWorktreePaths } from './git-path'; + +/** + * Add file contents to the index (aka staging area). If the filepath is tracked by a branch in a linked worktree, then index updates + * will occur on the index file in the `GIT_DIR/worktrees/{branch}` directory. + * @param filepath The relative or absolute path to add. + * @returns {Promise} A Promise object containing a boolean indicating whether the file was successfully staged. + */ +export const add = async (filepath: PathLike): Promise => { + const { dir, worktreeDir } = await getWorktreePaths(filepath.toString()); + if (!dir) return false; // not under version control + + const root = worktreeDir ? worktreeDir : dir; + const relativePath = relative(root, filepath.toString()); + + const output = await execute({ + command: 'git', + args: ['add', relativePath], + cwd: root + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + console.log(`added ${filepath.toString()} `, output.stdout); + return true; +}; diff --git a/src/preload/git/git-branch.ts b/src/preload/git/git-branch.ts new file mode 100644 index 000000000..295506f75 --- /dev/null +++ b/src/preload/git/git-branch.ts @@ -0,0 +1,319 @@ +import type { PathLike } from 'fs-extra'; +import type { Branch } from 'types/branch'; +import type { Expand, WithRequired } from 'types/util'; +import { execute } from '../io'; +import { isDefined, removeNullableProperties } from '../utils'; + +type BranchOutput = Expand>, 'ref'>>; + +/** + * List branches. The default is to list local branches (similar to `git branch`). Enabling additional options expands the output. + * Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.showCurrent - Optional flag to only print the name of the current branch. In detached HEAD state, nothing is printed. + * @param obj.all - Optional flag to list both remote-tracking branches and local branches. + * @param obj.remotes - Optional flag to list the remote-tracking branches. + * @param obj.verbose - Optional flag to show SHA-1 and commit subject line for each head, along with relationship to upstream + * branch (if any). + * @returns {Promise>} A Promise object containing an array of {@link BranchOutput} objects + * representing known branch information. + */ +export const listBranch = async ({ + dir, + showCurrent = false, + all = false, + remotes = false, + verbose = false +}: { + dir: PathLike; + showCurrent?: boolean; + all?: boolean; + remotes?: boolean; + verbose?: boolean; +}): Promise> => { + const verboseOption = verbose ? '--verbose --no-abbrev' : ''; + + // Remove any remote-tracking references that no longer exist on the remote + // TODO: Migrate into any future `git-fetch` implementation + const cleanup = await execute({ + command: 'git', + args: ['fetch', '--prune', '-a'], + cwd: dir.toString() + }); + if (cleanup.stderr) console.error(cleanup.stderr); + if (cleanup.stdout) console.log(cleanup.stdout); + + if (showCurrent) { + const output = await execute({ + command: 'git', + args: ['branch', '--show-current'], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return [{ ref: output.stdout?.replace(/[\n\r]/g, '') ?? '' }]; + } + + if (all) { + const output = await execute({ + command: 'git', + args: ['branch', '--all', verboseOption], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processBranchOutput(output.stdout); + } + + if (remotes) { + const output = await execute({ + command: 'git', + args: ['branch', '--remotes', verboseOption], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processBranchOutput(output.stdout); + } + + const output = await execute({ + command: 'git', + args: ['branch', verboseOption], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processBranchOutput(output.stdout); +}; + +/** + * Create a new branch head named `branchName` which points to the current HEAD, or `startPoint` if given. As a special + * case for `startPoint`, you may use `"A...B"` as a shortcut for the merge base of `A` and `B` if there is exactly one + * merge base. You can leave out at most on of `A` or `B`, in which case it defaults to HEAD. Matches the functionality + * of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.branchName - Branch name that should be created. + * @param obj.startPoint - The new branch head will point to this commit. It may be given as a branch name, a commit id, + * or a tag. If this option is omitted, the current HEAD will be used instead. + * @param obj.force - Optional flag to reset `branchName` to `startPoint`, even if `branchName` exists already. Otherwise, + * this command refuses to change an existing branch. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully created. + */ +export const createBranch = async ({ + dir, + branchName, + startPoint = 'HEAD', + force = false +}: { + dir: PathLike; + branchName: string; + startPoint?: string; + force?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['branch', branchName, startPoint, force ? '--force' : ''], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + return true; +}; + +/** + * Set up the branch tracking information so that `upstream` is considered the `branchName`'s upstream branch. If no `branchName` + * is specified, then it defaults to the current branch in the worktree root directory. This can also be achieved using + * `git push --set-upstream`. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.upstream - The remote name (e.g. `origin`). + * @param obj.branchName - Optional branch name that should be updated; defaults to the current branch if not provided. + */ +export const setUpstreamBranch = async ({ + dir, + upstream, + branchName +}: { + dir: PathLike; + upstream: string; + branchName?: string; +}) => { + const output = await execute({ + command: 'git', + args: ['branch', `--set-upstream-to=${upstream}`, branchName ?? ''], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + if (output.stdout) console.log(output.stdout); +}; + +/** + * Remove the upstream information for `branchName`. If no branch is specified it defaults to the current branch. Matches the + * functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.branchName - Optional branch name that should be updated; defaults to the current branch if not provided. + */ +export const unsetUpstreamBranch = async ({ + dir, + branchName +}: { + dir: PathLike; + branchName?: string; +}) => { + const output = await execute({ + command: 'git', + args: ['branch', '--unset_upstream', branchName ?? ''], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + if (output.stdout) console.log(output.stdout); +}; + +/** + * Move/rename a branch, together with its config and reflog. + * Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.newBranch - New branch name. + * @param obj.oldBranch - Optional old branch name that will be renamed to the new branch name. If the old branch had a corresponding + * reflog, it is renamed to match new branch name, and a reflog entry is created to remember the branch renaming. If new branch name + * exists, then `force` must be used for the rename to happen. + * @param obj.force - Optional flag to allow renaming the branch even if the new branch name already exists. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully moved. + */ +export const moveBranch = async ({ + dir, + newBranch, + oldBranch, + force = false +}: { + dir: PathLike; + newBranch: string; + oldBranch?: string; + force?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['branch', '--move', force ? '--force' : '', oldBranch ?? '', newBranch], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Copy a branch, together with its config and reflog. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.newBranch - New branch name. + * @param obj.oldBranch - Optional old branch name that will be copied to the new branch name, along with its config and reflog. + * @param obj.force - Optional flag to allow copying the branch even if the new branch name already exists. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully copied. + */ +export const copyBranch = async ({ + dir, + newBranch, + oldBranch, + force = false +}: { + dir: PathLike; + newBranch: string; + oldBranch?: string; + force?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['branch', '--copy', force ? '--force' : '', oldBranch ?? '', newBranch], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Delete a branch. The branch must be fully merged in its upstream branch, or in HEAD if no upstream was set with `git branch --track` or + * `git branch --set-upstream-to`. Matches the functionality of [`git-branch`](https://git-scm.com/docs/git-branch). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.branchName - The branch to be deleted. You may specify more than one branch for deletion. If the branch currently has a reflog + * then the reflog will also be deleted. + * @param obj.remote - Optional flag to delete remote-tracking branches. Note, that it only makes sense to delete remote-tracking branches + * if they no longer exist in the remote repository or if `git fetch` was configured not to fetch them again. + * @param obj.force - Optional flag to allow deleting the branch irrespective of its merged status, or whether it even points to a valid commit. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully deleted. + */ +export const deleteBranch = async ({ + dir, + branchName, + remote = false, + force = false +}: { + dir: PathLike; + branchName: string; + remote?: boolean; + force?: boolean; +}) => { + const output = await execute({ + command: 'git', + args: ['branch', '--delete', force ? '--force' : '', remote ? '-r' : '', branchName], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +export const processBranchOutput = (output: string | undefined): BranchOutput[] => { + if (!isDefined(output)) return []; + const result: BranchOutput[] = output + .split(/\r?\n/) + .map(line => { + /** + * Regex pattern matches with the following capture groups: + * [1] type of branch (`* ` indicates current branch, `+ ` indicates branch checked out into linked worktree) + * [2] branch ref (e.g. `master` or `remotes/origin/feature`) + * [3] points-to ref (i.e. the name of the branch pointed to by this ref; `origin/master` from `remotes/origin/HEAD -> origin/master`) + * [4] sha1 hash for the head of the branch (e.g. `e41340ac4`) + * [5] commit subject line for the head of the branch (e.g. `style: add divider rtl support (#23734)`) + */ + const linePattern = new RegExp( + '^(.{2})(\\S+)(?:(?: *-> )(\\S+))?(?:(?: +)([0-9a-f]{1,40}) (.*))?', + 'g' + ); + + /** + * Regex pattern matches with the following capture groups: + * [1] remote repository alias (i.e. only present if ref is for a remote branch; typically set to `origin`) + * [2] branch ref (e.g. `main`) + */ + const refPattern = new RegExp('(?:remotes/(?:(\\w+)/))?(.*)', 'g'); + + const lineResult = linePattern.exec(line); + const type = lineResult?.[1]; + const current = type === '* '; + const linked = type === '+ '; + const branchRef = lineResult?.[2]; + const head = lineResult?.[4]; + const refResult = branchRef ? refPattern.exec(branchRef) : undefined; + const ref = refResult?.[2]; + const scope: 'local' | 'remote' = refResult?.[1] ? 'remote' : 'local'; + const remote = refResult?.[1] ? refResult?.[1] : 'origin'; + return ref + ? { ref, ...removeNullableProperties({ scope, remote, head, current, linked }) } + : undefined; + }) + .filter(isDefined); + return result; +}; diff --git a/src/preload/git/git-cat-file.ts b/src/preload/git/git-cat-file.ts new file mode 100644 index 000000000..1790a01c1 --- /dev/null +++ b/src/preload/git/git-cat-file.ts @@ -0,0 +1,113 @@ +import type { PathLike } from 'fs-extra'; +import { DateTime } from 'luxon'; +import type { SHA1 } from 'types/app'; +import type { Commit } from 'types/commit'; +import { execute } from '../io'; +import { isDefined, isNumber, removeUndefined } from '../utils'; + +/** + * Provide content or type and size information for repository objects. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.objectRef - The name of the object to show. + * @param obj.exists - Return with zero status if `objectRef` exists and is a valid object. If `objectRef` is of an invalid format exit + * with non-zero and emits an error on `stderr`. + * @param obj.pretty - Pretty-print the contents of `objectRef` based on its type. + * @returns {Promise} A Promise object containing a {@link Commit} object representing the + * contents of the `objectRef` based on its type. + */ +export const catFile = async ({ + dir, + objectRef, + exists = false, + pretty = true +}: { + dir: PathLike; + objectRef: SHA1; + exists?: boolean; + pretty?: boolean; +}): Promise => { + const type = exists ? '-e' : pretty ? '-p' : undefined; + const output = await execute({ + command: 'git', + args: removeUndefined(['cat-file', type, objectRef.toString()]), + cwd: dir.toString() + }); + + if (output.stderr) { + console.error(output.stderr); + return undefined; + } + return processCatFileOutput(output.stdout, objectRef); +}; + +// TODO: `processCatFileOutput` currently only handles pretty-print output +export const processCatFileOutput = (output: string | undefined, oid: SHA1): Commit | undefined => { + if (!isDefined(output)) return undefined; + /** + * Regex pattern matches with the following capture groups: + * [1] tree SHA1 hash (e.g. `8aad4dcd6aea0b8be81727e2aa957a65f08c4e4e`) + * [2] parent SHA1 hashes, possibly muliple separated by line breaks (e.g. `parent 8c15dc790f09eb1ace54e675bce092c8a5de361c`) + * [3] author name + * [4] author email + * [5] author timestamp (Unix timestamp in seconds, with timezone offset) + * [6] committer name + * [7] committer email + * [8] committer timestamp (Unix timestamp in seconds, with timezone offset) + * [9] commit message (e.g. `Merge branch 'feature' into main`) + */ + const linePattern = new RegExp( + '^(?:tree (.*)\\r?\\n)((?:parent \\w*\\r?\\n)+)?(?:author (?:(.*?) \\<(.*?)\\> (\\d*) (?:[-+]\\d*))\\r?\\n)(?:committer (?:(.*?) \\<(.*?)\\> (\\d*) (?:[-+]\\d*))\\r?\\n)?(?:gpgsig .*[\\s\\S]* -----END PGP SIGNATURE-----\\r?\\n \\r?\\n)?(?:\\r?\\n(.*[\\s\\S]*))$', + 'gm' + ); + + /** + * Regex pattern matches (possibly multiple matches) with the following capture groups: + * [1] parent SHA1 hash (e.g. `4796a15ce2b758a86297ab40f90d89cea5a5e499`) + */ + const parentPattern = new RegExp('(?:parent (\\w*)(?:\\r?\\n)?)', 'gm'); + + const lineResult = linePattern.exec(output); + const tree = lineResult?.[1]; + const parentRefs = lineResult?.[2]; + const parents = parentRefs + ? removeUndefined( + Array.from(parentRefs.matchAll(parentPattern)).map(m => + isDefined(m[1]) ? m[1] : undefined + ) + ) + : []; + const authorName = lineResult?.[3]; + const authorEmail = lineResult?.[4]; + const authorTimestampRaw = lineResult?.[5]; + const authorTimestamp = + authorTimestampRaw && isNumber(authorTimestampRaw) + ? DateTime.fromSeconds(Number(authorTimestampRaw)).valueOf() + : undefined; + const committerName = lineResult?.[6]; + const committerEmail = lineResult?.[7]; + const committerTimestampRaw = lineResult?.[8]; + const committerTimestamp = + committerTimestampRaw && isNumber(committerTimestampRaw) + ? DateTime.fromSeconds(Number(committerTimestampRaw)).valueOf() + : undefined; + const message = lineResult?.[9]?.trim(); + + return tree + ? { + oid: oid, + message: message ?? '', + parents: parents ?? [], + author: { + name: authorName ?? '', + email: authorEmail ?? '', + timestamp: authorTimestamp + }, + committer: { + name: committerName ?? '', + email: committerEmail ?? '', + timestamp: committerTimestamp + } + } + : undefined; +}; diff --git a/src/preload/git/git-check-ref-format.ts b/src/preload/git/git-check-ref-format.ts new file mode 100644 index 000000000..d3d721388 --- /dev/null +++ b/src/preload/git/git-check-ref-format.ts @@ -0,0 +1,20 @@ +import { execute } from '../io'; + +export const checkRefFormat = async ({ + refname, + branch = false +}: { + refname: string; + branch?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['check-ref-format', branch ? '--branch' : '', refname] + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + console.log(output.stdout); + return true; +}; diff --git a/src/preload/git/git-checkout.ts b/src/preload/git/git-checkout.ts new file mode 100644 index 000000000..b03b26f36 --- /dev/null +++ b/src/preload/git/git-checkout.ts @@ -0,0 +1,179 @@ +import type { PathLike } from 'fs-extra'; +import type { Either } from 'types/util'; +import { execute } from '../io'; + +/** + * Updates the files in the working tree to match the version in the index or the specified tree. If no pathspec was + * given, this command will also update HEAD to set the specified branch as the current branch. Matches the functionality + * of [`git-checkout`](https://git-scm.com/docs/git-checkout). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.branch - The branch name to switch to by updating the index and files in the working tree, and by pointing + * HEAD at the branch. + * @param obj.quiet - Optional flag to suppress feedback messages. + * @param obj.force - When switching branches, proceed even if the index or the working tree differs from HEAD, and even if + * there are untracked files in the way. When checking out paths from the index, do not fail upon unmerged entries; + * instead, unmerged entries are ignored. + * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between + * the current branch and the branch to which you are switching, the command refuses to switch branches in order to + * preserve your modifications in context. However, with this option, a three-way merge between the current branch, + * your working tree contents, and the new branch is done, and you will be on the new branch. + */ +export const checkoutBranch = async ({ + dir, + branch, + quiet = false, + force = false, + merge = false +}: { + dir: PathLike; + branch: string; + quiet?: boolean; + force?: boolean; + merge?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['checkout', branch, force ? '--force' : '', merge ? '--merge' : ''], + cwd: dir.toString() + }); + if (!quiet && output.stderr) console.error(output.stderr); +}; + +/** + * Prepare to work on top of `commitish`, by detaching HEAD at it, and updating the index and the files in the working + * tree. Local modifications to the files in the working tree are kept, so that the resulting working tree will be the + * state recorded in the commit plus the local modifications. When the `commitish` argument is a branch name, this + * command will detach HEAD at the tip of the branch. Matches the functionality of + * [`git-checkout`](https://git-scm.com/docs/git-checkout). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.commitish - The SHA1 commit hash or branch name to check out. + * @param obj.quiet - Optional flag for quiet, to suppress feedback messages. + * @param obj.force - When switching branches, proceed even if the index or the working tree differs from HEAD, and even if + * there are untracked files in the way. When checking out paths from the index, do not fail upon unmerged entries; + * instead, unmerged entries are ignored. + * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between + * the current branch and the branch to which you are switching, the command refuses to switch branches in order to + * preserve your modifications in context. However, with this option, a three-way merge between the current branch, + * your working tree contents, and the new branch is done, and you will be on the new branch. + */ +export const checkoutDetached = async ({ + dir, + commitish, + quiet = false, + force = false, + merge = false +}: { + dir: PathLike; + commitish: string; + quiet?: boolean; + force?: boolean; + merge?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['checkout', '--detach', commitish, force ? '--force' : '', merge ? '--merge' : ''], + cwd: dir.toString() + }); + if (!quiet && output.stderr) console.error(output.stderr); + if (!quiet && output.stdout) console.log(output.stdout); +}; + +/** + * Overwrite the contents of the files that match the pathspec. When the (most often a commit) is not given, overwrite working + * tree with the contents in the index. When the is given, overwrite both the index and the working tree with the contents at + * the . + * + * The index may contain unmerged entries because of a previous failed merge. By default, if you try to check out such an entry from the + * index, the checkout operation will fail and nothing will be checked out. Using -f will ignore these unmerged entries. The contents from + * a specific side of the merge can be checked out of the index by using --ours or --theirs. With -m, changes made to the working tree + * file can be discarded to re-create the original conflicted merge result. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.pathspec - Pattern used to limit paths in *git* commands. See: {@link https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefpathspecapathspec} + * @param obj.force - Ignore any unmerged entries in the index that may have been added during a previous failed merge. By default, if you + * try to check out such an entry from the index, the checkout operation will fail and nothing will be checked out. + * @param obj.ours - When checking out paths from the index, checkout stage #2 (ours) for unmerged paths. + * @param obj.theirs - When checking out paths from the index, checkout stage #3 (theirs) for unmerged paths. + * @param obj.merge - When switching branches, if you have local modifications to one or more files that are different between + * the current branch and the branch to which you are switching, the command refuses to switch branches in order to + * preserve your modifications in context. However, with this option, a three-way merge between the current branch, + * your working tree contents, and the new branch is done, and you will be on the new branch. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully overwritten. + */ +export const checkoutPathspec = async ({ + dir, + pathspec, + force = false, + ours = false, + theirs = false, + merge = false +}: Either< + { + dir: PathLike; + pathspec: string; + force?: boolean; + ours?: boolean; + merge?: boolean; + }, + { + dir: PathLike; + pathspec: string; + force?: boolean; + theirs?: boolean; + merge?: boolean; + } +>): Promise => { + const output = await execute({ + command: 'git', + args: [ + 'checkout', + force ? '--force' : '', + ours ? '--ours' : '', + theirs ? '--theirs' : '', + merge ? '--merge' : '', + '--', + pathspec + ], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + return true; +}; + +/** + * A new branch will be created as if [`git-branch`](https://git-scm.com/docs/git-branch) were called and then checked out. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. Matches the functionality of [`git-checkout`](https://git-scm.com/docs/git-checkout). + * @param obj.newBranch - The branch name to be created. + * @param obj.startPoint - The new branch head will point to this commit. It may be given as a branch name, a commit id, or a tag. + * If this option is omitted, the current HEAD will be used instead. + * @param obj.force - The new branch is created if it doesn't exist; otherwise, it is reset. + * @returns {Promise} A Promise object containing a boolean indicating whether the branch was successfully created. + */ +export const checkoutNewBranch = async ({ + dir, + newBranch, + startPoint, + force = false +}: { + dir: PathLike; + newBranch: string; + startPoint: string; + force?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['checkout', force ? '-B' : '-b', newBranch, startPoint ?? ''], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + return true; +}; diff --git a/src/preload/git/git-clone.ts b/src/preload/git/git-clone.ts new file mode 100644 index 000000000..f1f29f130 --- /dev/null +++ b/src/preload/git/git-clone.ts @@ -0,0 +1,71 @@ +import { pathExists, PathLike } from 'fs-extra'; +import { dirname } from 'path'; +import { execute } from '../io'; + +/** + * Clone a repository into a new directory. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.repo - The URL of a remote repository, or the path to a local repository. + * @param obj.branch - Instead of pointing the newly created HEAD to the branch pointed to by the cloned repository's + * HEAD, point to this branch name or SHA-1 instead. In a non-bare repository, this is the branch that will be checked out. + * @param obj.bare - Make a `bare` Git repsoitory. That is, instead of creating a directory and placing the administrative + * files in the `.git` sub-directory, make the directory itself the `$GIT_DIR`. This implies `--no-checkout` because there + * is nowhere to check out the working tree. Also the branch heads at the remote are copied directly to corresponding local + * branch heads, without mapping them to `refs/remotes/origin/`. When this option is used, neither remote-tracking branches + * nor the related configuration variables are created. + * @param obj.singleBranch - Clone only the history leading to the tip of a single branch, either specified by the `--branch` + * option or the primary branch remote’s HEAD points at. Further fetches into the resulting repository will only update the + * remote-tracking branch for the branch this option was used for the initial cloning. If the HEAD at the remote did not point + * at any branch when `singleBranch` clone was made, no remote-tracking branch is created. + * @param obj.noCheckout - No checkout of HEAD is performed after the clone is complete. + * @returns {Promise} A Promise object containing a boolean indicating whether the clone operation succeeded. + */ +export const cloneRepo = async ({ + dir, + repo, + branch, + bare, + singleBranch, + noCheckout +}: { + repo: URL | PathLike; + dir: PathLike; + branch?: string; + bare?: boolean; + singleBranch?: boolean; + noCheckout?: boolean; +}): Promise => { + const parentDir = dirname(dir.toString()); // the `dir` directory doesn't exist yet, so start from parent + if (!(await pathExists(parentDir))) + throw new Error(`ENOENT: no such file or directory, clone attempted in '${parentDir}'`); + const bareOption = bare ? `--bare` : ''; + const noCheckoutOption = noCheckout ? `--no-checkout` : ''; + const singleBranchOption = singleBranch ? `--single-branch` : ''; + const branchOption = branch ? `--branch ${branch}` : ''; + const output = await execute({ + command: 'git', + args: [ + 'clone', + repo.toString(), + dir.toString(), + branchOption, + bareOption, + noCheckoutOption, + singleBranchOption + ], + cwd: parentDir.toString() + }); + + const successfulClonePattern = new RegExp(/Cloning into '.*'.../, 'g'); + if ( + output.stderr && + (output.stderr.split(/\\r?\\n/).length > 1 || + successfulClonePattern.test(output.stderr) === false) + ) { + console.error(output.stderr); + return false; + } + console.log(output.stdout); + return true; +}; diff --git a/src/preload/git/git-commit.ts b/src/preload/git/git-commit.ts new file mode 100644 index 000000000..a79ad0445 --- /dev/null +++ b/src/preload/git/git-commit.ts @@ -0,0 +1,38 @@ +import type { PathLike } from 'fs-extra'; +import { checkoutDetached } from '../git/git-checkout'; +import { execute } from '../io'; +import { revParse } from './git-rev-parse'; + +/** + * Record changes to the repository. Create a new commit containing the current contents of the + * index and the given log message describing the changes. The new commit is a direct child of + * HEAD, usually the tip of the current branch, and the branch is updated to point to it (unless + * no branch is associated with the working tree, in which case HEAD is "detached" as described + * in {@linkcode checkoutDetached}. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.message - The commit message. + * @returns {Promise} A Promise object containing the SHA-1 hash of the new + * commit, or undefined if no commit was created. + */ +export const commit = async ({ + dir, + message +}: { + dir: PathLike; + message?: string; +}): Promise => { + const refPattern = new RegExp('\\[\\w+ (\\w+)\\]', 'g'); + const output = await execute({ + command: 'git', + args: ['commit', message ? `-m "${message}"` : ''], + cwd: dir.toString() + }); + + if (output.stderr) { + console.error(output.stderr); + return undefined; + } + const sha1 = refPattern.exec(output.stdout ?? '')?.[1]; + return sha1 ? await revParse({ dir: dir, args: [sha1] }) : undefined; +}; diff --git a/src/preload/git/git-config.ts b/src/preload/git/git-config.ts new file mode 100644 index 000000000..41e53579c --- /dev/null +++ b/src/preload/git/git-config.ts @@ -0,0 +1,139 @@ +import { deleteProperty, getProperty, hasProperty, setProperty } from 'dot-prop'; +import type { PathLike } from 'fs-extra'; +import getGitConfigPath from 'git-config-path'; +import * as ini from 'ini'; +import parse from 'parse-git-config'; +import parsePath from 'parse-path'; +import { join, resolve } from 'path'; +import type { Repository } from 'types/repo'; +import { writeFileAsync } from '../io'; +import { removeNullableProperties } from '../utils'; +import { getWorktreePaths } from './git-path'; +import { extractFromURL } from './git-utils'; + +export type GitConfig = + | { scope: 'none' } + | { scope: 'local' | 'global'; value: string; origin?: string }; + +/** + * Read an entry from git-config files; modeled after the *isomorphic-git/getConfig* function, but includes additional functionality to resolve global + * git-config files. The return object indicates the value for the git config entry and the scope (`local` or `global`) in which the value was located. + * If the `local` or `global` parameter are disabled, set to `false`, then the search will not attempt to locate git-config files in that scope. If both + * parameters are enabled, then `local` scope is searched first and only if there were no matches will the `global` scope then be searched. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The working tree directory path. + * @param obj.gitdir - The git directory path. + * @param obj.keyPath - The dot notation path of the desired git config entry (i.e. `user.name` or `user.email`). + * @param obj.local - Allow search in the `local` git-config file (i.e. the `local` scope); defaults to true. + * @param obj.global - Allow search in the `global` git-config file (i.e. the `global` scope); defaults to true. + * @param obj.showOrigin - Show the origin path of the git-config file containing the matched entry. + * @returns {Promise} A Promise object containing the value and a scope indicating whether the entry was found in the `local` or `global` git-config + * file, or only a scope of `none` if the value could not be found in any scope. + */ +export const getConfig = async ({ + dir, + gitdir = join(dir.toString(), '.git'), + keyPath, + local = true, + global = true, + showOrigin = false +}: { + dir: PathLike; + gitdir?: PathLike; + keyPath: string; + local?: boolean; + global?: boolean; + showOrigin?: boolean; +}): Promise => { + const worktree = await getWorktreePaths(gitdir.toString()); + const localConfigPath = + local && worktree.gitdir ? resolve(join(worktree.gitdir.toString(), 'config')) : null; + const globalConfigPath = global ? getGitConfigPath('global') : null; + + const readConfigValue = async (configPath: string | null, key: string) => { + if (!configPath) return null; + const configFile = await parse({ path: configPath }); + if (!configFile) return null; + const config = parse.expandKeys(configFile); + return hasProperty(config, key) ? (getProperty(config, key) as string) : null; + }; + const includeOrigin = (configPath: string | null) => + showOrigin ? removeNullableProperties({ origin: configPath }) : {}; + + const localValue = local ? await readConfigValue(localConfigPath, keyPath) : null; + const globalValue = global ? await readConfigValue(globalConfigPath, keyPath) : null; + + if (localValue) return { scope: 'local', value: localValue, ...includeOrigin(localConfigPath) }; + if (globalValue) + return { scope: 'global', value: globalValue, ...includeOrigin(globalConfigPath) }; + return { scope: 'none' }; +}; + +/** + * Update an entry in the git-config files; modeled after the *isomorphic-git/setConfig* function, but includes additional functionality + * to resolve global git-config files. The scope is strictly respected (i.e. if the entry exists only in `global` scope but `local` scope + * is specified, then a new entry will be added to the git-config file in `local` scope). Entries can be removed by setting value to + * `undefined`; attempting to remove a non-existing entry will result in a no-op. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory path. + * @param obj.gitdir - The worktree git file or directory path. + * @param obj.scope - The scope indicating whether the entry update should occur in the `local` or `global` git-config file. + * @param obj.keyPath - The dot notation path of the desired git config entry (i.e. `user.name` or `user.email`). + * @param obj.value - The value to be added, updated, or removed (by setting `undefined`) from the git-config file. + * @returns {Promise} A Promise object containing a string in ini-format with the contents of the updated git-config file. + */ +export const setConfig = async ({ + dir, + gitdir = join(dir.toString(), '.git'), + scope, + keyPath, + value +}: { + dir: PathLike; + gitdir?: PathLike; + scope: 'local' | 'global'; + keyPath: string; + value: string | boolean | number | undefined; +}): Promise => { + const worktree = await getWorktreePaths(gitdir.toString()); + const configPath = + scope == 'local' && worktree.gitdir + ? resolve(join(worktree.gitdir.toString(), 'config')) + : getGitConfigPath('global'); + if (!configPath) return null; // no git-config file exists for the requested scope + + const configFile = await parse({ path: configPath }); + if (!configFile) return null; // git-config file cannot be parsed; possible corrupted file? + if (value === undefined) deleteProperty(configFile, keyPath); + else setProperty(configFile, keyPath, value); + + const updatedConfig = ini.stringify(configFile, { section: '', whitespace: true }); + await writeFileAsync(configPath, updatedConfig); + return updatedConfig; +}; + +export const getRemoteConfig = async ( + dir: PathLike | undefined +): Promise<{ url: parsePath.ParsedPath | undefined; oauth: Repository['oauth'] | undefined }> => { + const remoteConfig: GitConfig = dir + ? await getConfig({ dir: dir, keyPath: 'remote.origin.url' }) + : { scope: 'none' }; + return remoteConfig.scope !== 'none' + ? extractFromURL(remoteConfig.value) + : { url: undefined, oauth: undefined }; +}; + +export const getCredentials = async ( + dir: PathLike | undefined +): Promise<{ username: string; password: string }> => { + const usernameConfig: GitConfig = dir + ? await getConfig({ dir: dir, keyPath: 'user.name' }) + : { scope: 'none' }; + const passwordConfig: GitConfig = dir + ? await getConfig({ dir: dir, keyPath: 'credential.helper' }) + : { scope: 'none' }; + return { + username: usernameConfig.scope === 'none' ? '' : usernameConfig.value, + password: passwordConfig.scope === 'none' ? '' : passwordConfig.value + }; +}; diff --git a/src/preload/git/git-ignore.ts b/src/preload/git/git-ignore.ts index d830924f8..b1561fe31 100644 --- a/src/preload/git/git-ignore.ts +++ b/src/preload/git/git-ignore.ts @@ -1,7 +1,7 @@ import { PathLike } from 'fs-extra'; import ignore, { Ignore } from 'ignore'; -import { extractFilename, readDirAsyncDepth, readFileAsync } from '../io'; import { relative } from 'path'; +import { extractFilename, readDirAsyncDepth, readFileAsync } from '../io'; /** * Locate and parse ignore rules from all `.gitignore` files within a directory. Returns an Ignore diff --git a/src/preload/git/git-log.ts b/src/preload/git/git-log.ts new file mode 100644 index 000000000..9c152b462 --- /dev/null +++ b/src/preload/git/git-log.ts @@ -0,0 +1,117 @@ +import type { PathLike } from 'fs-extra'; +import { DateTime } from 'luxon'; +import type { Commit } from 'types/commit'; +import { execute } from '../io'; +import { isDefined } from '../utils'; +import { revParse } from './git-rev-parse'; + +/** + * Show commit logs. List commits that are reachable by following the parent links from the given commit(s), but exclude commits that are + * reachable from the one(s) given with a ^ in front of them. The output is given in reverse chronological order by default. + * + * You can think of this as a set operation. Commits reachable from any of the commits given on the command line form a set, and then + * commits reachable from any of the ones given with ^ in front are subtracted from that set. The remaining commits are what comes out + * in the command’s output. Various other options and paths parameters can be used to further limit the result. + * + * Thus, the following command: + * ``` + * $ git log foo bar ^baz + * ``` + * + * means "list all the commits which are reachable from foo or bar, but not from baz". + * + * A special notation `".."` can be used as a short-hand for `"^ "`. For example, either of the + * following may be used interchangeably: + * ``` + * $ git log origin..HEAD + * $ git log HEAD ^origin + * ``` + * + * Another special notation is `"..."` which is useful for merges. The resulting set of commits is the symmetric + * difference between the two operands. The following two commands are equivalent: + * ``` + * $ git log A B --not $(git merge-base --all A B) + * $ git log A...B + * ``` + * + * The command takes options applicable to the `git-rev-list` command to control what is shown and how, and options applicable to the + * `git-diff` command to control how the changes each commit introduces are shown. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.revRange - The revision range (or just SHA-1 commit hash) to begin walking backwards through the history from. + * @param obj.maxCount - Optional limit of the number of commits to output; defaults to infinity. + * @param obj.until - Optional threshold to limit commits older than a specific date. + * @param obj.paths - Optional simplication for only including commits modifying the given paths. + * @returns {Promise} A Promise object containing an array of {@link Commit} objects + * representing commit information. + */ +export const log = async ({ + dir, + revRange, + maxCount, + until +}: { + dir: PathLike; + revRange?: string; + maxCount?: number; + until?: DateTime; + paths?: PathLike[]; +}): Promise => { + const maxCountOption = maxCount ? `--max-count=${maxCount}` : ''; + const untilOption = until ? `--until=${until.toHTTP()}` : ''; + const revOption = revRange ?? ''; + const output = await execute({ + command: 'git', + args: ['log', maxCountOption, untilOption, revOption], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processLogOutput(output.stdout, dir); +}; + +export const processLogOutput = async ( + output: string | undefined, + dir: PathLike +): Promise => { + if (!isDefined(output)) return []; + /** + * Regex patterns that matches the following capture groups: + * [1] sha1 hash for the commit (e.g. `e629b39c2`) + * [2] list of branch refs pointing to this commit (e.g. `HEAD -> main, origin/main, origin/HEAD, good-branch`) + * [3] author name + * [4] author email + * [5] timestamp for commit (in RFC2822 format, including timezone offset) + * [6] commit message (e.g. `Bump dot-prop from 6.0.1 to 7.2.0 (#1070)`) + */ + const linePattern = new RegExp( + '^(?:commit )(\\w*)(?:(?: \\()(.*?)(?:\\)))?(?:\\r?\\nAuthor: )(.*?)(?:<)(.*)?(?:>)(?:\\r?\\nDate: {3})(.*)(?:\\r?\\n){2} {4}(.*)$', + 'gm' + ); + + return ( + await Promise.all( + Array.from(output.matchAll(linePattern), async line => { + const oid = line[1]; + // line[2] contains refs that are not currently being used + const authorName = line[3]; + const authorEmail = line[4]; + const timestamp = line[5]; + const message = line[6]; + const parentRevs = oid ? await revParse({ dir: dir, args: [`${oid}^@`] }) : undefined; + const parents = parentRevs !== undefined ? parentRevs.split(/\r?\n/) : []; + return oid && message + ? { + oid: oid, + message: message, + parents: parents, + author: { + name: authorName ?? '', + email: authorEmail ?? '', + timestamp: timestamp ? DateTime.fromRFC2822(timestamp).valueOf() : undefined + } + } + : undefined; + }) + ) + ).filter(isDefined); +}; diff --git a/src/preload/git/git-merge-base.ts b/src/preload/git/git-merge-base.ts new file mode 100644 index 000000000..2bf8e7347 --- /dev/null +++ b/src/preload/git/git-merge-base.ts @@ -0,0 +1,69 @@ +import type { PathLike } from 'fs-extra'; +import type { SHA1 } from 'types/app'; +import { execute } from '../io'; +import { isDefined } from '../utils'; + +type MergeBaseOption = 'octopus' | 'independent' | 'isAncestor' | 'forkPoint'; + +/** + * Find as good common ancestors as possible for a merge. One common ancestor is better than + * another common ancestor if the latter is an ancestor of the former. A common ancestor that does + * not have any better common ancestor is a best common ancestor, i.e. a merge base. Note that + * there can be more than one merge base for a pair of commits. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.refs - The object ref(s) (e.g. commit oid or branch name) to calculate the common + * ancestor between. + * @param obj.all - Output all merge bases for the commits, instead of just one; defaults to + * `false`. + * @param obj.opt - Options for customizing the desired output; see: + * https://git-scm.com/docs/git-merge-base. + * @returns {Promise} A Promise object containing an array of {@link SHA1} + * objects representing the best common ancestor(s) between two or more commits to use in a + * three-way merge. + */ +export const mergeBase = async ({ + dir, + refs, + all = false, + opt +}: { + dir: PathLike; + refs: SHA1[]; + all?: boolean; + opt?: MergeBaseOption; +}): Promise => { + const option = opt ? processMergeBaseOption(opt) : ''; + const output = await execute({ + command: 'git', + args: ['merge-base', all ? '--all' : '', option, refs.join(' ')], + cwd: dir.toString() + }); + + if (output.stderr) { + console.error(output.stderr); + return undefined; + } + return processMergeBaseOutput(output.stdout); +}; + +const processMergeBaseOption = (option: MergeBaseOption) => { + switch (option) { + case 'octopus': { + return '--octopus'; + } + case 'independent': { + return '--independent'; + } + case 'isAncestor': { + return '--is-ancestor'; + } + case 'forkPoint': { + return '--fork-point'; + } + } +}; + +export const processMergeBaseOutput = (output: string | undefined): string[] | undefined => { + return isDefined(output) ? output.trim().split(/\r\n|\n/) : undefined; +}; diff --git a/src/preload/git/git-merge.ts b/src/preload/git/git-merge.ts new file mode 100644 index 000000000..ad5954a9f --- /dev/null +++ b/src/preload/git/git-merge.ts @@ -0,0 +1,289 @@ +import { PathLike, pathExists } from 'fs-extra'; +import { join, relative, resolve } from 'path'; +import type { MergeOutput } from 'types/app'; +import type { VersionedMetafile } from 'types/metafile'; +import type { ProgressCallback } from 'types/util'; +import { execute, isDirectory, isEqualPaths, readFileAsync } from '../io'; +import { getConflictingChunks, removeNullableProperties } from '../utils'; +import { getIgnore } from './git-ignore'; +import { log } from './git-log'; +import { getBranchRoot, getWorktreePaths } from './git-path'; +import { revList } from './git-rev-list'; +import { revParse } from './git-rev-parse'; +import { worktreeList } from './git-worktree'; + +export type Conflict = Pick; +export type MergeAction = 'continue' | 'abort' | 'quit'; + +/** + * Incorporate changes from the named commits (since the time their histories diverged from the + * current branch) into the current branch. This command is used by `git pull` to incorporate + * changes from another repository and can be used by hand to merge changes from one branch into + * another. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.squash - Optional flag to produce the working tree and index state as if a real merge + * happened (except for the merge information), but do not actually make a commit, move the HEAD, + * or record `@GIT_DIR/MERGE_HEAD` (to cause the next `git commit` command to create a merge + * commit). This allows you to create a single commit on top of the current branch whose effect is + * the same as merging another branch (or more in case of an octopus). Defaults to `false`. + * @param obj.fastForwardOnly - Optional flag to resolve the merge as a fast-forward when possible. + * When not possible, refuse to merge and exit with a non-zero status. Defaults to `false`. + * @param obj.verify - Optional flag to allow the *pre-merge* and *commit-msg* hooks to run. + * Defaults to `true`. + * @param obj.quiet - Optional flag to operate quietly. Defaults to `false`. + * @param obj.base - Optional alternate base branch name to specify linked worktrees. + * @param obj.commitish - The SHA1 commit hash or branch name to merge into our branch. + * @param obj.message - Set the commit message to be used for the merge commit (in case one is + * created). + * @param obj.onProgress - Callback for listening to intermediate progress events during the merge. + * @returns {Promise} A Promise object containing a {@link MergeOutput} object + * representing the results of the merge. + */ +export const mergeBranch = async ({ + dir, + squash = false, + fastForwardOnly = false, + verify = true, + quiet = false, + base, + commitish, + message, + onProgress +}: { + dir: PathLike; + squash?: boolean; + fastForwardOnly?: boolean; + verify?: boolean; + quiet?: boolean; + base?: string; + commitish: string; + message?: string; + onProgress?: ProgressCallback; +}): Promise => { + const baseBranch = base + ? (await worktreeList({ dir: dir })).find(w => w.ref === base) + : undefined; + const root = baseBranch?.root ? baseBranch.root : dir; + + if (!quiet && onProgress && baseBranch) { + const commits = ( + await revList({ dir: root, commitish: [baseBranch.ref, `^` + commitish] }) + ).split(/\r?\n/); + await Promise.all( + commits.map( + async (commit, idx) => + await onProgress({ + phase: `Merging commit '${commit}' into '${baseBranch.ref}' branch`, + loaded: idx, + total: commits.length + }) + ) + ); + } + const output = await execute({ + command: 'git', + args: [ + 'merge', + squash ? '--squash' : '', + quiet ? '--quiet' : '', + !verify ? '--no-verify' : '', + fastForwardOnly ? '--ff-only' : '', + commitish, + message ? `-m ${message}` : '' + ], + cwd: root.toString() + }); + + if (!quiet && output.stderr) { + if (onProgress) await onProgress({ phase: output.stderr, loaded: 1, total: 1 }); + console.error(output.stderr); + } + if (!quiet && output.stdout) { + if (onProgress) await onProgress({ phase: output.stdout, loaded: 1, total: 1 }); + console.log(output.stdout); + } + + return await processMergeOutput(output, root); +}; + +export const mergeInProgress = async ({ dir, action }: { dir: PathLike; action: MergeAction }) => { + const output = await execute({ + command: 'git', + args: ['merge', `--${action}`], + cwd: dir.toString() + }); + // TODO: false should be returned when the output is `fatal: There is no merge in progress (MERGE_HEAD missing).` + // TODO: false should be returned when the output is `fatal: There is no merge to abort (MERGE_HEAD missing).` + // TODO: false should be returned when `quit` is used, but there is no MERGE_HEAD (although no output is shown typically). + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Check for conflicting chunks within a specific directory or file. + * @param filepath - The relative or absolute path to evaluate. + * @returns {Promise} A Promise object containing an array of conflict information + * found in the specified file or directory (the array does not include entries for + * non-conflicting files). + */ +export const checkUnmergedPath = async (filepath: string): Promise => { + const isDir = await isDirectory(filepath); + return isDir ? await checkUnmergedDirectory(filepath) : await checkUnmergedFile(filepath); +}; + +const checkUnmergedFile = async (filepath: string): Promise => { + const { dir, worktreeDir } = await getWorktreePaths(filepath); + if (!dir) return []; + + const ignore = worktreeDir ? await getIgnore(worktreeDir, true) : await getIgnore(dir, true); + const relativePath = worktreeDir + ? relative(worktreeDir.toString(), filepath.toString()) + : relative(dir.toString(), filepath.toString()); + if (ignore.ignores(relativePath)) return []; + + const content = (await readFileAsync(filepath, { encoding: 'utf-8' })).toString(); + const conflicts = getConflictingChunks(content); + if (conflicts.length == 0) return []; + + return [{ path: filepath, conflicts: conflicts }]; +}; + +const checkUnmergedDirectory = async (directory: PathLike): Promise => { + const result = await execute({ + command: 'git', + args: ['diff', '--check'], + cwd: directory.toString() + }); + + const conflictPattern = /(.+?)(?<=:)(\d)*(?=:)/gm; // Matches `:` syntax, with a `:` positive lookbehind. + const conflictedFiles = new Map(); + result.stdout?.match(conflictPattern)?.forEach(match => { + const [filename, position] = match.split(':').slice(0, 2) as [string, number]; + const filepath = join(directory.toString(), filename); + const existing = conflictedFiles.get(filepath); + conflictedFiles.set(filepath, existing ? [...existing, position] : [position]); + }); + return Array.from(conflictedFiles).map(c => ({ path: c[0], conflicts: c[1] })); +}; + +/** + * Check for conflicts in a base branch after attempting to merge. + * @param dir The root directory of either the main worktree or linked worktree. + * @param branch The name of the branch to check against (i.e. the base branch). + * @returns {Promise} A Promise object containing an array of conflict information found in the specified branch. + */ +export const checkUnmergedBranch = async (dir: string, branch: string): Promise => { + const branchRoot = await getBranchRoot(dir, branch); + const worktree = await getWorktreePaths(dir); + const current = await revParse({ dir: dir, opts: ['abbrevRef'], args: ['HEAD'] }); + // skip any locally-tracked branches that are not checked out in the main worktree directory + const trackedLocalBranch = + branchRoot && worktree.dir + ? isEqualPaths(branchRoot, worktree.dir) && branch !== current + : false; + if (!branchRoot || trackedLocalBranch) return []; + + const result = await execute({ + command: 'git', + args: ['diff', '--check'], + cwd: branchRoot + }); + + const conflictPattern = /(.+?)(?<=:)(\d)*(?=:)/gm; // Matches `:` syntax, with a `:` positive lookbehind. + const conflictedFiles = new Map(); + result.stdout?.match(conflictPattern)?.forEach(match => { + const [filename, position] = match.split(':').slice(0, 2) as [string, number]; + const filepath = join(branchRoot, filename); + const existing = conflictedFiles.get(filepath); + conflictedFiles.set(filepath, existing ? [...existing, position] : [position]); + }); + return Array.from(conflictedFiles).map(c => ({ path: c[0], conflicts: c[1] })); +}; + +/** + * Resolve the names of branches involved in an in-progress merge, given the root directory path of the base branch. If the base branch is a + * linked worktree, then this function will extract the branch names from the `GIT_DIR/worktrees/{branch}/MERGE_MSG` file which has + * content similar to: + * ```bash + * Merge remote-tracking branch 'origin/compare' into base + * + * # Conflicts: + * # components/list/index.tsx + * ``` + * + * If the base branch is located in the main worktree directory, then we extract the branch names from the GIT_DIR/MERGE_MSG file which has + * content similar to: + * ```bash + * Merge branch 'compare' + * + * # Conflicts: + * # components/list/index.tsx + * ``` + * @param root The root directory of the base branch involved in the merge; either a main or linked worktree path can be resolved. + * @returns {Promise<{ base: string | undefined; compare: string | undefined; }>} A Promise object containing the base branch name (or + * undefined if not included in the `MERGE_MSG` file) and the compare branch name. + */ + +export const fetchMergingBranches = async ( + root: string +): Promise<{ base: string | undefined; compare: string | undefined }> => { + const branchPattern = /(?<=Merge( remote-tracking)? branch(es)? .*)('.+?')+/gm; // Match linked worktree and main worktree patterns + const { gitdir, worktreeLink } = await getWorktreePaths(root); + const mergeMsg = worktreeLink + ? join(worktreeLink.toString(), 'MERGE_MSG') + : gitdir + ? join(gitdir.toString(), 'MERGE_MSG') + : ''; + const message = (await pathExists(mergeMsg)) + ? (await readFileAsync(mergeMsg, { encoding: 'utf-8' })).toString() + : ''; + const match = message.match(branchPattern); + return match + ? match.length === 2 + ? { + base: (match[0] as string).replace(/['"]+/g, ''), + compare: (match[1] as string).replace(/['"]+/g, '') + } + : { base: undefined, compare: (match[0] as string).replace(/['"]+/g, '') } + : { base: undefined, compare: undefined }; +}; + +export const processMergeOutput = async ( + output: Awaited>, + root: PathLike +): Promise => { + const failedPattern = new RegExp('(fatal|error):', 'gm'); + const alreadyMergedPattern = new RegExp('Already up to date.', 'gm'); + const conflictPattern = new RegExp('(?<=Merge conflict in ).*(?=\\r?\\n)', 'gm'); + const fastForwardPattern = new RegExp('(? resolve(root.toString(), filepath)); + const rebaseStrategy = output.stdout?.match(rebasePattern) ? true : false; + const mergeStrategy = output.stdout ? mergeStrategyPattern.exec(output.stdout)?.[1] : undefined; + const mergeCommit = mergeStrategy ? (await log({ dir: root }))[0]?.oid : undefined; + const failed = output.stderr?.match(failedPattern) ? true : false; + + const mergeOutput: MergeOutput = { + status: failed || (conflicts && conflicts.length > 0) ? 'Failing' : 'Passing', + alreadyMerged: alreadyMerged, + fastForward: fastForward, + output: failed ? output.stderr ?? '' : output.stdout ?? '', + ...removeNullableProperties({ + mergeCommit: mergeCommit, + mergeStrategy: rebaseStrategy ? 'rebase' : mergeStrategy, + conflicts: conflicts + }) + }; + return mergeOutput; +}; diff --git a/src/preload/git/git-path.ts b/src/preload/git/git-path.ts new file mode 100644 index 000000000..12d0ef6af --- /dev/null +++ b/src/preload/git/git-path.ts @@ -0,0 +1,206 @@ +import { pathExists } from 'fs-extra'; +import { dirname, join, normalize, parse, relative } from 'path'; +import type { PathLike } from 'types/app'; +import { extractStats, isDirectory, readDirAsync, readFileAsync } from '../io'; +import { showBranch } from './git-show-branch'; +import type { Match } from 'find-up'; + +export type WorktreePaths = { + /** + * The main worktree root directory (e.g. *'/{project}'*), or `undefined` if not under version + * control. + */ + dir: PathLike | undefined; + /** + * The main worktree git directory (i.e. `GIT_DIR`, such as *'/{project}/.git'*), or `undefined` + * if not under version control). + */ + gitdir: PathLike | undefined; + /** + * The linked worktrees directory (i.e. `GIT_DIR/worktrees`, such as + * *'/{project}/.git/worktrees'*). + */ + worktrees: PathLike | undefined; + /** + * The linked worktree root directory (i.e. `/{project}/../.syn/{repo}/{branch}`), or + * `undefined` if not a linked worktree. + */ + worktreeDir: PathLike | undefined; + /** + * The linked worktree git file (e.g. *'/{project}/../.syn/{repo}/{branch}/.git'*, or + * `undefined` if not a linked worktree. + */ + worktreeGitdir: PathLike | undefined; + /** + * The direct link from linked worktree into the linked worktrees directory + * (i.e. `GIT_DIR/worktrees/{branch}`); this path is found in the linked worktree git file + * (`worktreeGitdir`). + */ + worktreeLink: PathLike | undefined; +}; + +/** + * Find the first matching directory based upon a `matcher` predicate. Starting at `filepath`, + * walks upward until it finds a directory that results in the `matcher` returning `true`. + * @param filepath - The relative or absolute path to evaluate. + * @param matcher - Called for each directory in the search. Returns `true` to stop the search, + * and `false` otherwise to continue. + * @returns {Promise} A Promise object containing the first directory path + * that resulted in the `matcher` predicate returning `true`. + */ +export const getMatchUp = async ( + filepath: PathLike, + matcher: (directory: string) => boolean | Promise +): Promise => { + return await ( + await import('find-up') + ).findUp( + async directory => { + return (await matcher(directory)) ? directory : undefined; + }, + { cwd: filepath.toString(), type: 'directory' } + ); +}; + +/** + * Find the root git directory. Starting at filepath, walks upward until it finds a directory that + * contains a *.git* subdirectory (i.e. the `dir` in the `WorktreePaths` type). In the case of + * linked worktrees (see [git-worktree](https://git-scm.com/docs/git-worktree)), this will find and + * return a directory that contains a *.git* file instead (i.e. the `worktreeDir` in the + * `WorktreePaths` type). The resulting path is relative to the earliest directory in the given + * `filepath` (i.e. `/user/dir/file.txt` returns `/user/dir` even though `/home/user/dir` might be + * the full path to that directory); this translates into absolute paths yielding absolute paths, + * and relative paths yielding relative paths. + * @param filepath - The relative or absolute path to evaluate. + * @returns {Promise} A Promise object containing the root git directory path, + * or undefined if no root git directory exists for the filepath (i.e. the filepath is not part of + * a Git repository). + */ +export const getRoot = async (filepath: PathLike): Promise => { + const exists = await pathExists(filepath.toString()); + if (!exists) + throw new Error(`ENOENT: no such file or directory, getRoot '${filepath.toString()}'`); + + const matcher: (directory: string) => Match | Promise = async (directory: string) => { + const targetPath = join(directory, '.git'); + return (await pathExists(targetPath)) ? directory : undefined; + }; + + const findUp = await import('find-up'); + const dir = await findUp.findUp(matcher, { cwd: filepath.toString(), type: 'directory' }); + if (!dir) return undefined; + + const parsed = parse(filepath.toString()); // does not output relative root for relative filepaths + const inputRoot = parsed.root.length > 0 ? parsed.root : filepath.toString().split(/[\\/]/)[0]; + const root = inputRoot ? join(inputRoot, relative(inputRoot, dir)) : dir; + + return normalize(root); +}; + +/** + * Find the root git directory for a specific branch. For branches on a linked worktree, this + * corresponds to the `worktreeDir` in the `WorktreePaths` type. For all other locally tracked + * branches (i.e. branches that have previously been checked out), this corresponds to the `dir` in + * the `WorktreePaths` type. + * @param root - The relative or absolute path to a root directory (i.e. the `dir` or `worktreeDir` + * in the `WorktreePaths` type). + * @param branch - Name of the target branch. + * @returns {Promise} A Promise object containing the root git directory + * path, or undefined if no root git directory exists for the branch (i.e. the branch is + * remote-only or non-existent for the given repository). + */ +export const getBranchRoot = async ( + root: PathLike, + branch: string +): Promise => { + const { dir, worktrees } = await getWorktreePaths(root); + const existsLocally = + dir && (await showBranch({ dir: dir })).find(b => b.ref === branch) ? true : false; + if (!existsLocally) return undefined; // branch is either remote-only or non-existent + + // check to see if the branch matches one of the linked worktrees + const worktreeBranches = worktrees ? await readDirAsync(worktrees) : undefined; + const match = worktreeBranches ? worktreeBranches.find(w => w === branch) : undefined; + + // reading the `{dir}/.git/worktrees/{branch}/gitdir` file + const worktreeRoot = + match && worktrees + ? dirname( + (await readFileAsync(join(worktrees.toString(), match, 'gitdir'), { encoding: 'utf-8' })) + .toString() + .trim() + ) + : undefined; + + return worktreeRoot ? worktreeRoot : dir; +}; + +/** + * Find the worktree paths required for handling objects tracked under git-based version control. + * This function is capable of discerning paths maintained in linked worktrees and translating + * paths accordingly. + * @param target - The relative or absolute path to a file or directory. + * @returns {Promise} A `WorktreePaths` object containing all valid paths, and + * excluding any irrelevant paths (i.e. paths associated with linked worktrees when the target is + * maintained in the main worktree directory). + */ +export const getWorktreePaths = async (target: PathLike): Promise => { + const root = await getRoot(target); + // check for target parameter being contained within a linked worktree + const isLinkedWorktree = root ? !(await isDirectory(join(root.toString(), '.git'))) : false; + // check for target parameter being contained within a `GIT_DIR/worktrees/{branch}` directory + const isWorktreesDir = root + ? /^\.git([\\]+|\/)worktrees([\\]+|\/).+/.test(relative(root.toString(), target.toString())) + : false; + + if (isWorktreesDir && root) { + const dir = root; + const gitdir = dir ? join(dir.toString(), '.git') : undefined; + const worktrees = gitdir ? join(gitdir, 'worktrees') : undefined; + + const match = relative(dir.toString(), target.toString()).match( + /(?<=^\.git[\\/]+worktrees[\\/]+)([^\\/\n]+)/ + ); + const branch = match ? match[0] : undefined; + + const worktreeGitdir = + worktrees && branch + ? (await readFileAsync(join(worktrees, branch, 'gitdir'), { encoding: 'utf-8' })) + .toString() + .trim() + : undefined; + const worktreeDir = worktreeGitdir ? join(worktreeGitdir, '..') : undefined; + const worktreeGitdirExists = worktreeGitdir ? await pathExists(worktreeGitdir) : false; + + const worktreeLink = + worktreeGitdir && worktreeGitdirExists + ? (await readFileAsync(worktreeGitdir, { encoding: 'utf-8' })) + .toString() + .slice('gitdir: '.length) + .trim() + : undefined; + + return { dir, gitdir, worktrees, worktreeDir, worktreeGitdir, worktreeLink }; + } + + // calculate paths associated with a linked worktree + const worktreeDir = isLinkedWorktree ? root : undefined; + const worktreeGitdir = worktreeDir ? join(worktreeDir.toString(), '.git') : undefined; + + const worktreeLink = worktreeGitdir + ? (await readFileAsync(worktreeGitdir, { encoding: 'utf-8' })) + .toString() + .slice('gitdir: '.length) + .trim() + : undefined; + + // calculate paths associated with the main worktree + const dir = !isLinkedWorktree ? root : await getRoot(worktreeLink as string); + const gitdir = dir ? join(dir.toString(), '.git') : undefined; + const worktreesPath = gitdir ? join(gitdir, 'worktrees') : undefined; + // verify that the `GIT_DIR/worktrees` directory exists + const worktrees = + worktreesPath && !(await extractStats(worktreesPath)) ? undefined : worktreesPath; + + return { dir, gitdir, worktrees, worktreeDir, worktreeGitdir, worktreeLink }; +}; diff --git a/src/preload/git/git-remote.ts b/src/preload/git/git-remote.ts new file mode 100644 index 000000000..354c907b7 --- /dev/null +++ b/src/preload/git/git-remote.ts @@ -0,0 +1,67 @@ +import type { PathLike } from 'fs-extra'; +import { execute } from '../io'; +import { isDefined, removeNullableProperties, removeUndefined } from '../utils'; + +export type RemoteOutput = { + remote: string; + url?: URL | PathLike; + type?: 'fetch' | 'push'; +}; + +const isRemoteType = (type: string | undefined): type is 'fetch' | 'push' => { + return type === 'fetch' || type === 'push'; +}; + +/** + * Manage the set of remote repositories whoe branches are tracked. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.verbose - More verbose output that includes remote URL and type. + * @returns {Promise>} A Promise object containing an array of + * {@link RemoteOutput} objects representing tracked repositories. + */ +export const getRemote = async ({ + dir, + verbose = false +}: { + dir: PathLike; + verbose?: boolean; +}): Promise> => { + const options = removeUndefined([verbose ? '--verbose' : undefined]); + + const output = await execute({ + command: 'git', + args: ['remote', ...options], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processRemoteOutput(output.stdout); +}; + +export const processRemoteOutput = (output: string | undefined): RemoteOutput[] => { + if (!isDefined(output)) return []; + const result: RemoteOutput[] = output + .split(/\r?\n/) + .map(line => { + /** + * Regex pattern matches with the following capture groups: + * [1] remote name + * [2] remote URL (or path if locally hosted) + * [3] remote type (`fetch` or `pull`) + */ + const linePattern = new RegExp('^(\\S*)(?:\\t(\\S*))?(?: \\((\\S*)\\))?', 'g'); + + const lineResult = linePattern.exec(line); + const name = lineResult?.[1]; + const url = lineResult?.[2]; + const type = lineResult?.[3]; + return name + ? { + remote: name, + ...removeNullableProperties({ url: url, type: isRemoteType(type) ? type : undefined }) + } + : undefined; + }) + .filter(isDefined); + return result; +}; diff --git a/src/preload/git/git-reset.ts b/src/preload/git/git-reset.ts new file mode 100644 index 000000000..3e3bc287d --- /dev/null +++ b/src/preload/git/git-reset.ts @@ -0,0 +1,38 @@ +import type { PathLike } from 'fs-extra'; +import type { SHA1 } from 'types/app'; +import { execute } from '../io'; + +type ResetMode = 'soft' | 'hard' | 'mixed' | 'merge' | 'keep'; + +/** + * Reset current HEAD reference to point to a specified state; i.e. undo a set of changes + * indicated by commits at the head of a branch and reset the branch to point to the + * target `commit`. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.mode - Optional mode for determining the `git-reset` operation. + * @param obj.commit - The SHA1 commit hash or branch name to reset file objects back to. + * @returns {Promise} A Promise object containing a boolean indicating whether the file + * content and branch references were successfully reset. + */ +export const reset = async ({ + dir, + mode = 'mixed', + commit +}: { + dir: PathLike; + mode?: ResetMode; + commit: SHA1; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['reset', `--${mode}`, commit.toString()], + cwd: dir.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; diff --git a/src/preload/git/git-restore.ts b/src/preload/git/git-restore.ts new file mode 100644 index 000000000..2cd6518e7 --- /dev/null +++ b/src/preload/git/git-restore.ts @@ -0,0 +1,48 @@ +import type { PathLike } from 'fs-extra'; +import { execute } from '../io'; +import { getWorktreePaths } from './git-path'; + +/** + * Restore specified paths in the working tree with some contents from a restore source. If a path + * is tracked but does not exist in the restore source, it will be removed to match the source. + * + * The command can also be used to restore the content in the index with `staged` option enabled, + * or restore both the working tree and the index with the `staged` and `worktree` options both + * enabled. + * + * By default, if `staged` is enabled, the contents are restored from HEAD, otherwise from the + * index. + * @param obj - A destructured object for named parameters. + * @param obj.filepath - The relative or absolute path to restore. + * @param obj.staged - Optional flag to restore the content in the index. + * @param obj.worktree - Optional flag to restore the working tree; default is true when both + * `worktree` and `staged` are not used. + * @returns {Promise} A Promise object containing a boolean indicating whether the file + * content was successfully restored. + */ +export const restore = async ({ + filepath, + staged = false, + worktree = false +}: { + filepath: PathLike; + staged?: boolean; + worktree?: boolean; +}): Promise => { + const { dir, worktreeDir } = await getWorktreePaths(filepath.toString()); + if (!dir) return false; // not under version control + + const root = worktreeDir ? worktreeDir : dir; + + const output = await execute({ + command: 'git', + args: ['restore', staged ? '--staged' : '', worktree ? '--worktree' : '', filepath.toString()], + cwd: root.toString() + }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; diff --git a/src/preload/git/git-rev-list.ts b/src/preload/git/git-rev-list.ts new file mode 100644 index 000000000..c058bcd19 --- /dev/null +++ b/src/preload/git/git-rev-list.ts @@ -0,0 +1,34 @@ +import type { PathLike } from 'fs-extra'; +import { execute } from '../io'; + +/** + * Lists commit objects in reverse chronological order. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.commitish - The list of SHA1 commit hashes or branch names to include; or exclude if `^` is given in front of an entry. + * @param obj.path - Restrict to only commits modifying a particular path. + * @param obj.options - Options for limiting the commits to be returned; see https://git-scm.com/docs/git-rev-list#_options. + * @param obj.count - Print a number stating how many commits whould have been listed, and suppress all other output. + * @returns {string} Raw output of commit objects (or count in the case of `count` option). + */ +export const revList = async ({ + dir, + commitish, + path, + options, + count = false +}: { + dir: PathLike; + commitish: string[]; + path?: PathLike; + options?: string; + count?: boolean; +}): Promise => { + const output = await execute({ + command: 'git', + args: ['rev-list', count ? '--count' : '', options ?? '', ...commitish, path?.toString() ?? ''], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return output.stdout ?? ''; +}; diff --git a/src/preload/git/git-rev-parse.ts b/src/preload/git/git-rev-parse.ts new file mode 100644 index 000000000..59af212ae --- /dev/null +++ b/src/preload/git/git-rev-parse.ts @@ -0,0 +1,56 @@ +import type { PathLike } from 'fs-extra'; +import { execute } from '../io'; + +type RevParseOption = 'verify' | 'isBareRepository' | 'isShallowRepository' | 'abbrevRef'; + +/** + * Pick out and massage parameters for accessing porcelainish commands. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.opts - The options fo distinguishing particular parameters. + * @param obj.args - Flags and parameters to be parsed. + * @returns {Promise} A Promise object containing a string version of the output results, + * or `undefined` if execute failed. If `verify` option is used, this becomes `true`/`false` strings. + */ +export const revParse = async ({ + dir, + opts, + args +}: { + dir: PathLike; + opts?: RevParseOption[]; + args?: string[]; +}): Promise => { + const options = opts?.map(opt => processRevParseOption(opt)) ?? []; + const argument = args ?? []; + + const output = await execute({ + command: 'git', + args: ['rev-parse', ...options, ...argument], + cwd: dir.toString() + }); + if (output.stderr) { + if (options.includes('--verify')) return 'false'; + console.error(output.stderr); + } + if (options.includes('--verify')) return 'true'; + if (output.stdout) return output.stdout.trim(); + return undefined; +}; + +const processRevParseOption = (option: RevParseOption) => { + switch (option) { + case 'isBareRepository': { + return '--is-bare-repository'; + } + case 'isShallowRepository': { + return '--is-shallow-repository'; + } + case 'abbrevRef': { + return '--abbrev-ref'; + } + case 'verify': { + return '--verify'; + } + } +}; diff --git a/src/preload/git/git-show-branch.ts b/src/preload/git/git-show-branch.ts new file mode 100644 index 000000000..1758af5b8 --- /dev/null +++ b/src/preload/git/git-show-branch.ts @@ -0,0 +1,76 @@ +import type { PathLike } from 'fs-extra'; +import type { Branch } from 'types/branch'; +import type { Expand, WithRequired } from 'types/util'; +import { execute } from '../io'; +import { isDefined, removeUndefined } from '../utils'; +import { getRemote } from './git-remote'; + +type BranchOutput = Expand>, 'ref' | 'scope'>>; + +/** + * Show branches and their commits. + * @param obj - A destructured object for named properties. + * @param obj.dir - The worktree root directory. + * @param obj.all - Show both remote-tracking branches and local branches. + * @param obj.remotes - Show the remote-tracking branches. + * @param obj.list - Usually the command stops output upon showing the commit that is the common ancestor + * of all the branches. This flag tells the command to display only the references given, without showing + * the commit ancestory tree. + * @returns {Promise>} A Promise object containing an array of + * {@link BranchOutput} objects representing tracked branches. + */ +export const showBranch = async ({ + dir, + all = false, + remotes = false, + list = true +}: { + dir: PathLike; + all?: boolean; + remotes?: boolean; + list?: boolean; +}): Promise> => { + const options = removeUndefined([ + all ? '--all' : undefined, + remotes ? '--remotes' : undefined, + list ? '--list' : undefined + ]); + + const output = await execute({ + command: 'git', + args: ['show-branch', ...options], + cwd: dir.toString() + }); + const remoteNames = (await getRemote({ dir: dir })).map(r => r.remote); + if (output.stderr) console.error(output.stderr); + return processShowBranchOutput(output.stdout, remoteNames); +}; + +export const processShowBranchOutput = ( + output: string | undefined, + remotes: string[] +): BranchOutput[] => { + if (!isDefined(output)) return []; + const result: BranchOutput[] = output + .split(/\r?\n/) + .map(line => { + /** + * Regex pattern matches with the following capture groups: + * [1] type of branch (`*` indicates current branch in the `dir` directory, otherwise `` for all other tracked branches) + * [2] remote repository alias (i.e. only present if ref is for a remote branch; typically set to `origin`) + * [3] branch ref (e.g. `master` or `feature/perf-improvements`) + */ + const linePattern = new RegExp( + `^(?:(\\*)|(?: )) \\[(?:(${remotes.join('|')})/)?(.*)\\]`, + 'g' + ); + + const lineResult = linePattern.exec(line); + const scope: 'local' | 'remote' = lineResult?.[2] ? 'remote' : 'local'; + const remote = lineResult?.[2] ?? 'origin'; + const ref = lineResult?.[3]; + return ref ? { ref: ref, scope: scope, remote: remote } : undefined; + }) + .filter(isDefined); + return result; +}; diff --git a/src/preload/git/git-status.ts b/src/preload/git/git-status.ts new file mode 100644 index 000000000..1ab0ef71a --- /dev/null +++ b/src/preload/git/git-status.ts @@ -0,0 +1,226 @@ +import { pathExists } from 'fs-extra'; +import { join, relative, resolve, sep } from 'path'; +import { execute, isDirectory, isEqualPaths } from '../io'; +import { getIgnore } from './git-ignore'; +import { getRoot, getWorktreePaths } from './git-path'; +import { BranchStatus, GitStatus, PathLike } from 'types/app'; + +type StatusOutput = { + ref: string; + root: PathLike; + status: BranchStatus; + bare: boolean; + entries: { path: PathLike; status: GitStatus }[]; +}; + +/** + * Show the working tree status. This command displays paths that have differences between the + * index file and the current HEAD commit, paths that have differences between the working tree and + * the index file, and paths in the working tree that are not tracked by *git* (and are not ignored + * by `git-ignore`). + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.pathspec - Pattern used to limit paths in *git* commands. See additional documentation: + * {@link https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefpathspecapathspec pathspec}. + * @param obj.ignored - Optional flag to include ignored files in the output; defaults to false. + * @returns {Promise} A Promise object containing a {@link StatusOutput} + * object with branch status information, or `undefined` if not contained within a directory + * tracked by version control. + */ +export const worktreeStatus = async ({ + dir, + pathspec, + ignored = false +}: { + dir: PathLike; + pathspec?: PathLike | string; + ignored?: boolean; +}): Promise => { + /** + * Regex pattern matches with the following capture groups: + * [1] base branch ref (e.g. `main` from `## main`) + * [2] optional compare branch ref (e.g. `origin/main` from `## main...origin/main`) + */ + const branchesPattern = new RegExp('^## (.+?)(?:(?:\\.\\.\\.)(.+?))?$', 'gm'); + /** + * Regex pattern matches with the following capture groups: + * [1] status code (e.g. ` M` or `DD`) + * [2] relative filepath from root path (e.g. `src/component/Dialog`) + */ + const entriesPattern = new RegExp('(?<=\\r?\\n)(.{2}) (.*)', 'gm'); + const root = await getRoot(dir); + if (!root) return undefined; + const ignore = await getIgnore(root); + + const output = await execute({ + command: 'git', + args: [ + 'status', + '--porcelain', + '--branch', + ignored ? '--ignored' : '', + pathspec?.toString() ?? '' + ], + cwd: dir.toString() + }); + + const ref = output.stdout ? branchesPattern.exec(output.stdout)?.[1] : undefined; + const parentEntries: { path: PathLike; status: GitStatus }[] = []; + const entries: { path: PathLike; status: GitStatus }[] = Array.from( + output.stdout?.matchAll(entriesPattern) ?? [] + ) + .map(e => { + const filepath = e[2] as string; + const isIgnored = ignore.ignores(filepath); + // if git-status returns a filepath that includes parent directories + // (e.g. `lib/sample/example.ts`), then each parent must be updated + if (filepath.includes(sep)) { + const parentNames = filepath.split(sep).slice(0, -1); + const parents = parentNames.map((name, index) => + parentNames.slice(0, index).concat(name).join(sep) + ); + + parents.map(parent => { + const parentPath = resolve(root.toString(), parent); + if ( + !parentEntries.find(entry => isEqualPaths(entry.path, parentPath)) && + !isEqualPaths(parentPath, resolve(root.toString(), filepath)) + ) { + parentEntries.push({ + path: parentPath, + status: isIgnored ? 'ignored' : processStatusCode(e[1]) + }); + } + }); + } + return { + path: resolve(root.toString(), filepath), + status: isIgnored ? 'ignored' : processStatusCode(e[1]) + }; + }) + .concat(parentEntries); + const worktreePaths = await getWorktreePaths(root); + const mergingHead = worktreePaths.worktreeLink + ? await pathExists(join(worktreePaths.worktreeLink.toString(), 'MERGE_HEAD')) + : false; // check for an in-progress merge + const status: BranchStatus = + entries.find(e => e.status === 'unmerged') || mergingHead + ? 'unmerged' + : entries.length == 0 + ? 'clean' + : entries.every(e => e.status.startsWith('*') || e.status === 'absent') + ? 'unstaged' + : 'uncommitted'; + if (output.stderr) console.error(output.stderr); + + return { + ref: ref ? ref : '', + root: dir, + status: status, + bare: ref ? false : true, + entries: entries + }; +}; + +/** + * Show the git status for a specific file in the working tree. This is a convenience command for + * examining individual files and directories using the output from {@link worktreeStatus}. In the + * case of a directory, the resulting status is limited to indicating whether the directory is + * `ignored`, `unmodified`, `*modified`, `modified`, or `unmerged`. + * @param filepath - The relative or absolute path to evaluate. + * @returns {Promise} A Promise object containing the {@link GitStatus} for an + * individual filepath. + */ +export const fileStatus = async (filepath: PathLike): Promise => { + const root = await getRoot(filepath); + if (!root) { + console.error('git-status error: no .git exists within parent directories'); + return undefined; + } + const branchStatus = await worktreeStatus({ dir: root.toString(), pathspec: filepath }); + if (!branchStatus) { + console.error('git-status error: path not contained in a directory tracked by version control'); + return undefined; + } + const isDir = await isDirectory(filepath); + if (isDir) { + const isIgnored = isEqualPaths(root, filepath) + ? false + : (await getIgnore(root)).ignores(relative(root.toString(), filepath.toString())); + if (isIgnored) return 'ignored'; + + /** + * git-status might specify status for directories when unstaging using `git-restore` (e.g. + * unstaging a directory that is not currently tracked by git results in `added` instead of + * `*modified` status) + */ + const specifiedStatus = branchStatus.entries.find(e => + isEqualPaths(e.path, resolve(root.toString(), filepath.toString())) + )?.status; + if (specifiedStatus) return specifiedStatus; + + switch (branchStatus.status) { + case 'clean': + return 'unmodified'; + case 'unstaged': + return '*modified'; + case 'uncommitted': + return 'modified'; + case 'unmerged': + return 'unmerged'; + } + } else { + return ( + branchStatus.entries.find(e => + isEqualPaths(e.path, resolve(root.toString(), filepath.toString())) + )?.status ?? 'unmodified' + ); + } +}; + +/** + * Convert 2-digit status code to a {@link GitStatus} value, input format per + * https://git-scm.com/docs/git-status#_short_format: + * + * | X | Y | Meaning | + * | -------- | -------- | ------------------------------------- | + * | | [AMD] | not updated | + * | M | [ MTD] | updated in index | + * | T | [ MTD] | type changed in index | + * | A | [ MTD] | added to index | + * | D | | deleted from index | + * | R | [ MTD] | renamed in index | + * | C | [ MTD] | copied in index | + * | [MTARC] | | index and work tree matches | + * | [ MTARC] | M | work tree changed since index | + * | [ MTARC] | T | type changed in work tree since index | + * | [ MTARC] | D | deleted in work tree | + * | | R | renamed in work tree | + * | | C | copied in work tree | + * | D | D | unmerged, both deleted | + * | A | U | unmerged, added by us | + * | U | D | unmerged, deleted by them | + * | U | A | unmerged, added by them | + * | D | U | unmerged, deleted by us | + * | A | A | unmerged, both added | + * | U | U | unmerged, both modified | + * | ? | ? | untracked | + * | ! | ! | ignored | + * @param statusCode - A 2-digit status code from `git status --short` + * @returns {GitStatus} An enumerated git status value. + */ +export const processStatusCode = (statusCode: string | undefined): GitStatus => { + if (!statusCode) return 'unmodified'; + if (statusCode == '!!') return 'ignored'; // git-ignore rules exclude this filepath + if (statusCode == '??') return 'absent'; // untracked path; not present in index or working tree + if (/(DD|AA|.U|U.)/.test(statusCode)) return 'unmerged'; // unmerged; merge conflict has occurred and has not yet been resolved + if (/M(?=[ MTD])/.test(statusCode)) return 'modified'; + if (/(?=[ MTD])M/.test(statusCode)) return '*modified'; + if (/A(?=[ MTD])/.test(statusCode)) return 'added'; + if (/(?=[ MTD])A/.test(statusCode)) return '*added'; + if (/D(?=[ MTD])/.test(statusCode)) return 'deleted'; + if (/(?=[ MTD])D/.test(statusCode)) return '*deleted'; + + console.error(`Unable to convert '${statusCode}' status code`); + return 'unmodified'; +}; diff --git a/src/preload/git/git-utils.ts b/src/preload/git/git-utils.ts new file mode 100644 index 000000000..9bb02e729 --- /dev/null +++ b/src/preload/git/git-utils.ts @@ -0,0 +1,107 @@ +import { toHTTPS } from 'git-remote-protocol'; +import parsePath from 'parse-path'; +import parseUrl from 'parse-url'; +import type { Repository } from 'types/repo'; +import { ParseArgsConfig, parseArgs } from 'util'; +import { isWebUri } from 'valid-url'; +import { isDefined } from '../utils'; + +export const revParseArgs = ( + args: { [k: string]: boolean }, + options: ParseArgsConfig['options'] +) => { + const definedArgs: string[] = Object.entries(args) + .filter(([, v]) => v === true) + .map(([k]) => `--${k}`); + return parseArgs({ args: definedArgs, options, tokens: true }).values; +}; + +export const errorLogger = ( + isError: boolean, + error: string, + fields: Map +) => { + if (isError) { + console.groupCollapsed( + `%c${error} :`, + 'background: aquamarine; color: #444; padding: 3px; border-radius: 5px;' + ); + console.log(fields); + console.groupEnd(); + } +}; + +/** + * Parse a URL to extract Git repository name, typically based on the remote origin URL. + * @param url The URL to evaluate; can use http, https, ssh, or git protocols. + * @returns {string} The repository name (e.g. 'username/repo'). + */ +export const extractRepoName = (url: URL | string): string => { + const parsedPath = typeof url === 'string' ? parseUrl(url, false) : parseUrl(url.href, false); + return parsedPath.pathname.replace(/^(\/*)(?:snippets\/)?/, '').replace(/\.git$/, ''); +}; + +/** + * Parse a URL to extract components and protocols, along with the OAuth resource authority + * (GitHub, BitBucket, or GitLab) for processing with the isomorphic-git library module. + * @param url The URL to evaluate; can use http, https, ssh, or git protocols. + * @returns {{ url: parsePath.ParsedPath; oauth: Repository['oauth'] }} A JavaScript object + * (key-value) with the parsePath.ParsedPath object and OAuth resource name. + */ +export const extractFromURL = ( + url: URL | string +): { url: parsePath.ParsedPath; oauth: Repository['oauth'] } => { + const parsedUrl = typeof url === 'string' ? parseUrl(url) : parseUrl(url.href); + let oauth: Repository['oauth'] = 'github'; + switch (parsedUrl.resource) { + case parsedUrl.resource.match(/github\.com/) ? parsedUrl.resource : undefined: + oauth = 'github'; + break; + case parsedUrl.resource.match(/bitbucket\.org/) ? parsedUrl.resource : undefined: + oauth = 'bitbucket'; + break; + case parsedUrl.resource.match(/gitlab.*\.com/) ? parsedUrl.resource : undefined: + oauth = 'gitlab'; + break; + } + return { url: parsePath(resolveURL(parsedUrl.href)), oauth: oauth }; +}; + +/** + * Examines a Repository object to determine if it is well-formed. The `id` field is validated to + * be compliant with UUID version 4 (RFC4122), the `corsProxy` and `url` fields are validated to be + * well-formed HTTP or HTTPS URI (RFC3986), or valid SSH URI (Provisional IANA format standard) in + * the case of the `url` field. + * @param repo A Repository object. + * @returns {boolean} A boolean indicating a well-formed Repository on true, and false otherwise. + */ +export const isValidRepository = (repo: Repository): boolean => + isDefined(repo.id) && + repo.name.length > 0 && + (isWebUri(repo.corsProxy) ? true : false) && + isValidRepositoryURL(repo.url); + +/** + * Checks for valid URL that is a well-formed HTTP or HTTPS URI (RFC3986), or valid SSH URI + * (Provisional IANA format standard). + * @param url A repository URL string. + * @returns {boolean} A boolean indicating a well-formed repository URL on true, and false + * otherwise. + */ +export const isValidRepositoryURL = (url: string): boolean => + (isWebUri(url) ? true : false) || + /((git|ssh?)|(git@[\w.]+))(:(\/\/)?)([\w.@:/\-~]+)(\.git)(\/)?/.test(url); + +/** + * Checks for ssh or git protocols in use within a URL and converts to http/https. This is directly + * needed in order to support **isomorphic-git** commands that require a URL, but do not currently + * support ssh or git protocols. See + * https://github.com/isomorphic-git/isomorphic-git/issues/665 or https://github.com/isomorphic-git/isomorphic-git/issues/231. + * @param url The URL to evaluate; can use http, https, ssh, or git protocols. + * @returns {string} A string containing an https protocol URL that matches to the incoming URL + * variant. + */ +export const resolveURL = (url: string): string => { + const isSSH = /((git|ssh?)|(git@[\w.]+))(:(\/\/)?)([\w.@:/\-~]+)(\.git)(\/)?/.test(url); + return isSSH ? toHTTPS(url) : url; +}; diff --git a/src/preload/git/git-version.ts b/src/preload/git/git-version.ts new file mode 100644 index 000000000..f4745a14b --- /dev/null +++ b/src/preload/git/git-version.ts @@ -0,0 +1,30 @@ +import { coerce, satisfies } from 'semver'; +import { execute } from '../io'; + +/** + * Check for a locally installed version of git and verify that it satisfies a minimum version for specific functionality. + * @param range A range comparator string (satisfying {@link https://github.com/npm/node-semver#ranges node-semver#ranges} format). + * @param verbose Optional flag to provide feedback messages in `console.log` on success; errors are always shown in `console.error`. + * @returns {Promise} A Promise object containing a boolean indicating whether git is installed and has a version that + * satisfies the provided version range. + */ +export const checkGitVersion = async (range: string, verbose = false): Promise => { + const output = await execute({ command: 'git', args: ['version'] }); + if (output.stderr) { + console.error(output.stderr); + return false; + } + + const version = coerce(output.stdout); + if (!version) { + console.error(`unable to detect git installation...`); + return false; + } + + const satisfied = satisfies(version, range); + if (!satisfied) + console.error(`git version ${version.version} does not meet minimum range ${range}`); + if (verbose && satisfied) + console.log(`git version ${version.version} satisfies minimum range ${range}`); + return satisfied; +}; diff --git a/src/preload/git/git-worktree.ts b/src/preload/git/git-worktree.ts new file mode 100644 index 000000000..7d865b2d0 --- /dev/null +++ b/src/preload/git/git-worktree.ts @@ -0,0 +1,427 @@ +import type { PathLike } from 'fs-extra'; +import type { Branch } from 'types/branch'; +import type { Expand, WithRequired } from 'types/util'; +import { execute } from '../io'; +import { isDefined, removeNullableProperties } from '../utils'; +import { checkGitVersion } from './git-version'; + +type BranchOutput = Expand>, 'ref'>>; + +/** + * Create a worktree at `path` and checkout `commitish` into it. The new worktree is linked to the + * current repository, sharing everything except per-workrtree files such as `HEAD`, `index`, etc. + * As a convenience, `commitish` may be a bare `"-"`, which is synonymous with `@{-1}`. Matches the + * functionality of [`git-worktree.add`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-addltpathgtltcommit-ishgt) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory of the main worktree in the repository (i.e. the + * worktree directory containing a `.git` directory). + * @param obj.path - The worktree root directory where the new worktree will be created. + * @param obj.force - Optional flag to override the safeguards that prevent creating a new wortkree + * when `commitish` is a branch name and is already checked out by another worktree, or if `path` is + * already assigned to some worktree but is missing. + * @param obj.detach - Optional flag to detach HEAD in the new worktree. + * @param obj.checkout - Optional flag to enable/disable the suppression of checkout in order to + * make customizations, such as configuring sparse-checkout. + * @param obj.lock - Keep the worktree locked after creation. This is the equivalent of `git + * worktree lock` after `git worktree add`, but without a race condition. + * @param obj.newBranch - Create a new branch using the provided name starting at `commitish`, and + * checked out into the new worktree. Defaults to `HEAD`. + * @param obj.commitish - The SHA1 commit hash or branch name to checkout into the `path` directory. + * @param obj.quiet - Optional flag to suppress feedback messages. + * @returns {Promise} A Promise object containing a boolean indicating whether the worktree + * was successfully added. + */ +export const worktreeAdd = async ({ + dir, + path, + force = false, + detach = false, + checkout = true, + lock = false, + newBranch, + commitish, + quiet = false +}: { + dir: PathLike; + path: PathLike; + force?: boolean; + detach?: boolean; + checkout?: boolean; + lock?: false | (true & { reason?: string }); + newBranch?: string; + commitish?: string; + quiet?: false; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: [ + 'worktree', + 'add', + force ? '--force' : '', + detach ? '--detach' : '', + checkout ? '' : '--no-checkout', + lock ? `--lock ${lock.reason ?? ''}` : '', + newBranch ? `-b ${newBranch}` : '', + path.toString(), + commitish ?? '' + ], + cwd: dir.toString() + }); + if ( + !quiet && + (output.stderr?.search(/fatal:/) !== -1 || output.stderr?.search(/Preparing worktree/) == -1) + ) { + // Note: `git worktree add` behaves slightly strange and outputs "Preparing worktree (checking + // out 'branch name')" in `stderr` on success + console.error(output.stderr); + return false; + } + if (!quiet && output.stdout) console.log(output.stdout); + return true; +}; + +/** + * List details of each worktree. The main worktree is listed first, followed by each of the linked + * worktrees. The output details include whether the worktree is bare, the revision currently + * checked out, the branch currently checked out (or "detached HEAD" if none), "locked" if the + * worktree is locked, "prunable" if the worktree can be pruned by the {@link worktreePrune} + * command. Matches the functionality of + * [`git-worktree.list`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-list) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.verbose - Optional flag to output additional information about worktrees. + * @param obj.porcelain - Optional flag to output in an easy-to-parse format for scripts. + * @returns {Promise>} A Promise object containing a list + * of {@link BranchOutput} objects representing each worktree. + */ +export const worktreeList = async ({ + dir, + verbose = false, + porcelain = false +}: { + dir: PathLike; + verbose?: boolean; + porcelain?: boolean; +}): Promise> => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'list', verbose ? '--verbose' : '', porcelain ? '--porcelain' : ''], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + return processWorktreeOutput(output.stdout, porcelain); +}; + +/** + * If a worktree is on a portable device or network share which is not always mounted, lock it to + * prevent its administrative files from being pruned automatically. This also prevents it from + * being moved or deleted. Matches the functionality of + * [`git-worktree.lock`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-lock) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.worktree - Worktrees can be identified by path, either relative or absolute. If the + * last path components in the worktree's path is unique among worktrees, it can be used to identify + * a worktree. + * @param obj.reason - Optional explanation why the worktree is locked. + * @returns {Promise} A Promise object containing a boolean indicating whether the worktree + * was successfully locked. + */ +export const worktreeLock = async ({ + dir, + worktree, + reason +}: { + dir: PathLike; + worktree: string; + reason?: string; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'lock', reason ? `--reason "${reason}"` : '', worktree.toString()], + cwd: dir.toString() + }); + // TODO: false should be returned when the output is `fatal: {worktree} is already locked` + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Move a worktree to a new location. Note that the main worktree or linked worktrees containing + * submodules cannot be moved with this command. (The {@link worktreeRepair} command, however, can + * re-establish the connection with linked worktrees if you move the main worktree manually.) + * Matches the functionality of + * [`git-worktree.move`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-move) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.worktree - Worktrees can be identified by path, either relative or absolute. If the + * last path components in the worktree's path is unique among worktrees, it can be used to identify + * a worktree. + * @param obj.newPath - The new path to move the worktree to. + * @returns {Promise} A Promise object containing a boolean indicating whether the worktree + * was successfully moved. + */ +export const worktreeMove = async ({ + dir, + worktree, + newPath +}: { + dir: PathLike; + worktree: string; + newPath: PathLike; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'move', worktree.toString(), newPath.toString()], + cwd: dir.toString() + }); + // TODO: false should be returned when the output is `fatal: {worktree} is locked` + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Utility type for expressing expiration times in the supported Git format. Valid inputs include: + * | format | description | + * | ---------------- | -------------------------------------------------------------------- | + * | `{n}.days` | Restricts expiration to worktrees older than `n` days from today. | + * | `{n}.weeks.ago` | Restricts expiration to worktrees older than `n` weeks from today. | + * | `{n}.months.ago` | Restricts expiration to worktrees older than `n` months from today. | + * | `now` | Expires all worktrees immediately. | + * | `never` | Suppresses expiration altogether. | + */ +type ExpireTime = + | 'now' + | `${number}.day` + | `${number}.weeks.ago` + | `${number}.months.ago` + | `${number}.years.ago` + | 'never'; + +/** + * Prune worktree information in `$GIT_DIR/worktrees` to remove any stale administrative files, + * unless the worktree is `locked` via `git worktree lock` command. Matches the functionality of + * [`git-worktree.prune`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-prune) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.dryRun - Do not remove anything; just report what it would remove. + * @param obj.verbose - Report all removals. + * @param obj.expire - Only expire unused worktrees older than the {@link ExpireTime} restriction. + */ +export const worktreePrune = async ({ + dir, + dryRun = false, + verbose = false, + expire +}: { + dir: PathLike; + dryRun?: boolean; + verbose?: boolean; + expire?: ExpireTime; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: [ + 'worktree', + 'prune', + dryRun ? '--dry-run' : '', + verbose ? '--verbose' : '', + expire ? `--expire=${expire}` : '' + ], + cwd: dir.toString() + }); + // TODO: Properly format the outputs for the `dryRun` and `verbose` options such that they can be ingested by other functions + if (output.stderr) console.error(output.stderr); + if (verbose && output.stdout) console.log(output.stdout); +}; + +/** + * Remove a worktree. Only clean worktrees (no untracked files and no modification in tracked files) + * can be removed. Unclean worktrees or ones with submodules can be removed with the `force` option + * enabled. The main worktree cannot be removed. Matches the functionality of + * [`git-worktree.remove`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-remove) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.worktree - The branch name associated with the worktree. + * @param obj.force - Optional flag to override the safeguards that prevent removing unclean + * worktrees or ones with submodules. + * @returns {boolean} A Promise object containing a boolean indicating whether the worktree was + * successfully removed. + */ +export const worktreeRemove = async ({ + dir, + worktree, + force = false +}: { + dir: PathLike; + worktree: string; + force?: boolean; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'remove', force ? '--force' : '', worktree.toString()], + cwd: dir.toString() + }); + // TODO: false should be returned when the output is `fatal: {worktree} is locked` + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +/** + * Repair worktree administrative files, if possible, if they have become corrupted or outdated due + * to external factors. For instance, if the main worktree (or bare repository) is moved, linked + * worktrees will be unable to locate it. Running `git worktree repair` in the main worktree will + * re-establish the connection from linked worktrees back to the main worktree. Similarly, if the + * working tree for a linked worktree is moved without using `git worktree move`, the main worktree + * (or bare repository) will be unable to locate it. Running `git worktree repair` within the + * recently-moved worktree will reestablish the connection. Matches the functionality of + * [`git-worktree.repair`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-repairltpathgt82308203) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.paths - List of new paths for linked worktrees that were moved, so that the connection + * to all the specified paths is reestablished. + */ +export const worktreeRepair = async ({ + dir, + paths +}: { + dir: PathLike; + paths?: PathLike[]; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'repair', ...(paths?.map(toString) ?? [])], + cwd: dir.toString() + }); + if (output.stderr) console.error(output.stderr); + if (output.stdout) console.log(output.stdout); +}; + +/** + * Unlock a worktree, allowing it to be pruned, moved or deleted. Matches the functionality of + * [`git-worktree.unlock`](https://git-scm.com/docs/git-worktree#Documentation/git-worktree.txt-unlock) + * command. + * @param obj - A destructured object for named parameters. + * @param obj.dir - The worktree root directory. + * @param obj.worktree - The branch name associated with the worktree. + * @returns {Promise} A Promise object containing a boolean indicating whether the worktree + * was successfully unlocked. + */ +export const worktreeUnlock = async ({ + dir, + worktree +}: { + dir: PathLike; + worktree: string; +}): Promise => { + await checkGitVersion('>=2.5'); // Linked worktrees require minimum git version 2.5: https://github.blog/2015-07-29-git-2-5-including-multiple-worktrees-and-triangular-workflows/ + const output = await execute({ + command: 'git', + args: ['worktree', 'unlock', worktree.toString()], + cwd: dir.toString() + }); + // TODO: false should be returned when the output is `fatal: {worktree} is not locked` + if (output.stderr) { + console.error(output.stderr); + return false; + } + if (output.stdout) console.log(output.stdout); + return true; +}; + +export const processWorktreeOutput = ( + output: string | undefined, + porcelain = false +): BranchOutput[] => { + if (!isDefined(output)) return []; + if (porcelain) { + /** + * Regex patterns that matches the following capture groups: + * [1] worktree root directory path + * [2] sha1 hash for the head of the branch (e.g. `e629b39c2`) + * [3] indicator for a bare repository state + * [4] branch ref; shortened (e.g. `master` from `refs/heads/master`) + * [5] indicator for a detached HEAD state + * [6] indicator for a locked worktree + * [7] indicator for a prunable worktree (i.e. `prunable` if the worktree can be pruned via + * `git worktree prune`) + */ + const linePattern = new RegExp( + '(?:worktree )(\\S+)(?:(?:\\r?\\nHEAD )([0-9a-f]{1,40}))?(?:(?:\\r?\\n)(bare))?(?:(?:\\r?\\nbranch )(\\S+))?(?:\\r?\\n(detached))?(?:\\r?\\n(locked))?(?:\\r?\\n(prunable))?', + 'gm' + ); + return Array.from(output.matchAll(linePattern), line => { + const worktree = line[1]; + const head = line[2]; + const bare = line[3] == 'bare'; + const detached = line[5] === 'detached'; + const branch = bare ? '' : detached ? 'detached' : line[4]?.replace('refs/heads/', ''); + // @ts-ignore + const locked = line[6] === 'locked'; + // @ts-ignore + const prunable = line[7] === 'prunable'; + return isDefined(branch) + ? ({ + ref: branch, + bare: bare, + scope: 'local', + ...removeNullableProperties({ root: worktree, head: head }) + } as BranchOutput) + : undefined; + }).filter(isDefined); + } else { + /** + * Regex patterns that matches the following capture groups: + * [1] worktree root directory path + * [2] sha1 hash for the head of the branch (e.g. `e629b39c2`) + * [3] indicators for detached HEAD and bare repository states, or the branch ref (.e.g `master`) + * [4] branch state (i.e. `locked` if the worktree is locked, `prunable` if the worktree can be + * pruned via `git worktree prune`) + * [5] reason for `locked`/`prunable` state + */ + const linePattern = new RegExp( + '^(\\S+)\\s+([0-9a-f]{1,40})?\\s+(?:[\\[\\(]([\\w -]+)[\\)\\]])(?:(?: |\\r?\\n\\t)(locked|prunable)(?:\\: (.*))?)?', + 'gm' + ); + return Array.from(output.matchAll(linePattern), line => { + const worktree = line[1]; + const head = line[2]; + const detached = line[3] === 'detached HEAD'; + const bare = line[3] === 'bare'; + const branch = bare ? '' : detached ? 'detached' : line[3]; + return isDefined(branch) + ? ({ + ref: branch, + bare: bare, + scope: 'local', + ...removeNullableProperties({ root: worktree, head: head }) + } as BranchOutput) + : undefined; + }).filter(isDefined); + } +}; diff --git a/src/preload/git/index.ts b/src/preload/git/index.ts index 76f537685..0a811374f 100644 --- a/src/preload/git/index.ts +++ b/src/preload/git/index.ts @@ -1,23 +1,23 @@ -// export * from './git-add'; -// export * from './git-branch'; -// export * from './git-cat-file'; -// export * from './git-check-ref-format'; -// export * from './git-checkout'; -// export * from './git-clone'; -// export * from './git-commit'; -// export * from './git-config'; +export * from './git-add'; +export * from './git-branch'; +export * from './git-cat-file'; +export * from './git-check-ref-format'; +export * from './git-checkout'; +export * from './git-clone'; +export * from './git-commit'; +export * from './git-config'; export * from './git-ignore'; -// export * from './git-log'; -// export * from './git-merge'; -// export * from './git-merge-base'; -// export * from './git-path'; -// export * from './git-remote'; -// export * from './git-reset'; -// export * from './git-restore'; -// export * from './git-rev-list'; -// export * from './git-rev-parse'; -// export * from './git-show-branch'; -// export * from './git-status'; -// export * from './git-utils'; -// export * from './git-version'; -// export * from './git-worktree'; +export * from './git-log'; +export * from './git-merge-base'; +export * from './git-merge'; +export * from './git-path'; +export * from './git-remote'; +export * from './git-reset'; +export * from './git-restore'; +export * from './git-rev-list'; +export * from './git-rev-parse'; +export * from './git-show-branch'; +export * from './git-status'; +export * from './git-utils'; +export * from './git-version'; +export * from './git-worktree'; diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 9a48bb767..2351dd0cf 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -1,53 +1,25 @@ -import { Button } from '@mui/material'; -import { DateTime } from 'luxon'; -import { useState } from 'react'; -import Splash from './components/Splash'; -import { useAppSelector } from './store/hooks'; -import branchSelectors from './store/selectors/branches'; -import cardSelectors from './store/selectors/cards'; -import commitSelectors from './store/selectors/commits'; -import filetypeSelectors from './store/selectors/filetypes'; -import metafileSelectors from './store/selectors/metafiles'; -import modalSelectors from './store/selectors/modals'; -import repoSelectors from './store/selectors/repos'; -import stackSelectors from './store/selectors/stacks'; +import { Provider } from 'react-redux'; +import redux from './store/store'; +import { ErrorBoundary } from 'react-error-boundary'; +import { styled } from '@mui/material'; +import Canvas from './components/Canvas'; -function App(): JSX.Element { - const [showSplash, toggleSplash] = useState(false); - const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); - const cards = useAppSelector(state => cardSelectors.selectAll(state)); - const stacks = useAppSelector(state => stackSelectors.selectAll(state)); - const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); - const modals = useAppSelector(state => modalSelectors.selectAll(state)); - const repos = useAppSelector(state => repoSelectors.selectAll(state)); - const branches = useAppSelector(state => branchSelectors.selectAll(state)); - const commits = useAppSelector(state => commitSelectors.selectAll(state)); +const Error = styled('div')(() => ({ + color: '#FF0000' +})); - const showStore = () => { - console.group( - `%cRedux Store : ${DateTime.local().toHTTP()}`, - 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' - ); - console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); - console.log(`CARDS [${Object.keys(cards).length}]`, cards); - console.log(`FILETYPES [${filetypes.length}]`, filetypes); - console.log(`METAFILES [${metafiles.length}]`, metafiles); - console.log(`REPOS [${repos.length}]`, repos); - console.log(`BRANCHES [${branches.length}]`, branches); - console.log(`COMMITS [${commits.length}]`, commits); - console.log(`MODALS [${modals.length}]`, modals); - console.groupEnd(); - }; +const App = () => { + // useEffect(() => { + // redux.store.dispatch(importFiletypes(filetypesJson as Omit[])); // load all supported filetype handlers into Redux store + // }, []); // run the effect only once; after the first render return ( -
      - - - {showSplash ? : null} -
      + + 💥Canvas Error💥}> + + + ); -} +}; export default App; diff --git a/src/renderer/src/components/Canvas.tsx b/src/renderer/src/components/Canvas.tsx new file mode 100644 index 000000000..d02a1171e --- /dev/null +++ b/src/renderer/src/components/Canvas.tsx @@ -0,0 +1,53 @@ +import { Button } from '@mui/material'; +import { DateTime } from 'luxon'; +import { useState } from 'react'; +import Splash from './Splash'; +import { useAppSelector } from '../store/hooks'; +import branchSelectors from '../store/selectors/branches'; +import cardSelectors from '../store/selectors/cards'; +import commitSelectors from '../store/selectors/commits'; +import filetypeSelectors from '../store/selectors/filetypes'; +import metafileSelectors from '../store/selectors/metafiles'; +import modalSelectors from '../store/selectors/modals'; +import repoSelectors from '../store/selectors/repos'; +import stackSelectors from '../store/selectors/stacks'; + +function Canvas(): JSX.Element { + const [showSplash, toggleSplash] = useState(false); + const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); + const cards = useAppSelector(state => cardSelectors.selectAll(state)); + const stacks = useAppSelector(state => stackSelectors.selectAll(state)); + const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); + const modals = useAppSelector(state => modalSelectors.selectAll(state)); + const repos = useAppSelector(state => repoSelectors.selectAll(state)); + const branches = useAppSelector(state => branchSelectors.selectAll(state)); + const commits = useAppSelector(state => commitSelectors.selectAll(state)); + + const showStore = () => { + console.group( + `%cRedux Store : ${DateTime.local().toHTTP()}`, + 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' + ); + console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); + console.log(`CARDS [${Object.keys(cards).length}]`, cards); + console.log(`FILETYPES [${filetypes.length}]`, filetypes); + console.log(`METAFILES [${metafiles.length}]`, metafiles); + console.log(`REPOS [${repos.length}]`, repos); + console.log(`BRANCHES [${branches.length}]`, branches); + console.log(`COMMITS [${commits.length}]`, commits); + console.log(`MODALS [${modals.length}]`, modals); + console.groupEnd(); + }; + + return ( +
      + + + {showSplash ? : null} +
      + ); +} + +export default Canvas; diff --git a/src/renderer/src/containers/filetypes.json b/src/renderer/src/containers/filetypes.json new file mode 100644 index 000000000..7781bdd70 --- /dev/null +++ b/src/renderer/src/containers/filetypes.json @@ -0,0 +1,744 @@ +[ + { + "filetype": "ABAP", + "handler": "Editor", + "extensions": ["abap"] + }, + { + "filetype": "ActionScript", + "handler": "Editor", + "extensions": ["as"] + }, + { + "filetype": "ADA", + "handler": "Editor", + "extensions": ["ada", "adb"] + }, + { + "filetype": "Apache_Conf", + "handler": "Editor", + "extensions": [ + ".htaccess", + ".htgroups", + ".htpasswd", + ".conf", + "htaccess", + "htgroups", + "htpasswd" + ] + }, + { + "filetype": "AsciiDoc", + "handler": "Editor", + "extensions": ["asciidoc", "adoc"] + }, + { + "filetype": "Assembly_x86", + "handler": "Editor", + "extensions": ["asm", "a"] + }, + { + "filetype": "AutoHotKey", + "handler": "Editor", + "extensions": ["ahk"] + }, + { + "filetype": "BatchFile", + "handler": "Editor", + "extensions": ["bat", "cmd"] + }, + { + "filetype": "Bro", + "handler": "Editor", + "extensions": ["bro"] + }, + { + "filetype": "C_Cpp", + "handler": "Editor", + "extensions": ["cpp", "c", "cc", "cxx", "h", "hh", "hpp", "ino"] + }, + { + "filetype": "C9Search", + "handler": "Editor", + "extensions": ["c9search_results"] + }, + { + "filetype": "Cirru", + "handler": "Editor", + "extensions": ["cirru", "cr"] + }, + { + "filetype": "Clojure", + "handler": "Editor", + "extensions": ["clj", "cljs"] + }, + { + "filetype": "Cobol", + "handler": "Editor", + "extensions": ["CBL", "COB"] + }, + { + "filetype": "coffee", + "handler": "Editor", + "extensions": ["coffee", "cf", "cson", "Cakefile"] + }, + { + "filetype": "ColdFusion", + "handler": "Editor", + "extensions": ["cfm"] + }, + { + "filetype": "CSharp", + "handler": "Editor", + "extensions": ["cs"] + }, + { + "filetype": "Csound_Document", + "handler": "Editor", + "extensions": ["csd"] + }, + { + "filetype": "Csound_Orchestra", + "handler": "Editor", + "extensions": ["orc"] + }, + { + "filetype": "Csound_Score", + "handler": "Editor", + "extensions": ["sco"] + }, + { + "filetype": "CSS", + "handler": "Editor", + "extensions": ["css"] + }, + { + "filetype": "Curly", + "handler": "Editor", + "extensions": ["curly"] + }, + { + "filetype": "D", + "handler": "Editor", + "extensions": ["d", "di"] + }, + { + "filetype": "Dart", + "handler": "Editor", + "extensions": ["dart"] + }, + { + "filetype": "Diff", + "handler": "Editor", + "extensions": ["diff", "patch"] + }, + { + "filetype": "Directory", + "handler": "Explorer", + "extensions": [] + }, + { + "filetype": "Dockerfile", + "handler": "Editor", + "extensions": [".Dockerfile"] + }, + { + "filetype": "Dot", + "handler": "Editor", + "extensions": ["dot"] + }, + { + "filetype": "Drools", + "handler": "Editor", + "extensions": ["drl"] + }, + { + "filetype": "DummySyntax", + "handler": "Editor", + "extensions": ["dummy"] + }, + { + "filetype": "HTML", + "handler": "Editor", + "extensions": ["html", "htm", "xhtml", "vue", "we", "wpy"] + }, + { + "filetype": "Eiffel", + "handler": "Editor", + "extensions": ["e", "ge"] + }, + { + "filetype": "EJS", + "handler": "Editor", + "extensions": ["ejs"] + }, + { + "filetype": "Elixir", + "handler": "Editor", + "extensions": ["ex", "exs"] + }, + { + "filetype": "Elm", + "handler": "Editor", + "extensions": ["elm"] + }, + { + "filetype": "Erlang", + "handler": "Editor", + "extensions": ["erl", "hrl"] + }, + { + "filetype": "Forth", + "handler": "Editor", + "extensions": ["frt", "fs", "ldr", "fth", "4th"] + }, + { + "filetype": "Fortran", + "handler": "Editor", + "extensions": ["f", "f90"] + }, + { + "filetype": "FTL", + "handler": "Editor", + "extensions": ["ftl"] + }, + { + "filetype": "Gcode", + "handler": "Editor", + "extensions": ["gcode"] + }, + { + "filetype": "Gherkin", + "handler": "Editor", + "extensions": ["feature"] + }, + { + "filetype": "Gitignore", + "handler": "Editor", + "extensions": [".gitignore"] + }, + { + "filetype": "Glsl", + "handler": "Editor", + "extensions": ["glsl", "frag", "vert"] + }, + { + "filetype": "Gobstones", + "handler": "Editor", + "extensions": ["gbs"] + }, + { + "filetype": "go", + "handler": "Editor", + "extensions": ["golang"] + }, + { + "filetype": "GraphQLSchema", + "handler": "Editor", + "extensions": ["gql"] + }, + { + "filetype": "Groovy", + "handler": "Editor", + "extensions": ["groovy"] + }, + { + "filetype": "HAML", + "handler": "Editor", + "extensions": ["haml"] + }, + { + "filetype": "Handlebars", + "handler": "Editor", + "extensions": ["hbs", "handlebars", "mustache"] + }, + { + "filetype": "Smarty", + "handler": "Editor", + "extensions": ["tpl", "smarty"] + }, + { + "filetype": "Haskell", + "handler": "Editor", + "extensions": ["hs"] + }, + { + "filetype": "Haskell_Cabal", + "handler": "Editor", + "extensions": ["cabal"] + }, + { + "filetype": "haXe", + "handler": "Editor", + "extensions": ["hx"] + }, + { + "filetype": "Hjson", + "handler": "Editor", + "extensions": ["hjson"] + }, + { + "filetype": "HTML_Elixir", + "handler": "Editor", + "extensions": ["eex", "html.eex"] + }, + { + "filetype": "HTML_Ruby", + "handler": "Editor", + "extensions": ["erb", "rhtml", "html.erb"] + }, + { + "filetype": "INI", + "handler": "Editor", + "extensions": ["ini", "conf", "cfg", "prefs"] + }, + { + "filetype": "Io", + "handler": "Editor", + "extensions": ["io"] + }, + { + "filetype": "Jack", + "handler": "Editor", + "extensions": ["jack"] + }, + { + "filetype": "Jade", + "handler": "Editor", + "extensions": ["jade", "pug"] + }, + { + "filetype": "Java", + "handler": "Editor", + "extensions": ["java"] + }, + { + "filetype": "JavaScript", + "handler": "Editor", + "extensions": ["js", "jsm"] + }, + { + "filetype": "JSX", + "handler": "Editor", + "extensions": ["jsx"] + }, + { + "filetype": "JSON", + "handler": "Editor", + "extensions": ["json"] + }, + { + "filetype": "JSONiq", + "handler": "Editor", + "extensions": ["jq"] + }, + { + "filetype": "JSP", + "handler": "Editor", + "extensions": ["jsp"] + }, + { + "filetype": "JSSM", + "handler": "Editor", + "extensions": ["jssm", "jssm_state"] + }, + { + "filetype": "Julia", + "handler": "Editor", + "extensions": ["jl"] + }, + { + "filetype": "Kotlin", + "handler": "Editor", + "extensions": ["kt", "kts"] + }, + { + "filetype": "Tex", + "handler": "Editor", + "extensions": ["tex"] + }, + { + "filetype": "LaTeX", + "handler": "Editor", + "extensions": ["latex", "ltx", "bib"] + }, + { + "filetype": "LESS", + "handler": "Editor", + "extensions": ["less"] + }, + { + "filetype": "Liquid", + "handler": "Editor", + "extensions": ["liquid"] + }, + { + "filetype": "Lisp", + "handler": "Editor", + "extensions": ["lisp"] + }, + { + "filetype": "LiveScript", + "handler": "Editor", + "extensions": ["ls"] + }, + { + "filetype": "LogiQL", + "handler": "Editor", + "extensions": ["logic", "lql"] + }, + { + "filetype": "LSL", + "handler": "Editor", + "extensions": ["lsl"] + }, + { + "filetype": "Lua", + "handler": "Editor", + "extensions": ["lua"] + }, + { + "filetype": "LuaPage", + "handler": "Editor", + "extensions": ["lp"] + }, + { + "filetype": "Lucene", + "handler": "Editor", + "extensions": ["lucene"] + }, + { + "filetype": "Makefile", + "handler": "Editor", + "extensions": [".Makefile", ".GNUmakefile", ".makefile", ".OCamlMakefile", ".make"] + }, + { + "filetype": "Markdown", + "handler": "Editor", + "extensions": ["md", "markdown"] + }, + { + "filetype": "Mask", + "handler": "Editor", + "extensions": ["mask"] + }, + { + "filetype": "MATLAB", + "handler": "Editor", + "extensions": ["matlab"] + }, + { + "filetype": "Maze", + "handler": "Editor", + "extensions": ["mz"] + }, + { + "filetype": "MEL", + "handler": "Editor", + "extensions": ["mel"] + }, + { + "filetype": "MUSHCode", + "handler": "Editor", + "extensions": ["mc", "mush"] + }, + { + "filetype": "MySQL", + "handler": "Editor", + "extensions": ["mysql"] + }, + { + "filetype": "Nix", + "handler": "Editor", + "extensions": ["nix"] + }, + { + "filetype": "NSIS", + "handler": "Editor", + "extensions": ["nsi", "nsh"] + }, + { + "filetype": "ObjectiveC", + "handler": "Editor", + "extensions": ["m", "mm"] + }, + { + "filetype": "OCaml", + "handler": "Editor", + "extensions": ["ml", "mli"] + }, + { + "filetype": "Pascal", + "handler": "Editor", + "extensions": ["pas", "p"] + }, + { + "filetype": "Perl", + "handler": "Editor", + "extensions": ["pl", "pm"] + }, + { + "filetype": "pgSQL", + "handler": "Editor", + "extensions": ["pgsql"] + }, + { + "filetype": "PHP", + "handler": "Editor", + "extensions": [ + "php", + "phtml", + "shtml", + "php3", + "php4", + "php5", + "phps", + "phpt", + "aw", + "ctp", + "module" + ] + }, + { + "filetype": "Pig", + "handler": "Editor", + "extensions": ["pig"] + }, + { + "filetype": "Powershell", + "handler": "Editor", + "extensions": ["ps1"] + }, + { + "filetype": "Praat", + "handler": "Editor", + "extensions": ["praat", "praatscript", "psc", "proc"] + }, + { + "filetype": "Prolog", + "handler": "Editor", + "extensions": ["plg", "prolog"] + }, + { + "filetype": "Properties", + "handler": "Editor", + "extensions": ["properties"] + }, + { + "filetype": "Protobuf", + "handler": "Editor", + "extensions": ["proto"] + }, + { + "filetype": "Python", + "handler": "Editor", + "extensions": ["py"] + }, + { + "filetype": "R", + "handler": "Editor", + "extensions": ["r"] + }, + { + "filetype": "Razor", + "handler": "Editor", + "extensions": ["cshtml", "asp"] + }, + { + "filetype": "Rdoc", + "handler": "Editor", + "extensions": ["Rd"] + }, + { + "filetype": "Red", + "handler": "Editor", + "extensions": ["red", "reds"] + }, + { + "filetype": "RHTML", + "handler": "Editor", + "extensions": ["Rhtml"] + }, + { + "filetype": "RST", + "handler": "Editor", + "extensions": ["rst"] + }, + { + "filetype": "Ruby", + "handler": "Editor", + "extensions": ["rb", "ru", "gemspec", "rake", ".Guardfile", ".Rakefile", ".Gemfile"] + }, + { + "filetype": "Rust", + "handler": "Editor", + "extensions": ["rs"] + }, + { + "filetype": "SASS", + "handler": "Editor", + "extensions": ["sass"] + }, + { + "filetype": "SCAD", + "handler": "Editor", + "extensions": ["scad"] + }, + { + "filetype": "Scala", + "handler": "Editor", + "extensions": ["scala"] + }, + { + "filetype": "Scheme", + "handler": "Editor", + "extensions": ["scm", "sm", "rkt", "oak", "scheme"] + }, + { + "filetype": "SCSS", + "handler": "Editor", + "extensions": ["scss"] + }, + { + "filetype": "SH", + "handler": "Editor", + "extensions": ["sh", "bash", ".bashrc"] + }, + { + "filetype": "SJS", + "handler": "Editor", + "extensions": ["sjs"] + }, + { + "filetype": "snippets", + "handler": "Editor", + "extensions": ["snippets"] + }, + { + "filetype": "Soy_Template", + "handler": "Editor", + "extensions": ["soy"] + }, + { + "filetype": "Space", + "handler": "Editor", + "extensions": ["space"] + }, + { + "filetype": "SQL", + "handler": "Editor", + "extensions": ["sql"] + }, + { + "filetype": "SQLServer", + "handler": "Editor", + "extensions": ["sqlserver"] + }, + { + "filetype": "Stylus", + "handler": "Editor", + "extensions": ["styl", "stylus"] + }, + { + "filetype": "SVG", + "handler": "Editor", + "extensions": ["svg"] + }, + { + "filetype": "Swift", + "handler": "Editor", + "extensions": ["swift"] + }, + { + "filetype": "Tcl", + "handler": "Editor", + "extensions": ["tcl"] + }, + { + "filetype": "Text", + "handler": "Editor", + "extensions": ["txt"] + }, + { + "filetype": "Textile", + "handler": "Editor", + "extensions": ["textile"] + }, + { + "filetype": "Toml", + "handler": "Editor", + "extensions": ["toml"] + }, + { + "filetype": "TSX", + "handler": "Editor", + "extensions": ["tsx"] + }, + { + "filetype": "Twig", + "handler": "Editor", + "extensions": ["twig", "swig"] + }, + { + "filetype": "Typescript", + "handler": "Editor", + "extensions": ["ts", "typescript", "str"] + }, + { + "filetype": "Vala", + "handler": "Editor", + "extensions": ["vala"] + }, + { + "filetype": "VBScript", + "handler": "Editor", + "extensions": ["vbs", "vb"] + }, + { + "filetype": "Velocity", + "handler": "Editor", + "extensions": ["vm"] + }, + { + "filetype": "Verilog", + "handler": "Editor", + "extensions": ["v", "vh", "sv", "svh"] + }, + { + "filetype": "VHDL", + "handler": "Editor", + "extensions": ["vhd", "vhdl"] + }, + { + "filetype": "Wollok", + "handler": "Editor", + "extensions": ["wlk", "wpgm", "wtest"] + }, + { + "filetype": "XML", + "handler": "Editor", + "extensions": [ + "xml", + "rdf", + "rss", + "wsdl", + "xslt", + "atom", + "mathml", + "mml", + "xul", + "xbl", + "xaml" + ] + }, + { + "filetype": "XQuery", + "handler": "Editor", + "extensions": ["xq"] + }, + { + "filetype": "YAML", + "handler": "Editor", + "extensions": ["yaml", "yml"] + } +] diff --git a/src/renderer/src/main.tsx b/src/renderer/src/main.tsx index ba4717ee9..b749e2d2c 100644 --- a/src/renderer/src/main.tsx +++ b/src/renderer/src/main.tsx @@ -1,16 +1,12 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; -import { Provider } from 'react-redux'; import App from './App'; import './assets/index.css'; -import redux from './store/store'; const container = document.getElementById('root'); const root = createRoot(container!); // eslint-disable-line @typescript-eslint/no-non-null-assertion root.render( - - - + ); diff --git a/src/renderer/src/store/hooks.ts b/src/renderer/src/store/hooks.ts index d6ef13ea5..681071d74 100644 --- a/src/renderer/src/store/hooks.ts +++ b/src/renderer/src/store/hooks.ts @@ -5,7 +5,7 @@ import type { RootState, AppDispatch } from './store'; export const createAppAsyncThunk = createAsyncThunk.withTypes<{ state: RootState; dispatch: AppDispatch; - extra: {}; + extra: undefined; rejectValue: string; }>(); diff --git a/src/renderer/src/store/thunks/branches.ts b/src/renderer/src/store/thunks/branches.ts new file mode 100644 index 000000000..5ead57329 --- /dev/null +++ b/src/renderer/src/store/thunks/branches.ts @@ -0,0 +1,522 @@ +import type { PathLike } from 'fs-extra'; +import type { MergeAction, MergeOutput, SHA1, UUID } from 'types/app'; +import type { Branch, UnmergedBranch } from 'types/branch'; +import type { FilebasedMetafile } from 'types/metafile'; +import type { Repository } from 'types/repo'; +import type { ExactlyOne } from 'types/util'; +import { createAppAsyncThunk } from '../hooks'; +import branchSelectors from '../selectors/branches'; +import repoSelectors from '../selectors/repos'; +import { branchAdded, branchReplaced, isUnmergedBranch } from '../slices/branches'; +import { isVersionedMetafile } from '../slices/metafiles'; +import { repoUpdated } from '../slices/repos'; +import { fetchCommits } from './commits'; +import { fetchParentMetafile } from './metafiles'; + +const isDefined = window.api.utils.isDefined; +const partition = window.api.utils.partition; +const removeObjectProperty = window.api.utils.removeObjectProperty; + +export type BranchIdentifiers = Pick; + +/** + * Fetch a {@link Branch} object from the Redux store. This function does not create git branches + * within a repository worktree (i.e. it does not interact with the filesystem). Instead, this + * function checks for an existing branch based on `branchIdentifiers` or `metafile` parameters, + * and adds a new {@link Branch} to the Redux store if no matches were found. + * @param obj - A destructed object for named parameters. + * @param obj.branchIdentifiers - Fetch based on {@link BranchIdentifiers} fields. + * @param obj.metafile - Fetch based on {@link FilebasedMetafile} fields. + * @returns {Branch} A new {@link Branch} object representing the updated worktree information, or + * an existing Branch if `ref` matches the existing current branch in the repository root directory. + */ +export const fetchBranch = createAppAsyncThunk< + Branch | undefined, + ExactlyOne<{ branchIdentifiers: BranchIdentifiers; metafile: FilebasedMetafile }> +>('branches/fetchBranch', async (input, thunkAPI) => { + const state = thunkAPI.getState(); + + // handle branchIdentifiers using the least expensive method first + if (input.branchIdentifiers) { + // check for a directly matching branch before using any expensive methods + const branchRoot = await window.api.git.getBranchRoot( + input.branchIdentifiers.root, + input.branchIdentifiers.ref + ); + const root = + input.branchIdentifiers.scope === 'local' && branchRoot + ? branchRoot + : input.branchIdentifiers.root; + const branch = branchRoot + ? branchSelectors.selectByRef( + state, + root, + input.branchIdentifiers.ref, + input.branchIdentifiers.scope + ) + : undefined; + if (branch) return branch; + } + + // if no branchIdentifier matches or a metafile was provided instead, parse relevant fields + const root = input.metafile + ? await window.api.git.getRoot(input.metafile.path) + : input.branchIdentifiers.root; + const current = + input.metafile && root + ? await window.api.git.revParse({ dir: root, opts: ['abbrevRef'], args: ['HEAD'] }) + : undefined; + const ref = input.metafile ? current : input.branchIdentifiers.ref; + const scope = input.metafile ? 'local' : input.branchIdentifiers.scope; + + // handle metafile using the least expensive method first + if (input.metafile) { + // check for a directly matching branch before using any expensive methods + let branch = isVersionedMetafile(input.metafile) + ? branchSelectors.selectById(state, input.metafile.branch) + : undefined; + if (branch) return branch; + + // otherwise, if parent metafile already has a branch UUID then check for matching branch + const parent = !branch + ? await thunkAPI.dispatch(fetchParentMetafile(input.metafile)).unwrap() + : undefined; + branch = + parent && isVersionedMetafile(parent) + ? branchSelectors.selectById(state, parent.branch) + : branch; + if (branch) return branch; + + // otherwise, check for the current branch in the root git directory (derived from metafile) + branch = root && ref ? branchSelectors.selectByRef(state, root, ref, scope) : undefined; + if (branch) return branch; + } + + // if no matches were found for branchIdentifiers or metafile, then build a new branch + const branch = + root && ref ? await thunkAPI.dispatch(buildBranch({ ref, root, scope })).unwrap() : undefined; + return branch; +}); + +/** + * Fetch all branches within a repository based in the specified root directory. This function wraps + * around {@linkcode fetchBranch} and filters the results into `local` and `remote` branch arrays. + */ +export const fetchBranches = createAppAsyncThunk<{ local: Branch[]; remote: Branch[] }, PathLike>( + 'branches/fetchBranches', + async (root, thunkAPI) => { + const branches = ( + await Promise.all( + (await window.api.git.showBranch({ dir: root, all: true })) + .filter(branch => branch.ref !== 'HEAD') + .map(branch => + thunkAPI + .dispatch( + fetchBranch({ + branchIdentifiers: { root: root.toString(), ref: branch.ref, scope: branch.scope } + }) + ) + .unwrap() + ) + ) + ).filter(isDefined); + const [local, remote] = partition(branches, branch => branch.scope === 'local'); + return { local, remote }; + } +); + +/** + * Build a {@link Branch} object that is added to the Redux store. This function does not + * create git branches within a repository worktree (i.e. it does not interact with the + * filesystem), but instead updates the store to reflect any newly created branches. + * Use {@linkcode addBranch} to create a new branch within the filesystem. + */ +export const buildBranch = createAppAsyncThunk( + 'branches/buildBranch', + async (identifiers, thunkAPI) => { + const branchRoot = await window.api.git.getBranchRoot(identifiers.root, identifiers.ref); + const root = identifiers.scope === 'local' && branchRoot ? branchRoot : identifiers.root; + const { dir, gitdir, worktreeDir, worktreeGitdir } = + await window.api.git.getWorktreePaths(root); + const config = await window.api.git.getConfig({ + dir: dir ? dir : root, + keyPath: `branch.${identifiers.ref}.remote` + }); + const remote = config && config.scope !== 'none' ? config.value : 'origin'; + const ref = identifiers.scope === 'remote' ? `${remote}/${identifiers.ref}` : identifiers.ref; + const existingRef = + (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [ref] })) === 'true'; + if (!existingRef) return undefined; + + const rootGitdir = worktreeGitdir ? worktreeGitdir : gitdir ? gitdir : ''; + const linked = isDefined(worktreeDir); + const current = dir + ? (await window.api.git.revParse({ + dir: dir, + opts: ['abbrevRef'], + args: ['HEAD'] + })) === identifiers.ref + : false; + const commits = ( + await thunkAPI + .dispatch( + fetchCommits({ + branchIdentifiers: { root: root, ref: identifiers.ref, scope: identifiers.scope } + }) + ) + .unwrap() + ).map(commit => commit.oid.toString()); + + const status = + !linked && !current + ? 'clean' + : (await window.api.git.worktreeStatus({ dir: root }))?.status ?? 'uncommitted'; + const head = commits.length > 0 ? commits[0]?.toString() ?? '' : ''; + const revBare = await window.api.git.revParse({ dir: root, opts: ['isBareRepository'] }); + const bare = revBare?.toLowerCase() === 'true'; + const merging = (await window.api.git.fetchMergingBranches(root))?.compare; + + const repo = dir ? repoSelectors.selectByRoot(thunkAPI.getState(), dir) : undefined; + const repoHas = (branch: UUID): boolean => + repo ? repo.local.includes(branch) || repo.remote.includes(branch) : false; + const existing = Object.values(thunkAPI.getState().branches.entities) + .filter( + branch => + branch?.scope === identifiers.scope && + branch?.ref === identifiers.ref && + repoHas(branch.id) + ) + .filter(isDefined)[0]; + + const base = { + id: existing ? existing.id : window.api.uuid(), + scope: identifiers.scope, + ref: identifiers.ref, + linked: linked, + current: current, + bare: bare, + root: root, + gitdir: rootGitdir, + remote: remote, + status: status, + commits: commits, + head: head + }; + + const branch: Branch | UnmergedBranch = merging + ? { ...base, status: 'unmerged', merging } + : isUnmergedBranch(base) + ? removeObjectProperty(base, 'merging') + : base; + + if (existing) { + return thunkAPI.dispatch(branchReplaced(branch)).payload; + } else { + return thunkAPI.dispatch(branchAdded(branch)).payload; + } + } +); + +/** + * Checkout a branch in a {@link https://git-scm.com/docs/git-worktree linked worktree} and return + * a Branch object representing the updated branch information. + * @param obj - A destructed object for named parameters. + * @param obj.root - The relative or absolute path to the repository root directory (i.e. the `dir` + * in the `WorktreePaths` type). + * @param obj.ref - The name of the branch to checkout. + * @param obj.head - Optional SHA1 commit hash for targeting a specific commit as the HEAD of the + * new branch. + * @returns {Branch} A new Branch object representing the updated worktree information, or an + * existing Branch if `ref` matches the existing current branch in the repository root directory. + */ +export const addBranch = createAppAsyncThunk< + Branch | undefined, + { root: string; ref: string; head?: SHA1 | undefined } +>('branches/addBranch', async ({ root, ref, head }, thunkAPI) => { + const state = thunkAPI.getState(); + + // check if ref refers to the current branch in repo root path; return it without adding a worktree + const current = await window.api.git.revParse({ + dir: root, + opts: ['abbrevRef'], + args: ['HEAD'] + }); + if (ref === current) { + return await thunkAPI + .dispatch(fetchBranch({ branchIdentifiers: { root: root, ref: ref, scope: 'local' } })) + .unwrap(); + } + + const config = await window.api.git.getConfig({ dir: root, keyPath: `branch.${ref}.remote` }); + const remote = config && config.scope !== 'none' ? config.value : 'origin'; + // SHA-1 hash of head commit for local branch ref + const localRef = + (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [ref] })) === 'true' + ? await window.api.git.revParse({ dir: root, opts: [], args: [ref] }) + : undefined; + // SHA-1 hash of head commit for remote branch ref + const remoteRef = + (await window.api.git.revParse({ dir: root, opts: ['verify'], args: [`${remote}/${ref}`] })) === + 'true' + ? await window.api.git.revParse({ dir: root, opts: [], args: [`${remote}/${ref}`] }) + : undefined; + const repo = repoSelectors.selectByRoot(state, root); + const worktrees = repo ? await window.api.git.worktreeList({ dir: repo.root }) : []; + const existingWorktree = worktrees.find(w => w.ref === ref); + const linkedRoot = existingWorktree + ? existingWorktree.root + : repo + ? window.api.fs.normalize(`${root.toString()}/../.syn/${repo.name}/${ref}`) + : undefined; + if (!linkedRoot) return undefined; // cannot create a linked worktree when no repo exists + + // check if ref refers to a local branch in a linked worktree; return it without adding a worktree + if (existingWorktree) { + return await thunkAPI + .dispatch(fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } })) + .unwrap(); + } + + // check if ref refers to a local branch in the repo root directory; switch to new linked worktree + if (!existingWorktree && localRef) { + const newWorktree = head + ? { + dir: root, + path: linkedRoot, + commitish: head.toString(), + newBranch: ref + } + : { + dir: root, + path: linkedRoot, + commitish: ref + }; + return (await window.api.git.worktreeAdd(newWorktree)) + ? thunkAPI + .dispatch( + fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) + ) + .unwrap() + : undefined; + } + + // check if ref refers to a remote-only branch + if (!existingWorktree && !localRef && remoteRef) { + const newWorktree = { + dir: root, + path: linkedRoot, + commitish: head ? head.toString() : remoteRef, + newBranch: ref + }; + return (await window.api.git.worktreeAdd(newWorktree)) + ? thunkAPI + .dispatch( + fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) + ) + .unwrap() + : undefined; + } + + // check if ref cannot be resolved in the repository; i.e. a new branch is being requested + if (!localRef && !remoteRef && current) { + const newWorktree = { + dir: root, + path: linkedRoot, + commitish: head ? head.toString() : current, + newBranch: ref + }; + return (await window.api.git.worktreeAdd(newWorktree)) + ? thunkAPI + .dispatch( + fetchBranch({ branchIdentifiers: { root: linkedRoot, ref: ref, scope: 'local' } }) + ) + .unwrap() + : undefined; + } + + return undefined; +}); + +/** + * Remove a Branch object from the Redux store. This will delete the local branch (including in a + * linked worktree), but will not alter any remote branches associated with the repository. This + * function does interact with the filesystem in order to remove the target branch and update the + * branches in the repository according to the Redux store. + * @param obj - A destructed object for named parameters. + * @param obj.repoId - The UUID of a Repository object found in the Redux store. + * @param obj.branchId - The UUID of a Branch object found in the Redux store; points to the + * underlying branch to be removed. + * @returns {boolean} A boolean indicating whether the branch was successfully removed. + */ +export const removeBranch = createAppAsyncThunk( + 'branches/removeBranch', + async ({ repoId, branchId }, thunkAPI) => { + const state = thunkAPI.getState(); + const repo = repoSelectors.selectById(state, repoId); + if (!repo) return false; + const branch = branchSelectors.selectById(state, branchId); + if (!branch) return false; + const current = await window.api.git.revParse({ + dir: repo.root, + opts: ['abbrevRef'], + args: ['HEAD'] + }); + if (branch.ref === current) return false; + const worktreeRemoved = branch.linked + ? await window.api.git.worktreeRemove({ dir: branch.root, worktree: branch.ref }) + : true; + const branchRemoved = repo + ? await window.api.git.deleteBranch({ dir: repo.root, branchName: branch.ref, force: true }) + : false; + await thunkAPI.dispatch(updateBranches(repo)); + + return worktreeRemoved && branchRemoved; + } +); + +/** + * Merge changes from the named commits (or branches) into the base branch. This function does + * interact with the filesystem in order to execute a merge and collect the results. Changes + * to state are updated in the Redux store for the Repository and Branch objects associated + * with this merge action. + */ +export const mergeBranch = createAppAsyncThunk< + MergeOutput | undefined, + { repoId: UUID; baseBranch: UUID; commitishes: string[] } +>('branches/mergeBranch', async ({ repoId, baseBranch, commitishes }, thunkAPI) => { + const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); + if (!isDefined(repo)) return undefined; + const base = branchSelectors.selectById(thunkAPI.getState(), baseBranch); + if (!isDefined(base)) return undefined; + + let result: MergeOutput; + try { + result = await window.api.git.mergeBranch({ + dir: base?.root ?? repo.root, + base: base?.ref ?? '', + commitish: commitishes.join(' ') + }); + } catch (error) { + console.error({ error }); + result = { + status: 'Failing', + alreadyMerged: false, + fastForward: false, + output: error as string + }; + } + + await thunkAPI.dispatch(updateBranch(base.id)); + return result; +}); + +/** + * Continue an in-progress merge such that changes from the named commits (or branches) are + * merged into the base branch. This function interacts with the filesystem in order to + * send continuation action commands to the underlying VCS. Changes to state are updated in + * the Redux store for the Repository and Branch objects associated with this merge action. + */ +export const mergeBranchContinue = createAppAsyncThunk< + MergeOutput | undefined, + { repoId: UUID; baseBranch: UUID; action: MergeAction } +>('branches/mergeBranchResume', async ({ repoId, baseBranch, action }, thunkAPI) => { + const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); + if (!isDefined(repo)) return undefined; + const base = branchSelectors.selectById(thunkAPI.getState(), baseBranch); + if (!isDefined(base)) return undefined; + + let result: MergeOutput; + try { + const succeeded = await window.api.git.mergeInProgress({ + dir: base?.root ?? repo.root, + action: action + }); + result = { + status: succeeded ? 'Passing' : 'Failing', + alreadyMerged: false, + fastForward: false, + output: String(succeeded) + }; + } catch (error) { + console.error({ error }); + result = { + status: 'Failing', + alreadyMerged: false, + fastForward: false, + output: error as string + }; + } + + await thunkAPI.dispatch(updateBranch(base.id)); + return result; +}); + +/** + * Update the root directory path and linked worktree status of a Branch object in the Redux store + * to reflect the current filesystem and git status of a branch. Also appends/removes merging + * information in the case of an in-progress merge where this branch is the base. This function + * updates the store state to reflect any recent changes to these fields. + */ +export const updateBranch = createAppAsyncThunk( + 'branches/updateBranch', + async (id, thunkAPI) => { + const branch = branchSelectors.selectById(thunkAPI.getState(), id); + if (!branch) return undefined; + const branchRoot = await window.api.git.getBranchRoot(branch.root, branch.ref); + const root = branch.scope === 'local' && branchRoot ? branchRoot : branch.root; + const { dir, worktreeDir } = await window.api.git.getWorktreePaths(root); + + const linked = isDefined(worktreeDir); + const rootLocal = + isDefined(branchRoot) && isDefined(dir) && window.api.fs.isEqualPaths(branchRoot, dir); + const current = + dir && branch.scope === 'local' + ? (await window.api.git.listBranch({ dir: dir, showCurrent: true })).some( + b => b.ref === branch.ref + ) + : false; + const updatedRoot = linked ? worktreeDir : branch.root; + const commits = (await thunkAPI.dispatch(fetchCommits({ branchId: id })).unwrap()).map(commit => + commit.oid.toString() + ); + const status = + rootLocal && !current + ? 'clean' + : (await window.api.git.worktreeStatus({ dir: updatedRoot }))?.status ?? 'uncommitted'; + const head = commits.length > 0 ? commits[0]?.toString() ?? '' : ''; + const merging = (await window.api.git.fetchMergingBranches(updatedRoot))?.compare; + + const updates: Branch = { + ...branch, + linked: linked, + root: updatedRoot, + status: status, + commits: commits, + head: head + }; + const updatedBranch = merging + ? { ...updates, merging: merging } + : isUnmergedBranch(updates) + ? removeObjectProperty(updates, 'merging') + : updates; + return thunkAPI.dispatch(branchReplaced(updatedBranch)).payload; + } +); + +/** + * Update the list of branches associated with a Repository entry in the Redux store. This + * function captures added/removed branches so that the repository remains up-to-date with the + * state of branches in the underlying git repository on the filesystem. + */ +export const updateBranches = createAppAsyncThunk( + 'branches/updateBranches', + async (repo, thunkAPI) => { + const branches = await thunkAPI.dispatch(fetchBranches(repo.root)).unwrap(); + branches.local.forEach(branch => thunkAPI.dispatch(updateBranch(branch.id))); + const branchIds = { + local: branches.local.map(b => b.id), + remote: branches.remote.map(b => b.id) + }; + return thunkAPI.dispatch(repoUpdated({ ...repo, ...branchIds })).payload; + } +); diff --git a/src/renderer/src/store/thunks/cards.ts b/src/renderer/src/store/thunks/cards.ts new file mode 100644 index 000000000..03def17d5 --- /dev/null +++ b/src/renderer/src/store/thunks/cards.ts @@ -0,0 +1,78 @@ +import { DateTime } from 'luxon'; +import type { PathLike, UUID } from 'types/app'; +import type { Metafile } from 'types/metafile'; +import type { ExactlyOne } from 'types/util'; +import { createAppAsyncThunk } from '../hooks'; +import cardSelectors from '../selectors/cards'; +import stackSelectors from '../selectors/stacks'; +import { cardAdded, cardRemoved, cardUpdated } from '../slices/cards'; +import { stackUpdated } from '../slices/stacks'; +import { fetchMetafile } from './metafiles'; + +/** + * Create a new Card component that is added to the Redux store and the UI. + * @param path The relative or absolute path to a file or directory. + * @param metafile The initial Metafile object that should be encapsulated within the new Card component. + * @returns {UUID} The UUID of the new Card component. + */ +export const createCard = createAppAsyncThunk< + UUID, + ExactlyOne<{ path: PathLike; metafile: Metafile }> +>('cards/createCard', async (input, thunkAPI) => { + const cardId = window.api.uuid(); + const card = thunkAPI.dispatch( + cardAdded({ + id: cardId, + name: input.metafile ? input.metafile.name : window.api.fs.extractFilename(input.path), + type: input.metafile?.handler ?? 'Editor', + metafile: input.metafile?.id ?? '', + created: DateTime.local().valueOf(), + modified: DateTime.local().valueOf(), + captured: undefined, + expanded: false, + flipped: false, + loading: undefined, + x: 40, + y: 40 + }) + ).payload; + if (input.path) { + const metafile = await thunkAPI.dispatch(fetchMetafile({ path: input.path })).unwrap(); + if (metafile) { + thunkAPI.dispatch( + cardUpdated({ + ...card, + name: metafile.name, + type: metafile.handler, + metafile: metafile.id + }) + ); + } + } + return cardId; +}); + +/** + * Remove a Card component from the Redux store and the UI. + * @param card The UUID of the Card component to remove. + */ +export const removeCard = createAppAsyncThunk( + 'cards/removeCard', + async (input, thunkAPI) => { + const card = cardSelectors.selectById(thunkAPI.getState(), input.card); + const stacks = stackSelectors.selectEntities(thunkAPI.getState()); + const stack = card?.captured ? stacks[card?.captured] : undefined; + + if (stack && card) { + thunkAPI.dispatch( + stackUpdated({ + ...stack, + cards: stack.cards.filter(c => c !== card.id) + }) + ); + thunkAPI.dispatch(cardRemoved(card.id)); + } else if (card) { + thunkAPI.dispatch(cardRemoved(card.id)); + } + } +); diff --git a/src/renderer/src/store/thunks/commits.ts b/src/renderer/src/store/thunks/commits.ts new file mode 100644 index 000000000..59d92f949 --- /dev/null +++ b/src/renderer/src/store/thunks/commits.ts @@ -0,0 +1,179 @@ +import type { PathLike, UUID } from 'types/app'; +import type { Commit } from 'types/commit'; +import type { ExactlyOne, Prettify } from 'types/util'; +import { createAppAsyncThunk } from '../hooks'; +import branchSelectors from '../selectors/branches'; +import commitSelectors from '../selectors/commits'; +import metafileSelectors from '../selectors/metafiles'; +import repoSelectors from '../selectors/repos'; +import { commitAdded, commitRemoved } from '../slices/commits'; +import { isVersionedMetafile } from '../slices/metafiles'; +import { BranchIdentifiers, updateBranches } from './branches'; +import { updateFilebasedMetafile, updateVersionedMetafile } from './metafiles'; +import { fetchRepo } from './repos'; + +const removeUndefined = window.api.utils.removeUndefined; + +export type CommitIdentifiers = Prettify & { root: PathLike }>; + +export const fetchCommit = createAppAsyncThunk< + Commit, + ExactlyOne<{ commitIdentifiers: CommitIdentifiers; commit: Commit }> +>('commits/fetchCommit', async (input, thunkAPI) => { + const existing = input.commit + ? commitSelectors.selectById(thunkAPI.getState(), input.commit.oid.toString()) + : commitSelectors.selectById(thunkAPI.getState(), input.commitIdentifiers.oid.toString()); + + if (existing) return existing; + return input.commit + ? thunkAPI.dispatch(commitAdded(input.commit)).payload + : await thunkAPI.dispatch(buildCommit(input.commitIdentifiers)).unwrap(); +}); + +export const fetchParentCommits = createAppAsyncThunk( + 'commits/fetchParents', + async (oid, thunkAPI) => { + const commit = commitSelectors.selectById(thunkAPI.getState(), oid); + if (!commit) return []; + + const parents = removeUndefined( + commit.parents.map(oid => commitSelectors.selectById(thunkAPI.getState(), oid.toString())) + ); + return parents; + } +); + +/** + * Fetch {@link Commit} objects from the Redux store that represent the commit information + * contained within a specific git branch. This function attempts to locate existing {@link Commit} + * objects in the Redux store, and adds new {@link Commit} objects if no match was found. + */ +export const fetchCommits = createAppAsyncThunk< + Commit[], + ExactlyOne<{ branchIdentifiers: BranchIdentifiers; branchId: UUID }> +>('commits/fetchCommits', async (input, thunkAPI) => { + const branchIdentifiers: BranchIdentifiers | undefined = input.branchId + ? thunkAPI.getState().branches.entities[input.branchId] + : input.branchIdentifiers; + if (!branchIdentifiers) return []; + + const config = await window.api.git.getConfig({ + dir: branchIdentifiers.root, + keyPath: `branch.${branchIdentifiers.ref}.remote` + }); + const remote = config && config.scope !== 'none' ? config.value : 'origin'; + const commits = ( + await window.api.git.revList({ + dir: branchIdentifiers.root, + commitish: [ + branchIdentifiers.scope === 'local' + ? branchIdentifiers.ref + : `remotes/${remote}/${branchIdentifiers.ref}` + ] + }) + ) + .trim() + .split(/\r\n|\n/); + + return await Promise.all( + commits.map( + async oid => + await thunkAPI + .dispatch(fetchCommit({ commitIdentifiers: { oid: oid, root: branchIdentifiers.root } })) + .unwrap() + ) + ); +}); + +/** + * Build a {@link Commit} object that is added to the Redux store. This function does not create + * git commits within a repository worktree (i.e. it does not interact with the filesystem), but + * instead updates the store with all of the required git commit information. Use + * {@linkcode addCommit} to create a new commit within the filesystem. + */ +export const buildCommit = createAppAsyncThunk( + 'commits/buildCommit', + async ({ oid, root }, thunkAPI) => { + const objectInfo = await window.api.git.catFile({ dir: root, objectRef: oid }); + + return thunkAPI.dispatch( + commitAdded( + objectInfo ?? { + oid: oid, + message: '', + parents: [], + author: { + name: '', + email: '', + timestamp: undefined + }, + committer: { + name: '', + email: '', + timestamp: undefined + } + } + ) + ).payload; + } +); + +export const addCommit = createAppAsyncThunk< + Commit | undefined, + { repoId: UUID; branchId: UUID; message: string } +>('commits/addCommit', async ({ repoId, branchId, message }, thunkAPI) => { + const repo = repoSelectors.selectById(thunkAPI.getState(), repoId); + const branch = branchSelectors.selectById(thunkAPI.getState(), branchId); + if (!repo || !branch) return undefined; + + const oid = await window.api.git.commit({ dir: branch.root, message: message }); + if (!oid) { + console.error(`Unable to commit to ${branch.root}...`); + return undefined; + } + const commit = await thunkAPI + .dispatch(fetchCommit({ commitIdentifiers: { oid: oid, root: branch.root } })) + .unwrap(); + + await thunkAPI.dispatch(updateBranches(repo)).unwrap(); + + const metafiles = metafileSelectors.selectStagedByRepo( + thunkAPI.getState(), + repoId, + branchId, + false + ); + metafiles.forEach(async metafile => { + await thunkAPI.dispatch(updateFilebasedMetafile(metafile)); + if (isVersionedMetafile(metafile)) + await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); + }); + + return commit; +}); + +/** + * Remove a Commit object from the Redux store. This will delete the commit from the history of the + * specified branch, but will only remove the Commit object in Redux if no other branches contain + * that particular commit. + */ +export const revertCommit = createAppAsyncThunk( + 'commits/revertCommit', + async ({ oid, root }, thunkAPI) => { + const metafiles = metafileSelectors.selectByRoot(thunkAPI.getState(), root); + const repo = await thunkAPI.dispatch(fetchRepo({ filepath: root })).unwrap(); + if (!repo) return false; + + const succeeded = await window.api.git.reset({ dir: root, mode: 'soft', commit: oid }); + if (succeeded) { + await thunkAPI.dispatch(commitRemoved(oid.toString())); + await thunkAPI.dispatch(updateBranches(repo)).unwrap(); + metafiles.forEach(async metafile => { + await thunkAPI.dispatch(updateFilebasedMetafile(metafile)); + if (isVersionedMetafile(metafile)) + await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); + }); + } + return succeeded; + } +); diff --git a/src/renderer/src/store/thunks/filetypes.ts b/src/renderer/src/store/thunks/filetypes.ts new file mode 100644 index 000000000..eb9d403f4 --- /dev/null +++ b/src/renderer/src/store/thunks/filetypes.ts @@ -0,0 +1,26 @@ +import type { PathLike } from 'types/app'; +import type { Filetype } from 'types/filetype'; +import { createAppAsyncThunk } from '../hooks'; +import filetypeSelectors from '../selectors/filetypes'; +import { filetypeAdded } from '../slices/filetypes'; + +export const fetchFiletype = createAppAsyncThunk( + 'filetypes/fetchFiletype', + async (filepath, thunkAPI) => { + const state = thunkAPI.getState(); + const stats = await window.api.fs.extractStats(filepath); + const result = stats?.isDir + ? filetypeSelectors.selectByFiletype(state, 'Directory') + : filetypeSelectors.selectByExtension(state, window.api.fs.extractExtension(filepath)); + return result.length > 0 ? result[0] : filetypeSelectors.selectByFiletype(state, 'Text')[0]; + } +); + +export const importFiletypes = createAppAsyncThunk[]>( + 'filetypes/importFiletypes', + async (filetypes, thunkAPI) => { + filetypes.map(filetype => { + thunkAPI.dispatch(filetypeAdded({ id: window.api.uuid(), ...filetype })); + }); + } +); diff --git a/src/renderer/src/store/thunks/metafiles.ts b/src/renderer/src/store/thunks/metafiles.ts new file mode 100644 index 000000000..7945bcfaf --- /dev/null +++ b/src/renderer/src/store/thunks/metafiles.ts @@ -0,0 +1,435 @@ +import { UniqueIdentifier } from '@dnd-kit/core'; +import { DateTime } from 'luxon'; +import { createAppAsyncThunk } from '../hooks'; +import branchSelectors from '../selectors/branches'; +import metafileSelectors from '../selectors/metafiles'; +import { + hasFilebasedUpdates, + isDirectoryMetafile, + isFileMetafile, + isFilebasedMetafile, + isVersionedMetafile, + isVirtualMetafile, + metafileAdded, + metafileUpdated +} from '../slices/metafiles'; +import { addBranch, fetchBranch, updateBranch } from './branches'; +import { fetchFiletype } from './filetypes'; +import { fetchRepo } from './repos'; +import { + DirectoryMetafile, + FileMetafile, + FilebasedMetafile, + Metafile, + MetafileTemplate, + VersionedMetafile +} from 'types/metafile'; +import { CardType, FilesystemStatus, PathLike, UUID } from 'types/app'; +import { ExactlyOne } from 'types/util'; + +const extractFilename = window.api.fs.extractFilename; +const hasUpdates = window.api.utils.hasUpdates; +const isDefined = window.api.utils.isDefined; +const isStaged = window.api.utils.isStaged; +const removeDuplicates = window.api.utils.removeDuplicates; +const symmetrical = window.api.utils.symmetrical; + +/** + * Fetch a {@link Metafile} object from the Redux store. This function does not create a new + * object within the filesystem, but checks for an existing `Metafile` based on matching the `path` + * and `handlers` parameters, and adds a new {@link Metafile} object if no matches were found. + * Use {@linkcode metafileSelectors} if attempting to locate a {@link VirtualMetafile}, or directly + * call {@linkcode createMetafile} to create one. + * @param obj - A destructed object for named parameters. + * @param obj.path - A relative or absolute file path to the requested filesystem object. + * @param obj.metafile - Fetch based on {@link FilebasedMetafile} fields. + * @returns {Metafile} A new {@link Metafile} object representing the basic information of the + * indicated filesystem object; {@linkcode updateFilebasedMetafile} and + * {@linkcode updateVersionedMetafile} should be called to add/update filebased and versioned + * fields within the `Metafile` object. + */ +export const fetchMetafile = createAppAsyncThunk< + Metafile, + { path: PathLike; handlers?: CardType[] } +>('metafiles/fetchMetafile', async ({ path: filepath, handlers }, thunkAPI) => { + const existing = metafileSelectors.selectByFilepath(thunkAPI.getState(), filepath, handlers); + return existing.length > 0 + ? (existing[0] as FilebasedMetafile) + : await thunkAPI.dispatch(createMetafile({ path: filepath })).unwrap(); +}); + +export const fetchParentMetafile = createAppAsyncThunk< + DirectoryMetafile | undefined, + FilebasedMetafile +>('metafiles/fetchParent', async (metafile, thunkAPI) => { + const metafiles: ReturnType = + metafileSelectors.selectByFilepath( + thunkAPI.getState(), + window.api.fs.dirname(metafile.path.toString()) + ); + return metafiles.length > 0 ? (metafiles[0] as DirectoryMetafile) : undefined; +}); + +export const createMetafile = createAppAsyncThunk< + Metafile, + ExactlyOne<{ path: PathLike; metafile: MetafileTemplate }> +>('metafiles/createMetafile', async (input, thunkAPI) => { + const filetype = await thunkAPI.dispatch(fetchFiletype(input.path ?? '')).unwrap(); + return thunkAPI.dispatch( + metafileAdded({ + ...(input.metafile ?? {}), + id: window.api.uuid(), + name: input.metafile ? input.metafile.name : input.path ? extractFilename(input.path) : '', + modified: input.metafile?.modified ?? DateTime.local().valueOf(), + handler: input.metafile?.handler ?? filetype?.handler ?? 'Editor', + filetype: input.metafile?.filetype ?? filetype?.filetype ?? 'Text', + flags: input.metafile?.flags ?? [], + ...(input.path ? { path: input.path, state: 'unmodified' satisfies FilesystemStatus } : {}) + }) + ).payload; +}); + +export const updateDirectoryMetafile = createAppAsyncThunk< + DirectoryMetafile | undefined, + { id: UUID; shallow?: boolean } +>('metafiles/updateDirectoryMetafile', async ({ id, shallow = false }, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; + + const mtime = shallow ? 0 : await hasFilebasedUpdates(metafile); + if (!isDefined(mtime)) return metafile as DirectoryMetafile; + + const contains: UniqueIdentifier[] = []; + if (!shallow) { + const descendants = await window.api.fs.getDescendantPaths(metafile.path); + await Promise.all( + descendants.map(async desc => { + const existing = metafileSelectors.selectByFilepath(thunkAPI.getState(), desc); + if (existing.length > 0) { + existing.map(metafile => contains.push(metafile.id)); + } else { + const dirMetafile = await thunkAPI.dispatch(createMetafile({ path: desc })).unwrap(); + contains.push(dirMetafile.id); + } + }) + ); + } + const updating = hasUpdates(metafile, { contains }); + + return updating + ? (thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + contains: contains, + mtime: mtime, + state: 'unmodified' + }) + ).payload as DirectoryMetafile) + : (metafile as DirectoryMetafile); +}); + +export const updateFileMetafile = createAppAsyncThunk( + 'metafiles/updateFileMetafile', + async (id, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; + + const mtime = await hasFilebasedUpdates(metafile); + if (!isDefined(mtime)) return metafile as FileMetafile; + const content = ( + await window.api.fs.readFileAsync(metafile.path, { encoding: 'utf-8' }) + ).toString(); + + return hasUpdates(metafile, { content }) + ? (thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + content: content, + mtime: mtime, + state: 'unmodified' + }) + ).payload as FileMetafile) + : (metafile as FileMetafile); + } +); + +export const updateFilebasedMetafile = createAppAsyncThunk< + DirectoryMetafile | FileMetafile | undefined, + FilebasedMetafile +>('metafiles/updateFilebasedMetafile', async (metafile, thunkAPI) => { + return metafile.filetype === 'Directory' + ? await thunkAPI.dispatch(updateDirectoryMetafile({ id: metafile.id })).unwrap() + : await thunkAPI.dispatch(updateFileMetafile(metafile.id)).unwrap(); +}); + +export const updateVersionedMetafile = createAppAsyncThunk< + VersionedMetafile | FilebasedMetafile | undefined, + UUID +>('metafiles/updateVersionedMetafile', async (id, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + if (!isDefined(metafile) || !isFilebasedMetafile(metafile)) return undefined; + + const repo = await thunkAPI.dispatch(fetchRepo({ metafile })).unwrap(); + const branch = await thunkAPI.dispatch(fetchBranch({ metafile })).unwrap(); + if (!isDefined(repo) || !isDefined(branch)) return metafile; // not under version control + + if (isDirectoryMetafile(metafile)) { + const root = await window.api.git.getRoot(metafile.path); + const descendants = root ? metafileSelectors.selectByRoot(thunkAPI.getState(), root) : []; + const statuses = root + ? (await window.api.git.worktreeStatus({ dir: root, pathspec: metafile.path }))?.entries + : undefined; + + if (isDefined(statuses)) { + const [newEntries, updatedMetafiles, unmatchedMetafiles] = symmetrical( + statuses, + descendants, + (status, descendant) => window.api.fs.isEqualPaths(status.path, descendant.path) + ); + + // update all matching metafiles with their current status + removeDuplicates(updatedMetafiles, (a, b) => a[1].id === b[1].id).map( + ([status, metafile]) => { + if (metafile.status !== status.status) { + thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + repo: repo.id, + branch: branch.id, + status: status.status + }) + ); + } + } + ); + + // descendants without a matching status update need to find any ascendant status updates, + // or update to `unmodified` status + await Promise.all( + unmatchedMetafiles.map(async metafile => { + const matcher = (directory: string): boolean => { + const match = statuses.find(status => + window.api.fs.isEqualPaths(status.path, directory) + ); + return isDefined(match); + }; + + const match = await window.api.git.getMatchUp(metafile.path, matcher); + const parentStatus = match + ? statuses.find(status => window.api.fs.isEqualPaths(status.path, match)) + : undefined; + + if ( + (parentStatus && metafile.status !== parentStatus.status) || + (!parentStatus && metafile.status !== 'unmodified') + ) { + thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + repo: repo.id, + branch: branch.id, + status: parentStatus?.status ?? 'unmodified' + }) + ); + } + }) + ); + + // status entries without a matching metafile in the Redux store need to be created + await Promise.all( + newEntries.map(async file => { + const metafile = await thunkAPI.dispatch(fetchMetafile({ path: file.path })).unwrap(); + thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + repo: repo.id, + branch: branch.id, + status: file.status + }) + ); + }) + ); + } + } + + const status = await window.api.git.fileStatus(metafile.path); + const conflicted = await window.api.git.checkUnmergedPath(metafile.path); + const typedConflicts = isDirectoryMetafile(metafile) + ? conflicted.map(c => c.path) + : conflicted[0]?.conflicts ?? []; + + return isDefined(status) && + hasUpdates(metafile, { + repo: repo.id, + branch: branch.id, + status, + conflicts: typedConflicts + }) + ? (thunkAPI.dispatch( + metafileUpdated({ + ...metafile, + repo: repo.id, + branch: branch.id, + status: status, + conflicts: typedConflicts + }) + ).payload as VersionedMetafile) + : metafile; +}); + +/** + * Write content updates to files in the filesystem and update Metafile object with content and + * version information. + * @param obj - A destructured object for named parameters. + * @param obj.id - The UUID of a {@link Metafile} object that should have either `content` (for + * {@link FileMetafile}) or `contains` (for {@link DirectoryMetafile}) written to the filesystem + * at the `path` location. + * @param obj.filepath - The relative or absolute file path to use, regardless of whether the + * metafile contains a valid `path` field. + * @returns {boolean} A boolean indicating true if the filesystem and metafile were successfully + * updated, false otherwise. + */ +export const saveFile = createAppAsyncThunk( + 'metafiles/saveFile', + async ({ id, filepath }, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + const targetPath = filepath ?? metafile?.path; + + if ( + (isFileMetafile(metafile) || isVirtualMetafile(metafile)) && + metafile.content && + targetPath + ) { + // update metafile + const updated = thunkAPI.dispatch( + metafileUpdated({ ...metafile, path: targetPath, state: 'unmodified' }) + ).payload; + // write file + await window.api.fs.writeFileAsync(targetPath, metafile.content); + // update parent metafile + const parent = await thunkAPI + .dispatch(fetchParentMetafile(updated as FilebasedMetafile)) + .unwrap(); + if (parent) thunkAPI.dispatch(updateDirectoryMetafile(parent)); + // // update git info + await Promise.all( + metafileSelectors + .selectByFilepath(thunkAPI.getState(), targetPath) + .filter(isFilebasedMetafile) + .map(async m => await thunkAPI.dispatch(updateVersionedMetafile(m.id))) + ); + return true; + } + return false; + } +); + +export const stageMetafile = createAppAsyncThunk( + 'metafiles/stageMetafile', + async (id, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + + if (isVersionedMetafile(metafile) && !isStaged(metafile.status)) { + await window.api.git.add(metafile.path); + const parent = await thunkAPI.dispatch(fetchParentMetafile(metafile)).unwrap(); + if (parent) await thunkAPI.dispatch(updateVersionedMetafile(parent.id)); + else await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); + await thunkAPI.dispatch(updateBranch(metafile.branch)); + } + } +); + +export const unstageMetafile = createAppAsyncThunk( + 'metafiles/unstageMetafile', + async (id, thunkAPI) => { + const metafile = thunkAPI.getState().metafiles.entities[id]; + + if (isVersionedMetafile(metafile) && isStaged(metafile.status)) { + await window.api.git.restore({ filepath: metafile.path, staged: true }); + const parent = await thunkAPI.dispatch(fetchParentMetafile(metafile)).unwrap(); + if (parent) await thunkAPI.dispatch(updateVersionedMetafile(parent.id)); + else await thunkAPI.dispatch(updateVersionedMetafile(metafile.id)); + await thunkAPI.dispatch(updateBranch(metafile.branch)); + } + } +); + +/** + * Switch branches or restore working tree files in the filesystem and return an updated Metafile + * object. This will create a new linked worktree (if not already present) based on the HEAD of + * the branch reference provided. This thunk also creates a new Metafile object pointing to the + * same file in the new branch. + * @param obj - A destructured object for named parameters. + * @param obj.id - The UUID of a {@link Metafile} object that should be reparented to a new linked + * worktree (branch and root path). + * @param obj.ref - The name of the branch to check out and switch to. + * @returns {Metafile | undefined} A new {@link Metafile} object pointing to the same file as the + * metafile parameter except rooted in the new worktree, or undefined if a linked worktree could + * not be created. + */ +export const switchBranch = createAppAsyncThunk( + 'metafiles/switchBranch', + async ({ id, ref }, thunkAPI) => { + const metafile = metafileSelectors.selectById(thunkAPI.getState(), id); + const { dir } = await window.api.git.getWorktreePaths(metafile?.path ?? ''); + if (!dir) return undefined; // unless metafile has a root path, there is no repository + + const branchA = branchSelectors.selectById(thunkAPI.getState(), metafile?.branch ?? ''); + // `addBranch` handles cases where no new worktree (or branch) is needing and gracefully + // returns the target branch; this includes when the target branch is the current branch in the + // repository, and when the target branch is already in a linked worktree + const branchB = await thunkAPI.dispatch(addBranch({ root: dir, ref })).unwrap(); + + if (isVersionedMetafile(metafile) && branchA && branchB) { + // relative path from root to file + const relativePath = window.api.fs.relative( + branchA.root.toString(), + metafile.path.toString() + ); + // absolute path from new linked worktree root to file + const absolutePath = window.api.fs.join(branchB.root.toString(), relativePath); + return await thunkAPI.dispatch(fetchMetafile({ path: absolutePath })).unwrap(); + } + + console.error( + `Unable to switch ${metafile?.name} [${id}] from '${branchA?.scope}/${branchA?.ref}' to '${branchB?.scope}/${branchB?.ref}'` + ); + return undefined; + } +); + +export const revertChanges = createAppAsyncThunk( + 'metafiles/revertChanges', + async (metafile, thunkAPI) => { + const branch = await thunkAPI.dispatch(fetchBranch({ metafile })).unwrap(); + + if (metafile.status !== 'unmodified' && branch) { + await window.api.git.checkoutPathspec({ + dir: branch.root, + pathspec: metafile.path.toString(), + ours: true + }); + const updated = await thunkAPI.dispatch(updateFilebasedMetafile(metafile)).unwrap(); + if (updated) await thunkAPI.dispatch(updateVersionedMetafile(updated?.id)).unwrap(); + } + } +); + +// export const updateConflicted = createAppAsyncThunk( +// 'metafiles/fetchConflicted', +// async (conflicts, thunkAPI) => { +// const conflictedFiles = removeDuplicates(conflicts, (c1, c2) => isEqualPaths(c1.path, c2.path)); +// return flattenArray( +// await Promise.all( +// conflictedFiles.map(async conflict => { +// const metafile = await thunkAPI +// .dispatch(fetchMetafile({ path: conflict.path, handlers: ['Editor', 'Explorer'] })) +// .unwrap(); +// return isFilebasedMetafile(metafile) +// ? await thunkAPI.dispatch(updateVersionedMetafile(metafile)).unwrap() +// : metafile; +// }) +// ) +// ); +// } +// ); diff --git a/src/renderer/src/store/thunks/repos.ts b/src/renderer/src/store/thunks/repos.ts new file mode 100644 index 000000000..d2f41fcbc --- /dev/null +++ b/src/renderer/src/store/thunks/repos.ts @@ -0,0 +1,82 @@ +import type { PathLike } from 'fs-extra'; +import type { FilebasedMetafile } from 'types/metafile'; +import type { Repository } from 'types/repo'; +import type { ExactlyOne } from 'types/util'; +import { createAppAsyncThunk } from '../hooks'; +import repoSelectors from '../selectors/repos'; +import { isVersionedMetafile } from '../slices/metafiles'; +import { repoAdded } from '../slices/repos'; +import { fetchBranches } from './branches'; +import { fetchParentMetafile } from './metafiles'; + +export const fetchRepo = createAppAsyncThunk< + Repository | undefined, + ExactlyOne<{ filepath: PathLike; metafile: FilebasedMetafile }> +>('repos/fetchRepo', async (input, thunkAPI) => { + const state = thunkAPI.getState(); + + if (input.metafile) { + // if metafile already has a repo UUID, check for matching repository + let repo = input.metafile.repo + ? repoSelectors.selectById(state, input.metafile.repo) + : undefined; + // otherwise if parent metafile already has a repo UUID, check for matching repository + const parent = !repo + ? await thunkAPI.dispatch(fetchParentMetafile(input.metafile)).unwrap() + : undefined; + repo = + parent && isVersionedMetafile(parent) ? repoSelectors.selectById(state, parent.repo) : repo; + if (repo) return repo; + } + + // unless filepath has a root path, there is no repository + const filepath = input.metafile ? input.metafile.path : input.filepath.toString(); + const { dir } = await window.api.git.getWorktreePaths(filepath); + if (!dir) return undefined; + + // check root for existing repository + const existingRepo = repoSelectors.selectByRoot(state, dir); + const repo = existingRepo ? existingRepo : await thunkAPI.dispatch(buildRepo(dir)).unwrap(); + return repo; +}); + +export const buildRepo = createAppAsyncThunk( + 'repos/buildRepo', + async (filepath, thunkAPI) => { + const { dir } = await window.api.git.getWorktreePaths(filepath.toString()); + const { url, oauth } = await window.api.git.getRemoteConfig(dir); + if (dir) await window.api.git.worktreePrune({ dir: dir, verbose: true }); // prune worktree information to remove stale linked branches + const current = dir + ? await window.api.git.revParse({ dir: dir, opts: ['abbrevRef'], args: ['HEAD'] }) + : undefined; + const branches = dir + ? await thunkAPI.dispatch(fetchBranches(dir)).unwrap() + : { local: [], remote: [] }; + const { local, remote } = { + local: branches.local.map(branch => branch.id), + remote: branches.remote.map(branch => branch.id) + }; + const { username, password } = await window.api.git.getCredentials(dir); + + return thunkAPI.dispatch( + repoAdded({ + id: window.api.uuid(), + name: url + ? window.api.git.extractRepoName(url.href) + : dir + ? window.api.fs.extractFilename(dir) + : '', + root: dir ?? '', + corsProxy: 'https://cors-anywhere.herokuapp.com', + url: url?.href ?? '', + default: current ?? '', + local: local, + remote: remote, + oauth: oauth ?? 'github', + username: username, + password: password, + token: '' + }) + ).payload; + } +); diff --git a/src/renderer/src/store/thunks/stacks.ts b/src/renderer/src/store/thunks/stacks.ts new file mode 100644 index 000000000..ba12bcb4c --- /dev/null +++ b/src/renderer/src/store/thunks/stacks.ts @@ -0,0 +1,139 @@ +import { DateTime } from 'luxon'; +import type { UUID } from 'types/app'; +import { createAppAsyncThunk } from '../hooks'; +import cardSelectors from '../selectors/cards'; +import stackSelectors from '../selectors/stacks'; +import { cardUpdated } from '../slices/cards'; +import { stackAdded, stackRemoved, stackUpdated } from '../slices/stacks'; + +/** + * Create a new Stack component that is added to the Redux store and the UI. + * @param name The name of the new Stack component. + * @param cards The UUIDs of Card components that should be pushed onto the Stack component. + * @param x The horizontal position of the new Stack component; defaults to 40. + * @param y The vertical position of the new Stack component; defaults to 40. + * @returns {UUID} The UUID of the new Stack component. + */ +export const createStack = createAppAsyncThunk< + UUID, + { name: string; cards: UUID[]; x?: number; y?: number } +>('stacks/createStack', async (input, thunkAPI) => { + const cards = cardSelectors.selectByIds(thunkAPI.getState(), input.cards); + + const stackId = window.api.uuid(); + thunkAPI.dispatch( + stackAdded({ + id: stackId, + name: input.name, + created: DateTime.local().valueOf(), + modified: DateTime.local().valueOf(), + cards: input.cards, + x: input.x ?? 40, + y: input.y ?? 40 + }) + ); + cards.map(card => + thunkAPI.dispatch( + cardUpdated({ + ...card, + captured: stackId + }) + ) + ); + return stackId; +}); + +/** + * Remove a Stack component from the Redux store and the UI. + * @param stack The UUID of the Stack component to remove. + */ +export const removeStack = createAppAsyncThunk( + 'stacks/removeStack', + async (input, thunkAPI) => { + const state = thunkAPI.getState(); + const stack = stackSelectors.selectById(state, input.stack); + + if (stack) { + const cards = cardSelectors.selectByIds(state, stack.cards); + cards.map((card, index) => + thunkAPI.dispatch( + cardUpdated({ + ...card, + captured: undefined, + x: stack.x + index * 15, + y: stack.y + (index + 1) * 15 + }) + ) + ); + thunkAPI.dispatch(stackRemoved(stack.id)); + } + } +); + +/** + * Push Card components onto the Stack by updating the Redux store and UI. + * @param stack The UUID of the Stack component to receive the cards. + * @param cards The UUIDs of Card components that should be pushed onto the Stack component. + */ +export const pushCards = createAppAsyncThunk( + 'stacks/pushCards', + async (input, thunkAPI) => { + const state = thunkAPI.getState(); + const stack = stackSelectors.selectById(state, input.stack); + const cards = cardSelectors.selectByIds(state, input.cards); + + if (stack && cards.length > 0) { + thunkAPI.dispatch( + stackUpdated({ + ...stack, + cards: [...stack.cards, ...input.cards] + }) + ); + cards.map(card => + thunkAPI.dispatch( + cardUpdated({ + ...card, + captured: stack.id + }) + ) + ); + } + } +); + +/** + * Pop Card components off of the Stack by updating the Redux store and UI. + * @param stack The UUID of the Stack component to pop the cards from. + * @param card The UUID of the Card component to be popped from the Stack component. + * @param x The updated horizontal position of the popped Card component. + * @param y The vertical position of the popped Card component. + */ +export const popCard = createAppAsyncThunk( + 'stacks/popCard', + async (input, thunkAPI) => { + const state = thunkAPI.getState(); + const stack = stackSelectors.selectById(state, input.stack); + const card = cardSelectors.selectById(state, input.card); + + if (stack && card) { + if (stack.cards.length <= 2) { + thunkAPI.dispatch(removeStack({ stack: stack.id })); + } else { + thunkAPI.dispatch( + stackUpdated({ + ...stack, + cards: stack.cards.filter(id => id !== input.card) + }) + ); + } + thunkAPI.dispatch( + cardUpdated({ + ...card, + captured: undefined, + x: input.x, + y: input.y + }) + ); + } + } +); diff --git a/yarn.lock b/yarn.lock index e6eb831ff..295245a74 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1094,6 +1094,13 @@ __metadata: languageName: node linkType: hard +"@types/git-config-path@npm:^2": + version: 2.0.2 + resolution: "@types/git-config-path@npm:2.0.2" + checksum: d6c7de0f67c0d8584104bf381934bd79f3e4455773062773dcef307d6d31b5f849f77586686ccf7ab77cb1452603de4bf5a516330948ece3230cfab77009f04c + languageName: node + linkType: hard + "@types/hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "@types/hoist-non-react-statics@npm:3.3.2" @@ -1111,6 +1118,13 @@ __metadata: languageName: node linkType: hard +"@types/ini@npm:^1.3.31": + version: 1.3.31 + resolution: "@types/ini@npm:1.3.31" + checksum: aca4fed0cd68f6693fd64e1b7d188a9c8c6f5823b2e3501b0570135555d4184d7d0dfba2c1afb3514c94cb21ece732f4467ea98c827d1b1b98716827ac9de680 + languageName: node + linkType: hard + "@types/jsonfile@npm:*": version: 6.1.2 resolution: "@types/jsonfile@npm:6.1.2" @@ -1157,6 +1171,13 @@ __metadata: languageName: node linkType: hard +"@types/parse-git-config@npm:^3": + version: 3.0.2 + resolution: "@types/parse-git-config@npm:3.0.2" + checksum: 7324aa64ce4e80528851b4b94af3a9a69516483031fbf199428915a038c867415bb7763231cb9951cd6a356f77f3f8988c2f1bfc6da9a37dbb8b6c66739da1c1 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.0 resolution: "@types/parse-json@npm:4.0.0" @@ -1164,6 +1185,13 @@ __metadata: languageName: node linkType: hard +"@types/parse-path@npm:^7": + version: 7.0.1 + resolution: "@types/parse-path@npm:7.0.1" + checksum: 11d011ad68dc6161a550750dd9d449aaf72006186e4564b63befcd793f3b6f68058f580086e7ede50effeb8ebde250b5a42eff345263964eee219580aa32c3f0 + languageName: node + linkType: hard + "@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5": version: 15.7.7 resolution: "@types/prop-types@npm:15.7.7" @@ -1216,6 +1244,13 @@ __metadata: languageName: node linkType: hard +"@types/semver@npm:^7": + version: 7.5.3 + resolution: "@types/semver@npm:7.5.3" + checksum: 349fdd1ab6c213bac5c991bac766bd07b8b12e63762462bb058740dcd2eb09c8193d068bb226f134661275f2022976214c0e727a4e5eb83ec1b131127c980d3e + languageName: node + linkType: hard + "@types/sha1@npm:^1.1.3": version: 1.1.3 resolution: "@types/sha1@npm:1.1.3" @@ -1232,6 +1267,13 @@ __metadata: languageName: node linkType: hard +"@types/valid-url@npm:^1": + version: 1.0.5 + resolution: "@types/valid-url@npm:1.0.5" + checksum: a6a1546a7157a09c6fa487167dda94c10c4ba9677dfb1b7191c221f6365324d1952e6728d24b8b1da194216eaf44056892da3bfdb89e0eeef4d4258dc53ed316 + languageName: node + linkType: hard + "@types/yauzl@npm:^2.9.1": version: 2.10.1 resolution: "@types/yauzl@npm:2.10.1" @@ -1704,6 +1746,15 @@ __metadata: languageName: node linkType: hard +"dot-prop@npm:^8.0.2": + version: 8.0.2 + resolution: "dot-prop@npm:8.0.2" + dependencies: + type-fest: ^3.8.0 + checksum: 6bb27f4a1790c340a8d848063ee8410184be0535082b942731a5d6d84763766d5811d9d7015c7f678e1e6b0d3839f65ce19a453525746bd853d2c09a064d4fdb + languageName: node + linkType: hard + "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -1953,6 +2004,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^6.3.0": + version: 6.3.0 + resolution: "find-up@npm:6.3.0" + dependencies: + locate-path: ^7.1.0 + path-exists: ^5.0.0 + checksum: 9a21b7f9244a420e54c6df95b4f6fc3941efd3c3e5476f8274eb452f6a85706e7a6a90de71353ee4f091fcb4593271a6f92810a324ec542650398f928783c280 + languageName: node + linkType: hard + "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -2080,6 +2141,20 @@ __metadata: languageName: node linkType: hard +"git-config-path@npm:^2.0.0": + version: 2.0.0 + resolution: "git-config-path@npm:2.0.0" + checksum: f67bee619b76a339d39dee6094c4db914512e3ca7e5ec0a05421b81a6ad0221d6fccfcc0b1c5127cf5af4ed3a49184279bde91b61c003f1cff58ac61e7139cfc + languageName: node + linkType: hard + +"git-remote-protocol@npm:^0.1.0": + version: 0.1.0 + resolution: "git-remote-protocol@npm:0.1.0" + checksum: 439d3a62d8c6f522d80e29b779be6ffca9ced8775e92f5ada4ef376edf152f7f450ea036ea7f0650c7c02c8993a8633ae969bd63265bf1ba2da92f743dd9201e + languageName: node + linkType: hard + "glob@npm:^10.2.2, glob@npm:^10.3.7": version: 10.3.10 resolution: "glob@npm:10.3.10" @@ -2340,6 +2415,20 @@ __metadata: languageName: node linkType: hard +"ini@npm:^1.3.5": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 + languageName: node + linkType: hard + +"ini@npm:^4.1.1": + version: 4.1.1 + resolution: "ini@npm:4.1.1" + checksum: 0e5909554074fbc31824fa5415b0f604de4a665514c96a897a77bf77353a7ad4743927321270e9d0610a9d510ccd1f3cd77422f7cc80d8f4542dbce75476fb6d + languageName: node + linkType: hard + "ip@npm:^2.0.0": version: 2.0.0 resolution: "ip@npm:2.0.0" @@ -2484,6 +2573,15 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^7.1.0": + version: 7.2.0 + resolution: "locate-path@npm:7.2.0" + dependencies: + p-locate: ^6.0.0 + checksum: c1b653bdf29beaecb3d307dfb7c44d98a2a98a02ebe353c9ad055d1ac45d6ed4e1142563d222df9b9efebc2bcb7d4c792b507fad9e7150a04c29530b7db570f8 + languageName: node + linkType: hard + "loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -2825,6 +2923,24 @@ __metadata: languageName: node linkType: hard +"p-limit@npm:^4.0.0": + version: 4.0.0 + resolution: "p-limit@npm:4.0.0" + dependencies: + yocto-queue: ^1.0.0 + checksum: 01d9d70695187788f984226e16c903475ec6a947ee7b21948d6f597bed788e3112cc7ec2e171c1d37125057a5f45f3da21d8653e04a3a793589e12e9e80e756b + languageName: node + linkType: hard + +"p-locate@npm:^6.0.0": + version: 6.0.0 + resolution: "p-locate@npm:6.0.0" + dependencies: + p-limit: ^4.0.0 + checksum: 2bfe5234efa5e7a4e74b30a5479a193fdd9236f8f6b4d2f3f69e3d286d9a7d7ab0c118a2a50142efcf4e41625def635bd9332d6cbf9cc65d85eb0718c579ab38 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -2850,6 +2966,16 @@ __metadata: languageName: node linkType: hard +"parse-git-config@npm:^3.0.0": + version: 3.0.0 + resolution: "parse-git-config@npm:3.0.0" + dependencies: + git-config-path: ^2.0.0 + ini: ^1.3.5 + checksum: 243aa781d08f3208e94708a59e3410af90a7e831054c08775e7aeccaa23fc03240092ffd829412ee3dbe57f33ae876883b7e63171499041d4522e92d7d624c13 + languageName: node + linkType: hard + "parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -2862,6 +2988,31 @@ __metadata: languageName: node linkType: hard +"parse-path@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-path@npm:7.0.0" + dependencies: + protocols: ^2.0.0 + checksum: 244b46523a58181d251dda9b888efde35d8afb957436598d948852f416d8c76ddb4f2010f9fc94218b4be3e5c0f716aa0d2026194a781e3b8981924142009302 + languageName: node + linkType: hard + +"parse-url@npm:^8.1.0": + version: 8.1.0 + resolution: "parse-url@npm:8.1.0" + dependencies: + parse-path: ^7.0.0 + checksum: b93e21ab4c93c7d7317df23507b41be7697694d4c94f49ed5c8d6288b01cba328fcef5ba388e147948eac20453dee0df9a67ab2012415189fff85973bdffe8d9 + languageName: node + linkType: hard + +"path-exists@npm:^5.0.0": + version: 5.0.0 + resolution: "path-exists@npm:5.0.0" + checksum: 8ca842868cab09423994596eb2c5ec2a971c17d1a3cb36dbf060592c730c725cd524b9067d7d2a1e031fef9ba7bd2ac6dc5ec9fb92aa693265f7be3987045254 + languageName: node + linkType: hard + "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -2962,6 +3113,13 @@ __metadata: languageName: node linkType: hard +"protocols@npm:^2.0.0": + version: 2.0.1 + resolution: "protocols@npm:2.0.1" + checksum: 4a9bef6aa0449a0245ded319ac3cbfd032c3e76ebb562777037a3a832c99253d0e8bc2847f7be350236df620a11f7d4fe683ea7f59a2cc14c69f746b6259eda4 + languageName: node + linkType: hard + "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -3000,6 +3158,17 @@ __metadata: languageName: node linkType: hard +"react-error-boundary@npm:^4.0.11": + version: 4.0.11 + resolution: "react-error-boundary@npm:4.0.11" + dependencies: + "@babel/runtime": ^7.12.5 + peerDependencies: + react: ">=16.13.1" + checksum: b3c157fea4e8f78411e9aa0fbf5241f6907b66ede1cd8b7bb22faaeb0339ebeb3dc8e63bf90ef3f740bfa8fd994ca6edf975089cd371b664ad6c2735e7512d38 + languageName: node + linkType: hard + "react-is@npm:^16.13.1, react-is@npm:^16.7.0": version: 16.13.1 resolution: "react-is@npm:16.13.1" @@ -3265,7 +3434,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.3.5": +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -3487,28 +3656,45 @@ __metadata: "@mui/material": ^5.14.11 "@reduxjs/toolkit": ^1.9.6 "@types/fs-extra": ^11.0.2 + "@types/git-config-path": ^2 + "@types/ini": ^1.3.31 "@types/luxon": ^3.3.2 "@types/node": ^20.7.2 "@types/pako": ^2.0.1 + "@types/parse-git-config": ^3 + "@types/parse-path": ^7 "@types/react": ^18.2.23 "@types/react-dom": ^18.2.8 + "@types/semver": ^7 "@types/sha1": ^1.1.3 + "@types/valid-url": ^1 "@vitejs/plugin-react": ^4.1.0 + dot-prop: ^8.0.2 electron: 26.2.4 electron-vite: ^1.0.28 + find-up: ^6.3.0 fs-extra: ^11.1.1 + git-config-path: ^2.0.0 + git-remote-protocol: ^0.1.0 ignore: ^5.2.4 + ini: ^4.1.1 luxon: ^3.4.3 pako: ^2.1.0 + parse-git-config: ^3.0.0 + parse-path: ^7.0.0 + parse-url: ^8.1.0 prettier: ^3.0.3 re-reselect: ^4.0.1 react: ^18.2.0 react-dom: ^18.2.0 + react-error-boundary: ^4.0.11 react-redux: ^8.1.2 reselect: ^4.1.8 rimraf: ^5.0.5 + semver: ^7.5.4 sha1: ^1.1.1 typescript: ^5.2.2 + valid-url: ^1.0.9 vite: ^4.4.9 languageName: unknown linkType: soft @@ -3548,6 +3734,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^3.8.0": + version: 3.13.1 + resolution: "type-fest@npm:3.13.1" + checksum: c06b0901d54391dc46de3802375f5579868949d71f93b425ce564e19a428a0d411ae8d8cb0e300d330071d86152c3ea86e744c3f2860a42a79585b6ec2fdae8e + languageName: node + linkType: hard + "typescript@npm:^5.2.2": version: 5.2.2 resolution: "typescript@npm:5.2.2" @@ -3630,6 +3823,13 @@ __metadata: languageName: node linkType: hard +"valid-url@npm:^1.0.9": + version: 1.0.9 + resolution: "valid-url@npm:1.0.9" + checksum: 3ecb030559404441c2cf104cbabab8770efb0f36d117db03d1081052ef133015a68806148ce954bb4dd0b5c42c14b709a88783c93d66b0916cb67ba771c98702 + languageName: node + linkType: hard + "vite@npm:^4.4.9": version: 4.4.9 resolution: "vite@npm:4.4.9" @@ -3749,3 +3949,10 @@ __metadata: checksum: 7f21fe0bbad6e2cb130044a5d1d0d5a0e5bf3d8d4f8c4e6ee12163ce798fee3de7388d22a7a0907f563ac5f9d40f8699a223d3d5c1718da90b0156da6904022b languageName: node linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 + languageName: node + linkType: hard From 1e6bbb5f6f32969ee3bcc851ce38f0bc201ac97f Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 29 Sep 2023 16:43:43 -0700 Subject: [PATCH 03/21] Update app naming from com.sample.synectic to io.github.EPICLab.synectic for proper Conveyor packaging --- conveyor.conf | 4 ++-- package.json | 2 +- yarn.lock | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/conveyor.conf b/conveyor.conf index fd4a20956..89088e76b 100644 --- a/conveyor.conf +++ b/conveyor.conf @@ -7,8 +7,8 @@ package-json { // Config file documentation: https://conveyor.hydraulic.dev/latest/configs app { - display-name = "Synectic Conveyor" - rdns-name = com.example.synectic-conveyor + display-name = "Synectic" + rdns-name = io.github.EPICLab.synectic site.base-url = "localhost:3000" electron.version = ${package-json.devDependencies.electron} inputs = ${app.inputs} [ diff --git a/package.json b/package.json index 976c8b522..696312892 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "synectic-conveyor", + "name": "synectic", "productName": "Synectic", "version": "0.0.1", "description": "Research IDE for examining context-centric, problem-solving in development tools.", diff --git a/yarn.lock b/yarn.lock index 295245a74..b548a17a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3640,9 +3640,9 @@ __metadata: languageName: node linkType: hard -"synectic-conveyor@workspace:.": +"synectic@workspace:.": version: 0.0.0-use.local - resolution: "synectic-conveyor@workspace:." + resolution: "synectic@workspace:." dependencies: "@dnd-kit/core": ^6.0.8 "@dnd-kit/modifiers": ^6.0.1 From dcb7539333953bde5cf5ec56d12ffb7f7c0db755 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 29 Sep 2023 21:48:03 -0700 Subject: [PATCH 04/21] Fix TS7056 errors for inferred types exceeding the maximum length the compiler will serialize --- src/renderer/src/store/hooks.ts | 1 - tsconfig.web.json | 1 - 2 files changed, 2 deletions(-) diff --git a/src/renderer/src/store/hooks.ts b/src/renderer/src/store/hooks.ts index 681071d74..d224d10ec 100644 --- a/src/renderer/src/store/hooks.ts +++ b/src/renderer/src/store/hooks.ts @@ -5,7 +5,6 @@ import type { RootState, AppDispatch } from './store'; export const createAppAsyncThunk = createAsyncThunk.withTypes<{ state: RootState; dispatch: AppDispatch; - extra: undefined; rejectValue: string; }>(); diff --git a/tsconfig.web.json b/tsconfig.web.json index 2cd9d4a19..53fbe2933 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -11,7 +11,6 @@ "types/*.d.ts", ], "compilerOptions": { - "composite": true, "jsx": "react-jsx", "noEmit": true, "baseUrl": ".", From 55aaa43fa063a8c687ffbbd2de4b97b9ef2fb2af Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 29 Sep 2023 21:48:49 -0700 Subject: [PATCH 05/21] Add noUncheckedIndexedAccess option in tsconfig for tightening up index access --- tsconfig.node.json | 3 ++- tsconfig.web.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tsconfig.node.json b/tsconfig.node.json index 70133dd11..e600bfcb2 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -8,6 +8,7 @@ "compilerOptions": { "composite": true, "noEmit": true, - "types": ["electron-vite/node"] + "types": ["electron-vite/node"], + "noUncheckedIndexedAccess": true, } } diff --git a/tsconfig.web.json b/tsconfig.web.json index 53fbe2933..f2d6a628c 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -16,6 +16,7 @@ "baseUrl": ".", "paths": { "@renderer/*": ["src/renderer/src/*"] - } + }, + "noUncheckedIndexedAccess": true, } } From 543f970b803ea008cd9013b9ca41c33f9537eedc Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:07:11 -0700 Subject: [PATCH 06/21] React components migrated --- src/preload/utils/utils.ts | 4 +- src/renderer/src/App.tsx | 25 +- src/renderer/src/assets/GitIcons.tsx | 219 +++++++++++ .../src/components/AppTheme/AppTheme.tsx | 79 ++++ .../src/components/AppTheme/index.tsx | 1 + src/renderer/src/components/Canvas.tsx | 53 --- src/renderer/src/components/Canvas/Canvas.tsx | 60 +++ .../src/components/Canvas/MenuBar.tsx | 162 ++++++++ .../src/components/Canvas/NavMenu.tsx | 126 ++++++ src/renderer/src/components/Canvas/index.tsx | 1 + .../src/components/Card/ActionsMenu.tsx | 76 ++++ src/renderer/src/components/Card/BaseCard.tsx | 326 ++++++++++++++++ src/renderer/src/components/Card/Card.tsx | 38 ++ src/renderer/src/components/Card/Content.tsx | 61 +++ src/renderer/src/components/Card/MenuBar.tsx | 70 ++++ .../src/components/Card/ReverseItem.tsx | 123 ++++++ src/renderer/src/components/Card/index.tsx | 2 + src/renderer/src/components/Dialogs.ts | 73 ++++ src/renderer/src/components/Diff/Diff.tsx | 110 ++++++ .../src/components/Diff/DiffReverse.tsx | 56 +++ src/renderer/src/components/Diff/index.tsx | 1 + .../src/components/Dnd/DndCanvasContext.tsx | 116 ++++++ .../src/components/Dnd/DndStackContext.tsx | 77 ++++ .../src/components/Dnd/DraggableOverlay.tsx | 16 + src/renderer/src/components/Editor/Editor.tsx | 94 +++++ .../src/components/Editor/EditorReverse.tsx | 111 ++++++ .../src/components/Editor/EditorStyles.css | 48 +++ src/renderer/src/components/Editor/index.tsx | 1 + .../src/components/Explorer/Directory.tsx | 82 ++++ .../src/components/Explorer/Explorer.tsx | 78 ++++ .../components/Explorer/ExplorerReverse.tsx | 111 ++++++ src/renderer/src/components/Explorer/File.tsx | 72 ++++ .../src/components/Explorer/GitButtons.tsx | 75 ++++ .../src/components/Explorer/TreeItem.tsx | 104 +++++ .../src/components/Explorer/index.tsx | 1 + src/renderer/src/components/Handle/Handle.tsx | 26 ++ src/renderer/src/components/Handle/index.tsx | 1 + .../src/components/Modal/CommitDialog.tsx | 117 ++++++ .../components/Modal/DeleteBranchDialog.tsx | 72 ++++ .../src/components/Modal/MergeDialog.tsx | 291 ++++++++++++++ .../src/components/Modal/MergeStatus.tsx | 41 ++ .../src/components/Modal/ModalComponent.tsx | 47 +++ .../src/components/Modal/NewBranchDialog.tsx | 107 +++++ .../src/components/Modal/NewCardDialog.tsx | 193 +++++++++ .../src/components/Modal/Notification.tsx | 40 ++ .../components/Modal/RevertCommitDialog.tsx | 77 ++++ src/renderer/src/components/Modal/index.tsx | 1 + .../src/components/Stack/BaseStack.tsx | 161 ++++++++ src/renderer/src/components/Stack/Stack.tsx | 41 ++ src/renderer/src/components/Stack/index.tsx | 2 + src/renderer/src/components/Status.tsx | 71 ++++ src/renderer/src/containers/diff.ts | 28 ++ .../src/containers/hooks/useGitGraph.ts | 366 ++++++++++++++++++ .../src/containers/hooks/useGitWatcher.ts | 35 ++ .../src/containers/hooks/useHistory.ts | 110 ++++++ .../src/containers/hooks/useImperativeRef.ts | 10 + src/renderer/src/containers/hooks/useMap.ts | 43 ++ src/renderer/src/containers/hooks/useMotif.ts | 60 +++ .../src/containers/hooks/usePrevious.ts | 19 + .../src/containers/hooks/useToggle.ts | 26 ++ .../src/containers/hooks/useWatcher.ts | 64 +++ src/renderer/src/env.d.ts | 2 + src/renderer/src/store/listenerMiddleware.ts | 143 +++++++ src/renderer/src/store/store.ts | 5 +- 64 files changed, 4785 insertions(+), 66 deletions(-) create mode 100644 src/renderer/src/assets/GitIcons.tsx create mode 100644 src/renderer/src/components/AppTheme/AppTheme.tsx create mode 100644 src/renderer/src/components/AppTheme/index.tsx delete mode 100644 src/renderer/src/components/Canvas.tsx create mode 100644 src/renderer/src/components/Canvas/Canvas.tsx create mode 100644 src/renderer/src/components/Canvas/MenuBar.tsx create mode 100644 src/renderer/src/components/Canvas/NavMenu.tsx create mode 100644 src/renderer/src/components/Canvas/index.tsx create mode 100644 src/renderer/src/components/Card/ActionsMenu.tsx create mode 100644 src/renderer/src/components/Card/BaseCard.tsx create mode 100644 src/renderer/src/components/Card/Card.tsx create mode 100644 src/renderer/src/components/Card/Content.tsx create mode 100644 src/renderer/src/components/Card/MenuBar.tsx create mode 100644 src/renderer/src/components/Card/ReverseItem.tsx create mode 100644 src/renderer/src/components/Card/index.tsx create mode 100644 src/renderer/src/components/Dialogs.ts create mode 100644 src/renderer/src/components/Diff/Diff.tsx create mode 100644 src/renderer/src/components/Diff/DiffReverse.tsx create mode 100644 src/renderer/src/components/Diff/index.tsx create mode 100644 src/renderer/src/components/Dnd/DndCanvasContext.tsx create mode 100644 src/renderer/src/components/Dnd/DndStackContext.tsx create mode 100644 src/renderer/src/components/Dnd/DraggableOverlay.tsx create mode 100644 src/renderer/src/components/Editor/Editor.tsx create mode 100644 src/renderer/src/components/Editor/EditorReverse.tsx create mode 100644 src/renderer/src/components/Editor/EditorStyles.css create mode 100644 src/renderer/src/components/Editor/index.tsx create mode 100644 src/renderer/src/components/Explorer/Directory.tsx create mode 100644 src/renderer/src/components/Explorer/Explorer.tsx create mode 100644 src/renderer/src/components/Explorer/ExplorerReverse.tsx create mode 100644 src/renderer/src/components/Explorer/File.tsx create mode 100644 src/renderer/src/components/Explorer/GitButtons.tsx create mode 100644 src/renderer/src/components/Explorer/TreeItem.tsx create mode 100644 src/renderer/src/components/Explorer/index.tsx create mode 100644 src/renderer/src/components/Handle/Handle.tsx create mode 100644 src/renderer/src/components/Handle/index.tsx create mode 100644 src/renderer/src/components/Modal/CommitDialog.tsx create mode 100644 src/renderer/src/components/Modal/DeleteBranchDialog.tsx create mode 100644 src/renderer/src/components/Modal/MergeDialog.tsx create mode 100644 src/renderer/src/components/Modal/MergeStatus.tsx create mode 100644 src/renderer/src/components/Modal/ModalComponent.tsx create mode 100644 src/renderer/src/components/Modal/NewBranchDialog.tsx create mode 100644 src/renderer/src/components/Modal/NewCardDialog.tsx create mode 100644 src/renderer/src/components/Modal/Notification.tsx create mode 100644 src/renderer/src/components/Modal/RevertCommitDialog.tsx create mode 100644 src/renderer/src/components/Modal/index.tsx create mode 100644 src/renderer/src/components/Stack/BaseStack.tsx create mode 100644 src/renderer/src/components/Stack/Stack.tsx create mode 100644 src/renderer/src/components/Stack/index.tsx create mode 100644 src/renderer/src/components/Status.tsx create mode 100644 src/renderer/src/containers/diff.ts create mode 100644 src/renderer/src/containers/hooks/useGitGraph.ts create mode 100644 src/renderer/src/containers/hooks/useGitWatcher.ts create mode 100644 src/renderer/src/containers/hooks/useHistory.ts create mode 100644 src/renderer/src/containers/hooks/useImperativeRef.ts create mode 100644 src/renderer/src/containers/hooks/useMap.ts create mode 100644 src/renderer/src/containers/hooks/useMotif.ts create mode 100644 src/renderer/src/containers/hooks/usePrevious.ts create mode 100644 src/renderer/src/containers/hooks/useToggle.ts create mode 100644 src/renderer/src/containers/hooks/useWatcher.ts create mode 100644 src/renderer/src/store/listenerMiddleware.ts diff --git a/src/preload/utils/utils.ts b/src/preload/utils/utils.ts index 9b4fa9d4c..013b770d7 100644 --- a/src/preload/utils/utils.ts +++ b/src/preload/utils/utils.ts @@ -1,6 +1,6 @@ -import { GitStatus } from '../store'; +import { GitStatus } from 'types/app'; +import { NonNullableObject } from 'types/util'; import { flattenObject } from './flatten'; -import { NonNullableObject } from '../../renderer/src/store/types/util.types'; /** * Removes `undefined` and `null` values from an Array or Object type via a `filter` and type guard. diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 2351dd0cf..ebed6e1b5 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -1,23 +1,30 @@ -import { Provider } from 'react-redux'; -import redux from './store/store'; -import { ErrorBoundary } from 'react-error-boundary'; import { styled } from '@mui/material'; +import { useEffect } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import { Provider } from 'react-redux'; +import type { Filetype } from 'types/filetype'; +import { AppThemeProvider } from './components/AppTheme'; import Canvas from './components/Canvas'; +import filetypesJson from './containers/filetypes.json'; +import redux from './store/store'; +import { importFiletypes } from './store/thunks/filetypes'; const Error = styled('div')(() => ({ color: '#FF0000' })); const App = () => { - // useEffect(() => { - // redux.store.dispatch(importFiletypes(filetypesJson as Omit[])); // load all supported filetype handlers into Redux store - // }, []); // run the effect only once; after the first render + useEffect(() => { + redux.store.dispatch(importFiletypes(filetypesJson as Omit[])); // load all supported filetype handlers into Redux store + }, []); // run the effect only once; after the first render return ( - 💥Canvas Error💥}> - - + + 💥Canvas Error💥}> + + + ); }; diff --git a/src/renderer/src/assets/GitIcons.tsx b/src/renderer/src/assets/GitIcons.tsx new file mode 100644 index 000000000..00b2a833b --- /dev/null +++ b/src/renderer/src/assets/GitIcons.tsx @@ -0,0 +1,219 @@ +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/* eslint-disable max-len */ + +/** + * Icons from: https://materialdesignicons.com/ + */ + +import { SvgIcon, SvgIconProps } from '@mui/material'; + +export const GitRepo = (props: SvgIconProps) => { + return ( + + + + ); +}; + +export const GitBranch = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; + +export const GitDeleteBranch = (props: SvgIconProps) => { + return ( + + + + + + + + + + + + + + + + + ); +}; + +export const GitCommit = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; + +export const GitRevert = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; + +export const GitCompare = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; + +export const GitMerge = (props: SvgIconProps) => { + return ( + + + + + + + + + + ); +}; + +export const GitAbort = (props: SvgIconProps) => { + return ( + + + + + + + + + + + + + + + + ); +}; + +export const GitPullRequestOpen = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; + +export const GitPullRequestClose = (props: SvgIconProps) => { + return ( + + + + + + + + + + + ); +}; diff --git a/src/renderer/src/components/AppTheme/AppTheme.tsx b/src/renderer/src/components/AppTheme/AppTheme.tsx new file mode 100644 index 000000000..3337b2d49 --- /dev/null +++ b/src/renderer/src/components/AppTheme/AppTheme.tsx @@ -0,0 +1,79 @@ +import { CssBaseline, PaletteMode, ThemeProvider, createTheme } from '@mui/material'; +import { blue, grey } from '@mui/material/colors'; +import React, { PropsWithChildren, createContext } from 'react'; + +type ThemeContext = { mode: PaletteMode; toggleColorMode: () => void }; + +export const AppThemeContext = createContext({} as ThemeContext); + +export const AppThemeProvider = ({ children }: PropsWithChildren) => { + const [mode, setMode] = React.useState('dark'); + const toggleColorMode = () => { + setMode(prevMode => (prevMode === 'light' ? 'dark' : 'light')); + }; + + const theme = React.useMemo(() => createTheme(getDesignTokens(mode)), [mode]); + + return ( + + + + {children} + + + ); +}; + +const getDesignTokens = (mode: PaletteMode) => ({ + palette: { + mode, + ...(mode === 'light' + ? { + // palette values for light mode + primary: blue, + divider: 'rgb(171, 178, 191)', + text: { + primary: grey[900], + secondary: grey[800] + } + } + : { + // palette values for dark mode + primary: blue, + divider: 'rgb(171, 178, 191)', + background: { + default: 'rgb(56, 54, 57)', + paper: 'rgba(56, 54, 57, 0.95)' + }, + text: { + primary: '#fff', + secondary: 'rgba(255, 255, 255, 0.7)', + tertiary: 'rgba(0, 0, 0, 0.54)' + } + }) + }, + components: { + MuiCssBaseline: { + styleOverrides: { + body: { + margin: 0, + padding: 0 + } + } + } + }, + typography: { + fontFamily: [ + 'Roboto', + '-apple-system', + 'BlinkMacSystemFont', + '"Segoe UI"', + '"Helvetica Neue"', + 'Arial', + 'sans-serif', + '"Apple Color Emoji"', + '"Segoe UI Emoji"', + '"Segoe UI Symbol"' + ].join(',') + } +}); diff --git a/src/renderer/src/components/AppTheme/index.tsx b/src/renderer/src/components/AppTheme/index.tsx new file mode 100644 index 000000000..d271eb3f0 --- /dev/null +++ b/src/renderer/src/components/AppTheme/index.tsx @@ -0,0 +1 @@ +export * from './AppTheme'; diff --git a/src/renderer/src/components/Canvas.tsx b/src/renderer/src/components/Canvas.tsx deleted file mode 100644 index d02a1171e..000000000 --- a/src/renderer/src/components/Canvas.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Button } from '@mui/material'; -import { DateTime } from 'luxon'; -import { useState } from 'react'; -import Splash from './Splash'; -import { useAppSelector } from '../store/hooks'; -import branchSelectors from '../store/selectors/branches'; -import cardSelectors from '../store/selectors/cards'; -import commitSelectors from '../store/selectors/commits'; -import filetypeSelectors from '../store/selectors/filetypes'; -import metafileSelectors from '../store/selectors/metafiles'; -import modalSelectors from '../store/selectors/modals'; -import repoSelectors from '../store/selectors/repos'; -import stackSelectors from '../store/selectors/stacks'; - -function Canvas(): JSX.Element { - const [showSplash, toggleSplash] = useState(false); - const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); - const cards = useAppSelector(state => cardSelectors.selectAll(state)); - const stacks = useAppSelector(state => stackSelectors.selectAll(state)); - const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); - const modals = useAppSelector(state => modalSelectors.selectAll(state)); - const repos = useAppSelector(state => repoSelectors.selectAll(state)); - const branches = useAppSelector(state => branchSelectors.selectAll(state)); - const commits = useAppSelector(state => commitSelectors.selectAll(state)); - - const showStore = () => { - console.group( - `%cRedux Store : ${DateTime.local().toHTTP()}`, - 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' - ); - console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); - console.log(`CARDS [${Object.keys(cards).length}]`, cards); - console.log(`FILETYPES [${filetypes.length}]`, filetypes); - console.log(`METAFILES [${metafiles.length}]`, metafiles); - console.log(`REPOS [${repos.length}]`, repos); - console.log(`BRANCHES [${branches.length}]`, branches); - console.log(`COMMITS [${commits.length}]`, commits); - console.log(`MODALS [${modals.length}]`, modals); - console.groupEnd(); - }; - - return ( -
      - - - {showSplash ? : null} -
      - ); -} - -export default Canvas; diff --git a/src/renderer/src/components/Canvas/Canvas.tsx b/src/renderer/src/components/Canvas/Canvas.tsx new file mode 100644 index 000000000..63b383695 --- /dev/null +++ b/src/renderer/src/components/Canvas/Canvas.tsx @@ -0,0 +1,60 @@ +import { useDroppable } from '@dnd-kit/core'; +import { styled } from '@mui/material'; +import { PropsWithChildren } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import { useAppSelector } from '../../store/hooks'; +import cardSelectors from '../../store/selectors/cards'; +import stackSelectors from '../../store/selectors/stacks'; +import Card from '../Card'; +import DndCanvasContext from '../Dnd/DndCanvasContext'; +import Stack from '../Stack'; +import canvasBackground from '../../assets/canvas.png'; +import CanvasMenu from './MenuBar'; + +const Canvas = ({ children }: PropsWithChildren) => { + const cards = useAppSelector(state => cardSelectors.selectAll(state)); + const stacks = useAppSelector(state => stackSelectors.selectAll(state)); + const { isOver, setNodeRef } = useDroppable({ + id: 'Canvas', + data: { + type: 'canvas' + } + }); + + return ( + + + + + 💥Stack Error💥}> + {stacks.map(stack => ( + + ))} + + 💥Card Error💥}> + {cards.map(card => (card.captured ? null : ))} + + {children} + + + ); +}; + +const AppContainer = styled('div')(() => ({ + display: 'flex', + flexFlow: 'column', + height: '100vh' +})); + +const CanvasComponent = styled('div')<{ isOver: boolean }>(props => ({ + flex: 1, + background: `url(${canvasBackground}) center/auto fixed`, + width: '100%', + color: props.isOver ? 'green' : undefined +})); + +const Error = styled('div')(() => ({ + color: '#FF0000' +})); + +export default Canvas; diff --git a/src/renderer/src/components/Canvas/MenuBar.tsx b/src/renderer/src/components/Canvas/MenuBar.tsx new file mode 100644 index 000000000..1e2f0ba7a --- /dev/null +++ b/src/renderer/src/components/Canvas/MenuBar.tsx @@ -0,0 +1,162 @@ +import { DarkMode, LightMode } from '@mui/icons-material'; +import { styled } from '@mui/material'; +import { useAppDispatch, useAppSelector } from '@renderer/store/hooks'; +import branchSelectors from '@renderer/store/selectors/branches'; +import cardSelectors from '@renderer/store/selectors/cards'; +import commitSelectors from '@renderer/store/selectors/commits'; +import filetypeSelectors from '@renderer/store/selectors/filetypes'; +import metafileSelectors from '@renderer/store/selectors/metafiles'; +import modalSelectors from '@renderer/store/selectors/modals'; +import repoSelectors from '@renderer/store/selectors/repos'; +import stackSelectors from '@renderer/store/selectors/stacks'; +import { modalAdded } from '@renderer/store/slices/modals'; +import { DateTime } from 'luxon'; +import { useContext, useState } from 'react'; +import { AppThemeContext } from '../AppTheme'; +import { fileOpenDialog } from '../Dialogs'; +import NavMenu, { NavItemProps } from './NavMenu'; + +const isMac = window.api.globals.platform === 'darwin'; + +const CanvasMenu = () => { + const metafiles = useAppSelector(state => metafileSelectors.selectAll(state)); + const cards = useAppSelector(state => cardSelectors.selectAll(state)); + const stacks = useAppSelector(state => stackSelectors.selectAll(state)); + const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); + const modals = useAppSelector(state => modalSelectors.selectAll(state)); + const repos = useAppSelector(state => repoSelectors.selectAll(state)); + const branches = useAppSelector(state => branchSelectors.selectAll(state)); + const commits = useAppSelector(state => commitSelectors.selectAll(state)); + const { mode, toggleColorMode } = useContext(AppThemeContext); + const [versions] = useState(window.electron.process.versions); + const dispatch = useAppDispatch(); + + const showStore = () => { + console.group( + `%cRedux Store : ${DateTime.local().toHTTP()}`, + 'background: lightblue; color: #444; padding: 3px; border-radius: 5px;' + ); + console.log(`STACKS [${Object.keys(stacks).length}]`, stacks); + console.log(`CARDS [${Object.keys(cards).length}]`, cards); + console.log(`FILETYPES [${filetypes.length}]`, filetypes); + console.log(`METAFILES [${metafiles.length}]`, metafiles); + console.log(`REPOS [${repos.length}]`, repos); + console.log(`BRANCHES [${branches.length}]`, branches); + console.log(`COMMITS [${commits.length}]`, commits); + console.log(`MODALS [${modals.length}]`, modals); + console.groupEnd(); + }; + + const fileMenu: NavItemProps[] = [ + { + label: 'New...', + click: () => + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'NewCardDialog' + }) + ) + }, + ...(isMac + ? [ + { + label: 'Open...', + click: () => dispatch(fileOpenDialog()) + } + ] + : [ + { + label: 'Open File...', + click: () => dispatch(fileOpenDialog({ properties: ['openFile', 'multiSelections'] })) + }, + { + label: 'Open Directory...', + click: () => + dispatch(fileOpenDialog({ properties: ['openDirectory', 'multiSelections'] })) + } + ]) + // { + // label: 'Notify...', + // click: () => window.api.notifications.sendNotification('My custom message!') + // }, + // { + // label: 'Context', + // click: async () => { + // console.log(`Executing in ${isRenderer()}`); + // const preloadContext = await window.api.context(); + // console.log(`Preload in ${preloadContext}`); + // } + // } + ]; + + const sysMenu: NavItemProps[] = [ + { label: 'View Datastore...', click: () => showStore() }, + { + label: mode === 'light' ? 'Dark mode' : 'Light mode', + icon: mode === 'light' ? : , + click: () => toggleColorMode() + } + ]; + + const helpMenu: NavItemProps[] = [ + { + label: 'Website...', + click: async () => { + window.api.openExternal('https://nomatic.dev/synectic'); + } + }, + { + label: 'Repository...', + click: async () => { + window.api.openExternal('https://github.com/EPICLab/synectic/'); + } + }, + { + label: 'Release Notes...', + click: async () => { + window.api.openExternal('https://github.com/EPICLab/synectic/releases'); + } + }, + { + label: 'View License...', + click: async () => { + window.api.openExternal( + 'https://github.com/EPICLab/synectic/blob/5ec51f6dc9dc857cae58c5253c3334c8f33a63c4/LICENSE' + ); + } + }, + { + label: 'Version', + click: () => { + const versionsMessage = `Synectic v${APP_VERSION}\nElectron v${versions.electron}\nChromium v${versions.chrome}\nNode v${versions.node}\nV8 v${versions.v8}`; + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + options: { + message: versionsMessage + } + }) + ); + console.log(versionsMessage); + } + } + ]; + + return ( + + + + + + ); +}; + +const NavBar = styled('div')(({ theme }) => ({ + padding: 1, + backgroundColor: theme.palette.background.default, + color: theme.palette.text.secondary +})); + +export default CanvasMenu; diff --git a/src/renderer/src/components/Canvas/NavMenu.tsx b/src/renderer/src/components/Canvas/NavMenu.tsx new file mode 100644 index 000000000..72b4156ea --- /dev/null +++ b/src/renderer/src/components/Canvas/NavMenu.tsx @@ -0,0 +1,126 @@ +import { + Button, + ClickAwayListener, + Grow, + ListItemIcon, + ListItemText, + MenuItem, + MenuList, + Paper, + Popper, + styled +} from '@mui/material'; +import { + KeyboardEvent, + MouseEvent, + MouseEventHandler, + SyntheticEvent, + useRef, + useState +} from 'react'; + +const NavMenu = ({ label, submenu }: NavMenuProps) => { + const [open, setOpen] = useState(false); + const anchorRef = useRef(null); + + const handleToggle = () => setOpen(prevOpen => !prevOpen); + + const handleClose = (event: Event | SyntheticEvent) => { + if (anchorRef.current && anchorRef.current.contains(event.target as HTMLElement)) { + return; + } + setOpen(false); + }; + + const handleListKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Tab') { + event.preventDefault(); + setOpen(false); + } else if (event.key === 'Escape') { + setOpen(false); + } + }; + + return ( + <> + + {label} + + + {({ TransitionProps, placement }) => ( + + + + + {submenu.map(item => ( + ) => { + item.click(event); + setOpen(false); + }} + /> + ))} + + + + + )} + + + ); +}; + +const StyledButton = styled(Button)(({ theme }) => ({ + color: theme.palette.text.secondary +})); + +type NavMenuProps = { + label: string; + submenu: NavItemProps[]; +}; + +export const NavItem = ({ icon, label, click, disabled }: NavItemProps) => { + return ( + + {label} + {icon ? {icon} : null} + + ); +}; + +export type NavItemProps = { + label: string; + icon?: JSX.Element; + disabled?: boolean; + click: MouseEventHandler; +}; + +export default NavMenu; diff --git a/src/renderer/src/components/Canvas/index.tsx b/src/renderer/src/components/Canvas/index.tsx new file mode 100644 index 000000000..dd22256d0 --- /dev/null +++ b/src/renderer/src/components/Canvas/index.tsx @@ -0,0 +1 @@ +export { default } from './Canvas'; diff --git a/src/renderer/src/components/Card/ActionsMenu.tsx b/src/renderer/src/components/Card/ActionsMenu.tsx new file mode 100644 index 000000000..ea23e2723 --- /dev/null +++ b/src/renderer/src/components/Card/ActionsMenu.tsx @@ -0,0 +1,76 @@ +import { MoreVert } from '@mui/icons-material'; +import { IconButton, ListItemIcon, ListItemText, Menu, MenuItem, Tooltip } from '@mui/material'; +import { useState, MouseEvent } from 'react'; + +export type Action = { + icon: JSX.Element; + name: string; + tooltip?: string; + disabled?: boolean; + onClick: () => void; +}; + +const ActionsMenu = ({ actions }: { actions: Action[] }) => { + const [anchorEl, setAnchorEl] = useState(null); + const open = Boolean(anchorEl); + const handleClick = (event: MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + return ( + <> + + + + + {actions.map((action, index) => ( + + {action.icon} + {action.tooltip ? ( + + {action.name} + + ) : ( + {action.name} + )} + + ))} + + + ); +}; + +export default ActionsMenu; diff --git a/src/renderer/src/components/Card/BaseCard.tsx b/src/renderer/src/components/Card/BaseCard.tsx new file mode 100644 index 000000000..72845f6d9 --- /dev/null +++ b/src/renderer/src/components/Card/BaseCard.tsx @@ -0,0 +1,326 @@ +import type { + DraggableAttributes, + DraggableSyntheticListeners, + UniqueIdentifier +} from '@dnd-kit/core'; +import type { Transform } from '@dnd-kit/utilities'; +import { CSS } from '@dnd-kit/utilities'; +import { + Close, + ContentCopy, + Merge, + PlaylistAdd, + PlaylistRemove, + Save, + Undo +} from '@mui/icons-material'; +import { styled } from '@mui/material'; +import type { Property } from 'csstype'; +import { PropsWithChildren, forwardRef } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import { UUID } from 'types/app'; +import { GitCommit } from '../../assets/GitIcons'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import cardSelectors from '../../store/selectors/cards'; +import metafileSelectors from '../../store/selectors/metafiles'; +import repoSelectors from '../../store/selectors/repos'; +import { cardUpdated } from '../../store/slices/cards'; +import { + isFilebasedMetafile, + isVersionedMetafile, + isVirtualMetafile +} from '../../store/slices/metafiles'; +import { modalAdded } from '../../store/slices/modals'; +import { createCard, removeCard } from '../../store/thunks/cards'; +import { + createMetafile, + revertChanges, + saveFile, + updateVersionedMetafile +} from '../../store/thunks/metafiles'; +import { fileSaveDialog } from '../Dialogs'; +import Content from './Content'; +import MenuBar from './MenuBar'; + +const isDefined = window.api.utils.isDefined; +const isModified = window.api.utils.isModified; +const isStaged = window.api.utils.isStaged; +const isUnmerged = window.api.utils.isUnmerged; + +const BaseCard = forwardRef>( + ({ id, children, ...props }, ref) => { + const card = useAppSelector(state => cardSelectors.selectById(state, id)); + const metafile = useAppSelector(state => + metafileSelectors.selectById(state, card?.metafile ?? '') + ); + const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); + const branch = useAppSelector(state => + branchSelectors.selectById(state, metafile?.branch ?? '') + ); + + const name = + isVersionedMetafile(metafile) && + isDefined(repo) && + window.api.fs.isEqualPaths(metafile.path, repo.root) + ? repo.name + : card + ? card.type === 'Explorer' + ? `${window.api.globals.sep}${card.name}` + : card.name + : ''; + const saveDisabled = + !isDefined(metafile) || metafile.handler !== 'Editor' || metafile.state !== 'modified'; + const stageDisabled = !( + isVersionedMetafile(metafile) && + metafile.handler === 'Editor' && + (isModified(metafile.status) || isUnmerged(metafile.status)) + ); + const commitDisabled = + !isDefined(branch) || + !isVersionedMetafile(metafile) || + !window.api.fs.isEqualPaths(branch.root, metafile.path) || + branch.status !== 'uncommitted'; + const dispatch = useAppDispatch(); + + const actions = [ + { + icon: , + name: 'Save', + disabled: saveDisabled, + onClick: () => + isFilebasedMetafile(metafile) + ? dispatch(saveFile({ id: metafile.id, filepath: metafile.path })) + : isVirtualMetafile(metafile) + ? dispatch(fileSaveDialog(metafile)) + : null + }, + { + icon: , + name: 'Undo', + tooltip: 'Undo changes made to the file content to match the current filesystem version', + disabled: + metafile?.handler !== 'Editor' || + !isVersionedMetafile(metafile) || + metafile.status === 'unmodified', + onClick: () => { + if (isVersionedMetafile(metafile)) dispatch(revertChanges(metafile)); + } + }, + { + icon: + isVersionedMetafile(metafile) && isStaged(metafile.status) ? ( + + ) : ( + + ), + name: isVersionedMetafile(metafile) && isStaged(metafile.status) ? 'Unstage' : 'Stage', + tooltip: + isVersionedMetafile(metafile) && isStaged(metafile.status) + ? 'Unstage changes to this file in VCS' + : 'Stage changes to this file in VCS', + disabled: stageDisabled, + onClick: async () => { + if (isVersionedMetafile(metafile)) { + if (isStaged(metafile.status)) { + await window.api.git.restore({ filepath: metafile.path, staged: true }); + } else { + await window.api.git.add(metafile.path); + } + + await dispatch(updateVersionedMetafile(metafile.id)); + } + } + }, + { + icon: , + name: 'Commit', + tooltip: 'Open dialog for committing into the branch associated with this file', + disabled: commitDisabled, + onClick: () => { + if (isVersionedMetafile(metafile)) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'CommitDialog', + repo: metafile.repo, + branch: metafile.branch + }) + ); + } + }, + { + icon: , + name: 'Merge', + tooltip: 'Open dialog for merging into the branch associated with this file', + disabled: !isVersionedMetafile(metafile) && branch?.status !== 'clean', + onClick: () => { + if (isVersionedMetafile(metafile)) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'MergeDialog', + repo: metafile.repo, + base: metafile.branch + }) + ); + } + }, + { + icon: , + name: 'Duplicate', + disabled: !isDefined(metafile), + onClick: async () => { + const duplicateMetafile = isDefined(metafile) + ? await dispatch(createMetafile({ metafile: metafile })).unwrap() + : undefined; + if (duplicateMetafile) await dispatch(createCard({ metafile: duplicateMetafile })); + } + }, + { + icon: , + name: 'Close', + onClick: () => (card ? dispatch(removeCard({ card: card.id })) : null) + } + ]; + + return ( + + + + + card ? dispatch(cardUpdated({ ...card, flipped: !card?.flipped })) : null + } + conflicts={metafile?.conflicts?.length} + {...props} + /> + 💥Content Error💥}> + + {children} + + + + + card ? dispatch(cardUpdated({ ...card, flipped: !card?.flipped })) : null + } + conflicts={metafile?.conflicts?.length ?? 0} + {...props} + /> + 💥ContentBack Error💥}> + + {children} + + + + + ); + } +); + +type OverlayProps = { + dragOverlay: true; + highlight?: boolean; + sortableIndex?: number | undefined; +}; + +type DraggableProps = { + dragOverlay?: false; + highlight?: boolean; + sortableIndex?: number | undefined; + dragging?: boolean; + transform: Transform | null; + transition: string | undefined; + attributes: DraggableAttributes; + listeners: DraggableSyntheticListeners; +}; + +type InternalProps = { + captured: UniqueIdentifier | undefined; + flipped: boolean; + x: number | undefined; + y: number | undefined; +}; + +export type Props = { id: UUID } & (OverlayProps | DraggableProps); +type StyledProps = (OverlayProps | DraggableProps) & InternalProps; + +const getBoxShadowStyle = (props: StyledProps): Property.BoxShadow | undefined => { + if (props.highlight) return '0 0 3pt 1pt rgba(102, 204, 117, 0.75)'; + if (props.dragOverlay) return '0 35px 70px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22)'; + if (props.captured) return undefined; + return '0 7px 14px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22)'; +}; + +const CardComponent = styled('div')(props => ({ + background: 'transparent', + color: props.theme.palette.divider, + height: 350, + width: 250, + marginTop: props.sortableIndex === undefined ? undefined : props.sortableIndex * 15, + marginLeft: props.sortableIndex === undefined ? undefined : (props.sortableIndex + 1) * 15, + borderRadius: 10, + position: props.captured ? 'absolute' : 'fixed', + transform: props.dragOverlay ? undefined : CSS.Translate.toString(props.transform), + transition: props.dragOverlay ? undefined : props.transition, + perspective: 1000, + zIndex: 1, + left: props.dragOverlay || props.captured ? undefined : props.x, + top: props.dragOverlay || props.captured ? undefined : props.y, + visibility: !props.dragOverlay && props.dragging ? 'hidden' : 'unset' +})); + +const FlipAnimation = styled('div')(props => ({ + position: 'relative', + background: + props.theme.palette.mode === 'light' ? props.theme.palette.background.paper : 'rgb(89, 87, 90)', + border: '1px solid rgb(171, 178, 191)', + height: '100%', + width: '100%', + boxShadow: props.flipped ? 'unset' : getBoxShadowStyle(props), + borderRadius: 10, + transition: 'transform 0.8s', + transformStyle: 'preserve-3d', + transform: props.flipped ? 'rotateY(180deg)' : 'none' +})); + +const FlipFront = styled('div')(() => ({ + position: 'absolute', + height: '100%', + width: '100%', + borderRadius: 10, + backfaceVisibility: 'hidden' +})); + +const FlipBack = styled('div')(() => ({ + position: 'absolute', + height: '100%', + width: '100%', + borderRadius: 10, + backfaceVisibility: 'hidden', + transform: 'rotateY(180deg)' +})); + +const Error = styled('div')(() => ({ + color: '#FF0000' +})); + +export default BaseCard; diff --git a/src/renderer/src/components/Card/Card.tsx b/src/renderer/src/components/Card/Card.tsx new file mode 100644 index 000000000..d8deccdeb --- /dev/null +++ b/src/renderer/src/components/Card/Card.tsx @@ -0,0 +1,38 @@ +import { useSortable } from '@dnd-kit/sortable'; +import type { PropsWithChildren } from 'react'; +import type { UUID } from 'types/app'; +import BaseCard from './BaseCard'; + +const Card = ({ + id, + sortableIndex, + children +}: PropsWithChildren<{ + id: UUID; + sortableIndex?: number; +}>) => { + const accepts = ['card']; + const { attributes, listeners, setNodeRef, transform, transition, isDragging, isOver, active } = + useSortable({ + id: id, + data: { type: 'card', accepts } + }); + + return ( + + {children} + + ); +}; + +export default Card; diff --git a/src/renderer/src/components/Card/Content.tsx b/src/renderer/src/components/Card/Content.tsx new file mode 100644 index 000000000..138fb85cf --- /dev/null +++ b/src/renderer/src/components/Card/Content.tsx @@ -0,0 +1,61 @@ +import { LinearProgress, styled } from '@mui/material'; +import type { UUID } from 'types/app'; +import type { Card } from 'types/card'; +import { useAppSelector } from '../../store/hooks'; +import cardSelectors from '../../store/selectors/cards'; +import Diff from '../Diff'; +import DiffReverse from '../Diff/DiffReverse'; +import Editor from '../Editor'; +import EditorReverse from '../Editor/EditorReverse'; +import Explorer from '../Explorer'; +import ExplorerReverse from '../Explorer/ExplorerReverse'; + +const Content = ({ reverse = false, id }: { reverse?: boolean; id: UUID }) => { + const card = useAppSelector(state => cardSelectors.selectById(state, id)); + + return ( + <> + {card?.loading !== undefined ? ( + + ) : null} + + {reverse ? getCardTypeReverseContent(card) : getCardTypeContent(card)} + + + ); +}; + +const getCardTypeContent = (card: Card | undefined) => { + switch (card?.type) { + case 'Diff': + return ; + case 'Editor': + return ; + case 'Explorer': + return ; + default: + return null; + } +}; + +const getCardTypeReverseContent = (card: Card | undefined) => { + switch (card?.type) { + case 'Diff': + return ; + case 'Editor': + return ; + case 'Explorer': + return ; + default: + return null; + } +}; + +const ContentComponent = styled('div', { shouldForwardProp: prop => prop !== 'loading' })<{ + loading: boolean; +}>(loading => ({ + height: loading ? 'calc(100% - 44px)' : 'calc(100% - 40px)', + borderRadius: '0 0 10px 10px' +})); + +export default Content; diff --git a/src/renderer/src/components/Card/MenuBar.tsx b/src/renderer/src/components/Card/MenuBar.tsx new file mode 100644 index 000000000..2940c3bee --- /dev/null +++ b/src/renderer/src/components/Card/MenuBar.tsx @@ -0,0 +1,70 @@ +import type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core'; +import { Badge, Stack, Tooltip, Typography, styled } from '@mui/material'; +import type { MouseEventHandler } from 'react'; +import Handle from '../Handle'; +import ActionsMenu, { Action } from './ActionsMenu'; + +const MenuBar = (props: Props) => { + return ( + + 0 ? 'rgb(255, 99, 71)' : 'rgb(25, 118, 210)' + }} + > + {!props.dragOverlay ? ( + + ) : ( + + )} + + + {props.name} + + + + + + ); +}; + +type OverlayProps = { + dragOverlay: true; + highlight?: boolean; + onClick?: MouseEventHandler | undefined; +}; + +type DraggableProps = { + dragOverlay?: false; + attributes: DraggableAttributes; + listeners: DraggableSyntheticListeners; + onClick?: React.MouseEventHandler | undefined; +}; + +export type Props = { + name: string; + tooltip?: string; + actions: Action[]; + conflicts?: number | undefined; +} & (OverlayProps | DraggableProps); + +const StackBar = styled(Stack)(() => ({ + borderRadius: '10px 10px 0 0', + color: 'rgba(0, 0, 0, 0.54)', + width: 248 +})); + +export default MenuBar; diff --git a/src/renderer/src/components/Card/ReverseItem.tsx b/src/renderer/src/components/Card/ReverseItem.tsx new file mode 100644 index 000000000..53c121865 --- /dev/null +++ b/src/renderer/src/components/Card/ReverseItem.tsx @@ -0,0 +1,123 @@ +import { + ListItem, + ListItemButton, + ListItemIcon, + ListItemText, + Menu, + MenuItem, + Tooltip +} from '@mui/material'; +import { useState } from 'react'; +import { Action } from './ActionsMenu'; + +type ItemProps = { + icon: JSX.Element; + name: string; + tooltip?: string; + onClick: () => void; +}; + +type MenuProps = { + icon: JSX.Element; + name: string; + tooltip?: string; + actionPrompt: string; + actions: Action[]; +}; + +export const ReverseListItem = (props: ItemProps) => { + return ( + + + {props.tooltip ? ( + + {props.icon} + + ) : ( + {props.icon} + )} + + + + ); +}; + +export const ReverseListMenu = (props: MenuProps) => { + const [anchorEl, setAnchorEl] = useState(null); + const open = Boolean(anchorEl); + const handleClick = (event: React.MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + return ( + + + {props.tooltip ? ( + + {props.icon} + + ) : ( + {props.icon} + )} + + + + + {props.actionPrompt} + + {props.actions.map((action, index) => ( + + {action.icon} + {action.name} + + ))} + + + ); +}; diff --git a/src/renderer/src/components/Card/index.tsx b/src/renderer/src/components/Card/index.tsx new file mode 100644 index 000000000..3ea1a8cda --- /dev/null +++ b/src/renderer/src/components/Card/index.tsx @@ -0,0 +1,2 @@ +export { default } from './Card'; +export { default as BaseCard } from './BaseCard'; diff --git a/src/renderer/src/components/Dialogs.ts b/src/renderer/src/components/Dialogs.ts new file mode 100644 index 000000000..4474784ad --- /dev/null +++ b/src/renderer/src/components/Dialogs.ts @@ -0,0 +1,73 @@ +import type { OpenDialogOptions, SaveDialogOptions } from 'electron'; +import type { Metafile } from 'types/metafile'; +import { createAppAsyncThunk } from '../store/hooks'; +import { isFileMetafile, isFilebasedMetafile, isVirtualMetafile } from '../store/slices/metafiles'; +import { createCard } from '../store/thunks/cards'; +import { saveFile } from '../store/thunks/metafiles'; + +export type SaveOption = SaveDialogOptions['properties']; + +export const fileOpenDialog = createAppAsyncThunk( + 'dialogs/fileOpenDialog', + async (dialogOptions, thunkAPI) => { + const properties: OpenDialogOptions['properties'] = dialogOptions?.['properties'] + ? dialogOptions['properties'] + : window.api.globals.platform === 'darwin' + ? ['openFile', 'openDirectory', 'multiSelections'] + : ['openFile', 'multiSelections']; + const paths = await window.api.dialogs.fileOpen({ ...dialogOptions, properties: properties }); + if (!paths.canceled && paths.filePaths) { + await Promise.all( + paths.filePaths.map( + async filePath => await thunkAPI.dispatch(createCard({ path: filePath })) + ) + ); + } + } +); + +export const fileSaveDialog = createAppAsyncThunk( + 'dialogs/fileSaveDialog', + async (metafile, thunkAPI) => { + const isMac = window.api.globals.platform === 'darwin'; + const properties: SaveOption = isMac ? ['createDirectory'] : ['showHiddenFiles']; + const defaultPath = isFilebasedMetafile(metafile) + ? metafile.path + : window.api.fs.join(window.api.fs.cwd(), metafile.name); + const response = await window.api.dialogs.fileSave({ + defaultPath, + properties + }); + console.log(response); + if ( + !response.canceled && + response.filePath && + (isFileMetafile(metafile) || isVirtualMetafile(metafile)) && + metafile.content + ) { + return await thunkAPI + .dispatch(saveFile({ id: metafile.id, filepath: response.filePath })) + .unwrap(); + } + return false; + } +); + +// export const cloneDirectoryDialog = createAppAsyncThunk( +// 'dialogs/cloneDirectoryDialog', +// async repoName => { +// const isMac = process.platform === 'darwin'; +// const properties: ('showHiddenFiles' | 'createDirectory')[] = isMac +// ? ['showHiddenFiles', 'createDirectory'] +// : ['showHiddenFiles']; +// const response: Electron.SaveDialogReturnValue = await ipcRenderer.invoke('fileSaveDialog', { +// defaultPath: join(process.cwd(), repoName), +// properties: properties, +// buttonLabel: 'Select Repo Location' +// }); +// if (!response.canceled && response.filePath) { +// return response.filePath; +// } +// return null; +// } +// ); diff --git a/src/renderer/src/components/Diff/Diff.tsx b/src/renderer/src/components/Diff/Diff.tsx new file mode 100644 index 000000000..07ff19657 --- /dev/null +++ b/src/renderer/src/components/Diff/Diff.tsx @@ -0,0 +1,110 @@ +import { diff } from '@renderer/containers/diff'; +import 'ace-builds'; +import 'ace-builds/esm-resolver'; // resolver for dynamically loading modes, per https://github.com/mkslanc/ace-samples/blob/main/samples/ace-builds-vitejs/src/index.js +import 'ace-builds/src-noconflict/ext-beautify'; +import 'ace-builds/src-noconflict/ext-searchbox'; +import 'ace-builds/src-noconflict/theme-github'; +import { useEffect, useState } from 'react'; +import AceEditor, { IAceEditorProps, IMarker } from 'react-ace'; +import type { UUID } from 'types/app'; +import { useAppSelector } from '../../store/hooks'; +import cardSelectors from '../../store/selectors/cards'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { isDiffMetafile } from '../../store/slices/metafiles'; +import '../Editor/EditorStyles.css'; + +const removeNullableProperties = window.api.utils.removeNullableProperties; + +const extractMarkers = (diffOutput: string): IMarker[] => { + const markers: IMarker[] = []; + diffOutput.split(/\n/g).map((code, line) => { + if (code.startsWith('+')) { + markers.push({ + startRow: line, + startCol: 5, + endRow: line, + endCol: code.length, + className: 'ace_highlight_green', + type: 'fullLine' + }); + } else if (code.startsWith('-')) { + markers.push({ + startRow: line, + startCol: 5, + endRow: line, + endCol: code.length, + className: 'ace_highlight_red', + type: 'fullLine' + }); + } + }); + return markers; +}; + +const Diff = ({ metafileId: id }: { metafileId: UUID }) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); + const originalCard = useAppSelector(state => + cardSelectors.selectById( + state, + isDiffMetafile(metafile) && metafile.targets[0] ? metafile.targets[0] : '' + ) + ); + const original = useAppSelector(state => + metafileSelectors.selectById(state, originalCard ? originalCard.metafile : '') + ); + const updatedCard = useAppSelector(state => + cardSelectors.selectById( + state, + isDiffMetafile(metafile) && metafile.targets[1] ? metafile.targets[1] : '' + ) + ); + const updated = useAppSelector(state => + metafileSelectors.selectById(state, updatedCard ? updatedCard.metafile : '') + ); + + const [diffOutput, setDiffOutput] = useState( + diff(original?.content ? original.content : '', updated?.content ? updated.content : '') + ); + const [markers, setMarkers] = useState(extractMarkers(diffOutput)); + + useEffect(() => { + setDiffOutput( + diff(original?.content ? original.content : '', updated?.content ? updated.content : '') + ); + }, [original, updated]); + + useEffect(() => { + setMarkers(extractMarkers(diffOutput)); + }, [diffOutput]); + + const mode = removeNullableProperties({ mode: original?.filetype?.toLowerCase() }); + + return ( + + ); +}; + +const editorProps: IAceEditorProps = { + className: 'editor', + theme: 'monokai', + height: '100%', + width: '100%', + focus: false, + setOptions: { + useWorker: false, + selectionStyle: 'text', + autoScrollEditorIntoView: true, + hScrollBarAlwaysVisible: false, + vScrollBarAlwaysVisible: false + } +}; + +export default Diff; diff --git a/src/renderer/src/components/Diff/DiffReverse.tsx b/src/renderer/src/components/Diff/DiffReverse.tsx new file mode 100644 index 000000000..e628ffd07 --- /dev/null +++ b/src/renderer/src/components/Diff/DiffReverse.tsx @@ -0,0 +1,56 @@ +import React from 'react'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { Card } from '../../store/slices/cards'; +import { Badge, List } from '@mui/material'; +import { ReverseListItem } from '../Card/ReverseItem'; +import { Source } from '@mui/icons-material'; +import cardSelectors from '../../store/selectors/cards'; +import { modalAdded } from '../../store/slices/modals'; + +const DiffReverse = (props: Card) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); + const targetCards = useAppSelector(state => + cardSelectors.selectByIds(state, metafile?.targets ?? []) + ); + const targetMetafiles = useAppSelector(state => + metafileSelectors.selectByIds( + state, + targetCards.map(c => c.metafile) + ) + ); + const dispatch = useAppDispatch(); + + const copyToClipboard = (text: string) => { + window.api.clipboard.writeText(text); + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + options: { + message: `'${text}' copied to clipboard` + } + }) + ); + }; + + return ( + + {targetMetafiles.map((metafile, idx) => ( + + + + } + name={metafile?.path ?? ''} + tooltip="Filepath" + onClick={() => copyToClipboard(metafile?.path ?? '')} + /> + ))} + + ); +}; + +export default DiffReverse; diff --git a/src/renderer/src/components/Diff/index.tsx b/src/renderer/src/components/Diff/index.tsx new file mode 100644 index 000000000..75db57e2d --- /dev/null +++ b/src/renderer/src/components/Diff/index.tsx @@ -0,0 +1 @@ +export { default } from './Diff'; \ No newline at end of file diff --git a/src/renderer/src/components/Dnd/DndCanvasContext.tsx b/src/renderer/src/components/Dnd/DndCanvasContext.tsx new file mode 100644 index 000000000..8fc46673b --- /dev/null +++ b/src/renderer/src/components/Dnd/DndCanvasContext.tsx @@ -0,0 +1,116 @@ +import { PropsWithChildren } from 'react'; +import { DndContext, DragEndEvent, MouseSensor, useSensor, useSensors } from '@dnd-kit/core'; +import { restrictToParentElement } from '@dnd-kit/modifiers'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import { cardUpdated } from '../../store/slices/cards'; +import cardSelectors from '../../store/selectors/cards'; +import { stackUpdated } from '../../store/slices/stacks'; +import stackSelectors from '../../store/selectors/stacks'; +import { createStack, pushCards, removeStack } from '../../store/thunks/stacks'; +import DraggableOverlay from './DraggableOverlay'; + +const DndCanvasContext = ({ children }: PropsWithChildren) => { + const cards = useAppSelector(state => cardSelectors.selectEntities(state)); + const stacks = useAppSelector(state => stackSelectors.selectEntities(state)); + const dispatch = useAppDispatch(); + const mouseSensor = useSensor(MouseSensor, { + activationConstraint: { + distance: 10 + } + }); + + const sensors = useSensors(mouseSensor); + + const handleDragEnd = ({ active, delta, over }: DragEndEvent) => { + if (active.data.current?.type === 'stack') { + const draggedStack = stacks[active.id]; + + // Move Stack to updated coordinates + if (draggedStack) { + dispatch( + stackUpdated({ + ...draggedStack, + x: draggedStack.x + delta.x, + y: draggedStack.y + delta.y + }) + ); + } + + const dropStack = over ? stacks[over.id] : undefined; + + // Merge Stack into Stack + if ( + draggedStack && + dropStack && + draggedStack.id !== dropStack.id && + over?.data.current?.accepts?.includes(active.data.current?.type) + ) { + const cards = draggedStack.cards; + dispatch( + removeStack({ + stack: draggedStack.id + }) + ); + dispatch( + pushCards({ + stack: dropStack.id, + cards: [...cards] + }) + ); + } + } + + if (active.data.current?.type === 'card') { + const draggedCard = cards[active.id]; + + // Move Card to updated coordinates + if (draggedCard) { + dispatch( + cardUpdated({ + ...draggedCard, + x: draggedCard.x + delta.x, + y: draggedCard.y + delta.y + }) + ); + } + + const dropCard = over ? cards[over.id] : undefined; + const dropStack = over ? stacks[over.id] : undefined; + + // Push Card into Stack + if ( + draggedCard && + dropStack && + over?.data.current?.accepts?.includes(active.data.current?.type) + ) { + dispatch(pushCards({ stack: dropStack.id, cards: [draggedCard.id] })); + } + + // Create new Stack with Cards dropped together + if ( + draggedCard && + dropCard && + draggedCard.id !== dropCard.id && + over?.data.current?.accepts?.includes(active.data.current?.type) + ) { + dispatch( + createStack({ + name: 'Stack', + cards: [draggedCard.id, dropCard.id], + x: over.rect.left - 10, + y: over.rect.top - 10 + }) + ); + } + } + }; + + return ( + + {children} + + + ); +}; + +export default DndCanvasContext; diff --git a/src/renderer/src/components/Dnd/DndStackContext.tsx b/src/renderer/src/components/Dnd/DndStackContext.tsx new file mode 100644 index 000000000..fd7ed3771 --- /dev/null +++ b/src/renderer/src/components/Dnd/DndStackContext.tsx @@ -0,0 +1,77 @@ +import { ClientRect, DndContext, DragEndEvent, closestCenter } from '@dnd-kit/core'; +import { restrictToWindowEdges } from '@dnd-kit/modifiers'; +import { arrayMove } from '@dnd-kit/sortable'; +import { ForwardedRef, PropsWithChildren, forwardRef } from 'react'; +import type { UUID } from 'types/app'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import stackSelectors from '../../store/selectors/stacks'; +import { stackUpdated } from '../../store/slices/stacks'; +import { popCard } from '../../store/thunks/stacks'; +import DraggableOverlay from './DraggableOverlay'; + +const DndStackContext = forwardRef>( + ({ id, children }, ref) => { + const stack = useAppSelector(state => stackSelectors.selectById(state, id)); + const dispatch = useAppDispatch(); + + const handleDragEnd = (event: DragEndEvent) => { + if (!stack) return; + const { active, over } = event; + const withinStack = pointerWithin(active.rect.current.translated, ref); + + // Pop Card from Stack + if (!withinStack) { + dispatch( + popCard({ + stack: stack.id, + card: active.id, + x: active.rect.current.translated?.left ?? 0, + y: active.rect.current.translated?.top ?? 0 + }) + ); + } else if (active.id !== over?.id) { + const oldIndex = stack.cards.indexOf(active.id); + const newIndex = over ? stack.cards.indexOf(over.id) : undefined; + + // Reorder Cards within Stack + if (newIndex !== undefined) { + const newCardsArray = arrayMove(stack.cards, oldIndex, newIndex); + dispatch( + stackUpdated({ + ...stack, + cards: newCardsArray + }) + ); + } + } + console.groupEnd(); + }; + + return ( + + {children} + + + ); + } +); + +const pointerWithin = (rect: ClientRect | null, ref: ForwardedRef): boolean => { + if (typeof ref === 'function') { + throw new Error('Only React Refs that are created with `createRef` or `useRef` are supported'); + } + if (!rect || ref === null || !ref.current) return true; + const x = rect.left + rect.width / 2; + const y = rect.top + rect.height / 2; + const left = ref.current.offsetLeft; + const right = left + ref.current.offsetWidth; + const top = ref.current.offsetTop; + const bottom = top + ref.current.offsetHeight; + return left < x && x < right && top < y && y < bottom; +}; + +export default DndStackContext; diff --git a/src/renderer/src/components/Dnd/DraggableOverlay.tsx b/src/renderer/src/components/Dnd/DraggableOverlay.tsx new file mode 100644 index 000000000..1d78d316e --- /dev/null +++ b/src/renderer/src/components/Dnd/DraggableOverlay.tsx @@ -0,0 +1,16 @@ +import { DragOverlay, useDndContext } from '@dnd-kit/core'; +import { BaseCard } from '../Card'; +import { BaseStack } from '../Stack'; + +const DraggableOverlay = () => { + const { active } = useDndContext(); + + return ( + + {active?.data.current?.type === 'card' ? : null} + {active?.data.current?.type === 'stack' ? : null} + + ); +}; + +export default DraggableOverlay; diff --git a/src/renderer/src/components/Editor/Editor.tsx b/src/renderer/src/components/Editor/Editor.tsx new file mode 100644 index 000000000..72b272afc --- /dev/null +++ b/src/renderer/src/components/Editor/Editor.tsx @@ -0,0 +1,94 @@ +import 'ace-builds'; +import 'ace-builds/esm-resolver'; // resolver for dynamically loading modes, per https://github.com/mkslanc/ace-samples/blob/main/samples/ace-builds-vitejs/src/index.js +import React, { useEffect, useState } from 'react'; +import AceEditor, { IAceEditorProps } from 'react-ace'; +/* webpack-resolver incorrectly resolves basePath for file-loader unless at least one mode has already been loaded, +thus the following javascript mode file is loaded to fix this bug */ +import { Skeleton } from '@mui/material'; +import 'ace-builds/src-noconflict/ext-beautify'; +import 'ace-builds/src-noconflict/ext-searchbox'; +import 'ace-builds/src-noconflict/mode-javascript'; +import 'ace-builds/src-noconflict/theme-monokai'; +import type { UUID } from 'types/app'; +import type { Metafile } from 'types/metafile'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { metafileUpdated } from '../../store/slices/metafiles'; +import './EditorStyles.css'; + +const getRandomInt = window.api.utils.getRandomInt; +const isDefined = window.api.utils.isDefined; +const removeNullableProperties = window.api.utils.removeNullableProperties; + +/** + * React Component to display an interactive editor for the content of a specific file. Virtual files can be + * loaded into this component. + * @param props - Prop object for editable content in a specific file. + * @param props.id - The UUID for the metafile used to represent the contents of this component. + * @param props.expanded - An optional toggle for enabling fullscreen mode in the editor; defaults to false. + * @returns {React.Component} A React function component. + */ +const Editor = ({ id, expanded = false }: { id: UUID; expanded?: boolean }) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); + const [editorRef] = useState(React.createRef()); + const mode = removeNullableProperties({ mode: metafile?.filetype?.toLowerCase() }); + const skeletonWidth = getRandomInt(55, 90); + const dispatch = useAppDispatch(); + + // AceEditor instance requires resizing when card is expanded + useEffect(() => editorRef.current?.editor.resize(), [editorRef, expanded]); + + const onChange = async (newCode: string | undefined) => { + // const conflicts = getConflictingChunks(newCode ?? ''); + + if (metafile) { + dispatch( + metafileUpdated({ + ...metafile, + content: newCode ?? '', + state: newCode !== metafile.content ? 'modified' : 'unmodified' + // conflicts: conflicts + }) + ); + } + }; + + return ( + <> + {isEditorMetafile(metafile) ? ( + + ) : ( + + )} + + ); +}; + +const editorProps: IAceEditorProps = { + className: 'editor', + theme: 'monokai', + height: '100%', + width: '100%', + focus: false, + setOptions: { + useWorker: false, + selectionStyle: 'text', + autoScrollEditorIntoView: true, + hScrollBarAlwaysVisible: false, + vScrollBarAlwaysVisible: false + } +}; + +const isEditorMetafile = (metafile: Metafile | undefined): metafile is Metafile => { + return isDefined(metafile) && metafile.filetype !== 'Directory' && metafile.content !== undefined; +}; + +export default Editor; diff --git a/src/renderer/src/components/Editor/EditorReverse.tsx b/src/renderer/src/components/Editor/EditorReverse.tsx new file mode 100644 index 000000000..231288c51 --- /dev/null +++ b/src/renderer/src/components/Editor/EditorReverse.tsx @@ -0,0 +1,111 @@ +import { AccessTime, Source } from '@mui/icons-material'; +import { List } from '@mui/material'; +import { GitBranch, GitRepo } from '@renderer/assets/GitIcons'; +import { DateTime } from 'luxon'; +import type { UUID } from 'types/app'; +import type { Card } from 'types/card'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import metafileSelectors from '../../store/selectors/metafiles'; +import repoSelectors from '../../store/selectors/repos'; +import { cardUpdated } from '../../store/slices/cards'; +import { modalAdded } from '../../store/slices/modals'; +import { switchBranch } from '../../store/thunks/metafiles'; +import type { Action } from '../Card/ActionsMenu'; +import { ReverseListItem, ReverseListMenu } from '../Card/ReverseItem'; + +const EditorReverse = (props: Card) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); + const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); + const branch = useAppSelector(state => branchSelectors.selectById(state, metafile?.branch ?? '')); + const branches = useAppSelector(state => + branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) + ); + const dispatch = useAppDispatch(); + + const copyToClipboard = (text: string) => { + window.api.clipboard.writeText(text); + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + options: { + message: `'${text}' copied to clipboard` + } + }) + ); + }; + + const checkout = async (branch: UUID, ref: string) => { + if (metafile?.branch === branch) { + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + options: { message: `Card already set to branch '${ref}'` } + }) + ); + } + if (metafile && repo) { + const updated = await dispatch(switchBranch({ id: metafile?.id, ref: ref })).unwrap(); + if (updated) { + dispatch( + cardUpdated({ + ...props, + name: updated.name, + modified: updated.modified, + metafile: updated.id + }) + ); + } + } else { + console.log(`checkout failed: ${ref}`, { metafile, repo }); + } + }; + + const actions: Action[] = branches.map(branch => ({ + icon: , + name: `${branch.scope}/${branch.ref}`, + onClick: () => checkout(branch.id, branch.ref) + })); + + return ( + <> + + } + name={ + metafile + ? DateTime.fromMillis(metafile.modified).toLocaleString(DateTime.DATETIME_SHORT) + : '' + } + tooltip="Last Modified" + onClick={() => null} + /> + } + name={metafile?.path ?? ''} + tooltip="Filepath" + onClick={() => copyToClipboard(metafile?.path ?? '')} + /> + } + name={repo?.name ?? 'No Repository'} + tooltip="Repository" + onClick={async () => { + window.api.openExternal(repo?.url ?? ''); + }} + /> + } + name={branch?.ref ?? 'No Branch'} + tooltip="Branch" + actionPrompt="Switch to..." + actions={actions} + /> + + + ); +}; + +export default EditorReverse; diff --git a/src/renderer/src/components/Editor/EditorStyles.css b/src/renderer/src/components/Editor/EditorStyles.css new file mode 100644 index 000000000..19c131246 --- /dev/null +++ b/src/renderer/src/components/Editor/EditorStyles.css @@ -0,0 +1,48 @@ +.editor { + border-radius: 0 0 10px 10px; +} + +.ace_content { + height: 100%; + width: 100%; +} + +/* removes scrollbars from Ace Editor panes until hovered */ +.ace_scrollbar { + transition: opacity 0.3s ease-in-out; + opacity: 0; +} +.ace_editor:hover .ace_scrollbar { + opacity: 1; +} + +/* Styled scrollbars in Ace Editor pane, adapted from: https://stackoverflow.com/a/73570055 */ +.ace_scrollbar::-webkit-scrollbar { + height: 7px; + width: 7px; +} +.ace_scrollbar::-webkit-scrollbar-track { + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + background-color: #272822; /* Matches ace monokai */ + border-radius: 10px; +} +.ace_scrollbar::-webkit-scrollbar-thumb { + background-color: darkgrey; + outline: 1px solid slategrey; + border-radius: 10px; +} + +.ace_highlight_green { + position: absolute; + background: rgb(57, 70, 52); + /* background: rgba(147, 200, 54, 0.8); */ + z-index: 20; +} + +.ace_highlight_red { + position: absolute; + background: rgb(85, 57, 61); + /* background: rgba(221, 88, 115, 0.8); */ + z-index: 20; +} diff --git a/src/renderer/src/components/Editor/index.tsx b/src/renderer/src/components/Editor/index.tsx new file mode 100644 index 000000000..6549ffbde --- /dev/null +++ b/src/renderer/src/components/Editor/index.tsx @@ -0,0 +1 @@ +export { default } from './Editor'; \ No newline at end of file diff --git a/src/renderer/src/components/Explorer/Directory.tsx b/src/renderer/src/components/Explorer/Directory.tsx new file mode 100644 index 000000000..09cb81f89 --- /dev/null +++ b/src/renderer/src/components/Explorer/Directory.tsx @@ -0,0 +1,82 @@ +import { Skeleton } from '@mui/material'; +import type { UUID } from 'types/app'; +import { useFilebasedMotif } from '../../containers/hooks/useMotif'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { isDirectoryMetafile } from '../../store/slices/metafiles'; +import { updateDirectoryMetafile } from '../../store/thunks/metafiles'; +import File from './File'; +import { StageButton, UnstageButton } from './GitButtons'; +import { StyledTreeItem } from './TreeItem'; + +const getRandomInt = window.api.utils.getRandomInt; + +const Directory = ({ id, expanded }: { id: UUID; expanded: string[] }) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); + const isExpanded = expanded.includes(id.toString()); + const directories = useAppSelector(state => + metafileSelectors.selectDirectories(state, metafile?.contains ?? []) + ); + const files = useAppSelector(state => + metafileSelectors.selectFiles(state, metafile?.contains ?? []) + ); + const motif = useFilebasedMotif(metafile); + const dispatch = useAppDispatch(); + + const clickHandle = async () => { + if (!isExpanded && isDirectoryMetafile(metafile)) + await dispatch(updateDirectoryMetafile({ id: metafile.id })); + }; + + return ( + <> + {isDirectoryMetafile(metafile) ? ( + + ) : motif.actionable === 'staged' ? ( + + ) : undefined + } + color={motif?.color} + onClick={clickHandle} + > + {directories + .sort((a, b) => a.name.localeCompare(b.name)) + .filter(dir => !dir.name.startsWith('.')) + .map(dir => ( + + ))} + {files + .sort((a, b) => a.name.localeCompare(b.name)) + .filter(dir => !dir.name.startsWith('.')) + .map(file => ( + + ))} + + ) : ( + console.log(`Loading ${metafile?.name}`)} + width={metafile ? Math.min(metafile.name.length * 15, 245) : getRandomInt(55, 220)} + /> + )} + + ); +}; + +export default Directory; diff --git a/src/renderer/src/components/Explorer/Explorer.tsx b/src/renderer/src/components/Explorer/Explorer.tsx new file mode 100644 index 000000000..afb21191a --- /dev/null +++ b/src/renderer/src/components/Explorer/Explorer.tsx @@ -0,0 +1,78 @@ +import { Description, Folder, FolderOpen } from '@mui/icons-material'; +import { styled } from '@mui/material'; +import { TreeView } from '@mui/x-tree-view'; +import React, { useState } from 'react'; +import type { UUID } from 'types/app'; +import { useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import Directory from './Directory'; +import File from './File'; + +const Explorer = ({ id }: { id: UUID }) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); + const directories = useAppSelector(state => + metafileSelectors.selectDirectories(state, metafile?.contains ?? []) + ); + const files = useAppSelector(state => + metafileSelectors.selectFiles(state, metafile?.contains ?? []) + ); + + const [expanded, setExpanded] = useState([]); + const [selected, setSelected] = useState([]); + + const handleToggle = (_event: React.SyntheticEvent, nodeIds: string[]) => { + setExpanded(nodeIds); + }; + + const handleSelect = (_event: React.SyntheticEvent, nodeIds: string | string[]) => { + Array.isArray(nodeIds) ? setSelected(nodeIds) : setSelected([nodeIds]); + }; + + return ( + <> + } + defaultExpandIcon={} + defaultEndIcon={} + expanded={expanded} + selected={selected} + onNodeToggle={handleToggle} + onNodeSelect={handleSelect} + sx={{ height: '100%', flexGrow: 1, maxWidth: 400, overflowY: 'auto' }} + > + {directories + .sort((a, b) => a.name.localeCompare(b.name)) + .filter(dir => !dir.name.startsWith('.')) + .map(dir => ( + + ))} + {files + .sort((a, b) => a.name.localeCompare(b.name)) + .filter(dir => !dir.name.startsWith('.')) + .map(file => ( + + ))} + + + ); +}; + +const TreeViewComponent = styled(TreeView)(() => ({ + '&::-webkit-scrollbar': { + height: 7, + width: 7 + }, + '&::-webkit-scrollbar-track': { + boxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.1)', + webkitBoxShadow: 'inset 0 0 6px rgba(0, 0, 0, 0.1)', + borderRadius: 10 + }, + '&::-webkit-scrollbar-thumb': { + backgroundColor: 'darkgrey', + outline: '1px solid slategrey', + borderRadius: 10 + } +})); + +export default Explorer; diff --git a/src/renderer/src/components/Explorer/ExplorerReverse.tsx b/src/renderer/src/components/Explorer/ExplorerReverse.tsx new file mode 100644 index 000000000..66fd47a1f --- /dev/null +++ b/src/renderer/src/components/Explorer/ExplorerReverse.tsx @@ -0,0 +1,111 @@ +import { AccessTime, Source } from '@mui/icons-material'; +import { List } from '@mui/material'; +import { GitBranch, GitRepo } from '@renderer/assets/GitIcons'; +import { DateTime } from 'luxon'; +import type { UUID } from 'types/app'; +import type { Card } from 'types/card'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import metafileSelectors from '../../store/selectors/metafiles'; +import repoSelectors from '../../store/selectors/repos'; +import { cardUpdated } from '../../store/slices/cards'; +import { modalAdded } from '../../store/slices/modals'; +import { switchBranch } from '../../store/thunks/metafiles'; +import { Action } from '../Card/ActionsMenu'; +import { ReverseListItem, ReverseListMenu } from '../Card/ReverseItem'; + +const ExplorerReverse = (props: Card) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, props.metafile)); + const branch = useAppSelector(state => branchSelectors.selectById(state, metafile?.branch ?? '')); + const repo = useAppSelector(state => repoSelectors.selectById(state, metafile?.repo ?? '')); + const branches = useAppSelector(state => + branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) + ); + const dispatch = useAppDispatch(); + + const copyToClipboard = (text: string) => { + window.api.clipboard.writeText(text); + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + message: `'${text}' copied to clipboard` + }) + ); + }; + + const checkout = async (branch: UUID, ref: string) => { + if (metafile?.branch === branch) { + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'Notification', + message: `Card already set to branch '${ref}'` + }) + ); + } + if (metafile && repo) { + const updated = await dispatch(switchBranch({ id: metafile?.id, ref: ref })).unwrap(); + if (updated) { + dispatch( + cardUpdated({ + ...props, + name: updated.name, + modified: updated.modified, + metafile: updated.id + }) + ); + } + } else { + console.error(`checkout failed: ${ref}`, { metafile, repo }); + } + }; + + const actions: Action[] = branches.map(branch => ({ + icon: , + name: `${branch.scope}/${branch.ref}`, + onClick: () => checkout(branch.id, branch.ref) + })); + + return ( + <> + + } + name={ + metafile + ? DateTime.fromMillis(metafile.modified).toLocaleString( + DateTime.DATETIME_SHORT_WITH_SECONDS + ) + : '' + } + tooltip="Last Modified" + onClick={() => null} + /> + } + name={metafile?.path ?? ''} + tooltip="Filepath" + onClick={() => copyToClipboard(metafile?.path ?? '')} + /> + } + name={repo?.name ?? 'No Repository'} + tooltip="Repository" + onClick={async () => { + window.api.openExternal(repo?.url ?? ''); + }} + /> + } + name={branch?.ref ?? 'No Branch'} + tooltip="Branch" + actionPrompt={actions.length > 0 ? 'Switch to...' : 'No branches available'} + actions={actions} + /> + + + ); +}; + +export default ExplorerReverse; diff --git a/src/renderer/src/components/Explorer/File.tsx b/src/renderer/src/components/Explorer/File.tsx new file mode 100644 index 000000000..93ae0fe66 --- /dev/null +++ b/src/renderer/src/components/Explorer/File.tsx @@ -0,0 +1,72 @@ +import { Description } from '@mui/icons-material'; +import { Skeleton } from '@mui/material'; +import type { UUID } from 'types/app'; +import { useFilebasedMotif } from '../../containers/hooks/useMotif'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { isFilebasedMetafile, isVersionedMetafile } from '../../store/slices/metafiles'; +import { createCard } from '../../store/thunks/cards'; +import { StageButton, UnstageButton } from './GitButtons'; +import { StyledTreeItem } from './TreeItem'; + +const isModified = window.api.utils.isModified; +const isStaged = window.api.utils.isStaged; +const isUnmerged = window.api.utils.isUnmerged; + +const File = ({ id }: { id: UUID }) => { + const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); + const motif = useFilebasedMotif(metafile); + const skeletonWidth = 100; + const labelButtonState = + isVersionedMetafile(metafile) && isStaged(metafile.status) + ? 'unstage' + : isVersionedMetafile(metafile) && + (isModified(metafile.status) || isUnmerged(metafile.status)) + ? 'stage' + : undefined; + const dispatch = useAppDispatch(); + + const handleClick = async () => { + if (isFilebasedMetafile(metafile)) await dispatch(createCard({ path: metafile.path })); + }; + + return ( + <> + {isFilebasedMetafile(metafile) ? ( + + ) : labelButtonState === 'unstage' ? ( + + ) : undefined + } + endIcon={} + color={motif?.color} + onClick={handleClick} + /> + ) : ( + console.log(`Loading ${metafile?.name}`)} + width={skeletonWidth} + /> + )} + + ); +}; + +export default File; diff --git a/src/renderer/src/components/Explorer/GitButtons.tsx b/src/renderer/src/components/Explorer/GitButtons.tsx new file mode 100644 index 000000000..9ea112b6f --- /dev/null +++ b/src/renderer/src/components/Explorer/GitButtons.tsx @@ -0,0 +1,75 @@ +import { Add, Remove } from '@mui/icons-material'; +import { IconButton, IconButtonProps, Tooltip } from '@mui/material'; +import type { Metafile } from 'types/metafile'; +import { useAppDispatch } from '../../store/hooks'; +import { stageMetafile, unstageMetafile } from '../../store/thunks/metafiles'; + +export const StageButton = ({ + metafile, + buttonColor, + tooltip, + disabled, + ...props +}: { metafile: Metafile; buttonColor: string | undefined; tooltip?: string } & IconButtonProps) => { + const dispatch = useAppDispatch(); + + return disabled ? undefined : ( + + { + e.stopPropagation(); + await dispatch(stageMetafile(metafile.id)); + }} + {...props} + > + + + + ); +}; + +export const UnstageButton = ({ + metafile, + buttonColor, + tooltip, + disabled, + ...props +}: { metafile: Metafile; buttonColor: string | undefined; tooltip?: string } & IconButtonProps) => { + const dispatch = useAppDispatch(); + + return disabled ? undefined : ( + + { + e.stopPropagation(); + await dispatch(unstageMetafile(metafile.id)); + }} + {...props} + > + + + + ); +}; diff --git a/src/renderer/src/components/Explorer/TreeItem.tsx b/src/renderer/src/components/Explorer/TreeItem.tsx new file mode 100644 index 000000000..afb1b90a0 --- /dev/null +++ b/src/renderer/src/components/Explorer/TreeItem.tsx @@ -0,0 +1,104 @@ +import { Box, Tooltip, TooltipProps, Typography, styled, tooltipClasses } from '@mui/material'; +import { TreeItem, TreeItemProps, treeItemClasses } from '@mui/x-tree-view'; +import React, { ReactNode } from 'react'; + +const removeNullableProperties = window.api.utils.removeNullableProperties; + +declare module 'react' { + interface CSSProperties { + '--tree-view-color'?: string; + '--tree-view-bg-color'?: string; + } +} + +export const StyledTreeItem = (props: StyledTreeItemProps) => { + const { bgColor, color, labelText, hoverText, labelInfo, labelButton, ...other } = props; + + return ( + + + + {labelText} + + + + {labelInfo} + + {labelButton} + + } + style={{ + ...removeNullableProperties({ + '--tree-view-color': color, + '--tree-view-bg-color': bgColor + }) + }} + {...other} + /> + ); +}; + +type StyledTreeItemProps = TreeItemProps & { + bgColor?: string | undefined; + color?: string | undefined; + labelText: string; + hoverText?: string | undefined; + labelInfo?: string; + labelButton?: ReactNode; +}; + +export const StyledTreeItemRoot = styled(TreeItem)(({ theme }) => ({ + color: theme.palette.text.secondary, + [`& .${treeItemClasses.content}`]: { + color: `var(--tree-view-color, ${theme.palette.text.secondary})`, + paddingRight: theme.spacing(1), + fontWeight: theme.typography.fontWeightMedium, + '&:hover, &.Mui-expanded:hover, &.Mui-selected:hover': { + backgroundColor: theme.palette.action.hover + }, + '&.Mui-expanded': {}, + '&.Mui-selected': { + backgroundColor: 'unset' + }, + '&.Mui-focused, &.Mui-selected.Mui-focused': { + backgroundColor: `var(--tree-view-bg-color, ${theme.palette.action.hover})`, + color: `var(--tree-view-color, ${theme.palette.text.secondary})` + }, + [`& .${treeItemClasses.label}`]: { + fontWeight: 'inherit', + color: 'inherit' + } + }, + [`& .${treeItemClasses.group}`]: { + marginLeft: 7, + [`& .${treeItemClasses.content}`]: { + paddingLeft: theme.spacing(2) + } + } +})); + +const HoverTextLabel = ({ + hoverText, + color, + children +}: { + hoverText: string | undefined; + color?: string | undefined; + children: React.ReactElement; // eslint-disable-line @typescript-eslint/no-explicit-any +}) => { + return hoverText ? ( + + ) : ( + children + ); +}; + +const StyledTooltip = styled(({ className, ...props }: TooltipProps) => ( + +))(({ color }) => ({ + [`& .${tooltipClasses.tooltip}`]: { + color: color + } +})); diff --git a/src/renderer/src/components/Explorer/index.tsx b/src/renderer/src/components/Explorer/index.tsx new file mode 100644 index 000000000..847b6f617 --- /dev/null +++ b/src/renderer/src/components/Explorer/index.tsx @@ -0,0 +1 @@ +export { default } from './Explorer'; \ No newline at end of file diff --git a/src/renderer/src/components/Handle/Handle.tsx b/src/renderer/src/components/Handle/Handle.tsx new file mode 100644 index 000000000..e98935d8e --- /dev/null +++ b/src/renderer/src/components/Handle/Handle.tsx @@ -0,0 +1,26 @@ +import { IconButton, IconButtonProps } from '@mui/material'; +import { DragIndicator } from '@mui/icons-material'; + +const Handle = ({ draggable = false, ...props }: { draggable?: boolean } & IconButtonProps) => { + return ( + console.log(`draggable: ${draggable}`)} + {...props} + > + + + ); +}; + +export default Handle; diff --git a/src/renderer/src/components/Handle/index.tsx b/src/renderer/src/components/Handle/index.tsx new file mode 100644 index 000000000..1b3992686 --- /dev/null +++ b/src/renderer/src/components/Handle/index.tsx @@ -0,0 +1 @@ +export { default } from './Handle'; diff --git a/src/renderer/src/components/Modal/CommitDialog.tsx b/src/renderer/src/components/Modal/CommitDialog.tsx new file mode 100644 index 000000000..f4d3a5d72 --- /dev/null +++ b/src/renderer/src/components/Modal/CommitDialog.tsx @@ -0,0 +1,117 @@ +import { + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + Paper, + Table, + TableBody, + TableCell, + TableContainer, + TableRow, + TextField, + styled +} from '@mui/material'; +import React, { useCallback, useEffect, useState } from 'react'; +import type { VersionedMetafile } from 'types/metafile'; +import type { CommitDialog } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import metafileSelectors from '../../store/selectors/metafiles'; +import { isFileMetafile } from '../../store/slices/metafiles'; +import { modalRemoved } from '../../store/slices/modals'; +import { createCard } from '../../store/thunks/cards'; +import { addCommit } from '../../store/thunks/commits'; +import File from '../Explorer/File'; + +const CommitDialog = ({ props }: { props: CommitDialog }) => { + const dispatch = useAppDispatch(); + const [message, setMessage] = useState(''); + const staged = useAppSelector(state => + metafileSelectors.selectStagedByRepo(state, props.repo, props.branch) + ); + + const handleClose = useCallback(() => dispatch(modalRemoved(props.id)), [dispatch, props.id]); + const handleChange = (event: React.ChangeEvent) => + setMessage(event.target.value); + const handleClick = async (metafile: VersionedMetafile) => + await dispatch(createCard({ path: metafile.path })); + + useEffect(() => { + if (staged.length < 1) handleClose(); + }, [handleClose, props.id, staged]); + + const initiateCommit = async () => { + const result = await dispatch( + addCommit({ repoId: props.repo, branchId: props.branch, message: message }) + ).unwrap(); + console.log({ result }); + dispatch(modalRemoved(props.id)); + }; + + return ( + dispatch(modalRemoved(props.id))} + aria-labelledby="commit-dialog-title" + aria-describedby="commit-dialog-description" + > + Commit + + + Verify staged directories and files. Enter a commit message. + + + + + {staged + .filter(isFileMetafile) + .sort((a, b) => a.name.localeCompare(b.name)) + .map(metafile => ( + handleClick(metafile)}> + + + + + ))} + +
      +
      + +
      + + + + +
      + ); +}; + +const StyledTableRow = styled(TableRow)(({ theme }) => ({ + color: theme.palette.text.secondary, + '&:last-child td, &:last-child th': { + border: 0 + } +})); + +const StyledDialog = styled(Dialog)(() => ({ + '& .MuiDialog-paper': { + width: 400 + } +})); + +export default CommitDialog; diff --git a/src/renderer/src/components/Modal/DeleteBranchDialog.tsx b/src/renderer/src/components/Modal/DeleteBranchDialog.tsx new file mode 100644 index 000000000..61e860093 --- /dev/null +++ b/src/renderer/src/components/Modal/DeleteBranchDialog.tsx @@ -0,0 +1,72 @@ +import { + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + styled +} from '@mui/material'; +import type { DeleteBranchDialog } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import repoSelectors from '../../store/selectors/repos'; +import { modalRemoved } from '../../store/slices/modals'; +import { removeBranch } from '../../store/thunks/branches'; + +const DeleteBranchDialog = (props: DeleteBranchDialog) => { + const dispatch = useAppDispatch(); + const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); + const branch = useAppSelector(state => branchSelectors.selectById(state, props.branch)); + + const handleClose = () => dispatch(modalRemoved(props.id)); + const handleClick = async () => { + if (repo && branch) { + const result = await dispatch( + removeBranch({ repoId: repo.id, branchId: branch.id }) + ).unwrap(); + console.log( + result + ? `Deleted ${branch.scope}/${branch.ref} branch...` + : `Unable to delete ${branch.scope}/${branch.ref} branch...` + ); + } + }; + + return ( + + Delete Branch + + + Are you sure you want to permanently delete the branch{' '} + + {branch?.scope}/{branch?.ref} + {' '} + ? + + + + + + + + ); +}; + +const StyledDialog = styled(Dialog)(() => ({ + '& .MuiDialog-paper': { + width: 400 + } +})); + +export default DeleteBranchDialog; diff --git a/src/renderer/src/components/Modal/MergeDialog.tsx b/src/renderer/src/components/Modal/MergeDialog.tsx new file mode 100644 index 000000000..c84b967d8 --- /dev/null +++ b/src/renderer/src/components/Modal/MergeDialog.tsx @@ -0,0 +1,291 @@ +import { + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + Paper, + Table, + TableBody, + TableCell, + TableContainer, + TableHead, + TableRow, + Tooltip, + Typography, + styled +} from '@mui/material'; +import { GitAbort, GitBranch, GitMerge } from '@renderer/assets/GitIcons'; +import { useCallback, useEffect, useState } from 'react'; +import { MergeOutput, UUID } from 'types/app'; +import { Branch } from 'types/branch'; +import type { MergeDialog } from 'types/modal'; +import useMap from '../../containers/hooks/useMap'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import repoSelectors from '../../store/selectors/repos'; +import { isUnmergedBranch } from '../../store/slices/branches'; +import { modalRemoved } from '../../store/slices/modals'; +import { mergeBranch, mergeBranchContinue } from '../../store/thunks/branches'; +import MergeStatus from './MergeStatus'; + +const isDefined = window.api.utils.isDefined; + +const MergeDialog = ({ props }: { props: MergeDialog }) => { + const title = + props.mode === 'abort' ? 'Abort Merge' : props.mode === 'continue' ? 'Continue Merge' : 'Merge'; + const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); + const base = useAppSelector(state => branchSelectors.selectById(state, props.base)); + const branches = useAppSelector(state => + branchSelectors.selectByIds(state, repo ? [...repo.local, ...repo.remote] : []) + ); + const dispatch = useAppDispatch(); + const [selected, setSelected] = useState([]); + const conflicted = calcMergingBranch(branches, base); + const deltas = useMap([]); + const [result, setResult] = useState(undefined); + + useEffect(() => { + const mode = props.mode; + const merging = isUnmergedBranch(base) ? base.merging : undefined; + console.log({ mode, base, merging, conflicted }); + }, [base, conflicted, props.mode]); + + const calcRef = (branch: Branch | undefined) => + branch?.scope === 'remote' ? `${branch.remote}/${branch.ref}` : branch ? branch.ref : ''; + + const calcDelta = async (id: UUID) => { + const branch = branches.find(b => b.id === id); + const ref = calcRef(branch); + + if (repo && base && branch) { + const behind = parseInt( + ( + await window.api.git.revList({ + dir: repo?.root, + commitish: [base.ref, `^` + ref], + count: true + }) + ).trim() + ); + const ahead = parseInt( + ( + await window.api.git.revList({ + dir: repo?.root, + commitish: [ref, `^` + base.ref], + count: true + }) + ).trim() + ); + return { behind, ahead }; + } else return { behind: 0, ahead: 0 }; + }; + + const handleClose = useCallback(() => dispatch(modalRemoved(props.id)), [dispatch, props.id]); + + const handleAbort = async () => { + if (!isDefined(repo) || !isDefined(base)) return; + setResult( + await dispatch( + mergeBranchContinue({ repoId: repo.id, baseBranch: base.id, action: 'abort' }) + ).unwrap() + ); + }; + + const handleMerge = async () => { + if (!isDefined(repo) || !isDefined(base)) return; + + const commitishBranches = branches + .filter(branch => selected.includes(branch.id)) + .map(branch => calcRef(branch)); + + console.log(`merging ${commitishBranches} into ${base?.scope}/${base?.ref}`); + setResult( + await dispatch( + mergeBranch({ repoId: repo.id, baseBranch: base.id, commitishes: commitishBranches }) + ).unwrap() + ); + }; + + const toggle = async (row: UUID) => { + if (isDefined(props.mode)) return; + if (base?.id === row) return; + if (selected.includes(row)) { + deltas.delete(row); + setSelected(selected => selected.filter(id => id !== row)); + } else { + const delta = await calcDelta(row); + deltas.set(row, delta); + setSelected(selected => [...selected, row]); + } + }; + + return ( + + {title} Dialog + + + {isDefined(props.mode) ? 'Relevant' : 'Select'} branches from the{' '} + + {repo?.name} + {' '} + repository. + + + + + + + Branch + + Scope + + + Delta + + + + + {branches.map(branch => ( + toggle(branch.id)} + > + + + + + {branch.ref} + + {branch.scope} + + + + + ))} + +
      +
      +
      + + + + + + {props.mode === 'abort' && !isDefined(result) ? ( + + ) : null} + {!isDefined(props.mode) && !isDefined(result) ? ( + + ) : null} + +
      + ); +}; + +type TableRowProps = { + base: boolean; + conflicted: boolean; + selected: boolean; +}; + +const StyledTableRow = styled(TableRow, { + shouldForwardProp: prop => prop !== 'base' && prop !== 'conflicted' && prop !== 'selected' +})(({ base, conflicted, selected }) => ({ + backgroundColor: base + ? 'rgba(33, 150, 243, 0.8)' + : conflicted + ? 'rgba(240, 128, 128, 0.5)' + : selected + ? 'rgba(33, 150, 243, 0.5)' + : 'none', + height: 57, + cursor: base ? 'not-allowed' : 'pointer', + '&:last-child td, &:last-child th': { border: 0 } +})); + +const TableRowIcon = (props: TableRowProps) => { + return ( + + {props.base ? ( + + ) : props.conflicted ? ( + + ) : props.selected ? ( + + ) : null} + + {props.base ? 'Base' : props.conflicted ? 'Conflict' : props.selected ? 'Compare' : null} + + + ); +}; + +type BranchDeltaProps = { + base: string; + behind?: number; + ahead?: number; +}; + +const TableRowDelta = (props: BranchDeltaProps) => { + const ahead = props.ahead + ? `${props.ahead} commit${props.ahead > 1 ? 's' : ''} ahead${props.behind ? ', ' : ' '}` + : ''; + const behind = props.behind ? `${props.behind} commit${props.behind > 1 ? 's' : ''} behind ` : ''; + const base = + props.ahead && !props.behind + ? `of ${props.base}` + : props.behind + ? `${props.base}` + : `0 commits ahead, 0 commits behind ${props.base}`; + + return ( + + + {props.behind} {isDefined(props.behind) && isDefined(props.ahead) ? '|' : ''} {props.ahead} + + + ); +}; + +const calcMergingBranch = (branches: Branch[], base: Branch | undefined): UUID[] => { + const mergingBranch = isUnmergedBranch(base) + ? branches.find(b => b.scope === 'local' && b.ref === base.merging)?.id + : undefined; + return mergingBranch ? [mergingBranch] : []; +}; + +export default MergeDialog; diff --git a/src/renderer/src/components/Modal/MergeStatus.tsx b/src/renderer/src/components/Modal/MergeStatus.tsx new file mode 100644 index 000000000..c597bc256 --- /dev/null +++ b/src/renderer/src/components/Modal/MergeStatus.tsx @@ -0,0 +1,41 @@ +import { Alert, AlertColor, Paper } from '@mui/material'; +import type { MergeOutput } from 'types/app'; +import { LinearProgressWithLabel } from '../Status'; + +const isDefined = window.api.utils.isDefined; + +const StatusBar = ({ + severity, + message +}: { + severity: AlertColor; + message: string | undefined; +}) => { + return ( + + + {message} + + + ); +}; + +const MergeStatus = ({ result }: { result: MergeOutput | undefined }) => { + if (!isDefined(result)) return null; + switch (result.status) { + case 'Passing': + return ; + case 'Failing': + return result.conflicts && result.conflicts.length > 0 ? ( + + ) : ( + + ); + case 'Running': + return ; + default: + return null; + } +}; + +export default MergeStatus; diff --git a/src/renderer/src/components/Modal/ModalComponent.tsx b/src/renderer/src/components/Modal/ModalComponent.tsx new file mode 100644 index 000000000..8e21aacee --- /dev/null +++ b/src/renderer/src/components/Modal/ModalComponent.tsx @@ -0,0 +1,47 @@ +import { + isCommitDialogModal, + isDeleteBranchDialog, + isMergeDialogModal, + isNewBranchDialog, + isNotification, + isRevertCommitDialog +} from '../../store/slices/modals'; +import MergeDialog from './MergeDialog'; +import NewCardDialog from './NewCardDialog'; +import Notification from './Notification'; +// import GitGraph from '../GitGraph'; +import type { Modal } from 'types/modal'; +import CommitDialog from './CommitDialog'; +import DeleteBranchDialog from './DeleteBranchDialog'; +import NewBranchDialog from './NewBranchDialog'; +import RevertCommitDialog from './RevertCommitDialog'; + +const ModalComponent = (props: Modal) => { + switch (props.type) { + // case 'CloneSelector': + // return (); + // case 'GitGraph': + // return isGitGraphModal(props) ? : null; + case 'CommitDialog': + return isCommitDialogModal(props) ? : null; + case 'MergeDialog': + return isMergeDialogModal(props) ? : null; + case 'NewBranchDialog': + return isNewBranchDialog(props) ? : null; + case 'DeleteBranchDialog': + return isDeleteBranchDialog(props) ? : null; + case 'NewCardDialog': + // no specific fields required for `NewCardDialog`, so just using Modal props + return ; + case 'Notification': + return isNotification(props) ? : null; + case 'RevertCommitDialog': + return isRevertCommitDialog(props) ? : null; + default: { + console.error(`No Modal component found for ${props.type}`); + return null; + } + } +}; + +export default ModalComponent; diff --git a/src/renderer/src/components/Modal/NewBranchDialog.tsx b/src/renderer/src/components/Modal/NewBranchDialog.tsx new file mode 100644 index 000000000..0efe92ddc --- /dev/null +++ b/src/renderer/src/components/Modal/NewBranchDialog.tsx @@ -0,0 +1,107 @@ +import { ErrorOutline } from '@mui/icons-material'; +import { + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + FormControl, + InputAdornment, + OutlinedInput, + Tooltip +} from '@mui/material'; +import { ChangeEvent, KeyboardEvent, useState } from 'react'; +import type { NewBranchDialog } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import repoSelectors from '../../store/selectors/repos'; +import { modalRemoved } from '../../store/slices/modals'; +import { addBranch, updateBranches } from '../../store/thunks/branches'; +import { createCard } from '../../store/thunks/cards'; + +const NewBranchDialog = (props: NewBranchDialog) => { + const dispatch = useAppDispatch(); + const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); + const branches = useAppSelector(state => + branchSelectors.selectByRepo(state, repo?.id ?? '', true) + ); + const [branchName, setBranchName] = useState(''); + const isNoneDuplicate = !branches?.find(b => b.ref === branchName); + + const isCreateReady = () => (branchName.length > 0 && isNoneDuplicate ? true : false); + const handleBranchNameChange = (event: ChangeEvent) => + setBranchName(event.target.value); + const handleClose = () => dispatch(modalRemoved(props.id)); + const handleClick = async () => { + if (repo) { + const branch = await dispatch( + addBranch({ root: repo.root, ref: branchName, head: props.head.toString() }) + ).unwrap(); + await dispatch(updateBranches(repo)); + if (branch) await dispatch(createCard({ path: branch.root })); + } + handleClose(); + }; + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Enter') { + event.preventDefault(); + handleClick(); + } + }; + + return ( + + New Branch + + + Provide a name for the new branch. + + + + handleKeyDown(e)} + error={branchName.length > 0 && !isNoneDuplicate} + endAdornment={ + branchName.length > 0 && !isNoneDuplicate ? ( + + + + + + ) : null + } + /> + + + + + + + + + ); +}; + +export default NewBranchDialog; diff --git a/src/renderer/src/components/Modal/NewCardDialog.tsx b/src/renderer/src/components/Modal/NewCardDialog.tsx new file mode 100644 index 000000000..d8b83e765 --- /dev/null +++ b/src/renderer/src/components/Modal/NewCardDialog.tsx @@ -0,0 +1,193 @@ +import { Code, ErrorOutline, Public } from '@mui/icons-material'; +import { + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + FormControl, + FormHelperText, + InputAdornment, + MenuItem, + OutlinedInput, + Select, + SelectChangeEvent, + ToggleButton, + ToggleButtonGroup, + Tooltip +} from '@mui/material'; +import { ChangeEvent, KeyboardEvent, MouseEvent, useState } from 'react'; +import type { CardType } from 'types/app'; +import type { Modal } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import filetypeSelectors from '../../store/selectors/filetypes'; +import { modalRemoved } from '../../store/slices/modals'; +import { createCard } from '../../store/thunks/cards'; +import { createMetafile } from '../../store/thunks/metafiles'; + +const isDefined = window.api.utils.isDefined; +const extractExtension = window.api.fs.extractExtension; +const replaceExt = window.api.fs.replaceExt; + +const NewCardDialog = ({ props }: { props: Modal }) => { + const filetypes = useAppSelector(state => filetypeSelectors.selectAll(state)); + const [category, setCategory] = useState('Editor'); + const [fileName, setFileName] = useState(''); + const [filetype, setFiletype] = useState(''); + const [validated, setValidated] = useState(); + const dispatch = useAppDispatch(); + + const handleClose = () => dispatch(modalRemoved(props.id)); + + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Enter') { + event.preventDefault(); + handleClick(); + } + }; + + const handleCategoryChange = (_event: MouseEvent, newCategory: string) => { + setCategory(newCategory as CardType | undefined); + }; + + const handleFileNameChange = (event: ChangeEvent) => { + setFileName(event.target.value); + + const currentExtension = + event.target.value.indexOf('.') !== -1 ? extractExtension(event.target.value) : ''; + const updatedExtension = filetypes.find(filetype => + filetype.extensions.find(ext => currentExtension === ext || '.' + currentExtension === ext) + ); + + if (updatedExtension) { + setFiletype(updatedExtension.filetype); + setValidated(true); + } else { + setFiletype(''); + setValidated(false); + } + }; + + const handleFiletypeChange = (event: SelectChangeEvent) => { + setFiletype(event.target.value); + + const updatedFiletype = filetypes.find(filetype => filetype.filetype === event.target.value); + if (!updatedFiletype) return; + + const updatedFilename = replaceExt(fileName, updatedFiletype); + setFileName(updatedFilename); + }; + + const handleClick = async () => { + if (category === 'Editor') { + const metafile = await dispatch( + createMetafile({ + metafile: { + name: fileName, + handler: 'Editor', + filetype: filetype, + content: '' + } + }) + ).unwrap(); + dispatch(createCard({ metafile: metafile })); + } + handleClose(); + }; + + return ( + + New Card + + + Select the type of card and enter required data. + + + + + Editor + + + + Browser + + + + + handleKeyDown(e)} + disabled={category !== 'Editor'} + error={validated === false} + endAdornment={ + validated === false ? ( + + + + + + ) : null + } + /> + Filename + + + + Filetype + + + + + + + + + ); +}; + +export default NewCardDialog; diff --git a/src/renderer/src/components/Modal/Notification.tsx b/src/renderer/src/components/Modal/Notification.tsx new file mode 100644 index 000000000..3cb61816c --- /dev/null +++ b/src/renderer/src/components/Modal/Notification.tsx @@ -0,0 +1,40 @@ +import { Close } from '@mui/icons-material'; +import { IconButton, Snackbar } from '@mui/material'; +import { Fragment, SyntheticEvent } from 'react'; +import type { Notification } from 'types/modal'; +import { useAppDispatch } from '../../store/hooks'; +import { modalRemoved } from '../../store/slices/modals'; + +const Notification = (props: Notification) => { + const dispatch = useAppDispatch(); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const handleClose = (_event: Event | SyntheticEvent, reason?: string) => { + if (reason === 'clickaway') { + return; + } + dispatch(modalRemoved(props.id)); + }; + + const action = ( + + + + + + ); + + return ( +
      + +
      + ); +}; + +export default Notification; diff --git a/src/renderer/src/components/Modal/RevertCommitDialog.tsx b/src/renderer/src/components/Modal/RevertCommitDialog.tsx new file mode 100644 index 000000000..8356f3d81 --- /dev/null +++ b/src/renderer/src/components/Modal/RevertCommitDialog.tsx @@ -0,0 +1,77 @@ +import { + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogContentText, + DialogTitle, + styled +} from '@mui/material'; +import type { RevertCommitDialog } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import repoSelectors from '../../store/selectors/repos'; +import { modalRemoved } from '../../store/slices/modals'; +import { revertCommit } from '../../store/thunks/commits'; + +const RevertCommitDialog = (props: RevertCommitDialog) => { + const dispatch = useAppDispatch(); + const repo = useAppSelector(state => repoSelectors.selectById(state, props.repo)); + const branch = useAppSelector(state => branchSelectors.selectById(state, props.branch)); + + const handleClose = () => dispatch(modalRemoved(props.id)); + + const handleClick = async () => { + if (repo) { + const result = await dispatch( + revertCommit({ root: branch?.root ?? repo.root, oid: props.commit.toString() }) + ).unwrap(); + console.log( + result + ? `Deleted ${props.commit.toString()} commit...` + : `Unable to delete ${props.commit.toString()} commit...` + ); + } + }; + + return ( + + Revert Commit + + + Are you sure you want to revert{' '} + + {branch?.scope}/{branch?.ref} + {' '} + branch to{' '} + + {props.commit.toString().substring(0, 8) + '...'} + {' '} + commit? + + + + + + + + ); +}; + +const StyledDialog = styled(Dialog)(() => ({ + '& .MuiDialog-paper': { + width: 400 + } +})); + +export default RevertCommitDialog; diff --git a/src/renderer/src/components/Modal/index.tsx b/src/renderer/src/components/Modal/index.tsx new file mode 100644 index 000000000..809b4feea --- /dev/null +++ b/src/renderer/src/components/Modal/index.tsx @@ -0,0 +1 @@ +export { default } from './ModalComponent'; \ No newline at end of file diff --git a/src/renderer/src/components/Stack/BaseStack.tsx b/src/renderer/src/components/Stack/BaseStack.tsx new file mode 100644 index 000000000..40d590ee4 --- /dev/null +++ b/src/renderer/src/components/Stack/BaseStack.tsx @@ -0,0 +1,161 @@ +import type { + DraggableAttributes, + DraggableSyntheticListeners, + UniqueIdentifier +} from '@dnd-kit/core'; +import { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable'; +import type { Transform } from '@dnd-kit/utilities'; +import { CSS } from '@dnd-kit/utilities'; +import { Close, Difference } from '@mui/icons-material'; +import { IconButton, Tooltip, styled } from '@mui/material'; +import { forwardRef, useRef } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; +import type { UUID } from 'types/app'; +import { useMergeRefs } from 'use-callback-ref'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import cardSelectors from '../../store/selectors/cards'; +import metafileSelectors from '../../store/selectors/metafiles'; +import stackSelectors from '../../store/selectors/stacks'; +import { createCard } from '../../store/thunks/cards'; +import { createMetafile } from '../../store/thunks/metafiles'; +import { pushCards, removeStack } from '../../store/thunks/stacks'; +import Card from '../Card/Card'; +import DndStackContext from '../Dnd/DndStackContext'; +import Handle from '../Handle'; + +const isDefined = window.api.utils.isDefined; + +const BaseStack = forwardRef(({ id, ...props }, ref) => { + const stack = useAppSelector(state => stackSelectors.selectById(state, id)); + const first = useAppSelector(state => + cardSelectors.selectById(state, stack && stack.cards.length >= 1 ? stack?.cards[0] ?? '' : '') + ); + const firstMetafile = useAppSelector(state => + metafileSelectors.selectById(state, first?.metafile ?? '') + ); + const second = useAppSelector(state => + cardSelectors.selectById(state, stack && stack.cards.length >= 2 ? stack?.cards[1] ?? '' : '') + ); + const localRef = useRef(null); + const mergedRefs = useMergeRefs([ref, localRef]); + const dispatch = useAppDispatch(); + + const isDiffable = () => { + if (stack?.cards.length !== 2) return false; + if (isDefined(first) && isDefined(second)) { + return first.type === second.type; + } else { + return false; + } + }; + + return ( + + {!props.dragOverlay ? ( + + ) : ( + + )} + {isDiffable() ? ( + + { + if (first && second) { + const diffCardName = `${first?.name} Δ ${second?.name}`; + const diffMetafile = await dispatch( + createMetafile({ + metafile: { + name: diffCardName, + handler: 'Diff', + filetype: firstMetafile?.filetype ?? 'Text', + targets: [first.id, second.id] + } + }) + ).unwrap(); + const diffCard = await dispatch(createCard({ metafile: diffMetafile })).unwrap(); + await dispatch(pushCards({ stack: id, cards: [diffCard] })); + } + }} + > + + + + ) : null} + { + if (stack) dispatch(removeStack({ stack: stack.id })); + }} + > + + + 💥Child Error💥}> + + + {stack?.cards.map((id, index) => )} + + + + + ); +}); + +type OverlayProps = { + dragOverlay: true; + highlight?: boolean; +}; + +type DraggableProps = { + dragOverlay?: false; + highlight?: boolean; + dragging?: boolean; + transform: Transform | null; + attributes: DraggableAttributes; + listeners: DraggableSyntheticListeners; +}; + +type InternalProps = { + cards: UniqueIdentifier[] | undefined; + x: number | undefined; + y: number | undefined; +}; + +type Props = { id: UUID } & (OverlayProps | DraggableProps); +type StyledProps = (OverlayProps | DraggableProps) & InternalProps; + +const StackComponent = styled('div')(props => ({ + background: 'rgba(102, 204, 117, 0.6)', + height: 420 + (props.cards?.length ?? 0) * 15, + width: 265 + (props.cards?.length ?? 0) * 15, + borderRadius: 5, + border: '0.5px solid rgba(125, 125, 125, 1)', + position: 'fixed', + zIndex: 1, + color: 'rgba(0, 0, 0, 0.54)', + boxShadow: props.highlight ? '0 0 3pt 1pt rgba(255, 165, 0, 0.75)' : undefined, + transform: props.dragOverlay ? undefined : CSS.Translate.toString(props.transform), + left: props.dragOverlay ? undefined : props.x, + top: props.dragOverlay ? undefined : props.y, + visibility: !props.dragOverlay && props.dragging ? 'hidden' : 'unset' +})); + +const Error = styled('div')(() => ({ + color: '#FF0000' +})); + +export default BaseStack; diff --git a/src/renderer/src/components/Stack/Stack.tsx b/src/renderer/src/components/Stack/Stack.tsx new file mode 100644 index 000000000..cde0d4a37 --- /dev/null +++ b/src/renderer/src/components/Stack/Stack.tsx @@ -0,0 +1,41 @@ +import { useDraggable, useDroppable } from '@dnd-kit/core'; +import { useCombinedRefs } from '@dnd-kit/utilities'; +import type { UUID } from 'types/app'; +import BaseStack from './BaseStack'; + +const Stack = ({ id }: { id: UUID }) => { + const { + attributes, + listeners, + setNodeRef: setDraggableNodeNef, + transform, + isDragging + } = useDraggable({ + id: id, + data: { type: 'stack' } + }); + const accepts = ['card', 'stack']; + const { + setNodeRef: setDroppableNodeRef, + isOver, + active + } = useDroppable({ + id: id, + data: { type: 'stack', accepts } + }); + const setNodeRef = useCombinedRefs(setDroppableNodeRef, setDraggableNodeNef); + + return ( + + ); +}; + +export default Stack; diff --git a/src/renderer/src/components/Stack/index.tsx b/src/renderer/src/components/Stack/index.tsx new file mode 100644 index 000000000..0a8c0ad90 --- /dev/null +++ b/src/renderer/src/components/Stack/index.tsx @@ -0,0 +1,2 @@ +export { default } from './Stack'; +export { default as BaseStack } from './BaseStack'; diff --git a/src/renderer/src/components/Status.tsx b/src/renderer/src/components/Status.tsx new file mode 100644 index 000000000..9a97d0eb1 --- /dev/null +++ b/src/renderer/src/components/Status.tsx @@ -0,0 +1,71 @@ +import { Check, Clear } from '@mui/icons-material'; +import { Box, CircularProgress, LinearProgress, Typography, styled } from '@mui/material'; +import { green, red } from '@mui/material/colors'; +import type { Status } from 'types/app'; + +const StatusIcon = (props: { status: Status; progress?: number }) => { + switch (props.status) { + case 'Running': + return props.progress ? ( + + ) : ( + + ); + case 'Passing': + return ; + case 'Failing': + return ; + default: + return null; + } +}; + +export const LinearProgressWithLabel = (props: { value: number; subtext?: string }) => { + return ( + <> + + + + + + {`${Math.round( + props.value + )}%`} + + + {props.subtext ? ( + + + {props.subtext} + + + ) : undefined} + + ); +}; + +const StyledCheckIcon = styled(Check)(() => ({ + height: 22, + width: 22, + margin: 4, + padding: 0, + verticalAlign: 'middle', + color: green[500] +})); + +const StyledClearIcon = styled(Clear)(() => ({ + height: 22, + width: 22, + padding: 0, + margin: 4, + verticalAlign: 'middle', + color: red[500] +})); + +const StyledCircularProgress = styled(CircularProgress)(() => ({ + margin: 4, + padding: 2, + verticalAlign: 'middle' +})); + +export default StatusIcon; diff --git a/src/renderer/src/containers/diff.ts b/src/renderer/src/containers/diff.ts new file mode 100644 index 000000000..70b6b4105 --- /dev/null +++ b/src/renderer/src/containers/diff.ts @@ -0,0 +1,28 @@ +import { diffLines } from 'diff'; + +/** + * Diffs two blocks of text, comparing line by line, based on the algorithm proposed + * in "An O(ND) Difference Algorithm and its Variations" (Myers, 1986). Results are formatted + * according to the unified diff patch used in the Git protocol, where +/- indicate lines + * added or removed in order to transform from original to updated. + * @param original The base version of code or text to evaluate. + * @param updated The updated version of code or text to compare against original. + * @returns {string} A diff patch that conforms to the unified diff patch format. + */ +export const diff = (original: string, updated: string): string => { + const diffLineChanges = diffLines(original, updated); + let readableDiff = ''; + + diffLineChanges.map(segment => { + const segmentLines = segment.value.split(/\n/g, segment.count); + if (segment.added) { + segmentLines.map(line => (readableDiff += `+${line}\n`)); + } else if (segment.removed) { + segmentLines.map(line => (readableDiff += `-${line}\n`)); + } else { + segmentLines.map(line => (readableDiff += ` ${line}\n`)); + } + }); + + return readableDiff; +} \ No newline at end of file diff --git a/src/renderer/src/containers/hooks/useGitGraph.ts b/src/renderer/src/containers/hooks/useGitGraph.ts new file mode 100644 index 000000000..b5399ff84 --- /dev/null +++ b/src/renderer/src/containers/hooks/useGitGraph.ts @@ -0,0 +1,366 @@ +import { useCallback, useEffect, useState } from 'react'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import { Branch, isUnmergedBranch } from '../../store/slices/branches'; +import { Commit } from '../../store/slices/commits'; +import { fetchCommit } from '../../store/thunks/commits'; +import { Color, SHA1, UUID } from '../../store/types'; +import { removeDuplicates, removeUndefined, symmetrical } from '../utils'; +import useMap from './useMap'; +import usePrevious from './usePrevious'; + +export type CommitVertex = Commit & { + /** The Repository object UUID that contains branches and this commit in their history. */ + repo: UUID; + /** Array of Branch object UUIDs that include this commit in their history. */ + branches: UUID[]; + /** Array of Branch object UUIDs that have HEAD pointed at this commit. */ + heads: UUID[]; + /** Array of Branch object UUIDs that have an incomplete merge (ie. conflict) at this commit. */ + conflicted: UUID[]; + /** Array of Commit object UUIDs that point back to this commit as their parent. */ + children: UUID[]; + /** Background color to display for this vertex node. */ + color: Color; + /** Indicator for whether this vertex node represents a possible future git commit. */ + staged: boolean; +}; +export type GitGraph = Map; +export type BranchLookup = Map; + +export type useGitGraphHook = { + graph: GitGraph; + topological: UUID[]; + branchLookup: BranchLookup; + printGraph: () => void; +}; + +export const useGitGraph = (id: UUID): useGitGraphHook => { + const graph = useMap([]); + const branchLookup = useMap([]); + const [topological, setTopological] = useState([]); + const branches = useAppSelector(state => branchSelectors.selectByRepo(state, id, true)); + const previous = usePrevious(branches); + const dispatch = useAppDispatch(); + + const arrayAdd = (arr: T[], addElem: T): T[] => { + return removeDuplicates([...arr, addElem], (a, b) => a === b); + }; + + const arrayRemove = (arr: T[], removeElem: T): T[] => { + return arr.filter(e => e !== removeElem); + }; + + /** + * Add or update a vertex in the graph. Multiple branches can reference the same commit, thus + * this function adds a vertex if the commit was not previously part of the graph and adds + * updated information to an existing vertex (including status changes, associated branches, + * changes in head state, colors, etc.). This function is capable of discerning conflicts and + * whether the vertex represents the head of any associated branches. + */ + const updateVertex = useCallback( + async (oid: SHA1, branch: T) => { + const commit = await dispatch( + fetchCommit({ commitIdentifiers: { oid: oid.toString(), root: branch.root } }) + ).unwrap(); + const existing = graph.get(oid); + + const updatedHeads = + branch.head === oid + ? arrayAdd(existing?.heads ?? [], branch.id) + : arrayRemove(existing?.heads ?? [], branch.id); + + const updatedConflicted = + branch.head === oid && branch.status === 'unmerged' + ? arrayAdd(existing?.conflicted ?? [], branch.id) + : arrayRemove(existing?.conflicted ?? [], branch.id); + + const update: CommitVertex = { + ...(existing ?? commit), + repo: id, + branches: arrayAdd(existing?.branches ?? [], branch.id), + heads: updatedHeads, + conflicted: updatedConflicted, + children: existing?.children ?? [], + color: + updatedConflicted.length > 0 + ? 'rgb(240, 128, 128)' // red + : updatedHeads.length > 0 + ? 'rgb(143, 226, 0)' // green + : 'rgb(128, 128, 128)', // grey + staged: false + }; + + graph.set(oid, update); + if (!existing) update.parents.forEach(async parent => await updateVertex(parent, branch)); + }, + [dispatch, graph, id] + ); + + /** + * Add or update a placeholder vertex in the graph. Placeholders represent temporary states that + * are not represented as commits within the underlying git repository (i.e. incomplete merges, + * uncommitted changes, etc.). This function checks for uncommitted changes that have been staged + * within the branch, and adds a staged placeholder vertex to represent the future commit that + * encompasses these changes. This function also checks for incomplete merges within a branch, + * and adds conflict placeholder vertices for each incomplete merge involving the specified + * branch. + */ + const updatePlaceholders = useCallback( + async (branch: T) => { + const prev = previous?.find(b => b.id === branch.id); + const compare = isUnmergedBranch(branch) + ? branches.find(b => b.scope === 'local' && b.ref === branch.merging) + : undefined; + + // add a staged placeholder vertex + if (branch.status === 'uncommitted') { + const key = `${branch.scope}/${branch.ref}*`; + + graph.set(key, { + oid: key, + message: `Staged changes in ${branch.scope}/${branch.ref}`, + parents: [branch.head], + author: { + name: '', + email: '', + timestamp: undefined + }, + repo: id, + branches: [branch.id], + heads: [], + children: [], + color: 'rgb(97, 174, 238)', // blue + staged: true, + conflicted: [] + }); + } else { + graph.delete(`${branch.scope}/${branch.ref}*`); + } + + // add a conflict placeholder vertex + if (isUnmergedBranch(branch) && compare) { + const key = `${branch.scope}/${branch.ref}<>${branch.merging}`; + const head = graph.get(branch.head); + + graph.set(key, { + oid: key, + message: `Incomplete merge from ${compare.scope}/${compare.ref} into ${branch.scope}/${branch.ref}`, + parents: [branch.head, compare.head], + author: { + name: '', + email: '', + timestamp: undefined + }, + repo: id, + branches: [branch.id], + heads: [branch.id], + children: [], + color: 'rgb(240, 128, 128)', // red + staged: true, + conflicted: [branch.id] + }); + + if (head) + graph.set(head.oid, { + ...head, + color: 'rgb(240, 128, 128)', // red + conflicted: [compare.id] + }); + } else if (isUnmergedBranch(prev)) { + const head = graph.get(prev.head); + graph.delete(`${branch.scope}/${branch.ref}<>${prev.merging}`); + + if (head) + graph.set(head.oid, { + ...head, + color: 'rgb(143, 226, 0)', // green + conflicted: [] + }); + } + }, + [branches, graph, id, previous] + ); + + /** + * Remove or update a vertex in the graph. Multiple branches can reference the same commit, thus + * this function only removes the vertex if removing association with a specified branch would + * result in the vertex being associated with no branches. Otherwise, this function will update + * the vertex to no longer include associations with the specified branch. + */ + const removeVertex = useCallback( + async (oid: SHA1, branch: T) => { + const existing = graph.get(oid); + const parents = existing ? removeUndefined(existing.parents.map(p => graph.get(p))) : []; + + parents.forEach(parent => + graph.set(parent.oid, { + ...parent, + children: parent.children.filter(c => c != oid) + }) + ); + + if (!existing || (existing.branches.includes(branch.id) && existing.branches.length === 1)) { + graph.delete(oid); + } else { + graph.set(oid, { + ...existing, + branches: existing.branches.filter(b => b != branch.id), + heads: existing.heads.filter(b => b != branch.id), + conflicted: existing.conflicted.filter(b => b != branch.id) + }); + } + + parents.forEach(async parent => await updateVertex(parent.oid, branch)); + }, + [graph, updateVertex] + ); + + /** + * Traverse all vertices and add backlinks to all child vertices. Time complexity is `O(V+E)`, + * where `V` is the number of vertices and `E` is the number of edges. + */ + const link = useCallback(() => { + for (const vertex of graph.values()) { + for (const oid of vertex.parents) { + const parent = graph.get(oid.toString()); + if (parent && !parent.children.some(child => child === vertex.oid)) { + graph.set(parent.oid.toString(), { + ...parent, + children: [...parent.children, vertex.oid.toString()] + }); + } + } + } + }, [graph]); + + const topologicalSortUtil = useCallback( + (key: SHA1, visited: Map, graph: GitGraph, stack: string[]) => { + visited.set(key, true); + const vertex = graph.get(key); + if (vertex) { + for (const v of vertex.children) { + if (visited.get(v.toString()) === false) { + topologicalSortUtil(v.toString(), visited, graph, stack); + } + } + } + stack.push(key.toString()); + }, + [] + ); + + /** + * Topological sorting for Directed Acyclic Graph (DAG) is a linear ordering of vertices such + * that for every directed edge `u -> v`, vertex `u` comes before `v` in the ordering. + * Topological Sorting for a graph is not possible if the graph is not a DAG. + * @param graph The `Map` object containing a dictionary from SHA-1 commit hash to + * `CommitVertex` object. + * @returns {string[]} An array of keys corresponding to the elements in the graph, but sorted + * in topological order. + */ + const topologicalSort = useCallback( + (graph: GitGraph) => { + const visited: Map = new Map([...graph.keys()].map(k => [k, false])); + const stack: string[] = []; + for (const key of graph.keys()) { + if (visited.get(key) === false) { + topologicalSortUtil(key, visited, graph, stack); + } + } + setTopological(stack.reverse()); + }, + [topologicalSortUtil] + ); + + const processChanges = useCallback( + async (previous: Branch[] | undefined, branches: Branch[]) => { + const { added, modified, removed } = changeFilter(previous, branches, [ + 'id', + 'head', + 'status', + 'linked', + 'commits' + ]); + await Promise.all( + added.map(async branch => { + branch.commits.forEach(async oid => await updateVertex(oid.toString(), branch)); + await updatePlaceholders(branch); + branchLookup.set(`${branch.scope}/${branch.ref}`, branch.head); + }) + ); + await Promise.all( + removed.map(async branch => { + branch.commits.forEach(async oid => await removeVertex(oid.toString(), branch)); + await updatePlaceholders(branch); + branchLookup.delete(`${branch.scope}/${branch.ref}`); + }) + ); + await Promise.all( + modified.map(async mod => { + if (mod.changed.includes('commits')) { + const [added, , removed] = symmetrical( + mod.branch.commits, + mod.prev.commits, + (a, b) => a === b + ); + added.forEach(async oid => await updateVertex(oid.toString(), mod.branch)); + removed.forEach(async oid => await removeVertex(oid.toString(), mod.branch)); + await updatePlaceholders(mod.branch); + } + if ( + !mod.changed.includes('commits') && + (mod.changed.includes('status') || mod.changed.includes('head')) + ) { + if (mod.branch.commits.includes(mod.prev.head)) + await updateVertex(mod.prev.head, mod.branch); + await updatePlaceholders(mod.branch); + } + branchLookup.set(`${mod.branch.scope}/${mod.branch.ref}`, mod.branch.head); + }) + ); + link(); + topologicalSort(graph); + }, + [branchLookup, graph, link, removeVertex, topologicalSort, updatePlaceholders, updateVertex] + ); + + useEffect(() => { + processChanges(previous, branches); + }, [previous, branches, processChanges]); + + const printGraph = () => { + console.groupCollapsed( + `%c[useGitGraph] Print repo: ${id}`, + 'background: RebeccaPurple; color: white; padding: 3px; border-radius: 5px;' + ); + console.log(`Graph:`, { graph, topological }); + console.log(`Branches:`, { prev: previous, branches }); + console.groupEnd(); + }; + + return { graph, topological, branchLookup, printGraph }; +}; + +const changeFilter = ( + previous: Branch[] | undefined, + branches: Branch[], + props: BranchProps[] +): { + added: Branch[]; + modified: { prev: Branch; branch: Branch; changed: BranchProps[] }[]; + removed: Branch[]; +} => { + const [added, existing, removed] = symmetrical(branches, previous ?? [], (a, b) => a.id === b.id); + + const modified = existing.reduce( + (accum: { prev: Branch; branch: Branch; changed: BranchProps[] }[], [curr, prev]) => { + const deltaProps = props.filter(prop => curr[prop] !== prev[prop]); + if (deltaProps.length > 0) accum.push({ prev, branch: curr, changed: deltaProps }); + return accum; + }, + [] + ); + + return { added, modified, removed }; +}; diff --git a/src/renderer/src/containers/hooks/useGitWatcher.ts b/src/renderer/src/containers/hooks/useGitWatcher.ts new file mode 100644 index 000000000..5f8aa9d13 --- /dev/null +++ b/src/renderer/src/containers/hooks/useGitWatcher.ts @@ -0,0 +1,35 @@ +import { PathLike } from 'fs-extra'; +import { useAppDispatch } from '../../store/hooks'; +import { isFilebasedMetafile } from '../../store/slices/metafiles'; +import { fetchMetafile, updateVersionedMetafile } from '../../store/thunks/metafiles'; +import useWatcher, { WatchEventType, WatchListener } from './useWatcher'; + +/** + * Custom React Hook for monitoring Git repository files and triggering Redux updates on metafiles + * when changes are detected. If a root path is not under version control, then updates will only + * reflect changes in the file stats and content (i.e. `containers/git-porcelain.getStatus` will + * return undefined on non-versioned filepaths). Uses `useWatcher` hooks under the hood for opening + * and closing FS watchers, which drive subsequent status checks, based on the context closure of + * the component calling this hook. + * @param root The Git root repository (i.e. the path returned by `containers/git-path.getRoot`) + * @param additionalEventHandler An optional additional event handler for bubbling up specific + * events from the underlying `useWatcher` hooks. + */ +const useGitWatcher = ( + root: PathLike | undefined, + additionalEventHandler?: WatchListener +): void => { + const dispatch = useAppDispatch(); + + const eventHandler = async (event: WatchEventType, filename: PathLike) => { + if (!['unlink', 'unlinkDir'].includes(event)) { + const metafile = await dispatch(fetchMetafile({ path: filename.toString() })).unwrap(); + if (isFilebasedMetafile(metafile)) await dispatch(updateVersionedMetafile(metafile.id)); + } + }; + + useWatcher(root, eventHandler); + useWatcher(root, additionalEventHandler); +}; + +export default useGitWatcher; diff --git a/src/renderer/src/containers/hooks/useHistory.ts b/src/renderer/src/containers/hooks/useHistory.ts new file mode 100644 index 000000000..06f52d946 --- /dev/null +++ b/src/renderer/src/containers/hooks/useHistory.ts @@ -0,0 +1,110 @@ +import { useCallback, useReducer } from 'react'; + +type HistoryState = { + /** Array of previous URLs updated each time a new URL is visited. */ + past: URL[]; + /** Current URL. */ + present: URL; + /** Array of "future" URLs if we go back (so that we can go forward). */ + future: URL[]; +}; + +type HistoryAction = { + type: 'GO', + newPresent: URL +} | { + type: 'CLEAR', + initialPresent: URL +} | { + type: 'BACK' | 'FORWARD' +} + +// Initial state passed to useReducer +const initialState = { + past: [], + present: null, + future: [], +}; + +// Reducer function to handle state changes based on action +const reducer = (state: HistoryState, action: HistoryAction) => { + const { past, present, future } = state; + + switch (action.type) { + case 'BACK': { + const previous = past[past.length - 1] as URL; + const newPast = past.slice(0, past.length - 1); + + return { + past: newPast, + present: previous, + future: [present, ...future], + }; + } + case 'FORWARD': { + const next = future[0] as URL; + const newFuture = future.slice(1); + + return { + past: [...past, present], + present: next, + future: newFuture, + }; + } + case 'GO': { + const { newPresent } = action; + + if (newPresent === present) { + return state; + } + return { + past: [...past, present], + present: newPresent, + future: [], + }; + } + case 'CLEAR': { + const { initialPresent } = action; + + return { + ...initialState, + present: initialPresent, + }; + } + } +}; + +// Hook +export const useHistory = (initialPresent: URL) => { + const [state, dispatch] = useReducer(reducer, { + ...initialState, + present: initialPresent, + }); + + const canGoBack = state.past.length !== 0; + const canGoForward = state.future.length !== 0; + + // All actions are memoized with useCallback to prevent unnecessary re-renders + const goBack = useCallback(() => { + if (canGoBack) { + dispatch({ type: 'BACK' }); + } + }, [canGoBack, dispatch]); + + const goForward = useCallback(() => { + if (canGoForward) { + dispatch({ type: 'FORWARD' }); + } + }, [canGoForward, dispatch]); + + const set = useCallback( + (newPresent: URL) => dispatch({ type: 'GO', newPresent }), + [dispatch] + ); + + const clear = useCallback(() => dispatch({ type: 'CLEAR', initialPresent }), + [dispatch, initialPresent] + ); + + return { state, set, goBack, goForward, clear, canGoBack, canGoForward }; +}; \ No newline at end of file diff --git a/src/renderer/src/containers/hooks/useImperativeRef.ts b/src/renderer/src/containers/hooks/useImperativeRef.ts new file mode 100644 index 000000000..85b37839a --- /dev/null +++ b/src/renderer/src/containers/hooks/useImperativeRef.ts @@ -0,0 +1,10 @@ +import { useCallback, useState } from 'react'; + +export const useImperativeRef = () => { + const [refState, setRefState] = useState(); + const ref = useCallback((n: T | null) => { + if (n) setRefState(n); + }, []); + + return [refState, ref] as const; +} \ No newline at end of file diff --git a/src/renderer/src/containers/hooks/useMap.ts b/src/renderer/src/containers/hooks/useMap.ts new file mode 100644 index 000000000..7c2c1ff8e --- /dev/null +++ b/src/renderer/src/containers/hooks/useMap.ts @@ -0,0 +1,43 @@ +// copied from: https://usehooks.com/usemap, modified with TypeScript types as needed +import { useReducer, useRef } from 'react'; + +/** + * Custom React Hook to synchronize and update state based on the Map data structure. + * This hook provides a wrapper around the JavaScript + * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map Map} + * object and allows you to easily update and synchronize the map state with the component’s + * rendering. By using this hook, you can add, delete, or clear entries in the map while ensuring + * that the component re-renders whenever these operations are performed. + * @param initialState An initial state consisting of key-value tuples in an array object, where + * any value (both objects and + * {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive primitive values}) maybe used + * as either a key or a value. + * @returns {Map} A Map object holding key-value pairs that adhere to the types provided explicitly + * by type variables, or resolved to the type of the first key-value pair in the `initialState`. + */ +const useMap = (initialState: Iterable | null | undefined): Map => { + const mapRef = useRef(new Map(initialState)); + const [, reRender] = useReducer(x => x + 1, 0); + + mapRef.current.set = (...args) => { + Map.prototype.set.apply(mapRef.current, args); + reRender(); + return mapRef.current; + }; + + mapRef.current.clear = (...args) => { + Map.prototype.clear.apply(mapRef.current, args); + reRender(); + }; + + mapRef.current.delete = (...args) => { + const res = Map.prototype.delete.apply(mapRef.current, args); + reRender(); + + return res; + }; + + return mapRef.current; +}; + +export default useMap; diff --git a/src/renderer/src/containers/hooks/useMotif.ts b/src/renderer/src/containers/hooks/useMotif.ts new file mode 100644 index 000000000..27744623c --- /dev/null +++ b/src/renderer/src/containers/hooks/useMotif.ts @@ -0,0 +1,60 @@ +import { Add, Remove, SvgIconComponent, Warning } from '@mui/icons-material'; +import type { Branch } from 'types/branch'; +import type { Metafile } from 'types/metafile'; +import { isFileMetafile, isVersionedMetafile } from '../../store/slices/metafiles'; + +const getConflictingChunks = window.api.utils.getConflictingChunks; +const isDefined = window.api.utils.isDefined; +const isModified = window.api.utils.isModified; +const isStaged = window.api.utils.isStaged; +const isUnmerged = window.api.utils.isUnmerged; + +type Actionable = 'conflicted' | 'staged' | 'unstaged'; + +type useMotifHook = { + actionable: Actionable | undefined; + color: string | undefined; + icon: SvgIconComponent | undefined; +}; + +export const useFilebasedMotif = (metafile: Metafile | undefined): useMotifHook => { + if (isVersionedMetafile(metafile)) { + const conflicted = + isUnmerged(metafile.status) || + (isFileMetafile(metafile) && + isDefined(metafile.content) && + getConflictingChunks(metafile.content).length > 0); + const staged = isStaged(metafile.status); + const unstaged = isModified(metafile.status); + const untracked = metafile.status === 'absent' || metafile.status === '*absent'; + const icon = conflicted ? Warning : staged ? Remove : unstaged ? Add : undefined; + const action: Actionable | undefined = conflicted + ? 'conflicted' + : staged + ? 'staged' + : untracked || unstaged + ? 'unstaged' + : undefined; + // #da6473 => red, #61aeee => blue, #d19a66 => orange, #50c878 => green + const color = conflicted + ? '#da6473' + : staged + ? '#61aeee' + : untracked + ? '#50c878' + : unstaged + ? '#d19a66' + : undefined; + return { actionable: action, color: color, icon: icon }; + } + return { actionable: undefined, color: undefined, icon: undefined }; +}; + +export const useBranchMotif = (branch: Branch | undefined): useMotifHook => { + if (isDefined(branch)) { + // #da6473 => red, #61aeee => blue + const color = branch.status === 'unmerged' ? '#da6473' : branch.linked ? '#61aeee' : undefined; + return { actionable: undefined, color: color, icon: undefined }; + } + return { actionable: undefined, color: undefined, icon: undefined }; +}; diff --git a/src/renderer/src/containers/hooks/usePrevious.ts b/src/renderer/src/containers/hooks/usePrevious.ts new file mode 100644 index 000000000..eae0519fc --- /dev/null +++ b/src/renderer/src/containers/hooks/usePrevious.ts @@ -0,0 +1,19 @@ +// copied from: https://usehooks.com/usePrevious/ +import { useEffect, useRef } from 'react'; + +/** + * Custom React Hook for maintaining the previous value of props or state. + * @param value The prop or state value to maintain in a `useRef` instance. + * @returns {object | undefined} The previous value of the props or state. + */ +const usePrevious = (value: T): T | undefined => { + const ref = useRef(); + + useEffect(() => { + ref.current = value; + }, [value]); + + return ref.current; +} + +export default usePrevious; \ No newline at end of file diff --git a/src/renderer/src/containers/hooks/useToggle.ts b/src/renderer/src/containers/hooks/useToggle.ts new file mode 100644 index 000000000..9edbf1545 --- /dev/null +++ b/src/renderer/src/containers/hooks/useToggle.ts @@ -0,0 +1,26 @@ +// copied from: https://usehooks.com/usetoggle, modified with TypeScript types as needed +import { useCallback, useState } from 'react'; + +/** + * Custom React Hook to toggle a boolean value. This hook takes a boolean parameter and toggles + * that value to the opposite. The toggle function that is returned can be used to toggle between + * states, or directly set by providing a boolean value. + * @param initialValue An initial state consisting of a boolean value. + * @returns {[boolean, (value: boolean | undefined) => void]} A tuple containing the current + * boolean state, and a function for toggling that state. + */ +const useToggle = ( + initialValue: boolean | (() => boolean) +): [boolean, (value?: boolean | undefined) => void] => { + const [on, setOn] = useState(initialValue); + + const handleToggle = useCallback((value: boolean | undefined) => { + if (value !== undefined) return setOn(value); + + return setOn(v => !v); + }, []); + + return [on, handleToggle]; +}; + +export default useToggle; diff --git a/src/renderer/src/containers/hooks/useWatcher.ts b/src/renderer/src/containers/hooks/useWatcher.ts new file mode 100644 index 000000000..d28e62dc8 --- /dev/null +++ b/src/renderer/src/containers/hooks/useWatcher.ts @@ -0,0 +1,64 @@ +import { useEffect, useRef } from 'react'; +import { PathLike } from 'fs-extra'; +import { FSWatcher, WatchOptions, watch } from 'chokidar'; + +export type WatchEventType = + | 'add' + | 'addDir' + | 'change' + | 'unlink' + | 'unlinkDir' + | 'ready' + | 'raw' + | 'error'; +export type WatchListener = (event: WatchEventType, filename: T) => void; + +/** + * Custom React Hook for monitoring filesystem objects (files and directories) and triggering an + * event callback function when changes are detected. If a filepath is undefined, as in the case of + * virtual metafiles, then this hook becomes a no-op and will skip opening any FS watchers; + * similarly if the event handler is undefined. This hook initializes FS watchers upon + * initialization, and will close all watchers based on the context closure of the calling + * component. + * @param filepath The relative or absolute path to a file or directory (recursively includes all + * subdirectories + * and files) that should be watched for changes. + * @param eventHandler The event callback function that should be called on all detected change + * events. + * @param options Additional watcher options; see https://github.com/paulmillr/chokidar#api. + */ +const useWatcher = ( + filepath: PathLike | undefined, + eventHandler: WatchListener | undefined, + options?: WatchOptions +): void => { + // create a ref that caches the handler callback, and a ref to prevent race conditions on async requests + const savedHandler = useRef>(); + const active = useRef(true); + const watcher = useRef(); + + useEffect(() => { + const registerWatcher = async () => { + // update saved handler, if necessary + if (eventHandler && savedHandler.current !== eventHandler) { + savedHandler.current = eventHandler; + } + // if filepath is undefined, then a virtual metafile is calling and no watcher is needed + // if eventHandler is undefined, then no watcher is needed + if (active.current && savedHandler.current && filepath !== undefined) { + // create watcher for file or directory (and all subdirectories) + watcher.current = watch(filepath.toString(), { ...options, ignoreInitial: true }); + watcher.current.on('all', savedHandler.current); + } + }; + registerWatcher(); + // remove all watchers on cleanup; called just before component unmount + return () => { + active.current = false; + if (filepath !== undefined && watcher.current) watcher.current.close(); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); +}; + +export default useWatcher; diff --git a/src/renderer/src/env.d.ts b/src/renderer/src/env.d.ts index 11f02fe2a..fe15b4fae 100644 --- a/src/renderer/src/env.d.ts +++ b/src/renderer/src/env.d.ts @@ -1 +1,3 @@ /// + +declare const APP_VERSION: string; diff --git a/src/renderer/src/store/listenerMiddleware.ts b/src/renderer/src/store/listenerMiddleware.ts new file mode 100644 index 000000000..3e7f9d313 --- /dev/null +++ b/src/renderer/src/store/listenerMiddleware.ts @@ -0,0 +1,143 @@ +import { + TypedAddListener, + TypedStartListening, + addListener, + createListenerMiddleware, + isAnyOf, + isFulfilled, + isRejected +} from '@reduxjs/toolkit'; +import { DateTime } from 'luxon'; +import metafileSelectors from './selectors/metafiles'; +import { cardUpdated } from './slices/cards'; +import { isDirectoryMetafile, isFilebasedMetafile } from './slices/metafiles'; +import { AppDispatch, RootState } from './store'; +import { createCard } from './thunks/cards'; +import { + createMetafile, + fetchParentMetafile, + saveFile, + switchBranch, + updateDirectoryMetafile, + updateFileMetafile, + updateFilebasedMetafile, + updateVersionedMetafile +} from './thunks/metafiles'; + +const partition = window.api.utils.partition; + +export const listenerMiddleware = createListenerMiddleware(); +export type AppStartListening = TypedStartListening; +export const startAppListening = listenerMiddleware.startListening as AppStartListening; +export const addAppListener = addListener as TypedAddListener; + +/** + * Listen for rejected actions and log relevant information in the console. + */ +startAppListening({ + matcher: isRejected, + effect: action => { + console.groupCollapsed( + `%c${action.type} : ${DateTime.local().toHTTP()}`, + 'background: lightcoral; color: #444; padding: 3px; border-radius: 5px;' + ); + console.log(`meta: `, action.meta); + console.log(`payload: `, action.payload); + console.log(action.error); + console.groupEnd(); + } +}); + +/** + * Listen for successful file save actions and update any parent metafiles (filebased and versioned). + */ +startAppListening({ + actionCreator: saveFile.fulfilled, + effect: async (action, listenerApi) => { + const metafile = metafileSelectors.selectById(listenerApi.getState(), action.meta.arg.id); + const parent = isFilebasedMetafile(metafile) + ? await listenerApi.dispatch(fetchParentMetafile(metafile)).unwrap() + : undefined; + if (parent) await listenerApi.dispatch(updateVersionedMetafile(parent.id)); + } +}); + +/** + * Listen for successful card build actions and update additional metafile fields (filebased and + * versioned). This listener handles updating descendants instead of offloading that task to a + * listener for {@link createMetafile} events, since that event has the potential to lead to + * excessively recursive calls to {@link updateFilebasedMetafile} and {@link updateVersionedMetafile} + * for all descendants. Instead, this listener only updates direct children and delays updates to + * deeper descendants until necessary (i.e. during directory expansion in `Explorer` cards). + */ +startAppListening({ + matcher: isAnyOf(createCard.fulfilled, switchBranch.fulfilled), + effect: async (action, listenerApi) => { + const card = isFulfilled(createCard)(action) + ? listenerApi.getState().cards.entities[action.payload] + : undefined; + + const metafile = isFulfilled(switchBranch)(action) + ? action.payload + ? listenerApi.getState().metafiles.entities[action.payload.id] + : undefined + : isFulfilled(createCard)(action) && card + ? listenerApi.getState().metafiles.entities[card.metafile] + : undefined; + + if (isFilebasedMetafile(metafile)) { + // update filebased fields + const updateFilebasedTask = listenerApi.fork(async () => { + const updated = await listenerApi.dispatch(updateFilebasedMetafile(metafile)).unwrap(); + const descendants = isDirectoryMetafile(updated) + ? metafileSelectors + .selectByIds(listenerApi.getState(), updated.contains) + .filter(isFilebasedMetafile) + : []; + + let progress = 0; + const total = descendants.length + 1; // include the `updateVersionedMetafile` dispatch + if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: 0 })); + const [directories, files] = partition( + descendants, + descendant => descendant.filetype === 'Directory' + ); + + await Promise.allSettled( + directories.map( + async desc => + await listenerApi.dispatch(updateDirectoryMetafile({ id: desc.id })).then(() => { + progress += 1; + if (card) + listenerApi.dispatch( + cardUpdated({ ...card, loading: Math.floor((progress / total) * 100) }) + ); + }) + ) + ); + + await Promise.allSettled( + files.map( + async desc => + await listenerApi.dispatch(updateFileMetafile(desc.id)).then(() => { + progress += 1; + if (card) + listenerApi.dispatch( + cardUpdated({ ...card, loading: Math.floor((progress / total) * 100) }) + ); + }) + ) + ); + + await listenerApi.dispatch(updateVersionedMetafile(metafile.id)); + if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: 100 })); + return `directories: ${directories.length}, files: ${files.length}`; + }); + + console.log(`executing tasks...`); + const result = await updateFilebasedTask.result; + console.log(`Child ${result.status}: ${result.status === 'ok' ? result.value : ''}`); + if (card) listenerApi.dispatch(cardUpdated({ ...card, loading: undefined })); + } + } +}); diff --git a/src/renderer/src/store/store.ts b/src/renderer/src/store/store.ts index f9b819b74..02aa23a17 100644 --- a/src/renderer/src/store/store.ts +++ b/src/renderer/src/store/store.ts @@ -7,6 +7,7 @@ import metafilesReducer from './slices/metafiles'; import modalsReducer from './slices/modals'; import reposReducer from './slices/repos'; import stacksReducer from './slices/stacks'; +import { listenerMiddleware } from './listenerMiddleware'; export const rootReducer = combineReducers({ branches: branchesReducer, @@ -21,8 +22,8 @@ export const rootReducer = combineReducers({ const store = configureStore({ reducer: rootReducer, - devTools: true - // middleware: getDefaultMiddleware => getDefaultMiddleware().concat([listenerMiddleware.middleware]) + devTools: true, + middleware: getDefaultMiddleware => getDefaultMiddleware().concat([listenerMiddleware.middleware]) }); export type RootState = ReturnType; From a7f676605ea6684d7a0c56a10863135bc528830f Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:07:50 -0700 Subject: [PATCH 07/21] Initial configs for MacOS 14 secure coding requirements --- conveyor.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conveyor.conf b/conveyor.conf index 89088e76b..6a6b0f15d 100644 --- a/conveyor.conf +++ b/conveyor.conf @@ -32,6 +32,10 @@ app { // To try it out just delete this line. For more info see https://conveyor.hydraulic.dev/latest/configs/#icons icons = icons/icon.svg + // MacOS 14 includes a secure coding feature called Restorable State, see: + // https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Restorable-State + mac.info-plist.NSApplicationDelegate.applicationSupportsSecureRestorableState = true + // For iteration speed. Remove for release. compression-level = low } From a9fdb408b2938e6b19b905460b4b784716041ede Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:08:43 -0700 Subject: [PATCH 08/21] Always open DevTools in development mode --- src/main/index.ts | 5 +++++ tsconfig.node.json | 1 + 2 files changed, 6 insertions(+) diff --git a/src/main/index.ts b/src/main/index.ts index cd8fccd30..7d59e7b7e 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -33,6 +33,11 @@ function createWindow(): void { } else { mainWindow.loadFile(join(__dirname, '../renderer/index.html')); } + + // Open the DevTools panel in development mode. + if (import.meta.env.DEV) { + mainWindow.webContents.openDevTools(); + } } // This method will be called when Electron has finished diff --git a/tsconfig.node.json b/tsconfig.node.json index e600bfcb2..bc88e627a 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -10,5 +10,6 @@ "noEmit": true, "types": ["electron-vite/node"], "noUncheckedIndexedAccess": true, + "allowImportingTsExtensions": true } } From e13ec4c6af511d941cc140036d51aaa4ab30e015 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:09:13 -0700 Subject: [PATCH 09/21] Migrate MUI TreeView per https://mui.com/blog/lab-tree-view-to-mui-x/ --- package.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package.json b/package.json index 696312892..5ee586df6 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", + "@types/diff": "^5", "@types/fs-extra": "^11.0.2", "@types/git-config-path": "^2", "@types/ini": "^1.3.31", @@ -33,6 +34,7 @@ "@types/sha1": "^1.1.3", "@types/valid-url": "^1", "@vitejs/plugin-react": "^4.1.0", + "diff": "^5.1.0", "dot-prop": "^8.0.2", "electron": "26.2.4", "electron-vite": "^1.0.28", @@ -49,6 +51,7 @@ "semver": "^7.5.4", "sha1": "^1.1.1", "typescript": "^5.2.2", + "use-callback-ref": "^1.3.0", "valid-url": "^1.0.9", "vite": "^4.4.9" }, @@ -62,6 +65,8 @@ "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.11", "@mui/material": "^5.14.11", + "@mui/system": "^5.14.11", + "@mui/x-tree-view": "^6.0.0-beta.0", "@reduxjs/toolkit": "^1.9.6", "find-up": "^6.3.0", "git-config-path": "^2.0.0", @@ -69,6 +74,7 @@ "parse-path": "^7.0.0", "parse-url": "^8.1.0", "re-reselect": "^4.0.1", + "react-ace": "^10.1.0", "react-error-boundary": "^4.0.11", "react-redux": "^8.1.2", "reselect": "^4.1.8" From aef422398e3283223a3bcbd06997388b3f1ce2c3 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:09:45 -0700 Subject: [PATCH 10/21] Externalize ESM-only packages in Vite config --- electron.vite.config.ts | 14 ++++- src/preload/git/git-path.ts | 9 +-- yarn.lock | 107 +++++++++++++++++++++++++++++++++++- 3 files changed, 119 insertions(+), 11 deletions(-) diff --git a/electron.vite.config.ts b/electron.vite.config.ts index b91418b06..d8d028a43 100644 --- a/electron.vite.config.ts +++ b/electron.vite.config.ts @@ -10,9 +10,16 @@ export default defineConfig({ } }, preload: { - plugins: [externalizeDepsPlugin()], + plugins: [externalizeDepsPlugin({ exclude: ['find-up'] })], build: { - outDir: 'out/preload' + outDir: 'out/preload', + rollupOptions: { + output: { + manualChunks(id) { + return id.includes('find-up') ? 'find-up' : undefined; + } + } + } } }, renderer: { @@ -24,6 +31,9 @@ export default defineConfig({ plugins: [react()], build: { outDir: 'out/renderer' + }, + define: { + APP_VERSION: JSON.stringify(process.env.npm_package_version) } } }); diff --git a/src/preload/git/git-path.ts b/src/preload/git/git-path.ts index 12d0ef6af..153e2b319 100644 --- a/src/preload/git/git-path.ts +++ b/src/preload/git/git-path.ts @@ -1,9 +1,9 @@ +import { Match, findUp } from 'find-up'; import { pathExists } from 'fs-extra'; import { dirname, join, normalize, parse, relative } from 'path'; import type { PathLike } from 'types/app'; import { extractStats, isDirectory, readDirAsync, readFileAsync } from '../io'; import { showBranch } from './git-show-branch'; -import type { Match } from 'find-up'; export type WorktreePaths = { /** @@ -52,9 +52,7 @@ export const getMatchUp = async ( filepath: PathLike, matcher: (directory: string) => boolean | Promise ): Promise => { - return await ( - await import('find-up') - ).findUp( + return await findUp( async directory => { return (await matcher(directory)) ? directory : undefined; }, @@ -86,8 +84,7 @@ export const getRoot = async (filepath: PathLike): Promise return (await pathExists(targetPath)) ? directory : undefined; }; - const findUp = await import('find-up'); - const dir = await findUp.findUp(matcher, { cwd: filepath.toString(), type: 'directory' }); + const dir = await findUp(matcher, { cwd: filepath.toString(), type: 'directory' }); if (!dir) return undefined; const parsed = parse(filepath.toString()); // does not output relative root for relative filepaths diff --git a/yarn.lock b/yarn.lock index b548a17a7..33bcb8328 100644 --- a/yarn.lock +++ b/yarn.lock @@ -791,7 +791,7 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.17": +"@mui/base@npm:5.0.0-beta.17, @mui/base@npm:^5.0.0-beta.14": version: 5.0.0-beta.17 resolution: "@mui/base@npm:5.0.0-beta.17" dependencies: @@ -947,7 +947,7 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.14.11": +"@mui/utils@npm:^5.14.11, @mui/utils@npm:^5.14.8": version: 5.14.11 resolution: "@mui/utils@npm:5.14.11" dependencies: @@ -965,6 +965,28 @@ __metadata: languageName: node linkType: hard +"@mui/x-tree-view@npm:^6.0.0-beta.0": + version: 6.0.0-beta.0 + resolution: "@mui/x-tree-view@npm:6.0.0-beta.0" + dependencies: + "@babel/runtime": ^7.22.15 + "@mui/base": ^5.0.0-beta.14 + "@mui/utils": ^5.14.8 + "@types/react-transition-group": ^4.4.6 + clsx: ^2.0.0 + prop-types: ^15.8.1 + react-transition-group: ^4.4.5 + peerDependencies: + "@emotion/react": ^11.9.0 + "@emotion/styled": ^11.8.1 + "@mui/material": ^5.8.6 + "@mui/system": ^5.8.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + checksum: 6cb5148dc8d0a1262e1b9cdf0368dfd318a3ceea132e7309597fd5d3f7ef3faf92831a757d5c7fa9eb69b37a815e3e70c3a9e6ed06083afcde3280790bd113c2 + languageName: node + linkType: hard + "@npmcli/fs@npm:^3.1.0": version: 3.1.0 resolution: "@npmcli/fs@npm:3.1.0" @@ -1084,6 +1106,13 @@ __metadata: languageName: node linkType: hard +"@types/diff@npm:^5": + version: 5.0.5 + resolution: "@types/diff@npm:5.0.5" + checksum: 5f093341d5488cd33079400d4b2ff463dfd4f589bf0a54fbb25f7c87a7bdc16bd1e6125f252c081fa9a3ad44fc78b156c0a5f38bd8128edceb40ba084e051885 + languageName: node + linkType: hard + "@types/fs-extra@npm:^11.0.2": version: 11.0.2 resolution: "@types/fs-extra@npm:11.0.2" @@ -1305,6 +1334,13 @@ __metadata: languageName: node linkType: hard +"ace-builds@npm:^1.4.14": + version: 1.28.0 + resolution: "ace-builds@npm:1.28.0" + checksum: 908bf9b833622355252833614d392ad62ed683fe6d3a31cf6bfc34d9fc4d29df123af75c3851a7c1f7ce1797a5753f34ca3596a77181c8e8623fa15d747379a5 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -1736,6 +1772,20 @@ __metadata: languageName: node linkType: hard +"diff-match-patch@npm:^1.0.5": + version: 1.0.5 + resolution: "diff-match-patch@npm:1.0.5" + checksum: 841522d01b09cccbc4e4402cf61514a81b906349a7d97b67222390f2d35cf5df277cb23959eeed212d5e46afb5629cebab41b87918672c5a05c11c73688630e3 + languageName: node + linkType: hard + +"diff@npm:^5.1.0": + version: 5.1.0 + resolution: "diff@npm:5.1.0" + checksum: c7bf0df7c9bfbe1cf8a678fd1b2137c4fb11be117a67bc18a0e03ae75105e8533dbfb1cda6b46beb3586ef5aed22143ef9d70713977d5fb1f9114e21455fba90 + languageName: node + linkType: hard + "dom-helpers@npm:^5.0.1": version: 5.2.1 resolution: "dom-helpers@npm:5.2.1" @@ -2582,6 +2632,20 @@ __metadata: languageName: node linkType: hard +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 + languageName: node + linkType: hard + +"lodash.isequal@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.isequal@npm:4.5.0" + checksum: da27515dc5230eb1140ba65ff8de3613649620e8656b19a6270afe4866b7bd461d9ba2ac8a48dcc57f7adac4ee80e1de9f965d89d4d81a0ad52bb3eec2609644 + languageName: node + linkType: hard + "loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -3102,7 +3166,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.6.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -3146,6 +3210,22 @@ __metadata: languageName: node linkType: hard +"react-ace@npm:^10.1.0": + version: 10.1.0 + resolution: "react-ace@npm:10.1.0" + dependencies: + ace-builds: ^1.4.14 + diff-match-patch: ^1.0.5 + lodash.get: ^4.4.2 + lodash.isequal: ^4.5.0 + prop-types: ^15.7.2 + peerDependencies: + react: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^0.13.0 || ^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0 + checksum: 8fc67e02f911dcc31cf474df97c06f2ba5b5f402d9ed425895e479e2daddf4894a2cd0e81744b37b7f2b07109cfe4470fc5ebeed305d648c596e3442142e4823 + languageName: node + linkType: hard + "react-dom@npm:^18.2.0": version: 18.2.0 resolution: "react-dom@npm:18.2.0" @@ -3654,7 +3734,10 @@ __metadata: "@emotion/styled": ^11.11.0 "@mui/icons-material": ^5.14.11 "@mui/material": ^5.14.11 + "@mui/system": ^5.14.11 + "@mui/x-tree-view": ^6.0.0-beta.0 "@reduxjs/toolkit": ^1.9.6 + "@types/diff": ^5 "@types/fs-extra": ^11.0.2 "@types/git-config-path": ^2 "@types/ini": ^1.3.31 @@ -3669,6 +3752,7 @@ __metadata: "@types/sha1": ^1.1.3 "@types/valid-url": ^1 "@vitejs/plugin-react": ^4.1.0 + diff: ^5.1.0 dot-prop: ^8.0.2 electron: 26.2.4 electron-vite: ^1.0.28 @@ -3686,6 +3770,7 @@ __metadata: prettier: ^3.0.3 re-reselect: ^4.0.1 react: ^18.2.0 + react-ace: ^10.1.0 react-dom: ^18.2.0 react-error-boundary: ^4.0.11 react-redux: ^8.1.2 @@ -3694,6 +3779,7 @@ __metadata: semver: ^7.5.4 sha1: ^1.1.1 typescript: ^5.2.2 + use-callback-ref: ^1.3.0 valid-url: ^1.0.9 vite: ^4.4.9 languageName: unknown @@ -3807,6 +3893,21 @@ __metadata: languageName: node linkType: hard +"use-callback-ref@npm:^1.3.0": + version: 1.3.0 + resolution: "use-callback-ref@npm:1.3.0" + dependencies: + tslib: ^2.0.0 + peerDependencies: + "@types/react": ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 7913df383a5a6fcb399212eedefaac2e0c6f843555202d4e3010bac3848afe38ecaa3d0d6500ad1d936fbeffd637e6c517e68edb024af5e6beca7f27f3ce7b21 + languageName: node + linkType: hard + "use-sync-external-store@npm:^1.0.0": version: 1.2.0 resolution: "use-sync-external-store@npm:1.2.0" From f883ea897b177b3be44594d0ac137c896fc78bf3 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 10:19:50 -0700 Subject: [PATCH 11/21] Prettier formatting --- src/preload/io/io-exec.ts | 2 +- src/preload/io/io-readFile.ts | 65 +++--- src/renderer/src/components/Diff/index.tsx | 2 +- src/renderer/src/components/Editor/index.tsx | 2 +- .../src/components/Explorer/index.tsx | 2 +- src/renderer/src/components/Modal/index.tsx | 2 +- src/renderer/src/containers/diff.ts | 6 +- .../src/containers/hooks/useHistory.ts | 187 +++++++++--------- .../src/containers/hooks/useImperativeRef.ts | 14 +- .../src/containers/hooks/usePrevious.ts | 14 +- 10 files changed, 145 insertions(+), 151 deletions(-) diff --git a/src/preload/io/io-exec.ts b/src/preload/io/io-exec.ts index 6091632aa..9dee11b9a 100644 --- a/src/preload/io/io-exec.ts +++ b/src/preload/io/io-exec.ts @@ -83,4 +83,4 @@ const isWrappedQuote = (maybeQuote: string): boolean => { (maybeQuote.startsWith(`'`) && maybeQuote.endsWith(`'`)) || (maybeQuote.startsWith(`"`) && maybeQuote.endsWith(`"`)) ); -}; \ No newline at end of file +}; diff --git a/src/preload/io/io-readFile.ts b/src/preload/io/io-readFile.ts index bffeebf49..9467b22e3 100644 --- a/src/preload/io/io-readFile.ts +++ b/src/preload/io/io-readFile.ts @@ -2,38 +2,6 @@ import * as fs from 'fs-extra'; import * as path from 'path'; import type { NodeEncoding } from './io'; -// TODO: Temporary solution to avoid `prettier-plugin-jsdoc` bug: https://github.com/hosseinmd/prettier-plugin-jsdoc/issues/205 - -/** - * | encoding | description | - * | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | - * | `"ascii"` | ASCII (also ISO-IR-006) is a character encoding standard used as the base for most modern character-encoding schemes, typical defaults to US-ASCII variant. | - * | `"base64"` | Base64 is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-64 representation. | - * | `"hex"` | Hexidecimal (base16) is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-16 representation. | - * | `"ucs-2"` | UCS-2 (also ISO-10646) is a 2-byte character set for encoding Unicode characters under the Universal Character Set standard. Superseded by UTF-8 and UTF-16. | - * | `"utf-16le"` | UTF-16 (also ISO-10646) is a variable-length (either one or tow 16-bit code units) for representing any Unicode character. | - * | `"utf-8"` | UTF-8 (also ISO-10646) can represent any character in the Unicode standard using 1 to 4 bytes (8-bit) code units. UTF-8 is backwards compatible with ASCII. | - * | `"binary"`/`"latin1"` | Latin-1 (also ISO-8859-1) is an 8-bit character set representing Western European languages. | - */ - -/** - * | flags | description | - * | ------- | -------------------------------------------------------------------------------------------------------------- | - * | `"a"` | Open file for appending. The file is created if it does not exist. | - * | `"ax"` | Like `"a"` but fails if the path exists. | - * | `"a+"` | Open file for reading and appending. The file is created if it does not exist. | - * | `"ax+"` | Like `"a+"` but fails if the path exists. | - * | `"as"` | Open file for appending in synchronous mode. The file is created if it does not exist. | - * | `"as+"` | Open file for reading and appending in synchronous mode. The file is created if it does not exist. | - * | `"r"` | Open file for reading. An exception occurs if the file does not exist. | - * | `"r+"` | Open file for reading and writing. An exception occurs if the file does not exist. | - * | `"rs+"` | Open file for reading and writing in synchronous mode. Instructs the OS to bypass the local file system cache. | - * | `"w"` | Open file for writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx"` | Like `"w"` but fails if the path exists. | - * | `"w+"` | Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). | - * | `"wx+"` | Like `"w+"` but fails if the path exists. | - */ - export function readFileAsync( filepath: fs.PathLike, options: { flag: string } | { encoding: NodeEncoding; flag?: string } @@ -41,13 +9,38 @@ export function readFileAsync( export function readFileAsync(filepath: fs.PathLike): Promise; /** * Asynchronously read file contents into a Buffer or string. - * * @param filepath A valid filename or path to read from. * @param options Options object for setting either file encoding (default: `null`) or file system - * flags (default: `"r"`). The possible option values are: 2@^5!~#sdE!_TABLE + * flags (default: `"r"`). The possible option values are: + * + * | encoding | description | + * | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | + * | `"ascii"` | ASCII (also ISO-IR-006) is a character encoding standard used as the base for most modern character-encoding schemes, typical defaults to US-ASCII variant. | + * | `"base64"` | Base64 is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-64 representation. | + * | `"hex"` | Hexidecimal (base16) is a binary-to-text coding scheme that represents data in an ASCII string format by translating into a radix-16 representation. | + * | `"ucs-2"` | UCS-2 (also ISO-10646) is a 2-byte character set for encoding Unicode characters under the Universal Character Set standard. Superseded by UTF-8 and UTF-16. | + * | `"utf-16le"` | UTF-16 (also ISO-10646) is a variable-length (either one or tow 16-bit code units) for representing any Unicode character. | + * | `"utf-8"` | UTF-8 (also ISO-10646) can represent any character in the Unicode standard using 1 to 4 bytes (8-bit) code units. UTF-8 is backwards compatible with ASCII. | + * | `"binary"`/`"latin1"` | Latin-1 (also ISO-8859-1) is an 8-bit character set representing Western European languages. | + * + * | flags | description | + * | ------- | -------------------------------------------------------------------------------------------------------------------------- | + * | `"a"` | Open file for appending. The file is created if it does not exist. | + * | `"ax"` | Like `"a"` but fails if the path exists. | + * | `"a+"` | Open file for reading and appending. The file is created if it does not exist. | + * | `"ax+"` | Like `"a+"` but fails if the path exists. | + * | `"as"` | Open file for appending in synchronous mode. The file is created if it does not exist. | + * | `"as+"` | Open file for reading and appending in synchronous mode. The file is created if it does not exist. | + * | `"r"` | Open file for reading. An exception occurs if the file does not exist. | + * | `"r+"` | Open file for reading and writing. An exception occurs if the file does not exist. | + * | `"rs+"` | Open file for reading and writing in synchronous mode. Instructs the OS to bypass the local file system cache. | + * | `"w"` | Open file for writing. The file is created (if it does not exist) or truncated (if it exists). | + * | `"wx"` | Like `"w"` but fails if the path exists. | + * | `"w+"` | Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists). | + * | `"wx+"` | Like `"w+"` but fails if the path exists. | * @returns {Promise} A Promise object containing a Buffer, if no flag or encoding was - * provided, or a string of the file contents. Throws ENOENT error on non-existent filepath, and - * EISDIR error on a filepath pointing to a directory. + * provided, or a string of the file contents. Throws ENOENT error on non-existent filepath, and + * EISDIR error on a filepath pointing to a directory. */ export function readFileAsync( filepath: fs.PathLike, diff --git a/src/renderer/src/components/Diff/index.tsx b/src/renderer/src/components/Diff/index.tsx index 75db57e2d..b97bcba10 100644 --- a/src/renderer/src/components/Diff/index.tsx +++ b/src/renderer/src/components/Diff/index.tsx @@ -1 +1 @@ -export { default } from './Diff'; \ No newline at end of file +export { default } from './Diff'; diff --git a/src/renderer/src/components/Editor/index.tsx b/src/renderer/src/components/Editor/index.tsx index 6549ffbde..e7967e758 100644 --- a/src/renderer/src/components/Editor/index.tsx +++ b/src/renderer/src/components/Editor/index.tsx @@ -1 +1 @@ -export { default } from './Editor'; \ No newline at end of file +export { default } from './Editor'; diff --git a/src/renderer/src/components/Explorer/index.tsx b/src/renderer/src/components/Explorer/index.tsx index 847b6f617..fe2b54583 100644 --- a/src/renderer/src/components/Explorer/index.tsx +++ b/src/renderer/src/components/Explorer/index.tsx @@ -1 +1 @@ -export { default } from './Explorer'; \ No newline at end of file +export { default } from './Explorer'; diff --git a/src/renderer/src/components/Modal/index.tsx b/src/renderer/src/components/Modal/index.tsx index 809b4feea..8c2dea5bc 100644 --- a/src/renderer/src/components/Modal/index.tsx +++ b/src/renderer/src/components/Modal/index.tsx @@ -1 +1 @@ -export { default } from './ModalComponent'; \ No newline at end of file +export { default } from './ModalComponent'; diff --git a/src/renderer/src/containers/diff.ts b/src/renderer/src/containers/diff.ts index 70b6b4105..8ebf8159e 100644 --- a/src/renderer/src/containers/diff.ts +++ b/src/renderer/src/containers/diff.ts @@ -1,9 +1,9 @@ import { diffLines } from 'diff'; /** - * Diffs two blocks of text, comparing line by line, based on the algorithm proposed + * Diffs two blocks of text, comparing line by line, based on the algorithm proposed * in "An O(ND) Difference Algorithm and its Variations" (Myers, 1986). Results are formatted - * according to the unified diff patch used in the Git protocol, where +/- indicate lines + * according to the unified diff patch used in the Git protocol, where +/- indicate lines * added or removed in order to transform from original to updated. * @param original The base version of code or text to evaluate. * @param updated The updated version of code or text to compare against original. @@ -25,4 +25,4 @@ export const diff = (original: string, updated: string): string => { }); return readableDiff; -} \ No newline at end of file +}; diff --git a/src/renderer/src/containers/hooks/useHistory.ts b/src/renderer/src/containers/hooks/useHistory.ts index 06f52d946..c9e0052e8 100644 --- a/src/renderer/src/containers/hooks/useHistory.ts +++ b/src/renderer/src/containers/hooks/useHistory.ts @@ -1,110 +1,111 @@ import { useCallback, useReducer } from 'react'; type HistoryState = { - /** Array of previous URLs updated each time a new URL is visited. */ - past: URL[]; - /** Current URL. */ - present: URL; - /** Array of "future" URLs if we go back (so that we can go forward). */ - future: URL[]; + /** Array of previous URLs updated each time a new URL is visited. */ + past: URL[]; + /** Current URL. */ + present: URL; + /** Array of "future" URLs if we go back (so that we can go forward). */ + future: URL[]; }; -type HistoryAction = { - type: 'GO', - newPresent: URL -} | { - type: 'CLEAR', - initialPresent: URL -} | { - type: 'BACK' | 'FORWARD' -} +type HistoryAction = + | { + type: 'GO'; + newPresent: URL; + } + | { + type: 'CLEAR'; + initialPresent: URL; + } + | { + type: 'BACK' | 'FORWARD'; + }; // Initial state passed to useReducer const initialState = { - past: [], - present: null, - future: [], + past: [], + present: null, + future: [] }; // Reducer function to handle state changes based on action const reducer = (state: HistoryState, action: HistoryAction) => { - const { past, present, future } = state; - - switch (action.type) { - case 'BACK': { - const previous = past[past.length - 1] as URL; - const newPast = past.slice(0, past.length - 1); - - return { - past: newPast, - present: previous, - future: [present, ...future], - }; - } - case 'FORWARD': { - const next = future[0] as URL; - const newFuture = future.slice(1); - - return { - past: [...past, present], - present: next, - future: newFuture, - }; - } - case 'GO': { - const { newPresent } = action; - - if (newPresent === present) { - return state; - } - return { - past: [...past, present], - present: newPresent, - future: [], - }; - } - case 'CLEAR': { - const { initialPresent } = action; - - return { - ...initialState, - present: initialPresent, - }; - } + const { past, present, future } = state; + + switch (action.type) { + case 'BACK': { + const previous = past[past.length - 1] as URL; + const newPast = past.slice(0, past.length - 1); + + return { + past: newPast, + present: previous, + future: [present, ...future] + }; + } + case 'FORWARD': { + const next = future[0] as URL; + const newFuture = future.slice(1); + + return { + past: [...past, present], + present: next, + future: newFuture + }; + } + case 'GO': { + const { newPresent } = action; + + if (newPresent === present) { + return state; + } + return { + past: [...past, present], + present: newPresent, + future: [] + }; } + case 'CLEAR': { + const { initialPresent } = action; + + return { + ...initialState, + present: initialPresent + }; + } + } }; // Hook export const useHistory = (initialPresent: URL) => { - const [state, dispatch] = useReducer(reducer, { - ...initialState, - present: initialPresent, - }); - - const canGoBack = state.past.length !== 0; - const canGoForward = state.future.length !== 0; - - // All actions are memoized with useCallback to prevent unnecessary re-renders - const goBack = useCallback(() => { - if (canGoBack) { - dispatch({ type: 'BACK' }); - } - }, [canGoBack, dispatch]); - - const goForward = useCallback(() => { - if (canGoForward) { - dispatch({ type: 'FORWARD' }); - } - }, [canGoForward, dispatch]); - - const set = useCallback( - (newPresent: URL) => dispatch({ type: 'GO', newPresent }), - [dispatch] - ); - - const clear = useCallback(() => dispatch({ type: 'CLEAR', initialPresent }), - [dispatch, initialPresent] - ); - - return { state, set, goBack, goForward, clear, canGoBack, canGoForward }; -}; \ No newline at end of file + const [state, dispatch] = useReducer(reducer, { + ...initialState, + present: initialPresent + }); + + const canGoBack = state.past.length !== 0; + const canGoForward = state.future.length !== 0; + + // All actions are memoized with useCallback to prevent unnecessary re-renders + const goBack = useCallback(() => { + if (canGoBack) { + dispatch({ type: 'BACK' }); + } + }, [canGoBack, dispatch]); + + const goForward = useCallback(() => { + if (canGoForward) { + dispatch({ type: 'FORWARD' }); + } + }, [canGoForward, dispatch]); + + const set = useCallback((newPresent: URL) => dispatch({ type: 'GO', newPresent }), [dispatch]); + + const clear = useCallback( + () => dispatch({ type: 'CLEAR', initialPresent }), + [dispatch, initialPresent] + ); + + return { state, set, goBack, goForward, clear, canGoBack, canGoForward }; +}; diff --git a/src/renderer/src/containers/hooks/useImperativeRef.ts b/src/renderer/src/containers/hooks/useImperativeRef.ts index 85b37839a..a35f1203b 100644 --- a/src/renderer/src/containers/hooks/useImperativeRef.ts +++ b/src/renderer/src/containers/hooks/useImperativeRef.ts @@ -1,10 +1,10 @@ import { useCallback, useState } from 'react'; -export const useImperativeRef = () => { - const [refState, setRefState] = useState(); - const ref = useCallback((n: T | null) => { - if (n) setRefState(n); - }, []); +export const useImperativeRef = () => { + const [refState, setRefState] = useState(); + const ref = useCallback((n: T | null) => { + if (n) setRefState(n); + }, []); - return [refState, ref] as const; -} \ No newline at end of file + return [refState, ref] as const; +}; diff --git a/src/renderer/src/containers/hooks/usePrevious.ts b/src/renderer/src/containers/hooks/usePrevious.ts index eae0519fc..a3e5828cd 100644 --- a/src/renderer/src/containers/hooks/usePrevious.ts +++ b/src/renderer/src/containers/hooks/usePrevious.ts @@ -7,13 +7,13 @@ import { useEffect, useRef } from 'react'; * @returns {object | undefined} The previous value of the props or state. */ const usePrevious = (value: T): T | undefined => { - const ref = useRef(); + const ref = useRef(); - useEffect(() => { - ref.current = value; - }, [value]); + useEffect(() => { + ref.current = value; + }, [value]); - return ref.current; -} + return ref.current; +}; -export default usePrevious; \ No newline at end of file +export default usePrevious; From 2587625714320716485d1acb4289cd468ee4fef2 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Fri, 6 Oct 2023 11:26:18 -0700 Subject: [PATCH 12/21] chore: update dependencies --- package.json | 32 +++---- yarn.lock | 247 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 178 insertions(+), 101 deletions(-) diff --git a/package.json b/package.json index 5ee586df6..f8797874e 100644 --- a/package.json +++ b/package.json @@ -19,24 +19,24 @@ }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", - "@types/diff": "^5", + "@types/diff": "^5.0.5", "@types/fs-extra": "^11.0.2", - "@types/git-config-path": "^2", + "@types/git-config-path": "^2.0.2", "@types/ini": "^1.3.31", "@types/luxon": "^3.3.2", - "@types/node": "^20.7.2", + "@types/node": "^20.8.2", "@types/pako": "^2.0.1", - "@types/parse-git-config": "^3", - "@types/parse-path": "^7", - "@types/react": "^18.2.23", - "@types/react-dom": "^18.2.8", - "@types/semver": "^7", + "@types/parse-git-config": "^3.0.2", + "@types/parse-path": "^7.0.1", + "@types/react": "^18.2.25", + "@types/react-dom": "^18.2.10", + "@types/semver": "^7.5.3", "@types/sha1": "^1.1.3", - "@types/valid-url": "^1", + "@types/valid-url": "^1.0.5", "@vitejs/plugin-react": "^4.1.0", "diff": "^5.1.0", "dot-prop": "^8.0.2", - "electron": "26.2.4", + "electron": "26.3.0", "electron-vite": "^1.0.28", "fs-extra": "^11.1.1", "git-remote-protocol": "^0.1.0", @@ -53,7 +53,7 @@ "typescript": "^5.2.2", "use-callback-ref": "^1.3.0", "valid-url": "^1.0.9", - "vite": "^4.4.9" + "vite": "^4.4.11" }, "dependencies": { "@dnd-kit/core": "^6.0.8", @@ -63,11 +63,11 @@ "@electron-toolkit/utils": "^2.0.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.11", - "@mui/material": "^5.14.11", - "@mui/system": "^5.14.11", + "@mui/icons-material": "^5.14.12", + "@mui/material": "^5.14.12", + "@mui/system": "^5.14.12", "@mui/x-tree-view": "^6.0.0-beta.0", - "@reduxjs/toolkit": "^1.9.6", + "@reduxjs/toolkit": "^1.9.7", "find-up": "^6.3.0", "git-config-path": "^2.0.0", "parse-git-config": "^3.0.0", @@ -76,7 +76,7 @@ "re-reselect": "^4.0.1", "react-ace": "^10.1.0", "react-error-boundary": "^4.0.11", - "react-redux": "^8.1.2", + "react-redux": "^8.1.3", "reselect": "^4.1.8" } } diff --git a/yarn.lock b/yarn.lock index 33bcb8328..b1afb9c6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -240,7 +240,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.22.15, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.22.15, @babel/runtime@npm:^7.23.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.23.1 resolution: "@babel/runtime@npm:7.23.1" dependencies: @@ -791,7 +791,29 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.17, @mui/base@npm:^5.0.0-beta.14": +"@mui/base@npm:5.0.0-beta.18": + version: 5.0.0-beta.18 + resolution: "@mui/base@npm:5.0.0-beta.18" + dependencies: + "@babel/runtime": ^7.23.1 + "@floating-ui/react-dom": ^2.0.2 + "@mui/types": ^7.2.5 + "@mui/utils": ^5.14.12 + "@popperjs/core": ^2.11.8 + clsx: ^2.0.0 + prop-types: ^15.8.1 + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 7d4ca1e9d537b7b5850567f1adecd1caa47b8613b43a587cf2f399cfda0a8c17dfda06b030c0bea554b76abe7ac25bb9b1af3c996574def5f860cda0c6ea4a3c + languageName: node + linkType: hard + +"@mui/base@npm:^5.0.0-beta.14": version: 5.0.0-beta.17 resolution: "@mui/base@npm:5.0.0-beta.17" dependencies: @@ -813,18 +835,18 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/core-downloads-tracker@npm:5.14.11" - checksum: f3e7594c93d4cf5e3649336eef2b57842c171f3deb6890c03be7eccb88d3ac276aac1ab3ad409d124d16468314018778e2dbb92a62ac34c7f44b2813c47f29fb +"@mui/core-downloads-tracker@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/core-downloads-tracker@npm:5.14.12" + checksum: 1c1576ceecf7cade9e0d7a531632f5f9db24853d9ebbd47bb9ed943a3af7de734ad4f3374bab79880e9591db3ea55ea84cc10df72177f9ca5e32cc7662e04405 languageName: node linkType: hard -"@mui/icons-material@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/icons-material@npm:5.14.11" +"@mui/icons-material@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/icons-material@npm:5.14.12" dependencies: - "@babel/runtime": ^7.22.15 + "@babel/runtime": ^7.23.1 peerDependencies: "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 @@ -832,20 +854,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 69262147025d3e9ef45219bcaf5cb38eb84b4198ddb290a17b21a0877fcb01682caaeadce3c905b36a9cf127bbf6f9469f9fc9e1d3592b12476d6e758d900e41 + checksum: 55f147242afc47c50b4761e487c1d2a114d97384f94efe915a2ec6822431c0b6f5271118f918b8511a26d5dbd8e858c8ee2cbce622057ce89e3b00b3ea9829e2 languageName: node linkType: hard -"@mui/material@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/material@npm:5.14.11" +"@mui/material@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/material@npm:5.14.12" dependencies: - "@babel/runtime": ^7.22.15 - "@mui/base": 5.0.0-beta.17 - "@mui/core-downloads-tracker": ^5.14.11 - "@mui/system": ^5.14.11 - "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.11 + "@babel/runtime": ^7.23.1 + "@mui/base": 5.0.0-beta.18 + "@mui/core-downloads-tracker": ^5.14.12 + "@mui/system": ^5.14.12 + "@mui/types": ^7.2.5 + "@mui/utils": ^5.14.12 "@types/react-transition-group": ^4.4.6 clsx: ^2.0.0 csstype: ^3.1.2 @@ -865,16 +887,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 350d642773d4b19d5b9deac956203dafe89cd005ba8cd6017d1ab0e97ba45ca230050249f34a17f0f00efe466162d47487f160159bebe3e52af1b34dd28579d0 + checksum: a0d3b52ce3cc282da04036db0805f95f27b35a9c899f132f962fe96f05d3eb112e99ccbf6bd9d05cae617b24beda95470aedaff129d6e39d1b52e1ddf80a9e12 languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/private-theming@npm:5.14.11" +"@mui/private-theming@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/private-theming@npm:5.14.12" dependencies: - "@babel/runtime": ^7.22.15 - "@mui/utils": ^5.14.11 + "@babel/runtime": ^7.23.1 + "@mui/utils": ^5.14.12 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -882,15 +904,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: a5d461ae9679b1f3b79f529c51c055e03d84421812bb12110d735fbc5528ae188900488b32aa1b860cb978ac6dd0cb9f54a10e2ff214e853e969ef5c1ed87e84 + checksum: f8127347dc29126fece3b530cb156f6ababf747b64bb1c712874375e6efae6c738c014304d9553001d67a59b24ca6a665f2d03bb5ae137f03bdba90815f0ecc1 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/styled-engine@npm:5.14.11" +"@mui/styled-engine@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/styled-engine@npm:5.14.12" dependencies: - "@babel/runtime": ^7.22.15 + "@babel/runtime": ^7.23.1 "@emotion/cache": ^11.11.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -903,19 +925,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 0a593f967ab56c32c611eae4a83bc23c4ab3a8931e76a6e553ed18230c2f4e9e912d519fe2f0a24970ff154c198634903f134eb54f00ceebde138a73b953622f + checksum: c689ccad59e7fd54cd8367838612daa4f132c64d8c6b99ccb7c8f9697b5c940a6bf7edcccd686ce437b565dbcf3bfc12bb0dea47cbd5fbd750ea1553017f9c0d languageName: node linkType: hard -"@mui/system@npm:^5.14.11": - version: 5.14.11 - resolution: "@mui/system@npm:5.14.11" +"@mui/system@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/system@npm:5.14.12" dependencies: - "@babel/runtime": ^7.22.15 - "@mui/private-theming": ^5.14.11 - "@mui/styled-engine": ^5.14.11 - "@mui/types": ^7.2.4 - "@mui/utils": ^5.14.11 + "@babel/runtime": ^7.23.1 + "@mui/private-theming": ^5.14.12 + "@mui/styled-engine": ^5.14.12 + "@mui/types": ^7.2.5 + "@mui/utils": ^5.14.12 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -931,7 +953,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: c3d0e1a09a9638663a6467452a7725593e9de6f9620e199add1080db42a7affaca39f52a1b6a52fb75d708f3e30336946babb2a8d1d43fab81c6a1fe3e420b21 + checksum: 70c3920eadc593395a2d258ddea0f3b28689c7f02fdaf97fc205e16efaeebe462b2ab01c69a20a3bcb011e0d07ea47fa66a433e70d0a1ce15d7b694fb3c52135 languageName: node linkType: hard @@ -947,6 +969,18 @@ __metadata: languageName: node linkType: hard +"@mui/types@npm:^7.2.5": + version: 7.2.5 + resolution: "@mui/types@npm:7.2.5" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 2807e9a8eb251294eee6384a4d68b2159f7660466625f1781e9efea282aa7c6ff35b42bc7039c2d43e7a5ac80291dcb85c4110022b0b6de4e12b6406b62f3dc1 + languageName: node + linkType: hard + "@mui/utils@npm:^5.14.11, @mui/utils@npm:^5.14.8": version: 5.14.11 resolution: "@mui/utils@npm:5.14.11" @@ -965,6 +999,24 @@ __metadata: languageName: node linkType: hard +"@mui/utils@npm:^5.14.12": + version: 5.14.12 + resolution: "@mui/utils@npm:5.14.12" + dependencies: + "@babel/runtime": ^7.23.1 + "@types/prop-types": ^15.7.7 + prop-types: ^15.8.1 + react-is: ^18.2.0 + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 41470b6292b7a46c71fb0a0acc6a5f05a5e080648106b8805555de920e8f748669c7e8d39cbbcf0f52be9053927bb8439a748e24bd02bc1a220c9bded4435f42 + languageName: node + linkType: hard + "@mui/x-tree-view@npm:^6.0.0-beta.0": version: 6.0.0-beta.0 resolution: "@mui/x-tree-view@npm:6.0.0-beta.0" @@ -1010,9 +1062,9 @@ __metadata: languageName: node linkType: hard -"@reduxjs/toolkit@npm:^1.9.6": - version: 1.9.6 - resolution: "@reduxjs/toolkit@npm:1.9.6" +"@reduxjs/toolkit@npm:^1.9.7": + version: 1.9.7 + resolution: "@reduxjs/toolkit@npm:1.9.7" dependencies: immer: ^9.0.21 redux: ^4.2.1 @@ -1026,7 +1078,7 @@ __metadata: optional: true react-redux: optional: true - checksum: 61d445f7e084c79f9601f61fcfc4eb65152b850b2a4330239d982297605bd870e63dc1e0211deb3822392cd3bc0c88ca0cdb236a9711a4311dfb199c607b6ac5 + checksum: ac25dec73a5d2df9fc7fbe98c14ccc73919e5ee1d6f251db0d2ec8f90273f92ef39c26716704bf56b5a40189f72d94b4526dc3a8c7ac3986f5daf44442bcc364 languageName: node linkType: hard @@ -1106,7 +1158,7 @@ __metadata: languageName: node linkType: hard -"@types/diff@npm:^5": +"@types/diff@npm:^5.0.5": version: 5.0.5 resolution: "@types/diff@npm:5.0.5" checksum: 5f093341d5488cd33079400d4b2ff463dfd4f589bf0a54fbb25f7c87a7bdc16bd1e6125f252c081fa9a3ad44fc78b156c0a5f38bd8128edceb40ba084e051885 @@ -1123,7 +1175,7 @@ __metadata: languageName: node linkType: hard -"@types/git-config-path@npm:^2": +"@types/git-config-path@npm:^2.0.2": version: 2.0.2 resolution: "@types/git-config-path@npm:2.0.2" checksum: d6c7de0f67c0d8584104bf381934bd79f3e4455773062773dcef307d6d31b5f849f77586686ccf7ab77cb1452603de4bf5a516330948ece3230cfab77009f04c @@ -1179,7 +1231,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^20.7.2": +"@types/node@npm:*": version: 20.7.2 resolution: "@types/node@npm:20.7.2" checksum: 5baa09368c8daa50ad1eaa2499b988b2f4c06cacf8b251d1e63f68ad32df97b21d8104f1ac06889481f1d3e84056842732bb848dd1136164d823c1d4a6baf435 @@ -1193,6 +1245,13 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^20.8.2": + version: 20.8.2 + resolution: "@types/node@npm:20.8.2" + checksum: 3da73e25d821bfcdb7de98589027e08bb4848e55408671c4a83ec0341e124b5313a0b20e1e4b4eff1168ea17a86f622ad73fcb04b761abd77496b9a27cbd5de5 + languageName: node + linkType: hard + "@types/pako@npm:^2.0.1": version: 2.0.1 resolution: "@types/pako@npm:2.0.1" @@ -1200,7 +1259,7 @@ __metadata: languageName: node linkType: hard -"@types/parse-git-config@npm:^3": +"@types/parse-git-config@npm:^3.0.2": version: 3.0.2 resolution: "@types/parse-git-config@npm:3.0.2" checksum: 7324aa64ce4e80528851b4b94af3a9a69516483031fbf199428915a038c867415bb7763231cb9951cd6a356f77f3f8988c2f1bfc6da9a37dbb8b6c66739da1c1 @@ -1214,7 +1273,7 @@ __metadata: languageName: node linkType: hard -"@types/parse-path@npm:^7": +"@types/parse-path@npm:^7.0.1": version: 7.0.1 resolution: "@types/parse-path@npm:7.0.1" checksum: 11d011ad68dc6161a550750dd9d449aaf72006186e4564b63befcd793f3b6f68058f580086e7ede50effeb8ebde250b5a42eff345263964eee219580aa32c3f0 @@ -1228,12 +1287,19 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.8": - version: 18.2.8 - resolution: "@types/react-dom@npm:18.2.8" +"@types/prop-types@npm:^15.7.7": + version: 15.7.8 + resolution: "@types/prop-types@npm:15.7.8" + checksum: 61dfad79da8b1081c450bab83b77935df487ae1cdd4660ec7df6be8e74725c15fa45cf486ce057addc956ca4ae78300b97091e2a25061133d1b9a1440bc896ae + languageName: node + linkType: hard + +"@types/react-dom@npm:^18.2.10": + version: 18.2.10 + resolution: "@types/react-dom@npm:18.2.10" dependencies: "@types/react": "*" - checksum: d36264631028d021b73cd9e015f10b95c4959ae1ce8f7a7419f318d1f05b1d063e6afffcd2a349a6bccd64ccc9ee9d2d976e1f0437643f0e7db621fa035bca65 + checksum: ced70643d82dd9d165cd6d1a98ec7556daf77d8fdec1ed19badb744a2a2370a84cc109248667536d7f850409e85432c300ec9f8c87d46e066ad295ddf9b6ab03 languageName: node linkType: hard @@ -1246,7 +1312,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.2.23": +"@types/react@npm:*": version: 18.2.23 resolution: "@types/react@npm:18.2.23" dependencies: @@ -1257,6 +1323,17 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^18.2.25": + version: 18.2.25 + resolution: "@types/react@npm:18.2.25" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: 177515cd44135d56191ec6c5c10edd490c96c175d37624d9c37bc2007c3abcf6cc2d2137d2a073d692cdc5129d5d5785bd60a6ddd315f695da5d8b989fa2afc5 + languageName: node + linkType: hard + "@types/responselike@npm:^1.0.0": version: 1.0.1 resolution: "@types/responselike@npm:1.0.1" @@ -1273,7 +1350,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7": +"@types/semver@npm:^7.5.3": version: 7.5.3 resolution: "@types/semver@npm:7.5.3" checksum: 349fdd1ab6c213bac5c991bac766bd07b8b12e63762462bb058740dcd2eb09c8193d068bb226f134661275f2022976214c0e727a4e5eb83ec1b131127c980d3e @@ -1296,7 +1373,7 @@ __metadata: languageName: node linkType: hard -"@types/valid-url@npm:^1": +"@types/valid-url@npm:^1.0.5": version: 1.0.5 resolution: "@types/valid-url@npm:1.0.5" checksum: a6a1546a7157a09c6fa487167dda94c10c4ba9677dfb1b7191c221f6365324d1952e6728d24b8b1da194216eaf44056892da3bfdb89e0eeef4d4258dc53ed316 @@ -1841,16 +1918,16 @@ __metadata: languageName: node linkType: hard -"electron@npm:26.2.4": - version: 26.2.4 - resolution: "electron@npm:26.2.4" +"electron@npm:26.3.0": + version: 26.3.0 + resolution: "electron@npm:26.3.0" dependencies: "@electron/get": ^2.0.0 "@types/node": ^18.11.18 extract-zip: ^2.0.1 bin: electron: cli.js - checksum: c47047ad20c1772058b46d3912839e437b533a7955dfd0ae6e43f069a69e542f2d2c9563e8d58d4b8d14d3ddfa166f18a732f7068117f8b6544fb62ed75989c3 + checksum: e904f7a7a3281d0cbf899ce06199f71dd7db9553f6650a7a2dda5001e3a4026933554ce44da2f3106500623aa28a10e4b5f9b42599f5442af11983f032d18275 languageName: node linkType: hard @@ -3263,9 +3340,9 @@ __metadata: languageName: node linkType: hard -"react-redux@npm:^8.1.2": - version: 8.1.2 - resolution: "react-redux@npm:8.1.2" +"react-redux@npm:^8.1.3": + version: 8.1.3 + resolution: "react-redux@npm:8.1.3" dependencies: "@babel/runtime": ^7.12.1 "@types/hoist-non-react-statics": ^3.3.1 @@ -3291,7 +3368,7 @@ __metadata: optional: true redux: optional: true - checksum: 4d5976b0f721e4148475871fcabce2fee875cc7f70f9a292f3370d63b38aa1dd474eb303c073c5555f3e69fc732f3bac05303def60304775deb28361e3f4b7cc + checksum: 192ea6f6053148ec80a4148ec607bc259403b937e515f616a1104ca5ab357e97e98b8245ed505a17afee67a72341d4a559eaca9607968b4a422aa9b44ba7eb89 languageName: node linkType: hard @@ -3732,29 +3809,29 @@ __metadata: "@electron-toolkit/utils": ^2.0.1 "@emotion/react": ^11.11.1 "@emotion/styled": ^11.11.0 - "@mui/icons-material": ^5.14.11 - "@mui/material": ^5.14.11 - "@mui/system": ^5.14.11 + "@mui/icons-material": ^5.14.12 + "@mui/material": ^5.14.12 + "@mui/system": ^5.14.12 "@mui/x-tree-view": ^6.0.0-beta.0 - "@reduxjs/toolkit": ^1.9.6 - "@types/diff": ^5 + "@reduxjs/toolkit": ^1.9.7 + "@types/diff": ^5.0.5 "@types/fs-extra": ^11.0.2 - "@types/git-config-path": ^2 + "@types/git-config-path": ^2.0.2 "@types/ini": ^1.3.31 "@types/luxon": ^3.3.2 - "@types/node": ^20.7.2 + "@types/node": ^20.8.2 "@types/pako": ^2.0.1 - "@types/parse-git-config": ^3 - "@types/parse-path": ^7 - "@types/react": ^18.2.23 - "@types/react-dom": ^18.2.8 - "@types/semver": ^7 + "@types/parse-git-config": ^3.0.2 + "@types/parse-path": ^7.0.1 + "@types/react": ^18.2.25 + "@types/react-dom": ^18.2.10 + "@types/semver": ^7.5.3 "@types/sha1": ^1.1.3 - "@types/valid-url": ^1 + "@types/valid-url": ^1.0.5 "@vitejs/plugin-react": ^4.1.0 diff: ^5.1.0 dot-prop: ^8.0.2 - electron: 26.2.4 + electron: 26.3.0 electron-vite: ^1.0.28 find-up: ^6.3.0 fs-extra: ^11.1.1 @@ -3773,7 +3850,7 @@ __metadata: react-ace: ^10.1.0 react-dom: ^18.2.0 react-error-boundary: ^4.0.11 - react-redux: ^8.1.2 + react-redux: ^8.1.3 reselect: ^4.1.8 rimraf: ^5.0.5 semver: ^7.5.4 @@ -3781,7 +3858,7 @@ __metadata: typescript: ^5.2.2 use-callback-ref: ^1.3.0 valid-url: ^1.0.9 - vite: ^4.4.9 + vite: ^4.4.11 languageName: unknown linkType: soft @@ -3931,9 +4008,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^4.4.9": - version: 4.4.9 - resolution: "vite@npm:4.4.9" +"vite@npm:^4.4.11": + version: 4.4.11 + resolution: "vite@npm:4.4.11" dependencies: esbuild: ^0.18.10 fsevents: ~2.3.2 @@ -3967,7 +4044,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: c511024ceae39c68c7dbf2ac4381ee655cd7bb62cf43867a14798bc835d3320b8fa7867a336143c30825c191c1fb4e9aa3348fce831ab617e96203080d3d2908 + checksum: c22145c8385343a629cd546054b9da6eee60327540102bdfd1ad897fd2e78e0763ce6a18a9d84fdefde9da8fd2427d3bec9eb2697b47cf4068c7b4b52f7e3e6a languageName: node linkType: hard From b05b99c1924ae875e3d72d2c62d052337705cae3 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Sat, 7 Oct 2023 15:55:18 -0700 Subject: [PATCH 13/21] Aggregate Content component imports to use default directory imports for reverse content --- src/renderer/src/components/Card/Content.tsx | 22 ++++++++----------- src/renderer/src/components/Diff/index.tsx | 1 + src/renderer/src/components/Editor/env.d.ts | 1 + src/renderer/src/components/Editor/index.tsx | 1 + .../src/components/Explorer/index.tsx | 1 + 5 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 src/renderer/src/components/Editor/env.d.ts diff --git a/src/renderer/src/components/Card/Content.tsx b/src/renderer/src/components/Card/Content.tsx index 138fb85cf..57c4bebf7 100644 --- a/src/renderer/src/components/Card/Content.tsx +++ b/src/renderer/src/components/Card/Content.tsx @@ -3,22 +3,18 @@ import type { UUID } from 'types/app'; import type { Card } from 'types/card'; import { useAppSelector } from '../../store/hooks'; import cardSelectors from '../../store/selectors/cards'; -import Diff from '../Diff'; -import DiffReverse from '../Diff/DiffReverse'; -import Editor from '../Editor'; -import EditorReverse from '../Editor/EditorReverse'; -import Explorer from '../Explorer'; -import ExplorerReverse from '../Explorer/ExplorerReverse'; +import Diff, { DiffReverse } from '../Diff'; +import Editor, { EditorReverse } from '../Editor'; +import Explorer, { ExplorerReverse } from '../Explorer'; const Content = ({ reverse = false, id }: { reverse?: boolean; id: UUID }) => { const card = useAppSelector(state => cardSelectors.selectById(state, id)); + const loading = card?.loading !== undefined; return ( <> - {card?.loading !== undefined ? ( - - ) : null} - + {loading ? : null} + {reverse ? getCardTypeReverseContent(card) : getCardTypeContent(card)} @@ -53,9 +49,9 @@ const getCardTypeReverseContent = (card: Card | undefined) => { const ContentComponent = styled('div', { shouldForwardProp: prop => prop !== 'loading' })<{ loading: boolean; -}>(loading => ({ - height: loading ? 'calc(100% - 44px)' : 'calc(100% - 40px)', - borderRadius: '0 0 10px 10px' +}>(props => ({ + borderRadius: '0 0 10px 10px', + height: props.loading ? 'calc(100% - 44px)' : 'calc(100% - 40px)' })); export default Content; diff --git a/src/renderer/src/components/Diff/index.tsx b/src/renderer/src/components/Diff/index.tsx index b97bcba10..7c58d85a1 100644 --- a/src/renderer/src/components/Diff/index.tsx +++ b/src/renderer/src/components/Diff/index.tsx @@ -1 +1,2 @@ export { default } from './Diff'; +export { default as DiffReverse } from './DiffReverse'; diff --git a/src/renderer/src/components/Editor/env.d.ts b/src/renderer/src/components/Editor/env.d.ts new file mode 100644 index 000000000..d5822de05 --- /dev/null +++ b/src/renderer/src/components/Editor/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/renderer/src/components/Editor/index.tsx b/src/renderer/src/components/Editor/index.tsx index e7967e758..98aa45f62 100644 --- a/src/renderer/src/components/Editor/index.tsx +++ b/src/renderer/src/components/Editor/index.tsx @@ -1 +1,2 @@ export { default } from './Editor'; +export { default as EditorReverse } from './EditorReverse'; diff --git a/src/renderer/src/components/Explorer/index.tsx b/src/renderer/src/components/Explorer/index.tsx index fe2b54583..8918732bd 100644 --- a/src/renderer/src/components/Explorer/index.tsx +++ b/src/renderer/src/components/Explorer/index.tsx @@ -1 +1,2 @@ export { default } from './Explorer'; +export { default as ExplorerReverse } from './ExplorerReverse'; From cd7a27d33cbb4ad1cdee91867a9fcc0054e1192e Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Sat, 7 Oct 2023 15:59:27 -0700 Subject: [PATCH 14/21] ESM Resolver for AceEditor component updated --- src/renderer/index.html | 2 +- src/renderer/src/components/Editor/Editor.tsx | 24 +++++++++---------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/renderer/index.html b/src/renderer/index.html index 17cfc0e60..1dbe8b1e2 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -6,7 +6,7 @@ diff --git a/src/renderer/src/components/Editor/Editor.tsx b/src/renderer/src/components/Editor/Editor.tsx index 72b272afc..5ab7e566f 100644 --- a/src/renderer/src/components/Editor/Editor.tsx +++ b/src/renderer/src/components/Editor/Editor.tsx @@ -1,14 +1,5 @@ -import 'ace-builds'; -import 'ace-builds/esm-resolver'; // resolver for dynamically loading modes, per https://github.com/mkslanc/ace-samples/blob/main/samples/ace-builds-vitejs/src/index.js import React, { useEffect, useState } from 'react'; -import AceEditor, { IAceEditorProps } from 'react-ace'; -/* webpack-resolver incorrectly resolves basePath for file-loader unless at least one mode has already been loaded, -thus the following javascript mode file is loaded to fix this bug */ import { Skeleton } from '@mui/material'; -import 'ace-builds/src-noconflict/ext-beautify'; -import 'ace-builds/src-noconflict/ext-searchbox'; -import 'ace-builds/src-noconflict/mode-javascript'; -import 'ace-builds/src-noconflict/theme-monokai'; import type { UUID } from 'types/app'; import type { Metafile } from 'types/metafile'; import { useAppDispatch, useAppSelector } from '../../store/hooks'; @@ -16,9 +7,16 @@ import metafileSelectors from '../../store/selectors/metafiles'; import { metafileUpdated } from '../../store/slices/metafiles'; import './EditorStyles.css'; +import 'ace-builds/src-noconflict/ace'; +import 'ace-builds/esm-resolver'; // resolver for dynamically loading modes, per https://github.com/mkslanc/ace-samples/blob/main/samples/ace-builds-vitejs/src/index.jsimport 'ace-builds/esm-resolver'; +import 'ace-builds/src-noconflict/ext-language_tools'; +import 'ace-builds/src-noconflict/ext-beautify'; +import 'ace-builds/src-noconflict/ext-searchbox'; +import 'ace-builds/src-noconflict/theme-monokai'; +import AceEditor, { IAceEditorProps } from 'react-ace'; + const getRandomInt = window.api.utils.getRandomInt; const isDefined = window.api.utils.isDefined; -const removeNullableProperties = window.api.utils.removeNullableProperties; /** * React Component to display an interactive editor for the content of a specific file. Virtual files can be @@ -31,7 +29,7 @@ const removeNullableProperties = window.api.utils.removeNullableProperties; const Editor = ({ id, expanded = false }: { id: UUID; expanded?: boolean }) => { const metafile = useAppSelector(state => metafileSelectors.selectById(state, id)); const [editorRef] = useState(React.createRef()); - const mode = removeNullableProperties({ mode: metafile?.filetype?.toLowerCase() }); + const mode = metafile?.filetype?.toLowerCase() ?? 'text'; const skeletonWidth = getRandomInt(55, 90); const dispatch = useAppDispatch(); @@ -57,11 +55,11 @@ const Editor = ({ id, expanded = false }: { id: UUID; expanded?: boolean }) => { <> {isEditorMetafile(metafile) ? ( From 850a19844bf2b25ead937a22e85304f04d7d62c3 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Sat, 7 Oct 2023 15:59:43 -0700 Subject: [PATCH 15/21] Modal components added to Canvas --- src/renderer/src/components/Canvas/Canvas.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/components/Canvas/Canvas.tsx b/src/renderer/src/components/Canvas/Canvas.tsx index 63b383695..315b2c309 100644 --- a/src/renderer/src/components/Canvas/Canvas.tsx +++ b/src/renderer/src/components/Canvas/Canvas.tsx @@ -1,19 +1,22 @@ import { useDroppable } from '@dnd-kit/core'; import { styled } from '@mui/material'; +import modalSelectors from '@renderer/store/selectors/modals'; import { PropsWithChildren } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; +import canvasBackground from '../../assets/canvas.png'; import { useAppSelector } from '../../store/hooks'; import cardSelectors from '../../store/selectors/cards'; import stackSelectors from '../../store/selectors/stacks'; import Card from '../Card'; import DndCanvasContext from '../Dnd/DndCanvasContext'; +import ModalComponent from '../Modal'; import Stack from '../Stack'; -import canvasBackground from '../../assets/canvas.png'; import CanvasMenu from './MenuBar'; const Canvas = ({ children }: PropsWithChildren) => { const cards = useAppSelector(state => cardSelectors.selectAll(state)); const stacks = useAppSelector(state => stackSelectors.selectAll(state)); + const modals = useAppSelector(state => modalSelectors.selectAll(state)); const { isOver, setNodeRef } = useDroppable({ id: 'Canvas', data: { @@ -34,6 +37,11 @@ const Canvas = ({ children }: PropsWithChildren) => { 💥Card Error💥}> {cards.map(card => (card.captured ? null : ))} + 💥Modal Error💥}> + {modals.map(modal => ( + + ))} + {children} From 395d2ecdad66ac3d90d560a952c41ad91733e7bd Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Mon, 9 Oct 2023 10:34:56 -0700 Subject: [PATCH 16/21] GitGraph ported over --- package.json | 3 + src/renderer/src/components/Canvas/Canvas.tsx | 7 +- .../src/components/GitGraph/ContextMenu.tsx | 266 +++++++++ .../src/components/GitGraph/GitGraph.tsx | 193 +++++++ .../components/GitGraph/GitGraphSelect.tsx | 82 +++ .../src/components/GitGraph/GitNode.tsx | 120 ++++ .../src/components/GitGraph/GraphTooltip.tsx | 74 +++ .../src/components/GitGraph/index.tsx | 1 + .../src/components/Modal/ModalComponent.tsx | 15 +- src/renderer/src/containers/graph-layout.ts | 65 +++ .../src/containers/hooks/useGitGraph.ts | 20 +- yarn.lock | 539 +++++++++++++++++- 12 files changed, 1368 insertions(+), 17 deletions(-) create mode 100644 src/renderer/src/components/GitGraph/ContextMenu.tsx create mode 100644 src/renderer/src/components/GitGraph/GitGraph.tsx create mode 100644 src/renderer/src/components/GitGraph/GitGraphSelect.tsx create mode 100644 src/renderer/src/components/GitGraph/GitNode.tsx create mode 100644 src/renderer/src/components/GitGraph/GraphTooltip.tsx create mode 100644 src/renderer/src/components/GitGraph/index.tsx create mode 100644 src/renderer/src/containers/graph-layout.ts diff --git a/package.json b/package.json index f8797874e..c1f3dbd3e 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", + "@types/dagre": "^0", "@types/diff": "^5.0.5", "@types/fs-extra": "^11.0.2", "@types/git-config-path": "^2.0.2", @@ -34,6 +35,7 @@ "@types/sha1": "^1.1.3", "@types/valid-url": "^1.0.5", "@vitejs/plugin-react": "^4.1.0", + "dagre": "^0.8.5", "diff": "^5.1.0", "dot-prop": "^8.0.2", "electron": "26.3.0", @@ -47,6 +49,7 @@ "prettier": "^3.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", + "reactflow": "^11.9.2", "rimraf": "^5.0.5", "semver": "^7.5.4", "sha1": "^1.1.1", diff --git a/src/renderer/src/components/Canvas/Canvas.tsx b/src/renderer/src/components/Canvas/Canvas.tsx index 315b2c309..0f6173491 100644 --- a/src/renderer/src/components/Canvas/Canvas.tsx +++ b/src/renderer/src/components/Canvas/Canvas.tsx @@ -9,6 +9,7 @@ import cardSelectors from '../../store/selectors/cards'; import stackSelectors from '../../store/selectors/stacks'; import Card from '../Card'; import DndCanvasContext from '../Dnd/DndCanvasContext'; +import GitGraphSelect from '../GitGraph/GitGraphSelect'; import ModalComponent from '../Modal'; import Stack from '../Stack'; import CanvasMenu from './MenuBar'; @@ -27,7 +28,10 @@ const Canvas = ({ children }: PropsWithChildren) => { return ( - + + 💥GitGraphSelect Error💥}> + + 💥Stack Error💥}> {stacks.map(stack => ( @@ -44,6 +48,7 @@ const Canvas = ({ children }: PropsWithChildren) => { {children} + ); }; diff --git a/src/renderer/src/components/GitGraph/ContextMenu.tsx b/src/renderer/src/components/GitGraph/ContextMenu.tsx new file mode 100644 index 000000000..72b22d2a6 --- /dev/null +++ b/src/renderer/src/components/GitGraph/ContextMenu.tsx @@ -0,0 +1,266 @@ +import { ListItemIcon, ListItemText, Menu, MenuItem, Tooltip } from '@mui/material'; +import { + GitAbort, + GitBranch, + GitCommit, + GitDeleteBranch, + GitMerge, + GitRevert +} from '@renderer/assets/GitIcons'; +import type { UUID } from 'types/app'; +import type { Branch } from 'types/branch'; +import type { Either } from 'types/util'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import repoSelectors from '../../store/selectors/repos'; +import { modalAdded } from '../../store/slices/modals'; +import { addBranch, fetchBranch } from '../../store/thunks/branches'; +import { createCard } from '../../store/thunks/cards'; +import type { GitNodeProps } from './GitNode'; + +export type Action = { + icon: JSX.Element; + name: string; + tooltip?: string; + disabled?: boolean; + onClick: () => void; +}; + +const ContextMenu = ({ + anchorEl, + open, + onClose, + node +}: { + anchorEl: HTMLElement | null; + open: boolean; + onClose: + | ((event: Record, reason: 'backdropClick' | 'escapeKeyDown') => void) + | undefined; + node: GitNodeProps; +}) => { + const repo = useAppSelector(state => repoSelectors.selectById(state, node.data.repo)); + const branches = useAppSelector(state => branchSelectors.selectEntities(state)); + const repoBranches = useAppSelector(state => branchSelectors.selectByRepo(state, repo?.id ?? '')); + const abortableBranches = repoBranches.filter( + branch => branch.status === 'unmerged' && node.data.heads.includes(branch.id) + ); + const dispatch = useAppDispatch(); + + type BranchRef = Pick; + + const checkout = async (input: Either<{ id: UUID }, { branchRef: BranchRef }>) => { + if (repo) { + let branch = input.branchRef + ? await dispatch( + fetchBranch({ + branchIdentifiers: { + root: repo.root, + ref: input.branchRef.ref, + scope: input.branchRef.scope + } + }) + ).unwrap() + : branches[input.id]; + if (branch && !branch.linked && !branch.current) { + branch = await dispatch(addBranch({ root: branch.root, ref: branch.ref })).unwrap(); + } + if (branch) await dispatch(createCard({ path: branch.root })); + } + if (onClose) onClose({}, 'backdropClick'); + }; + + const checkoutNewBranch = async () => { + if (repo) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'NewBranchDialog', + repo: repo.id, + head: node.id + }) + ); + if (onClose) onClose({}, 'backdropClick'); + }; + + const deleteBranch = async (id: UUID) => { + if (repo) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'DeleteBranchDialog', + repo: repo.id, + branch: id + }) + ); + if (onClose) onClose({}, 'backdropClick'); + }; + + const commit = (id: UUID) => { + if (repo) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'CommitDialog', + repo: repo.id, + branch: id + }) + ); + if (onClose) onClose({}, 'backdropClick'); + }; + + const revert = (branch: UUID) => { + if (repo) + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'RevertCommitDialog', + repo: repo.id, + branch: branch, + commit: node.id + }) + ); + if (onClose) onClose({}, 'backdropClick'); + }; + + const merge = async (input: Either<{ id: UUID }, { branchRef: BranchRef }>) => { + if (repo) { + const branch = input.branchRef + ? await dispatch( + fetchBranch({ + branchIdentifiers: { + root: repo.root, + ref: input.branchRef.ref, + scope: input.branchRef.scope + } + }) + ).unwrap() + : branches[input.id]; + + if (branch && branch.status !== 'unmerged') { + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'MergeDialog', + repo: repo.id, + base: branch.id + }) + ); + } + } + if (onClose) onClose({}, 'backdropClick'); + }; + + const abort = (branch: Branch) => { + if (repo) { + console.log(`Abort merge of ${branch.scope}/${branch.ref}`); + dispatch( + modalAdded({ + id: window.api.uuid(), + type: 'MergeDialog', + repo: repo.id, + base: branch.id, + mode: 'abort' + }) + ); + } + if (onClose) onClose({}, 'backdropClick'); + }; + + const actions: Action[] = [ + ...node.data.heads.map(branch => ({ + icon: , + name: `Checkout ${branches[branch]?.scope}/${branches[branch]?.ref}`, + disabled: node.data.staged, + onClick: () => checkout({ id: branch }) + })), + { + icon: , + name: `Checkout ${ + node.data.staged ? node.id : node.id.substring(0, 8) + '...' + } [Detached HEAD]`, + disabled: node.data.staged, + onClick: () => checkout({ branchRef: { ref: node.id, scope: 'local' } }) + }, + { + icon: , + name: `Create new branch at ${node.data.staged ? node.id : node.id.substring(0, 8) + '...'}`, + disabled: node.data.staged, + onClick: checkoutNewBranch + }, + ...node.data.heads.map(branch => ({ + icon: , + name: `Delete ${branches[branch]?.scope}/${branches[branch]?.ref}`, + disabled: node.data.staged, + onClick: () => deleteBranch(branch) + })), + { + icon: , + name: `Commit to ${branches[node.data.branches[0] ?? '']?.scope}/${branches[ + node.data.branches[0] ?? '' + ]?.ref}`, + disabled: !node.data.staged, + onClick: () => { + commit(node.data.branches[0] ?? ''); + } + }, + ...node.data.branches + .filter(branch => !node.data.heads.includes(branch)) + .map(branch => ({ + icon: , + name: `Revert ${branches[branch]?.scope}/${branches[branch]?.ref} branch to ${ + node.data.staged ? node.id : node.id.substring(0, 8) + '...' + }`, + disabled: node.data.staged, + onClick: () => revert(branch) + })), + ...node.data.heads.map(branch => ({ + icon: , + name: `Merge ${branches[branch]?.scope}/${branches[branch]?.ref}`, + disabled: node.data.staged, + onClick: () => merge({ id: branch }) + })), + ...abortableBranches.map(branch => ({ + icon: , + name: `Abort merge on ${branch.scope}/${branch.ref}`, + disabled: false, + onClick: () => abort(branch) + })) + ]; + + return open ? ( + + {actions.map((action, index) => ( + + {action.icon} + {action.tooltip ? ( + + {action.name} + + ) : ( + {action.name} + )} + + ))} + + ) : undefined; +}; + +export default ContextMenu; diff --git a/src/renderer/src/components/GitGraph/GitGraph.tsx b/src/renderer/src/components/GitGraph/GitGraph.tsx new file mode 100644 index 000000000..cf3f5f052 --- /dev/null +++ b/src/renderer/src/components/GitGraph/GitGraph.tsx @@ -0,0 +1,193 @@ +import { BlurCircular, LocationSearching } from '@mui/icons-material'; +import { TextField, Typography, styled } from '@mui/material'; +import layoutGraph from '@renderer/containers/graph-layout'; +import { useCallback, useEffect, useState, KeyboardEvent } from 'react'; +import ReactFlow, { + Connection, + ControlButton, + Controls, + Edge, + Node, + OnConnect, + OnEdgesChange, + OnNodesChange, + ReactFlowProvider, + addEdge, + isEdge, + isNode, + useEdgesState, + useNodesState, + useReactFlow, + useStoreApi +} from 'reactflow'; +import 'reactflow/dist/style.css'; +import type { UUID } from 'types/app'; +import { BranchLookup, CommitGraph, useGitGraph } from '../../containers/hooks/useGitGraph'; +import useToggle from '../../containers/hooks/useToggle'; +import { nodeTypes } from './GitNode'; + +const Flow = ({ + nodes, + edges, + onNodesChange, + onEdgesChange, + onConnect, + graph, + branchLookup, + printGraph, + calculateLayout +}: { + nodes: Node[]; + edges: Edge[] | undefined; + onNodesChange: OnNodesChange | undefined; + onEdgesChange: OnEdgesChange | undefined; + onConnect: OnConnect | undefined; + graph: CommitGraph; + branchLookup: BranchLookup; + printGraph: () => void; + calculateLayout: () => void; +}) => { + const store = useStoreApi(); + const reactFlowInstance = useReactFlow(); + + const [searchText, setSearchText] = useState(''); + const [isSearchExpanded, toggleSearchExpanded] = useToggle(false); + const [isSearchValid, toggleSearchValid] = useToggle(true); + + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Enter') { + event.preventDefault(); + const branchOid = branchLookup.get(searchText); + const vertex = + branchOid && graph.has(branchOid) ? graph.get(branchOid) : graph.get(searchText); + + if (vertex) { + const { nodeInternals } = store.getState(); + const node = Array.from(nodeInternals).find(([id]) => id === vertex.oid.toString())?.[1]; + + if (node) { + const x = node.position.x + (node.width ?? 0) / 2; + const y = node.position.y + (node.height ?? 0) / 2; + const zoom = 1.85; + + toggleSearchValid(true); + store.getState().addSelectedNodes([node.id]); + reactFlowInstance.setCenter(x, y, { zoom, duration: 1000 }); + toggleSearchExpanded(); + } + } else { + toggleSearchValid(false); + store.getState().unselectNodesAndEdges(); + reactFlowInstance.fitView({ duration: 1000 }); + } + } + }; + + return ( + <> + + + + toggleSearchExpanded()} + style={{ backgroundColor: isSearchExpanded ? '#DCDCDC' : undefined }} + title="search" + > + + + {isSearchExpanded ? ( + setSearchText(e.target.value)} + onKeyDown={e => handleKeyDown(e)} + placeholder="commit oid" + /> + ) : null} + + + + + + + Nodes: {nodes.length}, Edges: {edges?.length} + + + + ); +}; + +const HorizontalBox = styled('div')({ + display: 'flex', + flexDirection: 'row', + borderRadius: '0 4px 4px 0' +}); + +const SearchTextField = styled(TextField)(({ theme }) => ({ + borderRadius: '0 4px 4px 0', + width: 385, + '& label.Mui-focused': { + color: '#A0AAB4' + }, + '& .MuiInput-underline:after': { + borderBottomColor: '#B2BAC2' + }, + '& .MuiOutlinedInput-root': { + borderRadius: '0 4px 4px 0', + height: '100%', + '& input': { + backgroundColor: theme.palette.background.paper, + borderRadius: '0 4px 4px 0', + height: '100%', + padding: '0 5px' + } + } +})); + +const GitGraph = ({ repo }: { repo: UUID }) => { + const { graph, topological, branchLookup, printGraph } = useGitGraph(repo); + const [nodes, setNodes, onNodesChange] = useNodesState([]); + const [edges, setEdges, onEdgesChange] = useEdgesState([]); + const onConnect = useCallback( + (params: Edge | Connection) => setEdges(eds => addEdge(params, eds)), + [setEdges] + ); + + const calculateLayout = useCallback(() => { + const rfElements = layoutGraph(graph, topological); + setNodes(rfElements.filter(isNode)); + setEdges(rfElements.filter(isEdge)); + }, [graph, setEdges, setNodes, topological]); + + useEffect(() => { + calculateLayout(); + }, [calculateLayout, graph, topological]); + + return ( + + + + ); +}; + +export default GitGraph; diff --git a/src/renderer/src/components/GitGraph/GitGraphSelect.tsx b/src/renderer/src/components/GitGraph/GitGraphSelect.tsx new file mode 100644 index 000000000..ab73a4418 --- /dev/null +++ b/src/renderer/src/components/GitGraph/GitGraphSelect.tsx @@ -0,0 +1,82 @@ +import { FormControl, InputBase, MenuItem, Select, SelectChangeEvent, styled } from '@mui/material'; +import { useState } from 'react'; +import { shallowEqual } from 'react-redux'; +import type { Modal } from 'types/modal'; +import { useAppDispatch, useAppSelector } from '../../store/hooks'; +import modalSelectors from '../../store/selectors/modals'; +import repoSelectors from '../../store/selectors/repos'; +import { modalAdded, modalRemoved } from '../../store/slices/modals'; + +const GitGraphSelect = () => { + const repos = useAppSelector(state => repoSelectors.selectAll(state)); + const [selected, setSelected] = useState(''); + const graphs: Modal[] = useAppSelector( + state => modalSelectors.selectByType(state, 'GitGraph'), + shallowEqual + ); + const dispatch = useAppDispatch(); + + const handleChange = (event: SelectChangeEvent) => { + if (graphs.length > 0) graphs.map(graph => dispatch(modalRemoved(graph.id))); + setSelected(event.target.value); + const selectedRepo = repos.find(r => r.id === event.target.value); + if (selectedRepo) + dispatch(modalAdded({ id: window.api.uuid(), type: 'GitGraph', repo: selectedRepo.id })); + }; + + // useEffect(() => { + // if (graphs.length > 0) graphs.map(graph => dispatch(modalRemoved(graph.id))); + // const selectedRepo = repos.find(r => r.id === selected); + // if (selectedRepo) + // dispatch(modalAdded({ id: window.api.uuid(), type: 'GitGraph', repo: selected })); + // // eslint-disable-next-line react-hooks/exhaustive-deps + // }, [repos, selected]); + + return ( + + + + + + ); +}; + +const StyledFormContainer = styled('div')(() => ({ + marginLeft: 'auto', + position: 'absolute', + zIndex: 1 +})); + +const StyledInput = styled(InputBase)(({ theme }) => ({ + borderRadius: 4, + position: 'relative', + backgroundColor: theme.palette.background.paper, + border: '1px solid #ced4da', + fontSize: 14, + padding: '10px 26px 10px 12px', + transition: theme.transitions.create(['border-color', 'box-shadow']), + '&:focus': { + borderRadius: 4, + borderColor: '#80bdff', + boxShadow: '0 0 0 0.2rem rgba(0,123,255,.25)' + } +})); +export default GitGraphSelect; diff --git a/src/renderer/src/components/GitGraph/GitNode.tsx b/src/renderer/src/components/GitGraph/GitNode.tsx new file mode 100644 index 000000000..09ca39068 --- /dev/null +++ b/src/renderer/src/components/GitGraph/GitNode.tsx @@ -0,0 +1,120 @@ +import { styled } from '@mui/material'; +import { MouseEvent, useMemo, useState } from 'react'; +import { Handle, NodeProps, Position } from 'reactflow'; +import type { Color } from 'types/app'; +import type { Prettify } from 'types/util'; +import { CommitVertex } from '../../containers/hooks/useGitGraph'; +import useToggle from '../../containers/hooks/useToggle'; +import { useAppSelector } from '../../store/hooks'; +import branchSelectors from '../../store/selectors/branches'; +import ContextMenu from './ContextMenu'; +import GraphTooltip from './GraphTooltip'; + +const isDefined = window.api.utils.isDefined; + +export type GitNodeProps = Prettify>; + +const GitNode = (props: GitNodeProps) => { + const branches = useAppSelector(state => branchSelectors.selectEntities(state)); + const [isHovering, toggleHovering] = useToggle(false); + const [anchorEl, setAnchorEl] = useState(null); + const open = Boolean(anchorEl); + const handleMenu = (event: MouseEvent) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + const headText = () => { + const firstHead = props.data.heads[0]; + if (firstHead) { + const additional = props.data.heads.length - 1; + const firstBranch = branches[firstHead]; + return `${firstBranch?.scope}/${firstBranch?.ref}${additional > 0 ? ` + ${additional}` : ''}`; + } + return undefined; + }; + const text = props.data.heads.length > 0 ? headText() : props.data.oid.toString(); + const tooltip = useMemo((): string => { + const commit = props.data; + const headBranches = commit.heads.map(oid => branches[oid]).filter(isDefined); + return `${ + headBranches.length > 0 + ? `Branches: ${headBranches.map(branch => `${branch.scope}/${branch.ref}`).join(',')}\n` + : '' + }Commit: ${commit.oid.toString()}\nParent: ${commit.parents.join(', ')}\nAuthor: ${ + commit.author.name + } <${commit.author.email}>\nMessage: ${commit.message}`; + }, [branches, props.data]); + const color = props.data.color; + const borderColor = props.selected ? '#F08080' : 'whitesmoke'; + const borderStyle = props.selected ? 'solid' : props.data.staged ? 'dashed' : ''; + const opacity = props.data.staged ? '0.6' : '1.0'; + + const copyToClipboard = (text: string) => { + window.api.clipboard.writeText(text); + }; + + return ( + <> + + toggleHovering(true)} + onMouseLeave={() => toggleHovering(false)} + onClick={() => { + copyToClipboard(props.id); + const node = props.data; + console.log(node); + }} + onContextMenu={handleMenu} + > + + + + {text} + + + ); +}; + +const Node = styled('div')<{ + color: Color; + borderStyle: string; + borderColor: string; + opacity?: string | undefined; +}>(props => ({ + width: 10, + borderRadius: '50%', + margin: 'auto', + borderStyle: props.borderStyle, + borderColor: props.borderColor, + borderWidth: 'thin', + opacity: props.opacity, + background: props.color, + padding: 5 +})); + +const StyledHandle = styled(Handle)(() => ({ + visibility: 'hidden' +})); + +const StyledText = styled('div')(() => ({ + color: 'whitesmoke', + fontSize: 6, + width: 50, + textAlign: 'center', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', + overflow: 'hidden' +})); + +export const nodeTypes = { + gitNode: GitNode +}; + +export default GitNode; diff --git a/src/renderer/src/components/GitGraph/GraphTooltip.tsx b/src/renderer/src/components/GitGraph/GraphTooltip.tsx new file mode 100644 index 000000000..3cf9a4106 --- /dev/null +++ b/src/renderer/src/components/GitGraph/GraphTooltip.tsx @@ -0,0 +1,74 @@ +import { Card, CardContent, Typography, styled } from '@mui/material'; + +type Placement = + | 'top-start' + | 'top' + | 'top-end' + | 'left-start' + | 'left' + | 'left-end' + | 'right-start' + | 'right' + | 'right-end' + | 'bottom-start' + | 'bottom' + | 'bottom-end'; + +type Position = { top: number; left: number }; + +// Mapped object type for converting Placement into `top` and `left` position presets +type PlacementPosition = { + [key in Placement]: { top: number; left: number }; +}; + +const placementToPosition: PlacementPosition = { + 'top-start': { top: -15, left: -5 }, + top: { top: -15, left: 0 }, + 'top-end': { top: -15, left: 5 }, + 'left-start': { top: -5, left: -15 }, + left: { top: 0, left: -15 }, + 'left-end': { top: 5, left: -15 }, + 'right-start': { top: -5, left: 15 }, + right: { top: 0, left: 15 }, + 'right-end': { top: 5, left: 15 }, + 'bottom-start': { top: 15, left: -5 }, + bottom: { top: 15, left: 0 }, + 'bottom-end': { top: 15, left: 5 } +}; + +const GraphTooltip = (props: { disabled?: boolean; content: string; placement: Placement }) => { + const position = placementToPosition[props.placement]; + + return props.disabled ? undefined : ( + + + {props.content.replace(/\\n/g, '
      ')}
      +
      +
      + ); +}; + +const StyledTag = styled(Card, { shouldForwardProp: prop => prop !== 'position' })<{ + position: Position; +}>(({ position, theme }) => ({ + backgroundColor: theme.palette.common.white, + height: 'max-content', + width: 'max-content', + position: 'absolute', + top: position.top, + left: position.left, + boxShadow: theme.shadows[1], + borderRadius: '2px', + border: '0px', + padding: '1px 2px', + zIndex: theme.zIndex.modal +})); + +const StyledTypography = styled(Typography)(() => ({ + fontSize: 6, + fontFamily: 'Roboto, Helvetica, Arial, sans-serif', + color: 'rgba(0, 0, 0, 0.87)', + whiteSpace: 'pre-wrap' +})); + +export default GraphTooltip; diff --git a/src/renderer/src/components/GitGraph/index.tsx b/src/renderer/src/components/GitGraph/index.tsx new file mode 100644 index 000000000..60b9dc65c --- /dev/null +++ b/src/renderer/src/components/GitGraph/index.tsx @@ -0,0 +1 @@ +export { default } from './GitGraph'; \ No newline at end of file diff --git a/src/renderer/src/components/Modal/ModalComponent.tsx b/src/renderer/src/components/Modal/ModalComponent.tsx index 8e21aacee..7c828673a 100644 --- a/src/renderer/src/components/Modal/ModalComponent.tsx +++ b/src/renderer/src/components/Modal/ModalComponent.tsx @@ -1,27 +1,28 @@ +import type { Modal } from 'types/modal'; import { isCommitDialogModal, isDeleteBranchDialog, + isGitGraphModal, isMergeDialogModal, isNewBranchDialog, isNotification, isRevertCommitDialog } from '../../store/slices/modals'; -import MergeDialog from './MergeDialog'; -import NewCardDialog from './NewCardDialog'; -import Notification from './Notification'; -// import GitGraph from '../GitGraph'; -import type { Modal } from 'types/modal'; import CommitDialog from './CommitDialog'; import DeleteBranchDialog from './DeleteBranchDialog'; +import MergeDialog from './MergeDialog'; import NewBranchDialog from './NewBranchDialog'; +import NewCardDialog from './NewCardDialog'; +import Notification from './Notification'; import RevertCommitDialog from './RevertCommitDialog'; +import GitGraph from '../GitGraph'; const ModalComponent = (props: Modal) => { switch (props.type) { // case 'CloneSelector': // return (); - // case 'GitGraph': - // return isGitGraphModal(props) ? : null; + case 'GitGraph': + return isGitGraphModal(props) ? : null; case 'CommitDialog': return isCommitDialogModal(props) ? : null; case 'MergeDialog': diff --git a/src/renderer/src/containers/graph-layout.ts b/src/renderer/src/containers/graph-layout.ts new file mode 100644 index 000000000..c8b99517c --- /dev/null +++ b/src/renderer/src/containers/graph-layout.ts @@ -0,0 +1,65 @@ +import dagre from 'dagre'; +import { Edge, isEdge, isNode, MarkerType, Node } from 'reactflow'; +import type { UUID } from 'types/app'; +import type { CommitVertex, CommitGraph } from './hooks/useGitGraph'; + +const nodesep = 80; + +const layoutGraph = (graph: CommitGraph, topological: UUID[]): (Edge | Node)[] => { + const elements: (Edge | Node)[] = []; + for (const oid of topological) { + const commit = graph.get(oid.toString()); + if (commit) { + const node: Node = getNode(commit); + const edges: Edge[] = getEdges(commit); + elements.push(node); + edges.map(edge => elements.push(edge)); + } + } + return layoutOptimizer(elements); +}; + +const layoutOptimizer = (rfGraph: (Edge | Node)[]): (Edge | Node)[] => { + const graph = new dagre.graphlib.Graph(); + graph.setGraph({ nodesep: nodesep }); + graph.setDefaultEdgeLabel(() => { + return {}; + }); + + rfGraph.filter(isNode).map(node => graph.setNode(node.id, { width: 5, height: 5 })); + rfGraph.filter(isEdge).map(edge => graph.setEdge(edge.source, edge.target)); + dagre.layout(graph); + + return rfGraph.map(els => { + if (isNode(els)) { + const graphNode = graph.node(els.id); + return { ...els, position: { x: graphNode.x, y: graphNode.y } }; + } + return els; + }); +}; + +const getNode = (commit: CommitVertex): Node => { + return { + id: commit.oid.toString(), + type: 'gitNode', + data: commit, + position: { x: 0, y: 0 } + }; +}; + +const getEdges = (commit: CommitVertex): Edge[] => { + return commit.parents + .filter(parent => parent.length > 0) + .map(parent => ({ + id: `e${parent.toString().slice(0, 7)}=${ + commit.staged ? commit.oid.toString() : commit.oid.toString().slice(0, 7) + }`, + source: parent.toString(), + target: commit.oid.toString(), + animated: commit.staged ? true : false, + arrowHeadType: MarkerType.ArrowClosed + })); +}; + +export default layoutGraph; diff --git a/src/renderer/src/containers/hooks/useGitGraph.ts b/src/renderer/src/containers/hooks/useGitGraph.ts index b5399ff84..1ae9e2718 100644 --- a/src/renderer/src/containers/hooks/useGitGraph.ts +++ b/src/renderer/src/containers/hooks/useGitGraph.ts @@ -1,14 +1,18 @@ import { useCallback, useEffect, useState } from 'react'; +import type { Color, SHA1, UUID } from 'types/app'; +import type { Branch } from 'types/branch'; +import type { Commit } from 'types/commit'; import { useAppDispatch, useAppSelector } from '../../store/hooks'; import branchSelectors from '../../store/selectors/branches'; -import { Branch, isUnmergedBranch } from '../../store/slices/branches'; -import { Commit } from '../../store/slices/commits'; +import { isUnmergedBranch } from '../../store/slices/branches'; import { fetchCommit } from '../../store/thunks/commits'; -import { Color, SHA1, UUID } from '../../store/types'; -import { removeDuplicates, removeUndefined, symmetrical } from '../utils'; import useMap from './useMap'; import usePrevious from './usePrevious'; +const removeDuplicates = window.api.utils.removeDuplicates; +const removeUndefined = window.api.utils.removeUndefined; +const symmetrical = window.api.utils.symmetrical; + export type CommitVertex = Commit & { /** The Repository object UUID that contains branches and this commit in their history. */ repo: UUID; @@ -25,11 +29,11 @@ export type CommitVertex = Commit & { /** Indicator for whether this vertex node represents a possible future git commit. */ staged: boolean; }; -export type GitGraph = Map; +export type CommitGraph = Map; export type BranchLookup = Map; export type useGitGraphHook = { - graph: GitGraph; + graph: CommitGraph; topological: UUID[]; branchLookup: BranchLookup; printGraph: () => void; @@ -235,7 +239,7 @@ export const useGitGraph = (id: UUID): useGitGraphHook => { }, [graph]); const topologicalSortUtil = useCallback( - (key: SHA1, visited: Map, graph: GitGraph, stack: string[]) => { + (key: SHA1, visited: Map, graph: CommitGraph, stack: string[]) => { visited.set(key, true); const vertex = graph.get(key); if (vertex) { @@ -260,7 +264,7 @@ export const useGitGraph = (id: UUID): useGitGraphHook => { * in topological order. */ const topologicalSort = useCallback( - (graph: GitGraph) => { + (graph: CommitGraph) => { const visited: Map = new Map([...graph.keys()].map(k => [k, false])); const stack: string[] = []; for (const key of graph.keys()) { diff --git a/yarn.lock b/yarn.lock index b1afb9c6a..be6ca56bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1062,6 +1062,102 @@ __metadata: languageName: node linkType: hard +"@reactflow/background@npm:11.3.2": + version: 11.3.2 + resolution: "@reactflow/background@npm:11.3.2" + dependencies: + "@reactflow/core": 11.9.2 + classcat: ^5.0.3 + zustand: ^4.4.1 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: 1b572cf47b09ffcf2dcfe84b27ca59fd8a655eb769757a2b9a78fad5e994bf82249ef0473dad645d19295a3f66c49dbbdfe7ccf4d7b9364c9d42aafd83224352 + languageName: node + linkType: hard + +"@reactflow/controls@npm:11.2.2": + version: 11.2.2 + resolution: "@reactflow/controls@npm:11.2.2" + dependencies: + "@reactflow/core": 11.9.2 + classcat: ^5.0.3 + zustand: ^4.4.1 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: f7978f3f5aca304aed0466f29d88851a68640b9306d74db205fad202cd04d362fb183bfd7d96814525eb6ab2ac30d98caafd8aa80734dacfde2dbe736b98dbd8 + languageName: node + linkType: hard + +"@reactflow/core@npm:11.9.2": + version: 11.9.2 + resolution: "@reactflow/core@npm:11.9.2" + 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 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: cf9bf24f272bc7c8b04cbf252de0a3ed9b0af27622827ccb824ffcdd008d8fea1dc2eb8955361576a708f3121cd9bf168a4a573adf0e0be2efa771bfc86e2635 + languageName: node + linkType: hard + +"@reactflow/minimap@npm:11.7.2": + version: 11.7.2 + resolution: "@reactflow/minimap@npm:11.7.2" + dependencies: + "@reactflow/core": 11.9.2 + "@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 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: e08f48462b5bc108f6733e005ab3bfdd2f3f0eb5074f8062e31240fafdb06f136177d02e2ff75e07d2eee4475d509d958bf9b34c278ce1da92f9b1f8914d5d85 + languageName: node + linkType: hard + +"@reactflow/node-resizer@npm:2.2.2": + version: 2.2.2 + resolution: "@reactflow/node-resizer@npm:2.2.2" + dependencies: + "@reactflow/core": 11.9.2 + classcat: ^5.0.4 + d3-drag: ^3.0.0 + d3-selection: ^3.0.0 + zustand: ^4.4.1 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: a3c4f898d8f945aa8eae82a05dfc227f998e367959de10e20cdfa69426319a01dfe8e1677df1de16230d622f94d1ce21b065f613698faaa471346c941bdf3509 + languageName: node + linkType: hard + +"@reactflow/node-toolbar@npm:1.3.2": + version: 1.3.2 + resolution: "@reactflow/node-toolbar@npm:1.3.2" + dependencies: + "@reactflow/core": 11.9.2 + classcat: ^5.0.3 + zustand: ^4.4.1 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: b7710b9604f7fbf27fbe9a63265e7a8dfbf2380c3bc060e98dabe1d86d887a91c64d2847b360d22ddc8b96ee533be7595360d599a2cb10ba145dd86ab90b8142 + languageName: node + linkType: hard + "@reduxjs/toolkit@npm:^1.9.7": version: 1.9.7 resolution: "@reduxjs/toolkit@npm:1.9.7" @@ -1158,6 +1254,285 @@ __metadata: languageName: node linkType: hard +"@types/d3-array@npm:*": + version: 3.0.8 + resolution: "@types/d3-array@npm:3.0.8" + checksum: d5a678f1dc3af05bc6beb675d59a11d9b2ad4ea59fb5b6c2b99980fec947d89a9562f3ac3a8d192a4f38152d3a4b9ee9cf4e2a30788eaacaed5de4a6da514e10 + languageName: node + linkType: hard + +"@types/d3-axis@npm:*": + version: 3.0.4 + resolution: "@types/d3-axis@npm:3.0.4" + dependencies: + "@types/d3-selection": "*" + checksum: 3ebae527d0bcea934935c21e26963f1de6e0b9477568abafd5a6077be72c0bfebe47f1ade732106c57458676aecf93bb1ef9cba3280b740e55796e3ad86571ab + languageName: node + linkType: hard + +"@types/d3-brush@npm:*": + version: 3.0.4 + resolution: "@types/d3-brush@npm:3.0.4" + dependencies: + "@types/d3-selection": "*" + checksum: cb32722cbc822cbaded6aa80f24ec8aa971383ba0e46c40500a9ef9e98b8a33e3cda034379be76e96f93386702334bbb2debb319a35ffb5f2660d188b4cab16c + languageName: node + linkType: hard + +"@types/d3-chord@npm:*": + version: 3.0.4 + resolution: "@types/d3-chord@npm:3.0.4" + checksum: 1ab0a82c605421cc98483a6db99255cfbf44db3477aa920a93909084435a09155d8ee1d817a5639e29b90894915293b177b50000fc656d2f5c65e3d182ba7589 + languageName: node + linkType: hard + +"@types/d3-color@npm:*": + version: 3.1.1 + resolution: "@types/d3-color@npm:3.1.1" + checksum: 1fa67a6d11386c2727c942ab0ddffaca2289ba01d2f3cd0723afc78c291e9515dbdc6de082466d9e9c360d7c67ddbf313707456c0daa9aa14acb2d48cb3bcabb + languageName: node + linkType: hard + +"@types/d3-contour@npm:*": + version: 3.0.4 + resolution: "@types/d3-contour@npm:3.0.4" + dependencies: + "@types/d3-array": "*" + "@types/geojson": "*" + checksum: a4821c51215db9a78be3bfda8a81658355a7ef1b268ad81c274b05444c85e4559b7d1475d3f70c9a7d2c6961bf775422ebc32ffc168236cb55fd86aca7f3b2f5 + languageName: node + linkType: hard + +"@types/d3-delaunay@npm:*": + version: 6.0.2 + resolution: "@types/d3-delaunay@npm:6.0.2" + checksum: beca41e74cc28c8014a50c8a9f04305d9ab0951ee8aea7a021776c84faf8781829de9c2a46ccbc5c87617df446f634b09cc42445c12a3d4b77896bdcc3bab99f + languageName: node + linkType: hard + +"@types/d3-dispatch@npm:*": + version: 3.0.4 + resolution: "@types/d3-dispatch@npm:3.0.4" + checksum: 9ca79b6df312b91fb98a89d9ef52c49f8a9dc2bdab5409650f00df9e2d775ce8f726da3d6a5b72e23f3b96df2ab01a622e77f87c7a476e53e1231a23f538a94d + languageName: node + linkType: hard + +"@types/d3-drag@npm:*, @types/d3-drag@npm:^3.0.1": + version: 3.0.4 + resolution: "@types/d3-drag@npm:3.0.4" + dependencies: + "@types/d3-selection": "*" + checksum: c9fa0744737e15fd97c421c25a71334c33936a6669d4671dd9b7dd56f84c9b3f0170711299262edd35a648d28547cd374f1b617f5d160efa9ee93d3fcf80b170 + languageName: node + linkType: hard + +"@types/d3-dsv@npm:*": + version: 3.0.4 + resolution: "@types/d3-dsv@npm:3.0.4" + checksum: 5f25627e43d4e2b68f6d2d15f3313c980b8af9eebee2fbda6c9d8c28b5885f8ae63f87df817575e97bfca123fdc1fc703b5d7eb7fed353bbb2a80d78b62e5753 + languageName: node + linkType: hard + +"@types/d3-ease@npm:*": + version: 3.0.0 + resolution: "@types/d3-ease@npm:3.0.0" + checksum: 1be7c993643b5a08332e0ee146375a3845545d8deb423db5d152e0b061524385d2345ceccf968f75f605247b940dd3f9a144335fee2e7d935cddaf187afb7095 + languageName: node + linkType: hard + +"@types/d3-fetch@npm:*": + version: 3.0.4 + resolution: "@types/d3-fetch@npm:3.0.4" + dependencies: + "@types/d3-dsv": "*" + checksum: b7b0876cd799ac224fca4be17fed803760859a088d4ac8912aa8440f1d1d98175a29a8ccd36d4e592c06744b4da045565f5127f6364ff3a80e6493544b0d126e + languageName: node + linkType: hard + +"@types/d3-force@npm:*": + version: 3.0.6 + resolution: "@types/d3-force@npm:3.0.6" + checksum: 092d7a4efc1bef06de4a087e1bdb609e21588429ba2ce978785bb13e1ed7371dd08692408379d9582e03ed945c6cf117dff3b3ed1dd2141d94aac9e12994498d + languageName: node + linkType: hard + +"@types/d3-format@npm:*": + version: 3.0.2 + resolution: "@types/d3-format@npm:3.0.2" + checksum: 6db22e3f713bc3d14010085e0a0bb385dc3020f9613926179adf644f4861ca4bad4d4c04be0a14b2c8cd85b4dde70930c20ee02ef14feeb3bd22ca40ded01fe8 + languageName: node + linkType: hard + +"@types/d3-geo@npm:*": + version: 3.0.5 + resolution: "@types/d3-geo@npm:3.0.5" + dependencies: + "@types/geojson": "*" + checksum: 33535cdc3b159c81d1f791b1d29cc35d57b9daa5c93e5fe9a8d6b22f47a99f1e5c64199960ed4ca6e9a9e9eaacac2362c59d6b89982bda2adbdeb3d2ccbd81a0 + languageName: node + linkType: hard + +"@types/d3-hierarchy@npm:*": + version: 3.1.4 + resolution: "@types/d3-hierarchy@npm:3.1.4" + checksum: c68d7c55ade4d969d1f077009605f253104c76ea95544f52b5e196dac9f7bd3f2810de2b4b52e471e4c2eeaa916aa12dd132baff6704a101be88f144b2e78978 + languageName: node + linkType: hard + +"@types/d3-interpolate@npm:*": + version: 3.0.2 + resolution: "@types/d3-interpolate@npm:3.0.2" + dependencies: + "@types/d3-color": "*" + checksum: 86a1c4853c70663cba970d5c57dca995f604a70684b17bc5ff3ba83ce4e2c13f0105af29bb383ee70c4ccb1920c0dd4aeb352ae8721864d4a503a110260b9b13 + languageName: node + linkType: hard + +"@types/d3-path@npm:*": + version: 3.0.0 + resolution: "@types/d3-path@npm:3.0.0" + checksum: af7f45ea912cddd794c03384baba856f11e1f9b57a49d05a66a61968dafaeb86e0e42394883118b9b8ccadce21a5f25b1f9a88ad05235e1dc6d24c3e34a379ff + languageName: node + linkType: hard + +"@types/d3-polygon@npm:*": + version: 3.0.0 + resolution: "@types/d3-polygon@npm:3.0.0" + checksum: 2b4fbd864e6e40c8f63c56c46ed27f63c18d4b9b8c6f03c48bda048bc29e0d77c01763122a3cf85cce89acb12c4a65f3cd7b1d87b53ced8bf6ce341831b30190 + languageName: node + linkType: hard + +"@types/d3-quadtree@npm:*": + version: 3.0.3 + resolution: "@types/d3-quadtree@npm:3.0.3" + checksum: f5f0e797de1f7bc3691b1fb17cd320ee90e2fd61c736f4745b842a111bd947d83932da0aa63d8fd70a25bfda6e6d3af2f9d9b670521df80441ef192940eea1ec + languageName: node + linkType: hard + +"@types/d3-random@npm:*": + version: 3.0.1 + resolution: "@types/d3-random@npm:3.0.1" + checksum: 7ed9f83ee3c0b02510767bf15551984c229491d694c3c9a45a8eb80b27f7eb5f9096a48011c8cae6787b3e36321a6aaf2fe0efed8685a669481927a3d08e6b8a + languageName: node + linkType: hard + +"@types/d3-scale-chromatic@npm:*": + version: 3.0.0 + resolution: "@types/d3-scale-chromatic@npm:3.0.0" + checksum: e06afffd2725570aa90cb3050eb96a94727264948d9256e56807ab582aba379168d84d1d98bcaa275bf38375148b35dfe13697e06fc7565dd17ac7e2acb11980 + languageName: node + linkType: hard + +"@types/d3-scale@npm:*": + version: 4.0.5 + resolution: "@types/d3-scale@npm:4.0.5" + dependencies: + "@types/d3-time": "*" + checksum: f462a3f2ec8767bb6762953ed65087b4037d9f8c57c84b1ffc62d55b7633975611e053c2f36cef063bf123196fbb5741b257760b2a745ede9544851f7d150d60 + languageName: node + linkType: hard + +"@types/d3-selection@npm:*, @types/d3-selection@npm:^3.0.3": + version: 3.0.7 + resolution: "@types/d3-selection@npm:3.0.7" + checksum: 715a0c7a78732650ae70b3487b3b6432b063482c1937bcd52c8b7a201563103170fdaa1f8c0ace882062521ac009f07fefb41198c8c43c5d3c518f8368c459d6 + languageName: node + linkType: hard + +"@types/d3-shape@npm:*": + version: 3.1.3 + resolution: "@types/d3-shape@npm:3.1.3" + dependencies: + "@types/d3-path": "*" + checksum: ad17781ab4ce4b796954b86de7e14566c731726d39a1db7d73eaf50668a71e996d715450a0ff9f2720755e1b8643c3e88d47d45101a75c9d4ddbef51a636f6a0 + languageName: node + linkType: hard + +"@types/d3-time-format@npm:*": + version: 4.0.1 + resolution: "@types/d3-time-format@npm:4.0.1" + checksum: 481e6adadadf2a2c906865bc8a6b454b268e0ca0e7ce188cf9fe84eb0eb744229847f298a015f5a70a73f363751be442f70c0f33e2e79deacd484e37e41d15dc + languageName: node + linkType: hard + +"@types/d3-time@npm:*": + version: 3.0.1 + resolution: "@types/d3-time@npm:3.0.1" + checksum: 32b0c4d33574df167717f37d5d69f60fa1aeebb0218823239734a48e6a33024a7f5aadd079e94d833b42bfc0c3e2d9fa7d7ac93f75981f59ef2a46838d008a61 + languageName: node + linkType: hard + +"@types/d3-timer@npm:*": + version: 3.0.0 + resolution: "@types/d3-timer@npm:3.0.0" + checksum: 1ec86b3808de6ecfa93cfdf34254761069658af0cc1d9540e8353dbcba161cdf1296a0724187bd17433b2ff16563115fd20b85fc89d5e809ff28f9b1ab134b42 + languageName: node + linkType: hard + +"@types/d3-transition@npm:*": + version: 3.0.5 + resolution: "@types/d3-transition@npm:3.0.5" + dependencies: + "@types/d3-selection": "*" + checksum: 2132ae4ae742ff8c93a932e5538d205f9364178be2ad21aa3d3afc02cafb4a7334082521e95a72c569e6fe3f2949d64c39d732c12aea4ef7bbcb3f324096df86 + languageName: node + linkType: hard + +"@types/d3-zoom@npm:*, @types/d3-zoom@npm:^3.0.1": + version: 3.0.5 + resolution: "@types/d3-zoom@npm:3.0.5" + dependencies: + "@types/d3-interpolate": "*" + "@types/d3-selection": "*" + checksum: acff15a30b2b81a99b46692c7aacc110c635a272e8d7e87af6aa5a01ebe9ebcafcaf475399d79ec73461a5ef037041dade49a6371d7587b759710123539b81b0 + languageName: node + linkType: hard + +"@types/d3@npm:^7.4.0": + version: 7.4.1 + resolution: "@types/d3@npm:7.4.1" + 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": "*" + checksum: 6abba93db07ded60280f74b1825c19035fd0551d28c3a99a18bb3e6ac7caf6dbadd9e0f929ca29dab6509380670febd8c981f81229ebebb3911ad08599b5e89d + languageName: node + linkType: hard + +"@types/dagre@npm:^0": + version: 0.7.50 + resolution: "@types/dagre@npm:0.7.50" + checksum: a128048b5202c501a4595bbc17288aafbef90f3535e79385ddaf0842237e69aa5998dbc12bc2867244eefe3fb6c5026d9785bfdedea46d813f006066e06e8f44 + languageName: node + linkType: hard + "@types/diff@npm:^5.0.5": version: 5.0.5 resolution: "@types/diff@npm:5.0.5" @@ -1175,6 +1550,13 @@ __metadata: languageName: node linkType: hard +"@types/geojson@npm:*": + version: 7946.0.11 + resolution: "@types/geojson@npm:7946.0.11" + checksum: 93fe7e9c5d16b0a836058ee4b87f8b022d53893d5a8e7ab52c8bf64d12039d076df99f3764c1c4da13abaa1001115fd899330edba4d8d8fa4a4feb162650b22c + languageName: node + linkType: hard + "@types/git-config-path@npm:^2.0.2": version: 2.0.2 resolution: "@types/git-config-path@npm:2.0.2" @@ -1655,6 +2037,13 @@ __metadata: languageName: node linkType: hard +"classcat@npm:^5.0.3, classcat@npm:^5.0.4": + version: 5.0.4 + resolution: "classcat@npm:5.0.4" + checksum: 77373c58fa15ad2d4494b5c73c7ed2f859e7126227c357a3931e3f2a28e45dd9d8e779c1c8d3a8ba9ece833b21f14cd79160a7999973e28888d7e47f56c83170 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -1785,6 +2174,98 @@ __metadata: languageName: node linkType: hard +"d3-color@npm:1 - 3": + version: 3.1.0 + resolution: "d3-color@npm:3.1.0" + checksum: 4931fbfda5d7c4b5cfa283a13c91a954f86e3b69d75ce588d06cde6c3628cebfc3af2069ccf225e982e8987c612aa7948b3932163ce15eb3c11cd7c003f3ee3b + languageName: node + linkType: hard + +"d3-dispatch@npm:1 - 3": + version: 3.0.1 + resolution: "d3-dispatch@npm:3.0.1" + checksum: fdfd4a230f46463e28e5b22a45dd76d03be9345b605e1b5dc7d18bd7ebf504e6c00ae123fd6d03e23d9e2711e01f0e14ea89cd0632545b9f0c00b924ba4be223 + languageName: node + linkType: hard + +"d3-drag@npm:2 - 3, d3-drag@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-drag@npm:3.0.0" + dependencies: + d3-dispatch: 1 - 3 + d3-selection: 3 + checksum: d297231e60ecd633b0d076a63b4052b436ddeb48b5a3a11ff68c7e41a6774565473a6b064c5e9256e88eca6439a917ab9cea76032c52d944ddbf4fd289e31111 + languageName: node + linkType: hard + +"d3-ease@npm:1 - 3": + version: 3.0.1 + resolution: "d3-ease@npm:3.0.1" + checksum: 06e2ee5326d1e3545eab4e2c0f84046a123dcd3b612e68858219aa034da1160333d9ce3da20a1d3486d98cb5c2a06f7d233eee1bc19ce42d1533458bd85dedcd + languageName: node + linkType: hard + +"d3-interpolate@npm:1 - 3": + version: 3.0.1 + resolution: "d3-interpolate@npm:3.0.1" + dependencies: + d3-color: 1 - 3 + checksum: a42ba314e295e95e5365eff0f604834e67e4a3b3c7102458781c477bd67e9b24b6bb9d8e41ff5521050a3f2c7c0c4bbbb6e187fd586daa3980943095b267e78b + languageName: node + linkType: hard + +"d3-selection@npm:2 - 3, d3-selection@npm:3, d3-selection@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-selection@npm:3.0.0" + checksum: f4e60e133309115b99f5b36a79ae0a19d71ee6e2d5e3c7216ef3e75ebd2cb1e778c2ed2fa4c01bef35e0dcbd96c5428f5bd6ca2184fe2957ed582fde6841cbc5 + languageName: node + linkType: hard + +"d3-timer@npm:1 - 3": + version: 3.0.1 + resolution: "d3-timer@npm:3.0.1" + checksum: 1cfddf86d7bca22f73f2c427f52dfa35c49f50d64e187eb788dcad6e927625c636aa18ae4edd44d084eb9d1f81d8ca4ec305dae7f733c15846a824575b789d73 + languageName: node + linkType: hard + +"d3-transition@npm:2 - 3": + version: 3.0.1 + resolution: "d3-transition@npm:3.0.1" + dependencies: + d3-color: 1 - 3 + d3-dispatch: 1 - 3 + d3-ease: 1 - 3 + d3-interpolate: 1 - 3 + d3-timer: 1 - 3 + peerDependencies: + d3-selection: 2 - 3 + checksum: cb1e6e018c3abf0502fe9ff7b631ad058efb197b5e14b973a410d3935aead6e3c07c67d726cfab258e4936ef2667c2c3d1cd2037feb0765f0b4e1d3b8788c0ea + languageName: node + linkType: hard + +"d3-zoom@npm:^3.0.0": + version: 3.0.0 + resolution: "d3-zoom@npm:3.0.0" + dependencies: + d3-dispatch: 1 - 3 + d3-drag: 2 - 3 + d3-interpolate: 1 - 3 + d3-selection: 2 - 3 + d3-transition: 2 - 3 + checksum: 8056e3527281cfd1ccbcbc458408f86973b0583e9dac00e51204026d1d36803ca437f970b5736f02fafed9f2b78f145f72a5dbc66397e02d4d95d4c594b8ff54 + languageName: node + linkType: hard + +"dagre@npm:^0.8.5": + version: 0.8.5 + resolution: "dagre@npm:0.8.5" + dependencies: + graphlib: ^2.1.8 + lodash: ^4.17.15 + checksum: b9fabd425466d7b662381c2e457b1adda996bc4169aa60121d4de50250d83a6bb4b77d559e2f887c9c564caea781c2a377fd4de2a76c15f8f04ec3d086ca95f9 + languageName: node + linkType: hard + "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": version: 4.3.4 resolution: "debug@npm:4.3.4" @@ -2376,6 +2857,15 @@ __metadata: languageName: node linkType: hard +"graphlib@npm:^2.1.8": + version: 2.1.8 + resolution: "graphlib@npm:2.1.8" + dependencies: + lodash: ^4.17.15 + checksum: 1e0db4dea1c8187d59103d5582ecf32008845ebe2103959a51d22cb6dae495e81fb9263e22c922bca3aaecb56064a45cd53424e15a4626cfb5a0c52d0aff61a8 + languageName: node + linkType: hard + "has-flag@npm:^3.0.0": version: 3.0.0 resolution: "has-flag@npm:3.0.0" @@ -2723,6 +3213,13 @@ __metadata: languageName: node linkType: hard +"lodash@npm:^4.17.15": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + "loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -3403,6 +3900,23 @@ __metadata: languageName: node linkType: hard +"reactflow@npm:^11.9.2": + version: 11.9.2 + resolution: "reactflow@npm:11.9.2" + dependencies: + "@reactflow/background": 11.3.2 + "@reactflow/controls": 11.2.2 + "@reactflow/core": 11.9.2 + "@reactflow/minimap": 11.7.2 + "@reactflow/node-resizer": 2.2.2 + "@reactflow/node-toolbar": 1.3.2 + peerDependencies: + react: ">=17" + react-dom: ">=17" + checksum: 3fd2aa2558fc99d73097359f46fe54af98a4192fe08c19020d2ead5923539ab74c3591b560fcde3d9c3485b056c24971fdeefec0118fc00b2296b675674498f5 + languageName: node + linkType: hard + "readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" @@ -3814,6 +4328,7 @@ __metadata: "@mui/system": ^5.14.12 "@mui/x-tree-view": ^6.0.0-beta.0 "@reduxjs/toolkit": ^1.9.7 + "@types/dagre": ^0 "@types/diff": ^5.0.5 "@types/fs-extra": ^11.0.2 "@types/git-config-path": ^2.0.2 @@ -3829,6 +4344,7 @@ __metadata: "@types/sha1": ^1.1.3 "@types/valid-url": ^1.0.5 "@vitejs/plugin-react": ^4.1.0 + dagre: ^0.8.5 diff: ^5.1.0 dot-prop: ^8.0.2 electron: 26.3.0 @@ -3851,6 +4367,7 @@ __metadata: react-dom: ^18.2.0 react-error-boundary: ^4.0.11 react-redux: ^8.1.3 + reactflow: ^11.9.2 reselect: ^4.1.8 rimraf: ^5.0.5 semver: ^7.5.4 @@ -3985,7 +4502,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.0.0": +"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.0.0": version: 1.2.0 resolution: "use-sync-external-store@npm:1.2.0" peerDependencies: @@ -4134,3 +4651,23 @@ __metadata: checksum: 2cac84540f65c64ccc1683c267edce396b26b1e931aa429660aefac8fbe0188167b7aee815a3c22fa59a28a58d898d1a2b1825048f834d8d629f4c2a5d443801 languageName: node linkType: hard + +"zustand@npm:^4.4.1": + version: 4.4.3 + resolution: "zustand@npm:4.4.3" + dependencies: + use-sync-external-store: 1.2.0 + peerDependencies: + "@types/react": ">=16.8" + immer: ">=9.0" + react: ">=16.8" + peerDependenciesMeta: + "@types/react": + optional: true + immer: + optional: true + react: + optional: true + checksum: 3ed16457a3a4b9fe6523f52d397af37db8fab5687dd21a23ede25f657346b25df374490baea27f10d416faae5e96acf7b4065c86044746d775881d266d1500f0 + languageName: node + linkType: hard From 5b3b76d56d34975dd922a2a33da121c1acb8c194 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Mon, 9 Oct 2023 15:02:49 -0700 Subject: [PATCH 17/21] Yarn updated to 3.6.4 --- .../{yarn-3.6.3.cjs => yarn-3.6.4.cjs} | 262 +++++++++--------- .yarnrc.yml | 6 +- package.json | 14 +- yarn.lock | 123 ++++---- 4 files changed, 207 insertions(+), 198 deletions(-) rename .yarn/releases/{yarn-3.6.3.cjs => yarn-3.6.4.cjs} (91%) diff --git a/.yarn/releases/yarn-3.6.3.cjs b/.yarn/releases/yarn-3.6.4.cjs similarity index 91% rename from .yarn/releases/yarn-3.6.3.cjs rename to .yarn/releases/yarn-3.6.4.cjs index 9837c3028..ebd9272da 100755 --- a/.yarn/releases/yarn-3.6.3.cjs +++ b/.yarn/releases/yarn-3.6.4.cjs @@ -1,27 +1,27 @@ #!/usr/bin/env node /* eslint-disable */ //prettier-ignore -(()=>{var Dge=Object.create;var lS=Object.defineProperty;var kge=Object.getOwnPropertyDescriptor;var Rge=Object.getOwnPropertyNames;var Fge=Object.getPrototypeOf,Nge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Tge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Lge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Rge(e))!Nge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=kge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Dge(Fge(r)):{},Lge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var PK=w((z7e,xK)=>{xK.exports=vK;vK.sync=ife;var QK=J("fs");function rfe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{FK.exports=kK;kK.sync=nfe;var DK=J("fs");function kK(r,e,t){DK.stat(r,function(i,n){t(i,i?!1:RK(n,e))})}function nfe(r,e){return RK(DK.statSync(r),e)}function RK(r,e){return r.isFile()&&sfe(r,e)}function sfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var LK=w((Z7e,TK)=>{var X7e=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=PK():lI=NK();TK.exports=SS;SS.sync=ofe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function ofe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var YK=w((_7e,GK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",MK=J("path"),afe=Dg?";":":",OK=LK(),KK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),UK=(r,e)=>{let t=e.colon||afe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},HK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=UK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(KK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=MK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];OK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Afe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=UK(r,e),s=[];for(let o=0;o{"use strict";var jK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=jK;vS.exports.default=jK});var VK=w((eZe,zK)=>{"use strict";var JK=J("path"),lfe=YK(),cfe=qK();function WK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=lfe.sync(r.command,{path:t[cfe({env:t})],pathExt:e?JK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=JK.resolve(n?r.options.cwd:"",o)),o}function ufe(r){return WK(r)||WK(r,!0)}zK.exports=ufe});var XK=w((tZe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function gfe(r){return r=r.replace(xS,"^$1"),r}function ffe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=gfe;PS.exports.argument=ffe});var _K=w((rZe,ZK)=>{"use strict";ZK.exports=/^#!(.*)/});var eU=w((iZe,$K)=>{"use strict";var hfe=_K();$K.exports=(r="")=>{let e=r.match(hfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var rU=w((nZe,tU)=>{"use strict";var DS=J("fs"),pfe=eU();function dfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return pfe(t.toString())}tU.exports=dfe});var oU=w((sZe,sU)=>{"use strict";var Cfe=J("path"),iU=VK(),nU=XK(),mfe=rU(),Efe=process.platform==="win32",Ife=/\.(?:com|exe)$/i,yfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wfe(r){r.file=iU(r);let e=r.file&&mfe(r.file);return e?(r.args.unshift(r.file),r.command=e,iU(r)):r.file}function Bfe(r){if(!Efe)return r;let e=wfe(r),t=!Ife.test(e);if(r.options.forceShell||t){let i=yfe.test(e);r.command=Cfe.normalize(r.command),r.command=nU.command(r.command),r.args=r.args.map(s=>nU.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function bfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Bfe(i)}sU.exports=bfe});var lU=w((oZe,AU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Qfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=aU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function aU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function Sfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}AU.exports={hookChildProcess:Qfe,verifyENOENT:aU,verifyENOENTSync:Sfe,notFoundError:RS}});var TS=w((aZe,kg)=>{"use strict";var cU=J("child_process"),FS=oU(),NS=lU();function uU(r,e,t){let i=FS(r,e,t),n=cU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function vfe(r,e,t){let i=FS(r,e,t),n=cU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=uU;kg.exports.spawn=uU;kg.exports.sync=vfe;kg.exports._parse=FS;kg.exports._enoent=NS});var fU=w((AZe,gU)=>{"use strict";function xfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}xfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Mr="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ks=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),fa="'",dA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',CA=me('""',!1),ha=function(){return{type:"text",text:""}},wp='"',mA=me('"',!1),EA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Tl=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},yo=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,wo=Je(["'"],!0,!1),Fn=function(m){return m.join("")},fg=/^[^$"]/,bt=Je(["$",'"'],!0,!1),Ll=`\\ +(()=>{var Dge=Object.create;var lS=Object.defineProperty;var kge=Object.getOwnPropertyDescriptor;var Rge=Object.getOwnPropertyNames;var Fge=Object.getPrototypeOf,Nge=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var Tge=(r,e)=>()=>(r&&(e=r(r=0)),e);var w=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ut=(r,e)=>{for(var t in e)lS(r,t,{get:e[t],enumerable:!0})},Lge=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Rge(e))!Nge.call(r,n)&&n!==t&&lS(r,n,{get:()=>e[n],enumerable:!(i=kge(e,n))||i.enumerable});return r};var Pe=(r,e,t)=>(t=r!=null?Dge(Fge(r)):{},Lge(e||!r||!r.__esModule?lS(t,"default",{value:r,enumerable:!0}):t,r));var PK=w((zXe,xK)=>{xK.exports=vK;vK.sync=ife;var QK=J("fs");function rfe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{FK.exports=kK;kK.sync=nfe;var DK=J("fs");function kK(r,e,t){DK.stat(r,function(i,n){t(i,i?!1:RK(n,e))})}function nfe(r,e){return RK(DK.statSync(r),e)}function RK(r,e){return r.isFile()&&sfe(r,e)}function sfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var LK=w((ZXe,TK)=>{var XXe=J("fs"),lI;process.platform==="win32"||global.TESTING_WINDOWS?lI=PK():lI=NK();TK.exports=SS;SS.sync=ofe;function SS(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){SS(r,e||{},function(s,o){s?n(s):i(o)})})}lI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function ofe(r,e){try{return lI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var YK=w((_Xe,GK)=>{var Dg=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",OK=J("path"),afe=Dg?";":":",MK=LK(),KK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),UK=(r,e)=>{let t=e.colon||afe,i=r.match(/\//)||Dg&&r.match(/\\/)?[""]:[...Dg?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=Dg?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Dg?n.split(t):[""];return Dg&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},HK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=UK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(KK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=OK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];MK(c+p,{pathExt:s},(C,y)=>{if(!C&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Afe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=UK(r,e),s=[];for(let o=0;o{"use strict";var jK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};vS.exports=jK;vS.exports.default=jK});var VK=w((eZe,zK)=>{"use strict";var JK=J("path"),lfe=YK(),cfe=qK();function WK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=lfe.sync(r.command,{path:t[cfe({env:t})],pathExt:e?JK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=JK.resolve(n?r.options.cwd:"",o)),o}function ufe(r){return WK(r)||WK(r,!0)}zK.exports=ufe});var XK=w((tZe,PS)=>{"use strict";var xS=/([()\][%!^"`<>&|;, *?])/g;function gfe(r){return r=r.replace(xS,"^$1"),r}function ffe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(xS,"^$1"),e&&(r=r.replace(xS,"^$1")),r}PS.exports.command=gfe;PS.exports.argument=ffe});var _K=w((rZe,ZK)=>{"use strict";ZK.exports=/^#!(.*)/});var eU=w((iZe,$K)=>{"use strict";var hfe=_K();$K.exports=(r="")=>{let e=r.match(hfe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var rU=w((nZe,tU)=>{"use strict";var DS=J("fs"),pfe=eU();function dfe(r){let t=Buffer.alloc(150),i;try{i=DS.openSync(r,"r"),DS.readSync(i,t,0,150,0),DS.closeSync(i)}catch{}return pfe(t.toString())}tU.exports=dfe});var oU=w((sZe,sU)=>{"use strict";var Cfe=J("path"),iU=VK(),nU=XK(),mfe=rU(),Efe=process.platform==="win32",Ife=/\.(?:com|exe)$/i,yfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wfe(r){r.file=iU(r);let e=r.file&&mfe(r.file);return e?(r.args.unshift(r.file),r.command=e,iU(r)):r.file}function Bfe(r){if(!Efe)return r;let e=wfe(r),t=!Ife.test(e);if(r.options.forceShell||t){let i=yfe.test(e);r.command=Cfe.normalize(r.command),r.command=nU.command(r.command),r.args=r.args.map(s=>nU.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function bfe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Bfe(i)}sU.exports=bfe});var lU=w((oZe,AU)=>{"use strict";var kS=process.platform==="win32";function RS(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function Qfe(r,e){if(!kS)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=aU(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function aU(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawn"):null}function Sfe(r,e){return kS&&r===1&&!e.file?RS(e.original,"spawnSync"):null}AU.exports={hookChildProcess:Qfe,verifyENOENT:aU,verifyENOENTSync:Sfe,notFoundError:RS}});var TS=w((aZe,kg)=>{"use strict";var cU=J("child_process"),FS=oU(),NS=lU();function uU(r,e,t){let i=FS(r,e,t),n=cU.spawn(i.command,i.args,i.options);return NS.hookChildProcess(n,i),n}function vfe(r,e,t){let i=FS(r,e,t),n=cU.spawnSync(i.command,i.args,i.options);return n.error=n.error||NS.verifyENOENTSync(n.status,i),n}kg.exports=uU;kg.exports.spawn=uU;kg.exports.sync=vfe;kg.exports._parse=FS;kg.exports._enoent=NS});var fU=w((AZe,gU)=>{"use strict";function xfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function Zl(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Zl)}xfe(Zl,Error);Zl.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ie=me(">>",!1),de=">&",_e=me(">&",!1),Pt=">",It=me(">",!1),Or="<<<",ii=me("<<<",!1),gi="<&",hr=me("<&",!1),fi="<",ni=me("<",!1),Ks=function(m){return{type:"argument",segments:[].concat(...m)}},pr=function(m){return m},Ii="$'",rs=me("$'",!1),fa="'",dA=me("'",!1),cg=function(m){return[{type:"text",text:m}]},is='""',CA=me('""',!1),ha=function(){return{type:"text",text:""}},wp='"',mA=me('"',!1),EA=function(m){return m},wr=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Tl=function(m){return{type:"shell",shell:m,quoted:!0}},ug=function(m){return{type:"variable",...m,quoted:!0}},yo=function(m){return{type:"text",text:m}},gg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Bp=function(m){return{type:"shell",shell:m,quoted:!1}},bp=function(m){return{type:"variable",...m,quoted:!1}},vr=function(m){return{type:"glob",pattern:m}},se=/^[^']/,wo=Je(["'"],!0,!1),Fn=function(m){return m.join("")},fg=/^[^$"]/,bt=Je(["$",'"'],!0,!1),Ll=`\\ `,Nn=me(`\\ -`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),Bo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ml="\\b",Qp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),IA=function(){return"\f"},zi="\\n",Ol=me("\\n",!1),Xe=function(){return` -`},pa="\\r",pg=me("\\r",!1),ME=function(){return"\r"},Dp="\\t",OE=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",yA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),bo=nt(),wA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,Q,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+N.join(""))}},Fp=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",BA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,Q,N){return{type:Q==="*"?"multiplication":"division",right:N}},js=function(m,Q){return Q.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,Q,N){return{type:Q==="+"?"addition":"subtraction",right:N}},bA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),JQ=":-",k1=me(":-",!1),R1=function(m,Q){return{name:m,defaultValue:Q}},WQ=":-}",F1=me(":-}",!1),N1=function(m){return{name:m,defaultValue:[]}},zQ=":+",T1=me(":+",!1),L1=function(m,Q){return{name:m,alternativeValue:Q}},VQ=":+}",M1=me(":+}",!1),O1=function(m){return{name:m,alternativeValue:[]}},XQ=function(m){return{name:m}},K1="$",U1=me("$",!1),H1=function(m){return e.isGlobPattern(m)},G1=function(m){return m},ZQ=/^[a-zA-Z0-9_]/,_Q=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$Q=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Y1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),b=0,Oe=0,QA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Oe,b)}function Z(){return Et(Oe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Ri([lt(m)],r.substring(Oe,b),Q)}function we(m,Q){throw Q=Q!==void 0?Q:Et(Oe,b),Mn(m,Q)}function me(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Je(m,Q,N){return{type:"class",parts:m,inverted:Q,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var Q=QA[m],N;if(Q)return Q;for(N=m-1;!QA[N];)N--;for(Q=QA[N],Q={line:Q.line,column:Q.column};Nd&&(d=b,E=[]),E.push(m))}function Mn(m,Q){return new Zl(m,null,null,Q)}function Ri(m,Q,N){return new Zl(Zl.buildMessage(m,Q),m,Q,N)}function SA(){var m,Q;return m=b,Q=Or(),Q===t&&(Q=null),Q!==t&&(Oe=m,Q=s(Q)),m=Q,m}function Or(){var m,Q,N,U,ce;if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Oe=m,Q=o(Q,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Oe=m,Q=a(Q,U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function os(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=Or(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=l(N),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Ea(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&be(f))),m}function Kr(){var m,Q,N;return m=b,Q=j1(),Q!==t?(N=fge(),N===t&&(N=null),N!==t?(Oe=m,Q=h(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function fge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=p(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function hge(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&be(y)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&be(v))),m}function j1(){var m,Q,N;return m=b,Q=Cge(),Q!==t?(N=pge(),N===t&&(N=null),N!==t?(Oe=m,Q=D(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function pge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=dge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=j1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=T(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function dge(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&be(V))),m}function qE(){var m,Q,N,U,ce,Se;if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t)if(U=W1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Oe=m,Q=A(Q,U),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Cge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===40?(N=ge,b++):(N=t,I===0&&be(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===41?(ht=M,b++):(ht=t,I===0&&be(F)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=ue(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===123?(N=pe,b++):(N=t,I===0&&be(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Or(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===125?(ht=Fe,b++):(ht=t,I===0&&be(Ne)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Oe=m,Q=oe(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){for(N=[],U=qE();U!==t;)N.push(U),U=qE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=J1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=J1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Oe=m,Q=le(N,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=qE(),U!==t)for(;U!==t;)N.push(U),U=qE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=Be(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function q1(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=JE(),U!==t)for(;U!==t;)N.push(U),U=JE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Oe=m,Q=fe(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function J1(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t?(N=Np(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();Q!==t?(N=JE(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function Np(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(qe.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(ne)),N===t&&(N=null),N!==t?(U=mge(),U!==t?(ce=JE(),ce!==t?(Oe=m,Q=Y(N,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function mge(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&be(ie)),m===t&&(r.substr(b,2)===de?(m=de,b+=2):(m=t,I===0&&be(_e)),m===t&&(r.charCodeAt(b)===62?(m=Pt,b++):(m=t,I===0&&be(It)),m===t&&(r.substr(b,3)===Mr?(m=Mr,b+=3):(m=t,I===0&&be(ii)),m===t&&(r.substr(b,2)===gi?(m=gi,b+=2):(m=t,I===0&&be(hr)),m===t&&(r.charCodeAt(b)===60?(m=fi,b++):(m=t,I===0&&be(ni))))))),m}function JE(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(N=W1(),N!==t?(Oe=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m}function W1(){var m,Q,N;if(m=b,Q=[],N=z1(),N!==t)for(;N!==t;)Q.push(N),N=z1();else Q=t;return Q!==t&&(Oe=m,Q=Ks(Q)),m=Q,m}function z1(){var m,Q;return m=b,Q=Ege(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ige(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=yge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=wge(),Q!==t&&(Oe=m,Q=pr(Q)),m=Q))),m}function Ege(){var m,Q,N,U;return m=b,r.substr(b,2)===Ii?(Q=Ii,b+=2):(Q=t,I===0&&be(rs)),Q!==t?(N=Qge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function Ige(){var m,Q,N,U;return m=b,r.charCodeAt(b)===39?(Q=fa,b++):(Q=t,I===0&&be(dA)),Q!==t?(N=Bge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Oe=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function yge(){var m,Q,N,U;if(m=b,r.substr(b,2)===is?(Q=is,b+=2):(Q=t,I===0&&be(CA)),Q!==t&&(Oe=m,Q=ha()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=wp,b++):(Q=t,I===0&&be(mA)),Q!==t){for(N=[],U=V1();U!==t;)N.push(U),U=V1();N!==t?(r.charCodeAt(b)===34?(U=wp,b++):(U=t,I===0&&be(mA)),U!==t?(Oe=m,Q=EA(N),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function wge(){var m,Q,N;if(m=b,Q=[],N=X1(),N!==t)for(;N!==t;)Q.push(N),N=X1();else Q=t;return Q!==t&&(Oe=m,Q=EA(Q)),m=Q,m}function V1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Oe=m,Q=wr(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Oe=m,Q=Tl(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=ug(Q)),m=Q,m===t&&(m=b,Q=bge(),Q!==t&&(Oe=m,Q=yo(Q)),m=Q))),m}function X1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Oe=m,Q=gg(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Oe=m,Q=Bp(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=bp(Q)),m=Q,m===t&&(m=b,Q=xge(),Q!==t&&(Oe=m,Q=vr(Q)),m=Q,m===t&&(m=b,Q=vge(),Q!==t&&(Oe=m,Q=yo(Q)),m=Q)))),m}function Bge(){var m,Q,N;for(m=b,Q=[],se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));N!==t;)Q.push(N),se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function bge(){var m,Q,N;if(m=b,Q=[],N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt))),N!==t)for(;N!==t;)Q.push(N),N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt)));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function Z1(){var m,Q,N;return m=b,r.substr(b,2)===Ll?(Q=Ll,b+=2):(Q=t,I===0&&be(Nn)),Q!==t&&(Oe=m,Q=ns()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Bo.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(At)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t)),m}function Qge(){var m,Q,N;for(m=b,Q=[],N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));N!==t;)Q.push(N),N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function _1(){var m,Q,N;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&be(Lt)),Q!==t&&(Oe=m,Q=hg()),m=Q,m===t&&(m=b,r.substr(b,2)===Ml?(Q=Ml,b+=2):(Q=t,I===0&&be(Qp)),Q!==t&&(Oe=m,Q=Sp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(vp.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(xp)),N!==t?(Oe=m,Q=Pp(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&be(yt)),Q!==t&&(Oe=m,Q=IA()),m=Q,m===t&&(m=b,r.substr(b,2)===zi?(Q=zi,b+=2):(Q=t,I===0&&be(Ol)),Q!==t&&(Oe=m,Q=Xe()),m=Q,m===t&&(m=b,r.substr(b,2)===pa?(Q=pa,b+=2):(Q=t,I===0&&be(pg)),Q!==t&&(Oe=m,Q=ME()),m=Q,m===t&&(m=b,r.substr(b,2)===Dp?(Q=Dp,b+=2):(Q=t,I===0&&be(OE)),Q!==t&&(Oe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Tn?(Q=Tn,b+=2):(Q=t,I===0&&be(Kl)),Q!==t&&(Oe=m,Q=kp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Us.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(da)),N!==t?(Oe=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=Sge()))))))))),m}function Sge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as,AS;return m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(N=nS(),N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Le?(Q=Le,b+=2):(Q=t,I===0&&be(dg)),Q!==t?(N=b,U=b,ce=nS(),ce!==t?(Se=On(),Se!==t?(ce=[ce,Se],U=ce):(b=U,U=t)):(b=U,U=t),U===t&&(U=nS()),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ul?(Q=Ul,b+=2):(Q=t,I===0&&be(Hs)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Hl?(Q=Hl,b+=2):(Q=t,I===0&&be(yA)),Q!==t?(N=b,U=b,ce=On(),ce!==t?(Se=On(),Se!==t?(ht=On(),ht!==t?(Bt=On(),Bt!==t?(qr=On(),qr!==t?(hi=On(),hi!==t?(as=On(),as!==t?(AS=On(),AS!==t?(ce=[ce,Se,ht,Bt,qr,hi,as,AS],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Oe=m,Q=Cg(N),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(Ca)),m}function On(){var m;return ma.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(rt)),m}function vge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t)),N!==t)for(;N!==t;)Q.push(N),N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t));else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function sS(){var m,Q,N,U,ce,Se;if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;if(N!==t)if(r.charCodeAt(b)===46?(U=KE,b++):(U=t,I===0&&be(Rp)),U!==t){if(ce=[],qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne));else ce=t;ce!==t?(Oe=m,Q=Eg(Q,N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;N!==t?(Oe=m,Q=Fp(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=aS(),Q!==t&&(Oe=m,Q=UE(Q)),m=Q,m===t&&(m=b,Q=ql(),Q!==t&&(Oe=m,Q=jl(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&be(re)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(b)===41?(Se=M,b++):(Se=t,I===0&&be(F)),Se!==t?(Oe=m,Q=HE(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function oS(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=sS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Oe=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function $1(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=oS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Oe=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Oe=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function eK(){var m,Q,N,U,ce,Se;if(m=b,r.substr(b,3)===bA?(Q=bA,b+=3):(Q=t,I===0&&be(R)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(b,2)===q?(Se=q,b+=2):(Se=t,I===0&&be(Ce)),Se!==t?(Oe=m,Q=Ke(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function tK(){var m,Q,N,U;return m=b,r.substr(b,2)===Re?(Q=Re,b+=2):(Q=t,I===0&&be(ze)),Q!==t?(N=Or(),N!==t?(r.charCodeAt(b)===41?(U=M,b++):(U=t,I===0&&be(F)),U!==t?(Oe=m,Q=dt(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function aS(){var m,Q,N,U,ce,Se;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===JQ?(U=JQ,b+=2):(U=t,I===0&&be(k1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=R1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===WQ?(U=WQ,b+=3):(U=t,I===0&&be(F1)),U!==t?(Oe=m,Q=N1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===zQ?(U=zQ,b+=2):(U=t,I===0&&be(T1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Oe=m,Q=L1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===VQ?(U=VQ,b+=3):(U=t,I===0&&be(M1)),U!==t?(Oe=m,Q=O1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.charCodeAt(b)===125?(U=Fe,b++):(U=t,I===0&&be(Ne)),U!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=K1,b++):(Q=t,I===0&&be(U1)),Q!==t?(N=ql(),N!==t?(Oe=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function xge(){var m,Q,N;return m=b,Q=Pge(),Q!==t?(Oe=b,N=H1(Q),N?N=void 0:N=t,N!==t?(Oe=m,Q=G1(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function Pge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N!==t)for(;N!==t;)Q.push(N),N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Oe=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t);else Q=t;return Q!==t&&(Oe=m,Q=Fn(Q)),m=Q,m}function rK(){var m,Q,N;if(m=b,Q=[],ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q)),N!==t)for(;N!==t;)Q.push(N),ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function ql(){var m,Q,N;if(m=b,Q=[],eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS)),N!==t)for(;N!==t;)Q.push(N),eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS));else Q=t;return Q!==t&&(Oe=m,Q=$Q()),m=Q,m}function iK(){var m;return Y1.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(wg)),m}function nK(){var m;return rS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(iS)),m}function He(){var m,Q;if(m=[],YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE)),Q!==t)for(;Q!==t;)m.push(Q),YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function Dfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}Dfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function mU(r){return typeof r>"u"||r===null}function Rfe(r){return typeof r=="object"&&r!==null}function Ffe(r){return Array.isArray(r)?r:mU(r)?[]:[r]}function Nfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};EU.exports=Vp});var wU=w((SZe,yU)=>{"use strict";var IU=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r +`,!1),ns=function(){return""},ss="\\",gt=me("\\",!1),Bo=/^[\\$"`]/,At=Je(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=me("\\a",!1),hg=function(){return"a"},Ol="\\b",Qp=me("\\b",!1),Sp=function(){return"\b"},vp=/^[Ee]/,xp=Je(["E","e"],!1,!1),Pp=function(){return"\x1B"},G="\\f",yt=me("\\f",!1),IA=function(){return"\f"},zi="\\n",Ml=me("\\n",!1),Xe=function(){return` +`},pa="\\r",pg=me("\\r",!1),OE=function(){return"\r"},Dp="\\t",ME=me("\\t",!1),ar=function(){return" "},Tn="\\v",Kl=me("\\v",!1),kp=function(){return"\v"},Us=/^[\\'"?]/,da=Je(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},Le="\\x",dg=me("\\x",!1),Ul="\\u",Hs=me("\\u",!1),Hl="\\U",yA=me("\\U",!1),Cg=function(m){return String.fromCodePoint(parseInt(m,16))},mg=/^[0-7]/,Ca=Je([["0","7"]],!1,!1),ma=/^[0-9a-fA-f]/,rt=Je([["0","9"],["a","f"],["A","f"]],!1,!1),bo=nt(),wA="-",Gl=me("-",!1),Gs="+",Yl=me("+",!1),KE=".",Rp=me(".",!1),Eg=function(m,Q,N){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+N.join(""))}},Fp=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},UE=function(m){return{type:"variable",...m}},jl=function(m){return{type:"variable",name:m}},HE=function(m){return m},Ig="*",BA=me("*",!1),Rr="/",GE=me("/",!1),Ys=function(m,Q,N){return{type:Q==="*"?"multiplication":"division",right:N}},js=function(m,Q){return Q.reduce((N,U)=>({left:N,...U}),m)},yg=function(m,Q,N){return{type:Q==="+"?"addition":"subtraction",right:N}},bA="$((",R=me("$((",!1),q="))",Ce=me("))",!1),Ke=function(m){return m},Re="$(",ze=me("$(",!1),dt=function(m){return m},Ft="${",Ln=me("${",!1),JQ=":-",k1=me(":-",!1),R1=function(m,Q){return{name:m,defaultValue:Q}},WQ=":-}",F1=me(":-}",!1),N1=function(m){return{name:m,defaultValue:[]}},zQ=":+",T1=me(":+",!1),L1=function(m,Q){return{name:m,alternativeValue:Q}},VQ=":+}",O1=me(":+}",!1),M1=function(m){return{name:m,alternativeValue:[]}},XQ=function(m){return{name:m}},K1="$",U1=me("$",!1),H1=function(m){return e.isGlobPattern(m)},G1=function(m){return m},ZQ=/^[a-zA-Z0-9_]/,_Q=Je([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$Q=function(){return L()},eS=/^[$@*?#a-zA-Z0-9_\-]/,tS=Je(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Y1=/^[(){}<>$|&; \t"']/,wg=Je(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rS=/^[<>&; \t"']/,iS=Je(["<",">","&",";"," "," ",'"',"'"],!1,!1),YE=/^[ \t]/,jE=Je([" "," "],!1,!1),b=0,Me=0,QA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function L(){return r.substring(Me,b)}function Z(){return Et(Me,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Me,b),Ri([lt(m)],r.substring(Me,b),Q)}function we(m,Q){throw Q=Q!==void 0?Q:Et(Me,b),On(m,Q)}function me(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Je(m,Q,N){return{type:"class",parts:m,inverted:Q,ignoreCase:N}}function nt(){return{type:"any"}}function wt(){return{type:"end"}}function lt(m){return{type:"other",description:m}}function it(m){var Q=QA[m],N;if(Q)return Q;for(N=m-1;!QA[N];)N--;for(Q=QA[N],Q={line:Q.line,column:Q.column};Nd&&(d=b,E=[]),E.push(m))}function On(m,Q){return new Zl(m,null,null,Q)}function Ri(m,Q,N){return new Zl(Zl.buildMessage(m,Q),m,Q,N)}function SA(){var m,Q;return m=b,Q=Mr(),Q===t&&(Q=null),Q!==t&&(Me=m,Q=s(Q)),m=Q,m}function Mr(){var m,Q,N,U,ce;if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U!==t?(ce=os(),ce===t&&(ce=null),ce!==t?(Me=m,Q=o(Q,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Kr(),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();N!==t?(U=Ea(),U===t&&(U=null),U!==t?(Me=m,Q=a(Q,U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function os(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=Mr(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,Q=l(N),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Ea(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&be(f))),m}function Kr(){var m,Q,N;return m=b,Q=j1(),Q!==t?(N=fge(),N===t&&(N=null),N!==t?(Me=m,Q=h(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function fge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=hge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Kr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,Q=p(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function hge(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&be(y)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&be(v))),m}function j1(){var m,Q,N;return m=b,Q=Cge(),Q!==t?(N=pge(),N===t&&(N=null),N!==t?(Me=m,Q=D(Q,N),m=Q):(b=m,m=t)):(b=m,m=t),m}function pge(){var m,Q,N,U,ce,Se,ht;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(N=dge(),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=j1(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,Q=T(N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function dge(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&be(V))),m}function qE(){var m,Q,N,U,ce,Se;if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t)if(U=W1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(Me=m,Q=A(Q,U),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=rK(),Q!==t)if(r.charCodeAt(b)===61?(N=W,b++):(N=t,I===0&&be(_)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,Q=Ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function Cge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===40?(N=ge,b++):(N=t,I===0&&be(re)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===41?(ht=O,b++):(ht=t,I===0&&be(F)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Me=m,Q=ue(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t)if(r.charCodeAt(b)===123?(N=pe,b++):(N=t,I===0&&be(ke)),N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t)if(ce=Mr(),ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();if(Se!==t)if(r.charCodeAt(b)===125?(ht=Fe,b++):(ht=t,I===0&&be(Ne)),ht!==t){for(Bt=[],qr=He();qr!==t;)Bt.push(qr),qr=He();if(Bt!==t){for(qr=[],hi=Np();hi!==t;)qr.push(hi),hi=Np();if(qr!==t){for(hi=[],as=He();as!==t;)hi.push(as),as=He();hi!==t?(Me=m,Q=oe(ce,qr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){for(N=[],U=qE();U!==t;)N.push(U),U=qE();if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();if(U!==t){if(ce=[],Se=J1(),Se!==t)for(;Se!==t;)ce.push(Se),Se=J1();else ce=t;if(ce!==t){for(Se=[],ht=He();ht!==t;)Se.push(ht),ht=He();Se!==t?(Me=m,Q=le(N,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=qE(),U!==t)for(;U!==t;)N.push(U),U=qE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,Q=Be(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function q1(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t){if(N=[],U=JE(),U!==t)for(;U!==t;)N.push(U),U=JE();else N=t;if(N!==t){for(U=[],ce=He();ce!==t;)U.push(ce),ce=He();U!==t?(Me=m,Q=fe(N),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function J1(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();if(Q!==t?(N=Np(),N!==t?(Me=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();Q!==t?(N=JE(),N!==t?(Me=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function Np(){var m,Q,N,U,ce;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(qe.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(ne)),N===t&&(N=null),N!==t?(U=mge(),U!==t?(ce=JE(),ce!==t?(Me=m,Q=Y(N,U,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function mge(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&be(ie)),m===t&&(r.substr(b,2)===de?(m=de,b+=2):(m=t,I===0&&be(_e)),m===t&&(r.charCodeAt(b)===62?(m=Pt,b++):(m=t,I===0&&be(It)),m===t&&(r.substr(b,3)===Or?(m=Or,b+=3):(m=t,I===0&&be(ii)),m===t&&(r.substr(b,2)===gi?(m=gi,b+=2):(m=t,I===0&&be(hr)),m===t&&(r.charCodeAt(b)===60?(m=fi,b++):(m=t,I===0&&be(ni))))))),m}function JE(){var m,Q,N;for(m=b,Q=[],N=He();N!==t;)Q.push(N),N=He();return Q!==t?(N=W1(),N!==t?(Me=m,Q=ae(N),m=Q):(b=m,m=t)):(b=m,m=t),m}function W1(){var m,Q,N;if(m=b,Q=[],N=z1(),N!==t)for(;N!==t;)Q.push(N),N=z1();else Q=t;return Q!==t&&(Me=m,Q=Ks(Q)),m=Q,m}function z1(){var m,Q;return m=b,Q=Ege(),Q!==t&&(Me=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=Ige(),Q!==t&&(Me=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=yge(),Q!==t&&(Me=m,Q=pr(Q)),m=Q,m===t&&(m=b,Q=wge(),Q!==t&&(Me=m,Q=pr(Q)),m=Q))),m}function Ege(){var m,Q,N,U;return m=b,r.substr(b,2)===Ii?(Q=Ii,b+=2):(Q=t,I===0&&be(rs)),Q!==t?(N=Qge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Me=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function Ige(){var m,Q,N,U;return m=b,r.charCodeAt(b)===39?(Q=fa,b++):(Q=t,I===0&&be(dA)),Q!==t?(N=Bge(),N!==t?(r.charCodeAt(b)===39?(U=fa,b++):(U=t,I===0&&be(dA)),U!==t?(Me=m,Q=cg(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function yge(){var m,Q,N,U;if(m=b,r.substr(b,2)===is?(Q=is,b+=2):(Q=t,I===0&&be(CA)),Q!==t&&(Me=m,Q=ha()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=wp,b++):(Q=t,I===0&&be(mA)),Q!==t){for(N=[],U=V1();U!==t;)N.push(U),U=V1();N!==t?(r.charCodeAt(b)===34?(U=wp,b++):(U=t,I===0&&be(mA)),U!==t?(Me=m,Q=EA(N),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function wge(){var m,Q,N;if(m=b,Q=[],N=X1(),N!==t)for(;N!==t;)Q.push(N),N=X1();else Q=t;return Q!==t&&(Me=m,Q=EA(Q)),m=Q,m}function V1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Me=m,Q=wr(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Me=m,Q=Tl(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Me=m,Q=ug(Q)),m=Q,m===t&&(m=b,Q=bge(),Q!==t&&(Me=m,Q=yo(Q)),m=Q))),m}function X1(){var m,Q;return m=b,Q=eK(),Q!==t&&(Me=m,Q=gg(Q)),m=Q,m===t&&(m=b,Q=tK(),Q!==t&&(Me=m,Q=Bp(Q)),m=Q,m===t&&(m=b,Q=aS(),Q!==t&&(Me=m,Q=bp(Q)),m=Q,m===t&&(m=b,Q=xge(),Q!==t&&(Me=m,Q=vr(Q)),m=Q,m===t&&(m=b,Q=vge(),Q!==t&&(Me=m,Q=yo(Q)),m=Q)))),m}function Bge(){var m,Q,N;for(m=b,Q=[],se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));N!==t;)Q.push(N),se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo));return Q!==t&&(Me=m,Q=Fn(Q)),m=Q,m}function bge(){var m,Q,N;if(m=b,Q=[],N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt))),N!==t)for(;N!==t;)Q.push(N),N=Z1(),N===t&&(fg.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(bt)));else Q=t;return Q!==t&&(Me=m,Q=Fn(Q)),m=Q,m}function Z1(){var m,Q,N;return m=b,r.substr(b,2)===Ll?(Q=Ll,b+=2):(Q=t,I===0&&be(Nn)),Q!==t&&(Me=m,Q=ns()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Bo.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(At)),N!==t?(Me=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t)),m}function Qge(){var m,Q,N;for(m=b,Q=[],N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));N!==t;)Q.push(N),N=_1(),N===t&&(se.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(wo)));return Q!==t&&(Me=m,Q=Fn(Q)),m=Q,m}function _1(){var m,Q,N;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&be(Lt)),Q!==t&&(Me=m,Q=hg()),m=Q,m===t&&(m=b,r.substr(b,2)===Ol?(Q=Ol,b+=2):(Q=t,I===0&&be(Qp)),Q!==t&&(Me=m,Q=Sp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(vp.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(xp)),N!==t?(Me=m,Q=Pp(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&be(yt)),Q!==t&&(Me=m,Q=IA()),m=Q,m===t&&(m=b,r.substr(b,2)===zi?(Q=zi,b+=2):(Q=t,I===0&&be(Ml)),Q!==t&&(Me=m,Q=Xe()),m=Q,m===t&&(m=b,r.substr(b,2)===pa?(Q=pa,b+=2):(Q=t,I===0&&be(pg)),Q!==t&&(Me=m,Q=OE()),m=Q,m===t&&(m=b,r.substr(b,2)===Dp?(Q=Dp,b+=2):(Q=t,I===0&&be(ME)),Q!==t&&(Me=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Tn?(Q=Tn,b+=2):(Q=t,I===0&&be(Kl)),Q!==t&&(Me=m,Q=kp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(Us.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(da)),N!==t?(Me=m,Q=ln(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=Sge()))))))))),m}function Sge(){var m,Q,N,U,ce,Se,ht,Bt,qr,hi,as,AS;return m=b,r.charCodeAt(b)===92?(Q=ss,b++):(Q=t,I===0&&be(gt)),Q!==t?(N=nS(),N!==t?(Me=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Le?(Q=Le,b+=2):(Q=t,I===0&&be(dg)),Q!==t?(N=b,U=b,ce=nS(),ce!==t?(Se=Mn(),Se!==t?(ce=[ce,Se],U=ce):(b=U,U=t)):(b=U,U=t),U===t&&(U=nS()),U!==t?N=r.substring(N,b):N=U,N!==t?(Me=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ul?(Q=Ul,b+=2):(Q=t,I===0&&be(Hs)),Q!==t?(N=b,U=b,ce=Mn(),ce!==t?(Se=Mn(),Se!==t?(ht=Mn(),ht!==t?(Bt=Mn(),Bt!==t?(ce=[ce,Se,ht,Bt],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Me=m,Q=cn(N),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Hl?(Q=Hl,b+=2):(Q=t,I===0&&be(yA)),Q!==t?(N=b,U=b,ce=Mn(),ce!==t?(Se=Mn(),Se!==t?(ht=Mn(),ht!==t?(Bt=Mn(),Bt!==t?(qr=Mn(),qr!==t?(hi=Mn(),hi!==t?(as=Mn(),as!==t?(AS=Mn(),AS!==t?(ce=[ce,Se,ht,Bt,qr,hi,as,AS],U=ce):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t)):(b=U,U=t),U!==t?N=r.substring(N,b):N=U,N!==t?(Me=m,Q=Cg(N),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function nS(){var m;return mg.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(Ca)),m}function Mn(){var m;return ma.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(rt)),m}function vge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t)),N!==t)for(;N!==t;)Q.push(N),N=b,r.charCodeAt(b)===92?(U=ss,b++):(U=t,I===0&&be(gt)),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N===t&&(N=b,U=b,I++,ce=iK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t));else Q=t;return Q!==t&&(Me=m,Q=Fn(Q)),m=Q,m}function sS(){var m,Q,N,U,ce,Se;if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;if(N!==t)if(r.charCodeAt(b)===46?(U=KE,b++):(U=t,I===0&&be(Rp)),U!==t){if(ce=[],qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne)),Se!==t)for(;Se!==t;)ce.push(Se),qe.test(r.charAt(b))?(Se=r.charAt(b),b++):(Se=t,I===0&&be(ne));else ce=t;ce!==t?(Me=m,Q=Eg(Q,N,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=wA,b++):(Q=t,I===0&&be(Gl)),Q===t&&(r.charCodeAt(b)===43?(Q=Gs,b++):(Q=t,I===0&&be(Yl))),Q===t&&(Q=null),Q!==t){if(N=[],qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne)),U!==t)for(;U!==t;)N.push(U),qe.test(r.charAt(b))?(U=r.charAt(b),b++):(U=t,I===0&&be(ne));else N=t;N!==t?(Me=m,Q=Fp(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=aS(),Q!==t&&(Me=m,Q=UE(Q)),m=Q,m===t&&(m=b,Q=ql(),Q!==t&&(Me=m,Q=jl(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&be(re)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.charCodeAt(b)===41?(Se=O,b++):(Se=t,I===0&&be(F)),Se!==t?(Me=m,Q=HE(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function oS(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=sS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===42?(Se=Ig,b++):(Se=t,I===0&&be(BA)),Se===t&&(r.charCodeAt(b)===47?(Se=Rr,b++):(Se=t,I===0&&be(GE))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=sS(),Bt!==t?(Me=U,ce=Ys(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Me=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function $1(){var m,Q,N,U,ce,Se,ht,Bt;if(m=b,Q=oS(),Q!==t){for(N=[],U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Me=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t;for(;U!==t;){for(N.push(U),U=b,ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();if(ce!==t)if(r.charCodeAt(b)===43?(Se=Gs,b++):(Se=t,I===0&&be(Yl)),Se===t&&(r.charCodeAt(b)===45?(Se=wA,b++):(Se=t,I===0&&be(Gl))),Se!==t){for(ht=[],Bt=He();Bt!==t;)ht.push(Bt),Bt=He();ht!==t?(Bt=oS(),Bt!==t?(Me=U,ce=yg(Q,Se,Bt),U=ce):(b=U,U=t)):(b=U,U=t)}else b=U,U=t;else b=U,U=t}N!==t?(Me=m,Q=js(Q,N),m=Q):(b=m,m=t)}else b=m,m=t;return m}function eK(){var m,Q,N,U,ce,Se;if(m=b,r.substr(b,3)===bA?(Q=bA,b+=3):(Q=t,I===0&&be(R)),Q!==t){for(N=[],U=He();U!==t;)N.push(U),U=He();if(N!==t)if(U=$1(),U!==t){for(ce=[],Se=He();Se!==t;)ce.push(Se),Se=He();ce!==t?(r.substr(b,2)===q?(Se=q,b+=2):(Se=t,I===0&&be(Ce)),Se!==t?(Me=m,Q=Ke(U),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function tK(){var m,Q,N,U;return m=b,r.substr(b,2)===Re?(Q=Re,b+=2):(Q=t,I===0&&be(ze)),Q!==t?(N=Mr(),N!==t?(r.charCodeAt(b)===41?(U=O,b++):(U=t,I===0&&be(F)),U!==t?(Me=m,Q=dt(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function aS(){var m,Q,N,U,ce,Se;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===JQ?(U=JQ,b+=2):(U=t,I===0&&be(k1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Me=m,Q=R1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===WQ?(U=WQ,b+=3):(U=t,I===0&&be(F1)),U!==t?(Me=m,Q=N1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,2)===zQ?(U=zQ,b+=2):(U=t,I===0&&be(T1)),U!==t?(ce=q1(),ce!==t?(r.charCodeAt(b)===125?(Se=Fe,b++):(Se=t,I===0&&be(Ne)),Se!==t?(Me=m,Q=L1(N,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.substr(b,3)===VQ?(U=VQ,b+=3):(U=t,I===0&&be(O1)),U!==t?(Me=m,Q=M1(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&be(Ln)),Q!==t?(N=ql(),N!==t?(r.charCodeAt(b)===125?(U=Fe,b++):(U=t,I===0&&be(Ne)),U!==t?(Me=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=K1,b++):(Q=t,I===0&&be(U1)),Q!==t?(N=ql(),N!==t?(Me=m,Q=XQ(N),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function xge(){var m,Q,N;return m=b,Q=Pge(),Q!==t?(Me=b,N=H1(Q),N?N=void 0:N=t,N!==t?(Me=m,Q=G1(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function Pge(){var m,Q,N,U,ce;if(m=b,Q=[],N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t),N!==t)for(;N!==t;)Q.push(N),N=b,U=b,I++,ce=nK(),I--,ce===t?U=void 0:(b=U,U=t),U!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&be(bo)),ce!==t?(Me=N,U=ln(ce),N=U):(b=N,N=t)):(b=N,N=t);else Q=t;return Q!==t&&(Me=m,Q=Fn(Q)),m=Q,m}function rK(){var m,Q,N;if(m=b,Q=[],ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q)),N!==t)for(;N!==t;)Q.push(N),ZQ.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(_Q));else Q=t;return Q!==t&&(Me=m,Q=$Q()),m=Q,m}function ql(){var m,Q,N;if(m=b,Q=[],eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS)),N!==t)for(;N!==t;)Q.push(N),eS.test(r.charAt(b))?(N=r.charAt(b),b++):(N=t,I===0&&be(tS));else Q=t;return Q!==t&&(Me=m,Q=$Q()),m=Q,m}function iK(){var m;return Y1.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(wg)),m}function nK(){var m;return rS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&be(iS)),m}function He(){var m,Q;if(m=[],YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE)),Q!==t)for(;Q!==t;)m.push(Q),YE.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&be(jE));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function Dfe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function $l(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,$l)}Dfe($l,Error);$l.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ne))}function Ne(ne,Y){return new $l(ne,null,null,Y)}function oe(ne,Y,he){return new $l($l.buildMessage(ne,Y),ne,Y,he)}function le(){var ne,Y,he,ie;return ne=v,Y=Be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Fe(o)),he!==t?(ie=Be(),ie!==t?(D=ne,Y=a(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=Be(),Y!==t&&(D=ne,Y=l(Y)),ne=Y),ne}function Be(){var ne,Y,he,ie;return ne=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Fe(u)),he!==t?(ie=qe(),ie!==t?(D=ne,Y=g(Y,ie),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=fe(),Y!==t&&(D=ne,Y=f(Y)),ne=Y),ne}function fe(){var ne,Y,he,ie,de;return ne=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Fe(u)),Y!==t?(he=ae(),he!==t?(r.charCodeAt(v)===47?(ie=s,v++):(ie=t,$===0&&Fe(o)),ie!==t?(de=ae(),de!==t?(D=ne,Y=h(),ne=Y):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t)):(v=ne,ne=t),ne===t&&(ne=v,Y=ae(),Y!==t&&(D=ne,Y=h()),ne=Y),ne}function ae(){var ne,Y,he;if(ne=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(C));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}function qe(){var ne,Y,he;if(ne=v,Y=[],y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B)),he!==t)for(;he!==t;)Y.push(he),y.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Fe(B));else Y=t;return Y!==t&&(D=ne,Y=h()),ne=Y,ne}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function mU(r){return typeof r>"u"||r===null}function Rfe(r){return typeof r=="object"&&r!==null}function Ffe(r){return Array.isArray(r)?r:mU(r)?[]:[r]}function Nfe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function Vp(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Vp.prototype=Object.create(Error.prototype);Vp.prototype.constructor=Vp;Vp.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};EU.exports=Vp});var wU=w((SZe,yU)=>{"use strict";var IU=tc();function HS(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}HS.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r \x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),IU.repeat(" ",e)+i+a+s+` `+IU.repeat(" ",e+this.position-n+i.length)+"^"};HS.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};yU.exports=HS});var si=w((vZe,bU)=>{"use strict";var BU=Ng(),Mfe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Ofe=["scalar","sequence","mapping"];function Kfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Ufe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Mfe.indexOf(t)===-1)throw new BU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Kfe(e.styleAliases||null),Ofe.indexOf(this.kind)===-1)throw new BU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}bU.exports=Ufe});var rc=w((xZe,SU)=>{"use strict";var QU=tc(),dI=Ng(),Hfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Gfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Yfe=si();vU.exports=new Yfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var DU=w((DZe,PU)=>{"use strict";var jfe=si();PU.exports=new jfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var RU=w((kZe,kU)=>{"use strict";var qfe=si();kU.exports=new qfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((RZe,FU)=>{"use strict";var Jfe=rc();FU.exports=new Jfe({explicit:[xU(),DU(),RU()]})});var TU=w((FZe,NU)=>{"use strict";var Wfe=si();function zfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Vfe(){return null}function Xfe(r){return r===null}NU.exports=new Wfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:zfe,construct:Vfe,predicate:Xfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var MU=w((NZe,LU)=>{"use strict";var Zfe=si();function _fe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function $fe(r){return r==="true"||r==="True"||r==="TRUE"}function ehe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}LU.exports=new Zfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:_fe,construct:$fe,predicate:ehe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var KU=w((TZe,OU)=>{"use strict";var the=tc(),rhe=si();function ihe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function nhe(r){return 48<=r&&r<=55}function she(r){return 48<=r&&r<=57}function ohe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var GU=w((LZe,HU)=>{"use strict";var UU=tc(),lhe=si(),che=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function uhe(r){return!(r===null||!che.test(r)||r[r.length-1]==="_")}function ghe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var fhe=/^[-+]?[0-9]+e/;function hhe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(UU.isNegativeZero(r))return"-0.0";return t=r.toString(10),fhe.test(t)?t.replace("e",".e"):t}function phe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||UU.isNegativeZero(r))}HU.exports=new lhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:uhe,construct:ghe,predicate:phe,represent:hhe,defaultStyle:"lowercase"})});var YS=w((MZe,YU)=>{"use strict";var dhe=rc();YU.exports=new dhe({include:[CI()],implicit:[TU(),MU(),KU(),GU()]})});var jS=w((OZe,jU)=>{"use strict";var Che=rc();jU.exports=new Che({include:[YS()]})});var zU=w((KZe,WU)=>{"use strict";var mhe=si(),qU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),JU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Ehe(r){return r===null?!1:qU.exec(r)!==null||JU.exec(r)!==null}function Ihe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=qU.exec(r),e===null&&(e=JU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function yhe(r){return r.toISOString()}WU.exports=new mhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ehe,construct:Ihe,instanceOf:Date,represent:yhe})});var XU=w((UZe,VU)=>{"use strict";var whe=si();function Bhe(r){return r==="<<"||r===null}VU.exports=new whe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Bhe})});var $U=w((HZe,_U)=>{"use strict";var ic;try{ZU=J,ic=ZU("buffer").Buffer}catch{}var ZU,bhe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function Qhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function She(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function vhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function xhe(r){return ic&&ic.isBuffer(r)}_U.exports=new bhe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Qhe,construct:She,predicate:xhe,represent:vhe})});var t2=w((YZe,e2)=>{"use strict";var Phe=si(),Dhe=Object.prototype.hasOwnProperty,khe=Object.prototype.toString;function Rhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Nhe=si(),The=Object.prototype.toString;function Lhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Ohe=si(),Khe=Object.prototype.hasOwnProperty;function Uhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Khe.call(t,e)&&t[e]!==null)return!1;return!0}function Hhe(r){return r!==null?r:{}}n2.exports=new Ohe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Uhe,construct:Hhe})});var Lg=w((JZe,o2)=>{"use strict";var Ghe=rc();o2.exports=new Ghe({include:[jS()],implicit:[zU(),XU()],explicit:[$U(),t2(),i2(),s2()]})});var A2=w((WZe,a2)=>{"use strict";var Yhe=si();function jhe(){return!0}function qhe(){}function Jhe(){return""}function Whe(r){return typeof r>"u"}a2.exports=new Yhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:jhe,construct:qhe,predicate:Whe,represent:Jhe})});var c2=w((zZe,l2)=>{"use strict";var zhe=si();function Vhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Xhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Zhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function _he(r){return Object.prototype.toString.call(r)==="[object RegExp]"}l2.exports=new zhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Vhe,construct:Xhe,predicate:_he,represent:Zhe})});var f2=w((VZe,g2)=>{"use strict";var mI;try{u2=J,mI=u2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var u2,$he=si();function epe(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function tpe(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function rpe(r){return r.toString()}function ipe(r){return Object.prototype.toString.call(r)==="[object Function]"}g2.exports=new $he("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:epe,construct:tpe,predicate:ipe,represent:rpe})});var Xp=w((ZZe,p2)=>{"use strict";var h2=rc();p2.exports=h2.DEFAULT=new h2({include:[Lg()],explicit:[A2(),c2(),f2()]})});var N2=w((_Ze,Zp)=>{"use strict";var Ba=tc(),w2=Ng(),npe=wU(),B2=Lg(),spe=Xp(),kA=Object.prototype.hasOwnProperty,EI=1,b2=2,Q2=3,II=4,JS=1,ope=2,d2=3,ape=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ape=/[\x85\u2028\u2029]/,lpe=/[,\[\]\{\}]/,S2=/^(?:!|!!|![a-z\-]+!)$/i,v2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function C2(r){return Object.prototype.toString.call(r)}function xo(r){return r===10||r===13}function sc(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function Mg(r){return r===44||r===91||r===93||r===123||r===125}function cpe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function upe(r){return r===120?2:r===117?4:r===85?8:0}function gpe(r){return 48<=r&&r<=57?r-48:-1}function m2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function fpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var x2=new Array(256),P2=new Array(256);for(nc=0;nc<256;nc++)x2[nc]=m2(nc)?1:0,P2[nc]=m2(nc);var nc;function hpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||spe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function D2(r,e){return new w2(e,new npe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw D2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,D2(r,e))}var E2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],S2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),kA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),v2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function DA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Ba.repeat(` -`,e-1))}function ppe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Mg(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Mg(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Mg(h))break;if(xo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(DA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return DA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function dpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(DA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else xo(t)?(DA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function Cpe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return DA(r,t,r.position,!0),r.position++,!0;if(a===92){if(DA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),xo(a))zr(r,!1,e);else if(a<256&&x2[a])r.result+=P2[a],r.position++;else if((o=upe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=cpe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=fpe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else xo(a)?(DA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function mpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Og(r,s,f,p,h,C):c?s.push(Og(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Epe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?d2:ope:ft(r,"repeat of a chomping mode identifier");else if((u=gpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!xo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),xo(g)){l++;continue}if(r.lineIndent{"use strict";var BU=Ng(),Ofe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Mfe=["scalar","sequence","mapping"];function Kfe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Ufe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(Ofe.indexOf(t)===-1)throw new BU('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=Kfe(e.styleAliases||null),Mfe.indexOf(this.kind)===-1)throw new BU('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}bU.exports=Ufe});var rc=w((xZe,SU)=>{"use strict";var QU=tc(),dI=Ng(),Hfe=si();function GS(r,e,t){var i=[];return r.include.forEach(function(n){t=GS(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function Gfe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var Yfe=si();vU.exports=new Yfe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var DU=w((DZe,PU)=>{"use strict";var jfe=si();PU.exports=new jfe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var RU=w((kZe,kU)=>{"use strict";var qfe=si();kU.exports=new qfe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var CI=w((RZe,FU)=>{"use strict";var Jfe=rc();FU.exports=new Jfe({explicit:[xU(),DU(),RU()]})});var TU=w((FZe,NU)=>{"use strict";var Wfe=si();function zfe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Vfe(){return null}function Xfe(r){return r===null}NU.exports=new Wfe("tag:yaml.org,2002:null",{kind:"scalar",resolve:zfe,construct:Vfe,predicate:Xfe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var OU=w((NZe,LU)=>{"use strict";var Zfe=si();function _fe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function $fe(r){return r==="true"||r==="True"||r==="TRUE"}function ehe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}LU.exports=new Zfe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:_fe,construct:$fe,predicate:ehe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var KU=w((TZe,MU)=>{"use strict";var the=tc(),rhe=si();function ihe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function nhe(r){return 48<=r&&r<=55}function she(r){return 48<=r&&r<=57}function ohe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var GU=w((LZe,HU)=>{"use strict";var UU=tc(),lhe=si(),che=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function uhe(r){return!(r===null||!che.test(r)||r[r.length-1]==="_")}function ghe(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var fhe=/^[-+]?[0-9]+e/;function hhe(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(UU.isNegativeZero(r))return"-0.0";return t=r.toString(10),fhe.test(t)?t.replace("e",".e"):t}function phe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||UU.isNegativeZero(r))}HU.exports=new lhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:uhe,construct:ghe,predicate:phe,represent:hhe,defaultStyle:"lowercase"})});var YS=w((OZe,YU)=>{"use strict";var dhe=rc();YU.exports=new dhe({include:[CI()],implicit:[TU(),OU(),KU(),GU()]})});var jS=w((MZe,jU)=>{"use strict";var Che=rc();jU.exports=new Che({include:[YS()]})});var zU=w((KZe,WU)=>{"use strict";var mhe=si(),qU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),JU=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Ehe(r){return r===null?!1:qU.exec(r)!==null||JU.exec(r)!==null}function Ihe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=qU.exec(r),e===null&&(e=JU.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function yhe(r){return r.toISOString()}WU.exports=new mhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ehe,construct:Ihe,instanceOf:Date,represent:yhe})});var XU=w((UZe,VU)=>{"use strict";var whe=si();function Bhe(r){return r==="<<"||r===null}VU.exports=new whe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Bhe})});var $U=w((HZe,_U)=>{"use strict";var ic;try{ZU=J,ic=ZU("buffer").Buffer}catch{}var ZU,bhe=si(),qS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function Qhe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=qS;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function She(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=qS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),ic?ic.from?ic.from(a):new ic(a):a}function vhe(r){var e="",t=0,i,n,s=r.length,o=qS;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function xhe(r){return ic&&ic.isBuffer(r)}_U.exports=new bhe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Qhe,construct:She,predicate:xhe,represent:vhe})});var t2=w((YZe,e2)=>{"use strict";var Phe=si(),Dhe=Object.prototype.hasOwnProperty,khe=Object.prototype.toString;function Rhe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Nhe=si(),The=Object.prototype.toString;function Lhe(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Mhe=si(),Khe=Object.prototype.hasOwnProperty;function Uhe(r){if(r===null)return!0;var e,t=r;for(e in t)if(Khe.call(t,e)&&t[e]!==null)return!1;return!0}function Hhe(r){return r!==null?r:{}}n2.exports=new Mhe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Uhe,construct:Hhe})});var Lg=w((JZe,o2)=>{"use strict";var Ghe=rc();o2.exports=new Ghe({include:[jS()],implicit:[zU(),XU()],explicit:[$U(),t2(),i2(),s2()]})});var A2=w((WZe,a2)=>{"use strict";var Yhe=si();function jhe(){return!0}function qhe(){}function Jhe(){return""}function Whe(r){return typeof r>"u"}a2.exports=new Yhe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:jhe,construct:qhe,predicate:Whe,represent:Jhe})});var c2=w((zZe,l2)=>{"use strict";var zhe=si();function Vhe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Xhe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Zhe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function _he(r){return Object.prototype.toString.call(r)==="[object RegExp]"}l2.exports=new zhe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Vhe,construct:Xhe,predicate:_he,represent:Zhe})});var f2=w((VZe,g2)=>{"use strict";var mI;try{u2=J,mI=u2("esprima")}catch{typeof window<"u"&&(mI=window.esprima)}var u2,$he=si();function epe(r){if(r===null)return!1;try{var e="("+r+")",t=mI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function tpe(r){var e="("+r+")",t=mI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function rpe(r){return r.toString()}function ipe(r){return Object.prototype.toString.call(r)==="[object Function]"}g2.exports=new $he("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:epe,construct:tpe,predicate:ipe,represent:rpe})});var Xp=w((ZZe,p2)=>{"use strict";var h2=rc();p2.exports=h2.DEFAULT=new h2({include:[Lg()],explicit:[A2(),c2(),f2()]})});var N2=w((_Ze,Zp)=>{"use strict";var Ba=tc(),w2=Ng(),npe=wU(),B2=Lg(),spe=Xp(),kA=Object.prototype.hasOwnProperty,EI=1,b2=2,Q2=3,II=4,JS=1,ope=2,d2=3,ape=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ape=/[\x85\u2028\u2029]/,lpe=/[,\[\]\{\}]/,S2=/^(?:!|!!|![a-z\-]+!)$/i,v2=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function C2(r){return Object.prototype.toString.call(r)}function xo(r){return r===10||r===13}function sc(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function Og(r){return r===44||r===91||r===93||r===123||r===125}function cpe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function upe(r){return r===120?2:r===117?4:r===85?8:0}function gpe(r){return 48<=r&&r<=57?r-48:-1}function m2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` +`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function fpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var x2=new Array(256),P2=new Array(256);for(nc=0;nc<256;nc++)x2[nc]=m2(nc)?1:0,P2[nc]=m2(nc);var nc;function hpe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||spe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function D2(r,e){return new w2(e,new npe(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function ft(r,e){throw D2(r,e)}function yI(r,e){r.onWarning&&r.onWarning.call(null,D2(r,e))}var E2={YAML:function(e,t,i){var n,s,o;e.version!==null&&ft(e,"duplication of %YAML directive"),i.length!==1&&ft(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&ft(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&ft(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&yI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&&ft(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],S2.test(n)||ft(e,"ill-formed tag handle (first argument) of the TAG directive"),kA.call(e.tagMap,n)&&ft(e,'there is a previously declared suffix for "'+n+'" tag handle'),v2.test(s)||ft(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function DA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Ba.repeat(` +`,e-1))}function ppe(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||Og(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Og(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&Og(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&wI(r)||t&&Og(h))break;if(xo(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,zr(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(DA(r,s,o,!1),zS(r,r.line-l),s=o=r.position,a=!1),sc(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return DA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function dpe(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(DA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else xo(t)?(DA(r,i,n,!0),zS(r,zr(r,!1,e)),i=n=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);ft(r,"unexpected end of the stream within a single quoted scalar")}function Cpe(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return DA(r,t,r.position,!0),r.position++,!0;if(a===92){if(DA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),xo(a))zr(r,!1,e);else if(a<256&&x2[a])r.result+=P2[a],r.position++;else if((o=upe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=cpe(a))>=0?s=(s<<4)+o:ft(r,"expected hexadecimal character");r.result+=fpe(s),r.position++}else ft(r,"unknown escape sequence");t=i=r.position}else xo(a)?(DA(r,t,i,!0),zS(r,zr(r,!1,e)),t=i=r.position):r.position===r.lineStart&&wI(r)?ft(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}ft(r,"unexpected end of the stream within a double quoted scalar")}function mpe(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,y;if(y=r.input.charCodeAt(r.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),y=r.input.charCodeAt(++r.position);y!==0;){if(zr(r,!0,e),y=r.input.charCodeAt(r.position),y===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||ft(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,y===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,zr(r,!0,e))),i=r.line,Kg(r,e,EI,!1,!0),p=r.tag,h=r.result,zr(r,!0,e),y=r.input.charCodeAt(r.position),(u||r.line===i)&&y===58&&(c=!0,y=r.input.charCodeAt(++r.position),zr(r,!0,e),Kg(r,e,EI,!1,!0),C=r.result),g?Mg(r,s,f,p,h,C):c?s.push(Mg(r,null,f,p,h,C)):s.push(h),zr(r,!0,e),y=r.input.charCodeAt(r.position),y===44?(t=!0,y=r.input.charCodeAt(++r.position)):t=!1}ft(r,"unexpected end of the stream within a flow collection")}function Epe(r,e){var t,i,n=JS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)JS===n?n=g===43?d2:ope:ft(r,"repeat of a chomping mode identifier");else if((u=gpe(g))>=0)u===0?ft(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?ft(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(sc(g)){do g=r.input.charCodeAt(++r.position);while(sc(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!xo(g)&&g!==0)}for(;g!==0;){for(WS(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),xo(g)){l++;continue}if(r.lineIndente)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Og(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function bpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!xo(o));break}if(xo(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),kA.call(E2,i)?E2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Kg(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&Ape.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=k2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),R2(r,e,Ba.extend({schema:B2},t))}function Spe(r,e){return F2(r,Ba.extend({schema:B2},e))}Zp.exports.loadAll=R2;Zp.exports.load=F2;Zp.exports.safeLoadAll=Qpe;Zp.exports.safeLoad=Spe});var iH=w(($Ze,_S)=>{"use strict";var $p=tc(),ed=Ng(),vpe=Xp(),xpe=Lg(),G2=Object.prototype.toString,Y2=Object.prototype.hasOwnProperty,Ppe=9,_p=10,Dpe=13,kpe=32,Rpe=33,Fpe=34,j2=35,Npe=37,Tpe=38,Lpe=39,Mpe=42,q2=44,Ope=45,J2=58,Kpe=61,Upe=62,Hpe=63,Gpe=64,W2=91,z2=93,Ype=96,V2=123,jpe=124,X2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var qpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;ne)&&l!==0)ft(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(Kg(r,e,II,!0,n)&&(p?f=r.result:h=r.result),p||(Mg(r,c,u,g,f,h,s,o),g=f=h=null),zr(r,!0,-1),y=r.input.charCodeAt(r.position)),r.lineIndent>e&&y!==0)ft(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):ft(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):ft(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function bpe(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(zr(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&&ft(r,"directive name must not be less than one character in length");o!==0;){for(;sc(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!xo(o));break}if(xo(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&WS(r),kA.call(E2,i)?E2[i](r,i,n):yI(r,'unknown document directive "'+i+'"')}if(zr(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,zr(r,!0,-1)):s&&ft(r,"directives end mark is expected"),Kg(r,r.lineIndent-1,II,!1,!0),zr(r,!0,-1),r.checkLineBreaks&&Ape.test(r.input.slice(e,r.position))&&yI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&wI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,zr(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=k2(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),R2(r,e,Ba.extend({schema:B2},t))}function Spe(r,e){return F2(r,Ba.extend({schema:B2},e))}Zp.exports.loadAll=R2;Zp.exports.load=F2;Zp.exports.safeLoadAll=Qpe;Zp.exports.safeLoad=Spe});var iH=w(($Ze,_S)=>{"use strict";var $p=tc(),ed=Ng(),vpe=Xp(),xpe=Lg(),G2=Object.prototype.toString,Y2=Object.prototype.hasOwnProperty,Ppe=9,_p=10,Dpe=13,kpe=32,Rpe=33,Fpe=34,j2=35,Npe=37,Tpe=38,Lpe=39,Ope=42,q2=44,Mpe=45,J2=58,Kpe=61,Upe=62,Hpe=63,Gpe=64,W2=91,z2=93,Ype=96,V2=123,jpe=124,X2=125,Ni={};Ni[0]="\\0";Ni[7]="\\a";Ni[8]="\\b";Ni[9]="\\t";Ni[10]="\\n";Ni[11]="\\v";Ni[12]="\\f";Ni[13]="\\r";Ni[27]="\\e";Ni[34]='\\"';Ni[92]="\\\\";Ni[133]="\\N";Ni[160]="\\_";Ni[8232]="\\L";Ni[8233]="\\P";var qpe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function Jpe(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&M2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&M2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?_2:$2:t>9&&Z2(r)?BI:c?tH:eH}function _pe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&qpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return zpe(r,l)}switch(Zpe(e,o,r.indent,s,a)){case _2:return e;case $2:return"'"+e.replace(/'/g,"''")+"'";case eH:return"|"+O2(e,r.indent)+K2(L2(e,n));case tH:return">"+O2(e,r.indent)+K2(L2($pe(e,s),n));case BI:return'"'+ede(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function O2(r,e){var t=Z2(r)?String(e):"",i=r[r.length-1]===` +`+$p.repeat(" ",r.indent*e)}function zpe(r,e){var t,i,n;for(t=0,i=r.implicitTypes.length;t0?r.charCodeAt(s-1):null,f=f&&O2(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Ug(o))return BI;a=s>0?r.charCodeAt(s-1):null,f=f&&O2(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?_2:$2:t>9&&Z2(r)?BI:c?tH:eH}function _pe(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&qpe.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return zpe(r,l)}switch(Zpe(e,o,r.indent,s,a)){case _2:return e;case $2:return"'"+e.replace(/'/g,"''")+"'";case eH:return"|"+M2(e,r.indent)+K2(L2(e,n));case tH:return">"+M2(e,r.indent)+K2(L2($pe(e,s),n));case BI:return'"'+ede(e,s)+'"';default:throw new ed("impossible error: invalid scalar style")}}()}function M2(r,e){var t=Z2(r)?String(e):"",i=r[r.length-1]===` `,n=i&&(r[r.length-2]===` `||r===` `),s=n?"+":i?"":"-";return t+s+` @@ -33,16 +33,16 @@ `+r.slice(n,s),n=s+1),o=a;return l+=` `,r.length-n>e&&o>n?l+=r.slice(n,o)+` `+r.slice(o+1):l+=r.slice(n),l.slice(1)}function ede(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=T2((t-55296)*1024+i-56320+65536),s++;continue}n=Ni[t],e+=!n&&Ug(t)?r[s]:n||T2(t)}return e}function tde(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),oc(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function nde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new ed("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&_p===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=VS(r,e)),oc(r,e+1,u,!0,g)&&(r.dump&&_p===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function H2(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function oc(r,e,t,i,n,s){r.tag=null,r.dump=t,H2(r,t,!1)||H2(r,t,!0);var o=G2.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(nde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(ide(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(rde(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(tde(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&_pe(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new ed("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function sde(r,e){var t=[],i=[],n,s;for(XS(r,t,i),n=0,s=i.length;n{"use strict";var bI=N2(),nH=iH();function QI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=bI.load;Fr.exports.loadAll=bI.loadAll;Fr.exports.safeLoad=bI.safeLoad;Fr.exports.safeLoadAll=bI.safeLoadAll;Fr.exports.dump=nH.dump;Fr.exports.safeDump=nH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=QI("scan");Fr.exports.parse=QI("parse");Fr.exports.compose=QI("compose");Fr.exports.addConstructor=QI("addConstructor")});var aH=w((t_e,oH)=>{"use strict";var ade=sH();oH.exports=ade});var lH=w((r_e,AH)=>{"use strict";function Ade(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}Ade(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===bA*yg},A=function(R){return R.length===(bA+1)*yg},Ae=function(){return bA++,!0},ge=function(){return bA--,!0},re=function(){return pg()},M=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",` +`:""}function ode(r,e){return rH(r,$p.extend({schema:xpe},e))}_S.exports.dump=rH;_S.exports.safeDump=ode});var sH=w((e_e,Fr)=>{"use strict";var bI=N2(),nH=iH();function QI(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Fr.exports.Type=si();Fr.exports.Schema=rc();Fr.exports.FAILSAFE_SCHEMA=CI();Fr.exports.JSON_SCHEMA=YS();Fr.exports.CORE_SCHEMA=jS();Fr.exports.DEFAULT_SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_FULL_SCHEMA=Xp();Fr.exports.load=bI.load;Fr.exports.loadAll=bI.loadAll;Fr.exports.safeLoad=bI.safeLoad;Fr.exports.safeLoadAll=bI.safeLoadAll;Fr.exports.dump=nH.dump;Fr.exports.safeDump=nH.safeDump;Fr.exports.YAMLException=Ng();Fr.exports.MINIMAL_SCHEMA=CI();Fr.exports.SAFE_SCHEMA=Lg();Fr.exports.DEFAULT_SCHEMA=Xp();Fr.exports.scan=QI("scan");Fr.exports.parse=QI("parse");Fr.exports.compose=QI("compose");Fr.exports.addConstructor=QI("addConstructor")});var aH=w((t_e,oH)=>{"use strict";var ade=sH();oH.exports=ade});var lH=w((r_e,AH)=>{"use strict";function Ade(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function ac(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,ac)}Ade(ac,Error);ac.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ke]:Ce})))},H=function(R){return R},j=function(R){return R},$=Us("correct indentation"),V=" ",W=ar(" ",!1),_=function(R){return R.length===bA*yg},A=function(R){return R.length===(bA+1)*yg},Ae=function(){return bA++,!0},ge=function(){return bA--,!0},re=function(){return pg()},O=Us("pseudostring"),F=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Tn(["\r",` `," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),pe=/^[^\r\n\t ,\][{}:#"']/,ke=Tn(["\r",` `," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Fe=function(){return pg().replace(/^ *| *$/g,"")},Ne="--",oe=ar("--",!1),le=/^[a-zA-Z\/0-9]/,Be=Tn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,ae=Tn(["\r",` -`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Mr=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},dA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},CA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},mA="\\b",EA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),yo=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),bp=function(){return` +`," "," ",":",","],!0,!1),qe="null",ne=ar("null",!1),Y=function(){return null},he="true",ie=ar("true",!1),de=function(){return!0},_e="false",Pt=ar("false",!1),It=function(){return!1},Or=Us("string"),ii='"',gi=ar('"',!1),hr=function(){return""},fi=function(R){return R},ni=function(R){return R.join("")},Ks=/^[^"\\\0-\x1F\x7F]/,pr=Tn(['"',"\\",["\0",""],"\x7F"],!0,!1),Ii='\\"',rs=ar('\\"',!1),fa=function(){return'"'},dA="\\\\",cg=ar("\\\\",!1),is=function(){return"\\"},CA="\\/",ha=ar("\\/",!1),wp=function(){return"/"},mA="\\b",EA=ar("\\b",!1),wr=function(){return"\b"},Tl="\\f",ug=ar("\\f",!1),yo=function(){return"\f"},gg="\\n",Bp=ar("\\n",!1),bp=function(){return` `},vr="\\r",se=ar("\\r",!1),wo=function(){return"\r"},Fn="\\t",fg=ar("\\t",!1),bt=function(){return" "},Ll="\\u",Nn=ar("\\u",!1),ns=function(R,q,Ce,Ke){return String.fromCharCode(parseInt(`0x${R}${q}${Ce}${Ke}`))},ss=/^[0-9a-fA-F]/,gt=Tn([["0","9"],["a","f"],["A","F"]],!1,!1),Bo=Us("blank space"),At=/^[ \t]/,ln=Tn([" "," "],!1,!1),S=Us("white space"),Lt=/^[ \t\n\r]/,hg=Tn([" "," ",` -`,"\r"],!1,!1),Ml=`\r +`,"\r"],!1,!1),Ol=`\r `,Qp=ar(`\r `,!1),Sp=` `,vp=ar(` -`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,IA=[{line:1,column:1}],zi=0,Ol=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function ME(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function OE(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=IA[R],Ce;if(q)return q;for(Ce=R-1;!IA[Ce];)Ce--;for(q=IA[Ce],q={line:q.line,column:q.column};Cezi&&(zi=G,Ol=[]),Ol.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=yA();Ce!==t;)q.push(Ce),Ce=yA();return q!==t&&(yt=R,q=s(q)),R=q,R}function yA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=wA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function wA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=UE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function KE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(M)),R}function Eg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Le(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Le(Be)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Le(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function UE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Le(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Le(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Le(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Le(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Le(Mr)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ke,Re,ze;return Ks.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Le(rs)),q!==t&&(yt=R,q=fa()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Le(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Le(ha)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Le(EA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Le(ug)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Le(Bp)),q!==t&&(yt=R,q=bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Le(se)),q!==t&&(yt=R,q=wo()),R=q,R===t&&(R=G,r.substr(G,2)===Fn?(q=Fn,G+=2):(q=t,Xe===0&&Le(fg)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Le(Nn)),q!==t?(Ce=BA(),Ce!==t?(Ke=BA(),Ke!==t?(Re=BA(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=ns(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function BA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(Bo)),R}function GE(){var R,q;if(Xe++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(S)),R}function Ys(){var R,q,Ce,Ke,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ml?(R=Ml,G+=2):(R=t,Xe===0&&Le(Qp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Le(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Le(Pp)))),R}let yg=2,bA=0;if(pa=n(),pa!==t&&G===r.length)return pa;throw pa!==t&&G{"use strict";var hde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=hde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=hH;ev.exports.default=hH});var dH=w((A_e,pde)=>{pde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var mH=dH(),Po=process.env;Object.defineProperty(Un,"_vendors",{value:mH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;mH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return CH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!Po[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in Po&&Po[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!Po[i]}):Un.isPR=CH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(Po.CI||Po.CONTINUOUS_INTEGRATION||Po.BUILD_NUMBER||Po.RUN_ID||Un.name);function CH(r){return typeof r=="string"?!!Po[r]:Object.keys(r).every(function(e){return Po[e]===r[e]})}});var hn={};ut(hn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>BH,colorStringAlphaRegExp:()=>wH,colorStringRegExp:()=>yH,computeKey:()=>RA,getPrintable:()=>Vr,hasExactLength:()=>xH,hasForbiddenKeys:()=>Wde,hasKeyRelationship:()=>av,hasMaxLength:()=>Dde,hasMinLength:()=>Pde,hasMutuallyExclusiveKeys:()=>zde,hasRequiredKeys:()=>Jde,hasUniqueItems:()=>kde,isArray:()=>yde,isAtLeast:()=>Nde,isAtMost:()=>Tde,isBase64:()=>jde,isBoolean:()=>mde,isDate:()=>Ide,isDict:()=>Bde,isEnum:()=>Zi,isHexColor:()=>Yde,isISO8601:()=>Gde,isInExclusiveRange:()=>Mde,isInInclusiveRange:()=>Lde,isInstanceOf:()=>Qde,isInteger:()=>Ode,isJSON:()=>qde,isLiteral:()=>dde,isLowerCase:()=>Kde,isNegative:()=>Rde,isNullable:()=>xde,isNumber:()=>Ede,isObject:()=>bde,isOneOf:()=>Sde,isOptional:()=>vde,isPositive:()=>Fde,isString:()=>sd,isTuple:()=>wde,isUUID4:()=>Hde,isUnknown:()=>vH,isUpperCase:()=>Ude,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>SH,makeTrait:()=>QH,makeValidator:()=>Qt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>IH,uuid4RegExp:()=>bH});function Qt({test:r}){return QH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function RA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:IH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function SH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function dde(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Zi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var IH,yH,wH,BH,bH,ov,QH,vH,sd,Cde,mde,Ede,Ide,yde,wde,Bde,bde,Qde,Sde,od,vde,xde,Pde,Dde,xH,kde,Rde,Fde,Nde,Tde,Lde,Mde,Ode,ad,Kde,Ude,Hde,Gde,Yde,jde,qde,Jde,Wde,zde,lc,Vde,av,ls=Tge(()=>{IH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,yH=/^#[0-9a-f]{6}$/i,wH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,BH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,QH=r=>()=>r;vH=()=>Qt({test:(r,e)=>!0});sd=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});Cde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),mde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=Cde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),Ede=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),Ide=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),yde=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=xH(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:RA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:SH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Qde=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Sde=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),vde=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),xde=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),Pde=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Dde=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),xH=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),kde=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Fde=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Nde=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Tde=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Lde=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Mde=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Kde=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Ude=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Hde=()=>Qt({test:(r,e)=>bH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Gde=()=>Qt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Yde=({alpha:r=!1})=>Qt({test:(e,t)=>(r?yH.test(e):wH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),jde=()=>Qt({test:(r,e)=>BH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),qde=(r=vH())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Wde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},zde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));Vde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Vde[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var qH=w((A$e,jH)=>{"use strict";jH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((l$e,pv)=>{"use strict";var gCe=qH(),JH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=gCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=JH;pv.exports.default=JH});var gd=w((u$e,WH)=>{var fCe="2.0.0",hCe=Number.MAX_SAFE_INTEGER||9007199254740991,pCe=16;WH.exports={SEMVER_SPEC_VERSION:fCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:hCe,MAX_SAFE_COMPONENT_LENGTH:pCe}});var fd=w((g$e,zH)=>{var dCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};zH.exports=dCe});var uc=w((NA,VH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),CCe=fd();NA=VH.exports={};var mCe=NA.re=[],et=NA.src=[],tt=NA.t={},ECe=0,St=(r,e,t)=>{let i=ECe++;CCe(i,e),tt[r]=i,et[i]=e,mCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);NA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);NA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);NA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((f$e,XH)=>{var ICe=["includePrerelease","loose","rtl"],yCe=r=>r?typeof r!="object"?{loose:!0}:ICe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};XH.exports=yCe});var MI=w((h$e,$H)=>{var ZH=/^[0-9]+$/,_H=(r,e)=>{let t=ZH.test(r),i=ZH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r_H(e,r);$H.exports={compareIdentifiers:_H,rcompareIdentifiers:wCe}});var Li=w((p$e,iG)=>{var OI=fd(),{MAX_LENGTH:eG,MAX_SAFE_INTEGER:KI}=gd(),{re:tG,t:rG}=uc(),BCe=hd(),{compareIdentifiers:pd}=MI(),Yn=class{constructor(e,t){if(t=BCe(t),e instanceof Yn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>eG)throw new TypeError(`version is longer than ${eG} characters`);OI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?tG[rG.LOOSE]:tG[rG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>KI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>KI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>KI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};iG.exports=Yn});var gc=w((d$e,aG)=>{var{MAX_LENGTH:bCe}=gd(),{re:nG,t:sG}=uc(),oG=Li(),QCe=hd(),SCe=(r,e)=>{if(e=QCe(e),r instanceof oG)return r;if(typeof r!="string"||r.length>bCe||!(e.loose?nG[sG.LOOSE]:nG[sG.FULL]).test(r))return null;try{return new oG(r,e)}catch{return null}};aG.exports=SCe});var lG=w((C$e,AG)=>{var vCe=gc(),xCe=(r,e)=>{let t=vCe(r,e);return t?t.version:null};AG.exports=xCe});var uG=w((m$e,cG)=>{var PCe=gc(),DCe=(r,e)=>{let t=PCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};cG.exports=DCe});var fG=w((E$e,gG)=>{var kCe=Li(),RCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new kCe(r,t).inc(e,i).version}catch{return null}};gG.exports=RCe});var cs=w((I$e,pG)=>{var hG=Li(),FCe=(r,e,t)=>new hG(r,t).compare(new hG(e,t));pG.exports=FCe});var UI=w((y$e,dG)=>{var NCe=cs(),TCe=(r,e,t)=>NCe(r,e,t)===0;dG.exports=TCe});var EG=w((w$e,mG)=>{var CG=gc(),LCe=UI(),MCe=(r,e)=>{if(LCe(r,e))return null;{let t=CG(r),i=CG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};mG.exports=MCe});var yG=w((B$e,IG)=>{var OCe=Li(),KCe=(r,e)=>new OCe(r,e).major;IG.exports=KCe});var BG=w((b$e,wG)=>{var UCe=Li(),HCe=(r,e)=>new UCe(r,e).minor;wG.exports=HCe});var QG=w((Q$e,bG)=>{var GCe=Li(),YCe=(r,e)=>new GCe(r,e).patch;bG.exports=YCe});var vG=w((S$e,SG)=>{var jCe=gc(),qCe=(r,e)=>{let t=jCe(r,e);return t&&t.prerelease.length?t.prerelease:null};SG.exports=qCe});var PG=w((v$e,xG)=>{var JCe=cs(),WCe=(r,e,t)=>JCe(e,r,t);xG.exports=WCe});var kG=w((x$e,DG)=>{var zCe=cs(),VCe=(r,e)=>zCe(r,e,!0);DG.exports=VCe});var HI=w((P$e,FG)=>{var RG=Li(),XCe=(r,e,t)=>{let i=new RG(r,t),n=new RG(e,t);return i.compare(n)||i.compareBuild(n)};FG.exports=XCe});var TG=w((D$e,NG)=>{var ZCe=HI(),_Ce=(r,e)=>r.sort((t,i)=>ZCe(t,i,e));NG.exports=_Ce});var MG=w((k$e,LG)=>{var $Ce=HI(),eme=(r,e)=>r.sort((t,i)=>$Ce(i,t,e));LG.exports=eme});var dd=w((R$e,OG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)>0;OG.exports=rme});var GI=w((F$e,KG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)<0;KG.exports=nme});var Cv=w((N$e,UG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)!==0;UG.exports=ome});var YI=w((T$e,HG)=>{var ame=cs(),Ame=(r,e,t)=>ame(r,e,t)>=0;HG.exports=Ame});var jI=w((L$e,GG)=>{var lme=cs(),cme=(r,e,t)=>lme(r,e,t)<=0;GG.exports=cme});var mv=w((M$e,YG)=>{var ume=UI(),gme=Cv(),fme=dd(),hme=YI(),pme=GI(),dme=jI(),Cme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ume(r,t,i);case"!=":return gme(r,t,i);case">":return fme(r,t,i);case">=":return hme(r,t,i);case"<":return pme(r,t,i);case"<=":return dme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};YG.exports=Cme});var qG=w((O$e,jG)=>{var mme=Li(),Eme=gc(),{re:qI,t:JI}=uc(),Ime=(r,e)=>{if(r instanceof mme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:Eme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};jG.exports=Ime});var WG=w((K$e,JG)=>{"use strict";JG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((U$e,zG)=>{"use strict";zG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var bme=WI(),hc=Symbol("max"),va=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),Sa=Symbol("dispose"),VG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),ZG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[Sa]=e.dispose,this[VG]=e.noDisposeOnSet||!1,this[ZG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[va]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[va]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[va]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;XG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;XG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Sa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Sa](e.key,e.value)),this[Zs]=new Map,this[di]=new bme,this[va]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[Sa]&&(this[VG]||this[Sa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[va]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[Sa]&&this[Sa](e,t),!1):(this[va]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[ZG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[va]>r[hc])for(let e=r[di].tail;r[va]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[Sa]&&r[Sa](t.key,t.value),r[va]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},XG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};_G.exports=yv});var us=w((G$e,iY)=>{var dc=class{constructor(e,t){if(t=Sme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!tY(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&kme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=eY.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[bi.HYPHENRANGELOOSE]:Mi[bi.HYPHENRANGE];e=e.replace(o,Hme(this.options.includePrerelease)),Hr("hyphen replace",e),e=e.replace(Mi[bi.COMPARATORTRIM],xme),Hr("comparator trim",e,Mi[bi.COMPARATORTRIM]),e=e.replace(Mi[bi.TILDETRIM],Pme),e=e.replace(Mi[bi.CARETTRIM],Dme),e=e.split(/\s+/).join(" ");let a=s?Mi[bi.COMPARATORLOOSE]:Mi[bi.COMPARATOR],l=e.split(" ").map(f=>Rme(f,this.options)).join(" ").split(/\s+/).map(f=>Ume(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(tY(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return eY.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>rY(i,t)&&e.set.some(n=>rY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new vme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",kme=r=>r.value==="",rY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Rme=(r,e)=>(Hr("comp",r,e),r=Tme(r,e),Hr("caret",r),r=Fme(r,e),Hr("tildes",r),r=Mme(r,e),Hr("xrange",r),r=Kme(r,e),Hr("stars",r),r),$i=r=>!r||r.toLowerCase()==="x"||r==="*",Fme=(r,e)=>r.trim().split(/\s+/).map(t=>Nme(t,e)).join(" "),Nme=(r,e)=>{let t=e.loose?Mi[bi.TILDELOOSE]:Mi[bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Hr("tilde",r,i,n,s,o,a);let l;return $i(n)?l="":$i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:$i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Hr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Hr("tilde return",l),l})},Tme=(r,e)=>r.trim().split(/\s+/).map(t=>Lme(t,e)).join(" "),Lme=(r,e)=>{Hr("caret",r,e);let t=e.loose?Mi[bi.CARETLOOSE]:Mi[bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Hr("caret",r,n,s,o,a,l);let c;return $i(s)?c="":$i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:$i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Hr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Hr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Hr("caret return",c),c})},Mme=(r,e)=>(Hr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Ome(t,e)).join(" ")),Ome=(r,e)=>{r=r.trim();let t=e.loose?Mi[bi.XRANGELOOSE]:Mi[bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Hr("xRange",r,i,n,s,o,a,l);let c=$i(s),u=c||$i(o),g=u||$i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Hr("xRange return",i),i})},Kme=(r,e)=>(Hr("replaceStars",r,e),r.trim().replace(Mi[bi.STAR],"")),Ume=(r,e)=>(Hr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?bi.GTE0PRE:bi.GTE0],"")),Hme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>($i(i)?t="":$i(n)?t=`>=${i}.0.0${r?"-0":""}`:$i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,$i(c)?l="":$i(u)?l=`<${+c+1}.0.0-0`:$i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Gme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((Y$e,AY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Yme(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}Qv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,Qv("comp",this)}parse(e){let t=this.options.loose?nY[sY.COMPARATORLOOSE]:nY[sY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new oY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(Qv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new oY(e,this.options)}catch{return!1}return bv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new aY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new aY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=bv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=bv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};AY.exports=Vg;var Yme=hd(),{re:nY,t:sY}=uc(),bv=mv(),Qv=fd(),oY=Li(),aY=us()});var yd=w((j$e,lY)=>{var jme=us(),qme=(r,e,t)=>{try{e=new jme(e,t)}catch{return!1}return e.test(r)};lY.exports=qme});var uY=w((q$e,cY)=>{var Jme=us(),Wme=(r,e)=>new Jme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));cY.exports=Wme});var fY=w((J$e,gY)=>{var zme=Li(),Vme=us(),Xme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Vme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new zme(i,t))}),i};gY.exports=Xme});var pY=w((W$e,hY)=>{var Zme=Li(),_me=us(),$me=(r,e,t)=>{let i=null,n=null,s=null;try{s=new _me(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Zme(i,t))}),i};hY.exports=$me});var mY=w((z$e,CY)=>{var Sv=Li(),eEe=us(),dY=dd(),tEe=(r,e)=>{r=new eEe(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||dY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||dY(t,s))&&(t=s)}return t&&r.test(t)?t:null};CY.exports=tEe});var IY=w((V$e,EY)=>{var rEe=us(),iEe=(r,e)=>{try{return new rEe(r,e).range||"*"}catch{return null}};EY.exports=iEe});var VI=w((X$e,bY)=>{var nEe=Li(),BY=Ed(),{ANY:sEe}=BY,oEe=us(),aEe=yd(),yY=dd(),wY=GI(),AEe=jI(),lEe=YI(),cEe=(r,e,t,i)=>{r=new nEe(r,i),e=new oEe(e,i);let n,s,o,a,l;switch(t){case">":n=yY,s=AEe,o=wY,a=">",l=">=";break;case"<":n=wY,s=lEe,o=yY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(aEe(r,e,i))return!1;for(let c=0;c{h.semver===sEe&&(h=new BY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};bY.exports=cEe});var SY=w((Z$e,QY)=>{var uEe=VI(),gEe=(r,e,t)=>uEe(r,e,">",t);QY.exports=gEe});var xY=w((_$e,vY)=>{var fEe=VI(),hEe=(r,e,t)=>fEe(r,e,"<",t);vY.exports=hEe});var kY=w(($$e,DY)=>{var PY=us(),pEe=(r,e,t)=>(r=new PY(r,t),e=new PY(e,t),r.intersects(e));DY.exports=pEe});var FY=w((eet,RY)=>{var dEe=yd(),CEe=cs();RY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>CEe(u,g,t));for(let u of o)dEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var NY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),mEe=(r,e,t={})=>{if(r===e)return!0;r=new NY(r,t),e=new NY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=EEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},EEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=TY(n,h,t):h.operator==="<"||h.operator==="<="?s=LY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=TY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=LY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},TY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},LY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};MY.exports=mEe});var Xr=w((ret,KY)=>{var Pv=uc();KY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:MI().compareIdentifiers,rcompareIdentifiers:MI().rcompareIdentifiers,parse:gc(),valid:lG(),clean:uG(),inc:fG(),diff:EG(),major:yG(),minor:BG(),patch:QG(),prerelease:vG(),compare:cs(),rcompare:PG(),compareLoose:kG(),compareBuild:HI(),sort:TG(),rsort:MG(),gt:dd(),lt:GI(),eq:UI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:qG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:uY(),maxSatisfying:fY(),minSatisfying:pY(),minVersion:mY(),validRange:IY(),outside:VI(),gtr:SY(),ltr:xY(),intersects:kY(),simplifyRange:FY(),subset:OY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:UY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`,!1),xp="\r",Pp=ar("\r",!1),G=0,yt=0,IA=[{line:1,column:1}],zi=0,Ml=[],Xe=0,pa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function pg(){return r.substring(yt,G)}function OE(){return cn(yt,G)}function Dp(R,q){throw q=q!==void 0?q:cn(yt,G),Ul([Us(R)],r.substring(yt,G),q)}function ME(R,q){throw q=q!==void 0?q:cn(yt,G),dg(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Tn(R,q,Ce){return{type:"class",parts:R,inverted:q,ignoreCase:Ce}}function Kl(){return{type:"any"}}function kp(){return{type:"end"}}function Us(R){return{type:"other",description:R}}function da(R){var q=IA[R],Ce;if(q)return q;for(Ce=R-1;!IA[Ce];)Ce--;for(q=IA[Ce],q={line:q.line,column:q.column};Cezi&&(zi=G,Ml=[]),Ml.push(R))}function dg(R,q){return new ac(R,null,null,q)}function Ul(R,q,Ce){return new ac(ac.buildMessage(R,q),R,q,Ce)}function Hs(){var R;return R=Cg(),R}function Hl(){var R,q,Ce;for(R=G,q=[],Ce=yA();Ce!==t;)q.push(Ce),Ce=yA();return q!==t&&(yt=R,q=s(q)),R=q,R}function yA(){var R,q,Ce,Ke,Re;return R=G,q=ma(),q!==t?(r.charCodeAt(G)===45?(Ce=o,G++):(Ce=t,Xe===0&&Le(a)),Ce!==t?(Ke=Rr(),Ke!==t?(Re=Ca(),Re!==t?(yt=R,q=l(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Cg(){var R,q,Ce;for(R=G,q=[],Ce=mg();Ce!==t;)q.push(Ce),Ce=mg();return q!==t&&(yt=R,q=c(q)),R=q,R}function mg(){var R,q,Ce,Ke,Re,ze,dt,Ft,Ln;if(R=G,q=Rr(),q===t&&(q=null),q!==t){if(Ce=G,r.charCodeAt(G)===35?(Ke=u,G++):(Ke=t,Xe===0&&Le(g)),Ke!==t){if(Re=[],ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t),ze!==t)for(;ze!==t;)Re.push(ze),ze=G,dt=G,Xe++,Ft=js(),Xe--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,Xe===0&&Le(f)),Ft!==t?(dt=[dt,Ft],ze=dt):(G=ze,ze=t)):(G=ze,ze=t);else Re=t;Re!==t?(Ke=[Ke,Re],Ce=Ke):(G=Ce,Ce=t)}else G=Ce,Ce=t;if(Ce===t&&(Ce=null),Ce!==t){if(Ke=[],Re=Ys(),Re!==t)for(;Re!==t;)Ke.push(Re),Re=Ys();else Ke=t;Ke!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=ma(),q!==t?(Ce=Gl(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=ma(),q!==t?(Ce=Gs(),Ce!==t?(Ke=Rr(),Ke===t&&(Ke=null),Ke!==t?(r.charCodeAt(G)===58?(Re=p,G++):(Re=t,Xe===0&&Le(C)),Re!==t?(ze=Rr(),ze===t&&(ze=null),ze!==t?(dt=Ca(),dt!==t?(yt=R,q=y(Ce,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t)if(Ke=Rr(),Ke!==t)if(Re=KE(),Re!==t){if(ze=[],dt=Ys(),dt!==t)for(;dt!==t;)ze.push(dt),dt=Ys();else ze=t;ze!==t?(yt=R,q=y(Ce,Re),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=ma(),q!==t)if(Ce=Gs(),Ce!==t){if(Ke=[],Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t),Re!==t)for(;Re!==t;)Ke.push(Re),Re=G,ze=Rr(),ze===t&&(ze=null),ze!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,Xe===0&&Le(v)),dt!==t?(Ft=Rr(),Ft===t&&(Ft=null),Ft!==t?(Ln=Gs(),Ln!==t?(yt=Re,ze=D(Ce,Ln),Re=ze):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t)):(G=Re,Re=t);else Ke=t;Ke!==t?(Re=Rr(),Re===t&&(Re=null),Re!==t?(r.charCodeAt(G)===58?(ze=p,G++):(ze=t,Xe===0&&Le(C)),ze!==t?(dt=Rr(),dt===t&&(dt=null),dt!==t?(Ft=Ca(),Ft!==t?(yt=R,q=T(Ce,Ke,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ca(){var R,q,Ce,Ke,Re,ze,dt;if(R=G,q=G,Xe++,Ce=G,Ke=js(),Ke!==t?(Re=rt(),Re!==t?(r.charCodeAt(G)===45?(ze=o,G++):(ze=t,Xe===0&&Le(a)),ze!==t?(dt=Rr(),dt!==t?(Ke=[Ke,Re,ze,dt],Ce=Ke):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t)):(G=Ce,Ce=t),Xe--,Ce!==t?(G=q,q=void 0):q=t,q!==t?(Ce=Ys(),Ce!==t?(Ke=bo(),Ke!==t?(Re=Hl(),Re!==t?(ze=wA(),ze!==t?(yt=R,q=H(Re),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=js(),q!==t?(Ce=bo(),Ce!==t?(Ke=Cg(),Ke!==t?(Re=wA(),Re!==t?(yt=R,q=H(Ke),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=Yl(),q!==t){if(Ce=[],Ke=Ys(),Ke!==t)for(;Ke!==t;)Ce.push(Ke),Ke=Ys();else Ce=t;Ce!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function ma(){var R,q,Ce;for(Xe++,R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=_(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),Xe--,R===t&&(q=t,Xe===0&&Le($)),R}function rt(){var R,q,Ce;for(R=G,q=[],r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));Ce!==t;)q.push(Ce),r.charCodeAt(G)===32?(Ce=V,G++):(Ce=t,Xe===0&&Le(W));return q!==t?(yt=G,Ce=A(q),Ce?Ce=void 0:Ce=t,Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)):(G=R,R=t),R}function bo(){var R;return yt=G,R=Ae(),R?R=void 0:R=t,R}function wA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function Gl(){var R;return R=jl(),R===t&&(R=Rp()),R}function Gs(){var R,q,Ce;if(R=jl(),R===t){if(R=G,q=[],Ce=Eg(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Eg();else q=t;q!==t&&(yt=R,q=re()),R=q}return R}function Yl(){var R;return R=Fp(),R===t&&(R=UE(),R===t&&(R=jl(),R===t&&(R=Rp()))),R}function KE(){var R;return R=Fp(),R===t&&(R=jl(),R===t&&(R=Eg())),R}function Rp(){var R,q,Ce,Ke,Re,ze;if(Xe++,R=G,F.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ue)),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(pe.test(r.charAt(G))?(ze=r.charAt(G),G++):(ze=t,Xe===0&&Le(ke)),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(O)),R}function Eg(){var R,q,Ce,Ke,Re;if(R=G,r.substr(G,2)===Ne?(q=Ne,G+=2):(q=t,Xe===0&&Le(oe)),q===t&&(q=null),q!==t)if(le.test(r.charAt(G))?(Ce=r.charAt(G),G++):(Ce=t,Xe===0&&Le(Be)),Ce!==t){for(Ke=[],fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Re!==t;)Ke.push(Re),fe.test(r.charAt(G))?(Re=r.charAt(G),G++):(Re=t,Xe===0&&Le(ae));Ke!==t?(yt=R,q=Fe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function Fp(){var R,q;return R=G,r.substr(G,4)===qe?(q=qe,G+=4):(q=t,Xe===0&&Le(ne)),q!==t&&(yt=R,q=Y()),R=q,R}function UE(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,Xe===0&&Le(ie)),q!==t&&(yt=R,q=de()),R=q,R===t&&(R=G,r.substr(G,5)===_e?(q=_e,G+=5):(q=t,Xe===0&&Le(Pt)),q!==t&&(yt=R,q=It()),R=q),R}function jl(){var R,q,Ce,Ke;return Xe++,R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(r.charCodeAt(G)===34?(Ce=ii,G++):(Ce=t,Xe===0&&Le(gi)),Ce!==t?(yt=R,q=hr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=ii,G++):(q=t,Xe===0&&Le(gi)),q!==t?(Ce=HE(),Ce!==t?(r.charCodeAt(G)===34?(Ke=ii,G++):(Ke=t,Xe===0&&Le(gi)),Ke!==t?(yt=R,q=fi(Ce),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),Xe--,R===t&&(q=t,Xe===0&&Le(Or)),R}function HE(){var R,q,Ce;if(R=G,q=[],Ce=Ig(),Ce!==t)for(;Ce!==t;)q.push(Ce),Ce=Ig();else q=t;return q!==t&&(yt=R,q=ni(q)),R=q,R}function Ig(){var R,q,Ce,Ke,Re,ze;return Ks.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(pr)),R===t&&(R=G,r.substr(G,2)===Ii?(q=Ii,G+=2):(q=t,Xe===0&&Le(rs)),q!==t&&(yt=R,q=fa()),R=q,R===t&&(R=G,r.substr(G,2)===dA?(q=dA,G+=2):(q=t,Xe===0&&Le(cg)),q!==t&&(yt=R,q=is()),R=q,R===t&&(R=G,r.substr(G,2)===CA?(q=CA,G+=2):(q=t,Xe===0&&Le(ha)),q!==t&&(yt=R,q=wp()),R=q,R===t&&(R=G,r.substr(G,2)===mA?(q=mA,G+=2):(q=t,Xe===0&&Le(EA)),q!==t&&(yt=R,q=wr()),R=q,R===t&&(R=G,r.substr(G,2)===Tl?(q=Tl,G+=2):(q=t,Xe===0&&Le(ug)),q!==t&&(yt=R,q=yo()),R=q,R===t&&(R=G,r.substr(G,2)===gg?(q=gg,G+=2):(q=t,Xe===0&&Le(Bp)),q!==t&&(yt=R,q=bp()),R=q,R===t&&(R=G,r.substr(G,2)===vr?(q=vr,G+=2):(q=t,Xe===0&&Le(se)),q!==t&&(yt=R,q=wo()),R=q,R===t&&(R=G,r.substr(G,2)===Fn?(q=Fn,G+=2):(q=t,Xe===0&&Le(fg)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Ll?(q=Ll,G+=2):(q=t,Xe===0&&Le(Nn)),q!==t?(Ce=BA(),Ce!==t?(Ke=BA(),Ke!==t?(Re=BA(),Re!==t?(ze=BA(),ze!==t?(yt=R,q=ns(Ce,Ke,Re,ze),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function BA(){var R;return ss.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,Xe===0&&Le(gt)),R}function Rr(){var R,q;if(Xe++,R=[],At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln)),q!==t)for(;q!==t;)R.push(q),At.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(ln));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(Bo)),R}function GE(){var R,q;if(Xe++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,Xe===0&&Le(hg));else R=t;return Xe--,R===t&&(q=t,Xe===0&&Le(S)),R}function Ys(){var R,q,Ce,Ke,Re,ze;if(R=G,q=js(),q!==t){for(Ce=[],Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ke!==t;)Ce.push(Ke),Ke=G,Re=Rr(),Re===t&&(Re=null),Re!==t?(ze=js(),ze!==t?(Re=[Re,ze],Ke=Re):(G=Ke,Ke=t)):(G=Ke,Ke=t);Ce!==t?(q=[q,Ce],R=q):(G=R,R=t)}else G=R,R=t;return R}function js(){var R;return r.substr(G,2)===Ol?(R=Ol,G+=2):(R=t,Xe===0&&Le(Qp)),R===t&&(r.charCodeAt(G)===10?(R=Sp,G++):(R=t,Xe===0&&Le(vp)),R===t&&(r.charCodeAt(G)===13?(R=xp,G++):(R=t,Xe===0&&Le(Pp)))),R}let yg=2,bA=0;if(pa=n(),pa!==t&&G===r.length)return pa;throw pa!==t&&G{"use strict";var hde=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=hde(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};ev.exports=hH;ev.exports.default=hH});var dH=w((A_e,pde)=>{pde.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var Ac=w(Un=>{"use strict";var mH=dH(),Po=process.env;Object.defineProperty(Un,"_vendors",{value:mH.map(function(r){return r.constant})});Un.name=null;Un.isPR=null;mH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return CH(i)});if(Un[r.constant]=t,t)switch(Un.name=r.name,typeof r.pr){case"string":Un.isPR=!!Po[r.pr];break;case"object":"env"in r.pr?Un.isPR=r.pr.env in Po&&Po[r.pr.env]!==r.pr.ne:"any"in r.pr?Un.isPR=r.pr.any.some(function(i){return!!Po[i]}):Un.isPR=CH(r.pr);break;default:Un.isPR=null}});Un.isCI=!!(Po.CI||Po.CONTINUOUS_INTEGRATION||Po.BUILD_NUMBER||Po.RUN_ID||Un.name);function CH(r){return typeof r=="string"?!!Po[r]:Object.keys(r).every(function(e){return Po[e]===r[e]})}});var hn={};ut(hn,{KeyRelationship:()=>lc,applyCascade:()=>od,base64RegExp:()=>BH,colorStringAlphaRegExp:()=>wH,colorStringRegExp:()=>yH,computeKey:()=>RA,getPrintable:()=>Vr,hasExactLength:()=>xH,hasForbiddenKeys:()=>Wde,hasKeyRelationship:()=>av,hasMaxLength:()=>Dde,hasMinLength:()=>Pde,hasMutuallyExclusiveKeys:()=>zde,hasRequiredKeys:()=>Jde,hasUniqueItems:()=>kde,isArray:()=>yde,isAtLeast:()=>Nde,isAtMost:()=>Tde,isBase64:()=>jde,isBoolean:()=>mde,isDate:()=>Ide,isDict:()=>Bde,isEnum:()=>Zi,isHexColor:()=>Yde,isISO8601:()=>Gde,isInExclusiveRange:()=>Ode,isInInclusiveRange:()=>Lde,isInstanceOf:()=>Qde,isInteger:()=>Mde,isJSON:()=>qde,isLiteral:()=>dde,isLowerCase:()=>Kde,isNegative:()=>Rde,isNullable:()=>xde,isNumber:()=>Ede,isObject:()=>bde,isOneOf:()=>Sde,isOptional:()=>vde,isPositive:()=>Fde,isString:()=>sd,isTuple:()=>wde,isUUID4:()=>Hde,isUnknown:()=>vH,isUpperCase:()=>Ude,iso8601RegExp:()=>ov,makeCoercionFn:()=>cc,makeSetter:()=>SH,makeTrait:()=>QH,makeValidator:()=>Qt,matchesRegExp:()=>ad,plural:()=>kI,pushError:()=>pt,simpleKeyRegExp:()=>IH,uuid4RegExp:()=>bH});function Qt({test:r}){return QH(r)()}function Vr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function RA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:IH.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function cc(r,e){return t=>{let i=r[e];return r[e]=t,cc(r,e).bind(null,i)}}function SH(r,e){return t=>{r[e]=t}}function kI(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}function dde(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Vr(r)})`):!0})}function Zi(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Vr(i)})`)})}var IH,yH,wH,BH,bH,ov,QH,vH,sd,Cde,mde,Ede,Ide,yde,wde,Bde,bde,Qde,Sde,od,vde,xde,Pde,Dde,xH,kde,Rde,Fde,Nde,Tde,Lde,Ode,Mde,ad,Kde,Ude,Hde,Gde,Yde,jde,qde,Jde,Wde,zde,lc,Vde,av,ls=Tge(()=>{IH=/^[a-zA-Z_][a-zA-Z0-9_]*$/,yH=/^#[0-9a-f]{6}$/i,wH=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,BH=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bH=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,ov=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,QH=r=>()=>r;vH=()=>Qt({test:(r,e)=>!0});sd=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Vr(r)})`):!0});Cde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),mde=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=Cde.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Vr(r)})`)}return!0}}),Ede=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Vr(r)})`)}return!0}}),Ide=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&ov.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Vr(r)})`)}return!0}}),yde=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Vr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=xH(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Vr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Vr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Vr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:RA(n,l),coercion:cc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:RA(n,l)}),`Extraneous property (got ${Vr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:SH(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Qde=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Vr(e)})`)}),Sde=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),od=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?cc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),vde=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),xde=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),Pde=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),Dde=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),xH=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),kde=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),Fde=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),Nde=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),Tde=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),Lde=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),Ode=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),ad=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Vr(e)})`)}),Kde=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),Ude=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),Hde=()=>Qt({test:(r,e)=>bH.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Vr(r)})`)}),Gde=()=>Qt({test:(r,e)=>ov.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Vr(r)})`)}),Yde=({alpha:r=!1})=>Qt({test:(e,t)=>(r?yH.test(e):wH.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Vr(e)})`)}),jde=()=>Qt({test:(r,e)=>BH.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Vr(r)})`)}),qde=(r=vH())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Vr(e)})`)}return r(i,t)}}),Jde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Wde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${kI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},zde=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(lc||(lc={}));Vde={[lc.Forbids]:{expect:!1,message:"forbids using"},[lc.Requires]:{expect:!0,message:"requires using"}},av=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=Vde[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${kI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var qH=w((A$e,jH)=>{"use strict";jH.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var Jg=w((l$e,pv)=>{"use strict";var gCe=qH(),JH=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=gCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};pv.exports=JH;pv.exports.default=JH});var gd=w((u$e,WH)=>{var fCe="2.0.0",hCe=Number.MAX_SAFE_INTEGER||9007199254740991,pCe=16;WH.exports={SEMVER_SPEC_VERSION:fCe,MAX_LENGTH:256,MAX_SAFE_INTEGER:hCe,MAX_SAFE_COMPONENT_LENGTH:pCe}});var fd=w((g$e,zH)=>{var dCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};zH.exports=dCe});var uc=w((NA,VH)=>{var{MAX_SAFE_COMPONENT_LENGTH:dv}=gd(),CCe=fd();NA=VH.exports={};var mCe=NA.re=[],et=NA.src=[],tt=NA.t={},ECe=0,St=(r,e,t)=>{let i=ECe++;CCe(i,e),tt[r]=i,et[i]=e,mCe[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})\\.(${et[tt.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})\\.(${et[tt.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${et[tt.NUMERICIDENTIFIER]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${et[tt.NUMERICIDENTIFIERLOOSE]}|${et[tt.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${et[tt.PRERELEASEIDENTIFIER]}(?:\\.${et[tt.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${et[tt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${et[tt.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${et[tt.BUILDIDENTIFIER]}(?:\\.${et[tt.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${et[tt.MAINVERSION]}${et[tt.PRERELEASE]}?${et[tt.BUILD]}?`);St("FULL",`^${et[tt.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${et[tt.MAINVERSIONLOOSE]}${et[tt.PRERELEASELOOSE]}?${et[tt.BUILD]}?`);St("LOOSE",`^${et[tt.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${et[tt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${et[tt.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:\\.(${et[tt.XRANGEIDENTIFIER]})(?:${et[tt.PRERELEASE]})?${et[tt.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${et[tt.XRANGEIDENTIFIERLOOSE]})(?:${et[tt.PRERELEASELOOSE]})?${et[tt.BUILD]}?)?)?`);St("XRANGE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${et[tt.GTLT]}\\s*${et[tt.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${dv}})(?:\\.(\\d{1,${dv}}))?(?:\\.(\\d{1,${dv}}))?(?:$|[^\\d])`);St("COERCERTL",et[tt.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${et[tt.LONETILDE]}\\s+`,!0);NA.tildeTrimReplace="$1~";St("TILDE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${et[tt.LONETILDE]}${et[tt.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${et[tt.LONECARET]}\\s+`,!0);NA.caretTrimReplace="$1^";St("CARET",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${et[tt.LONECARET]}${et[tt.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${et[tt.GTLT]}\\s*(${et[tt.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${et[tt.GTLT]}\\s*(${et[tt.LOOSEPLAIN]}|${et[tt.XRANGEPLAIN]})`,!0);NA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${et[tt.XRANGEPLAIN]})\\s+-\\s+(${et[tt.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${et[tt.XRANGEPLAINLOOSE]})\\s+-\\s+(${et[tt.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var hd=w((f$e,XH)=>{var ICe=["includePrerelease","loose","rtl"],yCe=r=>r?typeof r!="object"?{loose:!0}:ICe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};XH.exports=yCe});var OI=w((h$e,$H)=>{var ZH=/^[0-9]+$/,_H=(r,e)=>{let t=ZH.test(r),i=ZH.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:r_H(e,r);$H.exports={compareIdentifiers:_H,rcompareIdentifiers:wCe}});var Li=w((p$e,iG)=>{var MI=fd(),{MAX_LENGTH:eG,MAX_SAFE_INTEGER:KI}=gd(),{re:tG,t:rG}=uc(),BCe=hd(),{compareIdentifiers:pd}=OI(),Yn=class{constructor(e,t){if(t=BCe(t),e instanceof Yn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>eG)throw new TypeError(`version is longer than ${eG} characters`);MI("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?tG[rG.LOOSE]:tG[rG.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>KI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>KI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>KI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};iG.exports=Yn});var gc=w((d$e,aG)=>{var{MAX_LENGTH:bCe}=gd(),{re:nG,t:sG}=uc(),oG=Li(),QCe=hd(),SCe=(r,e)=>{if(e=QCe(e),r instanceof oG)return r;if(typeof r!="string"||r.length>bCe||!(e.loose?nG[sG.LOOSE]:nG[sG.FULL]).test(r))return null;try{return new oG(r,e)}catch{return null}};aG.exports=SCe});var lG=w((C$e,AG)=>{var vCe=gc(),xCe=(r,e)=>{let t=vCe(r,e);return t?t.version:null};AG.exports=xCe});var uG=w((m$e,cG)=>{var PCe=gc(),DCe=(r,e)=>{let t=PCe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};cG.exports=DCe});var fG=w((E$e,gG)=>{var kCe=Li(),RCe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new kCe(r,t).inc(e,i).version}catch{return null}};gG.exports=RCe});var cs=w((I$e,pG)=>{var hG=Li(),FCe=(r,e,t)=>new hG(r,t).compare(new hG(e,t));pG.exports=FCe});var UI=w((y$e,dG)=>{var NCe=cs(),TCe=(r,e,t)=>NCe(r,e,t)===0;dG.exports=TCe});var EG=w((w$e,mG)=>{var CG=gc(),LCe=UI(),OCe=(r,e)=>{if(LCe(r,e))return null;{let t=CG(r),i=CG(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};mG.exports=OCe});var yG=w((B$e,IG)=>{var MCe=Li(),KCe=(r,e)=>new MCe(r,e).major;IG.exports=KCe});var BG=w((b$e,wG)=>{var UCe=Li(),HCe=(r,e)=>new UCe(r,e).minor;wG.exports=HCe});var QG=w((Q$e,bG)=>{var GCe=Li(),YCe=(r,e)=>new GCe(r,e).patch;bG.exports=YCe});var vG=w((S$e,SG)=>{var jCe=gc(),qCe=(r,e)=>{let t=jCe(r,e);return t&&t.prerelease.length?t.prerelease:null};SG.exports=qCe});var PG=w((v$e,xG)=>{var JCe=cs(),WCe=(r,e,t)=>JCe(e,r,t);xG.exports=WCe});var kG=w((x$e,DG)=>{var zCe=cs(),VCe=(r,e)=>zCe(r,e,!0);DG.exports=VCe});var HI=w((P$e,FG)=>{var RG=Li(),XCe=(r,e,t)=>{let i=new RG(r,t),n=new RG(e,t);return i.compare(n)||i.compareBuild(n)};FG.exports=XCe});var TG=w((D$e,NG)=>{var ZCe=HI(),_Ce=(r,e)=>r.sort((t,i)=>ZCe(t,i,e));NG.exports=_Ce});var OG=w((k$e,LG)=>{var $Ce=HI(),eme=(r,e)=>r.sort((t,i)=>$Ce(i,t,e));LG.exports=eme});var dd=w((R$e,MG)=>{var tme=cs(),rme=(r,e,t)=>tme(r,e,t)>0;MG.exports=rme});var GI=w((F$e,KG)=>{var ime=cs(),nme=(r,e,t)=>ime(r,e,t)<0;KG.exports=nme});var Cv=w((N$e,UG)=>{var sme=cs(),ome=(r,e,t)=>sme(r,e,t)!==0;UG.exports=ome});var YI=w((T$e,HG)=>{var ame=cs(),Ame=(r,e,t)=>ame(r,e,t)>=0;HG.exports=Ame});var jI=w((L$e,GG)=>{var lme=cs(),cme=(r,e,t)=>lme(r,e,t)<=0;GG.exports=cme});var mv=w((O$e,YG)=>{var ume=UI(),gme=Cv(),fme=dd(),hme=YI(),pme=GI(),dme=jI(),Cme=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return ume(r,t,i);case"!=":return gme(r,t,i);case">":return fme(r,t,i);case">=":return hme(r,t,i);case"<":return pme(r,t,i);case"<=":return dme(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};YG.exports=Cme});var qG=w((M$e,jG)=>{var mme=Li(),Eme=gc(),{re:qI,t:JI}=uc(),Ime=(r,e)=>{if(r instanceof mme)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(qI[JI.COERCE]);else{let i;for(;(i=qI[JI.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),qI[JI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;qI[JI.COERCERTL].lastIndex=-1}return t===null?null:Eme(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};jG.exports=Ime});var WG=w((K$e,JG)=>{"use strict";JG.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var WI=w((U$e,zG)=>{"use strict";zG.exports=Ht;Ht.Node=fc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var bme=WI(),hc=Symbol("max"),va=Symbol("length"),Wg=Symbol("lengthCalculator"),md=Symbol("allowStale"),pc=Symbol("maxAge"),Sa=Symbol("dispose"),VG=Symbol("noDisposeOnSet"),di=Symbol("lruList"),Zs=Symbol("cache"),ZG=Symbol("updateAgeOnGet"),Ev=()=>1,yv=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[hc]=e.max||1/0,i=e.length||Ev;if(this[Wg]=typeof i!="function"?Ev:i,this[md]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[pc]=e.maxAge||0,this[Sa]=e.dispose,this[VG]=e.noDisposeOnSet||!1,this[ZG]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[hc]=e||1/0,Cd(this)}get max(){return this[hc]}set allowStale(e){this[md]=!!e}get allowStale(){return this[md]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[pc]=e,Cd(this)}get maxAge(){return this[pc]}set lengthCalculator(e){typeof e!="function"&&(e=Ev),e!==this[Wg]&&(this[Wg]=e,this[va]=0,this[di].forEach(t=>{t.length=this[Wg](t.value,t.key),this[va]+=t.length})),Cd(this)}get lengthCalculator(){return this[Wg]}get length(){return this[va]}get itemCount(){return this[di].length}rforEach(e,t){t=t||this;for(let i=this[di].tail;i!==null;){let n=i.prev;XG(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[di].head;i!==null;){let n=i.next;XG(this,e,i,t),i=n}}keys(){return this[di].toArray().map(e=>e.key)}values(){return this[di].toArray().map(e=>e.value)}reset(){this[Sa]&&this[di]&&this[di].length&&this[di].forEach(e=>this[Sa](e.key,e.value)),this[Zs]=new Map,this[di]=new bme,this[va]=0}dump(){return this[di].map(e=>zI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[di]}set(e,t,i){if(i=i||this[pc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Wg](t,e);if(this[Zs].has(e)){if(s>this[hc])return zg(this,this[Zs].get(e)),!1;let l=this[Zs].get(e).value;return this[Sa]&&(this[VG]||this[Sa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[va]+=s-l.length,l.length=s,this.get(e),Cd(this),!0}let o=new wv(e,t,s,n,i);return o.length>this[hc]?(this[Sa]&&this[Sa](e,t),!1):(this[va]+=o.length,this[di].unshift(o),this[Zs].set(e,this[di].head),Cd(this),!0)}has(e){if(!this[Zs].has(e))return!1;let t=this[Zs].get(e).value;return!zI(this,t)}get(e){return Iv(this,e,!0)}peek(e){return Iv(this,e,!1)}pop(){let e=this[di].tail;return e?(zg(this,e),e.value):null}del(e){zg(this,this[Zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Zs].forEach((e,t)=>Iv(this,t,!1))}},Iv=(r,e,t)=>{let i=r[Zs].get(e);if(i){let n=i.value;if(zI(r,n)){if(zg(r,i),!r[md])return}else t&&(r[ZG]&&(i.value.now=Date.now()),r[di].unshiftNode(i));return n.value}},zI=(r,e)=>{if(!e||!e.maxAge&&!r[pc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[pc]&&t>r[pc]},Cd=r=>{if(r[va]>r[hc])for(let e=r[di].tail;r[va]>r[hc]&&e!==null;){let t=e.prev;zg(r,e),e=t}},zg=(r,e)=>{if(e){let t=e.value;r[Sa]&&r[Sa](t.key,t.value),r[va]-=t.length,r[Zs].delete(t.key),r[di].removeNode(e)}},wv=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},XG=(r,e,t,i)=>{let n=t.value;zI(r,n)&&(zg(r,t),r[md]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};_G.exports=yv});var us=w((G$e,iY)=>{var dc=class{constructor(e,t){if(t=Sme(t),e instanceof dc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new dc(e.raw,t);if(e instanceof Bv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!tY(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&kme(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=eY.get(i);if(n)return n;let s=this.options.loose,o=s?Oi[bi.HYPHENRANGELOOSE]:Oi[bi.HYPHENRANGE];e=e.replace(o,Hme(this.options.includePrerelease)),Hr("hyphen replace",e),e=e.replace(Oi[bi.COMPARATORTRIM],xme),Hr("comparator trim",e,Oi[bi.COMPARATORTRIM]),e=e.replace(Oi[bi.TILDETRIM],Pme),e=e.replace(Oi[bi.CARETTRIM],Dme),e=e.split(/\s+/).join(" ");let a=s?Oi[bi.COMPARATORLOOSE]:Oi[bi.COMPARATOR],l=e.split(" ").map(f=>Rme(f,this.options)).join(" ").split(/\s+/).map(f=>Ume(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new Bv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(tY(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return eY.set(i,g),g}intersects(e,t){if(!(e instanceof dc))throw new TypeError("a Range is required");return this.set.some(i=>rY(i,t)&&e.set.some(n=>rY(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new vme(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",kme=r=>r.value==="",rY=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},Rme=(r,e)=>(Hr("comp",r,e),r=Tme(r,e),Hr("caret",r),r=Fme(r,e),Hr("tildes",r),r=Ome(r,e),Hr("xrange",r),r=Kme(r,e),Hr("stars",r),r),$i=r=>!r||r.toLowerCase()==="x"||r==="*",Fme=(r,e)=>r.trim().split(/\s+/).map(t=>Nme(t,e)).join(" "),Nme=(r,e)=>{let t=e.loose?Oi[bi.TILDELOOSE]:Oi[bi.TILDE];return r.replace(t,(i,n,s,o,a)=>{Hr("tilde",r,i,n,s,o,a);let l;return $i(n)?l="":$i(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:$i(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Hr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Hr("tilde return",l),l})},Tme=(r,e)=>r.trim().split(/\s+/).map(t=>Lme(t,e)).join(" "),Lme=(r,e)=>{Hr("caret",r,e);let t=e.loose?Oi[bi.CARETLOOSE]:Oi[bi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{Hr("caret",r,n,s,o,a,l);let c;return $i(s)?c="":$i(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:$i(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Hr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Hr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Hr("caret return",c),c})},Ome=(r,e)=>(Hr("replaceXRanges",r,e),r.split(/\s+/).map(t=>Mme(t,e)).join(" ")),Mme=(r,e)=>{r=r.trim();let t=e.loose?Oi[bi.XRANGELOOSE]:Oi[bi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{Hr("xRange",r,i,n,s,o,a,l);let c=$i(s),u=c||$i(o),g=u||$i(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Hr("xRange return",i),i})},Kme=(r,e)=>(Hr("replaceStars",r,e),r.trim().replace(Oi[bi.STAR],"")),Ume=(r,e)=>(Hr("replaceGTE0",r,e),r.trim().replace(Oi[e.includePrerelease?bi.GTE0PRE:bi.GTE0],"")),Hme=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>($i(i)?t="":$i(n)?t=`>=${i}.0.0${r?"-0":""}`:$i(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,$i(c)?l="":$i(u)?l=`<${+c+1}.0.0-0`:$i(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),Gme=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Ed=w((Y$e,AY)=>{var Id=Symbol("SemVer ANY"),Vg=class{static get ANY(){return Id}constructor(e,t){if(t=Yme(t),e instanceof Vg){if(e.loose===!!t.loose)return e;e=e.value}Qv("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Id?this.value="":this.value=this.operator+this.semver.version,Qv("comp",this)}parse(e){let t=this.options.loose?nY[sY.COMPARATORLOOSE]:nY[sY.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new oY(i[2],this.options.loose):this.semver=Id}toString(){return this.value}test(e){if(Qv("Comparator.test",e,this.options.loose),this.semver===Id||e===Id)return!0;if(typeof e=="string")try{e=new oY(e,this.options)}catch{return!1}return bv(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Vg))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new aY(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new aY(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=bv(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=bv(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};AY.exports=Vg;var Yme=hd(),{re:nY,t:sY}=uc(),bv=mv(),Qv=fd(),oY=Li(),aY=us()});var yd=w((j$e,lY)=>{var jme=us(),qme=(r,e,t)=>{try{e=new jme(e,t)}catch{return!1}return e.test(r)};lY.exports=qme});var uY=w((q$e,cY)=>{var Jme=us(),Wme=(r,e)=>new Jme(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));cY.exports=Wme});var fY=w((J$e,gY)=>{var zme=Li(),Vme=us(),Xme=(r,e,t)=>{let i=null,n=null,s=null;try{s=new Vme(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new zme(i,t))}),i};gY.exports=Xme});var pY=w((W$e,hY)=>{var Zme=Li(),_me=us(),$me=(r,e,t)=>{let i=null,n=null,s=null;try{s=new _me(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new Zme(i,t))}),i};hY.exports=$me});var mY=w((z$e,CY)=>{var Sv=Li(),eEe=us(),dY=dd(),tEe=(r,e)=>{r=new eEe(r,e);let t=new Sv("0.0.0");if(r.test(t)||(t=new Sv("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new Sv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||dY(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||dY(t,s))&&(t=s)}return t&&r.test(t)?t:null};CY.exports=tEe});var IY=w((V$e,EY)=>{var rEe=us(),iEe=(r,e)=>{try{return new rEe(r,e).range||"*"}catch{return null}};EY.exports=iEe});var VI=w((X$e,bY)=>{var nEe=Li(),BY=Ed(),{ANY:sEe}=BY,oEe=us(),aEe=yd(),yY=dd(),wY=GI(),AEe=jI(),lEe=YI(),cEe=(r,e,t,i)=>{r=new nEe(r,i),e=new oEe(e,i);let n,s,o,a,l;switch(t){case">":n=yY,s=AEe,o=wY,a=">",l=">=";break;case"<":n=wY,s=lEe,o=yY,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(aEe(r,e,i))return!1;for(let c=0;c{h.semver===sEe&&(h=new BY(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};bY.exports=cEe});var SY=w((Z$e,QY)=>{var uEe=VI(),gEe=(r,e,t)=>uEe(r,e,">",t);QY.exports=gEe});var xY=w((_$e,vY)=>{var fEe=VI(),hEe=(r,e,t)=>fEe(r,e,"<",t);vY.exports=hEe});var kY=w(($$e,DY)=>{var PY=us(),pEe=(r,e,t)=>(r=new PY(r,t),e=new PY(e,t),r.intersects(e));DY.exports=pEe});var FY=w((eet,RY)=>{var dEe=yd(),CEe=cs();RY.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>CEe(u,g,t));for(let u of o)dEe(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var NY=us(),XI=Ed(),{ANY:vv}=XI,wd=yd(),xv=cs(),mEe=(r,e,t={})=>{if(r===e)return!0;r=new NY(r,t),e=new NY(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=EEe(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},EEe=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;t.includePrerelease?r=[new XI(">=0.0.0-0")]:r=[new XI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(t.includePrerelease)return!0;e=[new XI(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=TY(n,h,t):h.operator==="<"||h.operator==="<="?s=LY(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=xv(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!wd(h,String(n),t)||s&&!wd(h,String(s),t))return null;for(let p of e)if(!wd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=TY(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!wd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=LY(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!wd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},TY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},LY=(r,e,t)=>{if(!r)return e;let i=xv(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};OY.exports=mEe});var Xr=w((ret,KY)=>{var Pv=uc();KY.exports={re:Pv.re,src:Pv.src,tokens:Pv.t,SEMVER_SPEC_VERSION:gd().SEMVER_SPEC_VERSION,SemVer:Li(),compareIdentifiers:OI().compareIdentifiers,rcompareIdentifiers:OI().rcompareIdentifiers,parse:gc(),valid:lG(),clean:uG(),inc:fG(),diff:EG(),major:yG(),minor:BG(),patch:QG(),prerelease:vG(),compare:cs(),rcompare:PG(),compareLoose:kG(),compareBuild:HI(),sort:TG(),rsort:OG(),gt:dd(),lt:GI(),eq:UI(),neq:Cv(),gte:YI(),lte:jI(),cmp:mv(),coerce:qG(),Comparator:Ed(),Range:us(),satisfies:yd(),toComparators:uY(),maxSatisfying:fY(),minSatisfying:pY(),minVersion:mY(),validRange:IY(),outside:VI(),gtr:SY(),ltr:xY(),intersects:kY(),simplifyRange:FY(),subset:MY()}});var Dv=w(ZI=>{"use strict";Object.defineProperty(ZI,"__esModule",{value:!0});ZI.VERSION=void 0;ZI.VERSION="9.1.0"});var Gt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof _I=="object"&&_I.exports?_I.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:UY,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var y=this.disjunction();return this.consumeChar(")"),{type:C,value:y,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,y=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(y),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` `),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` `);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` `:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var y=this.classAtom(),B=y.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value `)+(" Using the regexp-to-ast library version: "+GY.VERSION+` `)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Cn.getOptimizedStartCodesIndices=QEe;function iy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=xa.minOptimizationVal)for(var f=u.from>=xa.minOptimizationVal?u.from:xa.minOptimizationVal,h=u.to,p=(0,xa.charCodeToOptimizedIndex)(f),C=(0,xa.charCodeToOptimizedIndex)(h),y=p;y<=C;y++)e[y]=y}}});break;case"Group":iy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&kv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,gs.values)(e)}Cn.firstCharOptimizedIndices=iy;function ry(r,e,t){var i=(0,xa.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&SEe(r,e)}function SEe(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,xa.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,xa.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function HY(r,e){return(0,gs.find)(r.value,function(t){if(typeof t=="number")return(0,gs.contains)(e,t);var i=t;return(0,gs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function kv(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,gs.isArray)(r.value)?(0,gs.every)(r.value,kv):kv(r.value):!1}var vEe=function(r){bEe(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,gs.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?HY(t,this.targetCharCodes)===void 0&&(this.found=!0):HY(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(GY.BaseRegExpVisitor);function xEe(r,e){if(e instanceof RegExp){var t=(0,YY.getRegExpAst)(e),i=new vEe(r);return i.visit(t),i.found}else return(0,gs.find)(e,function(n){return(0,gs.contains)(r,n.charCodeAt(0))})!==void 0}Cn.canMatchCharCode=xEe});var Rv=w(Ve=>{"use strict";var JY=Ve&&Ve.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ve,"__esModule",{value:!0});Ve.charCodeToOptimizedIndex=Ve.minOptimizationVal=Ve.buildLineBreakIssueMessage=Ve.LineTerminatorOptimizedTester=Ve.isShortPattern=Ve.isCustomPattern=Ve.cloneEmptyGroups=Ve.performWarningRuntimeChecks=Ve.performRuntimeChecks=Ve.addStickyFlag=Ve.addStartOfInput=Ve.findUnreachablePatterns=Ve.findModesThatDoNotExist=Ve.findInvalidGroupType=Ve.findDuplicatePatterns=Ve.findUnsupportedFlags=Ve.findStartOfInputAnchor=Ve.findEmptyMatchRegExps=Ve.findEndOfInputAnchor=Ve.findInvalidPatterns=Ve.findMissingPatterns=Ve.validatePatterns=Ve.analyzeTokenTypes=Ve.enableSticky=Ve.disableSticky=Ve.SUPPORT_STICKY=Ve.MODES=Ve.DEFAULT_MODE=void 0;var WY=$I(),ir=Bd(),xe=Gt(),Zg=qY(),zY=ty(),ko="PATTERN";Ve.DEFAULT_MODE="defaultMode";Ve.MODES="modes";Ve.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function PEe(){Ve.SUPPORT_STICKY=!1}Ve.disableSticky=PEe;function DEe(){Ve.SUPPORT_STICKY=!0}Ve.enableSticky=DEe;function kEe(r,e){e=(0,xe.defaults)(e,{useSticky:Ve.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){HEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[ko]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[ko];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=Aj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(oj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Mv),h=(0,xe.map)(s,sj),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. +`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){HEe()});var i;t("Reject Lexer.NA",function(){i=(0,xe.reject)(r,function(v){return v[ko]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,xe.map)(i,function(v){var D=v[ko];if((0,xe.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,xe.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Tv(D):Nv(D)}else{if((0,xe.isFunction)(D))return n=!0,{exec:D};if((0,xe.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Tv(j):Nv(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,xe.map)(i,function(v){return v.tokenTypeIdx}),a=(0,xe.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,xe.isString)(D))return D;if((0,xe.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,xe.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,xe.isArray)(D)?(0,xe.map)(D,function(H){return(0,xe.indexOf)(i,H)}):[(0,xe.indexOf)(i,D)];return T}}),c=(0,xe.map)(i,function(v){return v.PUSH_MODE}),u=(0,xe.map)(i,function(v){return(0,xe.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=Aj(e.lineTerminatorCharacters);g=(0,xe.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,xe.map)(i,function(D){if((0,xe.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(oj(D,v)===!1)return(0,Zg.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,xe.map)(i,Ov),h=(0,xe.map)(s,sj),p=(0,xe.reduce)(i,function(v,D){var T=D.GROUP;return(0,xe.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,xe.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var y=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,xe.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Lv(H);Fv(v,j,C[T])}else if((0,xe.isArray)(D.START_CHARS_HINT)){var $;(0,xe.forEach)(D.START_CHARS_HINT,function(W){var _=typeof W=="string"?W.charCodeAt(0):W,A=Lv(_);$!==A&&($=A,Fv(v,A,C[T]))})}else if((0,xe.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. `)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. This will disable the lexer's first char optimizations. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,Zg.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,xe.isEmpty)(V)&&(y=!1),(0,xe.forEach)(V,function(W){Fv(v,W,C[T])})}else e.ensureOptimizations&&(0,xe.PRINT_ERROR)(""+Zg.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. @@ -69,22 +69,22 @@ Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findEndOfInputAnchor=ZY;function _Y(r){var e=(0,xe.filter)(r,function(i){var n=i[ko];return n.test("")}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Ve.findEmptyMatchRegExps=_Y;var TEe=/[^\\[][\^]|^\^/;function $Y(r){var e=function(n){JY(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(WY.BaseRegExpVisitor),t=(0,xe.filter)(r,function(n){var s=n[ko];try{var o=(0,zY.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return TEe.test(s.source)}}),i=(0,xe.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ve.findStartOfInputAnchor=$Y;function ej(r){var e=(0,xe.filter)(r,function(i){var n=i[ko];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=ej;function tj(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=tj;function rj(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=rj;function ij(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=ij;function nj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&MEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Ve.findUnsupportedFlags=ej;function tj(r){var e=[],t=(0,xe.map)(r,function(s){return(0,xe.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,xe.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,xe.compact)(t);var i=(0,xe.filter)(t,function(s){return s.length>1}),n=(0,xe.map)(i,function(s){var o=(0,xe.map)(s,function(l){return l.name}),a=(0,xe.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ve.findDuplicatePatterns=tj;function rj(r){var e=(0,xe.filter)(r,function(i){if(!(0,xe.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,xe.isString)(n)}),t=(0,xe.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Ve.findInvalidGroupType=rj;function ij(r,e){var t=(0,xe.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,xe.contains)(e,n.PUSH_MODE)}),i=(0,xe.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ve.findModesThatDoNotExist=ij;function nj(r){var e=[],t=(0,xe.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,xe.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,xe.isRegExp)(o)&&OEe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,xe.forEach)(r,function(i,n){(0,xe.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=nj;function LEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function MEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function OEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ve.findUnreachablePatterns=nj;function LEe(r,e){if((0,xe.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,xe.isFunction)(e))return e(r,0,[],{});if((0,xe.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function OEe(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,xe.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function Nv(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Ve.addStartOfInput=Nv;function Tv(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Ve.addStickyFlag=Tv;function MEe(r,e,t){var i=[];return(0,xe.has)(r,Ve.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.DEFAULT_MODE+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,xe.has)(r,Ve.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ve.MODES+`> property in its definition `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,xe.has)(r,Ve.MODES)&&(0,xe.has)(r,Ve.DEFAULT_MODE)&&!(0,xe.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ve.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist `,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,xe.has)(r,Ve.MODES)&&(0,xe.forEach)(r.modes,function(n,s){(0,xe.forEach)(n,function(o,a){(0,xe.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=OEe;function KEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[ko]===ir.Lexer.NA}),a=Aj(t);return e&&(0,xe.forEach)(o,function(l){var c=oj(l,a);if(c!==!1){var u=aj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. +`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ve.performRuntimeChecks=MEe;function KEe(r,e,t){var i=[],n=!1,s=(0,xe.compact)((0,xe.flatten)((0,xe.mapValues)(r.modes,function(l){return l}))),o=(0,xe.reject)(s,function(l){return l[ko]===ir.Lexer.NA}),a=Aj(t);return e&&(0,xe.forEach)(o,function(l){var c=oj(l,a);if(c!==!1){var u=aj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,xe.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,Zg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. This Lexer has been defined to track line and column information, But none of the Token Types can be identified as matching a line terminator. See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ve.performWarningRuntimeChecks=KEe;function UEe(r){var e={},t=(0,xe.keys)(r);return(0,xe.forEach)(t,function(i){var n=r[i];if((0,xe.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ve.cloneEmptyGroups=UEe;function Mv(r){var e=r.PATTERN;if((0,xe.isRegExp)(e))return!1;if((0,xe.isFunction)(e))return!0;if((0,xe.has)(e,"exec"))return!0;if((0,xe.isString)(e))return!1;throw Error("non exhaustive match")}Ve.isCustomPattern=Mv;function sj(r){return(0,xe.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Ve.isShortPattern=sj;Ve.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type `)+(" Root cause: "+e.errMsg+`. `)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. `+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=aj;function Aj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function GEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=GEe;function YEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=YEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function jEe(r){var e=lj(r);cj(e),gj(e),uj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=jEe;function lj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=lj;function cj(r){(0,Zr.forEach)(r,function(e){fj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Ov(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),hj(e)||(e.categoryMatches=[]),pj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=cj;function uj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=uj;function gj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=gj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function fj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=fj;function Ov(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Ov;function hj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=hj;function pj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=pj;function qEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=qEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),JEe=_g(),WEe=Uv(),zEe=ty(),VEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(VEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var bd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ve.buildLineBreakIssueMessage=aj;function Aj(r){var e=(0,xe.map)(r,function(t){return(0,xe.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Fv(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Ve.minOptimizationVal=256;var ny=[];function Lv(r){return r255?255+~~(r/255):r}}});var _g=w(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var Zr=Gt();function GEe(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=GEe;function YEe(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=YEe;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function jEe(r){var e=lj(r);cj(e),gj(e),uj(e),(0,Zr.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=jEe;function lj(r){for(var e=(0,Zr.cloneArr)(r),t=r,i=!0;i;){t=(0,Zr.compact)((0,Zr.flatten)((0,Zr.map)(t,function(s){return s.CATEGORIES})));var n=(0,Zr.difference)(t,e);e=e.concat(n),(0,Zr.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=lj;function cj(r){(0,Zr.forEach)(r,function(e){fj(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),Mv(e)&&!(0,Zr.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Mv(e)||(e.CATEGORIES=[]),hj(e)||(e.categoryMatches=[]),pj(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=cj;function uj(r){(0,Zr.forEach)(r,function(e){e.categoryMatches=[],(0,Zr.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=uj;function gj(r){(0,Zr.forEach)(r,function(e){Kv([],e)})}Nt.assignCategoriesMapProp=gj;function Kv(r,e){(0,Zr.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,Zr.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,Zr.contains)(i,t)||Kv(i,t)})}Nt.singleAssignCategoriesToksMap=Kv;function fj(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=fj;function Mv(r){return(0,Zr.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=Mv;function hj(r){return(0,Zr.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=hj;function pj(r){return(0,Zr.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=pj;function qEe(r){return(0,Zr.has)(r,"tokenTypeIdx")}Nt.isTokenType=qEe});var Uv=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.defaultLexerErrorProvider=void 0;sy.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Bd=w(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.Lexer=Cc.LexerDefinitionErrorType=void 0;var _s=Rv(),nr=Gt(),JEe=_g(),WEe=Uv(),zEe=ty(),VEe;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(VEe=Cc.LexerDefinitionErrorType||(Cc.LexerDefinitionErrorType={}));var bd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` `,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:WEe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(bd);var XEe=function(){function r(e,t){var i=this;if(t===void 0&&(t=bd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(bd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===bd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=_s.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===bd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[_s.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[_s.DEFAULT_MODE]=_s.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,_s.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,_s.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,JEe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,_s.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- @@ -93,8 +93,8 @@ a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(bd,t);v Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,zEe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- `);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,M=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Mr=void 0,ii=void 0;M.lastIndex=0;do Mr=M.test(c),Mr===!0&&(ii=M.lastIndex-1,It++);while(Mr===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=XEe});var TA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var $s=Gt(),ZEe=Bd(),Hv=_g();function _Ee(r){return bj(r)?r.LABEL:r.name}Qi.tokenLabel=_Ee;function $Ee(r){return r.name}Qi.tokenName=$Ee;function bj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=bj;var eIe="parent",dj="categories",Cj="label",mj="group",Ej="push_mode",Ij="pop_mode",yj="longer_alt",wj="line_breaks",Bj="start_chars_hint";function Qj(r){return tIe(r)}Qi.createToken=Qj;function tIe(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,eIe))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,dj)&&(t.CATEGORIES=r[dj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,Cj)&&(t.LABEL=r[Cj]),(0,$s.has)(r,mj)&&(t.GROUP=r[mj]),(0,$s.has)(r,Ij)&&(t.POP_MODE=r[Ij]),(0,$s.has)(r,Ej)&&(t.PUSH_MODE=r[Ej]),(0,$s.has)(r,yj)&&(t.LONGER_ALT=r[yj]),(0,$s.has)(r,wj)&&(t.LINE_BREAKS=r[wj]),(0,$s.has)(r,Bj)&&(t.START_CHARS_HINT=r[Bj]),t}Qi.EOF=Qj({name:"EOF",pattern:ZEe.Lexer.NA});(0,Hv.augmentTokenTypes)([Qi.EOF]);function rIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=rIe;function iIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=iIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),nIe=TA(),Ro=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=Ro;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(Ro);zt.NonTerminal=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Rule=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Alternative=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Option=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatory=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatoryWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Repetition=Rj;var Fj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionWithSeparator=Fj;var Nj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(Ro);zt.Alternation=Nj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function sIe(r){return(0,Ar.map)(r,Qd)}zt.serializeGrammar=sIe;function Qd(r){function e(s){return(0,Ar.map)(s,Qd)}if(r instanceof Sj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof xj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Pj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof Dj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Fj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Rj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Nj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,nIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof vj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Qd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),En=mn(),oIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof En.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof En.Terminal)i.walkTerminal(n,o,t);else if(n instanceof En.Alternative)i.walkFlat(n,o,t);else if(n instanceof En.Option)i.walkOption(n,o,t);else if(n instanceof En.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof En.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof En.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof En.Repetition)i.walkMany(n,o,t);else if(n instanceof En.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new En.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=oIe;function Tj(r,e,t){var i=[new En.Option({definition:[new En.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Fo=mn(),aIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Fo.NonTerminal:return this.visitNonTerminal(t);case Fo.Alternative:return this.visitAlternative(t);case Fo.Option:return this.visitOption(t);case Fo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Fo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Fo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Fo.Repetition:return this.visitRepetition(t);case Fo.Alternation:return this.visitAlternation(t);case Fo.Terminal:return this.visitTerminal(t);case Fo.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=aIe});var vd=w(Oi=>{"use strict";var AIe=Oi&&Oi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Oi,"__esModule",{value:!0});Oi.collectMethods=Oi.DslMethodsCollectorVisitor=Oi.getProductionDslName=Oi.isBranchingProd=Oi.isOptionalProd=Oi.isSequenceProd=void 0;var Sd=Gt(),br=mn(),lIe=$g();function cIe(r){return r instanceof br.Alternative||r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionMandatory||r instanceof br.RepetitionMandatoryWithSeparator||r instanceof br.RepetitionWithSeparator||r instanceof br.Terminal||r instanceof br.Rule}Oi.isSequenceProd=cIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionWithSeparator;return t?!0:r instanceof br.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof br.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof br.AbstractProduction?(r instanceof br.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Oi.isOptionalProd=Yv;function uIe(r){return r instanceof br.Alternation}Oi.isBranchingProd=uIe;function gIe(r){if(r instanceof br.NonTerminal)return"SUBRULE";if(r instanceof br.Option)return"OPTION";if(r instanceof br.Alternation)return"OR";if(r instanceof br.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof br.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof br.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof br.Repetition)return"MANY";if(r instanceof br.Terminal)return"CONSUME";throw Error("non exhaustive match")}Oi.getProductionDslName=gIe;var Lj=function(r){AIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(lIe.GAstVisitor);Oi.DslMethodsCollectorVisitor=Lj;var cy=new Lj;function fIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Oi.collectMethods=fIe});var qv=w(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.firstForTerminal=No.firstForBranching=No.firstForSequence=No.first=void 0;var uy=Gt(),Mj=mn(),jv=vd();function gy(r){if(r instanceof Mj.NonTerminal)return gy(r.referencedRule);if(r instanceof Mj.Terminal)return Uj(r);if((0,jv.isSequenceProd)(r))return Oj(r);if((0,jv.isBranchingProd)(r))return Kj(r);throw Error("non exhaustive match")}No.first=gy;function Oj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}No.firstForSequence=Oj;function Kj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}No.firstForBranching=Kj;function Uj(r){return[r.terminalType]}No.firstForTerminal=Uj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var qj=w(fs=>{"use strict";var hIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var pIe=Ay(),dIe=qv(),Hj=Gt(),Gj=Jv(),CIe=mn(),Yj=function(r){hIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=jj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new CIe.Alternative({definition:o}),l=(0,dIe.first)(a);this.follows[s]=l},e}(pIe.RestWalker);fs.ResyncFollowsWalker=Yj;function mIe(r){var e={};return(0,Hj.forEach)(r,function(t){var i=new Yj(t).startWalking();(0,Hj.assign)(e,i)}),e}fs.computeAllProdsFollows=mIe;function jj(r,e){return r.name+e+Gj.IN}fs.buildBetweenProdsFollowPrefix=jj;function EIe(r){var e=r.terminalType.name;return e+r.idx+Gj.IN}fs.buildInProdFollowPrefix=EIe});var xd=w(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.defaultGrammarValidatorErrorProvider=Da.defaultGrammarResolverErrorProvider=Da.defaultParserErrorProvider=void 0;var ef=TA(),IIe=Gt(),eo=Gt(),Wv=mn(),Jj=vd();Da.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` +`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,y,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),_=[],A=this.trackStartLines?1:void 0,Ae=this.trackStartLines?1:void 0,ge=(0,_s.cloneEmptyGroups)(this.emptyGroups),re=this.trackStartLines,O=this.config.lineTerminatorsPattern,F=0,ue=[],pe=[],ke=[],Fe=[];Object.freeze(Fe);var Ne=void 0;function oe(){return ue}function le(pr){var Ii=(0,_s.charCodeToOptimizedIndex)(pr),rs=pe[Ii];return rs===void 0?Fe:rs}var Be=function(pr){if(ke.length===1&&pr.tokenType.PUSH_MODE===void 0){var Ii=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(pr);_.push({offset:pr.startOffset,line:pr.startLine!==void 0?pr.startLine:void 0,column:pr.startColumn!==void 0?pr.startColumn:void 0,length:pr.image.length,message:Ii})}else{ke.pop();var rs=(0,nr.last)(ke);ue=i.patternIdxToConfig[rs],pe=i.charCodeToPatternIdxToConfig[rs],F=ue.length;var fa=i.canModeBeOptimized[rs]&&i.config.safeMode===!1;pe&&fa?Ne=le:Ne=oe}};function fe(pr){ke.push(pr),pe=this.charCodeToPatternIdxToConfig[pr],ue=this.patternIdxToConfig[pr],F=ue.length,F=ue.length;var Ii=this.canModeBeOptimized[pr]&&this.config.safeMode===!1;pe&&Ii?Ne=le:Ne=oe}fe.call(this,t);for(var ae;jc.length){c=a,u=g,ae=_e;break}}}break}}if(c!==null){if(f=c.length,h=ae.group,h!==void 0&&(p=ae.tokenTypeIdx,C=this.createTokenInstance(c,j,p,ae.tokenType,A,Ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,Ae=this.computeNewColumn(Ae,f),re===!0&&ae.canLineTerminator===!0){var It=0,Or=void 0,ii=void 0;O.lastIndex=0;do Or=O.test(c),Or===!0&&(ii=O.lastIndex-1,It++);while(Or===!0);It!==0&&(A=A+It,Ae=f-ii,this.updateTokenEndLineColumnLocation(C,h,ii,It,A,Ae,f))}this.handleModes(ae,Be,fe,C)}else{for(var gi=j,hr=A,fi=Ae,ni=!1;!ni&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Cc.Lexer=XEe});var TA=w(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.tokenMatcher=Qi.createTokenInstance=Qi.EOF=Qi.createToken=Qi.hasTokenLabel=Qi.tokenName=Qi.tokenLabel=void 0;var $s=Gt(),ZEe=Bd(),Hv=_g();function _Ee(r){return bj(r)?r.LABEL:r.name}Qi.tokenLabel=_Ee;function $Ee(r){return r.name}Qi.tokenName=$Ee;function bj(r){return(0,$s.isString)(r.LABEL)&&r.LABEL!==""}Qi.hasTokenLabel=bj;var eIe="parent",dj="categories",Cj="label",mj="group",Ej="push_mode",Ij="pop_mode",yj="longer_alt",wj="line_breaks",Bj="start_chars_hint";function Qj(r){return tIe(r)}Qi.createToken=Qj;function tIe(r){var e=r.pattern,t={};if(t.name=r.name,(0,$s.isUndefined)(e)||(t.PATTERN=e),(0,$s.has)(r,eIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,$s.has)(r,dj)&&(t.CATEGORIES=r[dj]),(0,Hv.augmentTokenTypes)([t]),(0,$s.has)(r,Cj)&&(t.LABEL=r[Cj]),(0,$s.has)(r,mj)&&(t.GROUP=r[mj]),(0,$s.has)(r,Ij)&&(t.POP_MODE=r[Ij]),(0,$s.has)(r,Ej)&&(t.PUSH_MODE=r[Ej]),(0,$s.has)(r,yj)&&(t.LONGER_ALT=r[yj]),(0,$s.has)(r,wj)&&(t.LINE_BREAKS=r[wj]),(0,$s.has)(r,Bj)&&(t.START_CHARS_HINT=r[Bj]),t}Qi.EOF=Qj({name:"EOF",pattern:ZEe.Lexer.NA});(0,Hv.augmentTokenTypes)([Qi.EOF]);function rIe(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Qi.createTokenInstance=rIe;function iIe(r,e){return(0,Hv.tokenStructuredMatcher)(r,e)}Qi.tokenMatcher=iIe});var mn=w(zt=>{"use strict";var Pa=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.serializeProduction=zt.serializeGrammar=zt.Terminal=zt.Alternation=zt.RepetitionWithSeparator=zt.Repetition=zt.RepetitionMandatoryWithSeparator=zt.RepetitionMandatory=zt.Option=zt.Alternative=zt.Rule=zt.NonTerminal=zt.AbstractProduction=void 0;var Ar=Gt(),nIe=TA(),Ro=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,Ar.forEach)(this.definition,function(t){t.accept(e)})},r}();zt.AbstractProduction=Ro;var Sj=function(r){Pa(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(Ro);zt.NonTerminal=Sj;var vj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Rule=vj;var xj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Alternative=xj;var Pj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Option=Pj;var Dj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatory=Dj;var kj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionMandatoryWithSeparator=kj;var Rj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.Repetition=Rj;var Fj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return e}(Ro);zt.RepetitionWithSeparator=Fj;var Nj=function(r){Pa(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,Ar.assign)(i,(0,Ar.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(Ro);zt.Alternation=Nj;var oy=function(){function r(e){this.idx=1,(0,Ar.assign)(this,(0,Ar.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();zt.Terminal=oy;function sIe(r){return(0,Ar.map)(r,Qd)}zt.serializeGrammar=sIe;function Qd(r){function e(s){return(0,Ar.map)(s,Qd)}if(r instanceof Sj){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,Ar.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof xj)return{type:"Alternative",definition:e(r.definition)};if(r instanceof Pj)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof Dj)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof kj)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Fj)return{type:"RepetitionWithSeparator",idx:r.idx,separator:Qd(new oy({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Rj)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Nj)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof oy){var i={type:"Terminal",name:r.terminalType.name,label:(0,nIe.tokenLabel)(r.terminalType),idx:r.idx};(0,Ar.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,Ar.isRegExp)(n)?n.source:n),i}else{if(r instanceof vj)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}zt.serializeProduction=Qd});var Ay=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RestWalker=void 0;var Gv=Gt(),En=mn(),oIe=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Gv.forEach)(e.definition,function(n,s){var o=(0,Gv.drop)(e.definition,s+1);if(n instanceof En.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof En.Terminal)i.walkTerminal(n,o,t);else if(n instanceof En.Alternative)i.walkFlat(n,o,t);else if(n instanceof En.Option)i.walkOption(n,o,t);else if(n instanceof En.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof En.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof En.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof En.Repetition)i.walkMany(n,o,t);else if(n instanceof En.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new En.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Tj(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Gv.forEach)(e.definition,function(o){var a=new En.Alternative({definition:[o]});n.walk(a,s)})},r}();ay.RestWalker=oIe;function Tj(r,e,t){var i=[new En.Option({definition:[new En.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var $g=w(ly=>{"use strict";Object.defineProperty(ly,"__esModule",{value:!0});ly.GAstVisitor=void 0;var Fo=mn(),aIe=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Fo.NonTerminal:return this.visitNonTerminal(t);case Fo.Alternative:return this.visitAlternative(t);case Fo.Option:return this.visitOption(t);case Fo.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Fo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Fo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Fo.Repetition:return this.visitRepetition(t);case Fo.Alternation:return this.visitAlternation(t);case Fo.Terminal:return this.visitTerminal(t);case Fo.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();ly.GAstVisitor=aIe});var vd=w(Mi=>{"use strict";var AIe=Mi&&Mi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Mi,"__esModule",{value:!0});Mi.collectMethods=Mi.DslMethodsCollectorVisitor=Mi.getProductionDslName=Mi.isBranchingProd=Mi.isOptionalProd=Mi.isSequenceProd=void 0;var Sd=Gt(),br=mn(),lIe=$g();function cIe(r){return r instanceof br.Alternative||r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionMandatory||r instanceof br.RepetitionMandatoryWithSeparator||r instanceof br.RepetitionWithSeparator||r instanceof br.Terminal||r instanceof br.Rule}Mi.isSequenceProd=cIe;function Yv(r,e){e===void 0&&(e=[]);var t=r instanceof br.Option||r instanceof br.Repetition||r instanceof br.RepetitionWithSeparator;return t?!0:r instanceof br.Alternation?(0,Sd.some)(r.definition,function(i){return Yv(i,e)}):r instanceof br.NonTerminal&&(0,Sd.contains)(e,r)?!1:r instanceof br.AbstractProduction?(r instanceof br.NonTerminal&&e.push(r),(0,Sd.every)(r.definition,function(i){return Yv(i,e)})):!1}Mi.isOptionalProd=Yv;function uIe(r){return r instanceof br.Alternation}Mi.isBranchingProd=uIe;function gIe(r){if(r instanceof br.NonTerminal)return"SUBRULE";if(r instanceof br.Option)return"OPTION";if(r instanceof br.Alternation)return"OR";if(r instanceof br.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof br.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof br.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof br.Repetition)return"MANY";if(r instanceof br.Terminal)return"CONSUME";throw Error("non exhaustive match")}Mi.getProductionDslName=gIe;var Lj=function(r){AIe(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Sd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(lIe.GAstVisitor);Mi.DslMethodsCollectorVisitor=Lj;var cy=new Lj;function fIe(r){cy.reset(),r.accept(cy);var e=cy.dslMethods;return cy.reset(),e}Mi.collectMethods=fIe});var qv=w(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.firstForTerminal=No.firstForBranching=No.firstForSequence=No.first=void 0;var uy=Gt(),Oj=mn(),jv=vd();function gy(r){if(r instanceof Oj.NonTerminal)return gy(r.referencedRule);if(r instanceof Oj.Terminal)return Uj(r);if((0,jv.isSequenceProd)(r))return Mj(r);if((0,jv.isBranchingProd)(r))return Kj(r);throw Error("non exhaustive match")}No.first=gy;function Mj(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,jv.isOptionalProd)(s),e=e.concat(gy(s)),i=i+1,n=t.length>i;return(0,uy.uniq)(e)}No.firstForSequence=Mj;function Kj(r){var e=(0,uy.map)(r.definition,function(t){return gy(t)});return(0,uy.uniq)((0,uy.flatten)(e))}No.firstForBranching=Kj;function Uj(r){return[r.terminalType]}No.firstForTerminal=Uj});var Jv=w(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.IN=void 0;fy.IN="_~IN~_"});var qj=w(fs=>{"use strict";var hIe=fs&&fs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(fs,"__esModule",{value:!0});fs.buildInProdFollowPrefix=fs.buildBetweenProdsFollowPrefix=fs.computeAllProdsFollows=fs.ResyncFollowsWalker=void 0;var pIe=Ay(),dIe=qv(),Hj=Gt(),Gj=Jv(),CIe=mn(),Yj=function(r){hIe(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=jj(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new CIe.Alternative({definition:o}),l=(0,dIe.first)(a);this.follows[s]=l},e}(pIe.RestWalker);fs.ResyncFollowsWalker=Yj;function mIe(r){var e={};return(0,Hj.forEach)(r,function(t){var i=new Yj(t).startWalking();(0,Hj.assign)(e,i)}),e}fs.computeAllProdsFollows=mIe;function jj(r,e){return r.name+e+Gj.IN}fs.buildBetweenProdsFollowPrefix=jj;function EIe(r){var e=r.terminalType.name;return e+r.idx+Gj.IN}fs.buildInProdFollowPrefix=EIe});var xd=w(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});Da.defaultGrammarValidatorErrorProvider=Da.defaultGrammarResolverErrorProvider=Da.defaultParserErrorProvider=void 0;var ef=TA(),IIe=Gt(),eo=Gt(),Wv=mn(),Jj=vd();Da.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,ef.hasTokenLabel)(e),o=s?"--> "+(0,ef.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,eo.first)(t).image,l=` but found: '`+a+"'";if(n)return o+n+l;var c=(0,eo.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,eo.map)(c,function(h){return"["+(0,eo.map)(h,function(p){return(0,ef.tokenLabel)(p)}).join(", ")+"]"}),g=(0,eo.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: `+g.join(` `);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,eo.first)(t).image,a=` @@ -124,27 +124,27 @@ This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){ `)+(`without consuming any Tokens. The grammar path that causes this is: `+i+` `)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Vj=w(LA=>{"use strict";var yIe=LA&&LA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(LA,"__esModule",{value:!0});LA.GastRefResolverVisitor=LA.resolveGrammar=void 0;var wIe=jn(),Wj=Gt(),BIe=$g();function bIe(r,e){var t=new zj(r,e);return t.resolveRefs(),t.errors}LA.resolveGrammar=bIe;var zj=function(r){yIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Wj.forEach)((0,Wj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:wIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(BIe.GAstVisitor);LA.GastRefResolverVisitor=zj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var Xj=Ay(),Kt=Gt(),QIe=qv(),kt=mn(),Zj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(Xj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Zj;var SIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,QIe.first)(o),this.found=!0}},e}(Zj);Nr.NextAfterTokenWalker=SIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(Xj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var vIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=vIe;var xIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=xIe;var PIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=PIe;var DIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=DIe;function _j(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=_j(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],M={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(M),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(RIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=kIe;function RIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var tq=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),$j=Dd(),FIe=Ay(),hy=_g(),MA=mn(),NIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function TIe(r){if(r instanceof MA.Option)return oi.OPTION;if(r instanceof MA.Repetition)return oi.REPETITION;if(r instanceof MA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof MA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof MA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof MA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=TIe;function LIe(r,e,t,i,n,s){var o=iq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=LIe;function MIe(r,e,t,i,n,s){var o=nq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=MIe;function OIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),Qr=Gt(),To=jn(),_v=vd(),tf=kd(),YIe=Dd(),to=mn(),$v=$g();function jIe(r,e,t,i,n){var s=er.map(r,function(h){return qIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,Qr.every)(o,Qr.isEmpty)&&(a=(0,Qr.map)(r,function(h){return cq(h,i)}),l=(0,Qr.map)(r,function(h){return uq(h,e,i)}),c=hq(r,e,i));var u=zIe(r,t,i),g=(0,Qr.map)(r,function(h){return fq(h,i)}),f=(0,Qr.map)(r,function(h){return lq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=jIe;function qIe(r,e){var t=new Aq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,oq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:To.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=aq(l);return f&&(g.parameter=f),g});return o}function oq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+aq(r)}Vt.identifyProductionForDuplicates=oq;function aq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var Aq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=Aq;function lq(r,e,t,i){var n=[],s=(0,Qr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:To.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=lq;function JIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:To.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=JIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:To.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function cq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,YIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:To.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=cq;function uq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,Qr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=WIe(u,a,r,t),f=pq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=uq;var gq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=gq;function fq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:To.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=fq;function hq(r,e,t){var i=[];return(0,Qr.forEach)(r,function(n){var s=new gq;n.accept(s);var o=s.allProductions;(0,Qr.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Qr.isEmpty)((0,Qr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:To.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=hq;function WIe(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Qr.forEach)(l,function(u){var g=[c];(0,Qr.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Qr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:To.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function pq(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(o,a,l){var c=(0,Qr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Qr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Qr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),VIe=Vj(),XIe=rx(),dq=xd();function ZIe(r){r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,VIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=ZIe;function _Ie(r){return r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarValidatorErrorProvider}),(0,XIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=_Ie});var nf=w(In=>{"use strict";var Fd=In&&In.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(In,"__esModule",{value:!0});In.EarlyExitException=In.NotAllInputParsedException=In.NoViableAltException=In.MismatchedTokenException=In.isRecognitionException=void 0;var $Ie=Gt(),mq="MismatchedTokenException",Eq="NoViableAltException",Iq="EarlyExitException",yq="NotAllInputParsedException",wq=[mq,Eq,Iq,yq];Object.freeze(wq);function eye(r){return(0,$Ie.contains)(wq,r.name)}In.isRecognitionException=eye;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),tye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);In.MismatchedTokenException=tye;var rye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Eq,s}return e}(py);In.NoViableAltException=rye;var iye=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=yq,n}return e}(py);In.NotAllInputParsedException=iye;var nye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Iq,s}return e}(py);In.EarlyExitException=nye});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var dy=TA(),hs=Gt(),sye=nf(),oye=Jv(),aye=jn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var Aye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:aye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Bq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new sye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+oye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Aye;function Bq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=Bq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var ka=kd(),ro=Gt(),bq=jn(),Ra=Cy(),Ec=vd(),cye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:bq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:bq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,ka.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ra.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ra.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_IDX,ka.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ra.OPTION_IDX,ka.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_IDX,ka.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_SEP_IDX,ka.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_SEP_IDX,ka.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,ka.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ra.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,ka.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,ka.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ra.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=cye});var Sq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function uye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.defineNameProp=OA.functionName=OA.classNameFromInstance=void 0;var pye=Gt();function dye(r){return xq(r.constructor)}OA.classNameFromInstance=dye;var vq="name";function xq(r){var e=r.name;return e||"anonymous"}OA.functionName=xq;function Cye(r,e){var t=Object.getOwnPropertyDescriptor(r,vq);return(0,pye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,vq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}OA.defineNameProp=Cye});var Fq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function Pq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Wv.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Vj=w(LA=>{"use strict";var yIe=LA&&LA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(LA,"__esModule",{value:!0});LA.GastRefResolverVisitor=LA.resolveGrammar=void 0;var wIe=jn(),Wj=Gt(),BIe=$g();function bIe(r,e){var t=new zj(r,e);return t.resolveRefs(),t.errors}LA.resolveGrammar=bIe;var zj=function(r){yIe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,Wj.forEach)((0,Wj.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:wIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(BIe.GAstVisitor);LA.GastRefResolverVisitor=zj});var Dd=w(Nr=>{"use strict";var mc=Nr&&Nr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Nr,"__esModule",{value:!0});Nr.nextPossibleTokensAfter=Nr.possiblePathsFrom=Nr.NextTerminalAfterAtLeastOneSepWalker=Nr.NextTerminalAfterAtLeastOneWalker=Nr.NextTerminalAfterManySepWalker=Nr.NextTerminalAfterManyWalker=Nr.AbstractNextTerminalAfterProductionWalker=Nr.NextAfterTokenWalker=Nr.AbstractNextPossibleTokensWalker=void 0;var Xj=Ay(),Kt=Gt(),QIe=qv(),kt=mn(),Zj=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Kt.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Kt.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Kt.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(Xj.RestWalker);Nr.AbstractNextPossibleTokensWalker=Zj;var SIe=function(r){mc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new kt.Alternative({definition:s});this.possibleTokTypes=(0,QIe.first)(o),this.found=!0}},e}(Zj);Nr.NextAfterTokenWalker=SIe;var Pd=function(r){mc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(Xj.RestWalker);Nr.AbstractNextTerminalAfterProductionWalker=Pd;var vIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManyWalker=vIe;var xIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterManySepWalker=xIe;var PIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneWalker=PIe;var DIe=function(r){mc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Kt.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof kt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Pd);Nr.NextTerminalAfterAtLeastOneSepWalker=DIe;function _j(r,e,t){t===void 0&&(t=[]),t=(0,Kt.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Kt.drop)(r,n+1))}function o(c){var u=_j(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var re=B.definition[ge],O={idx:p,def:re.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y};g.push(O),g.push(o)}else if(B instanceof kt.Alternative)g.push({idx:p,def:B.definition.concat((0,Kt.drop)(h)),ruleStack:C,occurrenceStack:y});else if(B instanceof kt.Rule)g.push(RIe(B,p,C,y));else throw Error("non exhaustive match")}}return u}Nr.nextPossibleTokensAfter=kIe;function RIe(r,e,t,i){var n=(0,Kt.cloneArr)(t);n.push(r.name);var s=(0,Kt.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var kd=w(Zt=>{"use strict";var tq=Zt&&Zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.areTokenCategoriesNotUsed=Zt.isStrictPrefixOfPath=Zt.containsPath=Zt.getLookaheadPathsForOptionalProd=Zt.getLookaheadPathsForOr=Zt.lookAheadSequenceFromAlternatives=Zt.buildSingleAlternativeLookaheadFunction=Zt.buildAlternativesLookAheadFunc=Zt.buildLookaheadFuncForOptionalProd=Zt.buildLookaheadFuncForOr=Zt.getProdType=Zt.PROD_TYPE=void 0;var sr=Gt(),$j=Dd(),FIe=Ay(),hy=_g(),OA=mn(),NIe=$g(),oi;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(oi=Zt.PROD_TYPE||(Zt.PROD_TYPE={}));function TIe(r){if(r instanceof OA.Option)return oi.OPTION;if(r instanceof OA.Repetition)return oi.REPETITION;if(r instanceof OA.RepetitionMandatory)return oi.REPETITION_MANDATORY;if(r instanceof OA.RepetitionMandatoryWithSeparator)return oi.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof OA.RepetitionWithSeparator)return oi.REPETITION_WITH_SEPARATOR;if(r instanceof OA.Alternation)return oi.ALTERNATION;throw Error("non exhaustive match")}Zt.getProdType=TIe;function LIe(r,e,t,i,n,s){var o=iq(r,e,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o,i,a,n)}Zt.buildLookaheadFuncForOr=LIe;function OIe(r,e,t,i,n,s){var o=nq(r,e,n,t),a=Xv(o)?hy.tokenStructuredMatcherNoCategories:hy.tokenStructuredMatcher;return s(o[0],a,i)}Zt.buildLookaheadFuncForOptionalProd=OIe;function MIe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Zv=Vt&&Vt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.checkPrefixAlternativesAmbiguities=Vt.validateSomeNonEmptyLookaheadPath=Vt.validateTooManyAlts=Vt.RepetionCollector=Vt.validateAmbiguousAlternationAlternatives=Vt.validateEmptyOrAlternative=Vt.getFirstNoneTerminal=Vt.validateNoLeftRecursion=Vt.validateRuleIsOverridden=Vt.validateRuleDoesNotAlreadyExist=Vt.OccurrenceValidationCollector=Vt.identifyProductionForDuplicates=Vt.validateGrammar=void 0;var er=Gt(),Qr=Gt(),To=jn(),_v=vd(),tf=kd(),YIe=Dd(),to=mn(),$v=$g();function jIe(r,e,t,i,n){var s=er.map(r,function(h){return qIe(h,i)}),o=er.map(r,function(h){return ex(h,h,i)}),a=[],l=[],c=[];(0,Qr.every)(o,Qr.isEmpty)&&(a=(0,Qr.map)(r,function(h){return cq(h,i)}),l=(0,Qr.map)(r,function(h){return uq(h,e,i)}),c=hq(r,e,i));var u=zIe(r,t,i),g=(0,Qr.map)(r,function(h){return fq(h,i)}),f=(0,Qr.map)(r,function(h){return lq(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}Vt.validateGrammar=jIe;function qIe(r,e){var t=new Aq;r.accept(t);var i=t.allProductions,n=er.groupBy(i,oq),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,_v.getProductionDslName)(l),g={message:c,type:To.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=aq(l);return f&&(g.parameter=f),g});return o}function oq(r){return(0,_v.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+aq(r)}Vt.identifyProductionForDuplicates=oq;function aq(r){return r instanceof to.Terminal?r.terminalType.name:r instanceof to.NonTerminal?r.nonTerminalName:""}var Aq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.OccurrenceValidationCollector=Aq;function lq(r,e,t,i){var n=[],s=(0,Qr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:To.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}Vt.validateRuleDoesNotAlreadyExist=lq;function JIe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:To.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}Vt.validateRuleIsOverridden=JIe;function ex(r,e,t,i){i===void 0&&(i=[]);var n=[],s=Rd(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:To.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),ex(r,u,t,g)});return n.concat(er.flatten(c))}Vt.validateNoLeftRecursion=ex;function Rd(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof to.NonTerminal)e.push(t.referencedRule);else if(t instanceof to.Alternative||t instanceof to.Option||t instanceof to.RepetitionMandatory||t instanceof to.RepetitionMandatoryWithSeparator||t instanceof to.RepetitionWithSeparator||t instanceof to.Repetition)e=e.concat(Rd(t.definition));else if(t instanceof to.Alternation)e=er.flatten(er.map(t.definition,function(o){return Rd(o.definition)}));else if(!(t instanceof to.Terminal))throw Error("non exhaustive match");var i=(0,_v.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(Rd(s))}else return e}Vt.getFirstNoneTerminal=Rd;var tx=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}($v.GAstVisitor);function cq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,YIe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:To.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}Vt.validateEmptyOrAlternative=cq;function uq(r,e,t){var i=new tx;r.accept(i);var n=i.alternations;n=(0,Qr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,tf.getLookaheadPathsForOr)(l,r,c,a),g=WIe(u,a,r,t),f=pq(u,a,r,t);return o.concat(g,f)},[]);return s}Vt.validateAmbiguousAlternationAlternatives=uq;var gq=function(r){Zv(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}($v.GAstVisitor);Vt.RepetionCollector=gq;function fq(r,e){var t=new tx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:To.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}Vt.validateTooManyAlts=fq;function hq(r,e,t){var i=[];return(0,Qr.forEach)(r,function(n){var s=new gq;n.accept(s);var o=s.allProductions;(0,Qr.forEach)(o,function(a){var l=(0,tf.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,tf.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Qr.isEmpty)((0,Qr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:To.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Vt.validateSomeNonEmptyLookaheadPath=hq;function WIe(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Qr.forEach)(l,function(u){var g=[c];(0,Qr.forEach)(r,function(f,h){c!==h&&(0,tf.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,tf.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Qr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:To.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function pq(r,e,t,i){var n=[],s=(0,Qr.reduce)(r,function(o,a,l){var c=(0,Qr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Qr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Qr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.validateGrammar=rf.resolveGrammar=void 0;var ix=Gt(),VIe=Vj(),XIe=rx(),dq=xd();function ZIe(r){r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarResolverErrorProvider});var e={};return(0,ix.forEach)(r.rules,function(t){e[t.name]=t}),(0,VIe.resolveGrammar)(e,r.errMsgProvider)}rf.resolveGrammar=ZIe;function _Ie(r){return r=(0,ix.defaults)(r,{errMsgProvider:dq.defaultGrammarValidatorErrorProvider}),(0,XIe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}rf.validateGrammar=_Ie});var nf=w(In=>{"use strict";var Fd=In&&In.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(In,"__esModule",{value:!0});In.EarlyExitException=In.NotAllInputParsedException=In.NoViableAltException=In.MismatchedTokenException=In.isRecognitionException=void 0;var $Ie=Gt(),mq="MismatchedTokenException",Eq="NoViableAltException",Iq="EarlyExitException",yq="NotAllInputParsedException",wq=[mq,Eq,Iq,yq];Object.freeze(wq);function eye(r){return(0,$Ie.contains)(wq,r.name)}In.isRecognitionException=eye;var py=function(r){Fd(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),tye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mq,s}return e}(py);In.MismatchedTokenException=tye;var rye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Eq,s}return e}(py);In.NoViableAltException=rye;var iye=function(r){Fd(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=yq,n}return e}(py);In.NotAllInputParsedException=iye;var nye=function(r){Fd(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=Iq,s}return e}(py);In.EarlyExitException=nye});var sx=w(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var dy=TA(),hs=Gt(),sye=nf(),oye=Jv(),aye=jn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function nx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=nx;nx.prototype=Error.prototype;var Aye=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,hs.has)(e,"recoveryEnabled")?e.recoveryEnabled:aye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Bq)},r.prototype.getTokenToInsert=function(e){var t=(0,dy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new sye.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,hs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new nx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,hs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,hs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,hs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,hs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,hs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,hs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,hs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[dy.EOF];var t=e.ruleName+e.idxInCallingRule+oye.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,dy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,hs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,hs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,hs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Aye;function Bq(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=dy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=Bq});var Cy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.LooksAhead=void 0;var ka=kd(),ro=Gt(),bq=jn(),Ra=Cy(),Ec=vd(),cye=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,ro.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:bq.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,ro.has)(e,"maxLookahead")?e.maxLookahead:bq.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,ro.isES2015MapSupported)()?new Map:[],(0,ro.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,ro.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Ec.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,ro.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Ec.getProductionDslName)(g)+f,function(){var h=(0,ka.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Ra.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Ra.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,ro.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_IDX,ka.PROD_TYPE.REPETITION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Ra.OPTION_IDX,ka.PROD_TYPE.OPTION,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_IDX,ka.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Ra.AT_LEAST_ONE_SEP_IDX,ka.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))}),(0,ro.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Ra.MANY_SEP_IDX,ka.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Ec.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,ka.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Ra.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,ka.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,ka.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Ra.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();my.LooksAhead=cye});var Sq=w(Lo=>{"use strict";Object.defineProperty(Lo,"__esModule",{value:!0});Lo.addNoneTerminalToCst=Lo.addTerminalToCst=Lo.setNodeLocationFull=Lo.setNodeLocationOnlyOffset=void 0;function uye(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.defineNameProp=MA.functionName=MA.classNameFromInstance=void 0;var pye=Gt();function dye(r){return xq(r.constructor)}MA.classNameFromInstance=dye;var vq="name";function xq(r){var e=r.name;return e||"anonymous"}MA.functionName=xq;function Cye(r,e){var t=Object.getOwnPropertyDescriptor(r,vq);return(0,pye.isUndefined)(t)||t.configurable?(Object.defineProperty(r,vq,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}MA.defineNameProp=Cye});var Fq=w(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.validateRedundantMethods=Si.validateMissingCstMethods=Si.validateVisitor=Si.CstVisitorDefinitionError=Si.createBaseVisitorConstructorWithDefaults=Si.createBaseSemanticVisitorConstructor=Si.defaultVisit=void 0;var ps=Gt(),Nd=ox();function Pq(r,e){for(var t=(0,ps.keys)(r),i=t.length,n=0;n: `+(""+s.join(` `).replace(/\n/g,` `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}Si.createBaseSemanticVisitorConstructor=mye;function Eye(r,e,t){var i=function(){};(0,Nd.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,ps.forEach)(e,function(s){n[s]=Pq}),i.prototype=n,i.prototype.constructor=i,i}Si.createBaseVisitorConstructorWithDefaults=Eye;var ax;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(ax=Si.CstVisitorDefinitionError||(Si.CstVisitorDefinitionError={}));function Dq(r,e){var t=kq(r,e),i=Rq(r,e);return t.concat(i)}Si.validateVisitor=Dq;function kq(r,e){var t=(0,ps.map)(e,function(i){if(!(0,ps.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+" CST Visitor.",type:ax.MISSING_METHOD,methodName:i}});return(0,ps.compact)(t)}Si.validateMissingCstMethods=kq;var Iye=["constructor","visit","validateVisitor"];function Rq(r,e){var t=[];for(var i in r)(0,ps.isFunction)(r[i])&&!(0,ps.contains)(Iye,i)&&!(0,ps.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,Nd.functionName)(r.constructor)+` CST Visitor There is no Grammar Rule corresponding to this method's name. -`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Rq});var Tq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=Sq(),_r=Gt(),Nq=Fq(),yye=jn(),wye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:yye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Nq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Nq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=wye});var Mq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Lq=jn(),Bye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Lq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Lq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=Bye});var Kq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Oq=Gt(),bye=nf(),Ax=jn(),Qye=xd(),Sye=rx(),vye=mn(),xye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Oq.contains)(this.definedRulesNames,e)){var n=Qye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Sye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,bye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,vye.serializeGrammar)((0,Oq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=xye});var Yq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),qn=Cy(),wy=nf(),Uq=kd(),of=Dd(),Hq=jn(),Pye=sx(),Gq=TA(),Td=_g(),Dye=ox(),kye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Dye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Td.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. +`,type:ax.REDUNDANT_METHOD,methodName:i});return t}Si.validateRedundantMethods=Rq});var Tq=w(Ey=>{"use strict";Object.defineProperty(Ey,"__esModule",{value:!0});Ey.TreeBuilder=void 0;var sf=Sq(),_r=Gt(),Nq=Fq(),yye=jn(),wye=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,_r.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:yye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=_r.NOOP,this.cstFinallyStateUpdate=_r.NOOP,this.cstPostTerminal=_r.NOOP,this.cstPostNonTerminal=_r.NOOP,this.cstPostRule=_r.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationFull,this.setNodeLocationFromNode=sf.setNodeLocationFull,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=sf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=sf.setNodeLocationOnlyOffset,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=_r.NOOP,this.setNodeLocationFromNode=_r.NOOP,this.cstPostRule=_r.NOOP,this.setInitialNodeLocation=_r.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,sf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,_r.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,Nq.createBaseSemanticVisitorConstructor)(this.className,(0,_r.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,_r.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,Nq.createBaseVisitorConstructorWithDefaults)(this.className,(0,_r.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Ey.TreeBuilder=wye});var Oq=w(Iy=>{"use strict";Object.defineProperty(Iy,"__esModule",{value:!0});Iy.LexerAdapter=void 0;var Lq=jn(),Bye=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Lq.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?Lq.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Iy.LexerAdapter=Bye});var Kq=w(yy=>{"use strict";Object.defineProperty(yy,"__esModule",{value:!0});yy.RecognizerApi=void 0;var Mq=Gt(),bye=nf(),Ax=jn(),Qye=xd(),Sye=rx(),vye=mn(),xye=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG),(0,Mq.contains)(this.definedRulesNames,e)){var n=Qye.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Ax.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Ax.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,Sye.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,bye.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,vye.serializeGrammar)((0,Mq.values)(this.gastProductionsCache))},r}();yy.RecognizerApi=xye});var Yq=w(By=>{"use strict";Object.defineProperty(By,"__esModule",{value:!0});By.RecognizerEngine=void 0;var Pr=Gt(),qn=Cy(),wy=nf(),Uq=kd(),of=Dd(),Hq=jn(),Pye=sx(),Gq=TA(),Td=_g(),Dye=ox(),kye=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,Dye.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Td.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Pr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 For Further details.`);if((0,Pr.isArray)(e)){if((0,Pr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. Note that the first argument for the parser constructor is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 For Further details.`)}if((0,Pr.isArray)(e))this.tokensMap=(0,Pr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Pr.has)(e,"modes")&&(0,Pr.every)((0,Pr.flatten)((0,Pr.values)(e.modes)),Td.isTokenType)){var i=(0,Pr.flatten)((0,Pr.values)(e.modes)),n=(0,Pr.uniq)(i);this.tokensMap=(0,Pr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Pr.isObject)(e))this.tokensMap=(0,Pr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Gq.EOF;var s=(0,Pr.every)((0,Pr.values)(e),function(o){return(0,Pr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Td.tokenStructuredMatcherNoCategories:Td.tokenStructuredMatcher,(0,Td.augmentTokenTypes)((0,Pr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Hq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Hq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Pye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Gq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=kye});var qq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ErrorHandler=void 0;var lx=nf(),cx=Gt(),jq=kd(),Rye=jn(),Fye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Rye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,jq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,jq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();by.ErrorHandler=Fye});var zq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ContentAssist=void 0;var Jq=Dd(),Wq=Gt(),Nye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,Wq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,Jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,Wq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new Jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();Qy.ContentAssist=Nye});var rJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var yn=Gt(),Mo=mn(),Tye=Bd(),_q=_g(),$q=TA(),Lye=jn(),Mye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Vq=!0,Xq=Math.pow(2,Mye.BITS_FOR_OCCURRENCE_IDX)-1,eJ=(0,$q.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Tye.Lexer.NA});(0,_q.augmentTokenTypes)([eJ]);var tJ=(0,$q.createTokenInstance)(eJ,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(tJ);var Oye={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Kye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Lye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Mo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Pr.has)(i,"resyncEnabled")?i.resyncEnabled:Hq.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Pr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:Hq.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(qn.OR_IDX,t),n=(0,Pr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new wy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,wy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new wy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===Pye.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,Pr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),Gq.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();By.RecognizerEngine=kye});var qq=w(by=>{"use strict";Object.defineProperty(by,"__esModule",{value:!0});by.ErrorHandler=void 0;var lx=nf(),cx=Gt(),jq=kd(),Rye=jn(),Fye=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,cx.has)(e,"errorMessageProvider")?e.errorMessageProvider:Rye.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,lx.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,cx.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,cx.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,jq.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new lx.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,jq.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new lx.NoViableAltException(c,this.LA(1),l))},r}();by.ErrorHandler=Fye});var zq=w(Qy=>{"use strict";Object.defineProperty(Qy,"__esModule",{value:!0});Qy.ContentAssist=void 0;var Jq=Dd(),Wq=Gt(),Nye=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,Wq.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,Jq.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,Wq.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new Jq.NextAfterTokenWalker(n,e).startWalking();return s},r}();Qy.ContentAssist=Nye});var rJ=w(xy=>{"use strict";Object.defineProperty(xy,"__esModule",{value:!0});xy.GastRecorder=void 0;var yn=Gt(),Oo=mn(),Tye=Bd(),_q=_g(),$q=TA(),Lye=jn(),Oye=Cy(),vy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(vy);var Vq=!0,Xq=Math.pow(2,Oye.BITS_FOR_OCCURRENCE_IDX)-1,eJ=(0,$q.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:Tye.Lexer.NA});(0,_q.augmentTokenTypes)([eJ]);var tJ=(0,$q.createTokenInstance)(eJ,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(tJ);var Mye={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},Kye=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return Lye.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Oo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Mo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionMandatoryWithSeparator,t,e,Vq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Mo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Mo.RepetitionWithSeparator,t,e,Vq)},r.prototype.orInternalRecord=function(e,t){return Uye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Mo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Oye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,_q.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Mo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),tJ},r}();xy.GastRecorder=Kye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Uye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Mo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Mo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Zq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>Xq){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(Xq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var nJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var iJ=Gt(),Hye=jn(),Gye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,iJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Hye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,iJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Gye});var sJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Yye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Yye});var jn=w(dr=>{"use strict";var AJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),jye=qj(),oJ=TA(),lJ=xd(),aJ=Cq(),qye=sx(),Jye=Qq(),Wye=Tq(),zye=Mq(),Vye=Kq(),Xye=Yq(),Zye=qq(),_ye=zq(),$ye=rJ(),ewe=nJ(),twe=sJ();dr.END_OF_FILE=(0,oJ.createTokenInstance)(oJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:lJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var rwe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(rwe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function iwe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=iwe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return Ld.call(this,Oo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){Ld.call(this,Oo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){Ld.call(this,Oo.RepetitionMandatoryWithSeparator,t,e,Vq)},r.prototype.manyInternalRecord=function(e,t){Ld.call(this,Oo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){Ld.call(this,Oo.RepetitionWithSeparator,t,e,Vq)},r.prototype.orInternalRecord=function(e,t){return Uye.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(Sy(t),!e||(0,yn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=e.ruleName,a=new Oo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?Mye:vy},r.prototype.consumeInternalRecord=function(e,t,i){if(Sy(t),!(0,_q.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,yn.peek)(this.recordingProdStack),o=new Oo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),tJ},r}();xy.GastRecorder=Kye;function Ld(r,e,t,i){i===void 0&&(i=!1),Sy(t);var n=(0,yn.peek)(this.recordingProdStack),s=(0,yn.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,yn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),vy}function Uye(r,e){var t=this;Sy(e);var i=(0,yn.peek)(this.recordingProdStack),n=(0,yn.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Oo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,yn.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,yn.some)(s,function(l){return(0,yn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,yn.forEach)(s,function(l){var c=new Oo.Alternative({definition:[]});o.definition.push(c),(0,yn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,yn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),vy}function Zq(r){return r===0?"":""+r}function Sy(r){if(r<0||r>Xq){var e=new Error("Invalid DSL Method idx value: <"+r+`> + `+("Idx value must be a none negative value smaller than "+(Xq+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var nJ=w(Py=>{"use strict";Object.defineProperty(Py,"__esModule",{value:!0});Py.PerformanceTracer=void 0;var iJ=Gt(),Hye=jn(),Gye=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,iJ.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=Hye.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,iJ.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();Py.PerformanceTracer=Gye});var sJ=w(Dy=>{"use strict";Object.defineProperty(Dy,"__esModule",{value:!0});Dy.applyMixins=void 0;function Yye(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}Dy.applyMixins=Yye});var jn=w(dr=>{"use strict";var AJ=dr&&dr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dr,"__esModule",{value:!0});dr.EmbeddedActionsParser=dr.CstParser=dr.Parser=dr.EMPTY_ALT=dr.ParserDefinitionErrorType=dr.DEFAULT_RULE_CONFIG=dr.DEFAULT_PARSER_CONFIG=dr.END_OF_FILE=void 0;var en=Gt(),jye=qj(),oJ=TA(),lJ=xd(),aJ=Cq(),qye=sx(),Jye=Qq(),Wye=Tq(),zye=Oq(),Vye=Kq(),Xye=Yq(),Zye=qq(),_ye=zq(),$ye=rJ(),ewe=nJ(),twe=sJ();dr.END_OF_FILE=(0,oJ.createTokenInstance)(oJ.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(dr.END_OF_FILE);dr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:lJ.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});dr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var rwe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(rwe=dr.ParserDefinitionErrorType||(dr.ParserDefinitionErrorType={}));function iwe(r){return r===void 0&&(r=void 0),function(){return r}}dr.EMPTY_ALT=iwe;var ky=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,en.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. Please use the flag on the relevant DSL method instead. See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES For further details.`);this.skipValidations=(0,en.has)(t,"skipValidations")?t.skipValidations:dr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,en.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,en.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,aJ.resolveGrammar)({rules:(0,en.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,en.isEmpty)(n)&&e.skipValidations===!1){var s=(0,aJ.validateGrammar)({rules:(0,en.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,en.values)(e.tokensMap),errMsgProvider:lJ.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,en.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,jye.computeAllProdsFollows)((0,en.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,en.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,en.isEmpty)(e.definitionErrors))throw t=(0,en.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: @@ -178,30 +178,30 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis var diagramsDiv = document.getElementById("diagrams"); main.drawDiagramsFromSerializedGrammar(serializedGrammar, diagramsDiv); <\/script> -`;return a+l+c+u+g+f}Ry.createSyntaxDiagramsCode=owe});var hJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var awe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return awe.VERSION}});var Fy=jn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Fy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Fy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Fy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Fy.EMPTY_ALT}});var gJ=Bd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return gJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return gJ.LexerDefinitionErrorType}});var af=TA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return af.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return af.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return af.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return af.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return af.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return af.tokenName}});var Awe=xd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Awe.defaultParserErrorProvider}});var Md=nf();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Md.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Md.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Md.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Md.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Md.NoViableAltException}});var lwe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return lwe.defaultLexerErrorProvider}});var Oo=mn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Oo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Oo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Oo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Oo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Oo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Oo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Oo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Oo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Oo.Terminal}});var fJ=mn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return fJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return fJ.serializeProduction}});var cwe=$g();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return cwe.GAstVisitor}});function uwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. +`;return a+l+c+u+g+f}Ry.createSyntaxDiagramsCode=owe});var hJ=w(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Parser=We.createSyntaxDiagramsCode=We.clearCache=We.GAstVisitor=We.serializeProduction=We.serializeGrammar=We.Terminal=We.Rule=We.RepetitionWithSeparator=We.RepetitionMandatoryWithSeparator=We.RepetitionMandatory=We.Repetition=We.Option=We.NonTerminal=We.Alternative=We.Alternation=We.defaultLexerErrorProvider=We.NoViableAltException=We.NotAllInputParsedException=We.MismatchedTokenException=We.isRecognitionException=We.EarlyExitException=We.defaultParserErrorProvider=We.tokenName=We.tokenMatcher=We.tokenLabel=We.EOF=We.createTokenInstance=We.createToken=We.LexerDefinitionErrorType=We.Lexer=We.EMPTY_ALT=We.ParserDefinitionErrorType=We.EmbeddedActionsParser=We.CstParser=We.VERSION=void 0;var awe=Dv();Object.defineProperty(We,"VERSION",{enumerable:!0,get:function(){return awe.VERSION}});var Fy=jn();Object.defineProperty(We,"CstParser",{enumerable:!0,get:function(){return Fy.CstParser}});Object.defineProperty(We,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Fy.EmbeddedActionsParser}});Object.defineProperty(We,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Fy.ParserDefinitionErrorType}});Object.defineProperty(We,"EMPTY_ALT",{enumerable:!0,get:function(){return Fy.EMPTY_ALT}});var gJ=Bd();Object.defineProperty(We,"Lexer",{enumerable:!0,get:function(){return gJ.Lexer}});Object.defineProperty(We,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return gJ.LexerDefinitionErrorType}});var af=TA();Object.defineProperty(We,"createToken",{enumerable:!0,get:function(){return af.createToken}});Object.defineProperty(We,"createTokenInstance",{enumerable:!0,get:function(){return af.createTokenInstance}});Object.defineProperty(We,"EOF",{enumerable:!0,get:function(){return af.EOF}});Object.defineProperty(We,"tokenLabel",{enumerable:!0,get:function(){return af.tokenLabel}});Object.defineProperty(We,"tokenMatcher",{enumerable:!0,get:function(){return af.tokenMatcher}});Object.defineProperty(We,"tokenName",{enumerable:!0,get:function(){return af.tokenName}});var Awe=xd();Object.defineProperty(We,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Awe.defaultParserErrorProvider}});var Od=nf();Object.defineProperty(We,"EarlyExitException",{enumerable:!0,get:function(){return Od.EarlyExitException}});Object.defineProperty(We,"isRecognitionException",{enumerable:!0,get:function(){return Od.isRecognitionException}});Object.defineProperty(We,"MismatchedTokenException",{enumerable:!0,get:function(){return Od.MismatchedTokenException}});Object.defineProperty(We,"NotAllInputParsedException",{enumerable:!0,get:function(){return Od.NotAllInputParsedException}});Object.defineProperty(We,"NoViableAltException",{enumerable:!0,get:function(){return Od.NoViableAltException}});var lwe=Uv();Object.defineProperty(We,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return lwe.defaultLexerErrorProvider}});var Mo=mn();Object.defineProperty(We,"Alternation",{enumerable:!0,get:function(){return Mo.Alternation}});Object.defineProperty(We,"Alternative",{enumerable:!0,get:function(){return Mo.Alternative}});Object.defineProperty(We,"NonTerminal",{enumerable:!0,get:function(){return Mo.NonTerminal}});Object.defineProperty(We,"Option",{enumerable:!0,get:function(){return Mo.Option}});Object.defineProperty(We,"Repetition",{enumerable:!0,get:function(){return Mo.Repetition}});Object.defineProperty(We,"RepetitionMandatory",{enumerable:!0,get:function(){return Mo.RepetitionMandatory}});Object.defineProperty(We,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return Mo.RepetitionMandatoryWithSeparator}});Object.defineProperty(We,"RepetitionWithSeparator",{enumerable:!0,get:function(){return Mo.RepetitionWithSeparator}});Object.defineProperty(We,"Rule",{enumerable:!0,get:function(){return Mo.Rule}});Object.defineProperty(We,"Terminal",{enumerable:!0,get:function(){return Mo.Terminal}});var fJ=mn();Object.defineProperty(We,"serializeGrammar",{enumerable:!0,get:function(){return fJ.serializeGrammar}});Object.defineProperty(We,"serializeProduction",{enumerable:!0,get:function(){return fJ.serializeProduction}});var cwe=$g();Object.defineProperty(We,"GAstVisitor",{enumerable:!0,get:function(){return cwe.GAstVisitor}});function uwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. It performs no action other than printing this message. Please avoid using it as it will be completely removed in the future`)}We.clearCache=uwe;var gwe=uJ();Object.defineProperty(We,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return gwe.createSyntaxDiagramsCode}});var fwe=function(){function r(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. -See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=fwe});var CJ=w((Jet,dJ)=>{var Ny=hJ(),Fa=Ny.createToken,pJ=Ny.tokenMatcher,ux=Ny.Lexer,hwe=Ny.EmbeddedActionsParser;dJ.exports=r=>{let e=Fa({name:"LogicalOperator",pattern:ux.NA}),t=Fa({name:"Or",pattern:/\|/,categories:e}),i=Fa({name:"Xor",pattern:/\^/,categories:e}),n=Fa({name:"And",pattern:/&/,categories:e}),s=Fa({name:"Not",pattern:/!/}),o=Fa({name:"LParen",pattern:/\(/}),a=Fa({name:"RParen",pattern:/\)/}),l=Fa({name:"Query",pattern:r}),u=[Fa({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends hwe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);pJ(v,t)?y=T=>B(T)||D(T):pJ(v,i)?y=T=>!!(B(T)^D(T)):y=T=>B(T)&&D(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var mJ=w(Ty=>{var pwe=CJ();Ty.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=pwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ty.parse=Ty.makeParser()});var IJ=w((zet,EJ)=>{"use strict";EJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var gx=w((Vet,wJ)=>{var Od=IJ(),yJ={};for(let r of Object.keys(Od))yJ[Od[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wJ.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function dwe(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=yJ[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(Od)){let s=Od[n],o=dwe(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var bJ=w((Xet,BJ)=>{var Ly=gx();function Cwe(){let r={},e=Object.keys(Ly);for(let t=e.length,i=0;i{var fx=gx(),ywe=bJ(),Af={},wwe=Object.keys(fx);function Bwe(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function bwe(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{Af[r]={},Object.defineProperty(Af[r],"channels",{value:fx[r].channels}),Object.defineProperty(Af[r],"labels",{value:fx[r].labels});let e=ywe(r);Object.keys(e).forEach(i=>{let n=e[i];Af[r][i]=bwe(n),Af[r][i].raw=Bwe(n)})});QJ.exports=Af});var RJ=w((_et,kJ)=>{"use strict";var vJ=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,xJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},PJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},My=r=>r,DJ=(r,e,t)=>[r,e,t],lf=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},hx,cf=(r,e,t,i)=>{hx===void 0&&(hx=SJ());let n=i?10:0,s={};for(let[o,a]of Object.entries(hx)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Qwe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",lf(e.color,"ansi",()=>cf(vJ,"ansi16",My,!1)),lf(e.color,"ansi256",()=>cf(xJ,"ansi256",My,!1)),lf(e.color,"ansi16m",()=>cf(PJ,"rgb",DJ,!1)),lf(e.bgColor,"ansi",()=>cf(vJ,"ansi16",My,!0)),lf(e.bgColor,"ansi256",()=>cf(xJ,"ansi256",My,!0)),lf(e.bgColor,"ansi16m",()=>cf(PJ,"rgb",DJ,!0)),e}Object.defineProperty(kJ,"exports",{enumerable:!0,get:Qwe})});var NJ=w(($et,FJ)=>{"use strict";FJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Swe=J("os"),TJ=J("tty"),ds=NJ(),{env:ai}=process,KA;ds("no-color")||ds("no-colors")||ds("color=false")||ds("color=never")?KA=0:(ds("color")||ds("colors")||ds("color=true")||ds("color=always"))&&(KA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?KA=1:ai.FORCE_COLOR==="false"?KA=0:KA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function px(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dx(r,e){if(KA===0)return 0;if(ds("color=16m")||ds("color=full")||ds("color=truecolor"))return 3;if(ds("color=256"))return 2;if(r&&!e&&KA===void 0)return 0;let t=KA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=Swe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function vwe(r){let e=dx(r,r&&r.isTTY);return px(e)}LJ.exports={supportsColor:vwe,stdout:px(dx(!0,TJ.isatty(1))),stderr:px(dx(!0,TJ.isatty(2)))}});var KJ=w((ttt,OJ)=>{"use strict";var xwe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Pwe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return r}();We.Parser=fwe});var CJ=w((Jet,dJ)=>{var Ny=hJ(),Fa=Ny.createToken,pJ=Ny.tokenMatcher,ux=Ny.Lexer,hwe=Ny.EmbeddedActionsParser;dJ.exports=r=>{let e=Fa({name:"LogicalOperator",pattern:ux.NA}),t=Fa({name:"Or",pattern:/\|/,categories:e}),i=Fa({name:"Xor",pattern:/\^/,categories:e}),n=Fa({name:"And",pattern:/&/,categories:e}),s=Fa({name:"Not",pattern:/!/}),o=Fa({name:"LParen",pattern:/\(/}),a=Fa({name:"RParen",pattern:/\)/}),l=Fa({name:"Query",pattern:r}),u=[Fa({name:"WhiteSpace",pattern:/\s+/,group:ux.SKIPPED}),t,i,n,o,a,s,e,l],g=new ux(u);class f extends hwe{constructor(p){super(u),this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let B=y,v=this.CONSUME(e),D=this.SUBRULE2(this.atomicExpression);pJ(v,t)?y=T=>B(T)||D(T):pJ(v,i)?y=T=>!!(B(T)^D(T)):y=T=>B(T)&&D(T)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:C}=this.CONSUME(l);return y=>y(C)}},{ALT:()=>{this.CONSUME(s);let C=this.SUBRULE(this.atomicExpression);return y=>!C(y)}}])),this.RULE("parenthesisExpression",()=>{let C;return this.CONSUME(o),C=this.SUBRULE(this.expression),this.CONSUME(a),C}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var mJ=w(Ty=>{var pwe=CJ();Ty.makeParser=(r=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:t}=pwe(r),i=new t;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};Ty.parse=Ty.makeParser()});var IJ=w((zet,EJ)=>{"use strict";EJ.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var gx=w((Vet,wJ)=>{var Md=IJ(),yJ={};for(let r of Object.keys(Md))yJ[Md[r]]=r;var st={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};wJ.exports=st;for(let r of Object.keys(st)){if(!("channels"in st[r]))throw new Error("missing channels property: "+r);if(!("labels"in st[r]))throw new Error("missing channel labels property: "+r);if(st[r].labels.length!==st[r].channels)throw new Error("channel and label counts mismatch: "+r);let{channels:e,labels:t}=st[r];delete st[r].channels,delete st[r].labels,Object.defineProperty(st[r],"channels",{value:e}),Object.defineProperty(st[r],"labels",{value:t})}st.rgb.hsl=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(e,t,i),s=Math.max(e,t,i),o=s-n,a,l;s===n?a=0:e===s?a=(t-i)/o:t===s?a=2+(i-e)/o:i===s&&(a=4+(e-t)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};st.rgb.hsv=function(r){let e,t,i,n,s,o=r[0]/255,a=r[1]/255,l=r[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),t=g(a),i=g(l),o===c?n=i-t:a===c?n=1/3+e-i:l===c&&(n=2/3+t-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};st.rgb.hwb=function(r){let e=r[0],t=r[1],i=r[2],n=st.rgb.hsl(r)[0],s=1/255*Math.min(e,Math.min(t,i));return i=1-1/255*Math.max(e,Math.max(t,i)),[n,s*100,i*100]};st.rgb.cmyk=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.min(1-e,1-t,1-i),s=(1-e-n)/(1-n)||0,o=(1-t-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function dwe(r,e){return(r[0]-e[0])**2+(r[1]-e[1])**2+(r[2]-e[2])**2}st.rgb.keyword=function(r){let e=yJ[r];if(e)return e;let t=1/0,i;for(let n of Object.keys(Md)){let s=Md[n],o=dwe(r,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+t*.3576+i*.1805,s=e*.2126+t*.7152+i*.0722,o=e*.0193+t*.1192+i*.9505;return[n*100,s*100,o*100]};st.rgb.lab=function(r){let e=st.rgb.xyz(r),t=e[0],i=e[1],n=e[2];t/=95.047,i/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(t-i),a=200*(i-n);return[s,o,a]};st.hsl.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n,s,o;if(t===0)return o=i*255,[o,o,o];i<.5?n=i*(1+t):n=i+t-i*t;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};st.hsl.hsv=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=t,s=Math.max(i,.01);i*=2,t*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+t)/2,a=i===0?2*n/(s+n):2*t/(i+t);return[e,a*100,o*100]};st.hsv.rgb=function(r){let e=r[0]/60,t=r[1]/100,i=r[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-t),a=255*i*(1-t*s),l=255*i*(1-t*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};st.hsv.hsl=function(r){let e=r[0],t=r[1]/100,i=r[2]/100,n=Math.max(i,.01),s,o;o=(2-t)*i;let a=(2-t)*n;return s=t*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};st.hwb.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100,n=t+i,s;n>1&&(t/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!==0&&(s=1-s);let l=t+s*(a-t),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=t;break;case 1:c=l,u=a,g=t;break;case 2:c=t,u=a,g=l;break;case 3:c=t,u=l,g=a;break;case 4:c=l,u=t,g=a;break;case 5:c=a,u=t,g=l;break}return[c*255,u*255,g*255]};st.cmyk.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n=r[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,t*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};st.xyz.rgb=function(r){let e=r[0]/100,t=r[1]/100,i=r[2]/100,n,s,o;return n=e*3.2406+t*-1.5372+i*-.4986,s=e*-.9689+t*1.8758+i*.0415,o=e*.0557+t*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};st.xyz.lab=function(r){let e=r[0],t=r[1],i=r[2];e/=95.047,t/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,t=t>.008856?t**(1/3):7.787*t+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*t-16,s=500*(e-t),o=200*(t-i);return[n,s,o]};st.lab.xyz=function(r){let e=r[0],t=r[1],i=r[2],n,s,o;s=(e+16)/116,n=t/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};st.lab.lch=function(r){let e=r[0],t=r[1],i=r[2],n;n=Math.atan2(i,t)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(t*t+i*i);return[e,o,n]};st.lch.lab=function(r){let e=r[0],t=r[1],n=r[2]/360*2*Math.PI,s=t*Math.cos(n),o=t*Math.sin(n);return[e,s,o]};st.rgb.ansi16=function(r,e=null){let[t,i,n]=r,s=e===null?st.rgb.hsv(r)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(t/255));return s===2&&(o+=60),o};st.hsv.ansi16=function(r){return st.rgb.ansi16(st.hsv.rgb(r),r[2])};st.rgb.ansi256=function(r){let e=r[0],t=r[1],i=r[2];return e===t&&t===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(i/255*5)};st.ansi16.rgb=function(r){let e=r%10;if(e===0||e===7)return r>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let t=(~~(r>50)+1)*.5,i=(e&1)*t*255,n=(e>>1&1)*t*255,s=(e>>2&1)*t*255;return[i,n,s]};st.ansi256.rgb=function(r){if(r>=232){let s=(r-232)*10+8;return[s,s,s]}r-=16;let e,t=Math.floor(r/36)/5*255,i=Math.floor((e=r%36)/6)/5*255,n=e%6/5*255;return[t,i,n]};st.rgb.hex=function(r){let t=(((Math.round(r[0])&255)<<16)+((Math.round(r[1])&255)<<8)+(Math.round(r[2])&255)).toString(16).toUpperCase();return"000000".substring(t.length)+t};st.hex.rgb=function(r){let e=r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let t=e[0];e[0].length===3&&(t=t.split("").map(a=>a+a).join(""));let i=parseInt(t,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};st.rgb.hcg=function(r){let e=r[0]/255,t=r[1]/255,i=r[2]/255,n=Math.max(Math.max(e,t),i),s=Math.min(Math.min(e,t),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(t-i)/o%6:n===t?l=2+(i-e)/o:l=4+(e-t)/o,l/=6,l%=1,[l*360,o*100,a*100]};st.hsl.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=t<.5?2*e*t:2*e*(1-t),n=0;return i<1&&(n=(t-.5*i)/(1-i)),[r[0],i*100,n*100]};st.hsv.hcg=function(r){let e=r[1]/100,t=r[2]/100,i=e*t,n=0;return i<1&&(n=(t-i)/(1-i)),[r[0],i*100,n*100]};st.hcg.rgb=function(r){let e=r[0]/360,t=r[1]/100,i=r[2]/100;if(t===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-t)*i,[(t*n[0]+l)*255,(t*n[1]+l)*255,(t*n[2]+l)*255]};st.hcg.hsv=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e),n=0;return i>0&&(n=e/i),[r[0],n*100,i*100]};st.hcg.hsl=function(r){let e=r[1]/100,i=r[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[r[0],n*100,i*100]};st.hcg.hwb=function(r){let e=r[1]/100,t=r[2]/100,i=e+t*(1-e);return[r[0],(i-e)*100,(1-i)*100]};st.hwb.hcg=function(r){let e=r[1]/100,i=1-r[2]/100,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[r[0],n*100,s*100]};st.apple.rgb=function(r){return[r[0]/65535*255,r[1]/65535*255,r[2]/65535*255]};st.rgb.apple=function(r){return[r[0]/255*65535,r[1]/255*65535,r[2]/255*65535]};st.gray.rgb=function(r){return[r[0]/100*255,r[0]/100*255,r[0]/100*255]};st.gray.hsl=function(r){return[0,0,r[0]]};st.gray.hsv=st.gray.hsl;st.gray.hwb=function(r){return[0,100,r[0]]};st.gray.cmyk=function(r){return[0,0,0,r[0]]};st.gray.lab=function(r){return[r[0],0,0]};st.gray.hex=function(r){let e=Math.round(r[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};st.rgb.gray=function(r){return[(r[0]+r[1]+r[2])/3/255*100]}});var bJ=w((Xet,BJ)=>{var Ly=gx();function Cwe(){let r={},e=Object.keys(Ly);for(let t=e.length,i=0;i{var fx=gx(),ywe=bJ(),Af={},wwe=Object.keys(fx);function Bwe(r){let e=function(...t){let i=t[0];return i==null?i:(i.length>1&&(t=i),r(t))};return"conversion"in r&&(e.conversion=r.conversion),e}function bwe(r){let e=function(...t){let i=t[0];if(i==null)return i;i.length>1&&(t=i);let n=r(t);if(typeof n=="object")for(let s=n.length,o=0;o{Af[r]={},Object.defineProperty(Af[r],"channels",{value:fx[r].channels}),Object.defineProperty(Af[r],"labels",{value:fx[r].labels});let e=ywe(r);Object.keys(e).forEach(i=>{let n=e[i];Af[r][i]=bwe(n),Af[r][i].raw=Bwe(n)})});QJ.exports=Af});var RJ=w((_et,kJ)=>{"use strict";var vJ=(r,e)=>(...t)=>`\x1B[${r(...t)+e}m`,xJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};5;${i}m`},PJ=(r,e)=>(...t)=>{let i=r(...t);return`\x1B[${38+e};2;${i[0]};${i[1]};${i[2]}m`},Oy=r=>r,DJ=(r,e,t)=>[r,e,t],lf=(r,e,t)=>{Object.defineProperty(r,e,{get:()=>{let i=t();return Object.defineProperty(r,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},hx,cf=(r,e,t,i)=>{hx===void 0&&(hx=SJ());let n=i?10:0,s={};for(let[o,a]of Object.entries(hx)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=r(t,n):typeof a=="object"&&(s[l]=r(a[e],n))}return s};function Qwe(){let r=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[t,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},i[n]=e[n],r.set(s[0],s[1]);Object.defineProperty(e,t,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:r,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",lf(e.color,"ansi",()=>cf(vJ,"ansi16",Oy,!1)),lf(e.color,"ansi256",()=>cf(xJ,"ansi256",Oy,!1)),lf(e.color,"ansi16m",()=>cf(PJ,"rgb",DJ,!1)),lf(e.bgColor,"ansi",()=>cf(vJ,"ansi16",Oy,!0)),lf(e.bgColor,"ansi256",()=>cf(xJ,"ansi256",Oy,!0)),lf(e.bgColor,"ansi16m",()=>cf(PJ,"rgb",DJ,!0)),e}Object.defineProperty(kJ,"exports",{enumerable:!0,get:Qwe})});var NJ=w(($et,FJ)=>{"use strict";FJ.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(t+r),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Swe=J("os"),TJ=J("tty"),ds=NJ(),{env:ai}=process,KA;ds("no-color")||ds("no-colors")||ds("color=false")||ds("color=never")?KA=0:(ds("color")||ds("colors")||ds("color=true")||ds("color=always"))&&(KA=1);"FORCE_COLOR"in ai&&(ai.FORCE_COLOR==="true"?KA=1:ai.FORCE_COLOR==="false"?KA=0:KA=ai.FORCE_COLOR.length===0?1:Math.min(parseInt(ai.FORCE_COLOR,10),3));function px(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function dx(r,e){if(KA===0)return 0;if(ds("color=16m")||ds("color=full")||ds("color=truecolor"))return 3;if(ds("color=256"))return 2;if(r&&!e&&KA===void 0)return 0;let t=KA||0;if(ai.TERM==="dumb")return t;if(process.platform==="win32"){let i=Swe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ai)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ai)||ai.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ai.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ai)return 1;if(ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ai){let i=parseInt((ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ai.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ai.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ai.TERM)||"COLORTERM"in ai?1:t}function vwe(r){let e=dx(r,r&&r.isTTY);return px(e)}LJ.exports={supportsColor:vwe,stdout:px(dx(!0,TJ.isatty(1))),stderr:px(dx(!0,TJ.isatty(2)))}});var KJ=w((ttt,MJ)=>{"use strict";var xwe=(r,e,t)=>{let i=r.indexOf(e);if(i===-1)return r;let n=e.length,s=0,o="";do o+=r.substr(s,i-s)+e+t,s=i+n,i=r.indexOf(e,s);while(i!==-1);return o+=r.substr(s),o},Pwe=(r,e,t,i)=>{let n=0,s="";do{let o=r[i-1]==="\r";s+=r.substr(n,(o?i-1:i)-n)+e+(o?`\r `:` `)+t,n=i+1,i=r.indexOf(` -`,n)}while(i!==-1);return s+=r.substr(n),s};OJ.exports={stringReplaceAll:xwe,stringEncaseCRLFWithFirstIndex:Pwe}});var jJ=w((rtt,YJ)=>{"use strict";var Dwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,UJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,kwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Rwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,Fwe=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function GJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Fwe.get(r)||r}function Nwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(kwe))t.push(n[2].replace(Rwe,(a,l,c)=>l?GJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Twe(r){UJ.lastIndex=0;let e=[],t;for(;(t=UJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Nwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function HJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}YJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Dwe,(s,o,a,l,c,u)=>{if(o)n.push(GJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:HJ(r,t)(g)),t.push({inverse:a,styles:Twe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(HJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((itt,zJ)=>{"use strict";var Kd=RJ(),{stdout:mx,stderr:Ex}=MJ(),{stringReplaceAll:Lwe,stringEncaseCRLFWithFirstIndex:Mwe}=KJ(),qJ=["ansi","ansi","ansi256","ansi16m"],uf=Object.create(null),Owe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return JJ(e)}},JJ=r=>{let e={};return Owe(e,r),e.template=(...t)=>Hwe(e.template,...t),Object.setPrototypeOf(e,Oy.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function Oy(r){return JJ(r)}for(let[r,e]of Object.entries(Kd))uf[r]={get(){let t=Ky(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};uf.visible={get(){let r=Ky(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var WJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of WJ)uf[r]={get(){let{level:e}=this;return function(...t){let i=yx(Kd.color[qJ[e]][r](...t),Kd.color.close,this._styler);return Ky(this,i,this._isEmpty)}}};for(let r of WJ){let e="bg"+r[0].toUpperCase()+r.slice(1);uf[e]={get(){let{level:t}=this;return function(...i){let n=yx(Kd.bgColor[qJ[t]][r](...i),Kd.bgColor.close,this._styler);return Ky(this,n,this._isEmpty)}}}}var Kwe=Object.defineProperties(()=>{},{...uf,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ky=(r,e,t)=>{let i=(...n)=>Uwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Kwe,i._generator=r,i._styler=e,i._isEmpty=t,i},Uwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Lwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` -`);return s!==-1&&(e=Mwe(e,n,i,s)),i+e+n},Cx,Hwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";Cs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Cs.find=(r,e)=>r.nodes.find(t=>t.type===e);Cs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Cs.isInteger(r)||!Cs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Cs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Cs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;Cs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Cs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Cs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Cs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var VJ=Uy();XJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&VJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&VJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var _J=w((ott,ZJ)=>{"use strict";ZJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var aW=w((att,oW)=>{"use strict";var $J=_J(),Ic=(r,e,t)=>{if($J(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if($J(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Ic.cache.hasOwnProperty(l))return Ic.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=sW(r)||sW(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=eW(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=eW(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Gwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Ic.cache[l]=f,f.result};function Gwe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Ywe(r,e){let t=1,i=1,n=rW(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=rW(r,t);for(n=iW(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+nW(a.count),o=c+1;continue}t.isPadded&&(g=zwe(c,t,i)),u.string=g+u.pattern+nW(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!tW(e,"string",a)&&s.push(t+a),i&&tW(e,"string",a)&&s.push(t+a)}return s}function qwe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function tW(r,e,t){return r.some(i=>i[e]===t)}function rW(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function iW(r,e){return r-r%Math.pow(10,e)}function nW(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function Wwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function sW(r){return/^-?(0+)\d/.test(r)}function zwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Ic.cache={};Ic.clearCache=()=>Ic.cache={};oW.exports=Ic});var Sx=w((Att,pW)=>{"use strict";var Vwe=J("util"),cW=aW(),AW=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),Xwe=r=>e=>r===!0?Number(e):String(e),bx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Hd=r=>Number.isInteger(+r),Qx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Zwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,_we=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},lW=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},uW=(r,e,t,i)=>{if(t)return cW(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},gW=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return cW(r,e,t)},fW=(...r)=>new RangeError("Invalid range arguments: "+Vwe.inspect(...r)),hW=(r,e,t)=>{if(t.strictRanges===!0)throw fW([r,e]);return[]},eBe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},tBe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw fW([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=Qx(a)||Qx(l)||Qx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Zwe(r,e,i)===!1,h=i.transform||Xwe(f);if(i.toRegex&&t===1)return uW(lW(r,g),lW(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(_we(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?$we(p,i):gW(y,null,{wrap:!1,...i}):y},rBe=(r,e,t=1,i={})=>{if(!Hd(r)&&r.length>1||!Hd(e)&&e.length>1)return hW(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return uW(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?gW(u,null,{wrap:!1,options:i}):u},Gy=(r,e,t,i={})=>{if(e==null&&bx(r))return[r];if(!bx(r)||!bx(e))return hW(r,e,i);if(typeof t=="function")return Gy(r,e,1,{transform:t});if(AW(t))return Gy(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Hd(t)?Hd(r)&&Hd(e)?tBe(r,e,t,n):rBe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!AW(t)?eBe(t,n):Gy(r,e,1,t)};pW.exports=Gy});var mW=w((ltt,CW)=>{"use strict";var iBe=Sx(),dW=Uy(),nBe=(r,e={})=>{let t=(i,n={})=>{let s=dW.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=dW.reduce(i.nodes),g=iBe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};CW.exports=nBe});var yW=w((ctt,IW)=>{"use strict";var sBe=Sx(),EW=Hy(),gf=Uy(),yc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?gf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(yc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?yc(n,s,t):n+s);return gf.flatten(i)},oBe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(yc(a.pop(),EW(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(yc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=gf.reduce(n.nodes);if(gf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=sBe(...g,e);f.length===0&&(f=EW(n,e)),a.push(yc(a.pop(),f)),n.nodes=[];return}let l=gf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";wW.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var xW=w((gtt,vW)=>{"use strict";var aBe=Hy(),{MAX_LENGTH:bW,CHAR_BACKSLASH:vx,CHAR_BACKTICK:ABe,CHAR_COMMA:lBe,CHAR_DOT:cBe,CHAR_LEFT_PARENTHESES:uBe,CHAR_RIGHT_PARENTHESES:gBe,CHAR_LEFT_CURLY_BRACE:fBe,CHAR_RIGHT_CURLY_BRACE:hBe,CHAR_LEFT_SQUARE_BRACKET:QW,CHAR_RIGHT_SQUARE_BRACKET:SW,CHAR_DOUBLE_QUOTE:pBe,CHAR_SINGLE_QUOTE:dBe,CHAR_NO_BREAK_SPACE:CBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:mBe}=BW(),EBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(bW,t.maxLength):bW;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:aBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===cBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};vW.exports=EBe});var kW=w((ftt,DW)=>{"use strict";var PW=Hy(),IBe=mW(),yBe=yW(),wBe=xW(),Jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.parse=(r,e={})=>wBe(r,e);Jn.stringify=(r,e={})=>PW(typeof r=="string"?Jn.parse(r,e):r,e);Jn.compile=(r,e={})=>(typeof r=="string"&&(r=Jn.parse(r,e)),IBe(r,e));Jn.expand=(r,e={})=>{typeof r=="string"&&(r=Jn.parse(r,e));let t=yBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Jn.compile(r,e):Jn.expand(r,e);DW.exports=Jn});var Gd=w((htt,LW)=>{"use strict";var BBe=J("path"),Ko="\\\\/",RW=`[^${Ko}]`,Na="\\.",bBe="\\+",QBe="\\?",Yy="\\/",SBe="(?=.)",FW="[^/]",xx=`(?:${Yy}|$)`,NW=`(?:^|${Yy})`,Px=`${Na}{1,2}${xx}`,vBe=`(?!${Na})`,xBe=`(?!${NW}${Px})`,PBe=`(?!${Na}{0,1}${xx})`,DBe=`(?!${Px})`,kBe=`[^.${Yy}]`,RBe=`${FW}*?`,TW={DOT_LITERAL:Na,PLUS_LITERAL:bBe,QMARK_LITERAL:QBe,SLASH_LITERAL:Yy,ONE_CHAR:SBe,QMARK:FW,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:vBe,NO_DOTS:xBe,NO_DOT_SLASH:PBe,NO_DOTS_SLASH:DBe,QMARK_NO_DOT:kBe,STAR:RBe,START_ANCHOR:NW},FBe={...TW,SLASH_LITERAL:`[${Ko}]`,QMARK:RW,STAR:`${RW}*?`,DOTS_SLASH:`${Na}{1,2}(?:[${Ko}]|$)`,NO_DOT:`(?!${Na})`,NO_DOTS:`(?!(?:^|[${Ko}])${Na}{1,2}(?:[${Ko}]|$))`,NO_DOT_SLASH:`(?!${Na}{0,1}(?:[${Ko}]|$))`,NO_DOTS_SLASH:`(?!${Na}{1,2}(?:[${Ko}]|$))`,QMARK_NO_DOT:`[^.${Ko}]`,START_ANCHOR:`(?:^|[${Ko}])`,END_ANCHOR:`(?:[${Ko}]|$)`},NBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};LW.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:NBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:BBe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?FBe:TW}}});var Yd=w(wn=>{"use strict";var TBe=J("path"),LBe=process.platform==="win32",{REGEX_BACKSLASH:MBe,REGEX_REMOVE_BACKSLASH:OBe,REGEX_SPECIAL_CHARS:KBe,REGEX_SPECIAL_CHARS_GLOBAL:UBe}=Gd();wn.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);wn.hasRegexChars=r=>KBe.test(r);wn.isRegexChar=r=>r.length===1&&wn.hasRegexChars(r);wn.escapeRegex=r=>r.replace(UBe,"\\$1");wn.toPosixSlashes=r=>r.replace(MBe,"/");wn.removeBackslashes=r=>r.replace(OBe,e=>e==="\\"?"":e);wn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};wn.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:LBe===!0||TBe.sep==="\\";wn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?wn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};wn.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};wn.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var jW=w((dtt,YW)=>{"use strict";var MW=Yd(),{CHAR_ASTERISK:Dx,CHAR_AT:HBe,CHAR_BACKWARD_SLASH:jd,CHAR_COMMA:GBe,CHAR_DOT:kx,CHAR_EXCLAMATION_MARK:Rx,CHAR_FORWARD_SLASH:GW,CHAR_LEFT_CURLY_BRACE:Fx,CHAR_LEFT_PARENTHESES:Nx,CHAR_LEFT_SQUARE_BRACKET:YBe,CHAR_PLUS:jBe,CHAR_QUESTION_MARK:OW,CHAR_RIGHT_CURLY_BRACE:qBe,CHAR_RIGHT_PARENTHESES:KW,CHAR_RIGHT_SQUARE_BRACKET:JBe}=Gd(),UW=r=>r===GW||r===jd,HW=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},WBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,T=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},_=()=>c>=i,A=()=>l.charCodeAt(c+1),Ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),M=l.slice(g)):p===!0?(ge="",M=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&UW(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(M&&(M=MW.removeBackslashes(M)),ge&&v===!0&&(ge=MW.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:M,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:T};if(t.tokens===!0&&(F.maxDepth=0,UW(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let pe=0;pe{"use strict";var jy=Gd(),Wn=Yd(),{MAX_LENGTH:qy,POSIX_REGEX_SOURCE:zBe,REGEX_NON_SPECIAL_CHARS:VBe,REGEX_SPECIAL_CHARS_BACKREF:XBe,REPLACEMENTS:qW}=jy,ZBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>Wn.escapeRegex(n)).join("..")}return t},ff=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Tx=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=qW[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=Wn.isWindows(e),c=jy.globChars(l),u=jy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:T,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:T,_=t.bash===!0?$(t):H;t.capture&&(_=`(${_})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=Wn.removePrefix(r,A),n=r.length;let Ae=[],ge=[],re=[],M=s,F,ue=()=>A.index===n-1,pe=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",he=0)=>{A.consumed+=Y,A.index+=he},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},Be=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},ae=Y=>{if(M.type==="globstar"){let he=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||Ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!he&&!ie&&(A.output=A.output.slice(0,-M.output.length),M.type="star",M.value="*",M.output=_,A.output+=M.output)}if(Ae.length&&Y.type!=="paren"&&(Ae[Ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),M&&M.type==="text"&&Y.type==="text"){M.value+=Y.value,M.output=(M.output||"")+Y.value;return}Y.prev=M,o.push(Y),M=Y},qe=(Y,he)=>{let ie={...u[he],conditions:1,inner:""};ie.prev=M,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;Be("parens"),ae({type:Y,value:he,output:A.output?"":p}),ae({type:"paren",extglob:!0,value:ke(),output:de}),Ae.push(ie)},ne=Y=>{let he=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=_;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==_||ue()||/^\)+$/.test(Fe()))&&(he=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)){let _e=Tx(ie,{...e,fastpaths:!1}).output;he=Y.close=`)${_e})${de})`}Y.prev.type==="bos"&&(A.negatedExtglob=!0)}ae({type:"paren",extglob:!0,value:F,output:he}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,he=r.replace(XBe,(ie,de,_e,Pt,It,Mr)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Mr===0?W+(It?D.repeat(It.length):""):D.repeat(_e.length):Pt==="."?g.repeat(_e.length):Pt==="*"?de?de+Pt+(It?_:""):_:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?he=he.replace(/\\/g,""):he=he.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),he===r&&t.contains===!0?(A.output=r,A):(A.output=Wn.wrapOutput(he,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=pe();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),_e=0;if(de&&de[0].length>2&&(_e=de[0].length,A.index+=_e,_e%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||M.value==="["||M.value==="[^")){if(t.posix!==!1&&F===":"){let ie=M.value.slice(1);if(ie.includes("[")&&(M.posix=!0,ie.includes(":"))){let de=M.value.lastIndexOf("["),_e=M.value.slice(0,de),Pt=M.value.slice(de+2),It=zBe[Pt];if(It){M.value=_e+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(M)===1&&(s.output=p);continue}}}(F==="["&&pe()!==":"||F==="-"&&pe()==="]")&&(F=`\\${F}`),F==="]"&&(M.value==="["||M.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&M.value==="["&&(F="^"),M.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=Wn.escapeRegex(F),M.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&ae({type:"text",value:F});continue}if(F==="("){Be("parens"),ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(ff("opening","("));let ie=Ae[Ae.length-1];if(ie&&A.parens===ie.parens+1){ne(Ae.pop());continue}ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));F=`\\${F}`}else Be("brackets");ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||M&&M.type==="bracket"&&M.value.length===1){ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(ff("opening","["));ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=M.value.slice(1);if(M.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),M.value+=F,oe({value:F}),t.literalBrackets===!1||Wn.hasRegexChars(ie))continue;let de=Wn.escapeRegex(M.value);if(A.output=A.output.slice(0,-M.value.length),t.literalBrackets===!0){A.output+=de,M.value=de;continue}M.value=`(${a}${de}|${M.value})`,A.output+=M.value;continue}if(F==="{"&&t.nobrace!==!0){Be("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let _e=o.slice(),Pt=[];for(let It=_e.length-1;It>=0&&(o.pop(),_e[It].type!=="brace");It--)_e[It].type!=="dots"&&Pt.unshift(_e[It].value);de=ZBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let _e=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=_e;for(let It of Pt)A.output+=It.output||It.value}ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){Ae.length>0&&Ae[Ae.length-1].conditions++,ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(M.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),M=s;continue}ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&M.type==="dot"){M.value==="."&&(M.output=g);let ie=ge[ge.length-1];M.type="dots",M.output+=F,M.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&M.type!=="bos"&&M.type!=="slash"){ae({type:"text",value:F,output:g});continue}ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(M&&M.value==="(")&&t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("qmark",F);continue}if(M&&M.type==="paren"){let de=pe(),_e=F;if(de==="<"&&!Wn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(M.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(_e=`\\${F}`),ae({type:"text",value:F,output:_e});continue}if(t.dot!==!0&&(M.type==="slash"||M.type==="bos")){ae({type:"qmark",value:F,output:T});continue}ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("plus",F);continue}if(M&&M.value==="("||t.regex===!1){ae({type:"plus",value:F,output:f});continue}if(M&&(M.type==="bracket"||M.type==="paren"||M.type==="brace")||A.parens>0){ae({type:"plus",value:F});continue}ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){ae({type:"at",extglob:!0,value:F,output:""});continue}ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=VBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),ae({type:"text",value:F});continue}if(M&&(M.type==="globstar"||M.star===!0)){M.type="star",M.star=!0,M.value+=F,M.output=_,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(M.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=M.prev,de=ie.prev,_e=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!_e||Y[0]&&Y[0]!=="/")){ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Mr=Ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!_e&&ie.type!=="paren"&&!It&&!Mr){ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){M.type="globstar",M.value+=F,M.output=$(t),A.output=M.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=$(t)+(t.strictSlashes?")":"|$)"),M.value+=F,A.globstar=!0,A.output+=ie.output+M.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+M.output).length),ie.output=`(?:${ie.output}`,M.type="globstar",M.output=`${$(t)}${h}|${h}${ii})`,M.value+=F,A.output+=ie.output+M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){M.type="globstar",M.value+=F,M.output=`(?:^|${h}|${$(t)}${h})`,A.output=M.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-M.output.length),M.type="globstar",M.output=$(t),M.value+=F,A.output+=M.output,A.globstar=!0,Ne(F);continue}let he={type:"star",value:F,output:_};if(t.bash===!0){he.output=".*?",(M.type==="bos"||M.type==="slash")&&(he.output=V+he.output),ae(he);continue}if(M&&(M.type==="bracket"||M.type==="paren")&&t.regex===!0){he.output=F,ae(he);continue}(A.index===A.start||M.type==="slash"||M.type==="dot")&&(M.type==="dot"?(A.output+=B,M.output+=B):t.dot===!0?(A.output+=v,M.output+=v):(A.output+=V,M.output+=V),pe()!=="*"&&(A.output+=p,M.output+=p)),ae(he)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));A.output=Wn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing",")"));A.output=Wn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","}"));A.output=Wn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(M.type==="star"||M.type==="bracket")&&ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};Tx.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=qW[r]||r;let s=Wn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=jy.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let T=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+T(t);case"**/*":return`(?:${C}${T(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${T(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${T(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let _=H(W[1]);return _?_+o+W[2]:void 0}}},j=Wn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};JW.exports=Tx});var VW=w((mtt,zW)=>{"use strict";var _Be=J("path"),$Be=jW(),Lx=WW(),Mx=Yd(),e0e=Gd(),t0e=r=>r&&typeof r=="object"&&!Array.isArray(r),Gr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Gr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=t0e(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Mx.isWindows(e),o=i?Gr.compileRe(r,e):Gr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Gr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Gr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Gr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Mx.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Gr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Gr.matchBase=(r,e,t,i=Mx.isWindows(t))=>(e instanceof RegExp?e:Gr.makeRe(e,t)).test(_Be.basename(r));Gr.isMatch=(r,e,t)=>Gr(e,t)(r);Gr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Gr.parse(t,e)):Lx(r,{...e,fastpaths:!1});Gr.scan=(r,e)=>$Be(r,e);Gr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Gr.toRegex(a,e);return i===!0&&(l.state=r),l};Gr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Lx.fastpaths(r,e)),n.output||(n=Lx(r,e)),Gr.compileRe(n,e,t,i)};Gr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Gr.constants=e0e;zW.exports=Gr});var Ox=w((Ett,XW)=>{"use strict";XW.exports=VW()});var Bn=w((Itt,e3)=>{"use strict";var _W=J("util"),$W=kW(),Uo=Ox(),Kx=Yd(),ZW=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Uo(r,e);Sr.isMatch=(r,e,t)=>Uo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_W.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(ZW(r)||ZW(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Kx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_W.inspect(r)}"`);return[].concat(e).every(i=>Uo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Kx.isWindows(t),s=Uo.makeRe(String(r),{...t,capture:!0}).exec(i?Kx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Uo.makeRe(...r);Sr.scan=(...r)=>Uo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of $W(String(i),e))t.push(Uo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:$W(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};e3.exports=Sr});var r3=w((ytt,t3)=>{"use strict";t3.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var n3=w((wtt,i3)=>{"use strict";var r0e=r3();i3.exports=r=>typeof r=="string"?r.replace(r0e(),""):r});var m3=w((Ftt,C3)=>{"use strict";C3.exports=(...r)=>[...new Set([].concat(...r))]});var sP=w((Ntt,y3)=>{"use strict";var p0e=J("stream"),E3=p0e.PassThrough,d0e=Array.prototype.slice;y3.exports=C0e;function C0e(){let r=[],e=!1,t=d0e.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=E3(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});function m0e(r){return r.reduce((e,t)=>[].concat(e,t),[])}Zy.flatten=m0e;function E0e(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Zy.splitWhen=E0e});var B3=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});function I0e(r){return r.code==="ENOENT"}oP.isEnoentCodeError=I0e});var b3=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var aP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function y0e(r,e){return new aP(r,e)}AP.createDirentFromStats=y0e});var Q3=w(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var w0e=J("path"),B0e=2,b0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Q0e(r){return r.replace(/\\/g,"/")}yf.unixify=Q0e;function S0e(r,e){return w0e.resolve(r,e)}yf.makeAbsolute=S0e;function v0e(r){return r.replace(b0e,"\\$2")}yf.escape=v0e;function x0e(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(B0e)}return r}yf.removeLeadingDotSegment=x0e});var v3=w((Ktt,S3)=>{S3.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var D3=w((Utt,P3)=>{var P0e=v3(),x3={"{":"}","(":")","[":"]"},D0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=x3[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},k0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var R0e=D3(),F0e=J("path").posix.dirname,N0e=J("os").platform()==="win32",lP="/",T0e=/\\/g,L0e=/[\{\[].*[\}\]]$/,M0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,O0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;k3.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&N0e&&e.indexOf(lP)<0&&(e=e.replace(T0e,lP)),L0e.test(e)&&(e+=lP),e+="a";do e=F0e(e);while(R0e(e)||M0e.test(e));return e.replace(O0e,"$1")}});var H3=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var K0e=J("path"),U0e=R3(),F3=Bn(),H0e=Ox(),N3="**",G0e="\\",Y0e=/[*?]|^!/,j0e=/\[.*]/,q0e=/(?:^|[^!*+?@])\(.*\|.*\)/,J0e=/[!*+?@]\(.*\)/,W0e=/{.*(?:,|\.\.).*}/;function T3(r,e={}){return!L3(r,e)}$r.isStaticPattern=T3;function L3(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(G0e)||Y0e.test(r)||j0e.test(r)||q0e.test(r)||e.extglob!==!1&&J0e.test(r)||e.braceExpansion!==!1&&W0e.test(r))}$r.isDynamicPattern=L3;function z0e(r){return _y(r)?r.slice(1):r}$r.convertToPositivePattern=z0e;function V0e(r){return"!"+r}$r.convertToNegativePattern=V0e;function _y(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=_y;function M3(r){return!_y(r)}$r.isPositivePattern=M3;function X0e(r){return r.filter(_y)}$r.getNegativePatterns=X0e;function Z0e(r){return r.filter(M3)}$r.getPositivePatterns=Z0e;function _0e(r){return U0e(r,{flipBackslashes:!1})}$r.getBaseDirectory=_0e;function $0e(r){return r.includes(N3)}$r.hasGlobStar=$0e;function O3(r){return r.endsWith("/"+N3)}$r.endsWithSlashGlobStar=O3;function ebe(r){let e=K0e.basename(r);return O3(r)||T3(e)}$r.isAffectDepthOfReadingPattern=ebe;function tbe(r){return r.reduce((e,t)=>e.concat(K3(t)),[])}$r.expandPatternsWithBraceExpansion=tbe;function K3(r){return F3.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=K3;function rbe(r,e){let t=H0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=rbe;function U3(r,e){return F3.makeRe(r,e)}$r.makeRe=U3;function ibe(r,e){return r.map(t=>U3(t,e))}$r.convertPatternsToRe=ibe;function nbe(r,e){return e.some(t=>t.test(r))}$r.matchAny=nbe});var Y3=w(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});var sbe=sP();function obe(r){let e=sbe(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>G3(r)),e.once("end",()=>G3(r)),e}cP.merge=obe;function G3(r){r.forEach(e=>e.emit("close"))}});var j3=w($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});function abe(r){return typeof r=="string"}$y.isString=abe;function Abe(r){return r===""}$y.isEmpty=Abe});var Ma=w(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var lbe=w3();La.array=lbe;var cbe=B3();La.errno=cbe;var ube=b3();La.fs=ube;var gbe=Q3();La.path=gbe;var fbe=H3();La.pattern=fbe;var hbe=Y3();La.stream=hbe;var pbe=j3();La.string=pbe});var V3=w(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var bc=Ma();function dbe(r,e){let t=q3(r),i=J3(r,e.ignore),n=t.filter(l=>bc.pattern.isStaticPattern(l,e)),s=t.filter(l=>bc.pattern.isDynamicPattern(l,e)),o=uP(n,i,!1),a=uP(s,i,!0);return o.concat(a)}Oa.generate=dbe;function uP(r,e,t){let i=W3(r);return"."in i?[gP(".",r,e,t)]:z3(i,e,t)}Oa.convertPatternsToTasks=uP;function q3(r){return bc.pattern.getPositivePatterns(r)}Oa.getPositivePatterns=q3;function J3(r,e){return bc.pattern.getNegativePatterns(r).concat(e).map(bc.pattern.convertToPositivePattern)}Oa.getNegativePatternsAsPositive=J3;function W3(r){let e={};return r.reduce((t,i)=>{let n=bc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Oa.groupPatternsByBaseDirectory=W3;function z3(r,e,t){return Object.keys(r).map(i=>gP(i,r[i],e,t))}Oa.convertPatternGroupsToTasks=z3;function gP(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(bc.pattern.convertToNegativePattern))}}Oa.convertPatternGroupToTask=gP});var Z3=w(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.read=void 0;function Cbe(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){X3(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){fP(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){X3(t,s);return}fP(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),fP(t,o)})})}ew.read=Cbe;function X3(r,e){r(e)}function fP(r,e){r(null,e)}});var _3=w(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.read=void 0;function mbe(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}tw.read=mbe});var $3=w(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.createFileSystemAdapter=UA.FILE_SYSTEM_ADAPTER=void 0;var rw=J("fs");UA.FILE_SYSTEM_ADAPTER={lstat:rw.lstat,stat:rw.stat,lstatSync:rw.lstatSync,statSync:rw.statSync};function Ebe(r){return r===void 0?UA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},UA.FILE_SYSTEM_ADAPTER),r)}UA.createFileSystemAdapter=Ebe});var e4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var Ibe=$3(),hP=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Ibe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};pP.default=hP});var Qc=w(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.statSync=HA.stat=HA.Settings=void 0;var t4=Z3(),ybe=_3(),dP=e4();HA.Settings=dP.default;function wbe(r,e,t){if(typeof e=="function"){t4.read(r,CP(),e);return}t4.read(r,CP(e),t)}HA.stat=wbe;function Bbe(r,e){let t=CP(e);return ybe.read(r,t)}HA.statSync=Bbe;function CP(r={}){return r instanceof dP.default?r:new dP.default(r)}});var i4=w((_tt,r4)=>{r4.exports=bbe;function bbe(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var mP=w(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var iw=process.versions.node.split(".");if(iw[0]===void 0||iw[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var n4=Number.parseInt(iw[0],10),Qbe=Number.parseInt(iw[1],10),s4=10,Sbe=10,vbe=n4>s4,xbe=n4===s4&&Qbe>=Sbe;nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=vbe||xbe});var o4=w(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.createDirentFromStats=void 0;var EP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function Pbe(r,e){return new EP(r,e)}sw.createDirentFromStats=Pbe});var IP=w(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.fs=void 0;var Dbe=o4();ow.fs=Dbe});var yP=w(aw=>{"use strict";Object.defineProperty(aw,"__esModule",{value:!0});aw.joinPathSegments=void 0;function kbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}aw.joinPathSegments=kbe});var g4=w(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.readdir=GA.readdirWithFileTypes=GA.read=void 0;var Rbe=Qc(),a4=i4(),Fbe=mP(),A4=IP(),l4=yP();function Nbe(r,e,t){if(!e.stats&&Fbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){c4(r,e,t);return}u4(r,e,t)}GA.read=Nbe;function c4(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:l4.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){wP(t,s);return}let o=s.map(a=>Tbe(a,e));a4(o,(a,l)=>{if(a!==null){Aw(t,a);return}wP(t,l)})})}GA.readdirWithFileTypes=c4;function Tbe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=A4.fs.createDirentFromStats(r.name,n),t(null,r)})}}function u4(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(o=>{let a=l4.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{Rbe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:A4.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});a4(s,(o,a)=>{if(o!==null){Aw(t,o);return}wP(t,a)})})}GA.readdir=u4;function Aw(r,e){r(e)}function wP(r,e){r(null,e)}});var C4=w(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.readdir=YA.readdirWithFileTypes=YA.read=void 0;var Lbe=Qc(),Mbe=mP(),f4=IP(),h4=yP();function Obe(r,e){return!e.stats&&Mbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?p4(r,e):d4(r,e)}YA.read=Obe;function p4(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:h4.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=f4.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}YA.readdirWithFileTypes=p4;function d4(r,e){return e.fs.readdirSync(r).map(i=>{let n=h4.joinPathSegments(r,i,e.pathSegmentSeparator),s=Lbe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:f4.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}YA.readdir=d4});var m4=w(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.createFileSystemAdapter=jA.FILE_SYSTEM_ADAPTER=void 0;var wf=J("fs");jA.FILE_SYSTEM_ADAPTER={lstat:wf.lstat,stat:wf.stat,lstatSync:wf.lstatSync,statSync:wf.statSync,readdir:wf.readdir,readdirSync:wf.readdirSync};function Kbe(r){return r===void 0?jA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},jA.FILE_SYSTEM_ADAPTER),r)}jA.createFileSystemAdapter=Kbe});var E4=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var Ube=J("path"),Hbe=Qc(),Gbe=m4(),BP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=Gbe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Ube.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new Hbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};bP.default=BP});var lw=w(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.Settings=qA.scandirSync=qA.scandir=void 0;var I4=g4(),Ybe=C4(),QP=E4();qA.Settings=QP.default;function jbe(r,e,t){if(typeof e=="function"){I4.read(r,SP(),e);return}I4.read(r,SP(e),t)}qA.scandir=jbe;function qbe(r,e){let t=SP(e);return Ybe.read(r,t)}qA.scandirSync=qbe;function SP(r={}){return r instanceof QP.default?r:new QP.default(r)}});var w4=w((Art,y4)=>{"use strict";function Jbe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}y4.exports=Jbe});var b4=w((lrt,vP)=>{"use strict";var Wbe=w4();function B4(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=Wbe(zbe),n=null,s=null,o=0,a=null,l={push:C,drain:Is,saturated:Is,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Is,kill:v,killAndDrain:D,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.joinPathSegments=Yo.replacePathSegmentSeparator=Yo.isAppliedFilter=Yo.isFatalError=void 0;function Xbe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Yo.isFatalError=Xbe;function Zbe(r,e){return r===null||r(e)}Yo.isAppliedFilter=Zbe;function _be(r,e){return r.split(/[/\\]/).join(e)}Yo.replacePathSegmentSeparator=_be;function $be(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Yo.joinPathSegments=$be});var DP=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var eQe=cw(),xP=class{constructor(e,t){this._root=e,this._settings=t,this._root=eQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};PP.default=xP});var FP=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var tQe=J("events"),rQe=lw(),iQe=b4(),uw=cw(),nQe=DP(),kP=class extends nQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=rQe.scandir,this._emitter=new tQe.EventEmitter,this._queue=iQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!uw.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=uw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),uw.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&uw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};RP.default=kP});var Q4=w(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var sQe=FP(),NP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new sQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{oQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{aQe(e,[...this._storage])}),this._reader.read()}};TP.default=NP;function oQe(r,e){r(e)}function aQe(r,e){r(null,e)}});var S4=w(MP=>{"use strict";Object.defineProperty(MP,"__esModule",{value:!0});var AQe=J("stream"),lQe=FP(),LP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new lQe.default(this._root,this._settings),this._stream=new AQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};MP.default=LP});var v4=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var cQe=lw(),gw=cw(),uQe=DP(),OP=class extends uQe.default{constructor(){super(...arguments),this._scandir=cQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!gw.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=gw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),gw.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&gw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};KP.default=OP});var x4=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var gQe=v4(),UP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new gQe.default(this._root,this._settings)}read(){return this._reader.read()}};HP.default=UP});var P4=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var fQe=J("path"),hQe=lw(),GP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,fQe.sep),this.fsScandirSettings=new hQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};YP.default=GP});var qP=w(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Settings=jo.walkStream=jo.walkSync=jo.walk=void 0;var D4=Q4(),pQe=S4(),dQe=x4(),jP=P4();jo.Settings=jP.default;function CQe(r,e,t){if(typeof e=="function"){new D4.default(r,fw()).read(e);return}new D4.default(r,fw(e)).read(t)}jo.walk=CQe;function mQe(r,e){let t=fw(e);return new dQe.default(r,t).read()}jo.walkSync=mQe;function EQe(r,e){let t=fw(e);return new pQe.default(r,t).read()}jo.walkStream=EQe;function fw(r={}){return r instanceof jP.default?r:new jP.default(r)}});var zP=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var IQe=J("path"),yQe=Qc(),k4=Ma(),JP=class{constructor(e){this._settings=e,this._fsStatSettings=new yQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return IQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:k4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!k4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};WP.default=JP});var ZP=w(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});var wQe=J("stream"),BQe=Qc(),bQe=qP(),QQe=zP(),VP=class extends QQe.default{constructor(){super(...arguments),this._walkStream=bQe.walkStream,this._stat=BQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new wQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};XP.default=VP});var R4=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var Bf=Ma(),_P=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Bf.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return Bf.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Bf.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Bf.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Bf.array.splitWhen(e,t=>t.dynamic&&Bf.pattern.hasGlobStar(t.pattern))}};$P.default=_P});var F4=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var SQe=R4(),eD=class extends SQe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};tD.default=eD});var N4=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var hw=Ma(),vQe=F4(),rD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new vQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(hw.pattern.isAffectDepthOfReadingPattern);return hw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=hw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!hw.pattern.matchAny(e,t)}};iD.default=rD});var T4=w(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var Zd=Ma(),nD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Zd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Zd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Zd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Zd.path.removeLeadingDotSegment(e);return Zd.pattern.matchAny(i,t)}};sD.default=nD});var L4=w(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var xQe=Ma(),oD=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return xQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};aD.default=oD});var O4=w(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var M4=Ma(),AD=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=M4.path.makeAbsolute(this._settings.cwd,t),t=M4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};lD.default=AD});var pw=w(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var PQe=J("path"),DQe=N4(),kQe=T4(),RQe=L4(),FQe=O4(),cD=class{constructor(e){this._settings=e,this.errorFilter=new RQe.default(this._settings),this.entryFilter=new kQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new DQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new FQe.default(this._settings)}_getRootDirectory(e){return PQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};uD.default=cD});var K4=w(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});var NQe=ZP(),TQe=pw(),gD=class extends TQe.default{constructor(){super(...arguments),this._reader=new NQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};fD.default=gD});var U4=w(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});var LQe=J("stream"),MQe=ZP(),OQe=pw(),hD=class extends OQe.default{constructor(){super(...arguments),this._reader=new MQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new LQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};pD.default=hD});var H4=w(CD=>{"use strict";Object.defineProperty(CD,"__esModule",{value:!0});var KQe=Qc(),UQe=qP(),HQe=zP(),dD=class extends HQe.default{constructor(){super(...arguments),this._walkSync=UQe.walkSync,this._statSync=KQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};CD.default=dD});var G4=w(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});var GQe=H4(),YQe=pw(),mD=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};ED.default=mD});var Y4=w(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var bf=J("fs"),jQe=J("os"),qQe=jQe.cpus().length;_d.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:bf.lstat,lstatSync:bf.lstatSync,stat:bf.stat,statSync:bf.statSync,readdir:bf.readdir,readdirSync:bf.readdirSync};var ID=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,qQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},_d.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};_d.default=ID});var dw=w((Frt,q4)=>{"use strict";var j4=V3(),JQe=K4(),WQe=U4(),zQe=G4(),yD=Y4(),Sc=Ma();async function wD(r,e){Qf(r);let t=BD(r,JQe.default,e),i=await Promise.all(t);return Sc.array.flatten(i)}(function(r){function e(o,a){Qf(o);let l=BD(o,zQe.default,a);return Sc.array.flatten(l)}r.sync=e;function t(o,a){Qf(o);let l=BD(o,WQe.default,a);return Sc.stream.merge(l)}r.stream=t;function i(o,a){Qf(o);let l=[].concat(o),c=new yD.default(a);return j4.generate(l,c)}r.generateTasks=i;function n(o,a){Qf(o);let l=new yD.default(a);return Sc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Qf(o),Sc.path.escape(o)}r.escapePath=s})(wD||(wD={}));function BD(r,e,t){let i=[].concat(r),n=new yD.default(t),s=j4.generate(i,n),o=new e(n);return s.map(o.read,o)}function Qf(r){if(![].concat(r).every(i=>Sc.string.isString(i)&&!Sc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}q4.exports=wD});var W4=w(vc=>{"use strict";var{promisify:VQe}=J("util"),J4=J("fs");async function bD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await VQe(J4[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function QD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return J4[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}vc.isFile=bD.bind(null,"stat","isFile");vc.isDirectory=bD.bind(null,"stat","isDirectory");vc.isSymlink=bD.bind(null,"lstat","isSymbolicLink");vc.isFileSync=QD.bind(null,"statSync","isFile");vc.isDirectorySync=QD.bind(null,"statSync","isDirectory");vc.isSymlinkSync=QD.bind(null,"lstatSync","isSymbolicLink")});var _4=w((Trt,SD)=>{"use strict";var xc=J("path"),z4=W4(),V4=r=>r.length>1?`{${r.join(",")}}`:r[0],X4=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return xc.isAbsolute(t)?t:xc.join(e,t)},XQe=(r,e)=>xc.extname(r)?`**/${r}`:`**/${r}.${V4(e)}`,Z4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>xc.posix.join(r,XQe(t,e.extensions))):e.files?e.files.map(t=>xc.posix.join(r,`**/${t}`)):e.extensions?[xc.posix.join(r,`**/*.${V4(e.extensions)}`)]:[xc.posix.join(r,"**")]};SD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await z4.isDirectory(X4(i,e.cwd))?Z4(i,e):i));return[].concat.apply([],t)};SD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>z4.isDirectorySync(X4(i,e.cwd))?Z4(i,e):i);return[].concat.apply([],t)}});var o8=w((Lrt,s8)=>{function $4(r){return Array.isArray(r)?r:[r]}var i8="",e8=" ",vD="\\",ZQe=/^\s+$/,_Qe=/^\\!/,$Qe=/^\\#/,eSe=/\r?\n/g,tSe=/^\.*\/|^\.+$/,xD="/",t8=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",rSe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),iSe=/([0-z])-([0-z])/g,nSe=r=>r.replace(iSe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:i8),sSe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},oSe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?e8:i8],[/\\\s/g,()=>e8],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>vD],[/\\\\/g,()=>vD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===vD?`\\[${t}${sSe(i)}${n}`:n==="]"&&i.length%2===0?`[${nSe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],r8=Object.create(null),aSe=(r,e)=>{let t=r8[r];return t||(t=oSe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),r8[r]=t),e?new RegExp(t,"i"):new RegExp(t)},kD=r=>typeof r=="string",ASe=r=>r&&kD(r)&&!ZQe.test(r)&&r.indexOf("#")!==0,lSe=r=>r.split(eSe),PD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},cSe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(_Qe,"!").replace($Qe,"#");let n=aSe(r,e);return new PD(t,r,i,n)},uSe=(r,e)=>{throw new e(r)},Ka=(r,e,t)=>kD(r)?r?Ka.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),n8=r=>tSe.test(r);Ka.isNotRelative=n8;Ka.convert=r=>r;var DD=class{constructor({ignorecase:e=!0}={}){rSe(this,t8,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[t8]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(ASe(e)){let t=cSe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,$4(kD(e)?lSe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ka.convert(e);return Ka(s,e,uSe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(xD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(xD)+xD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return $4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Cw=r=>new DD(r),gSe=()=>!1,fSe=r=>Ka(r&&Ka.convert(r),r,gSe);Cw.isPathValid=fSe;Cw.default=Cw;s8.exports=Cw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Ka.convert=r;let e=/^[a-z]:\//i;Ka.isNotRelative=t=>e.test(t)||n8(t)}});var A8=w((Mrt,a8)=>{"use strict";a8.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var p8=w((Ort,RD)=>{"use strict";var{promisify:hSe}=J("util"),l8=J("fs"),Ua=J("path"),c8=dw(),pSe=o8(),$d=A8(),u8=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],dSe=hSe(l8.readFile),CSe=r=>e=>e.startsWith("!")?"!"+Ua.posix.join(r,e.slice(1)):Ua.posix.join(r,e),mSe=(r,e)=>{let t=$d(Ua.relative(e.cwd,Ua.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(CSe(t))},g8=r=>{let e=pSe();for(let t of r)e.add(mSe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},ESe=(r,e)=>{if(r=$d(r),Ua.isAbsolute(e)){if($d(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Ua.join(r,e)},f8=(r,e)=>t=>r.ignores($d(Ua.relative(e,ESe(e,t.path||t)))),ISe=async(r,e)=>{let t=Ua.join(e,r),i=await dSe(t,"utf8");return{cwd:e,filePath:t,content:i}},ySe=(r,e)=>{let t=Ua.join(e,r),i=l8.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},h8=({ignore:r=[],cwd:e=$d(process.cwd())}={})=>({ignore:r,cwd:e});RD.exports=async r=>{r=h8(r);let e=await c8("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>ISe(n,r.cwd))),i=g8(t);return f8(i,r.cwd)};RD.exports.sync=r=>{r=h8(r);let t=c8.sync("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}).map(n=>ySe(n,r.cwd)),i=g8(t);return f8(i,r.cwd)}});var C8=w((Krt,d8)=>{"use strict";var{Transform:wSe}=J("stream"),mw=class extends wSe{constructor(){super({objectMode:!0})}},FD=class extends mw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},ND=class extends mw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};d8.exports={FilterStream:FD,UniqueStream:ND}});var OD=w((Urt,Pc)=>{"use strict";var E8=J("fs"),Ew=m3(),BSe=sP(),Iw=dw(),yw=_4(),TD=p8(),{FilterStream:bSe,UniqueStream:QSe}=C8(),I8=()=>!1,m8=r=>r[0]==="!",SSe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},vSe=(r={})=>{if(!r.cwd)return;let e;try{e=E8.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},xSe=r=>r.stats instanceof E8.Stats?r.path:r,ww=(r,e)=>{r=Ew([].concat(r)),SSe(r),vSe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(m8(n))continue;let s=r.slice(i).filter(a=>m8(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},PSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},LD=(r,e)=>r.options.expandDirectories?PSe(r,e):[r.pattern],y8=r=>r&&r.gitignore?TD.sync({cwd:r.cwd,ignore:r.ignore}):I8,MD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=yw.sync(t.ignore)),{pattern:e,options:t}};Pc.exports=async(r,e)=>{let t=ww(r,e),i=async()=>e&&e.gitignore?TD({cwd:e.cwd,ignore:e.ignore}):I8,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await LD(c,yw);return Promise.all(u.map(MD(c)))}));return Ew(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Iw(l.pattern,l.options)));return Ew(...a).filter(l=>!s(xSe(l)))};Pc.exports.sync=(r,e)=>{let t=ww(r,e),i=[];for(let o of t){let a=LD(o,yw.sync).map(MD(o));i.push(...a)}let n=y8(e),s=[];for(let o of i)s=Ew(s,Iw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Pc.exports.stream=(r,e)=>{let t=ww(r,e),i=[];for(let a of t){let l=LD(a,yw.sync).map(MD(a));i.push(...l)}let n=y8(e),s=new bSe(a=>!n(a)),o=new QSe;return BSe(i.map(a=>Iw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Pc.exports.generateGlobTasks=ww;Pc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>Iw.isDynamicPattern(t,e));Pc.exports.gitignore=TD});var vn=w((iit,L8)=>{function GSe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}L8.exports=GSe});var WD=w((nit,M8)=>{var YSe=typeof global=="object"&&global&&global.Object===Object&&global;M8.exports=YSe});var ys=w((sit,O8)=>{var jSe=WD(),qSe=typeof self=="object"&&self&&self.Object===Object&&self,JSe=jSe||qSe||Function("return this")();O8.exports=JSe});var U8=w((oit,K8)=>{var WSe=ys(),zSe=function(){return WSe.Date.now()};K8.exports=zSe});var G8=w((ait,H8)=>{var VSe=/\s/;function XSe(r){for(var e=r.length;e--&&VSe.test(r.charAt(e)););return e}H8.exports=XSe});var j8=w((Ait,Y8)=>{var ZSe=G8(),_Se=/^\s+/;function $Se(r){return r&&r.slice(0,ZSe(r)+1).replace(_Se,"")}Y8.exports=$Se});var Rc=w((lit,q8)=>{var eve=ys(),tve=eve.Symbol;q8.exports=tve});var V8=w((cit,z8)=>{var J8=Rc(),W8=Object.prototype,rve=W8.hasOwnProperty,ive=W8.toString,uC=J8?J8.toStringTag:void 0;function nve(r){var e=rve.call(r,uC),t=r[uC];try{r[uC]=void 0;var i=!0}catch{}var n=ive.call(r);return i&&(e?r[uC]=t:delete r[uC]),n}z8.exports=nve});var Z8=w((uit,X8)=>{var sve=Object.prototype,ove=sve.toString;function ave(r){return ove.call(r)}X8.exports=ave});var Fc=w((git,ez)=>{var _8=Rc(),Ave=V8(),lve=Z8(),cve="[object Null]",uve="[object Undefined]",$8=_8?_8.toStringTag:void 0;function gve(r){return r==null?r===void 0?uve:cve:$8&&$8 in Object(r)?Ave(r):lve(r)}ez.exports=gve});var Wo=w((fit,tz)=>{function fve(r){return r!=null&&typeof r=="object"}tz.exports=fve});var gC=w((hit,rz)=>{var hve=Fc(),pve=Wo(),dve="[object Symbol]";function Cve(r){return typeof r=="symbol"||pve(r)&&hve(r)==dve}rz.exports=Cve});var oz=w((pit,sz)=>{var mve=j8(),iz=vn(),Eve=gC(),nz=0/0,Ive=/^[-+]0x[0-9a-f]+$/i,yve=/^0b[01]+$/i,wve=/^0o[0-7]+$/i,Bve=parseInt;function bve(r){if(typeof r=="number")return r;if(Eve(r))return nz;if(iz(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=iz(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=mve(r);var t=yve.test(r);return t||wve.test(r)?Bve(r.slice(2),t?2:8):Ive.test(r)?nz:+r}sz.exports=bve});var lz=w((dit,Az)=>{var Qve=vn(),zD=U8(),az=oz(),Sve="Expected a function",vve=Math.max,xve=Math.min;function Pve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(Sve);e=az(e)||0,Qve(t)&&(u=!!t.leading,g="maxWait"in t,s=g?vve(az(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?xve(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=zD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(zD())}function H(){var j=zD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=T,H}Az.exports=Pve});var uz=w((Cit,cz)=>{var Dve=lz(),kve=vn(),Rve="Expected a function";function Fve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(Rve);return kve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),Dve(r,e,{leading:i,maxWait:e,trailing:n})}cz.exports=Fve});var Ya=w((Ga,jw)=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var Iz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Jve(r){return Iz.includes(r)}var Wve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Iz];function zve(r){return Wve.includes(r)}var Vve=["null","undefined","string","number","bigint","boolean","symbol"];function Xve(r){return Vve.includes(r)}function Lf(r){return e=>typeof e===r}var{toString:yz}=Object.prototype,CC=r=>{let e=yz.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(zve(e))return e},lr=r=>e=>CC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=CC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Lf("undefined");X.string=Lf("string");var Zve=Lf("number");X.number=r=>Zve(r)&&!X.nan(r);X.bigint=Lf("bigint");X.function_=Lf("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Lf("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var _ve=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||_ve(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>CC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>CC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||Xve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(yz.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>Jve(CC(r));var $ve=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&$ve(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var exe=1,txe=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===exe&&X.string(r.nodeName)&&!X.plainObject(r)&&txe.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var wz=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=wz(0);X.oddInteger=wz(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var rxe=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||rxe(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var Bz=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>Bz(Array.prototype.some,i,e));X.all=(r,...e)=>Bz(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Ga.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(Ga.assert,{class:{value:Ga.assert.class_},function:{value:Ga.assert.function_},null:{value:Ga.assert.null_}});Ga.default=X;jw.exports=X;jw.exports.default=X;jw.exports.assert=Ga.assert});var bz=w((rnt,dk)=>{"use strict";var qw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Mf=class{static fn(e){return(...t)=>new Mf((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Mf.prototype,Promise.prototype);dk.exports=Mf;dk.exports.CancelError=qw});var Qz=w((mk,Ek)=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var ixe=J("tls"),Ck=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof ixe.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};mk.default=Ck;Ek.exports=Ck;Ek.exports.default=Ck});var Sz=w((yk,wk)=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var nxe=Qz(),sxe=Number(process.versions.node.split(".")[0]),Ik=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||sxe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),nxe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};yk.default=Ik;wk.exports=Ik;wk.exports.default=Ik});var Fz=w((int,Qk)=>{"use strict";var{V4MAPPED:oxe,ADDRCONFIG:axe,ALL:Rz,promises:{Resolver:vz},lookup:Axe}=J("dns"),{promisify:Bk}=J("util"),lxe=J("os"),Of=Symbol("cacheableLookupCreateConnection"),bk=Symbol("cacheableLookupInstance"),xz=Symbol("expires"),cxe=typeof Rz=="number",Pz=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},uxe=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Dz=()=>{let r=!1,e=!1;for(let t of Object.values(lxe.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},gxe=r=>Symbol.iterator in r,kz={ttl:!0},fxe={all:!0},Jw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new vz,lookup:o=Axe}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Bk(o),this._resolver instanceof vz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Bk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Bk(this._resolver.resolve6.bind(this._resolver))),this._iface=Dz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&oxe&&(cxe&&t.hints&Rz||n.length===0)?uxe(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&axe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,kz),this._resolve6(e,kz)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[xz]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}gxe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,fxe);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[xz];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Of](t,i))}uninstall(e){if(Pz(e),e[Of]){if(e[bk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Of],delete e[Of],delete e[bk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Dz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Qk.exports=Jw;Qk.exports.default=Jw});var Lz=w((nnt,Sk)=>{"use strict";var hxe=typeof URL>"u"?J("url").URL:URL,pxe="text/plain",dxe="us-ascii",Nz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),Cxe=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===dxe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==pxe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Tz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return Cxe(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new hxe(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Nz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Nz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Sk.exports=Tz;Sk.exports.default=Tz});var Kz=w((snt,Oz)=>{Oz.exports=Mz;function Mz(r,e){if(r&&e)return Mz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var Uz=Kz();vk.exports=Uz(Ww);vk.exports.strict=Uz(Hz);Ww.proto=Ww(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ww(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Hz(this)},configurable:!0})});function Ww(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function Hz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Pk=w((ant,Yz)=>{var mxe=xk(),Exe=function(){},Ixe=function(r){return r.setHeader&&typeof r.abort=="function"},yxe=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},Gz=function(r,e,t){if(typeof e=="function")return Gz(r,null,e);e||(e={}),t=mxe(t||Exe);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return Ixe(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),yxe(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};Yz.exports=Gz});var Jz=w((Ant,qz)=>{var wxe=xk(),Bxe=Pk(),Dk=J("fs"),mC=function(){},bxe=/^v?\.0/.test(process.version),zw=function(r){return typeof r=="function"},Qxe=function(r){return!bxe||!Dk?!1:(r instanceof(Dk.ReadStream||mC)||r instanceof(Dk.WriteStream||mC))&&zw(r.close)},Sxe=function(r){return r.setHeader&&zw(r.abort)},vxe=function(r,e,t,i){i=wxe(i);var n=!1;r.on("close",function(){n=!0}),Bxe(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Qxe(r))return r.close(mC);if(Sxe(r))return r.abort();if(zw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},jz=function(r){r()},xxe=function(r,e){return r.pipe(e)},Pxe=function(){var r=Array.prototype.slice.call(arguments),e=zw(r[r.length-1]||mC)&&r.pop()||mC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return vxe(n,o,a,function(l){t||(t=l),l&&i.forEach(jz),!o&&(i.forEach(jz),e(t))})});return r.reduce(xxe)};qz.exports=Pxe});var zz=w((lnt,Wz)=>{"use strict";var{PassThrough:Dxe}=J("stream");Wz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new Dxe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Vz=w((cnt,Kf)=>{"use strict";var kxe=Jz(),Rxe=zz(),Vw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Xw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=kxe(r,Rxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Vw)})}),i.getBufferedValue()}Kf.exports=Xw;Kf.exports.default=Xw;Kf.exports.buffer=(r,e)=>Xw(r,{...e,encoding:"buffer"});Kf.exports.array=(r,e)=>Xw(r,{...e,array:!0});Kf.exports.MaxBufferError=Vw});var Zz=w((gnt,Xz)=>{"use strict";var Fxe=new Set([200,203,204,206,300,301,404,405,410,414,501]),Nxe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Txe=new Set([500,502,503,504]),Lxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Mxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Lc(r){let e=parseInt(r,10);return isFinite(e)?e:0}function Oxe(r){return r?Txe.has(r.status):!0}function kk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Kxe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}Xz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,_fromObject:a}={}){if(a){this._fromObject(a);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=kk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=kk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Kxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers["cache-control"]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Nxe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Fxe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=kk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Lxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){return Lc(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Lc(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Lc(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+Lc(this._rescc["stale-if-error"]),i=e+Lc(this._rescc["stale-while-revalidate"]);return Math.max(0,e,t,i)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Lc(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Lc(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Oxe(t))return{modified:!1,matches:!1,policy:this};if(!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!Mxe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Zw=w((fnt,_z)=>{"use strict";_z.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var e5=w((hnt,$z)=>{"use strict";var Uxe=J("stream").Readable,Hxe=Zw(),Rk=class extends Uxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Hxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};$z.exports=Rk});var r5=w((pnt,t5)=>{"use strict";var Gxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];t5.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(Gxe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var n5=w((dnt,i5)=>{"use strict";var Yxe=J("stream").PassThrough,jxe=r5(),qxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Yxe;return jxe(r,e),r.pipe(e)};i5.exports=qxe});var s5=w(Fk=>{Fk.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Fk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var A5=w((mnt,a5)=>{"use strict";var Jxe=J("events"),o5=s5(),Wxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},Nk=class extends Jxe{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:o5.stringify,deserialize:o5.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Wxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};a5.exports=Nk});var u5=w((Int,c5)=>{"use strict";var zxe=J("events"),_w=J("url"),Vxe=Lz(),Xxe=Vz(),Tk=Zz(),l5=e5(),Zxe=Zw(),_xe=n5(),$xe=A5(),ao=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new $xe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Lk(_w.parse(t)),t={};else if(t instanceof _w.URL)n=Lk(_w.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Lk({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...ePe(n)},t.headers=Zxe(t.headers);let s=new zxe,o=Vxe(_w.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Tk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new l5(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Tk(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=_xe(y),(async()=>{try{let v=Xxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,T,H)}catch(v){s.emit("error",new ao.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new ao.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ao.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Tk.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new l5(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ao.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new ao.CacheError(h))}})(),s}}};function ePe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Lk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}ao.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};ao.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};c5.exports=ao});var f5=w((Bnt,g5)=>{"use strict";var tPe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];g5.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(tPe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var p5=w((bnt,h5)=>{"use strict";var{Transform:rPe,PassThrough:iPe}=J("stream"),Mk=J("zlib"),nPe=f5();h5.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof Mk.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new rPe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new iPe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Mk.createBrotliDecompress():Mk.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),nPe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Kk=w((Qnt,d5)=>{"use strict";var Ok=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};d5.exports=Ok});var Hk=w((Snt,I5)=>{"use strict";var sPe=J("events"),oPe=J("tls"),aPe=J("http2"),APe=Kk(),on=Symbol("currentStreamsCount"),C5=Symbol("request"),Bs=Symbol("cachedOriginSet"),Uf=Symbol("gracefullyClosing"),lPe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],cPe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},uPe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Uk=(r,e)=>{for(let t of r)t[Bs].lengthe[Bs].includes(i))&&t[on]+e[on]<=e.remoteSettings.maxConcurrentStreams&&E5(t)},gPe=(r,e)=>{for(let t of r)e[Bs].lengtht[Bs].includes(i))&&e[on]+t[on]<=t.remoteSettings.maxConcurrentStreams&&E5(e)},m5=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[zo.kCurrentStreamsCount]{r[Uf]=!0,r[on]===0&&r.close()},zo=class extends sPe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new APe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of lPe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=zo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Uf]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=aPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[on]=0,f[Uf]=!1;let h=()=>f[on]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Bs])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Bs]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[Bs]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(cPe(B,f,uPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[on]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[C5]=f.request,f.request=(y,B)=>{if(f[Uf])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[C5](y,B);return f.ref(),++f[on],f[on]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[on],!f.destroyed&&!f.closed&&(gPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[on]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Uf])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),oPe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[on]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return m5({agent:this,isFree:!0})}get busySessions(){return m5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=on;zo.kGracefullyClosing=Uf;I5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((vnt,y5)=>{"use strict";var{Readable:fPe}=J("stream"),Gk=class extends fPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};y5.exports=Gk});var jk=w((xnt,w5)=>{"use strict";w5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var b5=w((Pnt,B5)=>{"use strict";B5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var S5=w((Dnt,Q5)=>{"use strict";Q5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var x5=w((Rnt,v5)=>{"use strict";var Hf=(r,e,t)=>{v5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};Hf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});Hf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);Hf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);Hf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);Hf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);Hf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Vk=w((Fnt,T5)=>{"use strict";var hPe=J("http2"),{Writable:pPe}=J("stream"),{Agent:P5,globalAgent:dPe}=Hk(),CPe=Yk(),mPe=jk(),EPe=b5(),IPe=S5(),{ERR_INVALID_ARG_TYPE:qk,ERR_INVALID_PROTOCOL:yPe,ERR_HTTP_HEADERS_SENT:D5,ERR_INVALID_HTTP_TOKEN:wPe,ERR_HTTP_INVALID_HEADER_VALUE:BPe,ERR_INVALID_CHAR:bPe}=x5(),{HTTP2_HEADER_STATUS:k5,HTTP2_HEADER_METHOD:R5,HTTP2_HEADER_PATH:F5,HTTP2_METHOD_CONNECT:QPe}=hPe.constants,Ui=Symbol("headers"),Jk=Symbol("origin"),Wk=Symbol("session"),N5=Symbol("options"),$w=Symbol("flushedHeaders"),EC=Symbol("jobs"),SPe=/^[\^`\-\w!#$%&*+.|~]+$/,vPe=/[^\t\u0020-\u007E\u0080-\u00FF]/,zk=class extends pPe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=mPe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[Wk]=t.h2session;else if(t.agent===!1)this.agent=new P5({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new P5({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=dPe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new qk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new yPe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ui]=Object.create(null),this[EC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ui])&&(this[Ui].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[N5]=t,s===443?(this[Jk]=`https://${o}`,":authority"in this[Ui]||(this[Ui][":authority"]=o)):(this[Jk]=`https://${o}:${s}`,":authority"in this[Ui]||(this[Ui][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[$w]=!1}get method(){return this[Ui][R5]}set method(e){e&&(this[Ui][R5]=e.toUpperCase())}get path(){return this[Ui][F5]}set path(e){e&&(this[Ui][F5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[EC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[EC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[$w]||this.destroyed)return;this[$w]=!0;let e=this.method===QPe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||EPe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new CPe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[k5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[k5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[EC])o();this.emit("socket",this.socket)};if(this[Wk])try{t(this[Wk].request(this[Ui]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Jk],this[N5],this[Ui]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qk("name","string",e);return this[Ui][e.toLowerCase()]}get headersSent(){return this[$w]}removeHeader(e){if(typeof e!="string")throw new qk("name","string",e);if(this.headersSent)throw new D5("remove");delete this[Ui][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new D5("set");if(typeof e!="string"||!SPe.test(e)&&!IPe(e))throw new wPe("Header name",e);if(typeof t>"u")throw new BPe(t,e);if(vPe.test(t))throw new bPe("header content",e);this[Ui][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[EC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};T5.exports=zk});var M5=w((Nnt,L5)=>{"use strict";var xPe=J("tls");L5.exports=(r={})=>new Promise((e,t)=>{let i=xPe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var K5=w((Tnt,O5)=>{"use strict";var PPe=J("net");O5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),PPe.isIP(e)?"":e}});var G5=w((Lnt,Zk)=>{"use strict";var U5=J("http"),Xk=J("https"),DPe=M5(),kPe=Kk(),RPe=Vk(),FPe=K5(),NPe=jk(),eB=new kPe({maxSize:100}),IC=new Map,H5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},TPe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!eB.has(e)){if(IC.has(e))return(await IC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=DPe(r);IC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(eB.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Xk,l=Xk.Agent.prototype.createConnection;i?i.createConnection===l?H5(i,s,r):s.destroy():a.createConnection===l?H5(a,s,r):s.destroy()}return IC.delete(e),o}catch(s){throw IC.delete(e),s}}return eB.get(e)};Zk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=NPe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||FPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xk.globalAgent:U5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await TPe(e)==="h2"?(n&&(e.agent=n.http2),new RPe(e,t)):U5.request(e,t)};Zk.exports.protocolCache=eB});var j5=w((Mnt,Y5)=>{"use strict";var LPe=J("http2"),MPe=Hk(),_k=Vk(),OPe=Yk(),KPe=G5(),UPe=(r,e,t)=>new _k(r,e,t),HPe=(r,e,t)=>{let i=new _k(r,e,t);return i.end(),i};Y5.exports={...LPe,ClientRequest:_k,IncomingMessage:OPe,...MPe,request:UPe,get:HPe,auto:KPe}});var eR=w($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});var q5=Ya();$k.default=r=>q5.default.nodeStream(r)&&q5.default.function_(r.getBoundary)});var V5=w(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});var W5=J("fs"),z5=J("util"),J5=Ya(),GPe=eR(),YPe=z5.promisify(W5.stat);tR.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(J5.default.string(r))return Buffer.byteLength(r);if(J5.default.buffer(r))return r.length;if(GPe.default(r))return z5.promisify(r.getLength.bind(r))();if(r instanceof W5.ReadStream){let{size:t}=await YPe(r.path);return t===0?void 0:t}}});var iR=w(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});function jPe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}rR.default=jPe});var X5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});nR.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var _5=w(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});yC.TimeoutError=void 0;var qPe=J("net"),JPe=X5(),Z5=Symbol("reentry"),WPe=()=>{},tB=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};yC.TimeoutError=tB;yC.default=(r,e,t)=>{if(Z5 in r)return WPe;r[Z5]=!0;let i=[],{once:n,unhandleAll:s}=JPe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new tB(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:qPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var e6=w(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var $5=Ya();sR.default=r=>{r=r;let e={protocol:r.protocol,hostname:$5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return $5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var t6=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var zPe=J("url"),VPe=["protocol","host","hostname","port","pathname","search"];oR.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new zPe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of VPe)e[s]&&(n[s]=e[s].toString());return n}});var r6=w(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var aR=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};AR.default=aR});var cR=w(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var XPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};lR.default=XPe});var n6=w(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.dnsLookupIpVersionToFamily=Mc.isDnsLookupIpVersion=void 0;var i6={auto:0,ipv4:4,ipv6:6};Mc.isDnsLookupIpVersion=r=>r in i6;Mc.dnsLookupIpVersionToFamily=r=>{if(Mc.isDnsLookupIpVersion(r))return i6[r];throw new Error("Invalid DNS lookup IP version")}});var uR=w(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.isResponseOk=void 0;rB.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var o6=w(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var s6=new Set;gR.default=r=>{s6.has(r)||(s6.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var a6=w(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var mr=Ya(),ZPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};fR.default=ZPe});var A6=w(wC=>{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});wC.retryAfterStatusCodes=void 0;wC.retryAfterStatusCodes=new Set([413,429,503]);var _Pe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};wC.default=_Pe});var QC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var l6=J("util"),c6=J("stream"),$Pe=J("fs"),VA=J("url"),u6=J("http"),hR=J("http"),eDe=J("https"),tDe=Sz(),rDe=Fz(),g6=u5(),iDe=p5(),nDe=j5(),sDe=Zw(),Ee=Ya(),oDe=V5(),f6=eR(),aDe=iR(),h6=_5(),ADe=e6(),p6=t6(),lDe=r6(),cDe=cR(),d6=n6(),uDe=uR(),XA=o6(),gDe=a6(),fDe=A6(),pR,Pi=Symbol("request"),sB=Symbol("response"),Gf=Symbol("responseSize"),Yf=Symbol("downloadedSize"),jf=Symbol("bodySize"),qf=Symbol("uploadedSize"),iB=Symbol("serverResponsesPiped"),C6=Symbol("unproxyEvents"),m6=Symbol("isFromCache"),dR=Symbol("cancelTimeouts"),E6=Symbol("startedReading"),Jf=Symbol("stopReading"),nB=Symbol("triggerRead"),ZA=Symbol("body"),BC=Symbol("jobs"),I6=Symbol("originalResponse"),y6=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var hDe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function pDe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function dDe(r){return Ee.default.object(r)&&!("statusCode"in r)}var CR=new lDe.default,CDe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),mDe=new Set([300,301,302,303,304,307,308]),EDe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of EDe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof gB?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[sB]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`,n)}while(i!==-1);return s+=r.substr(n),s};MJ.exports={stringReplaceAll:xwe,stringEncaseCRLFWithFirstIndex:Pwe}});var jJ=w((rtt,YJ)=>{"use strict";var Dwe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,UJ=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,kwe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Rwe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,Fwe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function GJ(r){let e=r[0]==="u",t=r[1]==="{";return e&&!t&&r.length===5||r[0]==="x"&&r.length===3?String.fromCharCode(parseInt(r.slice(1),16)):e&&t?String.fromCodePoint(parseInt(r.slice(2,-1),16)):Fwe.get(r)||r}function Nwe(r,e){let t=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))t.push(o);else if(n=s.match(kwe))t.push(n[2].replace(Rwe,(a,l,c)=>l?GJ(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${r}')`)}return t}function Twe(r){UJ.lastIndex=0;let e=[],t;for(;(t=UJ.exec(r))!==null;){let i=t[1];if(t[2]){let n=Nwe(i,t[2]);e.push([i].concat(n))}else e.push([i])}return e}function HJ(r,e){let t={};for(let n of e)for(let s of n.styles)t[s[0]]=n.inverse?null:s.slice(1);let i=r;for(let[n,s]of Object.entries(t))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}YJ.exports=(r,e)=>{let t=[],i=[],n=[];if(e.replace(Dwe,(s,o,a,l,c,u)=>{if(o)n.push(GJ(o));else if(l){let g=n.join("");n=[],i.push(t.length===0?g:HJ(r,t)(g)),t.push({inverse:a,styles:Twe(l)})}else if(c){if(t.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(HJ(r,t)(n.join(""))),n=[],t.pop()}else n.push(u)}),i.push(n.join("")),t.length>0){let s=`Chalk template literal is missing ${t.length} closing bracket${t.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var wx=w((itt,zJ)=>{"use strict";var Kd=RJ(),{stdout:mx,stderr:Ex}=OJ(),{stringReplaceAll:Lwe,stringEncaseCRLFWithFirstIndex:Owe}=KJ(),qJ=["ansi","ansi","ansi256","ansi16m"],uf=Object.create(null),Mwe=(r,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let t=mx?mx.level:0;r.level=e.level===void 0?t:e.level},Ix=class{constructor(e){return JJ(e)}},JJ=r=>{let e={};return Mwe(e,r),e.template=(...t)=>Hwe(e.template,...t),Object.setPrototypeOf(e,My.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=Ix,e.template};function My(r){return JJ(r)}for(let[r,e]of Object.entries(Kd))uf[r]={get(){let t=Ky(this,yx(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,r,{value:t}),t}};uf.visible={get(){let r=Ky(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:r}),r}};var WJ=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let r of WJ)uf[r]={get(){let{level:e}=this;return function(...t){let i=yx(Kd.color[qJ[e]][r](...t),Kd.color.close,this._styler);return Ky(this,i,this._isEmpty)}}};for(let r of WJ){let e="bg"+r[0].toUpperCase()+r.slice(1);uf[e]={get(){let{level:t}=this;return function(...i){let n=yx(Kd.bgColor[qJ[t]][r](...i),Kd.bgColor.close,this._styler);return Ky(this,n,this._isEmpty)}}}}var Kwe=Object.defineProperties(()=>{},{...uf,level:{enumerable:!0,get(){return this._generator.level},set(r){this._generator.level=r}}}),yx=(r,e,t)=>{let i,n;return t===void 0?(i=r,n=e):(i=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:i,closeAll:n,parent:t}},Ky=(r,e,t)=>{let i=(...n)=>Uwe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=Kwe,i._generator=r,i._styler=e,i._isEmpty=t,i},Uwe=(r,e)=>{if(r.level<=0||!e)return r._isEmpty?"":e;let t=r._styler;if(t===void 0)return e;let{openAll:i,closeAll:n}=t;if(e.indexOf("\x1B")!==-1)for(;t!==void 0;)e=Lwe(e,t.close,t.open),t=t.parent;let s=e.indexOf(` +`);return s!==-1&&(e=Owe(e,n,i,s)),i+e+n},Cx,Hwe=(r,...e)=>{let[t]=e;if(!Array.isArray(t))return e.join(" ");let i=e.slice(1),n=[t.raw[0]];for(let s=1;s{"use strict";Cs.isInteger=r=>typeof r=="number"?Number.isInteger(r):typeof r=="string"&&r.trim()!==""?Number.isInteger(Number(r)):!1;Cs.find=(r,e)=>r.nodes.find(t=>t.type===e);Cs.exceedsLimit=(r,e,t=1,i)=>i===!1||!Cs.isInteger(r)||!Cs.isInteger(e)?!1:(Number(e)-Number(r))/Number(t)>=i;Cs.escapeNode=(r,e=0,t)=>{let i=r.nodes[e];!i||(t&&i.type===t||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};Cs.encloseBrace=r=>r.type!=="brace"?!1:r.commas>>0+r.ranges>>0===0?(r.invalid=!0,!0):!1;Cs.isInvalidBrace=r=>r.type!=="brace"?!1:r.invalid===!0||r.dollar?!0:r.commas>>0+r.ranges>>0===0||r.open!==!0||r.close!==!0?(r.invalid=!0,!0):!1;Cs.isOpenOrClose=r=>r.type==="open"||r.type==="close"?!0:r.open===!0||r.close===!0;Cs.reduce=r=>r.reduce((e,t)=>(t.type==="text"&&e.push(t.value),t.type==="range"&&(t.type="text"),e),[]);Cs.flatten=(...r)=>{let e=[],t=i=>{for(let n=0;n{"use strict";var VJ=Uy();XJ.exports=(r,e={})=>{let t=(i,n={})=>{let s=e.escapeInvalid&&VJ.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&VJ.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=t(l);return a};return t(r)}});var _J=w((ott,ZJ)=>{"use strict";ZJ.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}});var a3=w((att,o3)=>{"use strict";var $J=_J(),Ic=(r,e,t)=>{if($J(r)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||r===e)return String(r);if($J(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...t};typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=r+":"+e+"="+n+s+o+a;if(Ic.cache.hasOwnProperty(l))return Ic.cache[l].result;let c=Math.min(r,e),u=Math.max(r,e);if(Math.abs(c-u)===1){let C=r+"|"+e;return i.capture?`(${C})`:i.wrap===!1?C:`(?:${C})`}let g=s3(r)||s3(e),f={min:r,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let C=u<0?Math.abs(u):1;p=e3(C,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=e3(c,u,f,i)),f.negatives=p,f.positives=h,f.result=Gwe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Ic.cache[l]=f,f.result};function Gwe(r,e,t){let i=Bx(r,e,"-",!1,t)||[],n=Bx(e,r,"",!1,t)||[],s=Bx(r,e,"-?",!0,t)||[];return i.concat(s).concat(n).join("|")}function Ywe(r,e){let t=1,i=1,n=r3(r,t),s=new Set([e]);for(;r<=n&&n<=e;)s.add(n),t+=1,n=r3(r,t);for(n=i3(e+1,i)-1;r1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+n3(a.count),o=c+1;continue}t.isPadded&&(g=zwe(c,t,i)),u.string=g+u.pattern+n3(u.count),s.push(u),o=c+1,a=u}return s}function Bx(r,e,t,i,n){let s=[];for(let o of r){let{string:a}=o;!i&&!t3(e,"string",a)&&s.push(t+a),i&&t3(e,"string",a)&&s.push(t+a)}return s}function qwe(r,e){let t=[];for(let i=0;ie?1:e>r?-1:0}function t3(r,e,t){return r.some(i=>i[e]===t)}function r3(r,e){return Number(String(r).slice(0,-e)+"9".repeat(e))}function i3(r,e){return r-r%Math.pow(10,e)}function n3(r){let[e=0,t=""]=r;return t||e>1?`{${e+(t?","+t:"")}}`:""}function Wwe(r,e,t){return`[${r}${e-r===1?"":"-"}${e}]`}function s3(r){return/^-?(0+)\d/.test(r)}function zwe(r,e,t){if(!e.isPadded)return r;let i=Math.abs(e.maxLen-String(r).length),n=t.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Ic.cache={};Ic.clearCache=()=>Ic.cache={};o3.exports=Ic});var Sx=w((Att,p3)=>{"use strict";var Vwe=J("util"),c3=a3(),A3=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),Xwe=r=>e=>r===!0?Number(e):String(e),bx=r=>typeof r=="number"||typeof r=="string"&&r!=="",Hd=r=>Number.isInteger(+r),Qx=r=>{let e=`${r}`,t=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++t]==="0";);return t>0},Zwe=(r,e,t)=>typeof r=="string"||typeof e=="string"?!0:t.stringify===!0,_we=(r,e,t)=>{if(e>0){let i=r[0]==="-"?"-":"";i&&(r=r.slice(1)),r=i+r.padStart(i?e-1:e,"0")}return t===!1?String(r):r},l3=(r,e)=>{let t=r[0]==="-"?"-":"";for(t&&(r=r.slice(1),e--);r.length{r.negatives.sort((o,a)=>oa?1:0),r.positives.sort((o,a)=>oa?1:0);let t=e.capture?"":"?:",i="",n="",s;return r.positives.length&&(i=r.positives.join("|")),r.negatives.length&&(n=`-(${t}${r.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${t}${s})`:s},u3=(r,e,t,i)=>{if(t)return c3(r,e,{wrap:!1,...i});let n=String.fromCharCode(r);if(r===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},g3=(r,e,t)=>{if(Array.isArray(r)){let i=t.wrap===!0,n=t.capture?"":"?:";return i?`(${n}${r.join("|")})`:r.join("|")}return c3(r,e,t)},f3=(...r)=>new RangeError("Invalid range arguments: "+Vwe.inspect(...r)),h3=(r,e,t)=>{if(t.strictRanges===!0)throw f3([r,e]);return[]},eBe=(r,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${r}" to be a number`);return[]},tBe=(r,e,t=1,i={})=>{let n=Number(r),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw f3([r,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(r),l=String(e),c=String(t);t=Math.max(Math.abs(t),1);let u=Qx(a)||Qx(l)||Qx(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&Zwe(r,e,i)===!1,h=i.transform||Xwe(f);if(i.toRegex&&t===1)return u3(l3(r,g),l3(e,g),!0,i);let p={negatives:[],positives:[]},C=v=>p[v<0?"negatives":"positives"].push(Math.abs(v)),y=[],B=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&t>1?C(n):y.push(_we(h(n,B),g,f)),n=o?n-t:n+t,B++;return i.toRegex===!0?t>1?$we(p,i):g3(y,null,{wrap:!1,...i}):y},rBe=(r,e,t=1,i={})=>{if(!Hd(r)&&r.length>1||!Hd(e)&&e.length>1)return h3(r,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${r}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&t===1)return u3(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-t:s+t,g++;return i.toRegex===!0?g3(u,null,{wrap:!1,options:i}):u},Gy=(r,e,t,i={})=>{if(e==null&&bx(r))return[r];if(!bx(r)||!bx(e))return h3(r,e,i);if(typeof t=="function")return Gy(r,e,1,{transform:t});if(A3(t))return Gy(r,e,0,t);let n={...i};return n.capture===!0&&(n.wrap=!0),t=t||n.step||1,Hd(t)?Hd(r)&&Hd(e)?tBe(r,e,t,n):rBe(r,e,Math.max(Math.abs(t),1),n):t!=null&&!A3(t)?eBe(t,n):Gy(r,e,1,t)};p3.exports=Gy});var m3=w((ltt,C3)=>{"use strict";var iBe=Sx(),d3=Uy(),nBe=(r,e={})=>{let t=(i,n={})=>{let s=d3.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=d3.reduce(i.nodes),g=iBe(...u,{...e,wrap:!1,toRegex:!0});if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=t(u,i);return c};return t(r)};C3.exports=nBe});var y3=w((ctt,I3)=>{"use strict";var sBe=Sx(),E3=Hy(),gf=Uy(),yc=(r="",e="",t=!1)=>{let i=[];if(r=[].concat(r),e=[].concat(e),!e.length)return r;if(!r.length)return t?gf.flatten(e).map(n=>`{${n}}`):e;for(let n of r)if(Array.isArray(n))for(let s of n)i.push(yc(s,e,t));else for(let s of e)t===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?yc(n,s,t):n+s);return gf.flatten(i)},oBe=(r,e={})=>{let t=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(yc(a.pop(),E3(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(yc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=gf.reduce(n.nodes);if(gf.exceedsLimit(...g,e.step,t))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=sBe(...g,e);f.length===0&&(f=E3(n,e)),a.push(yc(a.pop(),f)),n.nodes=[];return}let l=gf.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";w3.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var x3=w((gtt,v3)=>{"use strict";var aBe=Hy(),{MAX_LENGTH:b3,CHAR_BACKSLASH:vx,CHAR_BACKTICK:ABe,CHAR_COMMA:lBe,CHAR_DOT:cBe,CHAR_LEFT_PARENTHESES:uBe,CHAR_RIGHT_PARENTHESES:gBe,CHAR_LEFT_CURLY_BRACE:fBe,CHAR_RIGHT_CURLY_BRACE:hBe,CHAR_LEFT_SQUARE_BRACKET:Q3,CHAR_RIGHT_SQUARE_BRACKET:S3,CHAR_DOUBLE_QUOTE:pBe,CHAR_SINGLE_QUOTE:dBe,CHAR_NO_BREAK_SPACE:CBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:mBe}=B3(),EBe=(r,e={})=>{if(typeof r!="string")throw new TypeError("Expected a string");let t=e||{},i=typeof t.maxLength=="number"?Math.min(b3,t.maxLength):b3;if(r.length>i)throw new SyntaxError(`Input length (${r.length}), exceeds max characters (${i})`);let n={type:"root",input:r,nodes:[]},s=[n],o=n,a=n,l=0,c=r.length,u=0,g=0,f,h={},p=()=>r[u++],C=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(C({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:aBe(o)}]}C({type:"comma",value:f}),o.commas++;continue}if(f===cBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){C({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let B=y[y.length-1];B.value+=a.value+f,a=B,o.ranges--;continue}C({type:"dot",value:f});continue}C({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(v=>{v.nodes||(v.type==="open"&&(v.isOpen=!0),v.type==="close"&&(v.isClose=!0),v.nodes||(v.type="text"),v.invalid=!0)});let y=s[s.length-1],B=y.nodes.indexOf(o);y.nodes.splice(B,1,...o.nodes)}while(s.length>0);return C({type:"eos"}),n};v3.exports=EBe});var k3=w((ftt,D3)=>{"use strict";var P3=Hy(),IBe=m3(),yBe=y3(),wBe=x3(),Jn=(r,e={})=>{let t=[];if(Array.isArray(r))for(let i of r){let n=Jn.create(i,e);Array.isArray(n)?t.push(...n):t.push(n)}else t=[].concat(Jn.create(r,e));return e&&e.expand===!0&&e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.parse=(r,e={})=>wBe(r,e);Jn.stringify=(r,e={})=>P3(typeof r=="string"?Jn.parse(r,e):r,e);Jn.compile=(r,e={})=>(typeof r=="string"&&(r=Jn.parse(r,e)),IBe(r,e));Jn.expand=(r,e={})=>{typeof r=="string"&&(r=Jn.parse(r,e));let t=yBe(r,e);return e.noempty===!0&&(t=t.filter(Boolean)),e.nodupes===!0&&(t=[...new Set(t)]),t};Jn.create=(r,e={})=>r===""||r.length<3?[r]:e.expand!==!0?Jn.compile(r,e):Jn.expand(r,e);D3.exports=Jn});var Gd=w((htt,L3)=>{"use strict";var BBe=J("path"),Ko="\\\\/",R3=`[^${Ko}]`,Na="\\.",bBe="\\+",QBe="\\?",Yy="\\/",SBe="(?=.)",F3="[^/]",xx=`(?:${Yy}|$)`,N3=`(?:^|${Yy})`,Px=`${Na}{1,2}${xx}`,vBe=`(?!${Na})`,xBe=`(?!${N3}${Px})`,PBe=`(?!${Na}{0,1}${xx})`,DBe=`(?!${Px})`,kBe=`[^.${Yy}]`,RBe=`${F3}*?`,T3={DOT_LITERAL:Na,PLUS_LITERAL:bBe,QMARK_LITERAL:QBe,SLASH_LITERAL:Yy,ONE_CHAR:SBe,QMARK:F3,END_ANCHOR:xx,DOTS_SLASH:Px,NO_DOT:vBe,NO_DOTS:xBe,NO_DOT_SLASH:PBe,NO_DOTS_SLASH:DBe,QMARK_NO_DOT:kBe,STAR:RBe,START_ANCHOR:N3},FBe={...T3,SLASH_LITERAL:`[${Ko}]`,QMARK:R3,STAR:`${R3}*?`,DOTS_SLASH:`${Na}{1,2}(?:[${Ko}]|$)`,NO_DOT:`(?!${Na})`,NO_DOTS:`(?!(?:^|[${Ko}])${Na}{1,2}(?:[${Ko}]|$))`,NO_DOT_SLASH:`(?!${Na}{0,1}(?:[${Ko}]|$))`,NO_DOTS_SLASH:`(?!${Na}{1,2}(?:[${Ko}]|$))`,QMARK_NO_DOT:`[^.${Ko}]`,START_ANCHOR:`(?:^|[${Ko}])`,END_ANCHOR:`(?:[${Ko}]|$)`},NBe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};L3.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:NBe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:BBe.sep,extglobChars(r){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${r.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(r){return r===!0?FBe:T3}}});var Yd=w(wn=>{"use strict";var TBe=J("path"),LBe=process.platform==="win32",{REGEX_BACKSLASH:OBe,REGEX_REMOVE_BACKSLASH:MBe,REGEX_SPECIAL_CHARS:KBe,REGEX_SPECIAL_CHARS_GLOBAL:UBe}=Gd();wn.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);wn.hasRegexChars=r=>KBe.test(r);wn.isRegexChar=r=>r.length===1&&wn.hasRegexChars(r);wn.escapeRegex=r=>r.replace(UBe,"\\$1");wn.toPosixSlashes=r=>r.replace(OBe,"/");wn.removeBackslashes=r=>r.replace(MBe,e=>e==="\\"?"":e);wn.supportsLookbehinds=()=>{let r=process.version.slice(1).split(".").map(Number);return r.length===3&&r[0]>=9||r[0]===8&&r[1]>=10};wn.isWindows=r=>r&&typeof r.windows=="boolean"?r.windows:LBe===!0||TBe.sep==="\\";wn.escapeLast=(r,e,t)=>{let i=r.lastIndexOf(e,t);return i===-1?r:r[i-1]==="\\"?wn.escapeLast(r,e,i-1):`${r.slice(0,i)}\\${r.slice(i)}`};wn.removePrefix=(r,e={})=>{let t=r;return t.startsWith("./")&&(t=t.slice(2),e.prefix="./"),t};wn.wrapOutput=(r,e={},t={})=>{let i=t.contains?"":"^",n=t.contains?"":"$",s=`${i}(?:${r})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var j3=w((dtt,Y3)=>{"use strict";var O3=Yd(),{CHAR_ASTERISK:Dx,CHAR_AT:HBe,CHAR_BACKWARD_SLASH:jd,CHAR_COMMA:GBe,CHAR_DOT:kx,CHAR_EXCLAMATION_MARK:Rx,CHAR_FORWARD_SLASH:G3,CHAR_LEFT_CURLY_BRACE:Fx,CHAR_LEFT_PARENTHESES:Nx,CHAR_LEFT_SQUARE_BRACKET:YBe,CHAR_PLUS:jBe,CHAR_QUESTION_MARK:M3,CHAR_RIGHT_CURLY_BRACE:qBe,CHAR_RIGHT_PARENTHESES:K3,CHAR_RIGHT_SQUARE_BRACKET:JBe}=Gd(),U3=r=>r===G3||r===jd,H3=r=>{r.isPrefix!==!0&&(r.depth=r.isGlobstar?1/0:1)},WBe=(r,e)=>{let t=e||{},i=r.length-1,n=t.parts===!0||t.scanToEnd===!0,s=[],o=[],a=[],l=r,c=-1,u=0,g=0,f=!1,h=!1,p=!1,C=!1,y=!1,B=!1,v=!1,D=!1,T=!1,H=!1,j=0,$,V,W={value:"",depth:0,isGlob:!1},_=()=>c>=i,A=()=>l.charCodeAt(c+1),Ae=()=>($=V,l.charCodeAt(++c));for(;c0&&(re=l.slice(0,u),l=l.slice(u),g-=u),ge&&p===!0&&g>0?(ge=l.slice(0,g),O=l.slice(g)):p===!0?(ge="",O=l):ge=l,ge&&ge!==""&&ge!=="/"&&ge!==l&&U3(ge.charCodeAt(ge.length-1))&&(ge=ge.slice(0,-1)),t.unescape===!0&&(O&&(O=O3.removeBackslashes(O)),ge&&v===!0&&(ge=O3.removeBackslashes(ge)));let F={prefix:re,input:r,start:u,base:ge,glob:O,isBrace:f,isBracket:h,isGlob:p,isExtglob:C,isGlobstar:y,negated:D,negatedExtglob:T};if(t.tokens===!0&&(F.maxDepth=0,U3(V)||o.push(W),F.tokens=o),t.parts===!0||t.tokens===!0){let ue;for(let pe=0;pe{"use strict";var jy=Gd(),Wn=Yd(),{MAX_LENGTH:qy,POSIX_REGEX_SOURCE:zBe,REGEX_NON_SPECIAL_CHARS:VBe,REGEX_SPECIAL_CHARS_BACKREF:XBe,REPLACEMENTS:q3}=jy,ZBe=(r,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...r,e);r.sort();let t=`[${r.join("-")}]`;try{new RegExp(t)}catch{return r.map(n=>Wn.escapeRegex(n)).join("..")}return t},ff=(r,e)=>`Missing ${r}: "${e}" - use "\\\\${e}" to match literal characters`,Tx=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");r=q3[r]||r;let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:t.prepend||""},o=[s],a=t.capture?"":"?:",l=Wn.isWindows(e),c=jy.globChars(l),u=jy.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:C,NO_DOT:y,NO_DOT_SLASH:B,NO_DOTS_SLASH:v,QMARK:D,QMARK_NO_DOT:T,STAR:H,START_ANCHOR:j}=c,$=Y=>`(${a}(?:(?!${j}${Y.dot?C:g}).)*?)`,V=t.dot?"":y,W=t.dot?D:T,_=t.bash===!0?$(t):H;t.capture&&(_=`(${_})`),typeof t.noext=="boolean"&&(t.noextglob=t.noext);let A={input:r,index:-1,start:0,dot:t.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};r=Wn.removePrefix(r,A),n=r.length;let Ae=[],ge=[],re=[],O=s,F,ue=()=>A.index===n-1,pe=A.peek=(Y=1)=>r[A.index+Y],ke=A.advance=()=>r[++A.index]||"",Fe=()=>r.slice(A.index+1),Ne=(Y="",he=0)=>{A.consumed+=Y,A.index+=he},oe=Y=>{A.output+=Y.output!=null?Y.output:Y.value,Ne(Y.value)},le=()=>{let Y=1;for(;pe()==="!"&&(pe(2)!=="("||pe(3)==="?");)ke(),A.start++,Y++;return Y%2===0?!1:(A.negated=!0,A.start++,!0)},Be=Y=>{A[Y]++,re.push(Y)},fe=Y=>{A[Y]--,re.pop()},ae=Y=>{if(O.type==="globstar"){let he=A.braces>0&&(Y.type==="comma"||Y.type==="brace"),ie=Y.extglob===!0||Ae.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!he&&!ie&&(A.output=A.output.slice(0,-O.output.length),O.type="star",O.value="*",O.output=_,A.output+=O.output)}if(Ae.length&&Y.type!=="paren"&&(Ae[Ae.length-1].inner+=Y.value),(Y.value||Y.output)&&oe(Y),O&&O.type==="text"&&Y.type==="text"){O.value+=Y.value,O.output=(O.output||"")+Y.value;return}Y.prev=O,o.push(Y),O=Y},qe=(Y,he)=>{let ie={...u[he],conditions:1,inner:""};ie.prev=O,ie.parens=A.parens,ie.output=A.output;let de=(t.capture?"(":"")+ie.open;Be("parens"),ae({type:Y,value:he,output:A.output?"":p}),ae({type:"paren",extglob:!0,value:ke(),output:de}),Ae.push(ie)},ne=Y=>{let he=Y.close+(t.capture?")":""),ie;if(Y.type==="negate"){let de=_;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(de=$(t)),(de!==_||ue()||/^\)+$/.test(Fe()))&&(he=Y.close=`)$))${de}`),Y.inner.includes("*")&&(ie=Fe())&&/^\.[^\\/.]+$/.test(ie)){let _e=Tx(ie,{...e,fastpaths:!1}).output;he=Y.close=`)${_e})${de})`}Y.prev.type==="bos"&&(A.negatedExtglob=!0)}ae({type:"paren",extglob:!0,value:F,output:he}),fe("parens")};if(t.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(r)){let Y=!1,he=r.replace(XBe,(ie,de,_e,Pt,It,Or)=>Pt==="\\"?(Y=!0,ie):Pt==="?"?de?de+Pt+(It?D.repeat(It.length):""):Or===0?W+(It?D.repeat(It.length):""):D.repeat(_e.length):Pt==="."?g.repeat(_e.length):Pt==="*"?de?de+Pt+(It?_:""):_:de?ie:`\\${ie}`);return Y===!0&&(t.unescape===!0?he=he.replace(/\\/g,""):he=he.replace(/\\+/g,ie=>ie.length%2===0?"\\\\":ie?"\\":"")),he===r&&t.contains===!0?(A.output=r,A):(A.output=Wn.wrapOutput(he,A,e),A)}for(;!ue();){if(F=ke(),F==="\0")continue;if(F==="\\"){let ie=pe();if(ie==="/"&&t.bash!==!0||ie==="."||ie===";")continue;if(!ie){F+="\\",ae({type:"text",value:F});continue}let de=/^\\+/.exec(Fe()),_e=0;if(de&&de[0].length>2&&(_e=de[0].length,A.index+=_e,_e%2!==0&&(F+="\\")),t.unescape===!0?F=ke():F+=ke(),A.brackets===0){ae({type:"text",value:F});continue}}if(A.brackets>0&&(F!=="]"||O.value==="["||O.value==="[^")){if(t.posix!==!1&&F===":"){let ie=O.value.slice(1);if(ie.includes("[")&&(O.posix=!0,ie.includes(":"))){let de=O.value.lastIndexOf("["),_e=O.value.slice(0,de),Pt=O.value.slice(de+2),It=zBe[Pt];if(It){O.value=_e+It,A.backtrack=!0,ke(),!s.output&&o.indexOf(O)===1&&(s.output=p);continue}}}(F==="["&&pe()!==":"||F==="-"&&pe()==="]")&&(F=`\\${F}`),F==="]"&&(O.value==="["||O.value==="[^")&&(F=`\\${F}`),t.posix===!0&&F==="!"&&O.value==="["&&(F="^"),O.value+=F,oe({value:F});continue}if(A.quotes===1&&F!=='"'){F=Wn.escapeRegex(F),O.value+=F,oe({value:F});continue}if(F==='"'){A.quotes=A.quotes===1?0:1,t.keepQuotes===!0&&ae({type:"text",value:F});continue}if(F==="("){Be("parens"),ae({type:"paren",value:F});continue}if(F===")"){if(A.parens===0&&t.strictBrackets===!0)throw new SyntaxError(ff("opening","("));let ie=Ae[Ae.length-1];if(ie&&A.parens===ie.parens+1){ne(Ae.pop());continue}ae({type:"paren",value:F,output:A.parens?")":"\\)"}),fe("parens");continue}if(F==="["){if(t.nobracket===!0||!Fe().includes("]")){if(t.nobracket!==!0&&t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));F=`\\${F}`}else Be("brackets");ae({type:"bracket",value:F});continue}if(F==="]"){if(t.nobracket===!0||O&&O.type==="bracket"&&O.value.length===1){ae({type:"text",value:F,output:`\\${F}`});continue}if(A.brackets===0){if(t.strictBrackets===!0)throw new SyntaxError(ff("opening","["));ae({type:"text",value:F,output:`\\${F}`});continue}fe("brackets");let ie=O.value.slice(1);if(O.posix!==!0&&ie[0]==="^"&&!ie.includes("/")&&(F=`/${F}`),O.value+=F,oe({value:F}),t.literalBrackets===!1||Wn.hasRegexChars(ie))continue;let de=Wn.escapeRegex(O.value);if(A.output=A.output.slice(0,-O.value.length),t.literalBrackets===!0){A.output+=de,O.value=de;continue}O.value=`(${a}${de}|${O.value})`,A.output+=O.value;continue}if(F==="{"&&t.nobrace!==!0){Be("braces");let ie={type:"brace",value:F,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ge.push(ie),ae(ie);continue}if(F==="}"){let ie=ge[ge.length-1];if(t.nobrace===!0||!ie){ae({type:"text",value:F,output:F});continue}let de=")";if(ie.dots===!0){let _e=o.slice(),Pt=[];for(let It=_e.length-1;It>=0&&(o.pop(),_e[It].type!=="brace");It--)_e[It].type!=="dots"&&Pt.unshift(_e[It].value);de=ZBe(Pt,t),A.backtrack=!0}if(ie.comma!==!0&&ie.dots!==!0){let _e=A.output.slice(0,ie.outputIndex),Pt=A.tokens.slice(ie.tokensIndex);ie.value=ie.output="\\{",F=de="\\}",A.output=_e;for(let It of Pt)A.output+=It.output||It.value}ae({type:"brace",value:F,output:de}),fe("braces"),ge.pop();continue}if(F==="|"){Ae.length>0&&Ae[Ae.length-1].conditions++,ae({type:"text",value:F});continue}if(F===","){let ie=F,de=ge[ge.length-1];de&&re[re.length-1]==="braces"&&(de.comma=!0,ie="|"),ae({type:"comma",value:F,output:ie});continue}if(F==="/"){if(O.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),O=s;continue}ae({type:"slash",value:F,output:h});continue}if(F==="."){if(A.braces>0&&O.type==="dot"){O.value==="."&&(O.output=g);let ie=ge[ge.length-1];O.type="dots",O.output+=F,O.value+=F,ie.dots=!0;continue}if(A.braces+A.parens===0&&O.type!=="bos"&&O.type!=="slash"){ae({type:"text",value:F,output:g});continue}ae({type:"dot",value:F,output:g});continue}if(F==="?"){if(!(O&&O.value==="(")&&t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("qmark",F);continue}if(O&&O.type==="paren"){let de=pe(),_e=F;if(de==="<"&&!Wn.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(O.value==="("&&!/[!=<:]/.test(de)||de==="<"&&!/<([!=]|\w+>)/.test(Fe()))&&(_e=`\\${F}`),ae({type:"text",value:F,output:_e});continue}if(t.dot!==!0&&(O.type==="slash"||O.type==="bos")){ae({type:"qmark",value:F,output:T});continue}ae({type:"qmark",value:F,output:D});continue}if(F==="!"){if(t.noextglob!==!0&&pe()==="("&&(pe(2)!=="?"||!/[!=<:]/.test(pe(3)))){qe("negate",F);continue}if(t.nonegate!==!0&&A.index===0){le();continue}}if(F==="+"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){qe("plus",F);continue}if(O&&O.value==="("||t.regex===!1){ae({type:"plus",value:F,output:f});continue}if(O&&(O.type==="bracket"||O.type==="paren"||O.type==="brace")||A.parens>0){ae({type:"plus",value:F});continue}ae({type:"plus",value:f});continue}if(F==="@"){if(t.noextglob!==!0&&pe()==="("&&pe(2)!=="?"){ae({type:"at",extglob:!0,value:F,output:""});continue}ae({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let ie=VBe.exec(Fe());ie&&(F+=ie[0],A.index+=ie[0].length),ae({type:"text",value:F});continue}if(O&&(O.type==="globstar"||O.star===!0)){O.type="star",O.star=!0,O.value+=F,O.output=_,A.backtrack=!0,A.globstar=!0,Ne(F);continue}let Y=Fe();if(t.noextglob!==!0&&/^\([^?]/.test(Y)){qe("star",F);continue}if(O.type==="star"){if(t.noglobstar===!0){Ne(F);continue}let ie=O.prev,de=ie.prev,_e=ie.type==="slash"||ie.type==="bos",Pt=de&&(de.type==="star"||de.type==="globstar");if(t.bash===!0&&(!_e||Y[0]&&Y[0]!=="/")){ae({type:"star",value:F,output:""});continue}let It=A.braces>0&&(ie.type==="comma"||ie.type==="brace"),Or=Ae.length&&(ie.type==="pipe"||ie.type==="paren");if(!_e&&ie.type!=="paren"&&!It&&!Or){ae({type:"star",value:F,output:""});continue}for(;Y.slice(0,3)==="/**";){let ii=r[A.index+4];if(ii&&ii!=="/")break;Y=Y.slice(3),Ne("/**",3)}if(ie.type==="bos"&&ue()){O.type="globstar",O.value+=F,O.output=$(t),A.output=O.output,A.globstar=!0,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&!Pt&&ue()){A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=$(t)+(t.strictSlashes?")":"|$)"),O.value+=F,A.globstar=!0,A.output+=ie.output+O.output,Ne(F);continue}if(ie.type==="slash"&&ie.prev.type!=="bos"&&Y[0]==="/"){let ii=Y[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ie.output+O.output).length),ie.output=`(?:${ie.output}`,O.type="globstar",O.output=`${$(t)}${h}|${h}${ii})`,O.value+=F,A.output+=ie.output+O.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}if(ie.type==="bos"&&Y[0]==="/"){O.type="globstar",O.value+=F,O.output=`(?:^|${h}|${$(t)}${h})`,A.output=O.output,A.globstar=!0,Ne(F+ke()),ae({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-O.output.length),O.type="globstar",O.output=$(t),O.value+=F,A.output+=O.output,A.globstar=!0,Ne(F);continue}let he={type:"star",value:F,output:_};if(t.bash===!0){he.output=".*?",(O.type==="bos"||O.type==="slash")&&(he.output=V+he.output),ae(he);continue}if(O&&(O.type==="bracket"||O.type==="paren")&&t.regex===!0){he.output=F,ae(he);continue}(A.index===A.start||O.type==="slash"||O.type==="dot")&&(O.type==="dot"?(A.output+=B,O.output+=B):t.dot===!0?(A.output+=v,O.output+=v):(A.output+=V,O.output+=V),pe()!=="*"&&(A.output+=p,O.output+=p)),ae(he)}for(;A.brackets>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","]"));A.output=Wn.escapeLast(A.output,"["),fe("brackets")}for(;A.parens>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing",")"));A.output=Wn.escapeLast(A.output,"("),fe("parens")}for(;A.braces>0;){if(t.strictBrackets===!0)throw new SyntaxError(ff("closing","}"));A.output=Wn.escapeLast(A.output,"{"),fe("braces")}if(t.strictSlashes!==!0&&(O.type==="star"||O.type==="bracket")&&ae({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let Y of A.tokens)A.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(A.output+=Y.suffix)}return A};Tx.fastpaths=(r,e)=>{let t={...e},i=typeof t.maxLength=="number"?Math.min(qy,t.maxLength):qy,n=r.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);r=q3[r]||r;let s=Wn.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=jy.globChars(s),C=t.dot?g:u,y=t.dot?f:u,B=t.capture?"":"?:",v={negated:!1,prefix:""},D=t.bash===!0?".*?":h;t.capture&&(D=`(${D})`);let T=V=>V.noglobstar===!0?D:`(${B}(?:(?!${p}${V.dot?c:o}).)*?)`,H=V=>{switch(V){case"*":return`${C}${l}${D}`;case".*":return`${o}${l}${D}`;case"*.*":return`${C}${D}${o}${l}${D}`;case"*/*":return`${C}${D}${a}${l}${y}${D}`;case"**":return C+T(t);case"**/*":return`(?:${C}${T(t)}${a})?${y}${l}${D}`;case"**/*.*":return`(?:${C}${T(t)}${a})?${y}${D}${o}${l}${D}`;case"**/.*":return`(?:${C}${T(t)}${a})?${o}${l}${D}`;default:{let W=/^(.*?)\.(\w+)$/.exec(V);if(!W)return;let _=H(W[1]);return _?_+o+W[2]:void 0}}},j=Wn.removePrefix(r,v),$=H(j);return $&&t.strictSlashes!==!0&&($+=`${a}?`),$};J3.exports=Tx});var V3=w((mtt,z3)=>{"use strict";var _Be=J("path"),$Be=j3(),Lx=W3(),Ox=Yd(),e0e=Gd(),t0e=r=>r&&typeof r=="object"&&!Array.isArray(r),Gr=(r,e,t=!1)=>{if(Array.isArray(r)){let u=r.map(f=>Gr(f,e,t));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=t0e(r)&&r.tokens&&r.input;if(r===""||typeof r!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=Ox.isWindows(e),o=i?Gr.compileRe(r,e):Gr.makeRe(r,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};l=Gr(n.ignore,u,t)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=Gr.test(u,o,e,{glob:r,posix:s}),C={glob:r,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(C),f===!1?(C.isMatch=!1,g?C:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(C),C.isMatch=!1,g?C:!1):(typeof n.onMatch=="function"&&n.onMatch(C),g?C:!0)};return t&&(c.state=a),c};Gr.test=(r,e,t,{glob:i,posix:n}={})=>{if(typeof r!="string")throw new TypeError("Expected input to be a string");if(r==="")return{isMatch:!1,output:""};let s=t||{},o=s.format||(n?Ox.toPosixSlashes:null),a=r===i,l=a&&o?o(r):r;return a===!1&&(l=o?o(r):r,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Gr.matchBase(r,e,t,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};Gr.matchBase=(r,e,t,i=Ox.isWindows(t))=>(e instanceof RegExp?e:Gr.makeRe(e,t)).test(_Be.basename(r));Gr.isMatch=(r,e,t)=>Gr(e,t)(r);Gr.parse=(r,e)=>Array.isArray(r)?r.map(t=>Gr.parse(t,e)):Lx(r,{...e,fastpaths:!1});Gr.scan=(r,e)=>$Be(r,e);Gr.compileRe=(r,e,t=!1,i=!1)=>{if(t===!0)return r.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${r.output})${o}`;r&&r.negated===!0&&(a=`^(?!${a}).*$`);let l=Gr.toRegex(a,e);return i===!0&&(l.state=r),l};Gr.makeRe=(r,e={},t=!1,i=!1)=>{if(!r||typeof r!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(r[0]==="."||r[0]==="*")&&(n.output=Lx.fastpaths(r,e)),n.output||(n=Lx(r,e)),Gr.compileRe(n,e,t,i)};Gr.toRegex=(r,e)=>{try{let t=e||{};return new RegExp(r,t.flags||(t.nocase?"i":""))}catch(t){if(e&&e.debug===!0)throw t;return/$^/}};Gr.constants=e0e;z3.exports=Gr});var Mx=w((Ett,X3)=>{"use strict";X3.exports=V3()});var Bn=w((Itt,eW)=>{"use strict";var _3=J("util"),$3=k3(),Uo=Mx(),Kx=Yd(),Z3=r=>r===""||r==="./",Sr=(r,e,t)=>{e=[].concat(e),r=[].concat(r);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),t&&t.onResult&&t.onResult(u)};for(let u=0;u!i.has(u));if(t&&c.length===0){if(t.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(t.nonull===!0||t.nullglob===!0)return t.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Sr.match=Sr;Sr.matcher=(r,e)=>Uo(r,e);Sr.isMatch=(r,e,t)=>Uo(e,t)(r);Sr.any=Sr.isMatch;Sr.not=(r,e,t={})=>{e=[].concat(e).map(String);let i=new Set,n=[],o=Sr(r,e,{...t,onResult:a=>{t.onResult&&t.onResult(a),n.push(a.output)}});for(let a of n)o.includes(a)||i.add(a);return[...i]};Sr.contains=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_3.inspect(r)}"`);if(Array.isArray(e))return e.some(i=>Sr.contains(r,i,t));if(typeof e=="string"){if(Z3(r)||Z3(e))return!1;if(r.includes(e)||r.startsWith("./")&&r.slice(2).includes(e))return!0}return Sr.isMatch(r,e,{...t,contains:!0})};Sr.matchKeys=(r,e,t)=>{if(!Kx.isObject(r))throw new TypeError("Expected the first argument to be an object");let i=Sr(Object.keys(r),e,t),n={};for(let s of i)n[s]=r[s];return n};Sr.some=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(i.some(o=>s(o)))return!0}return!1};Sr.every=(r,e,t)=>{let i=[].concat(r);for(let n of[].concat(e)){let s=Uo(String(n),t);if(!i.every(o=>s(o)))return!1}return!0};Sr.all=(r,e,t)=>{if(typeof r!="string")throw new TypeError(`Expected a string: "${_3.inspect(r)}"`);return[].concat(e).every(i=>Uo(i,t)(r))};Sr.capture=(r,e,t)=>{let i=Kx.isWindows(t),s=Uo.makeRe(String(r),{...t,capture:!0}).exec(i?Kx.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Sr.makeRe=(...r)=>Uo.makeRe(...r);Sr.scan=(...r)=>Uo.scan(...r);Sr.parse=(r,e)=>{let t=[];for(let i of[].concat(r||[]))for(let n of $3(String(i),e))t.push(Uo.parse(n,e));return t};Sr.braces=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(r)?[r]:$3(r,e)};Sr.braceExpand=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a string");return Sr.braces(r,{...e,expand:!0})};eW.exports=Sr});var rW=w((ytt,tW)=>{"use strict";tW.exports=({onlyFirst:r=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,r?void 0:"g")}});var nW=w((wtt,iW)=>{"use strict";var r0e=rW();iW.exports=r=>typeof r=="string"?r.replace(r0e(),""):r});var mW=w((Ftt,CW)=>{"use strict";CW.exports=(...r)=>[...new Set([].concat(...r))]});var sP=w((Ntt,yW)=>{"use strict";var p0e=J("stream"),EW=p0e.PassThrough,d0e=Array.prototype.slice;yW.exports=C0e;function C0e(){let r=[],e=!1,t=d0e.call(arguments),i=t[t.length-1];i&&!Array.isArray(i)&&i.pipe==null?t.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=EW(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});function m0e(r){return r.reduce((e,t)=>[].concat(e,t),[])}Zy.flatten=m0e;function E0e(r,e){let t=[[]],i=0;for(let n of r)e(n)?(i++,t[i]=[]):t[i].push(n);return t}Zy.splitWhen=E0e});var BW=w(oP=>{"use strict";Object.defineProperty(oP,"__esModule",{value:!0});function I0e(r){return r.code==="ENOENT"}oP.isEnoentCodeError=I0e});var bW=w(AP=>{"use strict";Object.defineProperty(AP,"__esModule",{value:!0});var aP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function y0e(r,e){return new aP(r,e)}AP.createDirentFromStats=y0e});var QW=w(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});var w0e=J("path"),B0e=2,b0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Q0e(r){return r.replace(/\\/g,"/")}yf.unixify=Q0e;function S0e(r,e){return w0e.resolve(r,e)}yf.makeAbsolute=S0e;function v0e(r){return r.replace(b0e,"\\$2")}yf.escape=v0e;function x0e(r){if(r.charAt(0)==="."){let e=r.charAt(1);if(e==="/"||e==="\\")return r.slice(B0e)}return r}yf.removeLeadingDotSegment=x0e});var vW=w((Ktt,SW)=>{SW.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}});var DW=w((Utt,PW)=>{var P0e=vW(),xW={"{":"}","(":")","[":"]"},D0e=function(r){if(r[0]==="!")return!0;for(var e=0,t=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=r.indexOf("\\",e),o===-1||o>i)))||n!==-1&&r[e]==="{"&&r[e+1]!=="}"&&(n=r.indexOf("}",e),n>e&&(o=r.indexOf("\\",e),o===-1||o>n))||s!==-1&&r[e]==="("&&r[e+1]==="?"&&/[:!=]/.test(r[e+2])&&r[e+3]!==")"&&(s=r.indexOf(")",e),s>e&&(o=r.indexOf("\\",e),o===-1||o>s))||t!==-1&&r[e]==="("&&r[e+1]!=="|"&&(tt&&(o=r.indexOf("\\",t),o===-1||o>s))))return!0;if(r[e]==="\\"){var a=r[e+1];e+=2;var l=xW[a];if(l){var c=r.indexOf(l,e);c!==-1&&(e=c+1)}if(r[e]==="!")return!0}else e++}return!1},k0e=function(r){if(r[0]==="!")return!0;for(var e=0;e{"use strict";var R0e=DW(),F0e=J("path").posix.dirname,N0e=J("os").platform()==="win32",lP="/",T0e=/\\/g,L0e=/[\{\[].*[\}\]]$/,O0e=/(^|[^\\])([\{\[]|\([^\)]+$)/,M0e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;kW.exports=function(e,t){var i=Object.assign({flipBackslashes:!0},t);i.flipBackslashes&&N0e&&e.indexOf(lP)<0&&(e=e.replace(T0e,lP)),L0e.test(e)&&(e+=lP),e+="a";do e=F0e(e);while(R0e(e)||O0e.test(e));return e.replace(M0e,"$1")}});var HW=w($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});var K0e=J("path"),U0e=RW(),FW=Bn(),H0e=Mx(),NW="**",G0e="\\",Y0e=/[*?]|^!/,j0e=/\[.*]/,q0e=/(?:^|[^!*+?@])\(.*\|.*\)/,J0e=/[!*+?@]\(.*\)/,W0e=/{.*(?:,|\.\.).*}/;function TW(r,e={}){return!LW(r,e)}$r.isStaticPattern=TW;function LW(r,e={}){return!!(e.caseSensitiveMatch===!1||r.includes(G0e)||Y0e.test(r)||j0e.test(r)||q0e.test(r)||e.extglob!==!1&&J0e.test(r)||e.braceExpansion!==!1&&W0e.test(r))}$r.isDynamicPattern=LW;function z0e(r){return _y(r)?r.slice(1):r}$r.convertToPositivePattern=z0e;function V0e(r){return"!"+r}$r.convertToNegativePattern=V0e;function _y(r){return r.startsWith("!")&&r[1]!=="("}$r.isNegativePattern=_y;function OW(r){return!_y(r)}$r.isPositivePattern=OW;function X0e(r){return r.filter(_y)}$r.getNegativePatterns=X0e;function Z0e(r){return r.filter(OW)}$r.getPositivePatterns=Z0e;function _0e(r){return U0e(r,{flipBackslashes:!1})}$r.getBaseDirectory=_0e;function $0e(r){return r.includes(NW)}$r.hasGlobStar=$0e;function MW(r){return r.endsWith("/"+NW)}$r.endsWithSlashGlobStar=MW;function ebe(r){let e=K0e.basename(r);return MW(r)||TW(e)}$r.isAffectDepthOfReadingPattern=ebe;function tbe(r){return r.reduce((e,t)=>e.concat(KW(t)),[])}$r.expandPatternsWithBraceExpansion=tbe;function KW(r){return FW.braces(r,{expand:!0,nodupes:!0})}$r.expandBraceExpansion=KW;function rbe(r,e){let t=H0e.scan(r,Object.assign(Object.assign({},e),{parts:!0}));return t.parts.length===0?[r]:t.parts}$r.getPatternParts=rbe;function UW(r,e){return FW.makeRe(r,e)}$r.makeRe=UW;function ibe(r,e){return r.map(t=>UW(t,e))}$r.convertPatternsToRe=ibe;function nbe(r,e){return e.some(t=>t.test(r))}$r.matchAny=nbe});var YW=w(cP=>{"use strict";Object.defineProperty(cP,"__esModule",{value:!0});var sbe=sP();function obe(r){let e=sbe(r);return r.forEach(t=>{t.once("error",i=>e.emit("error",i))}),e.once("close",()=>GW(r)),e.once("end",()=>GW(r)),e}cP.merge=obe;function GW(r){r.forEach(e=>e.emit("close"))}});var jW=w($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});function abe(r){return typeof r=="string"}$y.isString=abe;function Abe(r){return r===""}$y.isEmpty=Abe});var Oa=w(La=>{"use strict";Object.defineProperty(La,"__esModule",{value:!0});var lbe=wW();La.array=lbe;var cbe=BW();La.errno=cbe;var ube=bW();La.fs=ube;var gbe=QW();La.path=gbe;var fbe=HW();La.pattern=fbe;var hbe=YW();La.stream=hbe;var pbe=jW();La.string=pbe});var VW=w(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var bc=Oa();function dbe(r,e){let t=qW(r),i=JW(r,e.ignore),n=t.filter(l=>bc.pattern.isStaticPattern(l,e)),s=t.filter(l=>bc.pattern.isDynamicPattern(l,e)),o=uP(n,i,!1),a=uP(s,i,!0);return o.concat(a)}Ma.generate=dbe;function uP(r,e,t){let i=WW(r);return"."in i?[gP(".",r,e,t)]:zW(i,e,t)}Ma.convertPatternsToTasks=uP;function qW(r){return bc.pattern.getPositivePatterns(r)}Ma.getPositivePatterns=qW;function JW(r,e){return bc.pattern.getNegativePatterns(r).concat(e).map(bc.pattern.convertToPositivePattern)}Ma.getNegativePatternsAsPositive=JW;function WW(r){let e={};return r.reduce((t,i)=>{let n=bc.pattern.getBaseDirectory(i);return n in t?t[n].push(i):t[n]=[i],t},e)}Ma.groupPatternsByBaseDirectory=WW;function zW(r,e,t){return Object.keys(r).map(i=>gP(i,r[i],e,t))}Ma.convertPatternGroupsToTasks=zW;function gP(r,e,t,i){return{dynamic:i,positive:e,negative:t,base:r,patterns:[].concat(e,t.map(bc.pattern.convertToNegativePattern))}}Ma.convertPatternGroupToTask=gP});var ZW=w(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.read=void 0;function Cbe(r,e,t){e.fs.lstat(r,(i,n)=>{if(i!==null){XW(t,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){fP(t,n);return}e.fs.stat(r,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){XW(t,s);return}fP(t,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),fP(t,o)})})}ew.read=Cbe;function XW(r,e){r(e)}function fP(r,e){r(null,e)}});var _W=w(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.read=void 0;function mbe(r,e){let t=e.fs.lstatSync(r);if(!t.isSymbolicLink()||!e.followSymbolicLink)return t;try{let i=e.fs.statSync(r);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return t;throw i}}tw.read=mbe});var $W=w(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.createFileSystemAdapter=UA.FILE_SYSTEM_ADAPTER=void 0;var rw=J("fs");UA.FILE_SYSTEM_ADAPTER={lstat:rw.lstat,stat:rw.stat,lstatSync:rw.lstatSync,statSync:rw.statSync};function Ebe(r){return r===void 0?UA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},UA.FILE_SYSTEM_ADAPTER),r)}UA.createFileSystemAdapter=Ebe});var e4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var Ibe=$W(),hP=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Ibe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return e!=null?e:t}};pP.default=hP});var Qc=w(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.statSync=HA.stat=HA.Settings=void 0;var t4=ZW(),ybe=_W(),dP=e4();HA.Settings=dP.default;function wbe(r,e,t){if(typeof e=="function"){t4.read(r,CP(),e);return}t4.read(r,CP(e),t)}HA.stat=wbe;function Bbe(r,e){let t=CP(e);return ybe.read(r,t)}HA.statSync=Bbe;function CP(r={}){return r instanceof dP.default?r:new dP.default(r)}});var i4=w((_tt,r4)=>{r4.exports=bbe;function bbe(r,e){var t,i,n,s=!0;Array.isArray(r)?(t=[],i=r.length):(n=Object.keys(r),t={},i=n.length);function o(l){function c(){e&&e(l,t),e=null}s?process.nextTick(c):c()}function a(l,c,u){t[l]=u,(--i===0||c)&&o(c)}i?n?n.forEach(function(l){r[l](function(c,u){a(l,c,u)})}):r.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var mP=w(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var iw=process.versions.node.split(".");if(iw[0]===void 0||iw[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var n4=Number.parseInt(iw[0],10),Qbe=Number.parseInt(iw[1],10),s4=10,Sbe=10,vbe=n4>s4,xbe=n4===s4&&Qbe>=Sbe;nw.IS_SUPPORT_READDIR_WITH_FILE_TYPES=vbe||xbe});var o4=w(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.createDirentFromStats=void 0;var EP=class{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}};function Pbe(r,e){return new EP(r,e)}sw.createDirentFromStats=Pbe});var IP=w(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.fs=void 0;var Dbe=o4();ow.fs=Dbe});var yP=w(aw=>{"use strict";Object.defineProperty(aw,"__esModule",{value:!0});aw.joinPathSegments=void 0;function kbe(r,e,t){return r.endsWith(t)?r+e:r+t+e}aw.joinPathSegments=kbe});var g4=w(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.readdir=GA.readdirWithFileTypes=GA.read=void 0;var Rbe=Qc(),a4=i4(),Fbe=mP(),A4=IP(),l4=yP();function Nbe(r,e,t){if(!e.stats&&Fbe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){c4(r,e,t);return}u4(r,e,t)}GA.read=Nbe;function c4(r,e,t){e.fs.readdir(r,{withFileTypes:!0},(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:l4.joinPathSegments(r,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){wP(t,s);return}let o=s.map(a=>Tbe(a,e));a4(o,(a,l)=>{if(a!==null){Aw(t,a);return}wP(t,l)})})}GA.readdirWithFileTypes=c4;function Tbe(r,e){return t=>{if(!r.dirent.isSymbolicLink()){t(null,r);return}e.fs.stat(r.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){t(i);return}t(null,r);return}r.dirent=A4.fs.createDirentFromStats(r.name,n),t(null,r)})}}function u4(r,e,t){e.fs.readdir(r,(i,n)=>{if(i!==null){Aw(t,i);return}let s=n.map(o=>{let a=l4.joinPathSegments(r,o,e.pathSegmentSeparator);return l=>{Rbe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:A4.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});a4(s,(o,a)=>{if(o!==null){Aw(t,o);return}wP(t,a)})})}GA.readdir=u4;function Aw(r,e){r(e)}function wP(r,e){r(null,e)}});var C4=w(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.readdir=YA.readdirWithFileTypes=YA.read=void 0;var Lbe=Qc(),Obe=mP(),f4=IP(),h4=yP();function Mbe(r,e){return!e.stats&&Obe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?p4(r,e):d4(r,e)}YA.read=Mbe;function p4(r,e){return e.fs.readdirSync(r,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:h4.joinPathSegments(r,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=f4.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}YA.readdirWithFileTypes=p4;function d4(r,e){return e.fs.readdirSync(r).map(i=>{let n=h4.joinPathSegments(r,i,e.pathSegmentSeparator),s=Lbe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:f4.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}YA.readdir=d4});var m4=w(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.createFileSystemAdapter=jA.FILE_SYSTEM_ADAPTER=void 0;var wf=J("fs");jA.FILE_SYSTEM_ADAPTER={lstat:wf.lstat,stat:wf.stat,lstatSync:wf.lstatSync,statSync:wf.statSync,readdir:wf.readdir,readdirSync:wf.readdirSync};function Kbe(r){return r===void 0?jA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},jA.FILE_SYSTEM_ADAPTER),r)}jA.createFileSystemAdapter=Kbe});var E4=w(bP=>{"use strict";Object.defineProperty(bP,"__esModule",{value:!0});var Ube=J("path"),Hbe=Qc(),Gbe=m4(),BP=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=Gbe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,Ube.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new Hbe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};bP.default=BP});var lw=w(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.Settings=qA.scandirSync=qA.scandir=void 0;var I4=g4(),Ybe=C4(),QP=E4();qA.Settings=QP.default;function jbe(r,e,t){if(typeof e=="function"){I4.read(r,SP(),e);return}I4.read(r,SP(e),t)}qA.scandir=jbe;function qbe(r,e){let t=SP(e);return Ybe.read(r,t)}qA.scandirSync=qbe;function SP(r={}){return r instanceof QP.default?r:new QP.default(r)}});var w4=w((Art,y4)=>{"use strict";function Jbe(r){var e=new r,t=e;function i(){var s=e;return s.next?e=s.next:(e=new r,t=e),s.next=null,s}function n(s){t.next=s,t=s}return{get:i,release:n}}y4.exports=Jbe});var b4=w((lrt,vP)=>{"use strict";var Wbe=w4();function B4(r,e,t){if(typeof r=="function"&&(t=e,e=r,r=null),t<1)throw new Error("fastqueue concurrency must be greater than 1");var i=Wbe(zbe),n=null,s=null,o=0,a=null,l={push:C,drain:Is,saturated:Is,pause:u,paused:!1,concurrency:t,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Is,kill:v,killAndDrain:D,error:T};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var H=n,j=0;H;)H=H.next,j++;return j}function f(){for(var H=n,j=[];H;)j.push(H.value),H=H.next;return j}function h(){if(!!l.paused){l.paused=!1;for(var H=0;H{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.joinPathSegments=Yo.replacePathSegmentSeparator=Yo.isAppliedFilter=Yo.isFatalError=void 0;function Xbe(r,e){return r.errorFilter===null?!0:!r.errorFilter(e)}Yo.isFatalError=Xbe;function Zbe(r,e){return r===null||r(e)}Yo.isAppliedFilter=Zbe;function _be(r,e){return r.split(/[/\\]/).join(e)}Yo.replacePathSegmentSeparator=_be;function $be(r,e,t){return r===""?e:r.endsWith(t)?r+e:r+t+e}Yo.joinPathSegments=$be});var DP=w(PP=>{"use strict";Object.defineProperty(PP,"__esModule",{value:!0});var eQe=cw(),xP=class{constructor(e,t){this._root=e,this._settings=t,this._root=eQe.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}};PP.default=xP});var FP=w(RP=>{"use strict";Object.defineProperty(RP,"__esModule",{value:!0});var tQe=J("events"),rQe=lw(),iQe=b4(),uw=cw(),nQe=DP(),kP=class extends nQe.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=rQe.scandir,this._emitter=new tQe.EventEmitter,this._queue=iQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){let i={directory:e,base:t};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){t(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);t(null,void 0)})}_handleError(e){this._isDestroyed||!uw.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;let i=e.path;t!==void 0&&(e.path=uw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),uw.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&uw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};RP.default=kP});var Q4=w(TP=>{"use strict";Object.defineProperty(TP,"__esModule",{value:!0});var sQe=FP(),NP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new sQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{oQe(e,t)}),this._reader.onEntry(t=>{this._storage.add(t)}),this._reader.onEnd(()=>{aQe(e,[...this._storage])}),this._reader.read()}};TP.default=NP;function oQe(r,e){r(e)}function aQe(r,e){r(null,e)}});var S4=w(OP=>{"use strict";Object.defineProperty(OP,"__esModule",{value:!0});var AQe=J("stream"),lQe=FP(),LP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new lQe.default(this._root,this._settings),this._stream=new AQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};OP.default=LP});var v4=w(KP=>{"use strict";Object.defineProperty(KP,"__esModule",{value:!0});var cQe=lw(),gw=cw(),uQe=DP(),MP=class extends uQe.default{constructor(){super(...arguments),this._scandir=cQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,t)}catch(i){this._handleError(i)}}_handleError(e){if(!!gw.isFatalError(this._settings,e))throw e}_handleEntry(e,t){let i=e.path;t!==void 0&&(e.path=gw.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),gw.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&gw.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};KP.default=MP});var x4=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var gQe=v4(),UP=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new gQe.default(this._root,this._settings)}read(){return this._reader.read()}};HP.default=UP});var P4=w(YP=>{"use strict";Object.defineProperty(YP,"__esModule",{value:!0});var fQe=J("path"),hQe=lw(),GP=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,fQe.sep),this.fsScandirSettings=new hQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return e!=null?e:t}};YP.default=GP});var qP=w(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Settings=jo.walkStream=jo.walkSync=jo.walk=void 0;var D4=Q4(),pQe=S4(),dQe=x4(),jP=P4();jo.Settings=jP.default;function CQe(r,e,t){if(typeof e=="function"){new D4.default(r,fw()).read(e);return}new D4.default(r,fw(e)).read(t)}jo.walk=CQe;function mQe(r,e){let t=fw(e);return new dQe.default(r,t).read()}jo.walkSync=mQe;function EQe(r,e){let t=fw(e);return new pQe.default(r,t).read()}jo.walkStream=EQe;function fw(r={}){return r instanceof jP.default?r:new jP.default(r)}});var zP=w(WP=>{"use strict";Object.defineProperty(WP,"__esModule",{value:!0});var IQe=J("path"),yQe=Qc(),k4=Oa(),JP=class{constructor(e){this._settings=e,this._fsStatSettings=new yQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return IQe.resolve(this._settings.cwd,e)}_makeEntry(e,t){let i={name:t,path:t,dirent:k4.fs.createDirentFromStats(t,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!k4.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};WP.default=JP});var ZP=w(XP=>{"use strict";Object.defineProperty(XP,"__esModule",{value:!0});var wQe=J("stream"),BQe=Qc(),bQe=qP(),QQe=zP(),VP=class extends QQe.default{constructor(){super(...arguments),this._walkStream=bQe.walkStream,this._stat=BQe.stat}dynamic(e,t){return this._walkStream(e,t)}static(e,t){let i=e.map(this._getFullEntryPath,this),n=new wQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],t).then(l=>{l!==null&&t.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,t)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((t,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?t(s):i(n))})}};XP.default=VP});var R4=w($P=>{"use strict";Object.defineProperty($P,"__esModule",{value:!0});var Bf=Oa(),_P=class{constructor(e,t,i){this._patterns=e,this._settings=t,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Bf.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let t of e){let i=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:t,segments:i,sections:n})}}_getPatternSegments(e){return Bf.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Bf.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Bf.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Bf.array.splitWhen(e,t=>t.dynamic&&Bf.pattern.hasGlobStar(t.pattern))}};$P.default=_P});var F4=w(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});var SQe=R4(),eD=class extends SQe.default{match(e){let t=e.split("/"),i=t.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||t.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};tD.default=eD});var N4=w(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var hw=Oa(),vQe=F4(),rD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,i){let n=this._getMatcher(t),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new vQe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let t=e.filter(hw.pattern.isAffectDepthOfReadingPattern);return hw.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,i,n){let s=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(t))return!1;let o=hw.path.removeLeadingDotSegment(t.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){let i=e.split("/").length;return t.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!hw.pattern.matchAny(e,t)}};iD.default=rD});var T4=w(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var Zd=Oa(),nD=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){let i=Zd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=Zd.pattern.convertPatternsToRe(t,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,t,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,t)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;let i=Zd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,t)}_isMatchToPatterns(e,t){let i=Zd.path.removeLeadingDotSegment(e);return Zd.pattern.matchAny(i,t)}};sD.default=nD});var L4=w(aD=>{"use strict";Object.defineProperty(aD,"__esModule",{value:!0});var xQe=Oa(),oD=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return xQe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};aD.default=oD});var M4=w(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var O4=Oa(),AD=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=O4.path.makeAbsolute(this._settings.cwd,t),t=O4.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}};lD.default=AD});var pw=w(uD=>{"use strict";Object.defineProperty(uD,"__esModule",{value:!0});var PQe=J("path"),DQe=N4(),kQe=T4(),RQe=L4(),FQe=M4(),cD=class{constructor(e){this._settings=e,this.errorFilter=new RQe.default(this._settings),this.entryFilter=new kQe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new DQe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new FQe.default(this._settings)}_getRootDirectory(e){return PQe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let t=e.base==="."?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};uD.default=cD});var K4=w(fD=>{"use strict";Object.defineProperty(fD,"__esModule",{value:!0});var NQe=ZP(),TQe=pw(),gD=class extends TQe.default{constructor(){super(...arguments),this._reader=new NQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(t,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};fD.default=gD});var U4=w(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});var LQe=J("stream"),OQe=ZP(),MQe=pw(),hD=class extends MQe.default{constructor(){super(...arguments),this._reader=new OQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(t,e,i),s=new LQe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};pD.default=hD});var H4=w(CD=>{"use strict";Object.defineProperty(CD,"__esModule",{value:!0});var KQe=Qc(),UQe=qP(),HQe=zP(),dD=class extends HQe.default{constructor(){super(...arguments),this._walkSync=UQe.walkSync,this._statSync=KQe.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,t);o===null||!t.entryFilter(o)||i.push(o)}return i}_getEntry(e,t,i){try{let n=this._getStat(e);return this._makeEntry(n,t)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};CD.default=dD});var G4=w(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});var GQe=H4(),YQe=pw(),mD=class extends YQe.default{constructor(){super(...arguments),this._reader=new GQe.default(this._settings)}read(e){let t=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(t,e,i).map(i.transform)}api(e,t,i){return t.dynamic?this._reader.dynamic(e,i):this._reader.static(t.patterns,i)}};ED.default=mD});var Y4=w(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});var bf=J("fs"),jQe=J("os"),qQe=jQe.cpus().length;_d.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:bf.lstat,lstatSync:bf.lstatSync,stat:bf.stat,statSync:bf.statSync,readdir:bf.readdir,readdirSync:bf.readdirSync};var ID=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,qQe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return e===void 0?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},_d.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};_d.default=ID});var dw=w((Frt,q4)=>{"use strict";var j4=VW(),JQe=K4(),WQe=U4(),zQe=G4(),yD=Y4(),Sc=Oa();async function wD(r,e){Qf(r);let t=BD(r,JQe.default,e),i=await Promise.all(t);return Sc.array.flatten(i)}(function(r){function e(o,a){Qf(o);let l=BD(o,zQe.default,a);return Sc.array.flatten(l)}r.sync=e;function t(o,a){Qf(o);let l=BD(o,WQe.default,a);return Sc.stream.merge(l)}r.stream=t;function i(o,a){Qf(o);let l=[].concat(o),c=new yD.default(a);return j4.generate(l,c)}r.generateTasks=i;function n(o,a){Qf(o);let l=new yD.default(a);return Sc.pattern.isDynamicPattern(o,l)}r.isDynamicPattern=n;function s(o){return Qf(o),Sc.path.escape(o)}r.escapePath=s})(wD||(wD={}));function BD(r,e,t){let i=[].concat(r),n=new yD.default(t),s=j4.generate(i,n),o=new e(n);return s.map(o.read,o)}function Qf(r){if(![].concat(r).every(i=>Sc.string.isString(i)&&!Sc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}q4.exports=wD});var W4=w(vc=>{"use strict";var{promisify:VQe}=J("util"),J4=J("fs");async function bD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return(await VQe(J4[r])(t))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function QD(r,e,t){if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);try{return J4[r](t)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}vc.isFile=bD.bind(null,"stat","isFile");vc.isDirectory=bD.bind(null,"stat","isDirectory");vc.isSymlink=bD.bind(null,"lstat","isSymbolicLink");vc.isFileSync=QD.bind(null,"statSync","isFile");vc.isDirectorySync=QD.bind(null,"statSync","isDirectory");vc.isSymlinkSync=QD.bind(null,"lstatSync","isSymbolicLink")});var _4=w((Trt,SD)=>{"use strict";var xc=J("path"),z4=W4(),V4=r=>r.length>1?`{${r.join(",")}}`:r[0],X4=(r,e)=>{let t=r[0]==="!"?r.slice(1):r;return xc.isAbsolute(t)?t:xc.join(e,t)},XQe=(r,e)=>xc.extname(r)?`**/${r}`:`**/${r}.${V4(e)}`,Z4=(r,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(t=>xc.posix.join(r,XQe(t,e.extensions))):e.files?e.files.map(t=>xc.posix.join(r,`**/${t}`)):e.extensions?[xc.posix.join(r,`**/*.${V4(e.extensions)}`)]:[xc.posix.join(r,"**")]};SD.exports=async(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=await Promise.all([].concat(r).map(async i=>await z4.isDirectory(X4(i,e.cwd))?Z4(i,e):i));return[].concat.apply([],t)};SD.exports.sync=(r,e)=>{if(e={cwd:process.cwd(),...e},typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let t=[].concat(r).map(i=>z4.isDirectorySync(X4(i,e.cwd))?Z4(i,e):i);return[].concat.apply([],t)}});var o8=w((Lrt,s8)=>{function $4(r){return Array.isArray(r)?r:[r]}var i8="",e8=" ",vD="\\",ZQe=/^\s+$/,_Qe=/^\\!/,$Qe=/^\\#/,eSe=/\r?\n/g,tSe=/^\.*\/|^\.+$/,xD="/",t8=typeof Symbol<"u"?Symbol.for("node-ignore"):"node-ignore",rSe=(r,e,t)=>Object.defineProperty(r,e,{value:t}),iSe=/([0-z])-([0-z])/g,nSe=r=>r.replace(iSe,(e,t,i)=>t.charCodeAt(0)<=i.charCodeAt(0)?e:i8),sSe=r=>{let{length:e}=r;return r.slice(0,e-e%2)},oSe=[[/\\?\s+$/,r=>r.indexOf("\\")===0?e8:i8],[/\\\s/g,()=>e8],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>vD],[/\\\\/g,()=>vD],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,i,n)=>e===vD?`\\[${t}${sSe(i)}${n}`:n==="]"&&i.length%2===0?`[${nSe(t)}${i}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(r,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],r8=Object.create(null),aSe=(r,e)=>{let t=r8[r];return t||(t=oSe.reduce((i,n)=>i.replace(n[0],n[1].bind(r)),r),r8[r]=t),e?new RegExp(t,"i"):new RegExp(t)},kD=r=>typeof r=="string",ASe=r=>r&&kD(r)&&!ZQe.test(r)&&r.indexOf("#")!==0,lSe=r=>r.split(eSe),PD=class{constructor(e,t,i,n){this.origin=e,this.pattern=t,this.negative=i,this.regex=n}},cSe=(r,e)=>{let t=r,i=!1;r.indexOf("!")===0&&(i=!0,r=r.substr(1)),r=r.replace(_Qe,"!").replace($Qe,"#");let n=aSe(r,e);return new PD(t,r,i,n)},uSe=(r,e)=>{throw new e(r)},Ka=(r,e,t)=>kD(r)?r?Ka.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),n8=r=>tSe.test(r);Ka.isNotRelative=n8;Ka.convert=r=>r;var DD=class{constructor({ignorecase:e=!0}={}){rSe(this,t8,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[t8]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(ASe(e)){let t=cSe(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,$4(kD(e)?lSe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!t)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,t,i,n){let s=e&&Ka.convert(e);return Ka(s,e,uSe),this._t(s,t,i,n)}_t(e,t,i,n){if(e in t)return t[e];if(n||(n=e.split(xD)),n.pop(),!n.length)return t[e]=this._testOne(e,i);let s=this._t(n.join(xD)+xD,t,i,n);return t[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return $4(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Cw=r=>new DD(r),gSe=()=>!1,fSe=r=>Ka(r&&Ka.convert(r),r,gSe);Cw.isPathValid=fSe;Cw.default=Cw;s8.exports=Cw;if(typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Ka.convert=r;let e=/^[a-z]:\//i;Ka.isNotRelative=t=>e.test(t)||n8(t)}});var A8=w((Ort,a8)=>{"use strict";a8.exports=r=>{let e=/^\\\\\?\\/.test(r),t=/[^\u0000-\u0080]+/.test(r);return e||t?r:r.replace(/\\/g,"/")}});var p8=w((Mrt,RD)=>{"use strict";var{promisify:hSe}=J("util"),l8=J("fs"),Ua=J("path"),c8=dw(),pSe=o8(),$d=A8(),u8=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],dSe=hSe(l8.readFile),CSe=r=>e=>e.startsWith("!")?"!"+Ua.posix.join(r,e.slice(1)):Ua.posix.join(r,e),mSe=(r,e)=>{let t=$d(Ua.relative(e.cwd,Ua.dirname(e.fileName)));return r.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(CSe(t))},g8=r=>{let e=pSe();for(let t of r)e.add(mSe(t.content,{cwd:t.cwd,fileName:t.filePath}));return e},ESe=(r,e)=>{if(r=$d(r),Ua.isAbsolute(e)){if($d(e).startsWith(r))return e;throw new Error(`Path ${e} is not in cwd ${r}`)}return Ua.join(r,e)},f8=(r,e)=>t=>r.ignores($d(Ua.relative(e,ESe(e,t.path||t)))),ISe=async(r,e)=>{let t=Ua.join(e,r),i=await dSe(t,"utf8");return{cwd:e,filePath:t,content:i}},ySe=(r,e)=>{let t=Ua.join(e,r),i=l8.readFileSync(t,"utf8");return{cwd:e,filePath:t,content:i}},h8=({ignore:r=[],cwd:e=$d(process.cwd())}={})=>({ignore:r,cwd:e});RD.exports=async r=>{r=h8(r);let e=await c8("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}),t=await Promise.all(e.map(n=>ISe(n,r.cwd))),i=g8(t);return f8(i,r.cwd)};RD.exports.sync=r=>{r=h8(r);let t=c8.sync("**/.gitignore",{ignore:u8.concat(r.ignore),cwd:r.cwd}).map(n=>ySe(n,r.cwd)),i=g8(t);return f8(i,r.cwd)}});var C8=w((Krt,d8)=>{"use strict";var{Transform:wSe}=J("stream"),mw=class extends wSe{constructor(){super({objectMode:!0})}},FD=class extends mw{constructor(e){super(),this._filter=e}_transform(e,t,i){this._filter(e)&&this.push(e),i()}},ND=class extends mw{constructor(){super(),this._pushed=new Set}_transform(e,t,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};d8.exports={FilterStream:FD,UniqueStream:ND}});var MD=w((Urt,Pc)=>{"use strict";var E8=J("fs"),Ew=mW(),BSe=sP(),Iw=dw(),yw=_4(),TD=p8(),{FilterStream:bSe,UniqueStream:QSe}=C8(),I8=()=>!1,m8=r=>r[0]==="!",SSe=r=>{if(!r.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},vSe=(r={})=>{if(!r.cwd)return;let e;try{e=E8.statSync(r.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},xSe=r=>r.stats instanceof E8.Stats?r.path:r,ww=(r,e)=>{r=Ew([].concat(r)),SSe(r),vSe(e);let t=[];e={ignore:[],expandDirectories:!0,...e};for(let[i,n]of r.entries()){if(m8(n))continue;let s=r.slice(i).filter(a=>m8(a)).map(a=>a.slice(1)),o={...e,ignore:e.ignore.concat(s)};t.push({pattern:n,options:o})}return t},PSe=(r,e)=>{let t={};return r.options.cwd&&(t.cwd=r.options.cwd),Array.isArray(r.options.expandDirectories)?t={...t,files:r.options.expandDirectories}:typeof r.options.expandDirectories=="object"&&(t={...t,...r.options.expandDirectories}),e(r.pattern,t)},LD=(r,e)=>r.options.expandDirectories?PSe(r,e):[r.pattern],y8=r=>r&&r.gitignore?TD.sync({cwd:r.cwd,ignore:r.ignore}):I8,OD=r=>e=>{let{options:t}=r;return t.ignore&&Array.isArray(t.ignore)&&t.expandDirectories&&(t.ignore=yw.sync(t.ignore)),{pattern:e,options:t}};Pc.exports=async(r,e)=>{let t=ww(r,e),i=async()=>e&&e.gitignore?TD({cwd:e.cwd,ignore:e.ignore}):I8,n=async()=>{let l=await Promise.all(t.map(async c=>{let u=await LD(c,yw);return Promise.all(u.map(OD(c)))}));return Ew(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Iw(l.pattern,l.options)));return Ew(...a).filter(l=>!s(xSe(l)))};Pc.exports.sync=(r,e)=>{let t=ww(r,e),i=[];for(let o of t){let a=LD(o,yw.sync).map(OD(o));i.push(...a)}let n=y8(e),s=[];for(let o of i)s=Ew(s,Iw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Pc.exports.stream=(r,e)=>{let t=ww(r,e),i=[];for(let a of t){let l=LD(a,yw.sync).map(OD(a));i.push(...l)}let n=y8(e),s=new bSe(a=>!n(a)),o=new QSe;return BSe(i.map(a=>Iw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Pc.exports.generateGlobTasks=ww;Pc.exports.hasMagic=(r,e)=>[].concat(r).some(t=>Iw.isDynamicPattern(t,e));Pc.exports.gitignore=TD});var vn=w((iit,L8)=>{function GSe(r){var e=typeof r;return r!=null&&(e=="object"||e=="function")}L8.exports=GSe});var WD=w((nit,O8)=>{var YSe=typeof global=="object"&&global&&global.Object===Object&&global;O8.exports=YSe});var ys=w((sit,M8)=>{var jSe=WD(),qSe=typeof self=="object"&&self&&self.Object===Object&&self,JSe=jSe||qSe||Function("return this")();M8.exports=JSe});var U8=w((oit,K8)=>{var WSe=ys(),zSe=function(){return WSe.Date.now()};K8.exports=zSe});var G8=w((ait,H8)=>{var VSe=/\s/;function XSe(r){for(var e=r.length;e--&&VSe.test(r.charAt(e)););return e}H8.exports=XSe});var j8=w((Ait,Y8)=>{var ZSe=G8(),_Se=/^\s+/;function $Se(r){return r&&r.slice(0,ZSe(r)+1).replace(_Se,"")}Y8.exports=$Se});var Rc=w((lit,q8)=>{var eve=ys(),tve=eve.Symbol;q8.exports=tve});var V8=w((cit,z8)=>{var J8=Rc(),W8=Object.prototype,rve=W8.hasOwnProperty,ive=W8.toString,uC=J8?J8.toStringTag:void 0;function nve(r){var e=rve.call(r,uC),t=r[uC];try{r[uC]=void 0;var i=!0}catch{}var n=ive.call(r);return i&&(e?r[uC]=t:delete r[uC]),n}z8.exports=nve});var Z8=w((uit,X8)=>{var sve=Object.prototype,ove=sve.toString;function ave(r){return ove.call(r)}X8.exports=ave});var Fc=w((git,ez)=>{var _8=Rc(),Ave=V8(),lve=Z8(),cve="[object Null]",uve="[object Undefined]",$8=_8?_8.toStringTag:void 0;function gve(r){return r==null?r===void 0?uve:cve:$8&&$8 in Object(r)?Ave(r):lve(r)}ez.exports=gve});var Wo=w((fit,tz)=>{function fve(r){return r!=null&&typeof r=="object"}tz.exports=fve});var gC=w((hit,rz)=>{var hve=Fc(),pve=Wo(),dve="[object Symbol]";function Cve(r){return typeof r=="symbol"||pve(r)&&hve(r)==dve}rz.exports=Cve});var oz=w((pit,sz)=>{var mve=j8(),iz=vn(),Eve=gC(),nz=0/0,Ive=/^[-+]0x[0-9a-f]+$/i,yve=/^0b[01]+$/i,wve=/^0o[0-7]+$/i,Bve=parseInt;function bve(r){if(typeof r=="number")return r;if(Eve(r))return nz;if(iz(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=iz(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=mve(r);var t=yve.test(r);return t||wve.test(r)?Bve(r.slice(2),t?2:8):Ive.test(r)?nz:+r}sz.exports=bve});var lz=w((dit,Az)=>{var Qve=vn(),zD=U8(),az=oz(),Sve="Expected a function",vve=Math.max,xve=Math.min;function Pve(r,e,t){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof r!="function")throw new TypeError(Sve);e=az(e)||0,Qve(t)&&(u=!!t.leading,g="maxWait"in t,s=g?vve(az(t.maxWait)||0,e):s,f="trailing"in t?!!t.trailing:f);function h(j){var $=i,V=n;return i=n=void 0,c=j,o=r.apply(V,$),o}function p(j){return c=j,a=setTimeout(B,e),u?h(j):o}function C(j){var $=j-l,V=j-c,W=e-$;return g?xve(W,s-V):W}function y(j){var $=j-l,V=j-c;return l===void 0||$>=e||$<0||g&&V>=s}function B(){var j=zD();if(y(j))return v(j);a=setTimeout(B,C(j))}function v(j){return a=void 0,f&&i?h(j):(i=n=void 0,o)}function D(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function T(){return a===void 0?o:v(zD())}function H(){var j=zD(),$=y(j);if(i=arguments,n=this,l=j,$){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(B,e),h(l)}return a===void 0&&(a=setTimeout(B,e)),o}return H.cancel=D,H.flush=T,H}Az.exports=Pve});var uz=w((Cit,cz)=>{var Dve=lz(),kve=vn(),Rve="Expected a function";function Fve(r,e,t){var i=!0,n=!0;if(typeof r!="function")throw new TypeError(Rve);return kve(t)&&(i="leading"in t?!!t.leading:i,n="trailing"in t?!!t.trailing:n),Dve(r,e,{leading:i,maxWait:e,trailing:n})}cz.exports=Fve});var Ya=w((Ga,jw)=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});var Iz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Jve(r){return Iz.includes(r)}var Wve=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Iz];function zve(r){return Wve.includes(r)}var Vve=["null","undefined","string","number","bigint","boolean","symbol"];function Xve(r){return Vve.includes(r)}function Lf(r){return e=>typeof e===r}var{toString:yz}=Object.prototype,CC=r=>{let e=yz.call(r).slice(8,-1);if(/HTML\w+Element/.test(e)&&X.domElement(r))return"HTMLElement";if(zve(e))return e},lr=r=>e=>CC(e)===r;function X(r){if(r===null)return"null";switch(typeof r){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(X.observable(r))return"Observable";if(X.array(r))return"Array";if(X.buffer(r))return"Buffer";let e=CC(r);if(e)return e;if(r instanceof String||r instanceof Boolean||r instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}X.undefined=Lf("undefined");X.string=Lf("string");var Zve=Lf("number");X.number=r=>Zve(r)&&!X.nan(r);X.bigint=Lf("bigint");X.function_=Lf("function");X.null_=r=>r===null;X.class_=r=>X.function_(r)&&r.toString().startsWith("class ");X.boolean=r=>r===!0||r===!1;X.symbol=Lf("symbol");X.numericString=r=>X.string(r)&&!X.emptyStringOrWhitespace(r)&&!Number.isNaN(Number(r));X.array=(r,e)=>Array.isArray(r)?X.function_(e)?r.every(e):!0:!1;X.buffer=r=>{var e,t,i,n;return(n=(i=(t=(e=r)===null||e===void 0?void 0:e.constructor)===null||t===void 0?void 0:t.isBuffer)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:!1};X.nullOrUndefined=r=>X.null_(r)||X.undefined(r);X.object=r=>!X.null_(r)&&(typeof r=="object"||X.function_(r));X.iterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.iterator])};X.asyncIterable=r=>{var e;return X.function_((e=r)===null||e===void 0?void 0:e[Symbol.asyncIterator])};X.generator=r=>X.iterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.asyncGenerator=r=>X.asyncIterable(r)&&X.function_(r.next)&&X.function_(r.throw);X.nativePromise=r=>lr("Promise")(r);var _ve=r=>{var e,t;return X.function_((e=r)===null||e===void 0?void 0:e.then)&&X.function_((t=r)===null||t===void 0?void 0:t.catch)};X.promise=r=>X.nativePromise(r)||_ve(r);X.generatorFunction=lr("GeneratorFunction");X.asyncGeneratorFunction=r=>CC(r)==="AsyncGeneratorFunction";X.asyncFunction=r=>CC(r)==="AsyncFunction";X.boundFunction=r=>X.function_(r)&&!r.hasOwnProperty("prototype");X.regExp=lr("RegExp");X.date=lr("Date");X.error=lr("Error");X.map=r=>lr("Map")(r);X.set=r=>lr("Set")(r);X.weakMap=r=>lr("WeakMap")(r);X.weakSet=r=>lr("WeakSet")(r);X.int8Array=lr("Int8Array");X.uint8Array=lr("Uint8Array");X.uint8ClampedArray=lr("Uint8ClampedArray");X.int16Array=lr("Int16Array");X.uint16Array=lr("Uint16Array");X.int32Array=lr("Int32Array");X.uint32Array=lr("Uint32Array");X.float32Array=lr("Float32Array");X.float64Array=lr("Float64Array");X.bigInt64Array=lr("BigInt64Array");X.bigUint64Array=lr("BigUint64Array");X.arrayBuffer=lr("ArrayBuffer");X.sharedArrayBuffer=lr("SharedArrayBuffer");X.dataView=lr("DataView");X.directInstanceOf=(r,e)=>Object.getPrototypeOf(r)===e.prototype;X.urlInstance=r=>lr("URL")(r);X.urlString=r=>{if(!X.string(r))return!1;try{return new URL(r),!0}catch{return!1}};X.truthy=r=>Boolean(r);X.falsy=r=>!r;X.nan=r=>Number.isNaN(r);X.primitive=r=>X.null_(r)||Xve(typeof r);X.integer=r=>Number.isInteger(r);X.safeInteger=r=>Number.isSafeInteger(r);X.plainObject=r=>{if(yz.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.getPrototypeOf({})};X.typedArray=r=>Jve(CC(r));var $ve=r=>X.safeInteger(r)&&r>=0;X.arrayLike=r=>!X.nullOrUndefined(r)&&!X.function_(r)&&$ve(r.length);X.inRange=(r,e)=>{if(X.number(e))return r>=Math.min(0,e)&&r<=Math.max(e,0);if(X.array(e)&&e.length===2)return r>=Math.min(...e)&&r<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var exe=1,txe=["innerHTML","ownerDocument","style","attributes","nodeValue"];X.domElement=r=>X.object(r)&&r.nodeType===exe&&X.string(r.nodeName)&&!X.plainObject(r)&&txe.every(e=>e in r);X.observable=r=>{var e,t,i,n;return r?r===((t=(e=r)[Symbol.observable])===null||t===void 0?void 0:t.call(e))||r===((n=(i=r)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};X.nodeStream=r=>X.object(r)&&X.function_(r.pipe)&&!X.observable(r);X.infinite=r=>r===1/0||r===-1/0;var wz=r=>e=>X.integer(e)&&Math.abs(e%2)===r;X.evenInteger=wz(0);X.oddInteger=wz(1);X.emptyArray=r=>X.array(r)&&r.length===0;X.nonEmptyArray=r=>X.array(r)&&r.length>0;X.emptyString=r=>X.string(r)&&r.length===0;X.nonEmptyString=r=>X.string(r)&&r.length>0;var rxe=r=>X.string(r)&&!/\S/.test(r);X.emptyStringOrWhitespace=r=>X.emptyString(r)||rxe(r);X.emptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length===0;X.nonEmptyObject=r=>X.object(r)&&!X.map(r)&&!X.set(r)&&Object.keys(r).length>0;X.emptySet=r=>X.set(r)&&r.size===0;X.nonEmptySet=r=>X.set(r)&&r.size>0;X.emptyMap=r=>X.map(r)&&r.size===0;X.nonEmptyMap=r=>X.map(r)&&r.size>0;X.propertyKey=r=>X.any([X.string,X.number,X.symbol],r);X.formData=r=>lr("FormData")(r);X.urlSearchParams=r=>lr("URLSearchParams")(r);var Bz=(r,e,t)=>{if(!X.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(t.length===0)throw new TypeError("Invalid number of values");return r.call(t,e)};X.any=(r,...e)=>(X.array(r)?r:[r]).some(i=>Bz(Array.prototype.some,i,e));X.all=(r,...e)=>Bz(Array.prototype.every,r,e);var Ye=(r,e,t,i={})=>{if(!r){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(t.map(o=>`\`${X(o)}\``))].join(", ")}`:`received value of type \`${X(t)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Ga.assert={undefined:r=>Ye(X.undefined(r),"undefined",r),string:r=>Ye(X.string(r),"string",r),number:r=>Ye(X.number(r),"number",r),bigint:r=>Ye(X.bigint(r),"bigint",r),function_:r=>Ye(X.function_(r),"Function",r),null_:r=>Ye(X.null_(r),"null",r),class_:r=>Ye(X.class_(r),"Class",r),boolean:r=>Ye(X.boolean(r),"boolean",r),symbol:r=>Ye(X.symbol(r),"symbol",r),numericString:r=>Ye(X.numericString(r),"string with a number",r),array:(r,e)=>{Ye(X.array(r),"Array",r),e&&r.forEach(e)},buffer:r=>Ye(X.buffer(r),"Buffer",r),nullOrUndefined:r=>Ye(X.nullOrUndefined(r),"null or undefined",r),object:r=>Ye(X.object(r),"Object",r),iterable:r=>Ye(X.iterable(r),"Iterable",r),asyncIterable:r=>Ye(X.asyncIterable(r),"AsyncIterable",r),generator:r=>Ye(X.generator(r),"Generator",r),asyncGenerator:r=>Ye(X.asyncGenerator(r),"AsyncGenerator",r),nativePromise:r=>Ye(X.nativePromise(r),"native Promise",r),promise:r=>Ye(X.promise(r),"Promise",r),generatorFunction:r=>Ye(X.generatorFunction(r),"GeneratorFunction",r),asyncGeneratorFunction:r=>Ye(X.asyncGeneratorFunction(r),"AsyncGeneratorFunction",r),asyncFunction:r=>Ye(X.asyncFunction(r),"AsyncFunction",r),boundFunction:r=>Ye(X.boundFunction(r),"Function",r),regExp:r=>Ye(X.regExp(r),"RegExp",r),date:r=>Ye(X.date(r),"Date",r),error:r=>Ye(X.error(r),"Error",r),map:r=>Ye(X.map(r),"Map",r),set:r=>Ye(X.set(r),"Set",r),weakMap:r=>Ye(X.weakMap(r),"WeakMap",r),weakSet:r=>Ye(X.weakSet(r),"WeakSet",r),int8Array:r=>Ye(X.int8Array(r),"Int8Array",r),uint8Array:r=>Ye(X.uint8Array(r),"Uint8Array",r),uint8ClampedArray:r=>Ye(X.uint8ClampedArray(r),"Uint8ClampedArray",r),int16Array:r=>Ye(X.int16Array(r),"Int16Array",r),uint16Array:r=>Ye(X.uint16Array(r),"Uint16Array",r),int32Array:r=>Ye(X.int32Array(r),"Int32Array",r),uint32Array:r=>Ye(X.uint32Array(r),"Uint32Array",r),float32Array:r=>Ye(X.float32Array(r),"Float32Array",r),float64Array:r=>Ye(X.float64Array(r),"Float64Array",r),bigInt64Array:r=>Ye(X.bigInt64Array(r),"BigInt64Array",r),bigUint64Array:r=>Ye(X.bigUint64Array(r),"BigUint64Array",r),arrayBuffer:r=>Ye(X.arrayBuffer(r),"ArrayBuffer",r),sharedArrayBuffer:r=>Ye(X.sharedArrayBuffer(r),"SharedArrayBuffer",r),dataView:r=>Ye(X.dataView(r),"DataView",r),urlInstance:r=>Ye(X.urlInstance(r),"URL",r),urlString:r=>Ye(X.urlString(r),"string with a URL",r),truthy:r=>Ye(X.truthy(r),"truthy",r),falsy:r=>Ye(X.falsy(r),"falsy",r),nan:r=>Ye(X.nan(r),"NaN",r),primitive:r=>Ye(X.primitive(r),"primitive",r),integer:r=>Ye(X.integer(r),"integer",r),safeInteger:r=>Ye(X.safeInteger(r),"integer",r),plainObject:r=>Ye(X.plainObject(r),"plain object",r),typedArray:r=>Ye(X.typedArray(r),"TypedArray",r),arrayLike:r=>Ye(X.arrayLike(r),"array-like",r),domElement:r=>Ye(X.domElement(r),"HTMLElement",r),observable:r=>Ye(X.observable(r),"Observable",r),nodeStream:r=>Ye(X.nodeStream(r),"Node.js Stream",r),infinite:r=>Ye(X.infinite(r),"infinite number",r),emptyArray:r=>Ye(X.emptyArray(r),"empty array",r),nonEmptyArray:r=>Ye(X.nonEmptyArray(r),"non-empty array",r),emptyString:r=>Ye(X.emptyString(r),"empty string",r),nonEmptyString:r=>Ye(X.nonEmptyString(r),"non-empty string",r),emptyStringOrWhitespace:r=>Ye(X.emptyStringOrWhitespace(r),"empty string or whitespace",r),emptyObject:r=>Ye(X.emptyObject(r),"empty object",r),nonEmptyObject:r=>Ye(X.nonEmptyObject(r),"non-empty object",r),emptySet:r=>Ye(X.emptySet(r),"empty set",r),nonEmptySet:r=>Ye(X.nonEmptySet(r),"non-empty set",r),emptyMap:r=>Ye(X.emptyMap(r),"empty map",r),nonEmptyMap:r=>Ye(X.nonEmptyMap(r),"non-empty map",r),propertyKey:r=>Ye(X.propertyKey(r),"PropertyKey",r),formData:r=>Ye(X.formData(r),"FormData",r),urlSearchParams:r=>Ye(X.urlSearchParams(r),"URLSearchParams",r),evenInteger:r=>Ye(X.evenInteger(r),"even integer",r),oddInteger:r=>Ye(X.oddInteger(r),"odd integer",r),directInstanceOf:(r,e)=>Ye(X.directInstanceOf(r,e),"T",r),inRange:(r,e)=>Ye(X.inRange(r,e),"in range",r),any:(r,...e)=>Ye(X.any(r,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(r,...e)=>Ye(X.all(r,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(X,{class:{value:X.class_},function:{value:X.function_},null:{value:X.null_}});Object.defineProperties(Ga.assert,{class:{value:Ga.assert.class_},function:{value:Ga.assert.function_},null:{value:Ga.assert.null_}});Ga.default=X;jw.exports=X;jw.exports.default=X;jw.exports.assert=Ga.assert});var bz=w((rnt,dk)=>{"use strict";var qw=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},Of=class{static fn(e){return(...t)=>new Of((i,n,s)=>{t.push(s),e(...t).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,i)=>{this._reject=i;let n=a=>{this._isPending=!1,t(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let t of this._cancelHandlers)t()}catch(t){this._reject(t)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new qw(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Of.prototype,Promise.prototype);dk.exports=Of;dk.exports.CancelError=qw});var Qz=w((mk,Ek)=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var ixe=J("tls"),Ck=(r,e)=>{let t;typeof e=="function"?t={connect:e}:t=e;let i=typeof t.connect=="function",n=typeof t.secureConnect=="function",s=typeof t.close=="function",o=()=>{i&&t.connect(),r instanceof ixe.TLSSocket&&n&&(r.authorized?t.secureConnect():r.authorizationError||r.once("secureConnect",t.secureConnect)),s&&r.once("close",t.close)};r.writable&&!r.connecting?o():r.connecting?r.once("connect",o):r.destroyed&&s&&t.close(r._hadError)};mk.default=Ck;Ek.exports=Ck;Ek.exports.default=Ck});var Sz=w((yk,wk)=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var nxe=Qz(),sxe=Number(process.versions.node.split(".")[0]),Ik=r=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};r.timings=e;let t=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};t(r),r.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||sxe>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),nxe.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};r.socket?i(r.socket):r.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof r.writableFinished=="boolean"?r.writableFinished:r.finished&&r.outputSize===0&&(!r.socket||r.socket.writableLength===0))()?n():r.prependOnceListener("finish",n),r.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,t(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};yk.default=Ik;wk.exports=Ik;wk.exports.default=Ik});var Fz=w((int,Qk)=>{"use strict";var{V4MAPPED:oxe,ADDRCONFIG:axe,ALL:Rz,promises:{Resolver:vz},lookup:Axe}=J("dns"),{promisify:Bk}=J("util"),lxe=J("os"),Mf=Symbol("cacheableLookupCreateConnection"),bk=Symbol("cacheableLookupInstance"),xz=Symbol("expires"),cxe=typeof Rz=="number",Pz=r=>{if(!(r&&typeof r.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},uxe=r=>{for(let e of r)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},Dz=()=>{let r=!1,e=!1;for(let t of Object.values(lxe.networkInterfaces()))for(let i of t)if(!i.internal&&(i.family==="IPv6"?e=!0:r=!0,r&&e))return{has4:r,has6:e};return{has4:r,has6:e}},gxe=r=>Symbol.iterator in r,kz={ttl:!0},fxe={all:!0},Jw=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new vz,lookup:o=Axe}={}){if(this.maxTtl=t,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Bk(o),this._resolver instanceof vz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Bk(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Bk(this._resolver.resolve6.bind(this._resolver))),this._iface=Dz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,i){if(typeof t=="function"?(i=t,t={}):typeof t=="number"&&(t={family:t}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,t).then(n=>{t.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,t={}){typeof t=="number"&&(t={family:t});let i=await this.query(e);if(t.family===6){let n=i.filter(s=>s.family===6);t.hints&oxe&&(cxe&&t.hints&Rz||n.length===0)?uxe(i):i=n}else t.family===4&&(i=i.filter(n=>n.family===4));if(t.hints&axe){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return t.all?i:i[0]}async query(e){let t=await this._cache.get(e);if(!t){let i=this._pending[e];if(i)t=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,t=await n}}return t=t.map(i=>({...i})),t}async _resolve(e){let t=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,kz),this._resolve6(e,kz)].map(c=>t(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,t[xz]=Date.now()+i;try{await this._cache.set(e,t,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}gxe(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,fxe);try{let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let i=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,i),delete this._pending[e],t.entries}catch(t){throw delete this._pending[e],t}}_tick(e){let t=this._nextRemovalTime;(!t||e{this._nextRemovalTime=!1;let i=1/0,n=Date.now();for(let[s,o]of this._cache){let a=o[xz];n>=a?this._cache.delete(s):a("lookup"in t||(t.lookup=this.lookup),e[Mf](t,i))}uninstall(e){if(Pz(e),e[Mf]){if(e[bk]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Mf],delete e[Mf],delete e[bk]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=Dz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Qk.exports=Jw;Qk.exports.default=Jw});var Lz=w((nnt,Sk)=>{"use strict";var hxe=typeof URL>"u"?J("url").URL:URL,pxe="text/plain",dxe="us-ascii",Nz=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),Cxe=(r,{stripHash:e})=>{let t=r.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!t)throw new Error(`Invalid URL: ${r}`);let i=t[1].split(";"),n=t[2],s=e?"":t[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===dxe)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==pxe)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Tz=(r,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(r=r.trim(),/^data:/i.test(r))return Cxe(r,e);let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new hxe(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];Nz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])Nz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),r=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r};Sk.exports=Tz;Sk.exports.default=Tz});var Kz=w((snt,Mz)=>{Mz.exports=Oz;function Oz(r,e){if(r&&e)return Oz(r)(e);if(typeof r!="function")throw new TypeError("need wrapper function");return Object.keys(r).forEach(function(i){t[i]=r[i]}),t;function t(){for(var i=new Array(arguments.length),n=0;n{var Uz=Kz();vk.exports=Uz(Ww);vk.exports.strict=Uz(Hz);Ww.proto=Ww(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Ww(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Hz(this)},configurable:!0})});function Ww(r){var e=function(){return e.called?e.value:(e.called=!0,e.value=r.apply(this,arguments))};return e.called=!1,e}function Hz(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}});var Pk=w((ant,Yz)=>{var mxe=xk(),Exe=function(){},Ixe=function(r){return r.setHeader&&typeof r.abort=="function"},yxe=function(r){return r.stdio&&Array.isArray(r.stdio)&&r.stdio.length===3},Gz=function(r,e,t){if(typeof e=="function")return Gz(r,null,e);e||(e={}),t=mxe(t||Exe);var i=r._writableState,n=r._readableState,s=e.readable||e.readable!==!1&&r.readable,o=e.writable||e.writable!==!1&&r.writable,a=function(){r.writable||l()},l=function(){o=!1,s||t.call(r)},c=function(){s=!1,o||t.call(r)},u=function(p){t.call(r,p?new Error("exited with error code: "+p):null)},g=function(p){t.call(r,p)},f=function(){if(s&&!(n&&n.ended))return t.call(r,new Error("premature close"));if(o&&!(i&&i.ended))return t.call(r,new Error("premature close"))},h=function(){r.req.on("finish",l)};return Ixe(r)?(r.on("complete",l),r.on("abort",f),r.req?h():r.on("request",h)):o&&!i&&(r.on("end",a),r.on("close",a)),yxe(r)&&r.on("exit",u),r.on("end",c),r.on("finish",l),e.error!==!1&&r.on("error",g),r.on("close",f),function(){r.removeListener("complete",l),r.removeListener("abort",f),r.removeListener("request",h),r.req&&r.req.removeListener("finish",l),r.removeListener("end",a),r.removeListener("close",a),r.removeListener("finish",l),r.removeListener("exit",u),r.removeListener("end",c),r.removeListener("error",g),r.removeListener("close",f)}};Yz.exports=Gz});var Jz=w((Ant,qz)=>{var wxe=xk(),Bxe=Pk(),Dk=J("fs"),mC=function(){},bxe=/^v?\.0/.test(process.version),zw=function(r){return typeof r=="function"},Qxe=function(r){return!bxe||!Dk?!1:(r instanceof(Dk.ReadStream||mC)||r instanceof(Dk.WriteStream||mC))&&zw(r.close)},Sxe=function(r){return r.setHeader&&zw(r.abort)},vxe=function(r,e,t,i){i=wxe(i);var n=!1;r.on("close",function(){n=!0}),Bxe(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Qxe(r))return r.close(mC);if(Sxe(r))return r.abort();if(zw(r.destroy))return r.destroy();i(o||new Error("stream was destroyed"))}}},jz=function(r){r()},xxe=function(r,e){return r.pipe(e)},Pxe=function(){var r=Array.prototype.slice.call(arguments),e=zw(r[r.length-1]||mC)&&r.pop()||mC;if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new Error("pump requires two streams per minimum");var t,i=r.map(function(n,s){var o=s0;return vxe(n,o,a,function(l){t||(t=l),l&&i.forEach(jz),!o&&(i.forEach(jz),e(t))})});return r.reduce(xxe)};qz.exports=Pxe});var zz=w((lnt,Wz)=>{"use strict";var{PassThrough:Dxe}=J("stream");Wz.exports=r=>{r={...r};let{array:e}=r,{encoding:t}=r,i=t==="buffer",n=!1;e?n=!(t||i):t=t||"utf8",i&&(t=null);let s=new Dxe({objectMode:n});t&&s.setEncoding(t);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Vz=w((cnt,Kf)=>{"use strict";var kxe=Jz(),Rxe=zz(),Vw=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function Xw(r,e){if(!r)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:t}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=kxe(r,Rxe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>t&&o(new Vw)})}),i.getBufferedValue()}Kf.exports=Xw;Kf.exports.default=Xw;Kf.exports.buffer=(r,e)=>Xw(r,{...e,encoding:"buffer"});Kf.exports.array=(r,e)=>Xw(r,{...e,array:!0});Kf.exports.MaxBufferError=Vw});var Zz=w((gnt,Xz)=>{"use strict";var Fxe=new Set([200,203,204,206,300,301,404,405,410,414,501]),Nxe=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Txe=new Set([500,502,503,504]),Lxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Oxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Lc(r){let e=parseInt(r,10);return isFinite(e)?e:0}function Mxe(r){return r?Txe.has(r.status):!0}function kk(r){let e={};if(!r)return e;let t=r.trim().split(/\s*,\s*/);for(let i of t){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Kxe(r){let e=[];for(let t in r){let i=r[t];e.push(i===!0?t:t+"="+i)}if(!!e.length)return e.join(", ")}Xz.exports=class{constructor(e,t,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,_fromObject:a}={}){if(a){this._fromObject(a);return}if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=kk(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=kk(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Kxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers["cache-control"]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&Nxe.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Fxe.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let t=kk(e.headers["cache-control"]);return t["no-cache"]||/no-cache/.test(e.headers.pragma)||t["max-age"]&&this.age()>t["max-age"]||t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"]||this.stale()&&!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(t["max-stale"]===!0||t["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of t)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let i in e)Lxe[i]||(t[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete t[n]}if(t.warning){let i=t.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?t.warning=i.join(",").trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),t=(this.now()-this._responseTime)/1e3;return e+t}_ageValue(){return Lc(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Lc(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Lc(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(t-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+Lc(this._rescc["stale-if-error"]),i=e+Lc(this._rescc["stale-while-revalidate"]);return Math.max(0,e,t,i)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Lc(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Lc(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete t["if-modified-since"],t["if-none-match"]){let n=t["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?t["if-none-match"]=n.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&Mxe(t))return{modified:!1,matches:!1,policy:this};if(!t||!t.headers)throw Error("Response headers missing");let i=!1;if(t.status!==void 0&&t.status!=304?i=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===t.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!t.headers.etag&&!t.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,t),modified:t.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in t.headers&&!Oxe[o]?t.headers[o]:this._resHeaders[o];let s=Object.assign({},t,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var Zw=w((fnt,_z)=>{"use strict";_z.exports=r=>{let e={};for(let[t,i]of Object.entries(r))e[t.toLowerCase()]=i;return e}});var e5=w((hnt,$z)=>{"use strict";var Uxe=J("stream").Readable,Hxe=Zw(),Rk=class extends Uxe{constructor(e,t,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof t!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Hxe(t),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};$z.exports=Rk});var r5=w((pnt,t5)=>{"use strict";var Gxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];t5.exports=(r,e)=>{let t=new Set(Object.keys(r).concat(Gxe));for(let i of t)i in e||(e[i]=typeof r[i]=="function"?r[i].bind(r):r[i])}});var n5=w((dnt,i5)=>{"use strict";var Yxe=J("stream").PassThrough,jxe=r5(),qxe=r=>{if(!(r&&r.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Yxe;return jxe(r,e),r.pipe(e)};i5.exports=qxe});var s5=w(Fk=>{Fk.stringify=function r(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var t="",i=Array.isArray(e);t=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]>"u";Object.hasOwnProperty.call(e,s)&&!o&&(n||(t+=","),n=!1,i?e[s]==null?t+="null":t+=r(e[s]):e[s]!==void 0&&(t+=r(s)+":"+r(e[s])))}return t+=i?"]":"}",t}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};Fk.parse=function(r){return JSON.parse(r,function(e,t){return typeof t=="string"?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t})}});var A5=w((mnt,a5)=>{"use strict";var Jxe=J("events"),o5=s5(),Wxe=r=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(r.adapter||r.uri){let t=r.adapter||/^[^:]*/.exec(r.uri)[0];return new(J(e[t]))(r)}return new Map},Nk=class extends Jxe{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:o5.stringify,deserialize:o5.parse},typeof e=="string"?{uri:e}:e,t),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Wxe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return t&&t.raw?n:n.value}})}set(e,t,i){e=this._getKeyPrefix(e),typeof i>"u"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return t={value:t,expires:s},this.opts.serialize(t)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};a5.exports=Nk});var u5=w((Int,c5)=>{"use strict";var zxe=J("events"),_w=J("url"),Vxe=Lz(),Xxe=Vz(),Tk=Zz(),l5=e5(),Zxe=Zw(),_xe=n5(),$xe=A5(),ao=class{constructor(e,t){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new $xe({uri:typeof t=="string"&&t,store:typeof t!="string"&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,i)=>{let n;if(typeof t=="string")n=Lk(_w.parse(t)),t={};else if(t instanceof _w.URL)n=Lk(_w.parse(t.toString())),t={};else{let[g,...f]=(t.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Lk({...t,pathname:g,search:h})}t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...ePe(n)},t.headers=Zxe(t.headers);let s=new zxe,o=Vxe(_w.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${t.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),C=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let v=Tk.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!v.modified){let D=v.policy.responseHeaders();y=new l5(l.statusCode,D,l.body,l.url),y.cachePolicy=v.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Tk(g,y,g),y.fromCache=!1);let B;g.cache&&y.cachePolicy.storable()?(B=_xe(y),(async()=>{try{let v=Xxe.buffer(y);if(await Promise.race([p,new Promise(j=>y.once("end",j))]),f)return;let D=await v,T={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:D},H=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(H=H?Math.min(H,g.maxTtl):g.maxTtl),await this.cache.set(a,T,H)}catch(v){s.emit("error",new ao.CacheError(v))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(v){s.emit("error",new ao.CacheError(v))}})(),s.emit("response",B||y),typeof i=="function"&&i(B||y)};try{let y=e(g,C);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ao.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p>"u")return u(h);let C=Tk.fromObject(p.cachePolicy);if(C.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=C.responseHeaders(),B=new l5(p.statusCode,y,p.body,p.url);B.cachePolicy=C,B.fromCache=!0,s.emit("response",B),typeof i=="function"&&i(B)}else l=p,h.headers=C.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ao.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(t)}catch(h){t.automaticFailover&&!c&&u(t),s.emit("error",new ao.CacheError(h))}})(),s}}};function ePe(r){let e={...r};return e.path=`${r.pathname||"/"}${r.search||""}`,delete e.pathname,delete e.search,e}function Lk(r){return{protocol:r.protocol,auth:r.auth,hostname:r.hostname||r.host||"localhost",port:r.port,pathname:r.pathname,search:r.search}}ao.RequestError=class extends Error{constructor(r){super(r.message),this.name="RequestError",Object.assign(this,r)}};ao.CacheError=class extends Error{constructor(r){super(r.message),this.name="CacheError",Object.assign(this,r)}};c5.exports=ao});var f5=w((Bnt,g5)=>{"use strict";var tPe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];g5.exports=(r,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let t=new Set(Object.keys(r).concat(tPe)),i={};for(let n of t)n in e||(i[n]={get(){let s=r[n];return typeof s=="function"?s.bind(r):s},set(s){r[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),r.once("aborted",()=>{e.destroy(),e.emit("aborted")}),r.once("close",()=>{r.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var p5=w((bnt,h5)=>{"use strict";var{Transform:rPe,PassThrough:iPe}=J("stream"),Ok=J("zlib"),nPe=f5();h5.exports=r=>{let e=(r.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return r;let t=e==="br";if(t&&typeof Ok.createBrotliDecompress!="function")return r.destroy(new Error("Brotli is not supported on Node.js < 12")),r;let i=!0,n=new rPe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new iPe({autoDestroy:!1,destroy(a,l){r.destroy(),l(a)}}),o=t?Ok.createBrotliDecompress():Ok.createUnzip();return o.once("error",a=>{if(i&&!r.readable){s.end();return}s.destroy(a)}),nPe(r,s),r.pipe(n).pipe(o).pipe(s),s}});var Kk=w((Qnt,d5)=>{"use strict";var Mk=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};d5.exports=Mk});var Hk=w((Snt,I5)=>{"use strict";var sPe=J("events"),oPe=J("tls"),aPe=J("http2"),APe=Kk(),on=Symbol("currentStreamsCount"),C5=Symbol("request"),Bs=Symbol("cachedOriginSet"),Uf=Symbol("gracefullyClosing"),lPe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],cPe=(r,e,t)=>{let i=0,n=r.length;for(;i>>1;t(r[s],e)?i=s+1:n=s}return i},uPe=(r,e)=>r.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Uk=(r,e)=>{for(let t of r)t[Bs].lengthe[Bs].includes(i))&&t[on]+e[on]<=e.remoteSettings.maxConcurrentStreams&&E5(t)},gPe=(r,e)=>{for(let t of r)e[Bs].lengtht[Bs].includes(i))&&e[on]+t[on]<=t.remoteSettings.maxConcurrentStreams&&E5(e)},m5=({agent:r,isFree:e})=>{let t={};for(let i in r.sessions){let s=r.sessions[i].filter(o=>{let a=o[zo.kCurrentStreamsCount]{r[Uf]=!0,r[on]===0&&r.close()},zo=class extends sPe{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new APe({maxSize:n})}static normalizeOrigin(e,t){return typeof e=="string"&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(let i of lPe)e[i]&&(t+=`:${e[i]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let i=this.queue[e][t];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(t),a=zo.normalizeOrigin(e,t&&t.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let C=p.remoteSettings.maxConcurrentStreams;if(C=C||p[Uf]||p.destroyed)continue;h||(g=C),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let C=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(C)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=aPe.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u),...t});f[on]=0,f[Uf]=!1;let h=()=>f[on]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:B}of i)B(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:B}of i)B(y);l()}this._tryToCreateNewSession(o,a)});let C=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Bs])if(y in this.queue[o]){let{listeners:B}=this.queue[o][y];for(;B.length!==0&&h();)B.shift().resolve(f);let v=this.queue[o];if(v[y].listeners.length===0&&(delete v[y],Object.keys(v).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Bs]=f.originSet,h()&&(C(),Uk(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let B of i)B.reject(y);f.destroy();return}f[Bs]=f.originSet;{let y=this.sessions;if(o in y){let B=y[o];B.splice(cPe(B,f,uPe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),C(),l(),f[on]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,t,i),i.length=0),f.on("remoteSettings",()=>{C(),Uk(this.sessions[o],f)})}),f[C5]=f.request,f.request=(y,B)=>{if(f[Uf])throw new Error("The session is gracefully closing. No new streams are allowed.");let v=f[C5](y,B);return f.ref(),++f[on],f[on]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,v.once("close",()=>{if(p=h(),--f[on],!f.destroyed&&!f.closed&&(gPe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let D=f[on]===0;D&&f.unref(),D&&(this._freeSessionsCount>this.maxFreeSessions||f[Uf])?f.close():(Uk(this.sessions[o],f),C())}}),v}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,t,i,n){return new Promise((s,o)=>{this.getSession(e,t,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,t){return zo.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof t.servername>"u"&&(t.servername=n),oPe.connect(i,n,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[on]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let i of t)i.destroy(e);for(let t of Object.values(this.queue))for(let i of Object.values(t))i.destroyed=!0;this.queue={}}get freeSessions(){return m5({agent:this,isFree:!0})}get busySessions(){return m5({agent:this,isFree:!1})}};zo.kCurrentStreamsCount=on;zo.kGracefullyClosing=Uf;I5.exports={Agent:zo,globalAgent:new zo}});var Yk=w((vnt,y5)=>{"use strict";var{Readable:fPe}=J("stream"),Gk=class extends fPe{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};y5.exports=Gk});var jk=w((xnt,w5)=>{"use strict";w5.exports=r=>{let e={protocol:r.protocol,hostname:typeof r.hostname=="string"&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return typeof r.port=="string"&&r.port.length!==0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var b5=w((Pnt,B5)=>{"use strict";B5.exports=(r,e,t)=>{for(let i of t)r.on(i,(...n)=>e.emit(i,...n))}});var S5=w((Dnt,Q5)=>{"use strict";Q5.exports=r=>{switch(r){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var x5=w((Rnt,v5)=>{"use strict";var Hf=(r,e,t)=>{v5.exports[e]=class extends r{constructor(...n){super(typeof t=="string"?t:t(n)),this.name=`${super.name} [${e}]`,this.code=e}}};Hf(TypeError,"ERR_INVALID_ARG_TYPE",r=>{let e=r[0].includes(".")?"property":"argument",t=r[1],i=Array.isArray(t);return i&&(t=`${t.slice(0,-1).join(", ")} or ${t.slice(-1)}`),`The "${r[0]}" ${e} must be ${i?"one of":"of"} type ${t}. Received ${typeof r[2]}`});Hf(TypeError,"ERR_INVALID_PROTOCOL",r=>`Protocol "${r[0]}" not supported. Expected "${r[1]}"`);Hf(Error,"ERR_HTTP_HEADERS_SENT",r=>`Cannot ${r[0]} headers after they are sent to the client`);Hf(TypeError,"ERR_INVALID_HTTP_TOKEN",r=>`${r[0]} must be a valid HTTP token [${r[1]}]`);Hf(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",r=>`Invalid value "${r[0]} for header "${r[1]}"`);Hf(TypeError,"ERR_INVALID_CHAR",r=>`Invalid character in ${r[0]} [${r[1]}]`)});var Vk=w((Fnt,T5)=>{"use strict";var hPe=J("http2"),{Writable:pPe}=J("stream"),{Agent:P5,globalAgent:dPe}=Hk(),CPe=Yk(),mPe=jk(),EPe=b5(),IPe=S5(),{ERR_INVALID_ARG_TYPE:qk,ERR_INVALID_PROTOCOL:yPe,ERR_HTTP_HEADERS_SENT:D5,ERR_INVALID_HTTP_TOKEN:wPe,ERR_HTTP_INVALID_HEADER_VALUE:BPe,ERR_INVALID_CHAR:bPe}=x5(),{HTTP2_HEADER_STATUS:k5,HTTP2_HEADER_METHOD:R5,HTTP2_HEADER_PATH:F5,HTTP2_METHOD_CONNECT:QPe}=hPe.constants,Ui=Symbol("headers"),Jk=Symbol("origin"),Wk=Symbol("session"),N5=Symbol("options"),$w=Symbol("flushedHeaders"),EC=Symbol("jobs"),SPe=/^[\^`\-\w!#$%&*+.|~]+$/,vPe=/[^\t\u0020-\u007E\u0080-\u00FF]/,zk=class extends pPe{constructor(e,t,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=mPe(e instanceof URL?e:new URL(e))),typeof t=="function"||t===void 0?(i=t,t=n?e:{...e}):t={...e,...t},t.h2session)this[Wk]=t.h2session;else if(t.agent===!1)this.agent=new P5({maxFreeSessions:0});else if(typeof t.agent>"u"||t.agent===null)typeof t.createConnection=="function"?(this.agent=new P5({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=dPe;else if(typeof t.agent.request=="function")this.agent=t.agent;else throw new qk("options.agent",["Agent-like Object","undefined","false"],t.agent);if(t.protocol&&t.protocol!=="https:")throw new yPe(t.protocol,"https:");let s=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,o=t.hostname||t.host||"localhost";delete t.hostname,delete t.host,delete t.port;let{timeout:a}=t;if(t.timeout=void 0,this[Ui]=Object.create(null),this[EC]=[],this.socket=null,this.connection=null,this.method=t.method||"GET",this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[l,c]of Object.entries(t.headers))this.setHeader(l,c);t.auth&&!("authorization"in this[Ui])&&(this[Ui].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[N5]=t,s===443?(this[Jk]=`https://${o}`,":authority"in this[Ui]||(this[Ui][":authority"]=o)):(this[Jk]=`https://${o}:${s}`,":authority"in this[Ui]||(this[Ui][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[$w]=!1}get method(){return this[Ui][R5]}set method(e){e&&(this[Ui][R5]=e.toUpperCase())}get path(){return this[Ui][F5]}set path(e){e&&(this[Ui][F5]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,t,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,t,i);this._request?n():this[EC].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[EC].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[$w]||this.destroyed)return;this[$w]=!0;let e=this.method===QPe,t=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||EPe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new CPe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[k5],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[k5]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[EC])o();this.emit("socket",this.socket)};if(this[Wk])try{t(this[Wk].request(this[Ui]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[Jk],this[N5],this[Ui]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new qk("name","string",e);return this[Ui][e.toLowerCase()]}get headersSent(){return this[$w]}removeHeader(e){if(typeof e!="string")throw new qk("name","string",e);if(this.headersSent)throw new D5("remove");delete this[Ui][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new D5("set");if(typeof e!="string"||!SPe.test(e)&&!IPe(e))throw new wPe("Header name",e);if(typeof t>"u")throw new BPe(t,e);if(vPe.test(t))throw new bPe("header content",e);this[Ui][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let i=()=>this._request.setTimeout(e,t);return this._request?i():this[EC].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};T5.exports=zk});var O5=w((Nnt,L5)=>{"use strict";var xPe=J("tls");L5.exports=(r={})=>new Promise((e,t)=>{let i=xPe.connect(r,()=>{r.resolveSocket?(i.off("error",t),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",t)})});var K5=w((Tnt,M5)=>{"use strict";var PPe=J("net");M5.exports=r=>{let e=r.host,t=r.headers&&r.headers.host;return t&&(t.startsWith("[")?t.indexOf("]")===-1?e=t:e=t.slice(1,-1):e=t.split(":",1)[0]),PPe.isIP(e)?"":e}});var G5=w((Lnt,Zk)=>{"use strict";var U5=J("http"),Xk=J("https"),DPe=O5(),kPe=Kk(),RPe=Vk(),FPe=K5(),NPe=jk(),eB=new kPe({maxSize:100}),IC=new Map,H5=(r,e,t)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{r.emit("free",e,t)};e.on("free",i);let n=()=>{r.removeSocket(e,t)};e.on("close",n);let s=()=>{r.removeSocket(e,t),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),r.emit("free",e,t)},TPe=async r=>{let e=`${r.host}:${r.port}:${r.ALPNProtocols.sort()}`;if(!eB.has(e)){if(IC.has(e))return(await IC.get(e)).alpnProtocol;let{path:t,agent:i}=r;r.path=r.socketPath;let n=DPe(r);IC.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(eB.set(e,o),r.path=t,o==="h2")s.destroy();else{let{globalAgent:a}=Xk,l=Xk.Agent.prototype.createConnection;i?i.createConnection===l?H5(i,s,r):s.destroy():a.createConnection===l?H5(a,s,r):s.destroy()}return IC.delete(e),o}catch(s){throw IC.delete(e),s}}return eB.get(e)};Zk.exports=async(r,e,t)=>{if((typeof r=="string"||r instanceof URL)&&(r=NPe(new URL(r))),typeof e=="function"&&(t=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...r,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||FPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?Xk.globalAgent:U5.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await TPe(e)==="h2"?(n&&(e.agent=n.http2),new RPe(e,t)):U5.request(e,t)};Zk.exports.protocolCache=eB});var j5=w((Ont,Y5)=>{"use strict";var LPe=J("http2"),OPe=Hk(),_k=Vk(),MPe=Yk(),KPe=G5(),UPe=(r,e,t)=>new _k(r,e,t),HPe=(r,e,t)=>{let i=new _k(r,e,t);return i.end(),i};Y5.exports={...LPe,ClientRequest:_k,IncomingMessage:MPe,...OPe,request:UPe,get:HPe,auto:KPe}});var eR=w($k=>{"use strict";Object.defineProperty($k,"__esModule",{value:!0});var q5=Ya();$k.default=r=>q5.default.nodeStream(r)&&q5.default.function_(r.getBoundary)});var V5=w(tR=>{"use strict";Object.defineProperty(tR,"__esModule",{value:!0});var W5=J("fs"),z5=J("util"),J5=Ya(),GPe=eR(),YPe=z5.promisify(W5.stat);tR.default=async(r,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!r)return 0;if(J5.default.string(r))return Buffer.byteLength(r);if(J5.default.buffer(r))return r.length;if(GPe.default(r))return z5.promisify(r.getLength.bind(r))();if(r instanceof W5.ReadStream){let{size:t}=await YPe(r.path);return t===0?void 0:t}}});var iR=w(rR=>{"use strict";Object.defineProperty(rR,"__esModule",{value:!0});function jPe(r,e,t){let i={};for(let n of t)i[n]=(...s)=>{e.emit(n,...s)},r.on(n,i[n]);return()=>{for(let n of t)r.off(n,i[n])}}rR.default=jPe});var X5=w(nR=>{"use strict";Object.defineProperty(nR,"__esModule",{value:!0});nR.default=()=>{let r=[];return{once(e,t,i){e.once(t,i),r.push({origin:e,event:t,fn:i})},unhandleAll(){for(let e of r){let{origin:t,event:i,fn:n}=e;t.removeListener(i,n)}r.length=0}}}});var _5=w(yC=>{"use strict";Object.defineProperty(yC,"__esModule",{value:!0});yC.TimeoutError=void 0;var qPe=J("net"),JPe=X5(),Z5=Symbol("reentry"),WPe=()=>{},tB=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}};yC.TimeoutError=tB;yC.default=(r,e,t)=>{if(Z5 in r)return WPe;r[Z5]=!0;let i=[],{once:n,unhandleAll:s}=JPe.default(),o=(g,f,h)=>{var p;let C=setTimeout(f,g,g,h);(p=C.unref)===null||p===void 0||p.call(C);let y=()=>{clearTimeout(C)};return i.push(y),y},{host:a,hostname:l}=t,c=(g,f)=>{r.destroy(new tB(g,f))},u=()=>{for(let g of i)g();s()};if(r.once("error",g=>{if(u(),r.listenerCount("error")===0)throw g}),r.once("close",u),n(r,"response",g=>{n(g,"end",u)}),typeof e.request<"u"&&o(e.request,c,"request"),typeof e.socket<"u"){let g=()=>{c(e.socket,"socket")};r.setTimeout(e.socket,g),i.push(()=>{r.removeListener("timeout",g)})}return n(r,"socket",g=>{var f;let{socketPath:h}=r;if(g.connecting){let p=Boolean(h!=null?h:qPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup<"u"&&!p&&typeof g.address().address>"u"){let C=o(e.lookup,c,"lookup");n(g,"lookup",C)}if(typeof e.connect<"u"){let C=()=>o(e.connect,c,"connect");p?n(g,"connect",C()):n(g,"lookup",y=>{y===null&&n(g,"connect",C())})}typeof e.secureConnect<"u"&&t.protocol==="https:"&&n(g,"connect",()=>{let C=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",C)})}if(typeof e.send<"u"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(r,"upload-complete",p())}):n(r,"upload-complete",p())}}),typeof e.response<"u"&&n(r,"upload-complete",()=>{let g=o(e.response,c,"response");n(r,"response",g)}),u}});var e6=w(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});var $5=Ya();sR.default=r=>{r=r;let e={protocol:r.protocol,hostname:$5.default.string(r.hostname)&&r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,host:r.host,hash:r.hash,search:r.search,pathname:r.pathname,href:r.href,path:`${r.pathname||""}${r.search||""}`};return $5.default.string(r.port)&&r.port.length>0&&(e.port=Number(r.port)),(r.username||r.password)&&(e.auth=`${r.username||""}:${r.password||""}`),e}});var t6=w(oR=>{"use strict";Object.defineProperty(oR,"__esModule",{value:!0});var zPe=J("url"),VPe=["protocol","host","hostname","port","pathname","search"];oR.default=(r,e)=>{var t,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!r){if(!e.protocol)throw new TypeError("No URL protocol specified");r=`${e.protocol}//${(i=(t=e.hostname)!==null&&t!==void 0?t:e.host)!==null&&i!==void 0?i:""}`}let n=new zPe.URL(r);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of VPe)e[s]&&(n[s]=e[s].toString());return n}});var r6=w(AR=>{"use strict";Object.defineProperty(AR,"__esModule",{value:!0});var aR=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e=="object"?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};AR.default=aR});var cR=w(lR=>{"use strict";Object.defineProperty(lR,"__esModule",{value:!0});var XPe=async r=>{let e=[],t=0;for await(let i of r)e.push(i),t+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,t):Buffer.from(e.join(""))};lR.default=XPe});var n6=w(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.dnsLookupIpVersionToFamily=Oc.isDnsLookupIpVersion=void 0;var i6={auto:0,ipv4:4,ipv6:6};Oc.isDnsLookupIpVersion=r=>r in i6;Oc.dnsLookupIpVersionToFamily=r=>{if(Oc.isDnsLookupIpVersion(r))return i6[r];throw new Error("Invalid DNS lookup IP version")}});var uR=w(rB=>{"use strict";Object.defineProperty(rB,"__esModule",{value:!0});rB.isResponseOk=void 0;rB.isResponseOk=r=>{let{statusCode:e}=r,t=r.request.options.followRedirect?299:399;return e>=200&&e<=t||e===304}});var o6=w(gR=>{"use strict";Object.defineProperty(gR,"__esModule",{value:!0});var s6=new Set;gR.default=r=>{s6.has(r)||(s6.add(r),process.emitWarning(`Got: ${r}`,{type:"DeprecationWarning"}))}});var a6=w(fR=>{"use strict";Object.defineProperty(fR,"__esModule",{value:!0});var mr=Ya(),ZPe=(r,e)=>{if(mr.default.null_(r.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");mr.assert.any([mr.default.string,mr.default.undefined],r.encoding),mr.assert.any([mr.default.boolean,mr.default.undefined],r.resolveBodyOnly),mr.assert.any([mr.default.boolean,mr.default.undefined],r.methodRewriting),mr.assert.any([mr.default.boolean,mr.default.undefined],r.isStream),mr.assert.any([mr.default.string,mr.default.undefined],r.responseType),r.responseType===void 0&&(r.responseType="text");let{retry:t}=r;if(e?r.retry={...e.retry}:r.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},mr.default.object(t)?(r.retry={...r.retry,...t},r.retry.methods=[...new Set(r.retry.methods.map(i=>i.toUpperCase()))],r.retry.statusCodes=[...new Set(r.retry.statusCodes)],r.retry.errorCodes=[...new Set(r.retry.errorCodes)]):mr.default.number(t)&&(r.retry.limit=t),mr.default.undefined(r.retry.maxRetryAfter)&&(r.retry.maxRetryAfter=Math.min(...[r.timeout.request,r.timeout.connect].filter(mr.default.number))),mr.default.object(r.pagination)){e&&(r.pagination={...e.pagination,...r.pagination});let{pagination:i}=r;if(!mr.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!mr.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!mr.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!mr.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return r.responseType==="json"&&r.headers.accept===void 0&&(r.headers.accept="application/json"),r};fR.default=ZPe});var A6=w(wC=>{"use strict";Object.defineProperty(wC,"__esModule",{value:!0});wC.retryAfterStatusCodes=void 0;wC.retryAfterStatusCodes=new Set([413,429,503]);var _Pe=({attemptCount:r,retryOptions:e,error:t,retryAfter:i})=>{if(r>e.limit)return 0;let n=e.methods.includes(t.options.method),s=e.errorCodes.includes(t.code),o=t.response&&e.statusCodes.includes(t.response.statusCode);if(!n||!s&&!o)return 0;if(t.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(t.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(r-1)*1e3+a};wC.default=_Pe});var QC=w(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.UnsupportedProtocolError=Yt.ReadError=Yt.TimeoutError=Yt.UploadError=Yt.CacheError=Yt.HTTPError=Yt.MaxRedirectsError=Yt.RequestError=Yt.setNonEnumerableProperties=Yt.knownHookEvents=Yt.withoutBody=Yt.kIsNormalizedAlready=void 0;var l6=J("util"),c6=J("stream"),$Pe=J("fs"),VA=J("url"),u6=J("http"),hR=J("http"),eDe=J("https"),tDe=Sz(),rDe=Fz(),g6=u5(),iDe=p5(),nDe=j5(),sDe=Zw(),Ee=Ya(),oDe=V5(),f6=eR(),aDe=iR(),h6=_5(),ADe=e6(),p6=t6(),lDe=r6(),cDe=cR(),d6=n6(),uDe=uR(),XA=o6(),gDe=a6(),fDe=A6(),pR,Pi=Symbol("request"),sB=Symbol("response"),Gf=Symbol("responseSize"),Yf=Symbol("downloadedSize"),jf=Symbol("bodySize"),qf=Symbol("uploadedSize"),iB=Symbol("serverResponsesPiped"),C6=Symbol("unproxyEvents"),m6=Symbol("isFromCache"),dR=Symbol("cancelTimeouts"),E6=Symbol("startedReading"),Jf=Symbol("stopReading"),nB=Symbol("triggerRead"),ZA=Symbol("body"),BC=Symbol("jobs"),I6=Symbol("originalResponse"),y6=Symbol("retryTimeout");Yt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var hDe=Ee.default.string(process.versions.brotli);Yt.withoutBody=new Set(["GET","HEAD"]);Yt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function pDe(r){for(let e in r){let t=r[e];if(!Ee.default.string(t)&&!Ee.default.number(t)&&!Ee.default.boolean(t)&&!Ee.default.null_(t)&&!Ee.default.undefined(t))throw new TypeError(`The \`searchParams\` value '${String(t)}' must be a string, number, boolean or null`)}}function dDe(r){return Ee.default.object(r)&&!("statusCode"in r)}var CR=new lDe.default,CDe=async r=>new Promise((e,t)=>{let i=n=>{t(n)};r.pending||e(),r.once("error",i),r.once("ready",()=>{r.off("error",i),e()})}),mDe=new Set([300,301,302,303,304,307,308]),EDe=["context","body","json","form"];Yt.setNonEnumerableProperties=(r,e)=>{let t={};for(let i of r)if(!!i)for(let n of EDe)n in i&&(t[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,t)};var ei=class extends Error{constructor(e,t,i){var n;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,i instanceof gB?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[sB]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,Ee.default.string(t.stack)&&Ee.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` `).reverse(),a=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(` `).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` `)}${a.reverse().join(` -`)}`}}};Yt.RequestError=ei;var oB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=oB;var aB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=aB;var AB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=AB;var lB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=lB;var cB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=cB;var bC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=bC;var uB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=uB;var IDe=["socket","connect","continue","information","upgrade","timeout"],gB=class extends c6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Yf]=0,this[qf]=0,this.requestInitialized=!1,this[iB]=new Set,this.redirects=[],this[Jf]=!1,this[nB]=!1,this[BC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof $Pe.ReadStream&&await CDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[BC])g();this[BC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new VA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([d6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=sDe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof VA.URLSearchParams)h=new VA.URLSearchParams(t.searchParams);else{pDe(t.searchParams),h=new VA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=p6.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=p6.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new VA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new VA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new uB(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=l6.promisify(h.bind(t.cookieJar)),p=l6.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(CR.has(g)||CR.set(g,new g6((h,p)=>{let C=h[Pi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)pR||(pR=new rDe.default),t.dnsCache=pR;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&XA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&XA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&XA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&XA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&XA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&XA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&XA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&XA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),gDe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof c6.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!f6.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(f6.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ZA]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[ZA]=new VA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[ZA]=e.stringifyJson(e.json));let c=await oDe.default(this[ZA],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[jf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[I6]=e,t.decompress&&(e=iDe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:u6.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[m6]=s.isFromCache,this[Gf]=Number(e.headers["content-length"])||void 0,this[sB]=e,e.once("end",()=>{this[Gf]=this[Yf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new bC(a,this))}),e.once("aborted",()=>{this._beforeError(new bC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&mDe.has(n)){if(e.resume(),this[Pi]&&(this[dR](),delete this[Pi],this[C6]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[ZA]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new oB(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new VA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!uDe.isResponseOk(s)){this._beforeError(new aB(s));return}e.on("readable",()=>{this[nB]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[iB])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;tDe.default(e),this[dR]=h6.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof h6.TimeoutError?new cB(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[C6]=aDe.default(e,this,IDe),this[Pi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[ZA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new lB(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,ADe.default(e)),delete t.url;let s,o=CR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=hDe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[ZA]!==o.body&&(this[ZA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=nDe.auto:h=f?eDe.request:u6.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Pi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=d6.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),dDe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof g6.CacheError?new AB(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Jf])return;let{options:t}=this,i=this.retryCount+1;this[Jf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await cDe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:fDe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[y6]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[nB]=!0;let e=this[sB];if(e&&!this[Jf]){e.readableLength&&(this[nB]=!1);let t;for(;(t=e.read())!==null;){this[Yf]+=t.length,this[E6]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[BC].push(n)}_writeRequest(e,t,i){this[Pi].destroyed||(this._progressCallbacks.push(()=>{this[qf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Pi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Pi in this)){e();return}if(this[Pi].destroyed){e();return}this[Pi].end(i=>{i||(this[jf]=this[qf],this.emit("uploadProgress",this.uploadProgress),this[Pi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[BC].push(t)}_destroy(e,t){var i;this[Jf]=!0,clearTimeout(this[y6]),Pi in this&&(this[dR](),!((i=this[sB])===null||i===void 0)&&i.complete||this[Pi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Jf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Pi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[I6])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[Pi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Gf]?e=this[Yf]/this[Gf]:this[Gf]===this[Yf]?e=1:e=0,{percent:e,transferred:this[Yf],total:this[Gf]}}get uploadProgress(){let e;return this[jf]?e=this[qf]/this[jf]:this[jf]===this[qf]?e=1:e=0,{percent:e,transferred:this[qf],total:this[jf]}}get timings(){var e;return(e=this[Pi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[m6]}pipe(e,t){if(this[E6])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hR.ServerResponse&&this[iB].add(e),super.pipe(e,t)}unpipe(e){return e instanceof hR.ServerResponse&&this[iB].delete(e),super.unpipe(e),this}};Yt.default=gB});var SC=w(Ao=>{"use strict";var yDe=Ao&&Ao.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),wDe=Ao&&Ao.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&yDe(e,r,t)};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.CancelError=Ao.ParseError=void 0;var w6=QC(),mR=class extends w6.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};Ao.ParseError=mR;var ER=class extends w6.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Ao.CancelError=ER;wDe(QC(),Ao)});var b6=w(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var B6=SC(),BDe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new B6.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new B6.ParseError(s,r)}};IR.default=BDe});var yR=w(_A=>{"use strict";var bDe=_A&&_A.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),QDe=_A&&_A.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&bDe(e,r,t)};Object.defineProperty(_A,"__esModule",{value:!0});var SDe=J("events"),vDe=Ya(),xDe=bz(),fB=SC(),Q6=b6(),S6=QC(),PDe=iR(),DDe=cR(),v6=uR(),kDe=["request","response","redirect","uploadProgress","downloadProgress"];function x6(r){let e,t,i=new SDe.EventEmitter,n=new xDe((o,a,l)=>{let c=u=>{let g=new S6.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new fB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await DDe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=Q6.default(p,D.responseType,D.parseJson,D.encoding)}catch(T){if(p.body=y.toString(),v6.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=S6.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let W of $.hooks.beforeRetry)await W($);let V=x6($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(T){g._beforeError(new fB.RequestError(T.message,T,g));return}if(!v6.isResponseOk(p)){g._beforeError(new fB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof fB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&vDe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),PDe.default(g,i,kDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return Q6.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}_A.default=x6;QDe(SC(),_A)});var P6=w(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var RDe=SC();function FDe(r,...e){let t=(async()=>{if(r instanceof RDe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}wR.default=FDe});var R6=w(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var D6=Ya();function k6(r){for(let e of Object.values(r))(D6.default.plainObject(e)||D6.default.array(e))&&k6(e);return Object.freeze(r)}BR.default=k6});var N6=w(F6=>{"use strict";Object.defineProperty(F6,"__esModule",{value:!0})});var bR=w(Qs=>{"use strict";var NDe=Qs&&Qs.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),TDe=Qs&&Qs.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&NDe(e,r,t)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.defaultHandler=void 0;var T6=Ya(),bs=yR(),LDe=P6(),pB=QC(),MDe=R6(),ODe={RequestError:bs.RequestError,CacheError:bs.CacheError,ReadError:bs.ReadError,HTTPError:bs.HTTPError,MaxRedirectsError:bs.MaxRedirectsError,TimeoutError:bs.TimeoutError,ParseError:bs.ParseError,CancelError:bs.CancelError,UnsupportedProtocolError:bs.UnsupportedProtocolError,UploadError:bs.UploadError},KDe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:hB}=pB.default,L6=(...r)=>{let e;for(let t of r)e=hB(void 0,t,e);return e},UDe=r=>r.isStream?new pB.default(void 0,r):bs.default(r),HDe=r=>"defaults"in r&&"options"in r.defaults,GDe=["get","post","put","patch","head","delete"];Qs.defaultHandler=(r,e)=>e(r);var M6=(r,e)=>{if(r)for(let t of r)t(e)},O6=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?UDe:c);if(T6.default.plainObject(i)){let u={...i,...n};pB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{M6(r.options.hooks.init,n),M6((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=hB(i,n,s!=null?s:r.options);if(g[pB.kIsNormalizedAlready]=!0,u)throw new bs.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return LDe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)HDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Qs.defaultHandler),s.length===0&&s.push(Qs.defaultHandler),O6({options:L6(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=hB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!T6.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of GDe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,ODe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:MDe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=L6,e};Qs.default=O6;TDe(N6(),Qs)});var CB=w((ja,dB)=>{"use strict";var YDe=ja&&ja.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),K6=ja&&ja.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&YDe(e,r,t)};Object.defineProperty(ja,"__esModule",{value:!0});var jDe=J("url"),U6=bR(),qDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new jDe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[U6.defaultHandler],mutableDefaults:!1},QR=U6.default(qDe);ja.default=QR;dB.exports=QR;dB.exports.default=QR;dB.exports.__esModule=!0;K6(bR(),ja);K6(yR(),ja)});var j6=w(Wf=>{"use strict";var ost=J("net"),JDe=J("tls"),SR=J("http"),H6=J("https"),WDe=J("events"),ast=J("assert"),zDe=J("util");Wf.httpOverHttp=VDe;Wf.httpsOverHttp=XDe;Wf.httpOverHttps=ZDe;Wf.httpsOverHttps=_De;function VDe(r){var e=new qa(r);return e.request=SR.request,e}function XDe(r){var e=new qa(r);return e.request=SR.request,e.createSocket=G6,e.defaultPort=443,e}function ZDe(r){var e=new qa(r);return e.request=H6.request,e}function _De(r){var e=new qa(r);return e.request=H6.request,e.createSocket=G6,e.defaultPort=443,e}function qa(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Y6(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};qa.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=vR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),$A("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){$A("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){$A("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return $A("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),$A(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};qa.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function G6(r,e){var t=this;qa.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=JDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function Y6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e{q6.exports=j6()});var iV=w((IB,FR)=>{var rV=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=Ca(E);return k?I?k:k.toString():(y||(y=rV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function H(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return he[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,Ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function M(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,L){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var be=(it.length<<2)+1;Et=b(be),oe(it,Et,be)}return Et},array:function(it){var Et=b(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var we=M(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++L;if(L-E>16&&d.subarray&&pe)return pe.decode(d.subarray(E,L));for(var Z="";E>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var L=I,Z=I+k-1,te=0;te=55296&&we<=57343){var me=d.charCodeAt(++te);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=Z)break;E[I++]=we}else if(we<=2047){if(I+1>=Z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=Z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=Z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-L}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function Be(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,he,ie,de,_e,Pt,It;function Mr(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=he=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=_e=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ks=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)fa(t.preRun.shift());wo(hr)}function Ii(){Ks=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ns.init(),wo(fi)}function rs(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)cg(t.postRun.shift());wo(ni)}function fa(d){hr.unshift(d)}function dA(d){fi.unshift(d)}function cg(d){ni.unshift(d)}var is=0,CA=null,ha=null;function wp(d){return d}function mA(d){is++,t.monitorRunDependencies&&t.monitorRunDependencies(is)}function EA(d){if(is--,t.monitorRunDependencies&&t.monitorRunDependencies(is),is==0&&(CA!==null&&(clearInterval(CA),CA=null),ha)){var E=ha;ha=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),Ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var Tl="data:application/octet-stream;base64,";function ug(d){return d.startsWith(Tl)}var yo="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EJABIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAELAkAgAC8BTkUEQCAAKAJoKAIEQQRxRQ0BCyAAKAJkIAApAzBCFnwQLBogACAAKAJkEDA3AyACQCAAKQMgIAAvAU6tWgRAIAAoAmgoAgRBBHFFDQEgACkDICAALwFOrVENAQsgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAILIAAvAU4EQCAAKAJkIAAvAU6tEB4gAC8BTkEAIAAoAlQQUCEBIAAoAlAgATYCKCABRQRAIAAoAlAQJSAAQQA2AmwMAwsLCwJAIAAoAlApAyAgACkDWFoEQCAAKAJkIAAoAlApAyAgACkDWH0QLBogACAAKAJkIAAoAlApAxgQHiIBNgIcIAFFBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAMLIAAgACgCHCAAKAJQKQMYECkiATYCLCABRQRAIAAoAlRBDkEAEBQgACgCUBAlIABBADYCbAwDCwwBCyAAQQA2AiwgACgCaCgCACAAKAJQKQMgQQAQJ0EASARAIAAoAlQgACgCaCgCABAXIAAoAlAQJSAAQQA2AmwMAgsgACgCaCgCABBJIAAoAlApAyBSBEAgACgCVEETQQAQFCAAKAJQECUgAEEANgJsDAILCyAAIAAoAlApAxg3AzggAEIANwNAA0ACQCAAKQM4UA0AIABBADoAGyAAKQNAIAAoAlApAwhRBEAgACgCUC0ALEEBcQ0BIAApAzhCLlQNASAAKAJQQoCABCAAKAJUEI8BQQFxRQRAIAAoAlAQJSAAKAIsEBYgAEEANgJsDAQLIABBAToAGwsjAEEQayIBJAAgAUHYABAYIgU2AggCQCAFRQRAIAFBADYCDAwBCyABKAIIEFMgASABKAIINgIMCyABKAIMIQUgAUEQaiQAIAUhASAAKAJQKAIAIAApA0CnQQR0aiABNgIAAkAgAQRAIAAgACgCUCgCACAAKQNAp0EEdGooAgAgACgCaCgCACAAKAIsQQAgACgCVBCMASIJNwMQIAlCAFkNAQsCQCAALQAbQQFxRQ0AIwBBEGsiASAAKAJUNgIMIAEoAgwoAgBBE0cNACAAKAJUQRVBABAUCyAAKAJQECUgACgCLBAWIABBADYCbAwDCyAAIAApA0BCAXw3A0AgACAAKQM4IAApAxB9NwM4DAELCwJAIAApA0AgACgCUCkDCFEEQCAAKQM4UA0BCyAAKAJUQRVBABAUIAAoAiwQFiAAKAJQECUgAEEANgJsDAELIAAoAmgoAgRBBHEEQAJAIAAoAiwEQCAAIAAoAiwQR0EBcToADwwBCyAAIAAoAmgoAgAQSTcDACAAKQMAQgBTBEAgACgCVCAAKAJoKAIAEBcgACgCUBAlIABBADYCbAwDCyAAIAApAwAgACgCUCkDICAAKAJQKQMYfFE6AA8LIAAtAA9BAXFFBEAgACgCVEEVQQAQFCAAKAIsEBYgACgCUBAlIABBADYCbAwCCwsgACgCLBAWIAAgACgCUDYCbAsgACgCbCEBIABB8ABqJAAgAiABNgJIIAEEQAJAIAIoAkwEQCACKQMgQgBXBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgCyACIAIoAlggAigCSCACQRBqEGg3AygCQCACKQMgIAIpAyhTBEAgAigCTBAlIAIgAigCSDYCTCACIAIpAyg3AyAMAQsgAigCSBAlCwwBCyACIAIoAkg2AkwCQCACKAJYKAIEQQRxBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgDAELIAJCADcDIAsLIAJBADYCSAsgAiACKAJEQQFqNgJEIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLBoMAQsLIAIoAgwQFiACKQMgQgBTBEAgAigCWEEIaiACQRBqEEUgAigCTBAlIAJBADYCXAwBCyACIAIoAkw2AlwLIAIoAlwhACACQeAAaiQAIAMgADYCWCAARQRAIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMAQsgAygCXCADKAJYKAIANgJAIAMoAlwgAygCWCkDCDcDMCADKAJcIAMoAlgpAxA3AzggAygCXCADKAJYKAIoNgIgIAMoAlgQFSADKAJcKAJQIQAgAygCXCkDMCEJIAMoAlxBCGohAiMAQSBrIgEkACABIAA2AhggASAJNwMQIAEgAjYCDAJAIAEpAxBQBEAgAUEBOgAfDAELIwBBIGsiACABKQMQNwMQIAAgACkDELpEAAAAAAAA6D+jOQMIAkAgACsDCEQAAOD////vQWQEQCAAQX82AgQMAQsgAAJ/IAArAwgiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AgQLAkAgACgCBEGAgICAeEsEQCAAQYCAgIB4NgIcDAELIAAgACgCBEEBazYCBCAAIAAoAgQgACgCBEEBdnI2AgQgACAAKAIEIAAoAgRBAnZyNgIEIAAgACgCBCAAKAIEQQR2cjYCBCAAIAAoAgQgACgCBEEIdnI2AgQgACAAKAIEIAAoAgRBEHZyNgIEIAAgACgCBEEBajYCBCAAIAAoAgQ2AhwLIAEgACgCHDYCCCABKAIIIAEoAhgoAgBNBEAgAUEBOgAfDAELIAEoAhggASgCCCABKAIMEFpBAXFFBEAgAUEAOgAfDAELIAFBAToAHwsgAS0AHxogAUEgaiQAIANCADcDEANAIAMpAxAgAygCXCkDMFQEQCADIAMoAlwoAkAgAykDEKdBBHRqKAIAKAIwQQBBACADKAJgEEY2AgwgAygCDEUEQCMAQRBrIgAgAygCaDYCDCAAKAIMIgAgACgCMEEBajYCMCADKAJcEDwgA0EANgJsDAMLIAMoAlwoAlAgAygCDCADKQMQQQggAygCXEEIahB0QQFxRQRAAkAgAygCXCgCCEEKRgRAIAMoAmRBBHFFDQELIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMBAsLIAMgAykDEEIBfDcDEAwBCwsgAygCXCADKAJcKAIUNgIYIAMgAygCXDYCbAsgAygCbCEAIANB8ABqJAAgBCAANgI4CyAEKAI4RQRAIAQoAlgQLxogBEEANgJcDAELIAQgBCgCODYCXAsgBCgCXCEAIARB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQrAFBAUYEQCMAQRBrIgAgAigCCDYCDEG0mwEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCeAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECA+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFCADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGo2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoEQ8AQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwvhAgECfyMAQSBrIgMkAAJ/AkACQEGnEiABLAAAEKIBRQRAQbSbAUEcNgIADAELQZgJEBgiAg0BC0EADAELIAJBAEGQARAzIAFBKxCiAUUEQCACQQhBBCABLQAAQfIARhs2AgALAkAgAS0AAEHhAEcEQCACKAIAIQEMAQsgAEEDQQAQBCIBQYAIcUUEQCADIAFBgAhyNgIQIABBBCADQRBqEAQaCyACIAIoAgBBgAFyIgE2AgALIAJB/wE6AEsgAkGACDYCMCACIAA2AjwgAiACQZgBajYCLAJAIAFBCHENACADIANBGGo2AgAgAEGTqAEgAxAODQAgAkEKOgBLCyACQRo2AiggAkEbNgIkIAJBHDYCICACQR02AgxB6J8BKAIARQRAIAJBfzYCTAsgAkGsoAEoAgA2AjhBrKABKAIAIgAEQCAAIAI2AjQLQaygASACNgIAIAILIQAgA0EgaiQAIAAL8AEBAn8CfwJAIAFB/wFxIgMEQCAAQQNxBEADQCAALQAAIgJFDQMgAiABQf8BcUYNAyAAQQFqIgBBA3ENAAsLAkAgACgCACICQX9zIAJBgYKECGtxQYCBgoR4cQ0AIANBgYKECGwhAwNAIAIgA3MiAkF/cyACQYGChAhrcUGAgYKEeHENASAAKAIEIQIgAEEEaiEAIAJBgYKECGsgAkF/c3FBgIGChHhxRQ0ACwsDQCAAIgItAAAiAwRAIAJBAWohACADIAFB/wFxRw0BCwsgAgwCCyAAEC4gAGoMAQsgAAsiAEEAIAAtAAAgAUH/AXFGGwsYACAAKAJMQX9MBEAgABCkAQ8LIAAQpAELYAIBfgJ/IAAoAighAkEBIQMgAEIAIAAtAABBgAFxBH9BAkEBIAAoAhQgACgCHEsbBUEBCyACEQ8AIgFCAFkEfiAAKAIUIAAoAhxrrCABIAAoAgggACgCBGusfXwFIAELC2sBAX8gAARAIAAoAkxBf0wEQCAAEG4PCyAAEG4PC0GwoAEoAgAEQEGwoAEoAgAQpQEhAQtBrKABKAIAIgAEQANAIAAoAkwaIAAoAhQgACgCHEsEQCAAEG4gAXIhAQsgACgCOCIADQALCyABCyIAIAAgARACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEYEQQACwt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARCpASEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC5sCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEGQmQEoAgAoAgBFBEAgAUGAf3FBgL8DRg0DDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMBAsgAUGAsANPQQAgAUGAQHFBgMADRxtFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwtBtJsBQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC+MBAQJ/IAJBAEchAwJAAkACQCAAQQNxRQ0AIAJFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiACQQFrIgJBAEchAyAAQQFqIgBBA3FFDQEgAg0ACwsgA0UNAQsCQCAALQAAIAFB/wFxRg0AIAJBBEkNACABQf8BcUGBgoQIbCEDA0AgACgCACADcyIEQX9zIARBgYKECGtxQYCBgoR4cQ0BIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQAgAUH/AXEhAQNAIAEgAC0AAEYEQCAADwsgAEEBaiEAIAJBAWsiAg0ACwtBAAtaAQF/IwBBEGsiASAANgIIAkACQCABKAIIKAIAQQBOBEAgASgCCCgCAEGAFCgCAEgNAQsgAUEANgIMDAELIAEgASgCCCgCAEECdEGQFGooAgA2AgwLIAEoAgwL+QIBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKAIYIAQpAxAgBCgCDCAEKAIIEK4BIgA2AgACQCAARQRAIARBADYCHAwBCyAEKAIAEEhBAEgEQCAEKAIYQQhqIAQoAgAQFyAEKAIAEBsgBEEANgIcDAELIAQoAhghAiMAQRBrIgAkACAAIAI2AgggAEEYEBgiAjYCBAJAIAJFBEAgACgCCEEIakEOQQAQFCAAQQA2AgwMAQsgACgCBCAAKAIINgIAIwBBEGsiAiAAKAIEQQRqNgIMIAIoAgxBADYCACACKAIMQQA2AgQgAigCDEEANgIIIAAoAgRBADoAECAAKAIEQQA2AhQgACAAKAIENgIMCyAAKAIMIQIgAEEQaiQAIAQgAjYCBCACRQRAIAQoAgAQGyAEQQA2AhwMAQsgBCgCBCAEKAIANgIUIAQgBCgCBDYCHAsgBCgCHCEAIARBIGokACAAC7cOAgN/AX4jAEHAAWsiBSQAIAUgADYCuAEgBSABNgK0ASAFIAI3A6gBIAUgAzYCpAEgBUIANwOYASAFQgA3A5ABIAUgBDYCjAECQCAFKAK4AUUEQCAFQQA2ArwBDAELAkAgBSgCtAEEQCAFKQOoASAFKAK0ASkDMFQNAQsgBSgCuAFBCGpBEkEAEBQgBUEANgK8AQwBCwJAIAUoAqQBQQhxDQAgBSgCtAEoAkAgBSkDqAGnQQR0aigCCEUEQCAFKAK0ASgCQCAFKQOoAadBBHRqLQAMQQFxRQ0BCyAFKAK4AUEIakEPQQAQFCAFQQA2ArwBDAELIAUoArQBIAUpA6gBIAUoAqQBQQhyIAVByABqEH5BAEgEQCAFKAK4AUEIakEUQQAQFCAFQQA2ArwBDAELIAUoAqQBQSBxBEAgBSAFKAKkAUEEcjYCpAELAkAgBSkDmAFQBEAgBSkDkAFQDQELIAUoAqQBQQRxRQ0AIAUoArgBQQhqQRJBABAUIAVBADYCvAEMAQsCQCAFKQOYAVAEQCAFKQOQAVANAQsgBSkDmAEgBSkDmAEgBSkDkAF8WARAIAUpA2AgBSkDmAEgBSkDkAF8Wg0BCyAFKAK4AUEIakESQQAQFCAFQQA2ArwBDAELIAUpA5ABUARAIAUgBSkDYCAFKQOYAX03A5ABCyAFIAUpA5ABIAUpA2BUOgBHIAUgBSgCpAFBIHEEf0EABSAFLwF6QQBHC0EBcToARSAFIAUoAqQBQQRxBH9BAAUgBS8BeEEARwtBAXE6AEQgBQJ/IAUoAqQBQQRxBEBBACAFLwF4DQEaCyAFLQBHQX9zC0EBcToARiAFLQBFQQFxBEAgBSgCjAFFBEAgBSAFKAK4ASgCHDYCjAELIAUoAowBRQRAIAUoArgBQQhqQRpBABAUIAVBADYCvAEMAgsLIAUpA2hQBEAgBSAFKAK4AUEAQgBBABB9NgK8AQwBCwJAAkAgBS0AR0EBcUUNACAFLQBFQQFxDQAgBS0AREEBcQ0AIAUgBSkDkAE3AyAgBSAFKQOQATcDKCAFQQA7ATggBSAFKAJwNgIwIAVC3AA3AwggBSAFKAK0ASgCACAFKQOYASAFKQOQASAFQQhqQQAgBSgCtAEgBSkDqAEgBSgCuAFBCGoQXyIANgKIAQwBCyAFIAUoArQBIAUpA6gBIAUoAqQBIAUoArgBQQhqED8iADYCBCAARQRAIAVBADYCvAEMAgsgBSAFKAK0ASgCAEIAIAUpA2ggBUHIAGogBSgCBC8BDEEBdkEDcSAFKAK0ASAFKQOoASAFKAK4AUEIahBfIgA2AogBCyAARQRAIAVBADYCvAEMAQsCfyAFKAKIASEAIAUoArQBIQMjAEEQayIBJAAgASAANgIMIAEgAzYCCCABKAIMIAEoAgg2AiwgASgCCCEDIAEoAgwhBCMAQSBrIgAkACAAIAM2AhggACAENgIUAkAgACgCGCgCSCAAKAIYKAJEQQFqTQRAIAAgACgCGCgCSEEKajYCDCAAIAAoAhgoAkwgACgCDEECdBBONgIQIAAoAhBFBEAgACgCGEEIakEOQQAQFCAAQX82AhwMAgsgACgCGCAAKAIMNgJIIAAoAhggACgCEDYCTAsgACgCFCEEIAAoAhgoAkwhBiAAKAIYIgcoAkQhAyAHIANBAWo2AkQgA0ECdCAGaiAENgIAIABBADYCHAsgACgCHCEDIABBIGokACABQRBqJAAgA0EASAsEQCAFKAKIARAbIAVBADYCvAEMAQsgBS0ARUEBcQRAIAUgBS8BekEAEHsiADYCACAARQRAIAUoArgBQQhqQRhBABAUIAVBADYCvAEMAgsgBSAFKAK4ASAFKAKIASAFLwF6QQAgBSgCjAEgBSgCABEFADYChAEgBSgCiAEQGyAFKAKEAUUEQCAFQQA2ArwBDAILIAUgBSgChAE2AogBCyAFLQBEQQFxBEAgBSAFKAK4ASAFKAKIASAFLwF4ELABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUtAEZBAXEEQCAFIAUoArgBIAUoAogBQQEQrwE2AoQBIAUoAogBEBsgBSgChAFFBEAgBUEANgK8AQwCCyAFIAUoAoQBNgKIAQsCQCAFLQBHQQFxRQ0AIAUtAEVBAXFFBEAgBS0AREEBcUUNAQsgBSgCuAEhASAFKAKIASEDIAUpA5gBIQIgBSkDkAEhCCMAQSBrIgAkACAAIAE2AhwgACADNgIYIAAgAjcDECAAIAg3AwggACgCGCAAKQMQIAApAwhBAEEAQQBCACAAKAIcQQhqEF8hASAAQSBqJAAgBSABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUgBSgCiAE2ArwBCyAFKAK8ASEAIAVBwAFqJAAgAAuEAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCEAJAIAMoAhRFBEAgAygCGEEIakESQQAQFCADQQA2AhwMAQsgA0E4EBgiADYCDCAARQRAIAMoAhhBCGpBDkEAEBQgA0EANgIcDAELIwBBEGsiACADKAIMQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAMoAgwgAygCEDYCACADKAIMQQA2AgQgAygCDEIANwMoQQBBAEEAEBohACADKAIMIAA2AjAgAygCDEIANwMYIAMgAygCGCADKAIUQRQgAygCDBBhNgIcCyADKAIcIQAgA0EgaiQAIAALQwEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBEEAQQAQsgEhACADQRBqJAAgAAtJAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCrEAgASgCDCgCqEAoAgQRAgAgASgCDBA4IAEoAgwQFQsgAUEQaiQAC5QFAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhggBUEANgIMAkAgBSgCJEUEQCAFKAIoQQhqQRJBABAUIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcRCzASIANgIMIABFBEAgBSgCKEEIakEQQQAQFCAFQQA2AiwMAQsgBSgCICEBIAUtAB9BAXEhAiAFKAIYIQMgBSgCDCEEIwBBIGsiACQAIAAgATYCGCAAIAI6ABcgACADNgIQIAAgBDYCDCAAQbDAABAYIgE2AggCQCABRQRAIABBADYCHAwBCyMAQRBrIgEgACgCCDYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIIAn8gAC0AF0EBcQRAIAAoAhhBf0cEfyAAKAIYQX5GBUEBC0EBcQwBC0EAC0EARzoADiAAKAIIIAAoAgw2AqhAIAAoAgggACgCGDYCFCAAKAIIIAAtABdBAXE6ABAgACgCCEEAOgAMIAAoAghBADoADSAAKAIIQQA6AA8gACgCCCgCqEAoAgAhAQJ/AkAgACgCGEF/RwRAIAAoAhhBfkcNAQtBCAwBCyAAKAIYC0H//wNxIAAoAhAgACgCCCABEQEAIQEgACgCCCABNgKsQCABRQRAIAAoAggQOCAAKAIIEBUgAEEANgIcDAELIAAgACgCCDYCHAsgACgCHCEBIABBIGokACAFIAE2AhQgAUUEQCAFKAIoQQhqQQ5BABAUIAVBADYCLAwBCyAFIAUoAiggBSgCJEETIAUoAhQQYSIANgIQIABFBEAgBSgCFBCxASAFQQA2AiwMAQsgBSAFKAIQNgIsCyAFKAIsIQAgBUEwaiQAIAALzAEBAX8jAEEgayICIAA2AhggAiABOgAXIAICfwJAIAIoAhhBf0cEQCACKAIYQX5HDQELQQgMAQsgAigCGAs7AQ4gAkEANgIQAkADQCACKAIQQdSXASgCAEkEQCACKAIQQQxsQdiXAWovAQAgAi8BDkYEQCACLQAXQQFxBEAgAiACKAIQQQxsQdiXAWooAgQ2AhwMBAsgAiACKAIQQQxsQdiXAWooAgg2AhwMAwUgAiACKAIQQQFqNgIQDAILAAsLIAJBADYCHAsgAigCHAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigoAgAoAhBFBEAgAUEANgIsDAQLCwwBCwsgASgCKEEANgK0LSABKAIkQQRGBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBARAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQI2AiwMAgsgAUEDNgIsDAELIAEoAigoAqAtBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBABAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQA2AiwMAgsLIAFBATYCLAsgASgCLCECIAFBMGokACACDAELIAAoAiwgACgCNCAAKAIsKAKEAUEMbEGA7wBqKAIIEQMACwsLNgIEAkAgACgCBEECRwRAIAAoAgRBA0cNAQsgACgCLEGaBTYCBAsCQCAAKAIEBEAgACgCBEECRw0BCyAAKAI4KAIQRQRAIAAoAixBfzYCKAsgAEEANgI8DAILIAAoAgRBAUYEQAJAIAAoAjRBAUYEQCAAKAIsIQIjAEEgayIBJAAgASACNgIcIAFBAzYCGAJAIAEoAhwoArwtQRAgASgCGGtKBEAgAUECNgIUIAEoAhwiAiACLwG4LSABKAIUQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAhRB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIYQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQQIgASgCHCgCvC10cjsBuC0gASgCHCICIAEoAhggAigCvC1qNgK8LQsgAUGS6AAvAQA2AhACQCABKAIcKAK8LUEQIAEoAhBrSgRAIAFBkOgALwEANgIMIAEoAhwiAiACLwG4LSABKAIMQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAgxB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIQQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQZDoAC8BACABKAIcKAK8LXRyOwG4LSABKAIcIgIgASgCECACKAK8LWo2ArwtCyABKAIcELwBIAFBIGokAAwBCyAAKAI0QQVHBEAgACgCLEEAQQBBABBdIAAoAjRBA0YEQCAAKAIsKAJEIAAoAiwoAkxBAWtBAXRqQQA7AQAgACgCLCgCREEAIAAoAiwoAkxBAWtBAXQQMyAAKAIsKAJ0RQRAIAAoAixBADYCbCAAKAIsQQA2AlwgACgCLEEANgK0LQsLCwsgACgCOBAcIAAoAjgoAhBFBEAgACgCLEF/NgIoIABBADYCPAwDCwsLIAAoAjRBBEcEQCAAQQA2AjwMAQsgACgCLCgCGEEATARAIABBATYCPAwBCwJAIAAoAiwoAhhBAkYEQCAAKAI4KAIwQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAjBBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIwQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAghBEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAADAELIAAoAiwgACgCOCgCMEEQdhBLIAAoAiwgACgCOCgCMEH//wNxEEsLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQEgAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBKDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJcDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCgCPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAAoAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADYCBAwhCyAAKAJQQQA2AhQgACgCUCgCJARAIAAoAlAoAiRBfzYCMAsCQCAAKAJQKAIMQQFxBEAgACgCPEH/AXFBCHQgACgCPEEIdmpBH3BFDQELIAAoAlhBmgw2AhggACgCUEHR/gA2AgQMIQsgACgCPEEPcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIQsgACAAKAI8QQR2NgI8IAAgACgCOEEEazYCOCAAIAAoAjxBD3FBCGo2AhQgACgCUCgCKEUEQCAAKAJQIAAoAhQ2AigLAkAgACgCFEEPTQRAIAAoAhQgACgCUCgCKE0NAQsgACgCWEGTDTYCGCAAKAJQQdH+ADYCBAwhCyAAKAJQQQEgACgCFHQ2AhhBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG9/gBBv/4AIAAoAjxBgARxGzYCBCAAQQA2AjwgAEEANgI4DCALA0AgACgCOEEQSQRAIAAoAkRFDSAgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCFCAAKAJQKAIUQf8BcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIAsgACgCUCgCFEGAwANxBEAgACgCWEGgCTYCGCAAKAJQQdH+ADYCBAwgCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8QQh2QQFxNgIACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4IAAoAlBBtv4ANgIECwNAIAAoAjhBIEkEQCAAKAJERQ0fIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIECwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAIAAoAjxBEHY6AA4gACAAKAI8QRh2OgAPIAAoAlAoAhwgAEEMakEEEBohASAAKAJQIAE2AhwLIABBADYCPCAAQQA2AjggACgCUEG3/gA2AgQLA0AgACgCOEEQSQRAIAAoAkRFDR4gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAoAiQEQCAAKAJQKAIkIAAoAjxB/wFxNgIIIAAoAlAoAiQgACgCPEEIdjYCDAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAgACgCPDoADCAAIAAoAjxBCHY6AA0gACgCUCgCHCAAQQxqQQIQGiEBIAAoAlAgATYCHAsgAEEANgI8IABBADYCOCAAKAJQQbj+ADYCBAsCQCAAKAJQKAIUQYAIcQRAA0AgACgCOEEQSQRAIAAoAkRFDR8gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCRCAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIUCwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4DAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AhALCyAAKAJQQbn+ADYCBAsgACgCUCgCFEGACHEEQCAAIAAoAlAoAkQ2AiwgACgCLCAAKAJESwRAIAAgACgCRDYCLAsgACgCLARAAkAgACgCUCgCJEUNACAAKAJQKAIkKAIQRQ0AIAAgACgCUCgCJCgCFCAAKAJQKAJEazYCFCAAKAJQKAIkKAIQIAAoAhRqIAAoAkwCfyAAKAJQKAIkKAIYIAAoAhQgACgCLGpJBEAgACgCUCgCJCgCGCAAKAIUawwBCyAAKAIsCxAZGgsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCUCIBIAEoAkQgACgCLGs2AkQLIAAoAlAoAkQNGwsgACgCUEEANgJEIAAoAlBBuv4ANgIECwJAIAAoAlAoAhRBgBBxBEAgACgCREUNGyAAQQA2AiwDQCAAKAJMIQEgACAAKAIsIgJBAWo2AiwgACABIAJqLQAANgIUAkAgACgCUCgCJEUNACAAKAJQKAIkKAIcRQ0AIAAoAlAoAkQgACgCUCgCJCgCIE8NACAAKAIUIQIgACgCUCgCJCgCHCEDIAAoAlAiBCgCRCEBIAQgAUEBajYCRCABIANqIAI6AAALIAAoAhQEfyAAKAIsIAAoAkRJBUEAC0EBcQ0ACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACgCUCgCHCAAKAJMIAAoAiwQGiEBIAAoAlAgATYCHAsgACAAKAJEIAAoAixrNgJEIAAgACgCLCAAKAJMajYCTCAAKAIUDRsMAQsgACgCUCgCJARAIAAoAlAoAiRBADYCHAsLIAAoAlBBADYCRCAAKAJQQbv+ADYCBAsCQCAAKAJQKAIUQYAgcQRAIAAoAkRFDRogAEEANgIsA0AgACgCTCEBIAAgACgCLCICQQFqNgIsIAAgASACai0AADYCFAJAIAAoAlAoAiRFDQAgACgCUCgCJCgCJEUNACAAKAJQKAJEIAAoAlAoAiQoAihPDQAgACgCFCECIAAoAlAoAiQoAiQhAyAAKAJQIgQoAkQhASAEIAFBAWo2AkQgASADaiACOgAACyAAKAIUBH8gACgCLCAAKAJESQVBAAtBAXENAAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCFA0aDAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AiQLCyAAKAJQQbz+ADYCBAsgACgCUCgCFEGABHEEQANAIAAoAjhBEEkEQCAAKAJERQ0aIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCwJAIAAoAlAoAgxBBHFFDQAgACgCPCAAKAJQKAIcQf//A3FGDQAgACgCWEH7DDYCGCAAKAJQQdH+ADYCBAwaCyAAQQA2AjwgAEEANgI4CyAAKAJQKAIkBEAgACgCUCgCJCAAKAJQKAIUQQl1QQFxNgIsIAAoAlAoAiRBATYCMAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQMGAsDQCAAKAI4QSBJBEAgACgCREUNGCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoiATYCHCAAKAJYIAE2AjAgAEEANgI8IABBADYCOCAAKAJQQb7+ADYCBAsgACgCUCgCEEUEQCAAKAJYIAAoAkg2AgwgACgCWCAAKAJANgIQIAAoAlggACgCTDYCACAAKAJYIAAoAkQ2AgQgACgCUCAAKAI8NgI8IAAoAlAgACgCODYCQCAAQQI2AlwMGAtBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQLIAAoAlRBBUYNFCAAKAJUQQZGDRQLIAAoAlAoAggEQCAAIAAoAjwgACgCOEEHcXY2AjwgACAAKAI4IAAoAjhBB3FrNgI4IAAoAlBBzv4ANgIEDBULA0AgACgCOEEDSQRAIAAoAkRFDRUgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPEEBcTYCCCAAIAAoAjxBAXY2AjwgACAAKAI4QQFrNgI4AkACQAJAAkACQCAAKAI8QQNxDgQAAQIDBAsgACgCUEHB/gA2AgQMAwsjAEEQayIBIAAoAlA2AgwgASgCDEGw8gA2AlAgASgCDEEJNgJYIAEoAgxBsIIBNgJUIAEoAgxBBTYCXCAAKAJQQcf+ADYCBCAAKAJUQQZGBEAgACAAKAI8QQJ2NgI8IAAgACgCOEECazYCOAwXCwwCCyAAKAJQQcT+ADYCBAwBCyAAKAJYQfANNgIYIAAoAlBB0f4ANgIECyAAIAAoAjxBAnY2AjwgACAAKAI4QQJrNgI4DBQLIAAgACgCPCAAKAI4QQdxdjYCPCAAIAAoAjggACgCOEEHcWs2AjgDQCAAKAI4QSBJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPEH//wNxIAAoAjxBEHZB//8Dc0cEQCAAKAJYQaEKNgIYIAAoAlBB0f4ANgIEDBQLIAAoAlAgACgCPEH//wNxNgJEIABBADYCPCAAQQA2AjggACgCUEHC/gA2AgQgACgCVEEGRg0SCyAAKAJQQcP+ADYCBAsgACAAKAJQKAJENgIsIAAoAiwEQCAAKAIsIAAoAkRLBEAgACAAKAJENgIsCyAAKAIsIAAoAkBLBEAgACAAKAJANgIsCyAAKAIsRQ0RIAAoAkggACgCTCAAKAIsEBkaIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACAAKAJAIAAoAixrNgJAIAAgACgCLCAAKAJIajYCSCAAKAJQIgEgASgCRCAAKAIsazYCRAwSCyAAKAJQQb/+ADYCBAwRCwNAIAAoAjhBDkkEQCAAKAJERQ0RIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIAAoAjxBH3FBgQJqNgJkIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QR9xQQFqNgJoIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QQ9xQQRqNgJgIAAgACgCPEEEdjYCPCAAIAAoAjhBBGs2AjgCQCAAKAJQKAJkQZ4CTQRAIAAoAlAoAmhBHk0NAQsgACgCWEH9CTYCGCAAKAJQQdH+ADYCBAwRCyAAKAJQQQA2AmwgACgCUEHF/gA2AgQLA0AgACgCUCgCbCAAKAJQKAJgSQRAA0AgACgCOEEDSQRAIAAoAkRFDRIgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAjxBB3EhAiAAKAJQQfQAaiEDIAAoAlAiBCgCbCEBIAQgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgA2ogAjsBACAAIAAoAjxBA3Y2AjwgACAAKAI4QQNrNgI4DAELCwNAIAAoAlAoAmxBE0kEQCAAKAJQQfQAaiECIAAoAlAiAygCbCEBIAMgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgAmpBADsBAAwBCwsgACgCUCAAKAJQQbQKajYCcCAAKAJQIAAoAlAoAnA2AlAgACgCUEEHNgJYIABBACAAKAJQQfQAakETIAAoAlBB8ABqIAAoAlBB2ABqIAAoAlBB9AVqEHU2AhAgACgCEARAIAAoAlhBhwk2AhggACgCUEHR/gA2AgQMEAsgACgCUEEANgJsIAAoAlBBxv4ANgIECwNAAkAgACgCUCgCbCAAKAJQKAJkIAAoAlAoAmhqTw0AA0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDREgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC8BIkEQSQRAIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggAC8BIiECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwJAIAAvASJBEEYEQANAIAAoAjggAC0AIUECakkEQCAAKAJERQ0UIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAoAmxFBEAgACgCWEHPCTYCGCAAKAJQQdH+ADYCBAwECyAAIAAoAlAgACgCUCgCbEEBdGovAXI2AhQgACAAKAI8QQNxQQNqNgIsIAAgACgCPEECdjYCPCAAIAAoAjhBAms2AjgMAQsCQCAALwEiQRFGBEADQCAAKAI4IAAtACFBA2pJBEAgACgCREUNFSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8QQdxQQNqNgIsIAAgACgCPEEDdjYCPCAAIAAoAjhBA2s2AjgMAQsDQCAAKAI4IAAtACFBB2pJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8Qf8AcUELajYCLCAAIAAoAjxBB3Y2AjwgACAAKAI4QQdrNgI4CwsgACgCUCgCbCAAKAIsaiAAKAJQKAJkIAAoAlAoAmhqSwRAIAAoAlhBzwk2AhggACgCUEHR/gA2AgQMAgsDQCAAIAAoAiwiAUEBazYCLCABBEAgACgCFCECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwsLDAELCyAAKAJQKAIEQdH+AEYNDiAAKAJQLwH0BEUEQCAAKAJYQfULNgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUEG0Cmo2AnAgACgCUCAAKAJQKAJwNgJQIAAoAlBBCTYCWCAAQQEgACgCUEH0AGogACgCUCgCZCAAKAJQQfAAaiAAKAJQQdgAaiAAKAJQQfQFahB1NgIQIAAoAhAEQCAAKAJYQesINgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUCgCcDYCVCAAKAJQQQY2AlwgAEECIAAoAlBB9ABqIAAoAlAoAmRBAXRqIAAoAlAoAmggACgCUEHwAGogACgCUEHcAGogACgCUEH0BWoQdTYCECAAKAIQBEAgACgCWEG5CTYCGCAAKAJQQdH+ADYCBAwPCyAAKAJQQcf+ADYCBCAAKAJUQQZGDQ0LIAAoAlBByP4ANgIECwJAIAAoAkRBBkkNACAAKAJAQYICSQ0AIAAoAlggACgCSDYCDCAAKAJYIAAoAkA2AhAgACgCWCAAKAJMNgIAIAAoAlggACgCRDYCBCAAKAJQIAAoAjw2AjwgACgCUCAAKAI4NgJAIAAoAjAhAiMAQeAAayIBIAAoAlg2AlwgASACNgJYIAEgASgCXCgCHDYCVCABIAEoAlwoAgA2AlAgASABKAJQIAEoAlwoAgRBBWtqNgJMIAEgASgCXCgCDDYCSCABIAEoAkggASgCWCABKAJcKAIQa2s2AkQgASABKAJIIAEoAlwoAhBBgQJrajYCQCABIAEoAlQoAiw2AjwgASABKAJUKAIwNgI4IAEgASgCVCgCNDYCNCABIAEoAlQoAjg2AjAgASABKAJUKAI8NgIsIAEgASgCVCgCQDYCKCABIAEoAlQoAlA2AiQgASABKAJUKAJUNgIgIAFBASABKAJUKAJYdEEBazYCHCABQQEgASgCVCgCXHRBAWs2AhgDQCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";ug(yo)||(yo=h(yo));function gg(d){try{if(d==yo&&V)return new Uint8Array(V);var E=Ca(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function Bp(d,E){var I,k,L;try{L=gg(d),k=new WebAssembly.Module(L),I=new WebAssembly.Instance(k,E)}catch(te){var Z=te.toString();throw D("failed to compile wasm module: "+Z),(Z.includes("imported Memory")||Z.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function bp(){var d={a:ma};function E(L,Z){var te=L.exports;t.asm=te,A=t.asm.u,Mr(A.buffer),gi=t.asm.pa,dA(t.asm.v),EA("wasm-instantiate")}if(mA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(L){return D("Module.instantiateWasm callback failed with error: "+L),!1}var k=Bp(yo,d);return E(k[0]),t.asm}var vr,se;function wo(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Fn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=L,Fn.GMTString||(Fn.GMTString=Be("GMT")),de[E+40>>2]=Fn.GMTString,E}function fg(d,E){return Fn(d,E)}var bt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var L=d[k];L==="."?d.splice(k,1):L===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=bt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=bt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=bt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return bt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return bt.normalize(d.join("/"))},join2:function(d,E){return bt.normalize(d+"/"+E)}};function Ll(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var Nn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=bt.normalizeArray(d.split("/").filter(function(L){return!!L}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Nn.resolve(d).substr(1),E=Nn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),L=I(E.split("/")),Z=Math.min(k.length,L.length),te=Z,we=0;we0?E=k.slice(0,L).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)}`}}};Yt.RequestError=ei;var oB=class extends ei{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Yt.MaxRedirectsError=oB;var aB=class extends ei{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Yt.HTTPError=aB;var AB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="CacheError"}};Yt.CacheError=AB;var lB=class extends ei{constructor(e,t){super(e.message,e,t),this.name="UploadError"}};Yt.UploadError=lB;var cB=class extends ei{constructor(e,t,i){super(e.message,e,i),this.name="TimeoutError",this.event=e.event,this.timings=t}};Yt.TimeoutError=cB;var bC=class extends ei{constructor(e,t){super(e.message,e,t),this.name="ReadError"}};Yt.ReadError=bC;var uB=class extends ei{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Yt.UnsupportedProtocolError=uB;var IDe=["socket","connect","continue","information","upgrade","timeout"],gB=class extends c6.Duplex{constructor(e,t={},i){super({autoDestroy:!1,highWaterMark:0}),this[Yf]=0,this[qf]=0,this.requestInitialized=!1,this[iB]=new Set,this.redirects=[],this[Jf]=!1,this[nB]=!1,this[BC]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof hR.IncomingMessage&&(this.options.headers={...c.headers,...this.options.headers})});let{json:o,body:a,form:l}=t;if((o||a||l)&&this._lockWrite(),Yt.kIsNormalizedAlready in t)this.options=t;else try{this.options=this.constructor.normalizeArguments(e,t,i)}catch(c){Ee.default.nodeStream(t.body)&&t.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof $Pe.ReadStream&&await CDe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Pi])===null||c===void 0||c.destroy();return}for(let g of this[BC])g();this[BC].length=0,this.requestInitialized=!0}catch(u){if(u instanceof ei){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,t,i){var n,s,o,a,l;let c=t;if(Ee.default.object(e)&&!Ee.default.urlInstance(e))t={...i,...e,...t};else{if(e&&t&&t.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");t={...i,...t},e!==void 0&&(t.url=e),Ee.default.urlInstance(t.url)&&(t.url=new VA.URL(t.url.toString()))}if(t.cache===!1&&(t.cache=void 0),t.dnsCache===!1&&(t.dnsCache=void 0),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.method),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.headers),Ee.assert.any([Ee.default.string,Ee.default.urlInstance,Ee.default.undefined],t.prefixUrl),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cookieJar),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.searchParams),Ee.assert.any([Ee.default.object,Ee.default.string,Ee.default.undefined],t.cache),Ee.assert.any([Ee.default.object,Ee.default.number,Ee.default.undefined],t.timeout),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.context),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.hooks),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.decompress),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.ignoreInvalidCookies),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.followRedirect),Ee.assert.any([Ee.default.number,Ee.default.undefined],t.maxRedirects),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.throwHttpErrors),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.http2),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.allowGetBody),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.localAddress),Ee.assert.any([d6.isDnsLookupIpVersion,Ee.default.undefined],t.dnsLookupIpVersion),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.https),Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.rejectUnauthorized),t.https&&(Ee.assert.any([Ee.default.boolean,Ee.default.undefined],t.https.rejectUnauthorized),Ee.assert.any([Ee.default.function_,Ee.default.undefined],t.https.checkServerIdentity),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificateAuthority),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.key),Ee.assert.any([Ee.default.string,Ee.default.object,Ee.default.array,Ee.default.undefined],t.https.certificate),Ee.assert.any([Ee.default.string,Ee.default.undefined],t.https.passphrase),Ee.assert.any([Ee.default.string,Ee.default.buffer,Ee.default.array,Ee.default.undefined],t.https.pfx)),Ee.assert.any([Ee.default.object,Ee.default.undefined],t.cacheOptions),Ee.default.string(t.method)?t.method=t.method.toUpperCase():t.method="GET",t.headers===(i==null?void 0:i.headers)?t.headers={...t.headers}:t.headers=sDe({...i==null?void 0:i.headers,...t.headers}),"slashes"in t)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in t)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in t&&t.searchParams&&t.searchParams!==(i==null?void 0:i.searchParams)){let h;if(Ee.default.string(t.searchParams)||t.searchParams instanceof VA.URLSearchParams)h=new VA.URLSearchParams(t.searchParams);else{pDe(t.searchParams),h=new VA.URLSearchParams;for(let p in t.searchParams){let C=t.searchParams[p];C===null?h.append(p,""):C!==void 0&&h.append(p,C)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,C)=>{h.has(C)||h.append(C,p)}),t.searchParams=h}if(t.username=(s=t.username)!==null&&s!==void 0?s:"",t.password=(o=t.password)!==null&&o!==void 0?o:"",Ee.default.undefined(t.prefixUrl)?t.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(t.prefixUrl=t.prefixUrl.toString(),t.prefixUrl!==""&&!t.prefixUrl.endsWith("/")&&(t.prefixUrl+="/")),Ee.default.string(t.url)){if(t.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");t.url=p6.default(t.prefixUrl+t.url,t)}else(Ee.default.undefined(t.url)&&t.prefixUrl!==""||t.protocol)&&(t.url=p6.default(t.prefixUrl,t));if(t.url){"port"in t&&delete t.port;let{prefixUrl:h}=t;Object.defineProperty(t,"prefixUrl",{set:C=>{let y=t.url;if(!y.href.startsWith(C))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${C}: ${y.href}`);t.url=new VA.URL(C+y.href.slice(h.length)),h=C},get:()=>h});let{protocol:p}=t.url;if(p==="unix:"&&(p="http:",t.url=new VA.URL(`http://unix${t.url.pathname}${t.url.search}`)),t.searchParams&&(t.url.search=t.searchParams.toString()),p!=="http:"&&p!=="https:")throw new uB(t);t.username===""?t.username=t.url.username:t.url.username=t.username,t.password===""?t.password=t.url.password:t.url.password=t.password}let{cookieJar:u}=t;if(u){let{setCookie:h,getCookieString:p}=u;Ee.assert.function_(h),Ee.assert.function_(p),h.length===4&&p.length===0&&(h=l6.promisify(h.bind(t.cookieJar)),p=l6.promisify(p.bind(t.cookieJar)),t.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=t;if(g&&(CR.has(g)||CR.set(g,new g6((h,p)=>{let C=h[Pi](h,p);return Ee.default.promise(C)&&(C.once=(y,B)=>{if(y==="error")C.catch(B);else if(y==="abort")(async()=>{try{(await C).once("abort",B)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return C}),C},g))),t.cacheOptions={...t.cacheOptions},t.dnsCache===!0)pR||(pR=new rDe.default),t.dnsCache=pR;else if(!Ee.default.undefined(t.dnsCache)&&!t.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${Ee.default(t.dnsCache)}`);Ee.default.number(t.timeout)?t.timeout={request:t.timeout}:i&&t.timeout!==i.timeout?t.timeout={...i.timeout,...t.timeout}:t.timeout={...t.timeout},t.context||(t.context={});let f=t.hooks===(i==null?void 0:i.hooks);t.hooks={...t.hooks};for(let h of Yt.knownHookEvents)if(h in t.hooks)if(Ee.default.array(t.hooks[h]))t.hooks[h]=[...t.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${Ee.default(t.hooks[h])}`);else t.hooks[h]=[];if(i&&!f)for(let h of Yt.knownHookEvents)i.hooks[h].length>0&&(t.hooks[h]=[...i.hooks[h],...t.hooks[h]]);if("family"in t&&XA.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),i!=null&&i.https&&(t.https={...i.https,...t.https}),"rejectUnauthorized"in t&&XA.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in t&&XA.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in t&&XA.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in t&&XA.default('"options.key" was never documented, please use "options.https.key"'),"cert"in t&&XA.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in t&&XA.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in t&&XA.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in t)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(t.agent){for(let h in t.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return t.maxRedirects=(l=t.maxRedirects)!==null&&l!==void 0?l:0,Yt.setNonEnumerableProperties([i,c],t),gDe.default(t,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:t}=e,i=!Ee.default.undefined(e.form),n=!Ee.default.undefined(e.json),s=!Ee.default.undefined(e.body),o=i||n||s,a=Yt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof c6.Readable)&&!Ee.default.string(e.body)&&!Ee.default.buffer(e.body)&&!f6.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!Ee.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!Ee.default.string(t["content-type"]);s?(f6.default(e.body)&&l&&(t["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ZA]=e.body):i?(l&&(t["content-type"]="application/x-www-form-urlencoded"),this[ZA]=new VA.URLSearchParams(e.form).toString()):(l&&(t["content-type"]="application/json"),this[ZA]=e.stringifyJson(e.json));let c=await oDe.default(this[ZA],e.headers);Ee.default.undefined(t["content-length"])&&Ee.default.undefined(t["transfer-encoding"])&&!a&&!Ee.default.undefined(c)&&(t["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[jf]=Number(t["content-length"])||void 0}async _onResponseBase(e){let{options:t}=this,{url:i}=t;this[I6]=e,t.decompress&&(e=iDe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:u6.STATUS_CODES[n],s.url=t.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[m6]=s.isFromCache,this[Gf]=Number(e.headers["content-length"])||void 0,this[sB]=e,e.once("end",()=>{this[Gf]=this[Yf],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new bC(a,this))}),e.once("aborted",()=>{this._beforeError(new bC({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(Ee.default.object(t.cookieJar)&&o){let a=o.map(async l=>t.cookieJar.setCookie(l,i.toString()));t.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(t.followRedirect&&e.headers.location&&mDe.has(n)){if(e.resume(),this[Pi]&&(this[dR](),delete this[Pi],this[C6]()),(n===303&&t.method!=="GET"&&t.method!=="HEAD"||!t.methodRewriting)&&(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form,this[ZA]=void 0,delete t.headers["content-length"]),this.redirects.length>=t.maxRedirects){this._beforeError(new oB(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new VA.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in t.headers&&delete t.headers.host,"cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username="",t.password="")):(c.username=t.username,c.password=t.password),this.redirects.push(u),t.url=c;for(let g of t.hooks.beforeRedirect)await g(t,s);this.emit("redirect",s,t),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(t.isStream&&t.throwHttpErrors&&!uDe.isResponseOk(s)){this._beforeError(new aB(s));return}e.on("readable",()=>{this[nB]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[iB])if(!a.headersSent){for(let l in e.headers){let c=t.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(t){this._beforeError(t)}}_onRequest(e){let{options:t}=this,{timeout:i,url:n}=t;tDe.default(e),this[dR]=h6.default(e,i,n);let s=t.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof h6.TimeoutError?new cB(l,this.timings,this):new ei(l.message,l,this),this._beforeError(l)}),this[C6]=aDe.default(e,this,IDe),this[Pi]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[ZA],a=this.redirects.length===0?this:e;Ee.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new lB(l,this))})):(this._unlockWrite(),Ee.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,t){return new Promise((i,n)=>{Object.assign(t,ADe.default(e)),delete t.url;let s,o=CR.get(t.cache)(t,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});t.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,t,i,n,s;let{options:o}=this,{headers:a}=o;for(let B in a)if(Ee.default.undefined(a[B]))delete a[B];else if(Ee.default.null_(a[B]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${B}\` header`);if(o.decompress&&Ee.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=hDe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let B=await o.cookieJar.getCookieString(o.url.toString());Ee.default.nonEmptyString(B)&&(o.headers.cookie=B)}for(let B of o.hooks.beforeRequest){let v=await B(o);if(!Ee.default.undefined(v)){o.request=()=>v;break}}o.body&&this[ZA]!==o.body&&(this[ZA]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let B=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(B!=null&&B.groups){let{socketPath:v,path:D}=B.groups;Object.assign(o,{socketPath:v,path:D,host:""})}}let f=g.protocol==="https:",h;o.http2?h=nDe.auto:h=f?eDe.request:u6.request;let p=(e=o.request)!==null&&e!==void 0?e:h,C=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Pi]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(t=o.cacheOptions)===null||t===void 0?void 0:t.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=d6.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let B=await C(g,y);Ee.default.undefined(B)&&(B=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),dDe(B)?this._onRequest(B):this.writable?(this.once("finish",()=>{this._onResponse(B)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(B)}catch(B){throw B instanceof g6.CacheError?new AB(B,this):new ei(B.message,B,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new ei(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[Jf])return;let{options:t}=this,i=this.retryCount+1;this[Jf]=!0,e instanceof ei||(e=new ei(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await cDe.default(s),s.body=s.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await t.retry.calculateDelay({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:fDe.default({attemptCount:i,retryOptions:t.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new ei(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new ei(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[y6]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[nB]=!0;let e=this[sB];if(e&&!this[Jf]){e.readableLength&&(this[nB]=!1);let t;for(;(t=e.read())!==null;){this[Yf]+=t.length,this[E6]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(t)}}}_write(e,t,i){let n=()=>{this._writeRequest(e,t,i)};this.requestInitialized?n():this[BC].push(n)}_writeRequest(e,t,i){this[Pi].destroyed||(this._progressCallbacks.push(()=>{this[qf]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Pi].write(e,t,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Pi in this)){e();return}if(this[Pi].destroyed){e();return}this[Pi].end(i=>{i||(this[jf]=this[qf],this.emit("uploadProgress",this.uploadProgress),this[Pi].emit("upload-complete")),e(i)})};this.requestInitialized?t():this[BC].push(t)}_destroy(e,t){var i;this[Jf]=!0,clearTimeout(this[y6]),Pi in this&&(this[dR](),!((i=this[sB])===null||i===void 0)&&i.complete||this[Pi].destroy()),e!==null&&!Ee.default.undefined(e)&&!(e instanceof ei)&&(e=new ei(e.message,e,this)),t(e)}get _isAboutToError(){return this[Jf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,t,i;return((t=(e=this[Pi])===null||e===void 0?void 0:e.destroyed)!==null&&t!==void 0?t:this.destroyed)&&!(!((i=this[I6])===null||i===void 0)&&i.complete)}get socket(){var e,t;return(t=(e=this[Pi])===null||e===void 0?void 0:e.socket)!==null&&t!==void 0?t:void 0}get downloadProgress(){let e;return this[Gf]?e=this[Yf]/this[Gf]:this[Gf]===this[Yf]?e=1:e=0,{percent:e,transferred:this[Yf],total:this[Gf]}}get uploadProgress(){let e;return this[jf]?e=this[qf]/this[jf]:this[jf]===this[qf]?e=1:e=0,{percent:e,transferred:this[qf],total:this[jf]}}get timings(){var e;return(e=this[Pi])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[m6]}pipe(e,t){if(this[E6])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof hR.ServerResponse&&this[iB].add(e),super.pipe(e,t)}unpipe(e){return e instanceof hR.ServerResponse&&this[iB].delete(e),super.unpipe(e),this}};Yt.default=gB});var SC=w(Ao=>{"use strict";var yDe=Ao&&Ao.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),wDe=Ao&&Ao.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&yDe(e,r,t)};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.CancelError=Ao.ParseError=void 0;var w6=QC(),mR=class extends w6.RequestError{constructor(e,t){let{options:i}=t.request;super(`${e.message} in "${i.url.toString()}"`,e,t.request),this.name="ParseError"}};Ao.ParseError=mR;var ER=class extends w6.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};Ao.CancelError=ER;wDe(QC(),Ao)});var b6=w(IR=>{"use strict";Object.defineProperty(IR,"__esModule",{value:!0});var B6=SC(),BDe=(r,e,t,i)=>{let{rawBody:n}=r;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":t(n.toString());if(e==="buffer")return n;throw new B6.ParseError({message:`Unknown body type '${e}'`,name:"Error"},r)}catch(s){throw new B6.ParseError(s,r)}};IR.default=BDe});var yR=w(_A=>{"use strict";var bDe=_A&&_A.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),QDe=_A&&_A.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&bDe(e,r,t)};Object.defineProperty(_A,"__esModule",{value:!0});var SDe=J("events"),vDe=Ya(),xDe=bz(),fB=SC(),Q6=b6(),S6=QC(),PDe=iR(),DDe=cR(),v6=uR(),kDe=["request","response","redirect","uploadProgress","downloadProgress"];function x6(r){let e,t,i=new SDe.EventEmitter,n=new xDe((o,a,l)=>{let c=u=>{let g=new S6.default(void 0,r);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new fB.CancelError(g))),e=g,g.once("response",async p=>{var C;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await DDe.default(g),p.rawBody=y}catch{return}if(g._isAboutToError)return;let B=((C=p.headers["content-encoding"])!==null&&C!==void 0?C:"").toLowerCase(),v=["gzip","deflate","br"].includes(B),{options:D}=g;if(v&&!D.decompress)p.body=y;else try{p.body=Q6.default(p,D.responseType,D.parseJson,D.encoding)}catch(T){if(p.body=y.toString(),v6.isResponseOk(p)){g._beforeError(T);return}}try{for(let[T,H]of D.hooks.afterResponse.entries())p=await H(p,async j=>{let $=S6.default.normalizeArguments(void 0,{...j,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},D);$.hooks.afterResponse=$.hooks.afterResponse.slice(0,T);for(let W of $.hooks.beforeRetry)await W($);let V=x6($);return l(()=>{V.catch(()=>{}),V.cancel()}),V})}catch(T){g._beforeError(new fB.RequestError(T.message,T,g));return}if(!v6.isResponseOk(p)){g._beforeError(new fB.HTTPError(p));return}t=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:C}=g;if(p instanceof fB.HTTPError&&!C.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,C)=>{var y,B;if(h===((y=C.request)===null||y===void 0?void 0:y.options.body)&&vDe.default.nodeStream((B=C.request)===null||B===void 0?void 0:B.options.body)){f(C);return}c(p)}),PDe.default(g,i,kDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=t.request;return Q6.default(t,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}_A.default=x6;QDe(SC(),_A)});var P6=w(wR=>{"use strict";Object.defineProperty(wR,"__esModule",{value:!0});var RDe=SC();function FDe(r,...e){let t=(async()=>{if(r instanceof RDe.RequestError)try{for(let n of e)if(n)for(let s of n)r=await s(r)}catch(n){r=n}throw r})(),i=()=>t;return t.json=i,t.text=i,t.buffer=i,t.on=i,t}wR.default=FDe});var R6=w(BR=>{"use strict";Object.defineProperty(BR,"__esModule",{value:!0});var D6=Ya();function k6(r){for(let e of Object.values(r))(D6.default.plainObject(e)||D6.default.array(e))&&k6(e);return Object.freeze(r)}BR.default=k6});var N6=w(F6=>{"use strict";Object.defineProperty(F6,"__esModule",{value:!0})});var bR=w(Qs=>{"use strict";var NDe=Qs&&Qs.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),TDe=Qs&&Qs.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&NDe(e,r,t)};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.defaultHandler=void 0;var T6=Ya(),bs=yR(),LDe=P6(),pB=QC(),ODe=R6(),MDe={RequestError:bs.RequestError,CacheError:bs.CacheError,ReadError:bs.ReadError,HTTPError:bs.HTTPError,MaxRedirectsError:bs.MaxRedirectsError,TimeoutError:bs.TimeoutError,ParseError:bs.ParseError,CancelError:bs.CancelError,UnsupportedProtocolError:bs.UnsupportedProtocolError,UploadError:bs.UploadError},KDe=async r=>new Promise(e=>{setTimeout(e,r)}),{normalizeArguments:hB}=pB.default,L6=(...r)=>{let e;for(let t of r)e=hB(void 0,t,e);return e},UDe=r=>r.isStream?new pB.default(void 0,r):bs.default(r),HDe=r=>"defaults"in r&&"options"in r.defaults,GDe=["get","post","put","patch","head","delete"];Qs.defaultHandler=(r,e)=>e(r);var O6=(r,e)=>{if(r)for(let t of r)t(e)},M6=r=>{r._rawHandlers=r.handlers,r.handlers=r.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>r.handlers[l++](u,l===r.handlers.length?UDe:c);if(T6.default.plainObject(i)){let u={...i,...n};pB.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{O6(r.options.hooks.init,n),O6((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=hB(i,n,s!=null?s:r.options);if(g[pB.kIsNormalizedAlready]=!0,u)throw new bs.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return LDe.default(u,r.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[r.options],s=[...r._rawHandlers],o;for(let a of i)HDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Qs.defaultHandler),s.length===0&&s.push(Qs.defaultHandler),M6({options:L6(...n),handlers:s,mutableDefaults:Boolean(o)})};let t=async function*(i,n){let s=hB(i,n,r.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!T6.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of t(i,n))s.push(o);return s},e.paginate.each=t,e.stream=(i,n)=>e(i,{...n,isStream:!0});for(let i of GDe)e[i]=(n,s)=>e(n,{...s,method:i}),e.stream[i]=(n,s)=>e(n,{...s,method:i,isStream:!0});return Object.assign(e,MDe),Object.defineProperty(e,"defaults",{value:r.mutableDefaults?r:ODe.default(r),writable:r.mutableDefaults,configurable:r.mutableDefaults,enumerable:!0}),e.mergeOptions=L6,e};Qs.default=M6;TDe(N6(),Qs)});var CB=w((ja,dB)=>{"use strict";var YDe=ja&&ja.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),K6=ja&&ja.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&YDe(e,r,t)};Object.defineProperty(ja,"__esModule",{value:!0});var jDe=J("url"),U6=bR(),qDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:r})=>r},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:r=>r.request.options.responseType==="json"?r.body:JSON.parse(r.body),paginate:r=>{if(!Reflect.has(r.headers,"link"))return!1;let e=r.headers.link.split(","),t;for(let i of e){let n=i.split(";");if(n[1].includes("next")){t=n[0].trimStart().trim(),t=t.slice(1,-1);break}}return t?{url:new jDe.URL(t)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:r=>JSON.parse(r),stringifyJson:r=>JSON.stringify(r),cacheOptions:{}},handlers:[U6.defaultHandler],mutableDefaults:!1},QR=U6.default(qDe);ja.default=QR;dB.exports=QR;dB.exports.default=QR;dB.exports.__esModule=!0;K6(bR(),ja);K6(yR(),ja)});var j6=w(Wf=>{"use strict";var ost=J("net"),JDe=J("tls"),SR=J("http"),H6=J("https"),WDe=J("events"),ast=J("assert"),zDe=J("util");Wf.httpOverHttp=VDe;Wf.httpsOverHttp=XDe;Wf.httpOverHttps=ZDe;Wf.httpsOverHttps=_De;function VDe(r){var e=new qa(r);return e.request=SR.request,e}function XDe(r){var e=new qa(r);return e.request=SR.request,e.createSocket=G6,e.defaultPort=443,e}function ZDe(r){var e=new qa(r);return e.request=H6.request,e}function _De(r){var e=new qa(r);return e.request=H6.request,e.createSocket=G6,e.defaultPort=443,e}function qa(r){var e=this;e.options=r||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SR.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Y6(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};qa.prototype.createSocket=function(e,t){var i=this,n={};i.sockets.push(n);var s=vR({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),$A("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){$A("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){$A("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return $A("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,t(f)}function u(g){o.removeAllListeners(),$A(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};qa.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(t!==-1){this.sockets.splice(t,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function G6(r,e){var t=this;qa.prototype.createSocket.call(t,r,function(i){var n=r.request.getHeader("host"),s=vR({},t.options,{socket:i,servername:n?n.replace(/:.*$/,""):r.host}),o=JDe.connect(0,s);t.sockets[t.sockets.indexOf(i)]=o,e(o)})}function Y6(r,e,t){return typeof r=="string"?{host:r,port:e,localAddress:t}:r}function vR(r){for(var e=1,t=arguments.length;e{q6.exports=j6()});var iV=w((IB,FR)=>{var rV=Object.assign({},J("fs")),RR=function(){var r=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(r=r||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,n;t.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in t)t.hasOwnProperty(o)&&(s[o]=t[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return t.locateFile?t.locateFile(d,f):f+d}var p,C,y,B;g&&(u?f=J("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var k=Ca(E);return k?I?k:k.toString():(y||(y=rV),B||(B=J("path")),E=B.normalize(E),y.readFileSync(E,I?null:"utf8"))},C=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),re(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},t.inspect=function(){return"[Emscripten Module object]"});var v=t.print||console.log.bind(console),D=t.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(t[o]=s[o]);s=null,t.arguments&&(a=t.arguments),t.thisProgram&&(l=t.thisProgram),t.quit&&(c=t.quit);var T=16;function H(d,E){return E||(E=T),Math.ceil(d/E)*E}var j=0,$=function(d){j=d},V;t.wasmBinary&&(V=t.wasmBinary);var W=t.noExitRuntime||!0;typeof WebAssembly!="object"&&wr("no native wasm support detected");function _(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return ne[d>>0];case"i8":return ne[d>>0];case"i16":return he[d>>1];case"i32":return de[d>>2];case"i64":return de[d>>2];case"float":return Pt[d>>2];case"double":return It[d>>3];default:wr("invalid type for getValue: "+E)}return null}var A,Ae=!1,ge;function re(d,E){d||wr("Assertion failed: "+E)}function O(d){var E=t["_"+d];return re(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function F(d,E,I,k,L){var Z={string:function(it){var Et=0;if(it!=null&&it!==0){var be=(it.length<<2)+1;Et=b(be),oe(it,Et,be)}return Et},array:function(it){var Et=b(it.length);return fe(it,Et),Et}};function te(it){return E==="string"?Fe(it):E==="boolean"?Boolean(it):it}var we=O(d),me=[],Je=0;if(k)for(var nt=0;nt=k);)++L;if(L-E>16&&d.subarray&&pe)return pe.decode(d.subarray(E,L));for(var Z="";E>10,56320|Je&1023)}}return Z}function Fe(d,E){return d?ke(Y,d,E):""}function Ne(d,E,I,k){if(!(k>0))return 0;for(var L=I,Z=I+k-1,te=0;te=55296&&we<=57343){var me=d.charCodeAt(++te);we=65536+((we&1023)<<10)|me&1023}if(we<=127){if(I>=Z)break;E[I++]=we}else if(we<=2047){if(I+1>=Z)break;E[I++]=192|we>>6,E[I++]=128|we&63}else if(we<=65535){if(I+2>=Z)break;E[I++]=224|we>>12,E[I++]=128|we>>6&63,E[I++]=128|we&63}else{if(I+3>=Z)break;E[I++]=240|we>>18,E[I++]=128|we>>12&63,E[I++]=128|we>>6&63,E[I++]=128|we&63}}return E[I]=0,I-L}function oe(d,E,I){return Ne(d,Y,E,I)}function le(d){for(var E=0,I=0;I=55296&&k<=57343&&(k=65536+((k&1023)<<10)|d.charCodeAt(++I)&1023),k<=127?++E:k<=2047?E+=2:k<=65535?E+=3:E+=4}return E}function Be(d){var E=le(d)+1,I=dt(E);return I&&Ne(d,ne,I,E),I}function fe(d,E){ne.set(d,E)}function ae(d,E){return d%E>0&&(d+=E-d%E),d}var qe,ne,Y,he,ie,de,_e,Pt,It;function Or(d){qe=d,t.HEAP8=ne=new Int8Array(d),t.HEAP16=he=new Int16Array(d),t.HEAP32=de=new Int32Array(d),t.HEAPU8=Y=new Uint8Array(d),t.HEAPU16=ie=new Uint16Array(d),t.HEAPU32=_e=new Uint32Array(d),t.HEAPF32=Pt=new Float32Array(d),t.HEAPF64=It=new Float64Array(d)}var ii=t.INITIAL_MEMORY||16777216,gi,hr=[],fi=[],ni=[],Ks=!1;function pr(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)fa(t.preRun.shift());wo(hr)}function Ii(){Ks=!0,!t.noFSInit&&!S.init.initialized&&S.init(),ns.init(),wo(fi)}function rs(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)cg(t.postRun.shift());wo(ni)}function fa(d){hr.unshift(d)}function dA(d){fi.unshift(d)}function cg(d){ni.unshift(d)}var is=0,CA=null,ha=null;function wp(d){return d}function mA(d){is++,t.monitorRunDependencies&&t.monitorRunDependencies(is)}function EA(d){if(is--,t.monitorRunDependencies&&t.monitorRunDependencies(is),is==0&&(CA!==null&&(clearInterval(CA),CA=null),ha)){var E=ha;ha=null,E()}}t.preloadedImages={},t.preloadedAudios={};function wr(d){t.onAbort&&t.onAbort(d),d+="",D(d),Ae=!0,ge=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var Tl="data:application/octet-stream;base64,";function ug(d){return d.startsWith(Tl)}var yo="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";ug(yo)||(yo=h(yo));function gg(d){try{if(d==yo&&V)return new Uint8Array(V);var E=Ca(d);if(E)return E;if(C)return C(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){wr(I)}}function Bp(d,E){var I,k,L;try{L=gg(d),k=new WebAssembly.Module(L),I=new WebAssembly.Instance(k,E)}catch(te){var Z=te.toString();throw D("failed to compile wasm module: "+Z),(Z.includes("imported Memory")||Z.includes("memory import"))&&D("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),te}return[I,k]}function bp(){var d={a:ma};function E(L,Z){var te=L.exports;t.asm=te,A=t.asm.u,Or(A.buffer),gi=t.asm.pa,dA(t.asm.v),EA("wasm-instantiate")}if(mA("wasm-instantiate"),t.instantiateWasm)try{var I=t.instantiateWasm(d,E);return I}catch(L){return D("Module.instantiateWasm callback failed with error: "+L),!1}var k=Bp(yo,d);return E(k[0]),t.asm}var vr,se;function wo(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(t);continue}var I=E.func;typeof I=="number"?E.arg===void 0?gi.get(I)():gi.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function Fn(d,E){var I=new Date(de[d>>2]*1e3);de[E>>2]=I.getUTCSeconds(),de[E+4>>2]=I.getUTCMinutes(),de[E+8>>2]=I.getUTCHours(),de[E+12>>2]=I.getUTCDate(),de[E+16>>2]=I.getUTCMonth(),de[E+20>>2]=I.getUTCFullYear()-1900,de[E+24>>2]=I.getUTCDay(),de[E+36>>2]=0,de[E+32>>2]=0;var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[E+28>>2]=L,Fn.GMTString||(Fn.GMTString=Be("GMT")),de[E+40>>2]=Fn.GMTString,E}function fg(d,E){return Fn(d,E)}var bt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,k=d.length-1;k>=0;k--){var L=d[k];L==="."?d.splice(k,1):L===".."?(d.splice(k,1),I++):I&&(d.splice(k,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=bt.normalizeArray(d.split("/").filter(function(k){return!!k}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=bt.splitPath(d),I=E[0],k=E[1];return!I&&!k?".":(k&&(k=k.substr(0,k.length-1)),I+k)},basename:function(d){if(d==="/")return"/";d=bt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return bt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return bt.normalize(d.join("/"))},join2:function(d,E){return bt.normalize(d+"/"+E)}};function Ll(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=J("crypto");return function(){return E.randomBytes(1)[0]}}catch{}return function(){wr("randomDevice")}}var Nn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var k=I>=0?arguments[I]:S.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";d=k+"/"+d,E=k.charAt(0)==="/"}return d=bt.normalizeArray(d.split("/").filter(function(L){return!!L}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Nn.resolve(d).substr(1),E=Nn.resolve(E).substr(1);function I(Je){for(var nt=0;nt=0&&Je[wt]==="";wt--);return nt>wt?[]:Je.slice(nt,wt-nt+1)}for(var k=I(d.split("/")),L=I(E.split("/")),Z=Math.min(k.length,L.length),te=Z,we=0;we0?E=k.slice(0,L).toString("utf-8"):E=null}else typeof window<"u"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` `)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` -`));if(!E)return null;d.input=yA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function ss(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var L=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(L.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var L in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,L){var Z=d.node.contents;if(L>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-L,k);if(te>8&&Z.subarray)E.set(Z.subarray(L,L+te),I);else for(var we=0;we0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),bt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Le.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Le.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Le.utimesSync(I,k,k)}E.size!==void 0&&Le.truncateSync(I,E.size)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},lookup:function(d,E){var I=bt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var L=At.createNode(d,E,I,k),Z=At.realPath(L);try{S.isDir(L.mode)?Le.mkdirSync(Z,L.mode):Le.writeFileSync(Z,"",{mode:L.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return L},rename:function(d,E,I){var k=At.realPath(d),L=bt.join2(At.realPath(E),I);try{Le.renameSync(k,L)}catch(Z){throw Z.code?new S.ErrnoError(At.convertNodeCode(Z)):Z}d.name=I},unlink:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Le.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=bt.join2(At.realPath(d),E);try{Le.symlinkSync(I,k)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},readlink:function(d){var E=At.realPath(d);try{return E=Le.readlinkSync(E),E=dg.relative(dg.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Le.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Le.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,L){if(k===0)return 0;try{return Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},write:function(d,E,I,k,L){try{return Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var L=Le.fstatSync(d.nfd);k+=L.size}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,L,Z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=ss(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(L&2)return 0;var Z=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},ln={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Le.mkdirSync(d,E):Le.writeFileSync(d,"",{mode:E})},mkdir:function(){Le.mkdirSync.apply(void 0,arguments)},symlink:function(){Le.symlinkSync.apply(void 0,arguments)},rename:function(){Le.renameSync.apply(void 0,arguments)},rmdir:function(){Le.rmdirSync.apply(void 0,arguments)},readdir:function(){Le.readdirSync.apply(void 0,arguments)},unlink:function(){Le.unlinkSync.apply(void 0,arguments)},readlink:function(){return Le.readlinkSync.apply(void 0,arguments)},stat:function(){return Le.statSync.apply(void 0,arguments)},lstat:function(){return Le.lstatSync.apply(void 0,arguments)},chmod:function(){Le.chmodSync.apply(void 0,arguments)},fchmod:function(){Le.fchmodSync.apply(void 0,arguments)},chown:function(){Le.chownSync.apply(void 0,arguments)},fchown:function(){Le.fchownSync.apply(void 0,arguments)},truncate:function(){Le.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Le.ftruncateSync.apply(void 0,arguments)},utime:function(){Le.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Hs.modeStringToFlags(E));var L=Le.openSync(d,At.flagsForNode(E),I),Z=k!=null?k:S.nextfd(L),te={fd:Z,nfd:L,position:0,path:d,flags:E,seekable:!0};return S.streams[Z]=te,te},close:function(d){d.stream_ops||Le.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Hs.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Le.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(Bo.EINVAL);if(k<0)throw new S.ErrnoError(Bo.EINVAL);return d.position=k,k},read:function(d,E,I,k,L){if(d.stream_ops)return Hs.read(d,E,I,k,L);var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L){if(d.stream_ops)return Hs.write(d,E,I,k,L);d.flags&+"1024"&&S.llseek(d,0,+"2");var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(Bo.EOPNOTSUPP)},mmap:function(d,E,I,k,L,Z){if(d.stream_ops)return Hs.mmap(d,E,I,k,L,Z);if(E!==0)throw new S.ErrnoError(28);var te=ss(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){return d.stream_ops?Hs.msync(d,E,I,k,L):(L&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(Bo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Nn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var L=bt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),Z=S.root,te="/",we=0;we40)throw new S.ErrnoError(32)}}return{path:te,node:Z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),L=S.nameTable[k];L;L=L.name_next){var Z=L.name;if(L.parent.id===d.id&&Z===E)return L}return S.lookup(d,E)},createNode:function(d,E,I,k){var L=new S.FSNode(d,E,I,k);return S.hashAddNode(L),L},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(Z){return Z.errno}var L=S.nodePermissions(d,"wx");if(L)return L;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var L in d)k[L]=d[L];d=k;var Z=S.nextfd(E,I);return d.fd=Z,S.streams[Z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function L(te){return S.syncFSRequests--,E(te)}function Z(te){if(te)return Z.errored?void 0:(Z.errored=!0,L(te));++k>=I.length&&L(null)}I.forEach(function(te){if(!te.type.syncfs)return Z(null);te.type.syncfs(te,d,Z)})},mount:function(d,E,I){var k=I==="/",L=!I,Z;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!L){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,Z=te.node,S.isMountpoint(Z))throw new S.ErrnoError(10);if(!S.isDir(Z.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,k?S.root=me:Z&&(Z.mounted=we,Z.mount&&Z.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,L=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var we=S.nameTable[te];we;){var me=we.name_next;L.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var Z=I.mount.mounts.indexOf(k);I.mount.mounts.splice(Z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),L=k.node,Z=bt.basename(d);if(!Z||Z==="."||Z==="..")throw new S.ErrnoError(28);var te=S.mayCreate(L,Z);if(te)throw new S.ErrnoError(te);if(!L.node_ops.mknod)throw new S.ErrnoError(63);return L.node_ops.mknod(L,Z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",L=0;L"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!Nn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var L=bt.basename(E),Z=S.mayCreate(k,L);if(Z)throw new S.ErrnoError(Z);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,L,d)},rename:function(d,E){var I=bt.dirname(d),k=bt.dirname(E),L=bt.basename(d),Z=bt.basename(E),te,we,me;if(te=S.lookupPath(d,{parent:!0}),we=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!we||!me)throw new S.ErrnoError(44);if(we.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(we,L),nt=Nn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=Nn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,Z)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(we,L,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,Z,lt):S.mayCreate(me,Z),it)throw new S.ErrnoError(it);if(!we.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==we&&(it=S.nodePermissions(we,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{we.node_ops.rename(Je,me,Z)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!0);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!1);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return Nn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var L=S.lookupPath(d,{follow:!I});k=L.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var L;if(typeof d=="string"){var Z=S.lookupPath(d,{follow:!k});L=Z.node}else L=d;if(!L.node_ops.setattr)throw new S.ErrnoError(63);L.node_ops.setattr(L,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var L=S.nodePermissions(I,"w");if(L)throw new S.ErrnoError(L);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),L=k.node;L.node_ops.setattr(L,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,L){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var Z;if(typeof d=="object")Z=d;else{d=bt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});Z=te.node}catch{}}var we=!1;if(E&64)if(Z){if(E&128)throw new S.ErrnoError(20)}else Z=S.mknod(d,I,0),we=!0;if(!Z)throw new S.ErrnoError(44);if(S.isChrdev(Z.mode)&&(E&=-513),E&65536&&!S.isDir(Z.mode))throw new S.ErrnoError(54);if(!we){var me=S.mayOpen(Z,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(Z,0),E&=-131713;var Je=S.createStream({node:Z,path:S.getPath(Z),flags:E,seekable:!0,position:0,stream_ops:Z.stream_ops,ungotten:[],error:!1},k,L);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,L){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var Z=typeof L<"u";if(!Z)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L,Z){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof L<"u";if(!te)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var we=d.stream_ops.write(d,E,I,k,L,Z);te||(d.position+=we);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return we},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,L,Z){if((L&2)!==0&&(Z&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,L,Z)},msync:function(d,E,I,k,L){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,L)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),L=S.stat(d),Z=L.size,te=new Uint8Array(Z);return S.read(k,te,0,Z,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var L=new Uint8Array(le(E)+1),Z=Ne(E,L,0,L.length);S.write(k,L,0,Z,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,L,Z){return L}}),S.mkdev("/dev/null",S.makedev(1,3)),ns.register(S.makedev(5,0),ns.default_tty_ops),ns.register(S.makedev(6,0),ns.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Ll();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var L=+k,Z=S.getStream(L);if(!Z)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return Z.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},Z.prototype.setDataGetter=function(lt){this.getter=lt},Z.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,be=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",Mn=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",Ri=1024*1024;be||(Ri=it);var SA=function(os,Ea){if(os>Ea)throw new Error("invalid range ("+os+", "+Ea+") or no bytes requested!");if(Ea>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==Ri&&Kr.setRequestHeader("Range","bytes="+os+"-"+Ea),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):yA(Kr.responseText||"",!0)},Or=this;Or.setDataGetter(function(os){var Ea=os*Ri,Kr=(os+1)*Ri-1;if(Kr=Math.min(Kr,it-1),typeof Or.chunks[os]>"u"&&(Or.chunks[os]=SA(Ea,Kr)),typeof Or.chunks[os]>"u")throw new Error("doXHR failed!");return Or.chunks[os]}),(Mn||!it)&&(Ri=it=1,it=this.getter(0).length,Ri=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=Ri,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new Z;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:te}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,k,L);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,be,Mn){S.forceLoadFile(me);var Ri=lt.node.contents;if(Mn>=Ri.length)return 0;var SA=Math.min(Ri.length-Mn,be);if(Ri.slice)for(var Or=0;Or>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,L){var Z=Y.slice(d,d+I);S.msync(E,Z,L,I,k)},doMkdir:function(d,E){return d=bt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),L=Math.min(I,le(k)),Z=ne[E+L];return oe(k,E,I+1),ne[E+L]=Z,L},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var L="";return E&4&&(L+="r"),E&2&&(L+="w"),E&1&&(L+="x"),L&&S.nodePermissions(I,L)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var L=0,Z=0;Z>2],we=de[E+(Z*8+4)>>2],me=S.read(d,ne,te,we,k);if(me<0)return-1;if(L+=me,me>2],we=de[E+(Z*8+4)>>2],me=S.write(d,ne,te,we,k);if(me<0)return-1;L+=me}return L},varargs:void 0,get:function(){Lt.varargs+=4;var d=de[Lt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function hg(d,E){try{return d=Lt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ml(d){return de[Ft()>>2]=d,d}function Qp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 0:{var L=Lt.get();if(L<0)return-28;var Z;return Z=S.open(k.path,k.flags,0,L),Z.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var L=Lt.get();return k.flags|=L,0}case 12:{var L=Lt.get(),te=0;return he[L+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ml(28),-1;default:return-28}}catch(we){return(typeof S>"u"||!(we instanceof S.ErrnoError))&&wr(we),-we.errno}}function Sp(d,E){try{var I=Lt.getStreamFromFD(d);return Lt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function vp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var L=Lt.get();return de[L>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var L=Lt.get();return S.ioctl(k,E,L)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(Z){return(typeof S>"u"||!(Z instanceof S.ErrnoError))&&wr(Z),-Z.errno}}function xp(d,E,I){Lt.varargs=I;try{var k=Lt.getStr(d),L=I?Lt.get():0,Z=S.open(k,E,L);return Z.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function Pp(d,E){try{return d=Lt.getStr(d),E=Lt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Lt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Lt.getStr(d),Lt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function IA(d){try{return d=Lt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function zi(d,E,I){Y.copyWithin(d,E,E+I)}function Ol(d){try{return A.grow(d-qe.byteLength+65535>>>16),Mr(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var L=E*(1+.2/k);L=Math.min(L,d+100663296);var Z=Math.min(I,ae(Math.max(d,L),65536)),te=Ol(Z);if(te)return!0}return!1}function pa(d){try{var E=Lt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function pg(d,E){try{var I=Lt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(L){return(typeof S>"u"||!(L instanceof S.ErrnoError))&&wr(L),L.errno}}function ME(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doReadv(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Dp(d,E,I,k,L){try{var Z=Lt.getStreamFromFD(d),te=4294967296,we=I*te+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(Z,we,k),se=[Z.position>>>0,(vr=Z.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[L>>2]=se[0],de[L+4>>2]=se[1],Z.getdents&&we===0&&k===0&&(Z.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function OE(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doWritev(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Tn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Kl(){if(Kl.called)return;Kl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),L=I.getTimezoneOffset(),Z=Math.max(k,L);de[iS()>>2]=Z*60,de[rS()>>2]=Number(k!=L);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var we=te(E),me=te(I),Je=Be(we),nt=Be(me);L>2]=Je,de[wg()+4>>2]=nt):(de[wg()>>2]=nt,de[wg()+4>>2]=Je)}function kp(d){Kl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=L,I.getTime()/1e3|0}var Us=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},da=365,cn=146;if(Object.defineProperties(Us.prototype,{read:{get:function(){return(this.mode&da)===da},set:function(d){d?this.mode|=da:this.mode&=~da}},write:{get:function(){return(this.mode&cn)===cn},set:function(d){d?this.mode|=cn:this.mode&=~cn}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Us,S.staticInit(),g){var Le=rV,dg=J("path");At.staticInit()}if(g){var Ul=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(Bo[E.code]):E}}},Hs=Object.assign({},S);for(var Hl in ln)S[Hl]=Ul(ln[Hl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function yA(d,E,I){var k=I>0?I:le(d)+1,L=new Array(k),Z=Ne(d,L,0,L.length);return E&&(L.length=Z),L}var Cg=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,L,Z,te,we,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),we=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|we>>4,L=(we&15)<<4|me>>2,Z=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(L)),Je!==64&&(I=I+String.fromCharCode(Z));while(nt0||(pr(),is>0))return;function E(){Oe||(Oe=!0,t.calledRun=!0,!Ae&&(Ii(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),rs()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=QA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return QA(),e}}();typeof IB=="object"&&typeof FR=="object"?FR.exports=RR:typeof define=="function"&&define.amd?define([],function(){return RR}):typeof IB=="object"&&(IB.createModule=RR)});var vV=w((jst,SV)=>{function dke(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var Cke=Array.isArray;xV.exports=Cke});var NV=w((Jst,FV)=>{var PV=Rc(),mke=vV(),Eke=vs(),Ike=gC(),yke=1/0,DV=PV?PV.prototype:void 0,kV=DV?DV.toString:void 0;function RV(r){if(typeof r=="string")return r;if(Eke(r))return mke(r,RV)+"";if(Ike(r))return kV?kV.call(r):"";var e=r+"";return e=="0"&&1/r==-yke?"-0":e}FV.exports=RV});var Vf=w((Wst,TV)=>{var wke=NV();function Bke(r){return r==null?"":wke(r)}TV.exports=Bke});var HR=w((zst,LV)=>{function bke(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var Qke=HR();function Ske(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:Qke(r,e,t)}MV.exports=Ske});var GR=w((Xst,KV)=>{var vke="\\ud800-\\udfff",xke="\\u0300-\\u036f",Pke="\\ufe20-\\ufe2f",Dke="\\u20d0-\\u20ff",kke=xke+Pke+Dke,Rke="\\ufe0e\\ufe0f",Fke="\\u200d",Nke=RegExp("["+Fke+vke+kke+Rke+"]");function Tke(r){return Nke.test(r)}KV.exports=Tke});var HV=w((Zst,UV)=>{function Lke(r){return r.split("")}UV.exports=Lke});var VV=w((_st,zV)=>{var GV="\\ud800-\\udfff",Mke="\\u0300-\\u036f",Oke="\\ufe20-\\ufe2f",Kke="\\u20d0-\\u20ff",Uke=Mke+Oke+Kke,Hke="\\ufe0e\\ufe0f",Gke="["+GV+"]",YR="["+Uke+"]",jR="\\ud83c[\\udffb-\\udfff]",Yke="(?:"+YR+"|"+jR+")",YV="[^"+GV+"]",jV="(?:\\ud83c[\\udde6-\\uddff]){2}",qV="[\\ud800-\\udbff][\\udc00-\\udfff]",jke="\\u200d",JV=Yke+"?",WV="["+Hke+"]?",qke="(?:"+jke+"(?:"+[YV,jV,qV].join("|")+")"+WV+JV+")*",Jke=WV+JV+qke,Wke="(?:"+[YV+YR+"?",YR,jV,qV,Gke].join("|")+")",zke=RegExp(jR+"(?="+jR+")|"+Wke+Jke,"g");function Vke(r){return r.match(zke)||[]}zV.exports=Vke});var ZV=w(($st,XV)=>{var Xke=HV(),Zke=GR(),_ke=VV();function $ke(r){return Zke(r)?_ke(r):Xke(r)}XV.exports=$ke});var $V=w((eot,_V)=>{var eRe=OV(),tRe=GR(),rRe=ZV(),iRe=Vf();function nRe(r){return function(e){e=iRe(e);var t=tRe(e)?rRe(e):void 0,i=t?t[0]:e.charAt(0),n=t?eRe(t,1).join(""):e.slice(1);return i[r]()+n}}_V.exports=nRe});var t9=w((tot,e9)=>{var sRe=$V(),oRe=sRe("toUpperCase");e9.exports=oRe});var PB=w((rot,r9)=>{var aRe=Vf(),ARe=t9();function lRe(r){return ARe(aRe(r).toLowerCase())}r9.exports=lRe});var i9=w((iot,DB)=>{function cRe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,T=2,H=3,j=4;function $(A,Ae){return 55296<=A.charCodeAt(Ae)&&A.charCodeAt(Ae)<=56319&&56320<=A.charCodeAt(Ae+1)&&A.charCodeAt(Ae+1)<=57343}function V(A,Ae){Ae===void 0&&(Ae=0);var ge=A.charCodeAt(Ae);if(55296<=ge&&ge<=56319&&Ae=1){var re=A.charCodeAt(Ae-1),M=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(M-56320)+65536:M}return ge}function W(A,Ae,ge){var re=[A].concat(Ae).concat([ge]),M=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return T;var pe=re.lastIndexOf(n);if(pe>0&&re.slice(1,pe).every(function(Fe){return Fe==n})&&[f,n].indexOf(M)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(M==r&&F==e)return v;if(M==t||M==r||M==e)return F==p&&Ae.every(function(Fe){return Fe==i})?T:D;if(F==t||F==r||F==e)return D;if(M==o&&(F==o||F==a||F==c||F==u))return v;if((M==c||M==a)&&(F==a||F==l))return v;if((M==u||M==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(M==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||M==C&&[y,B].indexOf(F)!=-1?v:Ae.indexOf(n)!=-1?T:M==n&&F==n?v:D}this.nextBreak=function(A,Ae){if(Ae===void 0&&(Ae=0),Ae<0)return 0;if(Ae>=A.length-1)return A.length;for(var ge=_(V(A,Ae)),re=[],M=Ae+1;M{var uRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,kB;function gRe(){if(kB)return kB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return kB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=i9(),e=new r;return kB=t=>e.splitGraphemes(t)}}n9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(uRe)||[r,r,void 0],l=gRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Xf=w((bot,y9)=>{"use strict";var I9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);y9.exports=r=>r?Object.keys(r).map(e=>[I9.has(e)?I9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var _f=w((Qot,D9)=>{"use strict";var w9=typeof process=="object"&&process?process:{stdout:null,stderr:null},QRe=J("events"),B9=J("stream"),b9=J("string_decoder").StringDecoder,Wa=Symbol("EOF"),za=Symbol("maybeEmitEnd"),rl=Symbol("emittedEnd"),MB=Symbol("emittingEnd"),NC=Symbol("emittedError"),OB=Symbol("closed"),Q9=Symbol("read"),KB=Symbol("flush"),S9=Symbol("flushChunk"),xn=Symbol("encoding"),Va=Symbol("decoder"),UB=Symbol("flowing"),TC=Symbol("paused"),Zf=Symbol("resume"),Ci=Symbol("bufferLength"),XR=Symbol("bufferPush"),ZR=Symbol("bufferShift"),Hi=Symbol("objectMode"),Gi=Symbol("destroyed"),_R=Symbol("emitData"),v9=Symbol("emitEnd"),$R=Symbol("emitEnd2"),Xa=Symbol("async"),LC=r=>Promise.resolve().then(r),x9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",SRe=x9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),vRe=x9&&Symbol.iterator||Symbol("iterator not implemented"),xRe=r=>r==="end"||r==="finish"||r==="prefinish",PRe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,DRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r),HB=class{constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[Zf](),t.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},eF=class extends HB{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=n=>t.emit("error",n),e.on("error",this.proxyErrors)}};D9.exports=class P9 extends B9{constructor(e){super(),this[UB]=!1,this[TC]=!1,this.pipes=[],this.buffer=[],this[Hi]=e&&e.objectMode||!1,this[Hi]?this[xn]=null:this[xn]=e&&e.encoding||null,this[xn]==="buffer"&&(this[xn]=null),this[Xa]=e&&!!e.async||!1,this[Va]=this[xn]?new b9(this[xn]):null,this[Wa]=!1,this[rl]=!1,this[MB]=!1,this[OB]=!1,this[NC]=null,this.writable=!0,this.readable=!0,this[Ci]=0,this[Gi]=!1}get bufferLength(){return this[Ci]}get encoding(){return this[xn]}set encoding(e){if(this[Hi])throw new Error("cannot set encoding in objectMode");if(this[xn]&&e!==this[xn]&&(this[Va]&&this[Va].lastNeed||this[Ci]))throw new Error("cannot change encoding");this[xn]!==e&&(this[Va]=e?new b9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Va].write(t)))),this[xn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hi]}set objectMode(e){this[Hi]=this[Hi]||!!e}get async(){return this[Xa]}set async(e){this[Xa]=this[Xa]||!!e}write(e,t,i){if(this[Wa])throw new Error("write after end");if(this[Gi])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8");let n=this[Xa]?LC:s=>s();return!this[Hi]&&!Buffer.isBuffer(e)&&(DRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):PRe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Hi]?(this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):e.length?(typeof e=="string"&&!(t===this[xn]&&!this[Va].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[xn]&&(e=this[Va].write(e)),this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):(this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing)}read(e){if(this[Gi])return null;if(this[Ci]===0||e===0||e>this[Ci])return this[za](),null;this[Hi]&&(e=null),this.buffer.length>1&&!this[Hi]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ci])]);let t=this[Q9](e||null,this.buffer[0]);return this[za](),t}[Q9](e,t){return e===t.length||e===null?this[ZR]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[Ci]-=e),this.emit("data",t),!this.buffer.length&&!this[Wa]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[Wa]=!0,this.writable=!1,(this.flowing||!this[TC])&&this[za](),this}[Zf](){this[Gi]||(this[TC]=!1,this[UB]=!0,this.emit("resume"),this.buffer.length?this[KB]():this[Wa]?this[za]():this.emit("drain"))}resume(){return this[Zf]()}pause(){this[UB]=!1,this[TC]=!0}get destroyed(){return this[Gi]}get flowing(){return this[UB]}get paused(){return this[TC]}[XR](e){this[Hi]?this[Ci]+=1:this[Ci]+=e.length,this.buffer.push(e)}[ZR](){return this.buffer.length&&(this[Hi]?this[Ci]-=1:this[Ci]-=this.buffer[0].length),this.buffer.shift()}[KB](e){do;while(this[S9](this[ZR]()));!e&&!this.buffer.length&&!this[Wa]&&this.emit("drain")}[S9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Gi])return;let i=this[rl];return t=t||{},e===w9.stdout||e===w9.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this.pipes.push(t.proxyErrors?new eF(this,e,t):new HB(this,e,t)),this[Xa]?LC(()=>this[Zf]()):this[Zf]()),e}unpipe(e){let t=this.pipes.find(i=>i.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return e==="data"&&!this.pipes.length&&!this.flowing?this[Zf]():e==="readable"&&this[Ci]!==0?super.emit("readable"):xRe(e)&&this[rl]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[NC]&&(this[Xa]?LC(()=>t.call(this,this[NC])):t.call(this,this[NC])),i}get emittedEnd(){return this[rl]}[za](){!this[MB]&&!this[rl]&&!this[Gi]&&this.buffer.length===0&&this[Wa]&&(this[MB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[OB]&&this.emit("close"),this[MB]=!1)}emit(e,t,...i){if(e!=="error"&&e!=="close"&&e!==Gi&&this[Gi])return;if(e==="data")return t?this[Xa]?LC(()=>this[_R](t)):this[_R](t):!1;if(e==="end")return this[v9]();if(e==="close"){if(this[OB]=!0,!this[rl]&&!this[Gi])return;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(e==="error"){this[NC]=t;let s=super.emit("error",t);return this[za](),s}else if(e==="resume"){let s=super.emit("resume");return this[za](),s}else if(e==="finish"||e==="prefinish"){let s=super.emit(e);return this.removeAllListeners(e),s}let n=super.emit(e,t,...i);return this[za](),n}[_R](e){for(let i of this.pipes)i.dest.write(e)===!1&&this.pause();let t=super.emit("data",e);return this[za](),t}[v9](){this[rl]||(this[rl]=!0,this.readable=!1,this[Xa]?LC(()=>this[$R]()):this[$R]())}[$R](){if(this[Va]){let t=this[Va].end();if(t){for(let i of this.pipes)i.dest.write(t);super.emit("data",t)}}for(let t of this.pipes)t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Hi]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[Hi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this[xn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Gi,()=>t(new Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[SRe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Wa])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Wa]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Gi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[vRe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Gi]?(e?this.emit("error",e):this.emit(Gi),this):(this[Gi]=!0,this.buffer.length=0,this[Ci]=0,typeof this.close=="function"&&!this[OB]&&this.close(),e?this.emit("error",e):this.emit(Gi),this)}static isStream(e){return!!e&&(e instanceof P9||e instanceof B9||e instanceof QRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var R9=w((Sot,k9)=>{var kRe=J("zlib").constants||{ZLIB_VERNUM:4736};k9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},kRe))});var dF=w(Xn=>{"use strict";var sF=J("assert"),il=J("buffer").Buffer,T9=J("zlib"),Uc=Xn.constants=R9(),RRe=_f(),F9=il.concat,Hc=Symbol("_superWrite"),eh=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},FRe=Symbol("opts"),MC=Symbol("flushFlag"),N9=Symbol("finishFlushFlag"),pF=Symbol("fullFlushFlag"),cr=Symbol("handle"),GB=Symbol("onError"),$f=Symbol("sawError"),tF=Symbol("level"),rF=Symbol("strategy"),iF=Symbol("ended"),vot=Symbol("_defaultFullFlush"),YB=class extends RRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[$f]=!1,this[iF]=!1,this[FRe]=e,this[MC]=e.flush,this[N9]=e.finishFlush;try{this[cr]=new T9[t](e)}catch(i){throw new eh(i)}this[GB]=i=>{this[$f]||(this[$f]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[GB](new eh(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[$f])return sF(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[pF]),this.write(Object.assign(il.alloc(0),{[MC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[N9]),this[iF]=!0,super.end(null,null,i)}get ended(){return this[iF]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=il.from(e,t)),this[$f])return;sF(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},il.concat=c=>c;let a;try{let c=typeof e[MC]=="number"?e[MC]:this[MC];a=this[cr]._processChunk(e,c),il.concat=F9}catch(c){il.concat=F9,this[GB](new eh(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[GB](new eh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[Hc](il.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[tF]=e,this[rF]=t)}}}},oF=class extends Za{constructor(e){super(e,"Deflate")}},aF=class extends Za{constructor(e){super(e,"Inflate")}},nF=Symbol("_portable"),AF=class extends Za{constructor(e){super(e,"Gzip"),this[nF]=e&&!!e.portable}[Hc](e){return this[nF]?(this[nF]=!1,e[9]=255,super[Hc](e)):super[Hc](e)}},lF=class extends Za{constructor(e){super(e,"Gunzip")}},cF=class extends Za{constructor(e){super(e,"DeflateRaw")}},uF=class extends Za{constructor(e){super(e,"InflateRaw")}},gF=class extends Za{constructor(e){super(e,"Unzip")}},jB=class extends YB{constructor(e,t){e=e||{},e.flush=e.flush||Uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Uc.BROTLI_OPERATION_FINISH,super(e,t),this[pF]=Uc.BROTLI_OPERATION_FLUSH}},fF=class extends jB{constructor(e){super(e,"BrotliCompress")}},hF=class extends jB{constructor(e){super(e,"BrotliDecompress")}};Xn.Deflate=oF;Xn.Inflate=aF;Xn.Gzip=AF;Xn.Gunzip=lF;Xn.DeflateRaw=cF;Xn.InflateRaw=uF;Xn.Unzip=gF;typeof T9.BrotliCompress=="function"?(Xn.BrotliCompress=fF,Xn.BrotliDecompress=hF):Xn.BrotliCompress=Xn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var th=w((Dot,L9)=>{var NRe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;L9.exports=NRe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var qB=w((Rot,M9)=>{"use strict";var TRe=_f(),CF=th(),mF=Symbol("slurp");M9.exports=class extends TRe{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=CF(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=CF(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[mF](t),i&&this[mF](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[mF](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?CF(e[i]):e[i])}}});var EF=w(JB=>{"use strict";JB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);JB.code=new Map(Array.from(JB.name).map(r=>[r[1],r[0]]))});var H9=w((Not,U9)=>{"use strict";var LRe=(r,e)=>{if(Number.isSafeInteger(r))r<0?ORe(r,e):MRe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},MRe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},ORe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=O9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=K9(n))}},KRe=r=>{let e=r[0],t=e===128?HRe(r.slice(1,r.length)):e===255?URe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},URe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=O9(s):s===0?o=s:(i=!0,o=K9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},HRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},O9=r=>(255^r)&255,K9=r=>(255^r)+1&255;U9.exports={encode:LRe,parse:KRe}});var ih=w((Tot,Y9)=>{"use strict";var IF=EF(),rh=J("path").posix,G9=H9(),yF=Symbol("slurp"),Zn=Symbol("type"),bF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Zn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=Gc(e,t,100),this.mode=nl(e,t+100,8),this.uid=nl(e,t+108,8),this.gid=nl(e,t+116,8),this.size=nl(e,t+124,12),this.mtime=wF(e,t+136,12),this.cksum=nl(e,t+148,12),this[yF](i),this[yF](n,!0),this[Zn]=Gc(e,t+156,1),this[Zn]===""&&(this[Zn]="0"),this[Zn]==="0"&&this.path.substr(-1)==="/"&&(this[Zn]="5"),this[Zn]==="5"&&(this.size=0),this.linkpath=Gc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=Gc(e,t+265,32),this.gname=Gc(e,t+297,32),this.devmaj=nl(e,t+329,8),this.devmin=nl(e,t+337,8),e[t+475]!==0){let o=Gc(e,t+345,155);this.path=o+"/"+this.path}else{let o=Gc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=wF(e,t+476,12),this.ctime=wF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=GRe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Yc(e,t,100,s)||this.needPax,this.needPax=sl(e,t+100,8,this.mode)||this.needPax,this.needPax=sl(e,t+108,8,this.uid)||this.needPax,this.needPax=sl(e,t+116,8,this.gid)||this.needPax,this.needPax=sl(e,t+124,12,this.size)||this.needPax,this.needPax=BF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Zn].charCodeAt(0),this.needPax=Yc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Yc(e,t+265,32,this.uname)||this.needPax,this.needPax=Yc(e,t+297,32,this.gname)||this.needPax,this.needPax=sl(e,t+329,8,this.devmaj)||this.needPax,this.needPax=sl(e,t+337,8,this.devmin)||this.needPax,this.needPax=Yc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Yc(e,t+345,155,o)||this.needPax:(this.needPax=Yc(e,t+345,130,o)||this.needPax,this.needPax=BF(e,t+476,12,this.atime)||this.needPax,this.needPax=BF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=rh.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=rh.dirname(i),i=rh.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=rh.join(rh.basename(n),i),n=rh.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},Gc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),wF=(r,e,t)=>YRe(nl(r,e,t)),YRe=r=>r===null?null:new Date(r*1e3),nl=(r,e,t)=>r[e]&128?G9.parse(r.slice(e,e+t)):qRe(r,e,t),jRe=r=>isNaN(r)?null:r,qRe=(r,e,t)=>jRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),JRe={12:8589934591,8:2097151},sl=(r,e,t,i)=>i===null?!1:i>JRe[t]||i<0?(G9.encode(i,r.slice(e,e+t)),!0):(WRe(r,e,t,i),!1),WRe=(r,e,t,i)=>r.write(zRe(i,t),e,t,"ascii"),zRe=(r,e)=>VRe(Math.floor(r).toString(8),e),VRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",BF=(r,e,t,i)=>i===null?!1:sl(r,e,t,i.getTime()/1e3),XRe=new Array(156).join("\0"),Yc=(r,e,t,i)=>i===null?!1:(r.write(i+XRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);Y9.exports=bF});var WB=w((Lot,j9)=>{"use strict";var ZRe=ih(),_Re=J("path"),OC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new ZRe({path:("PaxHeader/"+_Re.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};OC.parse=(r,e,t)=>new OC($Re(eFe(r),e),t);var $Re=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,eFe=r=>r.replace(/\n$/,"").split(` -`).reduce(tFe,Object.create(null)),tFe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};j9.exports=OC});var nh=w((Mot,q9)=>{q9.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var zB=w((Oot,J9)=>{"use strict";J9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var SF=w((Uot,W9)=>{"use strict";var VB=["|","<",">","?",":"],QF=VB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),rFe=new Map(VB.map((r,e)=>[r,QF[e]])),iFe=new Map(QF.map((r,e)=>[r,VB[e]]));W9.exports={encode:r=>VB.reduce((e,t)=>e.split(t).join(rFe.get(t)),r),decode:r=>QF.reduce((e,t)=>e.split(t).join(iFe.get(t)),r)}});var vF=w((Hot,V9)=>{var{isAbsolute:nFe,parse:z9}=J("path").win32;V9.exports=r=>{let e="",t=z9(r);for(;nFe(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=z9(r)}return[e,r]}});var Z9=w((Got,X9)=>{"use strict";X9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var MF=w((qot,uX)=>{"use strict";var nX=_f(),sX=WB(),oX=ih(),Zo=J("fs"),_9=J("path"),Xo=th(),sFe=nh(),aX=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),sFe(e)+"/"+r):Xo(r),oFe=16*1024*1024,$9=Symbol("process"),eX=Symbol("file"),tX=Symbol("directory"),PF=Symbol("symlink"),rX=Symbol("hardlink"),KC=Symbol("header"),XB=Symbol("read"),DF=Symbol("lstat"),ZB=Symbol("onlstat"),kF=Symbol("onread"),RF=Symbol("onreadlink"),FF=Symbol("openfile"),NF=Symbol("onopenfile"),ol=Symbol("close"),_B=Symbol("mode"),TF=Symbol("awaitDrain"),xF=Symbol("ondrain"),_o=Symbol("prefix"),iX=Symbol("hadError"),AX=zB(),aFe=SF(),lX=vF(),cX=Z9(),$B=AX(class extends nX{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||oFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=lX(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=aFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||_9.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[ZB](this.statCache.get(this.absolute)):this[DF]()}emit(e,...t){return e==="error"&&(this[iX]=!0),super.emit(e,...t)}[DF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[ZB](t)})}[ZB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lFe(e),this.emit("stat",e),this[$9]()}[$9](){switch(this.type){case"File":return this[eX]();case"Directory":return this[tX]();case"SymbolicLink":return this[PF]();default:return this.end()}}[_B](e){return cX(e,this.type==="Directory",this.portable)}[_o](e){return aX(e,this.prefix)}[KC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new oX({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[_B](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new sX({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[tX](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[KC](),this.end()}[PF](){Zo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[RF](t)})}[RF](e){this.linkpath=Xo(e),this[KC](),this.end()}[rX](e){this.type="Link",this.linkpath=Xo(_9.relative(this.cwd,e)),this.stat.size=0,this[KC](),this.end()}[eX](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[rX](t)}this.linkCache.set(e,this.absolute)}if(this[KC](),this.stat.size===0)return this.end();this[FF]()}[FF](){Zo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[NF](t)})}[NF](e){if(this.fd=e,this[iX])return this[ol]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[XB]()}[XB](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Zo.read(e,t,i,n,s,(o,a)=>{if(o)return this[ol](()=>this.emit("error",o));this[kF](a)})}[ol](e){Zo.close(this.fd,e)}[kF](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[xF]())}[TF](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[XB]()}}),LF=class extends $B{[DF](){this[ZB](Zo.lstatSync(this.absolute))}[PF](){this[RF](Zo.readlinkSync(this.absolute))}[FF](){this[NF](Zo.openSync(this.absolute,"r"))}[XB](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Zo.readSync(t,i,n,s,o);this[kF](a),e=!1}finally{if(e)try{this[ol](()=>{})}catch{}}}[TF](e){e()}[ol](e){Zo.closeSync(this.fd),e()}},AFe=AX(class extends nX{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Xo(e.path),this.mode=this[_B](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Xo(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=lX(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new oX({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new sX({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[_o](e){return aX(e,this.prefix)}[_B](e){return cX(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});$B.Sync=LF;$B.Tar=AFe;var lFe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";uX.exports=$B});var A0=w((Wot,mX)=>{"use strict";var o0=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cFe=_f(),uFe=dF(),gFe=qB(),JF=MF(),fFe=JF.Sync,hFe=JF.Tar,pFe=WI(),gX=Buffer.alloc(1024),r0=Symbol("onStat"),e0=Symbol("ended"),$o=Symbol("queue"),sh=Symbol("current"),jc=Symbol("process"),t0=Symbol("processing"),fX=Symbol("processJob"),ea=Symbol("jobs"),OF=Symbol("jobDone"),i0=Symbol("addFSEntry"),hX=Symbol("addTarEntry"),GF=Symbol("stat"),YF=Symbol("readdir"),n0=Symbol("onreaddir"),s0=Symbol("pipe"),pX=Symbol("entry"),KF=Symbol("entryOpt"),jF=Symbol("writeEntryClass"),CX=Symbol("write"),UF=Symbol("ondrain"),a0=J("fs"),dX=J("path"),dFe=zB(),HF=th(),WF=dFe(class extends cFe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=HF(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[jF]=JF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uFe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[UF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[UF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[$o]=new pFe,this[ea]=0,this.jobs=+e.jobs||4,this[t0]=!1,this[e0]=!1}[CX](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[e0]=!0,this[jc](),this}write(e){if(this[e0])throw new Error("write after end");return e instanceof gFe?this[hX](e):this[i0](e),this.flowing}[hX](e){let t=HF(dX.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new o0(e.path,t,!1);i.entry=new hFe(e,this[KF](i)),i.entry.on("end",n=>this[OF](i)),this[ea]+=1,this[$o].push(i)}this[jc]()}[i0](e){let t=HF(dX.resolve(this.cwd,e));this[$o].push(new o0(e,t)),this[jc]()}[GF](e){e.pending=!0,this[ea]+=1;let t=this.follow?"stat":"lstat";a0[t](e.absolute,(i,n)=>{e.pending=!1,this[ea]-=1,i?this.emit("error",i):this[r0](e,n)})}[r0](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[jc]()}[YF](e){e.pending=!0,this[ea]+=1,a0.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ea]-=1,t)return this.emit("error",t);this[n0](e,i)})}[n0](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[jc]()}[jc](){if(!this[t0]){this[t0]=!0;for(let e=this[$o].head;e!==null&&this[ea]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[pX](e){this[ea]+=1;try{return new this[jF](e.path,this[KF](e)).on("end",()=>this[OF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[UF](){this[sh]&&this[sh].entry&&this[sh].entry.resume()}[s0](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),qF=class extends WF{constructor(e){super(e),this[jF]=fFe}pause(){}resume(){}[GF](e){let t=this.follow?"statSync":"lstatSync";this[r0](e,a0[t](e.absolute))}[YF](e,t){this[n0](e,a0.readdirSync(e.absolute))}[s0](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[CX](n)})}};WF.Sync=qF;mX.exports=WF});var fh=w(HC=>{"use strict";var CFe=_f(),mFe=J("events").EventEmitter,Pn=J("fs"),XF=Pn.writev;if(!XF){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;XF=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var uh=Symbol("_autoClose"),lo=Symbol("_close"),UC=Symbol("_ended"),rr=Symbol("_fd"),EX=Symbol("_finished"),Al=Symbol("_flags"),zF=Symbol("_flush"),ZF=Symbol("_handleChunk"),_F=Symbol("_makeBuf"),f0=Symbol("_mode"),l0=Symbol("_needDrain"),lh=Symbol("_onerror"),gh=Symbol("_onopen"),VF=Symbol("_onread"),ah=Symbol("_onwrite"),ll=Symbol("_open"),_a=Symbol("_path"),qc=Symbol("_pos"),ta=Symbol("_queue"),Ah=Symbol("_read"),IX=Symbol("_readSize"),al=Symbol("_reading"),c0=Symbol("_remain"),yX=Symbol("_size"),u0=Symbol("_write"),oh=Symbol("_writing"),g0=Symbol("_defaultFlag"),ch=Symbol("_errored"),h0=class extends CFe{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[ch]=!1,this[rr]=typeof t.fd=="number"?t.fd:null,this[_a]=e,this[IX]=t.readSize||16*1024*1024,this[al]=!1,this[yX]=typeof t.size=="number"?t.size:1/0,this[c0]=this[yX],this[uh]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[Ah]():this[ll]()}get fd(){return this[rr]}get path(){return this[_a]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ll](){Pn.open(this[_a],"r",(e,t)=>this[gh](e,t))}[gh](e,t){e?this[lh](e):(this[rr]=t,this.emit("open",t),this[Ah]())}[_F](){return Buffer.allocUnsafe(Math.min(this[IX],this[c0]))}[Ah](){if(!this[al]){this[al]=!0;let e=this[_F]();if(e.length===0)return process.nextTick(()=>this[VF](null,0,e));Pn.read(this[rr],e,0,e.length,null,(t,i,n)=>this[VF](t,i,n))}}[VF](e,t,i){this[al]=!1,e?this[lh](e):this[ZF](t,i)&&this[Ah]()}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[lh](e){this[al]=!0,this[lo](),this.emit("error",e)}[ZF](e,t){let i=!1;return this[c0]-=e,e>0&&(i=super.write(ethis[gh](e,t))}[gh](e,t){this[g0]&&this[Al]==="r+"&&e&&e.code==="ENOENT"?(this[Al]="w",this[ll]()):e?this[lh](e):(this[rr]=t,this.emit("open",t),this[zF]())}end(e,t){return e&&this.write(e,t),this[UC]=!0,!this[oh]&&!this[ta].length&&typeof this[rr]=="number"&&this[ah](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[UC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[oh]||this[ta].length?(this[ta].push(e),this[l0]=!0,!1):(this[oh]=!0,this[u0](e),!0)}[u0](e){Pn.write(this[rr],e,0,e.length,this[qc],(t,i)=>this[ah](t,i))}[ah](e,t){e?this[lh](e):(this[qc]!==null&&(this[qc]+=t),this[ta].length?this[zF]():(this[oh]=!1,this[UC]&&!this[EX]?(this[EX]=!0,this[lo](),this.emit("finish")):this[l0]&&(this[l0]=!1,this.emit("drain"))))}[zF](){if(this[ta].length===0)this[UC]&&this[ah](null,0);else if(this[ta].length===1)this[u0](this[ta].pop());else{let e=this[ta];this[ta]=[],XF(this[rr],e,this[qc],(t,i)=>this[ah](t,i))}}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},eN=class extends p0{[ll](){let e;if(this[g0]&&this[Al]==="r+")try{e=Pn.openSync(this[_a],this[Al],this[f0])}catch(t){if(t.code==="ENOENT")return this[Al]="w",this[ll]();throw t}else e=Pn.openSync(this[_a],this[Al],this[f0]);this[gh](null,e)}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.closeSync(e),this.emit("close")}}[u0](e){let t=!0;try{this[ah](null,Pn.writeSync(this[rr],e,0,e.length,this[qc])),t=!1}finally{if(t)try{this[lo]()}catch{}}}};HC.ReadStream=h0;HC.ReadStreamSync=$F;HC.WriteStream=p0;HC.WriteStreamSync=eN});var w0=w((Xot,xX)=>{"use strict";var EFe=zB(),IFe=ih(),yFe=J("events"),wFe=WI(),BFe=1024*1024,bFe=qB(),wX=WB(),QFe=dF(),tN=Buffer.from([31,139]),xs=Symbol("state"),Jc=Symbol("writeEntry"),$a=Symbol("readEntry"),rN=Symbol("nextEntry"),BX=Symbol("processEntry"),Ps=Symbol("extendedHeader"),GC=Symbol("globalExtendedHeader"),cl=Symbol("meta"),bX=Symbol("emitMeta"),Er=Symbol("buffer"),eA=Symbol("queue"),Wc=Symbol("ended"),QX=Symbol("emittedEnd"),zc=Symbol("emit"),Dn=Symbol("unzip"),d0=Symbol("consumeChunk"),C0=Symbol("consumeChunkSub"),iN=Symbol("consumeBody"),SX=Symbol("consumeMeta"),vX=Symbol("consumeHeader"),m0=Symbol("consuming"),nN=Symbol("bufferConcat"),sN=Symbol("maybeEnd"),YC=Symbol("writing"),ul=Symbol("aborted"),E0=Symbol("onDone"),Vc=Symbol("sawValidEntry"),I0=Symbol("sawNullBlock"),y0=Symbol("sawEOF"),SFe=r=>!0;xX.exports=EFe(class extends yFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Vc]=null,this.on(E0,t=>{(this[xs]==="begin"||this[Vc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(E0,e.ondone):this.on(E0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||BFe,this.filter=typeof e.filter=="function"?e.filter:SFe,this.writable=!0,this.readable=!1,this[eA]=new wFe,this[Er]=null,this[$a]=null,this[Jc]=null,this[xs]="begin",this[cl]="",this[Ps]=null,this[GC]=null,this[Wc]=!1,this[Dn]=null,this[ul]=!1,this[I0]=!1,this[y0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[vX](e,t){this[Vc]===null&&(this[Vc]=!1);let i;try{i=new IFe(e,t,this[Ps],this[GC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[I0]?(this[y0]=!0,this[xs]==="begin"&&(this[xs]="header"),this[zc]("eof")):(this[I0]=!0,this[zc]("nullBlock"));else if(this[I0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Jc]=new bFe(i,this[Ps],this[GC]);if(!this[Vc])if(s.remain){let o=()=>{s.invalid||(this[Vc]=!0)};s.on("end",o)}else this[Vc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[zc]("ignoredEntry",s),this[xs]="ignore",s.resume()):s.size>0&&(this[cl]="",s.on("data",o=>this[cl]+=o),this[xs]="meta"):(this[Ps]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[zc]("ignoredEntry",s),this[xs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[xs]="body":(this[xs]="header",s.end()),this[$a]?this[eA].push(s):(this[eA].push(s),this[rN]())))}}}[BX](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[$a]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[rN]()),t=!1)):(this[$a]=null,t=!1),t}[rN](){do;while(this[BX](this[eA].shift()));if(!this[eA].length){let e=this[$a];!e||e.flowing||e.size===e.remain?this[YC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[iN](e,t){let i=this[Jc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[xs]="header",this[Jc]=null,i.end()),s.length}[SX](e,t){let i=this[Jc],n=this[iN](e,t);return this[Jc]||this[bX](i),n}[zc](e,t,i){!this[eA].length&&!this[$a]?this.emit(e,t,i):this[eA].push([e,t,i])}[bX](e){switch(this[zc]("meta",this[cl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ps]=wX.parse(this[cl],this[Ps],!1);break;case"GlobalExtendedHeader":this[GC]=wX.parse(this[cl],this[GC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ps]=this[Ps]||Object.create(null),this[Ps].path=this[cl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ps]=this[Ps]||Object.create(null),this[Ps].linkpath=this[cl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[ul]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[ul])return;if(this[Dn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.lengththis[d0](s)),this[Dn].on("error",s=>this.abort(s)),this[Dn].on("end",s=>{this[Wc]=!0,this[d0]()}),this[YC]=!0;let n=this[Dn][i?"end":"write"](e);return this[YC]=!1,n}}this[YC]=!0,this[Dn]?this[Dn].write(e):this[d0](e),this[YC]=!1;let t=this[eA].length?!1:this[$a]?this[$a].flowing:!0;return!t&&!this[eA].length&&this[$a].once("drain",i=>this.emit("drain")),t}[nN](e){e&&!this[ul]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[sN](){if(this[Wc]&&!this[QX]&&!this[ul]&&!this[m0]){this[QX]=!0;let e=this[Jc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[zc](E0)}}[d0](e){if(this[m0])this[nN](e);else if(!e&&!this[Er])this[sN]();else{if(this[m0]=!0,this[Er]){this[nN](e);let t=this[Er];this[Er]=null,this[C0](t)}else this[C0](e);for(;this[Er]&&this[Er].length>=512&&!this[ul]&&!this[y0];){let t=this[Er];this[Er]=null,this[C0](t)}this[m0]=!1}(!this[Er]||this[Wc])&&this[sN]()}[C0](e){let t=0,i=e.length;for(;t+512<=i&&!this[ul]&&!this[y0];)switch(this[xs]){case"begin":case"header":this[vX](e,t),t+=512;break;case"ignore":case"body":t+=this[iN](e,t);break;case"meta":t+=this[SX](e,t);break;default:throw new Error("invalid state: "+this[xs])}t{"use strict";var vFe=Xf(),DX=w0(),hh=J("fs"),xFe=fh(),PX=J("path"),oN=nh();RX.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=vFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&DFe(i,e),i.noResume||PFe(i),i.file&&i.sync?kFe(i):i.file?RFe(i,t):kX(i)};var PFe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},DFe=(r,e)=>{let t=new Map(e.map(s=>[oN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||PX.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(PX.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(oN(s)):s=>n(oN(s))},kFe=r=>{let e=kX(r),t=r.file,i=!0,n;try{let s=hh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new DX(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),hh.stat(n,(l,c)=>{if(l)a(l);else{let u=new xFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},kX=r=>new DX(r)});var OX=w((_ot,MX)=>{"use strict";var FFe=Xf(),b0=A0(),FX=fh(),NX=B0(),TX=J("path");MX.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=FFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?NFe(i,e):i.file?TFe(i,e,t):i.sync?LFe(i,e):MFe(i,e)};var NFe=(r,e)=>{let t=new b0.Sync(r),i=new FX.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),LX(t,e)},TFe=(r,e,t)=>{let i=new b0(r),n=new FX.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return aN(i,e),t?s.then(t,t):s},LX=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?NX({file:TX.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},aN=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return NX({file:TX.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>aN(r,e));r.add(t)}r.end()},LFe=(r,e)=>{let t=new b0.Sync(r);return LX(t,e),t},MFe=(r,e)=>{let t=new b0(r);return aN(t,e),t}});var AN=w(($ot,qX)=>{"use strict";var OFe=Xf(),KX=A0(),_n=J("fs"),UX=fh(),HX=B0(),GX=J("path"),YX=ih();qX.exports=(r,e,t)=>{let i=OFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?KFe(i,e):HFe(i,e,t)};var KFe=(r,e)=>{let t=new KX.Sync(r),i=!0,n,s;try{try{n=_n.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=_n.openSync(r.file,"w+");else throw l}let o=_n.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,UFe(r,t,s,n,e)}finally{if(i)try{_n.closeSync(n)}catch{}}},UFe=(r,e,t,i,n)=>{let s=new UX.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),GFe(e,n)},HFe=(r,e,t)=>{e=Array.from(e);let i=new KX(r),n=(o,a,l)=>{let c=(p,C)=>{p?_n.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return _n.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new YX(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,_n.read(o,f,0,512,u,h)};_n.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",_n.open(r.file,l,c);if(u)return a(u);_n.fstat(g,(f,h)=>{if(f)return _n.close(g,()=>a(f));n(g,h.size,(p,C)=>{if(p)return a(p);let y=new UX.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),jX(i,e)})})};_n.open(r.file,l,c)});return t?s.then(t,t):s},GFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?HX({file:GX.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},jX=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return HX({file:GX.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>jX(r,e));r.add(t)}r.end()}});var WX=w((eat,JX)=>{"use strict";var YFe=Xf(),jFe=AN();JX.exports=(r,e,t)=>{let i=YFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),qFe(i),jFe(i,e,t)};var qFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var XX=w((tat,VX)=>{var{promisify:zX}=J("util"),gl=J("fs"),JFe=r=>{if(!r)r={mode:511,fs:gl};else if(typeof r=="object")r={mode:511,fs:gl,...r};else if(typeof r=="number")r={mode:r,fs:gl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:gl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||gl.mkdir,r.mkdirAsync=zX(r.mkdir),r.stat=r.stat||r.fs.stat||gl.stat,r.statAsync=zX(r.stat),r.statSync=r.statSync||r.fs.statSync||gl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||gl.mkdirSync,r};VX.exports=JFe});var _X=w((rat,ZX)=>{var WFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:zFe,parse:VFe}=J("path"),XFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=zFe(r),WFe==="win32"){let e=/[*|"<>?:]/,{root:t}=VFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};ZX.exports=XFe});var i7=w((iat,r7)=>{var{dirname:$X}=J("path"),e7=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?e7(r,$X(e),e):void 0),t7=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?t7(r,$X(e),e):void 0}};r7.exports={findMade:e7,findMadeSync:t7}});var uN=w((nat,s7)=>{var{dirname:n7}=J("path"),lN=(r,e,t)=>{e.recursive=!1;let i=n7(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return lN(i,e).then(s=>lN(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},cN=(r,e,t)=>{let i=n7(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return cN(r,e,cN(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};s7.exports={mkdirpManual:lN,mkdirpManualSync:cN}});var A7=w((sat,a7)=>{var{dirname:o7}=J("path"),{findMade:ZFe,findMadeSync:_Fe}=i7(),{mkdirpManual:$Fe,mkdirpManualSync:eNe}=uN(),tNe=(r,e)=>(e.recursive=!0,o7(r)===r?e.mkdirAsync(r,e):ZFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return $Fe(r,e);throw n}))),rNe=(r,e)=>{if(e.recursive=!0,o7(r)===r)return e.mkdirSync(r,e);let i=_Fe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return eNe(r,e);throw n}};a7.exports={mkdirpNative:tNe,mkdirpNativeSync:rNe}});var g7=w((oat,u7)=>{var l7=J("fs"),iNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,gN=iNe.replace(/^v/,"").split("."),c7=+gN[0]>10||+gN[0]==10&&+gN[1]>=12,nNe=c7?r=>r.mkdir===l7.mkdir:()=>!1,sNe=c7?r=>r.mkdirSync===l7.mkdirSync:()=>!1;u7.exports={useNative:nNe,useNativeSync:sNe}});var m7=w((aat,C7)=>{var ph=XX(),dh=_X(),{mkdirpNative:f7,mkdirpNativeSync:h7}=A7(),{mkdirpManual:p7,mkdirpManualSync:d7}=uN(),{useNative:oNe,useNativeSync:aNe}=g7(),Ch=(r,e)=>(r=dh(r),e=ph(e),oNe(e)?f7(r,e):p7(r,e)),ANe=(r,e)=>(r=dh(r),e=ph(e),aNe(e)?h7(r,e):d7(r,e));Ch.sync=ANe;Ch.native=(r,e)=>f7(dh(r),ph(e));Ch.manual=(r,e)=>p7(dh(r),ph(e));Ch.nativeSync=(r,e)=>h7(dh(r),ph(e));Ch.manualSync=(r,e)=>d7(dh(r),ph(e));C7.exports=Ch});var Q7=w((Aat,b7)=>{"use strict";var Ds=J("fs"),Xc=J("path"),lNe=Ds.lchown?"lchown":"chown",cNe=Ds.lchownSync?"lchownSync":"chownSync",I7=Ds.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),E7=(r,e,t)=>{try{return Ds[cNe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},uNe=(r,e,t)=>{try{return Ds.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},gNe=I7?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):Ds.chown(r,e,t,i)}:(r,e,t,i)=>i,fN=I7?(r,e,t)=>{try{return E7(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;uNe(r,e,t)}}:(r,e,t)=>E7(r,e,t),fNe=process.version,y7=(r,e,t)=>Ds.readdir(r,e,t),hNe=(r,e)=>Ds.readdirSync(r,e);/^v4\./.test(fNe)&&(y7=(r,e,t)=>Ds.readdir(r,t));var Q0=(r,e,t,i)=>{Ds[lNe](r,e,t,gNe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},w7=(r,e,t,i,n)=>{if(typeof e=="string")return Ds.lstat(Xc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,w7(r,o,t,i,n)});if(e.isDirectory())hN(Xc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Xc.resolve(r,e.name);Q0(o,t,i,n)});else{let s=Xc.resolve(r,e.name);Q0(s,t,i,n)}},hN=(r,e,t,i)=>{y7(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return Q0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return Q0(r,e,t,i)}};s.forEach(c=>w7(r,c,e,t,l))})},pNe=(r,e,t,i)=>{if(typeof e=="string")try{let n=Ds.lstatSync(Xc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&B7(Xc.resolve(r,e.name),t,i),fN(Xc.resolve(r,e.name),t,i)},B7=(r,e,t)=>{let i;try{i=hNe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return fN(r,e,t);throw n}return i&&i.length&&i.forEach(n=>pNe(r,n,e,t)),fN(r,e,t)};b7.exports=hN;hN.sync=B7});var P7=w((lat,pN)=>{"use strict";var S7=m7(),ks=J("fs"),S0=J("path"),v7=Q7(),co=th(),v0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},x0=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},P0=(r,e)=>r.get(co(e)),jC=(r,e,t)=>r.set(co(e),t),dNe=(r,e)=>{ks.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new x0(r,t&&t.code||"ENOTDIR")),e(t)})};pN.exports=(r,e,t)=>{r=co(r);let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=co(e.cwd),h=(y,B)=>{y?t(y):(jC(g,r,!0),B&&l?v7(B,o,a,v=>h(v)):s?ks.chmod(r,n,t):t())};if(g&&P0(g,r)===!0)return h();if(r===f)return dNe(r,h);if(c)return S7(r,{mode:n}).then(y=>h(null,y),h);let C=co(S0.relative(f,r)).split("/");D0(f,C,n,g,u,f,null,h)};var D0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=co(S0.resolve(r+"/"+l));if(P0(i,c))return D0(c,e,t,i,n,s,o,a);ks.mkdir(c,t,x7(c,e,t,i,n,s,o,a))},x7=(r,e,t,i,n,s,o,a)=>l=>{l?ks.lstat(r,(c,u)=>{if(c)c.path=c.path&&co(c.path),a(c);else if(u.isDirectory())D0(r,e,t,i,n,s,o,a);else if(n)ks.unlink(r,g=>{if(g)return a(g);ks.mkdir(r,t,x7(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new v0(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,D0(r,e,t,i,n,s,o,a))},CNe=r=>{let e=!1,t="ENOTDIR";try{e=ks.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new x0(r,t)}};pN.exports.sync=(r,e)=>{r=co(r);let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=co(e.cwd),f=y=>{jC(u,r,!0),y&&a&&v7.sync(y,s,o),n&&ks.chmodSync(r,i)};if(u&&P0(u,r)===!0)return f();if(r===g)return CNe(g),f();if(l)return f(S7.sync(r,i));let p=co(S0.relative(g,r)).split("/"),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(B=co(S0.resolve(B)),!P0(u,B))try{ks.mkdirSync(B,i),C=C||B,jC(u,B,!0)}catch{let D=ks.lstatSync(B);if(D.isDirectory()){jC(u,B,!0);continue}else if(c){ks.unlinkSync(B),ks.mkdirSync(B,i),C=C||B,jC(u,B,!0);continue}else if(D.isSymbolicLink())return new v0(B,B+"/"+p.join("/"))}return f(C)}});var CN=w((cat,D7)=>{var dN=Object.create(null),{hasOwnProperty:mNe}=Object.prototype;D7.exports=r=>(mNe.call(dN,r)||(dN[r]=r.normalize("NFKD")),dN[r])});var N7=w((uat,F7)=>{var k7=J("assert"),ENe=CN(),INe=nh(),{join:R7}=J("path"),yNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,wNe=yNe==="win32";F7.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((g,f)=>(g.length&&(f=R7(g[g.length-1],f)),g.push(f||"/"),g),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(g=>r.get(g)),dirs:[...u.dirs].map(g=>r.get(g))}},s=c=>{let{paths:u,dirs:g}=n(c);return u.every(f=>f[0]===c)&&g.every(f=>f[0]instanceof Set&&f[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:g}=e.get(c),f=new Set;return u.forEach(h=>{let p=r.get(h);k7.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?f.add(p[0]):p[0].forEach(C=>f.add(C)))}),g.forEach(h=>{let p=r.get(h);k7(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),f.add(p[0])):p[0].delete(c)}),i.delete(c),f.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=wNe?["win32 parallelization disabled"]:c.map(f=>ENe(INe(R7(f))).toLowerCase());let g=new Set(c.map(f=>t(f)).reduce((f,h)=>f.concat(h)));return e.set(u,{dirs:g,paths:c}),c.forEach(f=>{let h=r.get(f);h?h.push(u):r.set(f,[u])}),g.forEach(f=>{let h=r.get(f);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(f,[new Set([u])])}),o(u)}}}});var M7=w((gat,L7)=>{var BNe=process.env.__FAKE_PLATFORM__||process.platform,bNe=BNe==="win32",QNe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:SNe,O_TRUNC:vNe,O_WRONLY:xNe,UV_FS_O_FILEMAP:T7=0}=QNe.constants,PNe=bNe&&!!T7,DNe=512*1024,kNe=T7|vNe|SNe|xNe;L7.exports=PNe?r=>r"w"});var SN=w((fat,Z7)=>{"use strict";var RNe=J("assert"),FNe=w0(),jt=J("fs"),NNe=fh(),tA=J("path"),z7=P7(),O7=SF(),TNe=N7(),LNe=vF(),$n=th(),MNe=nh(),ONe=CN(),K7=Symbol("onEntry"),IN=Symbol("checkFs"),U7=Symbol("checkFs2"),F0=Symbol("pruneCache"),yN=Symbol("isReusable"),Rs=Symbol("makeFs"),wN=Symbol("file"),BN=Symbol("directory"),N0=Symbol("link"),H7=Symbol("symlink"),G7=Symbol("hardlink"),Y7=Symbol("unsupported"),j7=Symbol("checkPath"),fl=Symbol("mkdir"),Yi=Symbol("onError"),k0=Symbol("pending"),q7=Symbol("pend"),mh=Symbol("unpend"),mN=Symbol("ended"),EN=Symbol("maybeClose"),bN=Symbol("skip"),qC=Symbol("doChown"),JC=Symbol("uid"),WC=Symbol("gid"),zC=Symbol("checkedCwd"),V7=J("crypto"),X7=M7(),KNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,VC=KNe==="win32",UNe=(r,e)=>{if(!VC)return jt.unlink(r,e);let t=r+".DELETE."+V7.randomBytes(16).toString("hex");jt.rename(r,t,i=>{if(i)return e(i);jt.unlink(t,e)})},HNe=r=>{if(!VC)return jt.unlinkSync(r);let e=r+".DELETE."+V7.randomBytes(16).toString("hex");jt.renameSync(r,e),jt.unlinkSync(e)},J7=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,W7=r=>ONe(MNe($n(r))).toLowerCase(),GNe=(r,e)=>{e=W7(e);for(let t of r.keys()){let i=W7(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},YNe=r=>{for(let e of r.keys())r.delete(e)},XC=class extends FNe{constructor(e){if(e||(e={}),e.ondone=t=>{this[mN]=!0,this[EN]()},super(e),this[zC]=!1,this.reservations=TNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[k0]=0,this[mN]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||VC,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=$n(tA.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[K7](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[EN](){this[mN]&&this[k0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[j7](e){if(this.strip){let t=$n(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=$n(e.path),i=t.split("/");if(i.includes("..")||VC&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=LNe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(tA.isAbsolute(e.path)?e.absolute=$n(tA.resolve(e.path)):e.absolute=$n(tA.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:$n(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=tA.win32.parse(e.absolute);e.absolute=t+O7.encode(e.absolute.substr(t.length));let{root:i}=tA.win32.parse(e.path);e.path=i+O7.encode(e.path.substr(i.length))}return!0}[K7](e){if(!this[j7](e))return e.resume();switch(RNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[IN](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Y7](e)}}[Yi](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[mh](),t.resume())}[fl](e,t,i){z7($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[qC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[JC](e){return J7(this.uid,e.uid,this.processUid)}[WC](e){return J7(this.gid,e.gid,this.processGid)}[wN](e,t){let i=e.mode&4095||this.fmode,n=new NNe.WriteStream(e.absolute,{flags:X7(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&jt.close(n.fd,()=>{}),n.write=()=>!0,this[Yi](l,e),t()});let s=1,o=l=>{if(l){n.fd&&jt.close(n.fd,()=>{}),this[Yi](l,e),t();return}--s===0&&jt.close(n.fd,c=>{c?this[Yi](c,e):this[mh](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;jt.futimes(u,g,f,h=>h?jt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[qC](e)){s++;let g=this[JC](e),f=this[WC](e);jt.fchown(u,g,f,h=>h?jt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Yi](l,e),t()}),e.pipe(a)),a.pipe(n)}[BN](e,t){let i=e.mode&4095||this.dmode;this[fl](e.absolute,i,n=>{if(n){this[Yi](n,e),t();return}let s=1,o=a=>{--s===0&&(t(),this[mh](),e.resume())};e.mtime&&!this.noMtime&&(s++,jt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[qC](e)&&(s++,jt.chown(e.absolute,this[JC](e),this[WC](e),o)),o()})}[Y7](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[H7](e,t){this[N0](e,e.linkpath,"symlink",t)}[G7](e,t){let i=$n(tA.resolve(this.cwd,e.linkpath));this[N0](e,i,"link",t)}[q7](){this[k0]++}[mh](){this[k0]--,this[EN]()}[bN](e){this[mh](),e.resume()}[yN](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!VC}[IN](e){this[q7]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[U7](e,i))}[F0](e){e.type==="SymbolicLink"?YNe(this.dirCache):e.type!=="Directory"&&GNe(this.dirCache,e.absolute)}[U7](e,t){this[F0](e);let i=a=>{this[F0](e),t(a)},n=()=>{this[fl](this.cwd,this.dmode,a=>{if(a){this[Yi](a,e),i();return}this[zC]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=$n(tA.dirname(e.absolute));if(a!==this.cwd)return this[fl](a,this.dmode,l=>{if(l){this[Yi](l,e),i();return}o()})}o()},o=()=>{jt.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[bN](e),i();return}if(a||this[yN](e,l))return this[Rs](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=g=>this[Rs](g,e,i);return c?jt.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return jt.rmdir(e.absolute,c=>this[Rs](c,e,i))}if(e.absolute===this.cwd)return this[Rs](null,e,i);UNe(e.absolute,c=>this[Rs](c,e,i))})};this[zC]?s():n()}[Rs](e,t,i){if(e){this[Yi](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[wN](t,i);case"Link":return this[G7](t,i);case"SymbolicLink":return this[H7](t,i);case"Directory":case"GNUDumpDir":return this[BN](t,i)}}[N0](e,t,i,n){jt[i](t,e.absolute,s=>{s?this[Yi](s,e):(this[mh](),e.resume()),n()})}},R0=r=>{try{return[null,r()]}catch(e){return[e,null]}},QN=class extends XC{[Rs](e,t){return super[Rs](e,t,()=>{})}[IN](e){if(this[F0](e),!this[zC]){let s=this[fl](this.cwd,this.dmode);if(s)return this[Yi](s,e);this[zC]=!0}if(e.absolute!==this.cwd){let s=$n(tA.dirname(e.absolute));if(s!==this.cwd){let o=this[fl](s,this.dmode);if(o)return this[Yi](o,e)}}let[t,i]=R0(()=>jt.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[bN](e);if(t||this[yN](e,i))return this[Rs](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?R0(()=>{jt.chmodSync(e.absolute,e.mode)}):[];return this[Rs](a,e)}let[s]=R0(()=>jt.rmdirSync(e.absolute));this[Rs](s,e)}let[n]=e.absolute===this.cwd?[]:R0(()=>HNe(e.absolute));this[Rs](n,e)}[wN](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{jt.closeSync(s)}catch(c){l=c}(a||l)&&this[Yi](a||l,e),t()},s;try{s=jt.openSync(e.absolute,X7(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Yi](a,e)),e.pipe(o)),o.on("data",a=>{try{jt.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{jt.futimesSync(s,c,u)}catch(g){try{jt.utimesSync(e.absolute,c,u)}catch{l=g}}}if(this[qC](e)){let c=this[JC](e),u=this[WC](e);try{jt.fchownSync(s,c,u)}catch(g){try{jt.chownSync(e.absolute,c,u)}catch{l=l||g}}}n(l)})}[BN](e,t){let i=e.mode&4095||this.dmode,n=this[fl](e.absolute,i);if(n){this[Yi](n,e),t();return}if(e.mtime&&!this.noMtime)try{jt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[qC](e))try{jt.chownSync(e.absolute,this[JC](e),this[WC](e))}catch{}t(),e.resume()}[fl](e,t){try{return z7.sync($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[N0](e,t,i,n){try{jt[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Yi](s,e)}}};XC.Sync=QN;Z7.exports=XC});var rZ=w((hat,tZ)=>{"use strict";var jNe=Xf(),T0=SN(),$7=J("fs"),eZ=fh(),_7=J("path"),vN=nh();tZ.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=jNe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&qNe(i,e),i.file&&i.sync?JNe(i):i.file?WNe(i,t):i.sync?zNe(i):VNe(i)};var qNe=(r,e)=>{let t=new Map(e.map(s=>[vN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||_7.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(_7.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(vN(s)):s=>n(vN(s))},JNe=r=>{let e=new T0.Sync(r),t=r.file,i=$7.statSync(t),n=r.maxReadSize||16*1024*1024;new eZ.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},WNe=(r,e)=>{let t=new T0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),$7.stat(n,(l,c)=>{if(l)a(l);else{let u=new eZ.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},zNe=r=>new T0.Sync(r),VNe=r=>new T0(r)});var iZ=w(ci=>{"use strict";ci.c=ci.create=OX();ci.r=ci.replace=AN();ci.t=ci.list=B0();ci.u=ci.update=WX();ci.x=ci.extract=rZ();ci.Pack=A0();ci.Unpack=SN();ci.Parse=w0();ci.ReadEntry=qB();ci.WriteEntry=MF();ci.Header=ih();ci.Pax=WB();ci.types=EF()});var aZ=w((Cat,oZ)=>{var xN;oZ.exports.getContent=()=>(typeof xN>"u"&&(xN=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),xN)});var fZ=w((PN,gZ)=>{(function(r,e){typeof PN=="object"?gZ.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(PN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var K0=w((Uat,BZ)=>{var fTe=vs(),hTe=gC(),pTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dTe=/^\w*$/;function CTe(r,e){if(fTe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||hTe(r)?!0:dTe.test(r)||!pTe.test(r)||e!=null&&r in Object(e)}BZ.exports=CTe});var U0=w((Hat,bZ)=>{var mTe=Fc(),ETe=vn(),ITe="[object AsyncFunction]",yTe="[object Function]",wTe="[object GeneratorFunction]",BTe="[object Proxy]";function bTe(r){if(!ETe(r))return!1;var e=mTe(r);return e==yTe||e==wTe||e==ITe||e==BTe}bZ.exports=bTe});var SZ=w((Gat,QZ)=>{var QTe=ys(),STe=QTe["__core-js_shared__"];QZ.exports=STe});var PZ=w((Yat,xZ)=>{var MN=SZ(),vZ=function(){var r=/[^.]+$/.exec(MN&&MN.keys&&MN.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function vTe(r){return!!vZ&&vZ in r}xZ.exports=vTe});var ON=w((jat,DZ)=>{var xTe=Function.prototype,PTe=xTe.toString;function DTe(r){if(r!=null){try{return PTe.call(r)}catch{}try{return r+""}catch{}}return""}DZ.exports=DTe});var RZ=w((qat,kZ)=>{var kTe=U0(),RTe=PZ(),FTe=vn(),NTe=ON(),TTe=/[\\^$.*+?()[\]{}|]/g,LTe=/^\[object .+?Constructor\]$/,MTe=Function.prototype,OTe=Object.prototype,KTe=MTe.toString,UTe=OTe.hasOwnProperty,HTe=RegExp("^"+KTe.call(UTe).replace(TTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function GTe(r){if(!FTe(r)||RTe(r))return!1;var e=kTe(r)?HTe:LTe;return e.test(NTe(r))}kZ.exports=GTe});var NZ=w((Jat,FZ)=>{function YTe(r,e){return r==null?void 0:r[e]}FZ.exports=YTe});var pl=w((Wat,TZ)=>{var jTe=RZ(),qTe=NZ();function JTe(r,e){var t=qTe(r,e);return jTe(t)?t:void 0}TZ.exports=JTe});var _C=w((zat,LZ)=>{var WTe=pl(),zTe=WTe(Object,"create");LZ.exports=zTe});var KZ=w((Vat,OZ)=>{var MZ=_C();function VTe(){this.__data__=MZ?MZ(null):{},this.size=0}OZ.exports=VTe});var HZ=w((Xat,UZ)=>{function XTe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}UZ.exports=XTe});var YZ=w((Zat,GZ)=>{var ZTe=_C(),_Te="__lodash_hash_undefined__",$Te=Object.prototype,eLe=$Te.hasOwnProperty;function tLe(r){var e=this.__data__;if(ZTe){var t=e[r];return t===_Te?void 0:t}return eLe.call(e,r)?e[r]:void 0}GZ.exports=tLe});var qZ=w((_at,jZ)=>{var rLe=_C(),iLe=Object.prototype,nLe=iLe.hasOwnProperty;function sLe(r){var e=this.__data__;return rLe?e[r]!==void 0:nLe.call(e,r)}jZ.exports=sLe});var WZ=w(($at,JZ)=>{var oLe=_C(),aLe="__lodash_hash_undefined__";function ALe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=oLe&&e===void 0?aLe:e,this}JZ.exports=ALe});var VZ=w((eAt,zZ)=>{var lLe=KZ(),cLe=HZ(),uLe=YZ(),gLe=qZ(),fLe=WZ();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function hLe(){this.__data__=[],this.size=0}XZ.exports=hLe});var Ih=w((rAt,_Z)=>{function pLe(r,e){return r===e||r!==r&&e!==e}_Z.exports=pLe});var $C=w((iAt,$Z)=>{var dLe=Ih();function CLe(r,e){for(var t=r.length;t--;)if(dLe(r[t][0],e))return t;return-1}$Z.exports=CLe});var t_=w((nAt,e_)=>{var mLe=$C(),ELe=Array.prototype,ILe=ELe.splice;function yLe(r){var e=this.__data__,t=mLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():ILe.call(e,t,1),--this.size,!0}e_.exports=yLe});var i_=w((sAt,r_)=>{var wLe=$C();function BLe(r){var e=this.__data__,t=wLe(e,r);return t<0?void 0:e[t][1]}r_.exports=BLe});var s_=w((oAt,n_)=>{var bLe=$C();function QLe(r){return bLe(this.__data__,r)>-1}n_.exports=QLe});var a_=w((aAt,o_)=>{var SLe=$C();function vLe(r,e){var t=this.__data__,i=SLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}o_.exports=vLe});var em=w((AAt,A_)=>{var xLe=ZZ(),PLe=t_(),DLe=i_(),kLe=s_(),RLe=a_();function yh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var FLe=pl(),NLe=ys(),TLe=FLe(NLe,"Map");l_.exports=TLe});var g_=w((cAt,u_)=>{var c_=VZ(),LLe=em(),MLe=H0();function OLe(){this.size=0,this.__data__={hash:new c_,map:new(MLe||LLe),string:new c_}}u_.exports=OLe});var h_=w((uAt,f_)=>{function KLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}f_.exports=KLe});var tm=w((gAt,p_)=>{var ULe=h_();function HLe(r,e){var t=r.__data__;return ULe(e)?t[typeof e=="string"?"string":"hash"]:t.map}p_.exports=HLe});var C_=w((fAt,d_)=>{var GLe=tm();function YLe(r){var e=GLe(this,r).delete(r);return this.size-=e?1:0,e}d_.exports=YLe});var E_=w((hAt,m_)=>{var jLe=tm();function qLe(r){return jLe(this,r).get(r)}m_.exports=qLe});var y_=w((pAt,I_)=>{var JLe=tm();function WLe(r){return JLe(this,r).has(r)}I_.exports=WLe});var B_=w((dAt,w_)=>{var zLe=tm();function VLe(r,e){var t=zLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}w_.exports=VLe});var G0=w((CAt,b_)=>{var XLe=g_(),ZLe=C_(),_Le=E_(),$Le=y_(),eMe=B_();function wh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var Q_=G0(),tMe="Expected a function";function KN(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(tMe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(KN.Cache||Q_),t}KN.Cache=Q_;S_.exports=KN});var P_=w((EAt,x_)=>{var rMe=v_(),iMe=500;function nMe(r){var e=rMe(r,function(i){return t.size===iMe&&t.clear(),i}),t=e.cache;return e}x_.exports=nMe});var k_=w((IAt,D_)=>{var sMe=P_(),oMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,aMe=/\\(\\)?/g,AMe=sMe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(oMe,function(t,i,n,s){e.push(n?s.replace(aMe,"$1"):i||t)}),e});D_.exports=AMe});var Bh=w((yAt,R_)=>{var lMe=vs(),cMe=K0(),uMe=k_(),gMe=Vf();function fMe(r,e){return lMe(r)?r:cMe(r,e)?[r]:uMe(gMe(r))}R_.exports=fMe});var Zc=w((wAt,F_)=>{var hMe=gC(),pMe=1/0;function dMe(r){if(typeof r=="string"||hMe(r))return r;var e=r+"";return e=="0"&&1/r==-pMe?"-0":e}F_.exports=dMe});var rm=w((BAt,N_)=>{var CMe=Bh(),mMe=Zc();function EMe(r,e){e=CMe(e,r);for(var t=0,i=e.length;r!=null&&t{var IMe=pl(),yMe=function(){try{var r=IMe(Object,"defineProperty");return r({},"",{}),r}catch{}}();T_.exports=yMe});var bh=w((QAt,M_)=>{var L_=UN();function wMe(r,e,t){e=="__proto__"&&L_?L_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}M_.exports=wMe});var Y0=w((SAt,O_)=>{var BMe=bh(),bMe=Ih(),QMe=Object.prototype,SMe=QMe.hasOwnProperty;function vMe(r,e,t){var i=r[e];(!(SMe.call(r,e)&&bMe(i,t))||t===void 0&&!(e in r))&&BMe(r,e,t)}O_.exports=vMe});var im=w((vAt,K_)=>{var xMe=9007199254740991,PMe=/^(?:0|[1-9]\d*)$/;function DMe(r,e){var t=typeof r;return e=e==null?xMe:e,!!e&&(t=="number"||t!="symbol"&&PMe.test(r))&&r>-1&&r%1==0&&r{var kMe=Y0(),RMe=Bh(),FMe=im(),U_=vn(),NMe=Zc();function TMe(r,e,t,i){if(!U_(r))return r;e=RMe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var LMe=rm(),MMe=HN(),OMe=Bh();function KMe(r,e,t){for(var i=-1,n=e.length,s={};++i{function UMe(r,e){return r!=null&&e in Object(r)}j_.exports=UMe});var W_=w((kAt,J_)=>{var HMe=Fc(),GMe=Wo(),YMe="[object Arguments]";function jMe(r){return GMe(r)&&HMe(r)==YMe}J_.exports=jMe});var nm=w((RAt,X_)=>{var z_=W_(),qMe=Wo(),V_=Object.prototype,JMe=V_.hasOwnProperty,WMe=V_.propertyIsEnumerable,zMe=z_(function(){return arguments}())?z_:function(r){return qMe(r)&&JMe.call(r,"callee")&&!WMe.call(r,"callee")};X_.exports=zMe});var j0=w((FAt,Z_)=>{var VMe=9007199254740991;function XMe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=VMe}Z_.exports=XMe});var GN=w((NAt,__)=>{var ZMe=Bh(),_Me=nm(),$Me=vs(),eOe=im(),tOe=j0(),rOe=Zc();function iOe(r,e,t){e=ZMe(e,r);for(var i=-1,n=e.length,s=!1;++i{var nOe=q_(),sOe=GN();function oOe(r,e){return r!=null&&sOe(r,e,nOe)}$_.exports=oOe});var t$=w((LAt,e$)=>{var aOe=Y_(),AOe=YN();function lOe(r,e){return aOe(r,e,function(t,i){return AOe(r,i)})}e$.exports=lOe});var q0=w((MAt,r$)=>{function cOe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var i$=Rc(),uOe=nm(),gOe=vs(),n$=i$?i$.isConcatSpreadable:void 0;function fOe(r){return gOe(r)||uOe(r)||!!(n$&&r&&r[n$])}s$.exports=fOe});var l$=w((KAt,A$)=>{var hOe=q0(),pOe=o$();function a$(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=pOe),n||(n=[]);++s0&&t(a)?e>1?a$(a,e-1,t,i,n):hOe(n,a):i||(n[n.length]=a)}return n}A$.exports=a$});var u$=w((UAt,c$)=>{var dOe=l$();function COe(r){var e=r==null?0:r.length;return e?dOe(r,1):[]}c$.exports=COe});var f$=w((HAt,g$)=>{function mOe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}g$.exports=mOe});var jN=w((GAt,p$)=>{var EOe=f$(),h$=Math.max;function IOe(r,e,t){return e=h$(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=h$(i.length-e,0),o=Array(s);++n{function yOe(r){return function(){return r}}d$.exports=yOe});var J0=w((jAt,m$)=>{function wOe(r){return r}m$.exports=wOe});var y$=w((qAt,I$)=>{var BOe=C$(),E$=UN(),bOe=J0(),QOe=E$?function(r,e){return E$(r,"toString",{configurable:!0,enumerable:!1,value:BOe(e),writable:!0})}:bOe;I$.exports=QOe});var B$=w((JAt,w$)=>{var SOe=800,vOe=16,xOe=Date.now;function POe(r){var e=0,t=0;return function(){var i=xOe(),n=vOe-(i-t);if(t=i,n>0){if(++e>=SOe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}w$.exports=POe});var qN=w((WAt,b$)=>{var DOe=y$(),kOe=B$(),ROe=kOe(DOe);b$.exports=ROe});var S$=w((zAt,Q$)=>{var FOe=u$(),NOe=jN(),TOe=qN();function LOe(r){return TOe(NOe(r,void 0,FOe),r+"")}Q$.exports=LOe});var x$=w((VAt,v$)=>{var MOe=t$(),OOe=S$(),KOe=OOe(function(r,e){return r==null?{}:MOe(r,e)});v$.exports=KOe});var K$=w((mct,O$)=>{"use strict";var _N;try{_N=Map}catch{}var $N;try{$N=Set}catch{}function L$(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(M$);if(_N&&r instanceof _N)return new Map(Array.from(r.entries()));if($N&&r instanceof $N)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:L$(r[n],e,t)}return i}return r}function M$(r){return L$(r,[],[])}O$.exports=M$});var om=w(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});eT.default=e1e;var zOe=Object.prototype.toString,VOe=Error.prototype.toString,XOe=RegExp.prototype.toString,ZOe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",_Oe=/^Symbol\((.*)\)(.*)$/;function $Oe(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function U$(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return $Oe(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return ZOe.call(r).replace(_Oe,"Symbol($1)");let i=zOe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+VOe.call(r)+"]":i==="RegExp"?XOe.call(r):null}function e1e(r,e){let t=U$(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=U$(this[i],e);return s!==null?s:n},2)}});var iA=w(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=Ei.array=Ei.object=Ei.boolean=Ei.date=Ei.number=Ei.string=Ei.mixed=void 0;var H$=t1e(om());function t1e(r){return r&&r.__esModule?r:{default:r}}var G$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,H$.default)(t,!0)}\``+(n?` (cast from the value \`${(0,H$.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Ei.mixed=G$;var Y$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Ei.string=Y$;var j$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Ei.number=j$;var q$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Ei.date=q$;var J$={isValue:"${path} field must be ${value}"};Ei.boolean=J$;var W$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Ei.object=W$;var z$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Ei.array=z$;var r1e=Object.assign(Object.create(null),{mixed:G$,string:Y$,number:j$,date:q$,object:W$,array:z$,boolean:J$});Ei.default=r1e});var X$=w((yct,V$)=>{var i1e=Object.prototype,n1e=i1e.hasOwnProperty;function s1e(r,e){return r!=null&&n1e.call(r,e)}V$.exports=s1e});var am=w((wct,Z$)=>{var o1e=X$(),a1e=GN();function A1e(r,e){return r!=null&&a1e(r,e,o1e)}Z$.exports=A1e});var xh=w(eb=>{"use strict";Object.defineProperty(eb,"__esModule",{value:!0});eb.default=void 0;var l1e=r=>r&&r.__isYupSchema__;eb.default=l1e});var $$=w(tb=>{"use strict";Object.defineProperty(tb,"__esModule",{value:!0});tb.default=void 0;var c1e=_$(am()),u1e=_$(xh());function _$(r){return r&&r.__esModule?r:{default:r}}var tT=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,c1e.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,u1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},g1e=tT;tb.default=g1e});var iT=w(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});rT.default=f1e;function f1e(r){return r==null?[]:[].concat(r)}});var _c=w(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});rb.default=void 0;var h1e=eee(om()),p1e=eee(iT());function eee(r){return r&&r.__esModule?r:{default:r}}function nT(){return nT=Object.assign||function(r){for(var e=1;e(0,h1e.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,p1e.default)(e).forEach(s=>{Ph.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ph)}};rb.default=Ph});var ib=w(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});oT.default=E1e;var sT=C1e(_c());function C1e(r){return r&&r.__esModule?r:{default:r}}var m1e=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function E1e(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=m1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new sT.default(o,s,l)):c(null,s);for(let f=0;f{function I1e(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}tee.exports=I1e});var aT=w((Pct,iee)=>{var y1e=ree(),w1e=y1e();iee.exports=w1e});var see=w((Dct,nee)=>{function B1e(r,e){for(var t=-1,i=Array(r);++t{function b1e(){return!1}oee.exports=b1e});var lm=w((Am,Dh)=>{var Q1e=ys(),S1e=aee(),cee=typeof Am=="object"&&Am&&!Am.nodeType&&Am,Aee=cee&&typeof Dh=="object"&&Dh&&!Dh.nodeType&&Dh,v1e=Aee&&Aee.exports===cee,lee=v1e?Q1e.Buffer:void 0,x1e=lee?lee.isBuffer:void 0,P1e=x1e||S1e;Dh.exports=P1e});var gee=w((Rct,uee)=>{var D1e=Fc(),k1e=j0(),R1e=Wo(),F1e="[object Arguments]",N1e="[object Array]",T1e="[object Boolean]",L1e="[object Date]",M1e="[object Error]",O1e="[object Function]",K1e="[object Map]",U1e="[object Number]",H1e="[object Object]",G1e="[object RegExp]",Y1e="[object Set]",j1e="[object String]",q1e="[object WeakMap]",J1e="[object ArrayBuffer]",W1e="[object DataView]",z1e="[object Float32Array]",V1e="[object Float64Array]",X1e="[object Int8Array]",Z1e="[object Int16Array]",_1e="[object Int32Array]",$1e="[object Uint8Array]",eKe="[object Uint8ClampedArray]",tKe="[object Uint16Array]",rKe="[object Uint32Array]",Ir={};Ir[z1e]=Ir[V1e]=Ir[X1e]=Ir[Z1e]=Ir[_1e]=Ir[$1e]=Ir[eKe]=Ir[tKe]=Ir[rKe]=!0;Ir[F1e]=Ir[N1e]=Ir[J1e]=Ir[T1e]=Ir[W1e]=Ir[L1e]=Ir[M1e]=Ir[O1e]=Ir[K1e]=Ir[U1e]=Ir[H1e]=Ir[G1e]=Ir[Y1e]=Ir[j1e]=Ir[q1e]=!1;function iKe(r){return R1e(r)&&k1e(r.length)&&!!Ir[D1e(r)]}uee.exports=iKe});var nb=w((Fct,fee)=>{function nKe(r){return function(e){return r(e)}}fee.exports=nKe});var sb=w((cm,kh)=>{var sKe=WD(),hee=typeof cm=="object"&&cm&&!cm.nodeType&&cm,um=hee&&typeof kh=="object"&&kh&&!kh.nodeType&&kh,oKe=um&&um.exports===hee,AT=oKe&&sKe.process,aKe=function(){try{var r=um&&um.require&&um.require("util").types;return r||AT&&AT.binding&&AT.binding("util")}catch{}}();kh.exports=aKe});var ob=w((Nct,Cee)=>{var AKe=gee(),lKe=nb(),pee=sb(),dee=pee&&pee.isTypedArray,cKe=dee?lKe(dee):AKe;Cee.exports=cKe});var lT=w((Tct,mee)=>{var uKe=see(),gKe=nm(),fKe=vs(),hKe=lm(),pKe=im(),dKe=ob(),CKe=Object.prototype,mKe=CKe.hasOwnProperty;function EKe(r,e){var t=fKe(r),i=!t&&gKe(r),n=!t&&!i&&hKe(r),s=!t&&!i&&!n&&dKe(r),o=t||i||n||s,a=o?uKe(r.length,String):[],l=a.length;for(var c in r)(e||mKe.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||pKe(c,l)))&&a.push(c);return a}mee.exports=EKe});var ab=w((Lct,Eee)=>{var IKe=Object.prototype;function yKe(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||IKe;return r===t}Eee.exports=yKe});var cT=w((Mct,Iee)=>{function wKe(r,e){return function(t){return r(e(t))}}Iee.exports=wKe});var wee=w((Oct,yee)=>{var BKe=cT(),bKe=BKe(Object.keys,Object);yee.exports=bKe});var bee=w((Kct,Bee)=>{var QKe=ab(),SKe=wee(),vKe=Object.prototype,xKe=vKe.hasOwnProperty;function PKe(r){if(!QKe(r))return SKe(r);var e=[];for(var t in Object(r))xKe.call(r,t)&&t!="constructor"&&e.push(t);return e}Bee.exports=PKe});var gm=w((Uct,Qee)=>{var DKe=U0(),kKe=j0();function RKe(r){return r!=null&&kKe(r.length)&&!DKe(r)}Qee.exports=RKe});var Rh=w((Hct,See)=>{var FKe=lT(),NKe=bee(),TKe=gm();function LKe(r){return TKe(r)?FKe(r):NKe(r)}See.exports=LKe});var uT=w((Gct,vee)=>{var MKe=aT(),OKe=Rh();function KKe(r,e){return r&&MKe(r,e,OKe)}vee.exports=KKe});var Pee=w((Yct,xee)=>{var UKe=em();function HKe(){this.__data__=new UKe,this.size=0}xee.exports=HKe});var kee=w((jct,Dee)=>{function GKe(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}Dee.exports=GKe});var Fee=w((qct,Ree)=>{function YKe(r){return this.__data__.get(r)}Ree.exports=YKe});var Tee=w((Jct,Nee)=>{function jKe(r){return this.__data__.has(r)}Nee.exports=jKe});var Mee=w((Wct,Lee)=>{var qKe=em(),JKe=H0(),WKe=G0(),zKe=200;function VKe(r,e){var t=this.__data__;if(t instanceof qKe){var i=t.__data__;if(!JKe||i.length{var XKe=em(),ZKe=Pee(),_Ke=kee(),$Ke=Fee(),eUe=Tee(),tUe=Mee();function Fh(r){var e=this.__data__=new XKe(r);this.size=e.size}Fh.prototype.clear=ZKe;Fh.prototype.delete=_Ke;Fh.prototype.get=$Ke;Fh.prototype.has=eUe;Fh.prototype.set=tUe;Oee.exports=Fh});var Uee=w((Vct,Kee)=>{var rUe="__lodash_hash_undefined__";function iUe(r){return this.__data__.set(r,rUe),this}Kee.exports=iUe});var Gee=w((Xct,Hee)=>{function nUe(r){return this.__data__.has(r)}Hee.exports=nUe});var jee=w((Zct,Yee)=>{var sUe=G0(),oUe=Uee(),aUe=Gee();function Ab(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new sUe;++e{function AUe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function lUe(r,e){return r.has(e)}Wee.exports=lUe});var gT=w((eut,Vee)=>{var cUe=jee(),uUe=Jee(),gUe=zee(),fUe=1,hUe=2;function pUe(r,e,t,i,n,s){var o=t&fUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&hUe?new cUe:void 0;for(s.set(r,e),s.set(e,r);++g{var dUe=ys(),CUe=dUe.Uint8Array;Xee.exports=CUe});var _ee=w((rut,Zee)=>{function mUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Zee.exports=mUe});var ete=w((iut,$ee)=>{function EUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}$ee.exports=EUe});var ste=w((nut,nte)=>{var tte=Rc(),rte=fT(),IUe=Ih(),yUe=gT(),wUe=_ee(),BUe=ete(),bUe=1,QUe=2,SUe="[object Boolean]",vUe="[object Date]",xUe="[object Error]",PUe="[object Map]",DUe="[object Number]",kUe="[object RegExp]",RUe="[object Set]",FUe="[object String]",NUe="[object Symbol]",TUe="[object ArrayBuffer]",LUe="[object DataView]",ite=tte?tte.prototype:void 0,hT=ite?ite.valueOf:void 0;function MUe(r,e,t,i,n,s,o){switch(t){case LUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case TUe:return!(r.byteLength!=e.byteLength||!s(new rte(r),new rte(e)));case SUe:case vUe:case DUe:return IUe(+r,+e);case xUe:return r.name==e.name&&r.message==e.message;case kUe:case FUe:return r==e+"";case PUe:var a=wUe;case RUe:var l=i&bUe;if(a||(a=BUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=QUe,o.set(r,e);var u=yUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case NUe:if(hT)return hT.call(r)==hT.call(e)}return!1}nte.exports=MUe});var pT=w((sut,ote)=>{var OUe=q0(),KUe=vs();function UUe(r,e,t){var i=e(r);return KUe(r)?i:OUe(i,t(r))}ote.exports=UUe});var Ate=w((out,ate)=>{function HUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function GUe(){return[]}lte.exports=GUe});var lb=w((Aut,ute)=>{var YUe=Ate(),jUe=dT(),qUe=Object.prototype,JUe=qUe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,WUe=cte?function(r){return r==null?[]:(r=Object(r),YUe(cte(r),function(e){return JUe.call(r,e)}))}:jUe;ute.exports=WUe});var CT=w((lut,gte)=>{var zUe=pT(),VUe=lb(),XUe=Rh();function ZUe(r){return zUe(r,XUe,VUe)}gte.exports=ZUe});var pte=w((cut,hte)=>{var fte=CT(),_Ue=1,$Ue=Object.prototype,e2e=$Ue.hasOwnProperty;function t2e(r,e,t,i,n,s){var o=t&_Ue,a=fte(r),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:e2e.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var r2e=pl(),i2e=ys(),n2e=r2e(i2e,"DataView");dte.exports=n2e});var Ete=w((gut,mte)=>{var s2e=pl(),o2e=ys(),a2e=s2e(o2e,"Promise");mte.exports=a2e});var yte=w((fut,Ite)=>{var A2e=pl(),l2e=ys(),c2e=A2e(l2e,"Set");Ite.exports=c2e});var Bte=w((hut,wte)=>{var u2e=pl(),g2e=ys(),f2e=u2e(g2e,"WeakMap");wte.exports=f2e});var hm=w((put,Dte)=>{var mT=Cte(),ET=H0(),IT=Ete(),yT=yte(),wT=Bte(),Pte=Fc(),Nh=ON(),bte="[object Map]",h2e="[object Object]",Qte="[object Promise]",Ste="[object Set]",vte="[object WeakMap]",xte="[object DataView]",p2e=Nh(mT),d2e=Nh(ET),C2e=Nh(IT),m2e=Nh(yT),E2e=Nh(wT),$c=Pte;(mT&&$c(new mT(new ArrayBuffer(1)))!=xte||ET&&$c(new ET)!=bte||IT&&$c(IT.resolve())!=Qte||yT&&$c(new yT)!=Ste||wT&&$c(new wT)!=vte)&&($c=function(r){var e=Pte(r),t=e==h2e?r.constructor:void 0,i=t?Nh(t):"";if(i)switch(i){case p2e:return xte;case d2e:return bte;case C2e:return Qte;case m2e:return Ste;case E2e:return vte}return e});Dte.exports=$c});var Ote=w((dut,Mte)=>{var BT=fm(),I2e=gT(),y2e=ste(),w2e=pte(),kte=hm(),Rte=vs(),Fte=lm(),B2e=ob(),b2e=1,Nte="[object Arguments]",Tte="[object Array]",cb="[object Object]",Q2e=Object.prototype,Lte=Q2e.hasOwnProperty;function S2e(r,e,t,i,n,s){var o=Rte(r),a=Rte(e),l=o?Tte:kte(r),c=a?Tte:kte(e);l=l==Nte?cb:l,c=c==Nte?cb:c;var u=l==cb,g=c==cb,f=l==c;if(f&&Fte(r)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new BT),o||B2e(r)?I2e(r,e,t,i,n,s):y2e(r,e,l,t,i,n,s);if(!(t&b2e)){var h=u&&Lte.call(r,"__wrapped__"),p=g&&Lte.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new BT),n(C,y,t,i,s)}}return f?(s||(s=new BT),w2e(r,e,t,i,n,s)):!1}Mte.exports=S2e});var bT=w((Cut,Hte)=>{var v2e=Ote(),Kte=Wo();function Ute(r,e,t,i,n){return r===e?!0:r==null||e==null||!Kte(r)&&!Kte(e)?r!==r&&e!==e:v2e(r,e,t,i,Ute,n)}Hte.exports=Ute});var Yte=w((mut,Gte)=>{var x2e=fm(),P2e=bT(),D2e=1,k2e=2;function R2e(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var F2e=vn();function N2e(r){return r===r&&!F2e(r)}jte.exports=N2e});var Jte=w((Iut,qte)=>{var T2e=QT(),L2e=Rh();function M2e(r){for(var e=L2e(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,T2e(n)]}return e}qte.exports=M2e});var ST=w((yut,Wte)=>{function O2e(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Wte.exports=O2e});var Vte=w((wut,zte)=>{var K2e=Yte(),U2e=Jte(),H2e=ST();function G2e(r){var e=U2e(r);return e.length==1&&e[0][2]?H2e(e[0][0],e[0][1]):function(t){return t===r||K2e(t,r,e)}}zte.exports=G2e});var ub=w((But,Xte)=>{var Y2e=rm();function j2e(r,e,t){var i=r==null?void 0:Y2e(r,e);return i===void 0?t:i}Xte.exports=j2e});var _te=w((but,Zte)=>{var q2e=bT(),J2e=ub(),W2e=YN(),z2e=K0(),V2e=QT(),X2e=ST(),Z2e=Zc(),_2e=1,$2e=2;function eHe(r,e){return z2e(r)&&V2e(e)?X2e(Z2e(r),e):function(t){var i=J2e(t,r);return i===void 0&&i===e?W2e(t,r):q2e(e,i,_2e|$2e)}}Zte.exports=eHe});var ere=w((Qut,$te)=>{function tHe(r){return function(e){return e==null?void 0:e[r]}}$te.exports=tHe});var rre=w((Sut,tre)=>{var rHe=rm();function iHe(r){return function(e){return rHe(e,r)}}tre.exports=iHe});var nre=w((vut,ire)=>{var nHe=ere(),sHe=rre(),oHe=K0(),aHe=Zc();function AHe(r){return oHe(r)?nHe(aHe(r)):sHe(r)}ire.exports=AHe});var vT=w((xut,sre)=>{var lHe=Vte(),cHe=_te(),uHe=J0(),gHe=vs(),fHe=nre();function hHe(r){return typeof r=="function"?r:r==null?uHe:typeof r=="object"?gHe(r)?cHe(r[0],r[1]):lHe(r):fHe(r)}sre.exports=hHe});var xT=w((Put,ore)=>{var pHe=bh(),dHe=uT(),CHe=vT();function mHe(r,e){var t={};return e=CHe(e,3),dHe(r,function(i,n,s){pHe(t,n,e(i,n,s))}),t}ore.exports=mHe});var pm=w((Dut,ure)=>{"use strict";function eu(r){this._maxSize=r,this.clear()}eu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};eu.prototype.get=function(r){return this._values[r]};eu.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var EHe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,cre=/^\d+$/,IHe=/^\d/,yHe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,wHe=/^\s*(['"]?)(.*?)(\1)\s*$/,kT=512,are=new eu(kT),Are=new eu(kT),lre=new eu(kT);ure.exports={Cache:eu,split:DT,normalizePath:PT,setter:function(r){var e=PT(r);return Are.get(r)||Are.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.create=xHe;Cm.default=void 0;var vHe=pm(),gb={context:"$",value:"."};function xHe(r,e){return new dm(r,e)}var dm=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===gb.context,this.isValue=this.key[0]===gb.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?gb.context:this.isValue?gb.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,vHe.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Cm.default=dm;dm.prototype.__isYupRef=!0});var gre=w(NT=>{"use strict";Object.defineProperty(NT,"__esModule",{value:!0});NT.default=RHe;var PHe=FT(xT()),fb=FT(_c()),DHe=FT(tu());function FT(r){return r&&r.__esModule?r:{default:r}}function hb(){return hb=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function RHe(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=kHe(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return DHe.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,PHe.default)(hb({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new fb.default(fb.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=hb({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{fb.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let T;try{var H;if(T=f.call(D,n,D),typeof((H=T)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}fb.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var TT=w(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.getIn=fre;mm.default=void 0;var FHe=pm(),NHe=r=>r.substr(0,r.length-1).substr(1);function fre(r,e,t,i=t){let n,s,o;return e?((0,FHe.forEach)(e,(a,l,c)=>{let u=l?NHe(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var THe=(r,e,t,i)=>fre(r,e,t,i).schema,LHe=THe;mm.default=LHe});var pre=w(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.default=void 0;var hre=MHe(tu());function MHe(r){return r&&r.__esModule?r:{default:r}}var Em=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){hre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){hre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new Em;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};pb.default=Em});var sA=w(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});Cb.default=void 0;var dre=nA(K$()),Th=iA(),OHe=nA($$()),Cre=nA(ib()),db=nA(gre()),mre=nA(om()),KHe=nA(tu()),UHe=TT(),HHe=nA(iT()),Ere=nA(_c()),Ire=nA(pre());function nA(r){return r&&r.__esModule?r:{default:r}}function Fs(){return Fs=Object.assign||function(r){for(var e=1;e{this.typeError(Th.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Fs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Fs({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,dre.default)(Fs({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Fs({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Fs({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,mre.default)(e),o=(0,mre.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". +`));if(!E)return null;d.input=yA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(v(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(v(ke(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(D(ke(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(D(ke(d.output,0)),d.output=[])}}};function ss(d){for(var E=H(d,65536),I=dt(E);d=E)){var k=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var L=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(L.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=S.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,S.isDir(d.mode)?E.size=4096:S.isFile(d.mode)?E.size=d.usedBytes:S.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&>.resizeFileStorage(d,E.size)},lookup:function(d,E){throw S.genericErrors[44]},mknod:function(d,E,I,k){return gt.createNode(d,E,I,k)},rename:function(d,E,I){if(S.isDir(d.mode)){var k;try{k=S.lookupNode(E,I)}catch{}if(k)for(var L in k.contents)throw new S.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=S.lookupNode(d,E);for(var k in I.contents)throw new S.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var k=gt.createNode(d,E,41471,0);return k.link=I,k},readlink:function(d){if(!S.isLink(d.mode))throw new S.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,k,L){var Z=d.node.contents;if(L>=d.node.usedBytes)return 0;var te=Math.min(d.node.usedBytes-L,k);if(te>8&&Z.subarray)E.set(Z.subarray(L,L+te),I);else for(var we=0;we0||k+I>2)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),bt.join.apply(null,E)},flagsForNode:function(d){d&=-2097153,d&=-2049,d&=-32769,d&=-524289;var E=0;for(var I in At.flagsForNodeMap)d&I&&(E|=At.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=At.realPath(d),I;try{I=Le.lstatSync(E)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}return At.isWindows&&!I.blksize&&(I.blksize=4096),At.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=At.realPath(d);try{if(E.mode!==void 0&&(Le.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var k=new Date(E.timestamp);Le.utimesSync(I,k,k)}E.size!==void 0&&Le.truncateSync(I,E.size)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},lookup:function(d,E){var I=bt.join2(At.realPath(d),E),k=At.getMode(I);return At.createNode(d,E,k)},mknod:function(d,E,I,k){var L=At.createNode(d,E,I,k),Z=At.realPath(L);try{S.isDir(L.mode)?Le.mkdirSync(Z,L.mode):Le.writeFileSync(Z,"",{mode:L.mode})}catch(te){throw te.code?new S.ErrnoError(At.convertNodeCode(te)):te}return L},rename:function(d,E,I){var k=At.realPath(d),L=bt.join2(At.realPath(E),I);try{Le.renameSync(k,L)}catch(Z){throw Z.code?new S.ErrnoError(At.convertNodeCode(Z)):Z}d.name=I},unlink:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.unlinkSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},rmdir:function(d,E){var I=bt.join2(At.realPath(d),E);try{Le.rmdirSync(I)}catch(k){throw k.code?new S.ErrnoError(At.convertNodeCode(k)):k}},readdir:function(d){var E=At.realPath(d);try{return Le.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},symlink:function(d,E,I){var k=bt.join2(At.realPath(d),E);try{Le.symlinkSync(I,k)}catch(L){throw L.code?new S.ErrnoError(At.convertNodeCode(L)):L}},readlink:function(d){var E=At.realPath(d);try{return E=Le.readlinkSync(E),E=dg.relative(dg.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=At.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Le.openSync(E,At.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(At.convertNodeCode(I)):I}},close:function(d){try{S.isFile(d.node.mode)&&d.nfd&&Le.closeSync(d.nfd)}catch(E){throw E.code?new S.ErrnoError(At.convertNodeCode(E)):E}},read:function(d,E,I,k,L){if(k===0)return 0;try{return Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},write:function(d,E,I,k,L){try{return Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L)}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}},llseek:function(d,E,I){var k=E;if(I===1)k+=d.position;else if(I===2&&S.isFile(d.node.mode))try{var L=Le.fstatSync(d.nfd);k+=L.size}catch(Z){throw new S.ErrnoError(At.convertNodeCode(Z))}if(k<0)throw new S.ErrnoError(28);return k},mmap:function(d,E,I,k,L,Z){if(E!==0)throw new S.ErrnoError(28);if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);var te=ss(I);return At.stream_ops.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){if(!S.isFile(d.node.mode))throw new S.ErrnoError(43);if(L&2)return 0;var Z=At.stream_ops.write(d,E,0,k,I,!1);return 0}}},ln={lookupPath:function(d){return{path:d,node:{mode:At.getMode(d)}}},createStandardStreams:function(){S.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)S.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){S.isDir(d)?Le.mkdirSync(d,E):Le.writeFileSync(d,"",{mode:E})},mkdir:function(){Le.mkdirSync.apply(void 0,arguments)},symlink:function(){Le.symlinkSync.apply(void 0,arguments)},rename:function(){Le.renameSync.apply(void 0,arguments)},rmdir:function(){Le.rmdirSync.apply(void 0,arguments)},readdir:function(){Le.readdirSync.apply(void 0,arguments)},unlink:function(){Le.unlinkSync.apply(void 0,arguments)},readlink:function(){return Le.readlinkSync.apply(void 0,arguments)},stat:function(){return Le.statSync.apply(void 0,arguments)},lstat:function(){return Le.lstatSync.apply(void 0,arguments)},chmod:function(){Le.chmodSync.apply(void 0,arguments)},fchmod:function(){Le.fchmodSync.apply(void 0,arguments)},chown:function(){Le.chownSync.apply(void 0,arguments)},fchown:function(){Le.fchownSync.apply(void 0,arguments)},truncate:function(){Le.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new S.ErrnoError(28);Le.ftruncateSync.apply(void 0,arguments)},utime:function(){Le.utimesSync.apply(void 0,arguments)},open:function(d,E,I,k){typeof E=="string"&&(E=Hs.modeStringToFlags(E));var L=Le.openSync(d,At.flagsForNode(E),I),Z=k!=null?k:S.nextfd(L),te={fd:Z,nfd:L,position:0,path:d,flags:E,seekable:!0};return S.streams[Z]=te,te},close:function(d){d.stream_ops||Le.closeSync(d.nfd),S.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Hs.llseek(d,E,I);var k=E;if(I===1)k+=d.position;else if(I===2)k+=Le.fstatSync(d.nfd).size;else if(I!==0)throw new S.ErrnoError(Bo.EINVAL);if(k<0)throw new S.ErrnoError(Bo.EINVAL);return d.position=k,k},read:function(d,E,I,k,L){if(d.stream_ops)return Hs.read(d,E,I,k,L);var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.readSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L){if(d.stream_ops)return Hs.write(d,E,I,k,L);d.flags&+"1024"&&S.llseek(d,0,+"2");var Z=typeof L<"u";!Z&&d.seekable&&(L=d.position);var te=Le.writeSync(d.nfd,At.bufferFrom(E.buffer),I,k,L);return Z||(d.position+=te),te},allocate:function(){throw new S.ErrnoError(Bo.EOPNOTSUPP)},mmap:function(d,E,I,k,L,Z){if(d.stream_ops)return Hs.mmap(d,E,I,k,L,Z);if(E!==0)throw new S.ErrnoError(28);var te=ss(I);return S.read(d,ne,te,I,k),{ptr:te,allocated:!0}},msync:function(d,E,I,k,L){return d.stream_ops?Hs.msync(d,E,I,k,L):(L&2||S.write(d,E,0,k,I),0)},munmap:function(){return 0},ioctl:function(){throw new S.ErrnoError(Bo.ENOTTY)}},S={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Nn.resolve(S.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var k in I)E[k]===void 0&&(E[k]=I[k]);if(E.recurse_count>8)throw new S.ErrnoError(32);for(var L=bt.normalizeArray(d.split("/").filter(function(lt){return!!lt}),!1),Z=S.root,te="/",we=0;we40)throw new S.ErrnoError(32)}}return{path:te,node:Z}},getPath:function(d){for(var E;;){if(S.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,k=0;k>>0)%S.nameTable.length},hashAddNode:function(d){var E=S.hashName(d.parent.id,d.name);d.name_next=S.nameTable[E],S.nameTable[E]=d},hashRemoveNode:function(d){var E=S.hashName(d.parent.id,d.name);if(S.nameTable[E]===d)S.nameTable[E]=d.name_next;else for(var I=S.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=S.mayLookup(d);if(I)throw new S.ErrnoError(I,d);for(var k=S.hashName(d.id,E),L=S.nameTable[k];L;L=L.name_next){var Z=L.name;if(L.parent.id===d.id&&Z===E)return L}return S.lookup(d,E)},createNode:function(d,E,I,k){var L=new S.FSNode(d,E,I,k);return S.hashAddNode(L),L},destroyNode:function(d){S.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)===32768},isDir:function(d){return(d&61440)===16384},isLink:function(d){return(d&61440)===40960},isChrdev:function(d){return(d&61440)===8192},isBlkdev:function(d){return(d&61440)===24576},isFIFO:function(d){return(d&61440)===4096},isSocket:function(d){return(d&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=S.flagModes[d];if(typeof E>"u")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return S.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=S.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=S.lookupNode(d,E);return 20}catch{}return S.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var k;try{k=S.lookupNode(d,E)}catch(Z){return Z.errno}var L=S.nodePermissions(d,"wx");if(L)return L;if(I){if(!S.isDir(k.mode))return 54;if(S.isRoot(k)||S.getPath(k)===S.cwd())return 10}else if(S.isDir(k.mode))return 31;return 0},mayOpen:function(d,E){return d?S.isLink(d.mode)?32:S.isDir(d.mode)&&(S.flagsToPermissionString(E)!=="r"||E&512)?31:S.nodePermissions(d,S.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||S.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!S.streams[I])return I;throw new S.ErrnoError(33)},getStream:function(d){return S.streams[d]},createStream:function(d,E,I){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={object:{get:function(){return this.node},set:function(te){this.node=te}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var k=new S.FSStream;for(var L in d)k[L]=d[L];d=k;var Z=S.nextfd(E,I);return d.fd=Z,S.streams[Z]=d,d},closeStream:function(d){S.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=S.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new S.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){S.devices[d]={stream_ops:E}},getDevice:function(d){return S.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var k=I.pop();E.push(k),I.push.apply(I,k.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),S.syncFSRequests++,S.syncFSRequests>1&&D("warning: "+S.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=S.getMounts(S.root.mount),k=0;function L(te){return S.syncFSRequests--,E(te)}function Z(te){if(te)return Z.errored?void 0:(Z.errored=!0,L(te));++k>=I.length&&L(null)}I.forEach(function(te){if(!te.type.syncfs)return Z(null);te.type.syncfs(te,d,Z)})},mount:function(d,E,I){var k=I==="/",L=!I,Z;if(k&&S.root)throw new S.ErrnoError(10);if(!k&&!L){var te=S.lookupPath(I,{follow_mount:!1});if(I=te.path,Z=te.node,S.isMountpoint(Z))throw new S.ErrnoError(10);if(!S.isDir(Z.mode))throw new S.ErrnoError(54)}var we={type:d,opts:E,mountpoint:I,mounts:[]},me=d.mount(we);return me.mount=we,we.root=me,k?S.root=me:Z&&(Z.mounted=we,Z.mount&&Z.mount.mounts.push(we)),me},unmount:function(d){var E=S.lookupPath(d,{follow_mount:!1});if(!S.isMountpoint(E.node))throw new S.ErrnoError(28);var I=E.node,k=I.mounted,L=S.getMounts(k);Object.keys(S.nameTable).forEach(function(te){for(var we=S.nameTable[te];we;){var me=we.name_next;L.includes(we.mount)&&S.destroyNode(we),we=me}}),I.mounted=null;var Z=I.mount.mounts.indexOf(k);I.mount.mounts.splice(Z,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var k=S.lookupPath(d,{parent:!0}),L=k.node,Z=bt.basename(d);if(!Z||Z==="."||Z==="..")throw new S.ErrnoError(28);var te=S.mayCreate(L,Z);if(te)throw new S.ErrnoError(te);if(!L.node_ops.mknod)throw new S.ErrnoError(63);return L.node_ops.mknod(L,Z,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,S.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=1023,E|=16384,S.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),k="",L=0;L"u"&&(I=E,E=438),E|=8192,S.mknod(d,E,I)},symlink:function(d,E){if(!Nn.resolve(d))throw new S.ErrnoError(44);var I=S.lookupPath(E,{parent:!0}),k=I.node;if(!k)throw new S.ErrnoError(44);var L=bt.basename(E),Z=S.mayCreate(k,L);if(Z)throw new S.ErrnoError(Z);if(!k.node_ops.symlink)throw new S.ErrnoError(63);return k.node_ops.symlink(k,L,d)},rename:function(d,E){var I=bt.dirname(d),k=bt.dirname(E),L=bt.basename(d),Z=bt.basename(E),te,we,me;if(te=S.lookupPath(d,{parent:!0}),we=te.node,te=S.lookupPath(E,{parent:!0}),me=te.node,!we||!me)throw new S.ErrnoError(44);if(we.mount!==me.mount)throw new S.ErrnoError(75);var Je=S.lookupNode(we,L),nt=Nn.relative(d,k);if(nt.charAt(0)!==".")throw new S.ErrnoError(28);if(nt=Nn.relative(E,I),nt.charAt(0)!==".")throw new S.ErrnoError(55);var wt;try{wt=S.lookupNode(me,Z)}catch{}if(Je!==wt){var lt=S.isDir(Je.mode),it=S.mayDelete(we,L,lt);if(it)throw new S.ErrnoError(it);if(it=wt?S.mayDelete(me,Z,lt):S.mayCreate(me,Z),it)throw new S.ErrnoError(it);if(!we.node_ops.rename)throw new S.ErrnoError(63);if(S.isMountpoint(Je)||wt&&S.isMountpoint(wt))throw new S.ErrnoError(10);if(me!==we&&(it=S.nodePermissions(we,"w"),it))throw new S.ErrnoError(it);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(d,E)}catch(Et){D("FS.trackingDelegate['willMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}S.hashRemoveNode(Je);try{we.node_ops.rename(Je,me,Z)}catch(Et){throw Et}finally{S.hashAddNode(Je)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(d,E)}catch(Et){D("FS.trackingDelegate['onMovePath']('"+d+"', '"+E+"') threw an exception: "+Et.message)}}},rmdir:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!0);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.rmdir)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.rmdir(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readdir:function(d){var E=S.lookupPath(d,{follow:!0}),I=E.node;if(!I.node_ops.readdir)throw new S.ErrnoError(54);return I.node_ops.readdir(I)},unlink:function(d){var E=S.lookupPath(d,{parent:!0}),I=E.node,k=bt.basename(d),L=S.lookupNode(I,k),Z=S.mayDelete(I,k,!1);if(Z)throw new S.ErrnoError(Z);if(!I.node_ops.unlink)throw new S.ErrnoError(63);if(S.isMountpoint(L))throw new S.ErrnoError(10);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(d)}catch(te){D("FS.trackingDelegate['willDeletePath']('"+d+"') threw an exception: "+te.message)}I.node_ops.unlink(I,k),S.destroyNode(L);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(d)}catch(te){D("FS.trackingDelegate['onDeletePath']('"+d+"') threw an exception: "+te.message)}},readlink:function(d){var E=S.lookupPath(d),I=E.node;if(!I)throw new S.ErrnoError(44);if(!I.node_ops.readlink)throw new S.ErrnoError(28);return Nn.resolve(S.getPath(I.parent),I.node_ops.readlink(I))},stat:function(d,E){var I=S.lookupPath(d,{follow:!E}),k=I.node;if(!k)throw new S.ErrnoError(44);if(!k.node_ops.getattr)throw new S.ErrnoError(63);return k.node_ops.getattr(k)},lstat:function(d){return S.stat(d,!0)},chmod:function(d,E,I){var k;if(typeof d=="string"){var L=S.lookupPath(d,{follow:!I});k=L.node}else k=d;if(!k.node_ops.setattr)throw new S.ErrnoError(63);k.node_ops.setattr(k,{mode:E&4095|k.mode&-4096,timestamp:Date.now()})},lchmod:function(d,E){S.chmod(d,E,!0)},fchmod:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);S.chmod(I.node,E)},chown:function(d,E,I,k){var L;if(typeof d=="string"){var Z=S.lookupPath(d,{follow:!k});L=Z.node}else L=d;if(!L.node_ops.setattr)throw new S.ErrnoError(63);L.node_ops.setattr(L,{timestamp:Date.now()})},lchown:function(d,E,I){S.chown(d,E,I,!0)},fchown:function(d,E,I){var k=S.getStream(d);if(!k)throw new S.ErrnoError(8);S.chown(k.node,E,I)},truncate:function(d,E){if(E<0)throw new S.ErrnoError(28);var I;if(typeof d=="string"){var k=S.lookupPath(d,{follow:!0});I=k.node}else I=d;if(!I.node_ops.setattr)throw new S.ErrnoError(63);if(S.isDir(I.mode))throw new S.ErrnoError(31);if(!S.isFile(I.mode))throw new S.ErrnoError(28);var L=S.nodePermissions(I,"w");if(L)throw new S.ErrnoError(L);I.node_ops.setattr(I,{size:E,timestamp:Date.now()})},ftruncate:function(d,E){var I=S.getStream(d);if(!I)throw new S.ErrnoError(8);if((I.flags&2097155)===0)throw new S.ErrnoError(28);S.truncate(I.node,E)},utime:function(d,E,I){var k=S.lookupPath(d,{follow:!0}),L=k.node;L.node_ops.setattr(L,{timestamp:Math.max(E,I)})},open:function(d,E,I,k,L){if(d==="")throw new S.ErrnoError(44);E=typeof E=="string"?S.modeStringToFlags(E):E,I=typeof I>"u"?438:I,E&64?I=I&4095|32768:I=0;var Z;if(typeof d=="object")Z=d;else{d=bt.normalize(d);try{var te=S.lookupPath(d,{follow:!(E&131072)});Z=te.node}catch{}}var we=!1;if(E&64)if(Z){if(E&128)throw new S.ErrnoError(20)}else Z=S.mknod(d,I,0),we=!0;if(!Z)throw new S.ErrnoError(44);if(S.isChrdev(Z.mode)&&(E&=-513),E&65536&&!S.isDir(Z.mode))throw new S.ErrnoError(54);if(!we){var me=S.mayOpen(Z,E);if(me)throw new S.ErrnoError(me)}E&512&&S.truncate(Z,0),E&=-131713;var Je=S.createStream({node:Z,path:S.getPath(Z),flags:E,seekable:!0,position:0,stream_ops:Z.stream_ops,ungotten:[],error:!1},k,L);Je.stream_ops.open&&Je.stream_ops.open(Je),t.logReadFiles&&!(E&1)&&(S.readFiles||(S.readFiles={}),d in S.readFiles||(S.readFiles[d]=1,D("FS.trackingDelegate error on read file: "+d)));try{if(S.trackingDelegate.onOpenFile){var nt=0;(E&2097155)!==1&&(nt|=S.tracking.openFlags.READ),(E&2097155)!==0&&(nt|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(d,nt)}}catch(wt){D("FS.trackingDelegate['onOpenFile']('"+d+"', flags) threw an exception: "+wt.message)}return Je},close:function(d){if(S.isClosed(d))throw new S.ErrnoError(8);d.getdents&&(d.getdents=null);try{d.stream_ops.close&&d.stream_ops.close(d)}catch(E){throw E}finally{S.closeStream(d.fd)}d.fd=null},isClosed:function(d){return d.fd===null},llseek:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(!d.seekable||!d.stream_ops.llseek)throw new S.ErrnoError(70);if(I!=0&&I!=1&&I!=2)throw new S.ErrnoError(28);return d.position=d.stream_ops.llseek(d,E,I),d.ungotten=[],d.position},read:function(d,E,I,k,L){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===1)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.read)throw new S.ErrnoError(28);var Z=typeof L<"u";if(!Z)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var te=d.stream_ops.read(d,E,I,k,L);return Z||(d.position+=te),te},write:function(d,E,I,k,L,Z){if(k<0||L<0)throw new S.ErrnoError(28);if(S.isClosed(d))throw new S.ErrnoError(8);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(S.isDir(d.node.mode))throw new S.ErrnoError(31);if(!d.stream_ops.write)throw new S.ErrnoError(28);d.seekable&&d.flags&1024&&S.llseek(d,0,2);var te=typeof L<"u";if(!te)L=d.position;else if(!d.seekable)throw new S.ErrnoError(70);var we=d.stream_ops.write(d,E,I,k,L,Z);te||(d.position+=we);try{d.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(d.path)}catch(me){D("FS.trackingDelegate['onWriteToFile']('"+d.path+"') threw an exception: "+me.message)}return we},allocate:function(d,E,I){if(S.isClosed(d))throw new S.ErrnoError(8);if(E<0||I<=0)throw new S.ErrnoError(28);if((d.flags&2097155)===0)throw new S.ErrnoError(8);if(!S.isFile(d.node.mode)&&!S.isDir(d.node.mode))throw new S.ErrnoError(43);if(!d.stream_ops.allocate)throw new S.ErrnoError(138);d.stream_ops.allocate(d,E,I)},mmap:function(d,E,I,k,L,Z){if((L&2)!==0&&(Z&2)===0&&(d.flags&2097155)!==2)throw new S.ErrnoError(2);if((d.flags&2097155)===1)throw new S.ErrnoError(2);if(!d.stream_ops.mmap)throw new S.ErrnoError(43);return d.stream_ops.mmap(d,E,I,k,L,Z)},msync:function(d,E,I,k,L){return!d||!d.stream_ops.msync?0:d.stream_ops.msync(d,E,I,k,L)},munmap:function(d){return 0},ioctl:function(d,E,I){if(!d.stream_ops.ioctl)throw new S.ErrnoError(59);return d.stream_ops.ioctl(d,E,I)},readFile:function(d,E){if(E=E||{},E.flags=E.flags||0,E.encoding=E.encoding||"binary",E.encoding!=="utf8"&&E.encoding!=="binary")throw new Error('Invalid encoding type "'+E.encoding+'"');var I,k=S.open(d,E.flags),L=S.stat(d),Z=L.size,te=new Uint8Array(Z);return S.read(k,te,0,Z,0),E.encoding==="utf8"?I=ke(te,0):E.encoding==="binary"&&(I=te),S.close(k),I},writeFile:function(d,E,I){I=I||{},I.flags=I.flags||577;var k=S.open(d,I.flags,I.mode);if(typeof E=="string"){var L=new Uint8Array(le(E)+1),Z=Ne(E,L,0,L.length);S.write(k,L,0,Z,void 0,I.canOwn)}else if(ArrayBuffer.isView(E))S.write(k,E,0,E.byteLength,void 0,I.canOwn);else throw new Error("Unsupported data type");S.close(k)},cwd:function(){return S.currentPath},chdir:function(d){var E=S.lookupPath(d,{follow:!0});if(E.node===null)throw new S.ErrnoError(44);if(!S.isDir(E.node.mode))throw new S.ErrnoError(54);var I=S.nodePermissions(E.node,"x");if(I)throw new S.ErrnoError(I);S.currentPath=E.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(E,I,k,L,Z){return L}}),S.mkdev("/dev/null",S.makedev(1,3)),ns.register(S.makedev(5,0),ns.default_tty_ops),ns.register(S.makedev(6,0),ns.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var d=Ll();S.createDevice("/dev","random",d),S.createDevice("/dev","urandom",d),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){S.mkdir("/proc");var d=S.mkdir("/proc/self");S.mkdir("/proc/self/fd"),S.mount({mount:function(){var E=S.createNode(d,"fd",16895,73);return E.node_ops={lookup:function(I,k){var L=+k,Z=S.getStream(L);if(!Z)throw new S.ErrnoError(8);var te={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return Z.path}}};return te.parent=te,te}},E}},{},"/proc/self/fd")},createStandardStreams:function(){t.stdin?S.createDevice("/dev","stdin",t.stdin):S.symlink("/dev/tty","/dev/stdin"),t.stdout?S.createDevice("/dev","stdout",null,t.stdout):S.symlink("/dev/tty","/dev/stdout"),t.stderr?S.createDevice("/dev","stderr",null,t.stderr):S.symlink("/dev/tty1","/dev/stderr");var d=S.open("/dev/stdin",0),E=S.open("/dev/stdout",1),I=S.open("/dev/stderr",1)},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(E,I){this.node=I,this.setErrno=function(k){this.errno=k},this.setErrno(E),this.message="FS error"},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[44].forEach(function(d){S.genericErrors[d]=new S.ErrnoError(d),S.genericErrors[d].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(gt,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices(),S.createSpecialDirectories(),S.filesystems={MEMFS:gt,NODEFS:At}},init:function(d,E,I){S.init.initialized=!0,S.ensureErrnoError(),t.stdin=d||t.stdin,t.stdout=E||t.stdout,t.stderr=I||t.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;var d=t._fflush;d&&d(0);for(var E=0;Ethis.length-1||lt<0)){var it=lt%this.chunkSize,Et=lt/this.chunkSize|0;return this.getter(Et)[it]}},Z.prototype.setDataGetter=function(lt){this.getter=lt},Z.prototype.cacheLength=function(){var lt=new XMLHttpRequest;if(lt.open("HEAD",I,!1),lt.send(null),!(lt.status>=200&<.status<300||lt.status===304))throw new Error("Couldn't load "+I+". Status: "+lt.status);var it=Number(lt.getResponseHeader("Content-length")),Et,be=(Et=lt.getResponseHeader("Accept-Ranges"))&&Et==="bytes",On=(Et=lt.getResponseHeader("Content-Encoding"))&&Et==="gzip",Ri=1024*1024;be||(Ri=it);var SA=function(os,Ea){if(os>Ea)throw new Error("invalid range ("+os+", "+Ea+") or no bytes requested!");if(Ea>it-1)throw new Error("only "+it+" bytes available! programmer error!");var Kr=new XMLHttpRequest;if(Kr.open("GET",I,!1),it!==Ri&&Kr.setRequestHeader("Range","bytes="+os+"-"+Ea),typeof Uint8Array<"u"&&(Kr.responseType="arraybuffer"),Kr.overrideMimeType&&Kr.overrideMimeType("text/plain; charset=x-user-defined"),Kr.send(null),!(Kr.status>=200&&Kr.status<300||Kr.status===304))throw new Error("Couldn't load "+I+". Status: "+Kr.status);return Kr.response!==void 0?new Uint8Array(Kr.response||[]):yA(Kr.responseText||"",!0)},Mr=this;Mr.setDataGetter(function(os){var Ea=os*Ri,Kr=(os+1)*Ri-1;if(Kr=Math.min(Kr,it-1),typeof Mr.chunks[os]>"u"&&(Mr.chunks[os]=SA(Ea,Kr)),typeof Mr.chunks[os]>"u")throw new Error("doXHR failed!");return Mr.chunks[os]}),(On||!it)&&(Ri=it=1,it=this.getter(0).length,Ri=it,v("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=it,this._chunkSize=Ri,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var te=new Z;Object.defineProperties(te,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var we={isDevice:!1,contents:te}}else var we={isDevice:!1,url:I};var me=S.createFile(d,E,we,k,L);we.contents?me.contents=we.contents:we.url&&(me.contents=null,me.url=we.url),Object.defineProperties(me,{usedBytes:{get:function(){return this.contents.length}}});var Je={},nt=Object.keys(me.stream_ops);return nt.forEach(function(wt){var lt=me.stream_ops[wt];Je[wt]=function(){return S.forceLoadFile(me),lt.apply(null,arguments)}}),Je.read=function(lt,it,Et,be,On){S.forceLoadFile(me);var Ri=lt.node.contents;if(On>=Ri.length)return 0;var SA=Math.min(Ri.length-On,be);if(Ri.slice)for(var Mr=0;Mr>2]=k.dev,de[I+4>>2]=0,de[I+8>>2]=k.ino,de[I+12>>2]=k.mode,de[I+16>>2]=k.nlink,de[I+20>>2]=k.uid,de[I+24>>2]=k.gid,de[I+28>>2]=k.rdev,de[I+32>>2]=0,se=[k.size>>>0,(vr=k.size,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+40>>2]=se[0],de[I+44>>2]=se[1],de[I+48>>2]=4096,de[I+52>>2]=k.blocks,de[I+56>>2]=k.atime.getTime()/1e3|0,de[I+60>>2]=0,de[I+64>>2]=k.mtime.getTime()/1e3|0,de[I+68>>2]=0,de[I+72>>2]=k.ctime.getTime()/1e3|0,de[I+76>>2]=0,se=[k.ino>>>0,(vr=k.ino,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[I+80>>2]=se[0],de[I+84>>2]=se[1],0},doMsync:function(d,E,I,k,L){var Z=Y.slice(d,d+I);S.msync(E,Z,L,I,k)},doMkdir:function(d,E){return d=bt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),S.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return S.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var k=S.readlink(d),L=Math.min(I,le(k)),Z=ne[E+L];return oe(k,E,I+1),ne[E+L]=Z,L},doAccess:function(d,E){if(E&-8)return-28;var I,k=S.lookupPath(d,{follow:!0});if(I=k.node,!I)return-44;var L="";return E&4&&(L+="r"),E&2&&(L+="w"),E&1&&(L+="x"),L&&S.nodePermissions(I,L)?-2:0},doDup:function(d,E,I){var k=S.getStream(I);return k&&S.close(k),S.open(d,E,0,I,I).fd},doReadv:function(d,E,I,k){for(var L=0,Z=0;Z>2],we=de[E+(Z*8+4)>>2],me=S.read(d,ne,te,we,k);if(me<0)return-1;if(L+=me,me>2],we=de[E+(Z*8+4)>>2],me=S.write(d,ne,te,we,k);if(me<0)return-1;L+=me}return L},varargs:void 0,get:function(){Lt.varargs+=4;var d=de[Lt.varargs-4>>2];return d},getStr:function(d){var E=Fe(d);return E},getStreamFromFD:function(d){var E=S.getStream(d);if(!E)throw new S.ErrnoError(8);return E},get64:function(d,E){return d}};function hg(d,E){try{return d=Lt.getStr(d),S.chmod(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function Ol(d){return de[Ft()>>2]=d,d}function Qp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 0:{var L=Lt.get();if(L<0)return-28;var Z;return Z=S.open(k.path,k.flags,0,L),Z.fd}case 1:case 2:return 0;case 3:return k.flags;case 4:{var L=Lt.get();return k.flags|=L,0}case 12:{var L=Lt.get(),te=0;return he[L+te>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ol(28),-1;default:return-28}}catch(we){return(typeof S>"u"||!(we instanceof S.ErrnoError))&&wr(we),-we.errno}}function Sp(d,E){try{var I=Lt.getStreamFromFD(d);return Lt.doStat(S.stat,I.path,E)}catch(k){return(typeof S>"u"||!(k instanceof S.ErrnoError))&&wr(k),-k.errno}}function vp(d,E,I){Lt.varargs=I;try{var k=Lt.getStreamFromFD(d);switch(E){case 21509:case 21505:return k.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return k.tty?0:-59;case 21519:{if(!k.tty)return-59;var L=Lt.get();return de[L>>2]=0,0}case 21520:return k.tty?-28:-59;case 21531:{var L=Lt.get();return S.ioctl(k,E,L)}case 21523:return k.tty?0:-59;case 21524:return k.tty?0:-59;default:wr("bad ioctl syscall "+E)}}catch(Z){return(typeof S>"u"||!(Z instanceof S.ErrnoError))&&wr(Z),-Z.errno}}function xp(d,E,I){Lt.varargs=I;try{var k=Lt.getStr(d),L=I?Lt.get():0,Z=S.open(k,E,L);return Z.fd}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),-te.errno}}function Pp(d,E){try{return d=Lt.getStr(d),E=Lt.getStr(E),S.rename(d,E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function G(d){try{return d=Lt.getStr(d),S.rmdir(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function yt(d,E){try{return d=Lt.getStr(d),Lt.doStat(S.stat,d,E)}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),-I.errno}}function IA(d){try{return d=Lt.getStr(d),S.unlink(d),0}catch(E){return(typeof S>"u"||!(E instanceof S.ErrnoError))&&wr(E),-E.errno}}function zi(d,E,I){Y.copyWithin(d,E,E+I)}function Ml(d){try{return A.grow(d-qe.byteLength+65535>>>16),Or(A.buffer),1}catch{}}function Xe(d){var E=Y.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var k=1;k<=4;k*=2){var L=E*(1+.2/k);L=Math.min(L,d+100663296);var Z=Math.min(I,ae(Math.max(d,L),65536)),te=Ml(Z);if(te)return!0}return!1}function pa(d){try{var E=Lt.getStreamFromFD(d);return S.close(E),0}catch(I){return(typeof S>"u"||!(I instanceof S.ErrnoError))&&wr(I),I.errno}}function pg(d,E){try{var I=Lt.getStreamFromFD(d),k=I.tty?2:S.isDir(I.mode)?3:S.isLink(I.mode)?7:4;return ne[E>>0]=k,0}catch(L){return(typeof S>"u"||!(L instanceof S.ErrnoError))&&wr(L),L.errno}}function OE(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doReadv(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function Dp(d,E,I,k,L){try{var Z=Lt.getStreamFromFD(d),te=4294967296,we=I*te+(E>>>0),me=9007199254740992;return we<=-me||we>=me?-61:(S.llseek(Z,we,k),se=[Z.position>>>0,(vr=Z.position,+Math.abs(vr)>=1?vr>0?(Math.min(+Math.floor(vr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((vr-+(~~vr>>>0))/4294967296)>>>0:0)],de[L>>2]=se[0],de[L+4>>2]=se[1],Z.getdents&&we===0&&k===0&&(Z.getdents=null),0)}catch(Je){return(typeof S>"u"||!(Je instanceof S.ErrnoError))&&wr(Je),Je.errno}}function ME(d,E,I,k){try{var L=Lt.getStreamFromFD(d),Z=Lt.doWritev(L,E,I);return de[k>>2]=Z,0}catch(te){return(typeof S>"u"||!(te instanceof S.ErrnoError))&&wr(te),te.errno}}function ar(d){$(d)}function Tn(d){var E=Date.now()/1e3|0;return d&&(de[d>>2]=E),E}function Kl(){if(Kl.called)return;Kl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),k=E.getTimezoneOffset(),L=I.getTimezoneOffset(),Z=Math.max(k,L);de[iS()>>2]=Z*60,de[rS()>>2]=Number(k!=L);function te(wt){var lt=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return lt?lt[1]:"GMT"}var we=te(E),me=te(I),Je=Be(we),nt=Be(me);L>2]=Je,de[wg()+4>>2]=nt):(de[wg()>>2]=nt,de[wg()+4>>2]=Je)}function kp(d){Kl();var E=Date.UTC(de[d+20>>2]+1900,de[d+16>>2],de[d+12>>2],de[d+8>>2],de[d+4>>2],de[d>>2],0),I=new Date(E);de[d+24>>2]=I.getUTCDay();var k=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),L=(I.getTime()-k)/(1e3*60*60*24)|0;return de[d+28>>2]=L,I.getTime()/1e3|0}var Us=function(d,E,I,k){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=S.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=k},da=365,cn=146;if(Object.defineProperties(Us.prototype,{read:{get:function(){return(this.mode&da)===da},set:function(d){d?this.mode|=da:this.mode&=~da}},write:{get:function(){return(this.mode&cn)===cn},set:function(d){d?this.mode|=cn:this.mode&=~cn}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}}),S.FSNode=Us,S.staticInit(),g){var Le=rV,dg=J("path");At.staticInit()}if(g){var Ul=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new S.ErrnoError(Bo[E.code]):E}}},Hs=Object.assign({},S);for(var Hl in ln)S[Hl]=Ul(ln[Hl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function yA(d,E,I){var k=I>0?I:le(d)+1,L=new Array(k),Z=Ne(d,L,0,L.length);return E&&(L.length=Z),L}var Cg=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",k,L,Z,te,we,me,Je,nt=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do te=E.indexOf(d.charAt(nt++)),we=E.indexOf(d.charAt(nt++)),me=E.indexOf(d.charAt(nt++)),Je=E.indexOf(d.charAt(nt++)),k=te<<2|we>>4,L=(we&15)<<4|me>>2,Z=(me&3)<<6|Je,I=I+String.fromCharCode(k),me!==64&&(I=I+String.fromCharCode(L)),Je!==64&&(I=I+String.fromCharCode(Z));while(nt0||(pr(),is>0))return;function E(){Me||(Me=!0,t.calledRun=!0,!Ae&&(Ii(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),rs()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),E()},1)):E()}if(t.run=QA,t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return QA(),e}}();typeof IB=="object"&&typeof FR=="object"?FR.exports=RR:typeof define=="function"&&define.amd?define([],function(){return RR}):typeof IB=="object"&&(IB.createModule=RR)});var vV=w((jst,SV)=>{function dke(r,e){for(var t=-1,i=r==null?0:r.length,n=Array(i);++t{var Cke=Array.isArray;xV.exports=Cke});var NV=w((Jst,FV)=>{var PV=Rc(),mke=vV(),Eke=vs(),Ike=gC(),yke=1/0,DV=PV?PV.prototype:void 0,kV=DV?DV.toString:void 0;function RV(r){if(typeof r=="string")return r;if(Eke(r))return mke(r,RV)+"";if(Ike(r))return kV?kV.call(r):"";var e=r+"";return e=="0"&&1/r==-yke?"-0":e}FV.exports=RV});var Vf=w((Wst,TV)=>{var wke=NV();function Bke(r){return r==null?"":wke(r)}TV.exports=Bke});var HR=w((zst,LV)=>{function bke(r,e,t){var i=-1,n=r.length;e<0&&(e=-e>n?0:n+e),t=t>n?n:t,t<0&&(t+=n),n=e>t?0:t-e>>>0,e>>>=0;for(var s=Array(n);++i{var Qke=HR();function Ske(r,e,t){var i=r.length;return t=t===void 0?i:t,!e&&t>=i?r:Qke(r,e,t)}OV.exports=Ske});var GR=w((Xst,KV)=>{var vke="\\ud800-\\udfff",xke="\\u0300-\\u036f",Pke="\\ufe20-\\ufe2f",Dke="\\u20d0-\\u20ff",kke=xke+Pke+Dke,Rke="\\ufe0e\\ufe0f",Fke="\\u200d",Nke=RegExp("["+Fke+vke+kke+Rke+"]");function Tke(r){return Nke.test(r)}KV.exports=Tke});var HV=w((Zst,UV)=>{function Lke(r){return r.split("")}UV.exports=Lke});var VV=w((_st,zV)=>{var GV="\\ud800-\\udfff",Oke="\\u0300-\\u036f",Mke="\\ufe20-\\ufe2f",Kke="\\u20d0-\\u20ff",Uke=Oke+Mke+Kke,Hke="\\ufe0e\\ufe0f",Gke="["+GV+"]",YR="["+Uke+"]",jR="\\ud83c[\\udffb-\\udfff]",Yke="(?:"+YR+"|"+jR+")",YV="[^"+GV+"]",jV="(?:\\ud83c[\\udde6-\\uddff]){2}",qV="[\\ud800-\\udbff][\\udc00-\\udfff]",jke="\\u200d",JV=Yke+"?",WV="["+Hke+"]?",qke="(?:"+jke+"(?:"+[YV,jV,qV].join("|")+")"+WV+JV+")*",Jke=WV+JV+qke,Wke="(?:"+[YV+YR+"?",YR,jV,qV,Gke].join("|")+")",zke=RegExp(jR+"(?="+jR+")|"+Wke+Jke,"g");function Vke(r){return r.match(zke)||[]}zV.exports=Vke});var ZV=w(($st,XV)=>{var Xke=HV(),Zke=GR(),_ke=VV();function $ke(r){return Zke(r)?_ke(r):Xke(r)}XV.exports=$ke});var $V=w((eot,_V)=>{var eRe=MV(),tRe=GR(),rRe=ZV(),iRe=Vf();function nRe(r){return function(e){e=iRe(e);var t=tRe(e)?rRe(e):void 0,i=t?t[0]:e.charAt(0),n=t?eRe(t,1).join(""):e.slice(1);return i[r]()+n}}_V.exports=nRe});var t9=w((tot,e9)=>{var sRe=$V(),oRe=sRe("toUpperCase");e9.exports=oRe});var PB=w((rot,r9)=>{var aRe=Vf(),ARe=t9();function lRe(r){return ARe(aRe(r).toLowerCase())}r9.exports=lRe});var i9=w((iot,DB)=>{function cRe(){var r=0,e=1,t=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,C=15,y=16,B=17,v=0,D=1,T=2,H=3,j=4;function $(A,Ae){return 55296<=A.charCodeAt(Ae)&&A.charCodeAt(Ae)<=56319&&56320<=A.charCodeAt(Ae+1)&&A.charCodeAt(Ae+1)<=57343}function V(A,Ae){Ae===void 0&&(Ae=0);var ge=A.charCodeAt(Ae);if(55296<=ge&&ge<=56319&&Ae=1){var re=A.charCodeAt(Ae-1),O=ge;return 55296<=re&&re<=56319?(re-55296)*1024+(O-56320)+65536:O}return ge}function W(A,Ae,ge){var re=[A].concat(Ae).concat([ge]),O=re[re.length-2],F=ge,ue=re.lastIndexOf(p);if(ue>1&&re.slice(1,ue).every(function(Fe){return Fe==i})&&[i,h,B].indexOf(A)==-1)return T;var pe=re.lastIndexOf(n);if(pe>0&&re.slice(1,pe).every(function(Fe){return Fe==n})&&[f,n].indexOf(O)==-1)return re.filter(function(Fe){return Fe==n}).length%2==1?H:j;if(O==r&&F==e)return v;if(O==t||O==r||O==e)return F==p&&Ae.every(function(Fe){return Fe==i})?T:D;if(F==t||F==r||F==e)return D;if(O==o&&(F==o||F==a||F==c||F==u))return v;if((O==c||O==a)&&(F==a||F==l))return v;if((O==u||O==l)&&F==l)return v;if(F==i||F==C)return v;if(F==s)return v;if(O==f)return v;var ke=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,B].indexOf(re[ke])!=-1&&re.slice(ke+1,-1).every(function(Fe){return Fe==i})&&F==p||O==C&&[y,B].indexOf(F)!=-1?v:Ae.indexOf(n)!=-1?T:O==n&&F==n?v:D}this.nextBreak=function(A,Ae){if(Ae===void 0&&(Ae=0),Ae<0)return 0;if(Ae>=A.length-1)return A.length;for(var ge=_(V(A,Ae)),re=[],O=Ae+1;O{var uRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,kB;function gRe(){if(kB)return kB;if(typeof Intl.Segmenter<"u"){let r=new Intl.Segmenter("en",{granularity:"grapheme"});return kB=e=>Array.from(r.segment(e),({segment:t})=>t)}else{let r=i9(),e=new r;return kB=t=>e.splitGraphemes(t)}}n9.exports=(r,e=0,t=r.length)=>{if(e<0||t<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=t-e,n="",s=0,o=0;for(;r.length>0;){let a=r.match(uRe)||[r,r,void 0],l=gRe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]<"u"&&(n+=a[2]),r=r.slice(a[0].length)}return n}});var Xf=w((bot,y9)=>{"use strict";var I9=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);y9.exports=r=>r?Object.keys(r).map(e=>[I9.has(e)?I9.get(e):e,r[e]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}});var _f=w((Qot,D9)=>{"use strict";var w9=typeof process=="object"&&process?process:{stdout:null,stderr:null},QRe=J("events"),B9=J("stream"),b9=J("string_decoder").StringDecoder,Wa=Symbol("EOF"),za=Symbol("maybeEmitEnd"),rl=Symbol("emittedEnd"),OB=Symbol("emittingEnd"),NC=Symbol("emittedError"),MB=Symbol("closed"),Q9=Symbol("read"),KB=Symbol("flush"),S9=Symbol("flushChunk"),xn=Symbol("encoding"),Va=Symbol("decoder"),UB=Symbol("flowing"),TC=Symbol("paused"),Zf=Symbol("resume"),Ci=Symbol("bufferLength"),XR=Symbol("bufferPush"),ZR=Symbol("bufferShift"),Hi=Symbol("objectMode"),Gi=Symbol("destroyed"),_R=Symbol("emitData"),v9=Symbol("emitEnd"),$R=Symbol("emitEnd2"),Xa=Symbol("async"),LC=r=>Promise.resolve().then(r),x9=global._MP_NO_ITERATOR_SYMBOLS_!=="1",SRe=x9&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),vRe=x9&&Symbol.iterator||Symbol("iterator not implemented"),xRe=r=>r==="end"||r==="finish"||r==="prefinish",PRe=r=>r instanceof ArrayBuffer||typeof r=="object"&&r.constructor&&r.constructor.name==="ArrayBuffer"&&r.byteLength>=0,DRe=r=>!Buffer.isBuffer(r)&&ArrayBuffer.isView(r),HB=class{constructor(e,t,i){this.src=e,this.dest=t,this.opts=i,this.ondrain=()=>e[Zf](),t.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},eF=class extends HB{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,i){super(e,t,i),this.proxyErrors=n=>t.emit("error",n),e.on("error",this.proxyErrors)}};D9.exports=class P9 extends B9{constructor(e){super(),this[UB]=!1,this[TC]=!1,this.pipes=[],this.buffer=[],this[Hi]=e&&e.objectMode||!1,this[Hi]?this[xn]=null:this[xn]=e&&e.encoding||null,this[xn]==="buffer"&&(this[xn]=null),this[Xa]=e&&!!e.async||!1,this[Va]=this[xn]?new b9(this[xn]):null,this[Wa]=!1,this[rl]=!1,this[OB]=!1,this[MB]=!1,this[NC]=null,this.writable=!0,this.readable=!0,this[Ci]=0,this[Gi]=!1}get bufferLength(){return this[Ci]}get encoding(){return this[xn]}set encoding(e){if(this[Hi])throw new Error("cannot set encoding in objectMode");if(this[xn]&&e!==this[xn]&&(this[Va]&&this[Va].lastNeed||this[Ci]))throw new Error("cannot change encoding");this[xn]!==e&&(this[Va]=e?new b9(e):null,this.buffer.length&&(this.buffer=this.buffer.map(t=>this[Va].write(t)))),this[xn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Hi]}set objectMode(e){this[Hi]=this[Hi]||!!e}get async(){return this[Xa]}set async(e){this[Xa]=this[Xa]||!!e}write(e,t,i){if(this[Wa])throw new Error("write after end");if(this[Gi])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(i=t,t="utf8"),t||(t="utf8");let n=this[Xa]?LC:s=>s();return!this[Hi]&&!Buffer.isBuffer(e)&&(DRe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):PRe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Hi]?(this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):e.length?(typeof e=="string"&&!(t===this[xn]&&!this[Va].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[xn]&&(e=this[Va].write(e)),this.flowing&&this[Ci]!==0&&this[KB](!0),this.flowing?this.emit("data",e):this[XR](e),this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing):(this[Ci]!==0&&this.emit("readable"),i&&n(i),this.flowing)}read(e){if(this[Gi])return null;if(this[Ci]===0||e===0||e>this[Ci])return this[za](),null;this[Hi]&&(e=null),this.buffer.length>1&&!this[Hi]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ci])]);let t=this[Q9](e||null,this.buffer[0]);return this[za](),t}[Q9](e,t){return e===t.length||e===null?this[ZR]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[Ci]-=e),this.emit("data",t),!this.buffer.length&&!this[Wa]&&this.emit("drain"),t}end(e,t,i){return typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t="utf8"),e&&this.write(e,t),i&&this.once("end",i),this[Wa]=!0,this.writable=!1,(this.flowing||!this[TC])&&this[za](),this}[Zf](){this[Gi]||(this[TC]=!1,this[UB]=!0,this.emit("resume"),this.buffer.length?this[KB]():this[Wa]?this[za]():this.emit("drain"))}resume(){return this[Zf]()}pause(){this[UB]=!1,this[TC]=!0}get destroyed(){return this[Gi]}get flowing(){return this[UB]}get paused(){return this[TC]}[XR](e){this[Hi]?this[Ci]+=1:this[Ci]+=e.length,this.buffer.push(e)}[ZR](){return this.buffer.length&&(this[Hi]?this[Ci]-=1:this[Ci]-=this.buffer[0].length),this.buffer.shift()}[KB](e){do;while(this[S9](this[ZR]()));!e&&!this.buffer.length&&!this[Wa]&&this.emit("drain")}[S9](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,t){if(this[Gi])return;let i=this[rl];return t=t||{},e===w9.stdout||e===w9.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,i?t.end&&e.end():(this.pipes.push(t.proxyErrors?new eF(this,e,t):new HB(this,e,t)),this[Xa]?LC(()=>this[Zf]()):this[Zf]()),e}unpipe(e){let t=this.pipes.find(i=>i.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let i=super.on(e,t);return e==="data"&&!this.pipes.length&&!this.flowing?this[Zf]():e==="readable"&&this[Ci]!==0?super.emit("readable"):xRe(e)&&this[rl]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[NC]&&(this[Xa]?LC(()=>t.call(this,this[NC])):t.call(this,this[NC])),i}get emittedEnd(){return this[rl]}[za](){!this[OB]&&!this[rl]&&!this[Gi]&&this.buffer.length===0&&this[Wa]&&(this[OB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[MB]&&this.emit("close"),this[OB]=!1)}emit(e,t,...i){if(e!=="error"&&e!=="close"&&e!==Gi&&this[Gi])return;if(e==="data")return t?this[Xa]?LC(()=>this[_R](t)):this[_R](t):!1;if(e==="end")return this[v9]();if(e==="close"){if(this[MB]=!0,!this[rl]&&!this[Gi])return;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(e==="error"){this[NC]=t;let s=super.emit("error",t);return this[za](),s}else if(e==="resume"){let s=super.emit("resume");return this[za](),s}else if(e==="finish"||e==="prefinish"){let s=super.emit(e);return this.removeAllListeners(e),s}let n=super.emit(e,t,...i);return this[za](),n}[_R](e){for(let i of this.pipes)i.dest.write(e)===!1&&this.pause();let t=super.emit("data",e);return this[za](),t}[v9](){this[rl]||(this[rl]=!0,this.readable=!1,this[Xa]?LC(()=>this[$R]()):this[$R]())}[$R](){if(this[Va]){let t=this[Va].end();if(t){for(let i of this.pipes)i.dest.write(t);super.emit("data",t)}}for(let t of this.pipes)t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Hi]||(e.dataLength=0);let t=this.promise();return this.on("data",i=>{e.push(i),this[Hi]||(e.dataLength+=i.length)}),t.then(()=>e)}concat(){return this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Hi]?Promise.reject(new Error("cannot concat in objectMode")):this[xn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(Gi,()=>t(new Error("stream destroyed"))),this.on("error",i=>t(i)),this.on("end",()=>e())})}[SRe](){return{next:()=>{let t=this.read();if(t!==null)return Promise.resolve({done:!1,value:t});if(this[Wa])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[Wa]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Gi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[vRe](){return{next:()=>{let t=this.read();return{value:t,done:t===null}}}}destroy(e){return this[Gi]?(e?this.emit("error",e):this.emit(Gi),this):(this[Gi]=!0,this.buffer.length=0,this[Ci]=0,typeof this.close=="function"&&!this[MB]&&this.close(),e?this.emit("error",e):this.emit(Gi),this)}static isStream(e){return!!e&&(e instanceof P9||e instanceof B9||e instanceof QRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var R9=w((Sot,k9)=>{var kRe=J("zlib").constants||{ZLIB_VERNUM:4736};k9.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},kRe))});var dF=w(Xn=>{"use strict";var sF=J("assert"),il=J("buffer").Buffer,T9=J("zlib"),Uc=Xn.constants=R9(),RRe=_f(),F9=il.concat,Hc=Symbol("_superWrite"),eh=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},FRe=Symbol("opts"),OC=Symbol("flushFlag"),N9=Symbol("finishFlushFlag"),pF=Symbol("fullFlushFlag"),cr=Symbol("handle"),GB=Symbol("onError"),$f=Symbol("sawError"),tF=Symbol("level"),rF=Symbol("strategy"),iF=Symbol("ended"),vot=Symbol("_defaultFullFlush"),YB=class extends RRe{constructor(e,t){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[$f]=!1,this[iF]=!1,this[FRe]=e,this[OC]=e.flush,this[N9]=e.finishFlush;try{this[cr]=new T9[t](e)}catch(i){throw new eh(i)}this[GB]=i=>{this[$f]||(this[$f]=!0,this.close(),this.emit("error",i))},this[cr].on("error",i=>this[GB](new eh(i))),this.once("end",()=>this.close)}close(){this[cr]&&(this[cr].close(),this[cr]=null,this.emit("close"))}reset(){if(!this[$f])return sF(this[cr],"zlib binding closed"),this[cr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[pF]),this.write(Object.assign(il.alloc(0),{[OC]:e})))}end(e,t,i){return e&&this.write(e,t),this.flush(this[N9]),this[iF]=!0,super.end(null,null,i)}get ended(){return this[iF]}write(e,t,i){if(typeof t=="function"&&(i=t,t="utf8"),typeof e=="string"&&(e=il.from(e,t)),this[$f])return;sF(this[cr],"zlib binding closed");let n=this[cr]._handle,s=n.close;n.close=()=>{};let o=this[cr].close;this[cr].close=()=>{},il.concat=c=>c;let a;try{let c=typeof e[OC]=="number"?e[OC]:this[OC];a=this[cr]._processChunk(e,c),il.concat=F9}catch(c){il.concat=F9,this[GB](new eh(c))}finally{this[cr]&&(this[cr]._handle=n,n.close=s,this[cr].close=o,this[cr].removeAllListeners("error"))}this[cr]&&this[cr].on("error",c=>this[GB](new eh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[Hc](il.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[cr].params(e,t)}finally{this[cr].flush=i}this[cr]&&(this[tF]=e,this[rF]=t)}}}},oF=class extends Za{constructor(e){super(e,"Deflate")}},aF=class extends Za{constructor(e){super(e,"Inflate")}},nF=Symbol("_portable"),AF=class extends Za{constructor(e){super(e,"Gzip"),this[nF]=e&&!!e.portable}[Hc](e){return this[nF]?(this[nF]=!1,e[9]=255,super[Hc](e)):super[Hc](e)}},lF=class extends Za{constructor(e){super(e,"Gunzip")}},cF=class extends Za{constructor(e){super(e,"DeflateRaw")}},uF=class extends Za{constructor(e){super(e,"InflateRaw")}},gF=class extends Za{constructor(e){super(e,"Unzip")}},jB=class extends YB{constructor(e,t){e=e||{},e.flush=e.flush||Uc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Uc.BROTLI_OPERATION_FINISH,super(e,t),this[pF]=Uc.BROTLI_OPERATION_FLUSH}},fF=class extends jB{constructor(e){super(e,"BrotliCompress")}},hF=class extends jB{constructor(e){super(e,"BrotliDecompress")}};Xn.Deflate=oF;Xn.Inflate=aF;Xn.Gzip=AF;Xn.Gunzip=lF;Xn.DeflateRaw=cF;Xn.InflateRaw=uF;Xn.Unzip=gF;typeof T9.BrotliCompress=="function"?(Xn.BrotliCompress=fF,Xn.BrotliDecompress=hF):Xn.BrotliCompress=Xn.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var th=w((Dot,L9)=>{var NRe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;L9.exports=NRe!=="win32"?r=>r:r=>r&&r.replace(/\\/g,"/")});var qB=w((Rot,O9)=>{"use strict";var TRe=_f(),CF=th(),mF=Symbol("slurp");O9.exports=class extends TRe{constructor(e,t,i){switch(super(),this.pause(),this.extended=t,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=CF(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=CF(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[mF](t),i&&this[mF](i,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-t),this.blockRemain=Math.max(0,n-t),this.ignore?!0:i>=t?super.write(e):super.write(e.slice(0,i))}[mF](e,t){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(t&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?CF(e[i]):e[i])}}});var EF=w(JB=>{"use strict";JB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);JB.code=new Map(Array.from(JB.name).map(r=>[r[1],r[0]]))});var H9=w((Not,U9)=>{"use strict";var LRe=(r,e)=>{if(Number.isSafeInteger(r))r<0?MRe(r,e):ORe(r,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},ORe=(r,e)=>{e[0]=128;for(var t=e.length;t>1;t--)e[t-1]=r&255,r=Math.floor(r/256)},MRe=(r,e)=>{e[0]=255;var t=!1;r=r*-1;for(var i=e.length;i>1;i--){var n=r&255;r=Math.floor(r/256),t?e[i-1]=M9(n):n===0?e[i-1]=0:(t=!0,e[i-1]=K9(n))}},KRe=r=>{let e=r[0],t=e===128?HRe(r.slice(1,r.length)):e===255?URe(r):null;if(t===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(t))throw Error("parsed number outside of javascript safe integer range");return t},URe=r=>{for(var e=r.length,t=0,i=!1,n=e-1;n>-1;n--){var s=r[n],o;i?o=M9(s):s===0?o=s:(i=!0,o=K9(s)),o!==0&&(t-=o*Math.pow(256,e-n-1))}return t},HRe=r=>{for(var e=r.length,t=0,i=e-1;i>-1;i--){var n=r[i];n!==0&&(t+=n*Math.pow(256,e-i-1))}return t},M9=r=>(255^r)&255,K9=r=>(255^r)+1&255;U9.exports={encode:LRe,parse:KRe}});var ih=w((Tot,Y9)=>{"use strict";var IF=EF(),rh=J("path").posix,G9=H9(),yF=Symbol("slurp"),Zn=Symbol("type"),bF=class{constructor(e,t,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Zn]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,i,n):e&&this.set(e)}decode(e,t,i,n){if(t||(t=0),!e||!(e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=Gc(e,t,100),this.mode=nl(e,t+100,8),this.uid=nl(e,t+108,8),this.gid=nl(e,t+116,8),this.size=nl(e,t+124,12),this.mtime=wF(e,t+136,12),this.cksum=nl(e,t+148,12),this[yF](i),this[yF](n,!0),this[Zn]=Gc(e,t+156,1),this[Zn]===""&&(this[Zn]="0"),this[Zn]==="0"&&this.path.substr(-1)==="/"&&(this[Zn]="5"),this[Zn]==="5"&&(this.size=0),this.linkpath=Gc(e,t+157,100),e.slice(t+257,t+265).toString()==="ustar\x0000")if(this.uname=Gc(e,t+265,32),this.gname=Gc(e,t+297,32),this.devmaj=nl(e,t+329,8),this.devmin=nl(e,t+337,8),e[t+475]!==0){let o=Gc(e,t+345,155);this.path=o+"/"+this.path}else{let o=Gc(e,t+345,130);o&&(this.path=o+"/"+this.path),this.atime=wF(e,t+476,12),this.ctime=wF(e,t+488,12)}let s=8*32;for(let o=t;o=t+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=GRe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Yc(e,t,100,s)||this.needPax,this.needPax=sl(e,t+100,8,this.mode)||this.needPax,this.needPax=sl(e,t+108,8,this.uid)||this.needPax,this.needPax=sl(e,t+116,8,this.gid)||this.needPax,this.needPax=sl(e,t+124,12,this.size)||this.needPax,this.needPax=BF(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[Zn].charCodeAt(0),this.needPax=Yc(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=Yc(e,t+265,32,this.uname)||this.needPax,this.needPax=Yc(e,t+297,32,this.gname)||this.needPax,this.needPax=sl(e,t+329,8,this.devmaj)||this.needPax,this.needPax=sl(e,t+337,8,this.devmin)||this.needPax,this.needPax=Yc(e,t+345,i,o)||this.needPax,e[t+475]!==0?this.needPax=Yc(e,t+345,155,o)||this.needPax:(this.needPax=Yc(e,t+345,130,o)||this.needPax,this.needPax=BF(e,t+476,12,this.atime)||this.needPax,this.needPax=BF(e,t+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=t;l{let i=r,n="",s,o=rh.parse(r).root||".";if(Buffer.byteLength(i)<100)s=[i,n,!1];else{n=rh.dirname(i),i=rh.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(n)<=e?s=[i,n,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(n)<=e?s=[i.substr(0,100-1),n,!0]:(i=rh.join(rh.basename(n),i),n=rh.dirname(n));while(n!==o&&!s);s||(s=[r.substr(0,100-1),"",!0])}return s},Gc=(r,e,t)=>r.slice(e,e+t).toString("utf8").replace(/\0.*/,""),wF=(r,e,t)=>YRe(nl(r,e,t)),YRe=r=>r===null?null:new Date(r*1e3),nl=(r,e,t)=>r[e]&128?G9.parse(r.slice(e,e+t)):qRe(r,e,t),jRe=r=>isNaN(r)?null:r,qRe=(r,e,t)=>jRe(parseInt(r.slice(e,e+t).toString("utf8").replace(/\0.*$/,"").trim(),8)),JRe={12:8589934591,8:2097151},sl=(r,e,t,i)=>i===null?!1:i>JRe[t]||i<0?(G9.encode(i,r.slice(e,e+t)),!0):(WRe(r,e,t,i),!1),WRe=(r,e,t,i)=>r.write(zRe(i,t),e,t,"ascii"),zRe=(r,e)=>VRe(Math.floor(r).toString(8),e),VRe=(r,e)=>(r.length===e-1?r:new Array(e-r.length-1).join("0")+r+" ")+"\0",BF=(r,e,t,i)=>i===null?!1:sl(r,e,t,i.getTime()/1e3),XRe=new Array(156).join("\0"),Yc=(r,e,t,i)=>i===null?!1:(r.write(i+XRe,e,t,"utf8"),i.length!==Buffer.byteLength(i)||i.length>t);Y9.exports=bF});var WB=w((Lot,j9)=>{"use strict";var ZRe=ih(),_Re=J("path"),MC=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e==="")return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new ZRe({path:("PaxHeader/"+_Re.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,t,"utf8");for(let s=t+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};MC.parse=(r,e,t)=>new MC($Re(eFe(r),e),t);var $Re=(r,e)=>e?Object.keys(r).reduce((t,i)=>(t[i]=r[i],t),e):r,eFe=r=>r.replace(/\n$/,"").split(` +`).reduce(tFe,Object.create(null)),tFe=(r,e)=>{let t=parseInt(e,10);if(t!==Buffer.byteLength(e)+1)return r;e=e.substr((t+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return r;let s=i.join("=");return r[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,r};j9.exports=MC});var nh=w((Oot,q9)=>{q9.exports=r=>{let e=r.length-1,t=-1;for(;e>-1&&r.charAt(e)==="/";)t=e,e--;return t===-1?r:r.slice(0,t)}});var zB=w((Mot,J9)=>{"use strict";J9.exports=r=>class extends r{warn(e,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${e}: ${t}`),i))}}});var SF=w((Uot,W9)=>{"use strict";var VB=["|","<",">","?",":"],QF=VB.map(r=>String.fromCharCode(61440+r.charCodeAt(0))),rFe=new Map(VB.map((r,e)=>[r,QF[e]])),iFe=new Map(QF.map((r,e)=>[r,VB[e]]));W9.exports={encode:r=>VB.reduce((e,t)=>e.split(t).join(rFe.get(t)),r),decode:r=>QF.reduce((e,t)=>e.split(t).join(iFe.get(t)),r)}});var vF=w((Hot,V9)=>{var{isAbsolute:nFe,parse:z9}=J("path").win32;V9.exports=r=>{let e="",t=z9(r);for(;nFe(r)||t.root;){let i=r.charAt(0)==="/"&&r.slice(0,4)!=="//?/"?"/":t.root;r=r.substr(i.length),e+=i,t=z9(r)}return[e,r]}});var Z9=w((Got,X9)=>{"use strict";X9.exports=(r,e,t)=>(r&=4095,t&&(r=(r|384)&-19),e&&(r&256&&(r|=64),r&32&&(r|=8),r&4&&(r|=1)),r)});var OF=w((qot,u7)=>{"use strict";var n7=_f(),s7=WB(),o7=ih(),Zo=J("fs"),_9=J("path"),Xo=th(),sFe=nh(),a7=(r,e)=>e?(r=Xo(r).replace(/^\.(\/|$)/,""),sFe(e)+"/"+r):Xo(r),oFe=16*1024*1024,$9=Symbol("process"),e7=Symbol("file"),t7=Symbol("directory"),PF=Symbol("symlink"),r7=Symbol("hardlink"),KC=Symbol("header"),XB=Symbol("read"),DF=Symbol("lstat"),ZB=Symbol("onlstat"),kF=Symbol("onread"),RF=Symbol("onreadlink"),FF=Symbol("openfile"),NF=Symbol("onopenfile"),ol=Symbol("close"),_B=Symbol("mode"),TF=Symbol("awaitDrain"),xF=Symbol("ondrain"),_o=Symbol("prefix"),i7=Symbol("hadError"),A7=zB(),aFe=SF(),l7=vF(),c7=Z9(),$B=A7(class extends n7{constructor(e,t){if(t=t||{},super(t),typeof e!="string")throw new TypeError("path is required");this.path=Xo(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||oFe,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Xo(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Xo(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=l7(this.path);n&&(this.path=s,i=n)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=aFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=Xo(t.absolute||_9.resolve(this.cwd,e)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[ZB](this.statCache.get(this.absolute)):this[DF]()}emit(e,...t){return e==="error"&&(this[i7]=!0),super.emit(e,...t)}[DF](){Zo.lstat(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[ZB](t)})}[ZB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=lFe(e),this.emit("stat",e),this[$9]()}[$9](){switch(this.type){case"File":return this[e7]();case"Directory":return this[t7]();case"SymbolicLink":return this[PF]();default:return this.end()}}[_B](e){return c7(e,this.type==="Directory",this.portable)}[_o](e){return a7(e,this.prefix)}[KC](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new o7({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this[_B](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new s7({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[t7](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[KC](),this.end()}[PF](){Zo.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[RF](t)})}[RF](e){this.linkpath=Xo(e),this[KC](),this.end()}[r7](e){this.type="Link",this.linkpath=Xo(_9.relative(this.cwd,e)),this.stat.size=0,this[KC](),this.end()}[e7](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[r7](t)}this.linkCache.set(e,this.absolute)}if(this[KC](),this.stat.size===0)return this.end();this[FF]()}[FF](){Zo.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[NF](t)})}[NF](e){if(this.fd=e,this[i7])return this[ol]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[XB]()}[XB](){let{fd:e,buf:t,offset:i,length:n,pos:s}=this;Zo.read(e,t,i,n,s,(o,a)=>{if(o)return this[ol](()=>this.emit("error",o));this[kF](a)})}[ol](e){Zo.close(this.fd,e)}[kF](e){if(e<=0&&this.remain>0){let n=new Error("encountered unexpected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e>this.remain){let n=new Error("did not encounter expected EOF");return n.path=this.absolute,n.syscall="read",n.code="EOF",this[ol](()=>this.emit("error",n))}if(e===this.remain)for(let n=e;nthis[xF]())}[TF](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[XB]()}}),LF=class extends $B{[DF](){this[ZB](Zo.lstatSync(this.absolute))}[PF](){this[RF](Zo.readlinkSync(this.absolute))}[FF](){this[NF](Zo.openSync(this.absolute,"r"))}[XB](){let e=!0;try{let{fd:t,buf:i,offset:n,length:s,pos:o}=this,a=Zo.readSync(t,i,n,s,o);this[kF](a),e=!1}finally{if(e)try{this[ol](()=>{})}catch{}}}[TF](e){e()}[ol](e){Zo.closeSync(this.fd),e()}},AFe=A7(class extends n7{constructor(e,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Xo(e.path),this.mode=this[_B](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=Xo(e.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[n,s]=l7(this.path);n&&(this.path=s,i=n)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new o7({path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new s7({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[_o](this.path),linkpath:this.type==="Link"?this[_o](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[_o](e){return a7(e,this.prefix)}[_B](e){return c7(e,this.type==="Directory",this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});$B.Sync=LF;$B.Tar=AFe;var lFe=r=>r.isFile()?"File":r.isDirectory()?"Directory":r.isSymbolicLink()?"SymbolicLink":"Unsupported";u7.exports=$B});var A0=w((Wot,m7)=>{"use strict";var o0=class{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},cFe=_f(),uFe=dF(),gFe=qB(),JF=OF(),fFe=JF.Sync,hFe=JF.Tar,pFe=WI(),g7=Buffer.alloc(1024),r0=Symbol("onStat"),e0=Symbol("ended"),$o=Symbol("queue"),sh=Symbol("current"),jc=Symbol("process"),t0=Symbol("processing"),f7=Symbol("processJob"),ea=Symbol("jobs"),MF=Symbol("jobDone"),i0=Symbol("addFSEntry"),h7=Symbol("addTarEntry"),GF=Symbol("stat"),YF=Symbol("readdir"),n0=Symbol("onreaddir"),s0=Symbol("pipe"),p7=Symbol("entry"),KF=Symbol("entryOpt"),jF=Symbol("writeEntryClass"),C7=Symbol("write"),UF=Symbol("ondrain"),a0=J("fs"),d7=J("path"),dFe=zB(),HF=th(),WF=dFe(class extends cFe{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=HF(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[jF]=JF,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new uFe.Gzip(e.gzip),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[UF]()),this.on("resume",t=>this.zip.resume())):this.on("drain",this[UF]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:t=>!0,this[$o]=new pFe,this[ea]=0,this.jobs=+e.jobs||4,this[t0]=!1,this[e0]=!1}[C7](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[e0]=!0,this[jc](),this}write(e){if(this[e0])throw new Error("write after end");return e instanceof gFe?this[h7](e):this[i0](e),this.flowing}[h7](e){let t=HF(d7.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let i=new o0(e.path,t,!1);i.entry=new hFe(e,this[KF](i)),i.entry.on("end",n=>this[MF](i)),this[ea]+=1,this[$o].push(i)}this[jc]()}[i0](e){let t=HF(d7.resolve(this.cwd,e));this[$o].push(new o0(e,t)),this[jc]()}[GF](e){e.pending=!0,this[ea]+=1;let t=this.follow?"stat":"lstat";a0[t](e.absolute,(i,n)=>{e.pending=!1,this[ea]-=1,i?this.emit("error",i):this[r0](e,n)})}[r0](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[jc]()}[YF](e){e.pending=!0,this[ea]+=1,a0.readdir(e.absolute,(t,i)=>{if(e.pending=!1,this[ea]-=1,t)return this.emit("error",t);this[n0](e,i)})}[n0](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[jc]()}[jc](){if(!this[t0]){this[t0]=!0;for(let e=this[$o].head;e!==null&&this[ea]this.warn(t,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[p7](e){this[ea]+=1;try{return new this[jF](e.path,this[KF](e)).on("end",()=>this[MF](e)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[UF](){this[sh]&&this[sh].entry&&this[sh].entry.resume()}[s0](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)});let t=e.entry,i=this.zip;i?t.on("data",n=>{i.write(n)||t.pause()}):t.on("data",n=>{super.write(n)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),qF=class extends WF{constructor(e){super(e),this[jF]=fFe}pause(){}resume(){}[GF](e){let t=this.follow?"statSync":"lstatSync";this[r0](e,a0[t](e.absolute))}[YF](e,t){this[n0](e,a0.readdirSync(e.absolute))}[s0](e){let t=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[i0](o+n)}),i?t.on("data",n=>{i.write(n)}):t.on("data",n=>{super[C7](n)})}};WF.Sync=qF;m7.exports=WF});var fh=w(HC=>{"use strict";var CFe=_f(),mFe=J("events").EventEmitter,Pn=J("fs"),XF=Pn.writev;if(!XF){let r=process.binding("fs"),e=r.FSReqWrap||r.FSReqCallback;XF=(t,i,n,s)=>{let o=(l,c)=>s(l,c,i),a=new e;a.oncomplete=o,r.writeBuffers(t,i,n,a)}}var uh=Symbol("_autoClose"),lo=Symbol("_close"),UC=Symbol("_ended"),rr=Symbol("_fd"),E7=Symbol("_finished"),Al=Symbol("_flags"),zF=Symbol("_flush"),ZF=Symbol("_handleChunk"),_F=Symbol("_makeBuf"),f0=Symbol("_mode"),l0=Symbol("_needDrain"),lh=Symbol("_onerror"),gh=Symbol("_onopen"),VF=Symbol("_onread"),ah=Symbol("_onwrite"),ll=Symbol("_open"),_a=Symbol("_path"),qc=Symbol("_pos"),ta=Symbol("_queue"),Ah=Symbol("_read"),I7=Symbol("_readSize"),al=Symbol("_reading"),c0=Symbol("_remain"),y7=Symbol("_size"),u0=Symbol("_write"),oh=Symbol("_writing"),g0=Symbol("_defaultFlag"),ch=Symbol("_errored"),h0=class extends CFe{constructor(e,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[ch]=!1,this[rr]=typeof t.fd=="number"?t.fd:null,this[_a]=e,this[I7]=t.readSize||16*1024*1024,this[al]=!1,this[y7]=typeof t.size=="number"?t.size:1/0,this[c0]=this[y7],this[uh]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[rr]=="number"?this[Ah]():this[ll]()}get fd(){return this[rr]}get path(){return this[_a]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ll](){Pn.open(this[_a],"r",(e,t)=>this[gh](e,t))}[gh](e,t){e?this[lh](e):(this[rr]=t,this.emit("open",t),this[Ah]())}[_F](){return Buffer.allocUnsafe(Math.min(this[I7],this[c0]))}[Ah](){if(!this[al]){this[al]=!0;let e=this[_F]();if(e.length===0)return process.nextTick(()=>this[VF](null,0,e));Pn.read(this[rr],e,0,e.length,null,(t,i,n)=>this[VF](t,i,n))}}[VF](e,t,i){this[al]=!1,e?this[lh](e):this[ZF](t,i)&&this[Ah]()}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}[lh](e){this[al]=!0,this[lo](),this.emit("error",e)}[ZF](e,t){let i=!1;return this[c0]-=e,e>0&&(i=super.write(ethis[gh](e,t))}[gh](e,t){this[g0]&&this[Al]==="r+"&&e&&e.code==="ENOENT"?(this[Al]="w",this[ll]()):e?this[lh](e):(this[rr]=t,this.emit("open",t),this[zF]())}end(e,t){return e&&this.write(e,t),this[UC]=!0,!this[oh]&&!this[ta].length&&typeof this[rr]=="number"&&this[ah](null,0),this}write(e,t){return typeof e=="string"&&(e=Buffer.from(e,t)),this[UC]?(this.emit("error",new Error("write() after end()")),!1):this[rr]===null||this[oh]||this[ta].length?(this[ta].push(e),this[l0]=!0,!1):(this[oh]=!0,this[u0](e),!0)}[u0](e){Pn.write(this[rr],e,0,e.length,this[qc],(t,i)=>this[ah](t,i))}[ah](e,t){e?this[lh](e):(this[qc]!==null&&(this[qc]+=t),this[ta].length?this[zF]():(this[oh]=!1,this[UC]&&!this[E7]?(this[E7]=!0,this[lo](),this.emit("finish")):this[l0]&&(this[l0]=!1,this.emit("drain"))))}[zF](){if(this[ta].length===0)this[UC]&&this[ah](null,0);else if(this[ta].length===1)this[u0](this[ta].pop());else{let e=this[ta];this[ta]=[],XF(this[rr],e,this[qc],(t,i)=>this[ah](t,i))}}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.close(e,t=>t?this.emit("error",t):this.emit("close"))}}},eN=class extends p0{[ll](){let e;if(this[g0]&&this[Al]==="r+")try{e=Pn.openSync(this[_a],this[Al],this[f0])}catch(t){if(t.code==="ENOENT")return this[Al]="w",this[ll]();throw t}else e=Pn.openSync(this[_a],this[Al],this[f0]);this[gh](null,e)}[lo](){if(this[uh]&&typeof this[rr]=="number"){let e=this[rr];this[rr]=null,Pn.closeSync(e),this.emit("close")}}[u0](e){let t=!0;try{this[ah](null,Pn.writeSync(this[rr],e,0,e.length,this[qc])),t=!1}finally{if(t)try{this[lo]()}catch{}}}};HC.ReadStream=h0;HC.ReadStreamSync=$F;HC.WriteStream=p0;HC.WriteStreamSync=eN});var w0=w((Xot,x7)=>{"use strict";var EFe=zB(),IFe=ih(),yFe=J("events"),wFe=WI(),BFe=1024*1024,bFe=qB(),w7=WB(),QFe=dF(),tN=Buffer.from([31,139]),xs=Symbol("state"),Jc=Symbol("writeEntry"),$a=Symbol("readEntry"),rN=Symbol("nextEntry"),B7=Symbol("processEntry"),Ps=Symbol("extendedHeader"),GC=Symbol("globalExtendedHeader"),cl=Symbol("meta"),b7=Symbol("emitMeta"),Er=Symbol("buffer"),eA=Symbol("queue"),Wc=Symbol("ended"),Q7=Symbol("emittedEnd"),zc=Symbol("emit"),Dn=Symbol("unzip"),d0=Symbol("consumeChunk"),C0=Symbol("consumeChunkSub"),iN=Symbol("consumeBody"),S7=Symbol("consumeMeta"),v7=Symbol("consumeHeader"),m0=Symbol("consuming"),nN=Symbol("bufferConcat"),sN=Symbol("maybeEnd"),YC=Symbol("writing"),ul=Symbol("aborted"),E0=Symbol("onDone"),Vc=Symbol("sawValidEntry"),I0=Symbol("sawNullBlock"),y0=Symbol("sawEOF"),SFe=r=>!0;x7.exports=EFe(class extends yFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Vc]=null,this.on(E0,t=>{(this[xs]==="begin"||this[Vc]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(E0,e.ondone):this.on(E0,t=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||BFe,this.filter=typeof e.filter=="function"?e.filter:SFe,this.writable=!0,this.readable=!1,this[eA]=new wFe,this[Er]=null,this[$a]=null,this[Jc]=null,this[xs]="begin",this[cl]="",this[Ps]=null,this[GC]=null,this[Wc]=!1,this[Dn]=null,this[ul]=!1,this[I0]=!1,this[y0]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[v7](e,t){this[Vc]===null&&(this[Vc]=!1);let i;try{i=new IFe(e,t,this[Ps],this[GC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[I0]?(this[y0]=!0,this[xs]==="begin"&&(this[xs]="header"),this[zc]("eof")):(this[I0]=!0,this[zc]("nullBlock"));else if(this[I0]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[Jc]=new bFe(i,this[Ps],this[GC]);if(!this[Vc])if(s.remain){let o=()=>{s.invalid||(this[Vc]=!0)};s.on("end",o)}else this[Vc]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[zc]("ignoredEntry",s),this[xs]="ignore",s.resume()):s.size>0&&(this[cl]="",s.on("data",o=>this[cl]+=o),this[xs]="meta"):(this[Ps]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[zc]("ignoredEntry",s),this[xs]=s.remain?"ignore":"header",s.resume()):(s.remain?this[xs]="body":(this[xs]="header",s.end()),this[$a]?this[eA].push(s):(this[eA].push(s),this[rN]())))}}}[B7](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[$a]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[rN]()),t=!1)):(this[$a]=null,t=!1),t}[rN](){do;while(this[B7](this[eA].shift()));if(!this[eA].length){let e=this[$a];!e||e.flowing||e.size===e.remain?this[YC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[iN](e,t){let i=this[Jc],n=i.blockRemain,s=n>=e.length&&t===0?e:e.slice(t,t+n);return i.write(s),i.blockRemain||(this[xs]="header",this[Jc]=null,i.end()),s.length}[S7](e,t){let i=this[Jc],n=this[iN](e,t);return this[Jc]||this[b7](i),n}[zc](e,t,i){!this[eA].length&&!this[$a]?this.emit(e,t,i):this[eA].push([e,t,i])}[b7](e){switch(this[zc]("meta",this[cl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ps]=w7.parse(this[cl],this[Ps],!1);break;case"GlobalExtendedHeader":this[GC]=w7.parse(this[cl],this[GC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ps]=this[Ps]||Object.create(null),this[Ps].path=this[cl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ps]=this[Ps]||Object.create(null),this[Ps].linkpath=this[cl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[ul]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[ul])return;if(this[Dn]===null&&e){if(this[Er]&&(e=Buffer.concat([this[Er],e]),this[Er]=null),e.lengththis[d0](s)),this[Dn].on("error",s=>this.abort(s)),this[Dn].on("end",s=>{this[Wc]=!0,this[d0]()}),this[YC]=!0;let n=this[Dn][i?"end":"write"](e);return this[YC]=!1,n}}this[YC]=!0,this[Dn]?this[Dn].write(e):this[d0](e),this[YC]=!1;let t=this[eA].length?!1:this[$a]?this[$a].flowing:!0;return!t&&!this[eA].length&&this[$a].once("drain",i=>this.emit("drain")),t}[nN](e){e&&!this[ul]&&(this[Er]=this[Er]?Buffer.concat([this[Er],e]):e)}[sN](){if(this[Wc]&&!this[Q7]&&!this[ul]&&!this[m0]){this[Q7]=!0;let e=this[Jc];if(e&&e.blockRemain){let t=this[Er]?this[Er].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[Er]&&e.write(this[Er]),e.end()}this[zc](E0)}}[d0](e){if(this[m0])this[nN](e);else if(!e&&!this[Er])this[sN]();else{if(this[m0]=!0,this[Er]){this[nN](e);let t=this[Er];this[Er]=null,this[C0](t)}else this[C0](e);for(;this[Er]&&this[Er].length>=512&&!this[ul]&&!this[y0];){let t=this[Er];this[Er]=null,this[C0](t)}this[m0]=!1}(!this[Er]||this[Wc])&&this[sN]()}[C0](e){let t=0,i=e.length;for(;t+512<=i&&!this[ul]&&!this[y0];)switch(this[xs]){case"begin":case"header":this[v7](e,t),t+=512;break;case"ignore":case"body":t+=this[iN](e,t);break;case"meta":t+=this[S7](e,t);break;default:throw new Error("invalid state: "+this[xs])}t{"use strict";var vFe=Xf(),D7=w0(),hh=J("fs"),xFe=fh(),P7=J("path"),oN=nh();R7.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=vFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&DFe(i,e),i.noResume||PFe(i),i.file&&i.sync?kFe(i):i.file?RFe(i,t):k7(i)};var PFe=r=>{let e=r.onentry;r.onentry=e?t=>{e(t),t.resume()}:t=>t.resume()},DFe=(r,e)=>{let t=new Map(e.map(s=>[oN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||P7.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(P7.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(oN(s)):s=>n(oN(s))},kFe=r=>{let e=k7(r),t=r.file,i=!0,n;try{let s=hh.statSync(t),o=r.maxReadSize||16*1024*1024;if(s.size{let t=new D7(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("end",o),hh.stat(n,(l,c)=>{if(l)a(l);else{let u=new xFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},k7=r=>new D7(r)});var M7=w((_ot,O7)=>{"use strict";var FFe=Xf(),b0=A0(),F7=fh(),N7=B0(),T7=J("path");O7.exports=(r,e,t)=>{if(typeof e=="function"&&(t=e),Array.isArray(r)&&(e=r,r={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=FFe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?NFe(i,e):i.file?TFe(i,e,t):i.sync?LFe(i,e):OFe(i,e)};var NFe=(r,e)=>{let t=new b0.Sync(r),i=new F7.WriteStreamSync(r.file,{mode:r.mode||438});t.pipe(i),L7(t,e)},TFe=(r,e,t)=>{let i=new b0(r),n=new F7.WriteStream(r.file,{mode:r.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return aN(i,e),t?s.then(t,t):s},L7=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?N7({file:T7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},aN=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return N7({file:T7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>aN(r,e));r.add(t)}r.end()},LFe=(r,e)=>{let t=new b0.Sync(r);return L7(t,e),t},OFe=(r,e)=>{let t=new b0(r);return aN(t,e),t}});var AN=w(($ot,q7)=>{"use strict";var MFe=Xf(),K7=A0(),_n=J("fs"),U7=fh(),H7=B0(),G7=J("path"),Y7=ih();q7.exports=(r,e,t)=>{let i=MFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?KFe(i,e):HFe(i,e,t)};var KFe=(r,e)=>{let t=new K7.Sync(r),i=!0,n,s;try{try{n=_n.openSync(r.file,"r+")}catch(l){if(l.code==="ENOENT")n=_n.openSync(r.file,"w+");else throw l}let o=_n.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,r.mtimeCache&&r.mtimeCache.set(l.path,l.mtime)}i=!1,UFe(r,t,s,n,e)}finally{if(i)try{_n.closeSync(n)}catch{}}},UFe=(r,e,t,i,n)=>{let s=new U7.WriteStreamSync(r.file,{fd:i,start:t});e.pipe(s),GFe(e,n)},HFe=(r,e,t)=>{e=Array.from(e);let i=new K7(r),n=(o,a,l)=>{let c=(p,C)=>{p?_n.close(o,y=>l(p)):l(null,C)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,C)=>{if(p)return c(p);if(g+=C,g<512&&C)return _n.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new Y7(f);if(!y.cksumValid)return c(null,u);let B=512*Math.ceil(y.size/512);if(u+B+512>a||(u+=B+512,u>=a))return c(null,u);r.mtimeCache&&r.mtimeCache.set(y.path,y.mtime),g=0,_n.read(o,f,0,512,u,h)};_n.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",_n.open(r.file,l,c);if(u)return a(u);_n.fstat(g,(f,h)=>{if(f)return _n.close(g,()=>a(f));n(g,h.size,(p,C)=>{if(p)return a(p);let y=new U7.WriteStream(r.file,{fd:g,start:C});i.pipe(y),y.on("error",a),y.on("close",o),j7(i,e)})})};_n.open(r.file,l,c)});return t?s.then(t,t):s},GFe=(r,e)=>{e.forEach(t=>{t.charAt(0)==="@"?H7({file:G7.resolve(r.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:i=>r.add(i)}):r.add(t)}),r.end()},j7=(r,e)=>{for(;e.length;){let t=e.shift();if(t.charAt(0)==="@")return H7({file:G7.resolve(r.cwd,t.substr(1)),noResume:!0,onentry:i=>r.add(i)}).then(i=>j7(r,e));r.add(t)}r.end()}});var W7=w((eat,J7)=>{"use strict";var YFe=Xf(),jFe=AN();J7.exports=(r,e,t)=>{let i=YFe(r);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),qFe(i),jFe(i,e,t)};var qFe=r=>{let e=r.filter;r.mtimeCache||(r.mtimeCache=new Map),r.filter=e?(t,i)=>e(t,i)&&!(r.mtimeCache.get(t)>i.mtime):(t,i)=>!(r.mtimeCache.get(t)>i.mtime)}});var X7=w((tat,V7)=>{var{promisify:z7}=J("util"),gl=J("fs"),JFe=r=>{if(!r)r={mode:511,fs:gl};else if(typeof r=="object")r={mode:511,fs:gl,...r};else if(typeof r=="number")r={mode:r,fs:gl};else if(typeof r=="string")r={mode:parseInt(r,8),fs:gl};else throw new TypeError("invalid options argument");return r.mkdir=r.mkdir||r.fs.mkdir||gl.mkdir,r.mkdirAsync=z7(r.mkdir),r.stat=r.stat||r.fs.stat||gl.stat,r.statAsync=z7(r.stat),r.statSync=r.statSync||r.fs.statSync||gl.statSync,r.mkdirSync=r.mkdirSync||r.fs.mkdirSync||gl.mkdirSync,r};V7.exports=JFe});var _7=w((rat,Z7)=>{var WFe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:zFe,parse:VFe}=J("path"),XFe=r=>{if(/\0/.test(r))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:r,code:"ERR_INVALID_ARG_VALUE"});if(r=zFe(r),WFe==="win32"){let e=/[*|"<>?:]/,{root:t}=VFe(r);if(e.test(r.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:r,code:"EINVAL"})}return r};Z7.exports=XFe});var iX=w((iat,rX)=>{var{dirname:$7}=J("path"),eX=(r,e,t=void 0)=>t===e?Promise.resolve():r.statAsync(e).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?eX(r,$7(e),e):void 0),tX=(r,e,t=void 0)=>{if(t!==e)try{return r.statSync(e).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?tX(r,$7(e),e):void 0}};rX.exports={findMade:eX,findMadeSync:tX}});var uN=w((nat,sX)=>{var{dirname:nX}=J("path"),lN=(r,e,t)=>{e.recursive=!1;let i=nX(r);return i===r?e.mkdirAsync(r,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(r,e).then(()=>t||r,n=>{if(n.code==="ENOENT")return lN(i,e).then(s=>lN(r,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(r).then(s=>{if(s.isDirectory())return t;throw n},()=>{throw n})})},cN=(r,e,t)=>{let i=nX(r);if(e.recursive=!1,i===r)try{return e.mkdirSync(r,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(r,e),t||r}catch(n){if(n.code==="ENOENT")return cN(r,e,cN(i,e,t));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(r).isDirectory())throw n}catch{throw n}}};sX.exports={mkdirpManual:lN,mkdirpManualSync:cN}});var AX=w((sat,aX)=>{var{dirname:oX}=J("path"),{findMade:ZFe,findMadeSync:_Fe}=iX(),{mkdirpManual:$Fe,mkdirpManualSync:eNe}=uN(),tNe=(r,e)=>(e.recursive=!0,oX(r)===r?e.mkdirAsync(r,e):ZFe(e,r).then(i=>e.mkdirAsync(r,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return $Fe(r,e);throw n}))),rNe=(r,e)=>{if(e.recursive=!0,oX(r)===r)return e.mkdirSync(r,e);let i=_Fe(e,r);try{return e.mkdirSync(r,e),i}catch(n){if(n.code==="ENOENT")return eNe(r,e);throw n}};aX.exports={mkdirpNative:tNe,mkdirpNativeSync:rNe}});var gX=w((oat,uX)=>{var lX=J("fs"),iNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,gN=iNe.replace(/^v/,"").split("."),cX=+gN[0]>10||+gN[0]==10&&+gN[1]>=12,nNe=cX?r=>r.mkdir===lX.mkdir:()=>!1,sNe=cX?r=>r.mkdirSync===lX.mkdirSync:()=>!1;uX.exports={useNative:nNe,useNativeSync:sNe}});var mX=w((aat,CX)=>{var ph=X7(),dh=_7(),{mkdirpNative:fX,mkdirpNativeSync:hX}=AX(),{mkdirpManual:pX,mkdirpManualSync:dX}=uN(),{useNative:oNe,useNativeSync:aNe}=gX(),Ch=(r,e)=>(r=dh(r),e=ph(e),oNe(e)?fX(r,e):pX(r,e)),ANe=(r,e)=>(r=dh(r),e=ph(e),aNe(e)?hX(r,e):dX(r,e));Ch.sync=ANe;Ch.native=(r,e)=>fX(dh(r),ph(e));Ch.manual=(r,e)=>pX(dh(r),ph(e));Ch.nativeSync=(r,e)=>hX(dh(r),ph(e));Ch.manualSync=(r,e)=>dX(dh(r),ph(e));CX.exports=Ch});var QX=w((Aat,bX)=>{"use strict";var Ds=J("fs"),Xc=J("path"),lNe=Ds.lchown?"lchown":"chown",cNe=Ds.lchownSync?"lchownSync":"chownSync",IX=Ds.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),EX=(r,e,t)=>{try{return Ds[cNe](r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},uNe=(r,e,t)=>{try{return Ds.chownSync(r,e,t)}catch(i){if(i.code!=="ENOENT")throw i}},gNe=IX?(r,e,t,i)=>n=>{!n||n.code!=="EISDIR"?i(n):Ds.chown(r,e,t,i)}:(r,e,t,i)=>i,fN=IX?(r,e,t)=>{try{return EX(r,e,t)}catch(i){if(i.code!=="EISDIR")throw i;uNe(r,e,t)}}:(r,e,t)=>EX(r,e,t),fNe=process.version,yX=(r,e,t)=>Ds.readdir(r,e,t),hNe=(r,e)=>Ds.readdirSync(r,e);/^v4\./.test(fNe)&&(yX=(r,e,t)=>Ds.readdir(r,t));var Q0=(r,e,t,i)=>{Ds[lNe](r,e,t,gNe(r,e,t,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},wX=(r,e,t,i,n)=>{if(typeof e=="string")return Ds.lstat(Xc.resolve(r,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,wX(r,o,t,i,n)});if(e.isDirectory())hN(Xc.resolve(r,e.name),t,i,s=>{if(s)return n(s);let o=Xc.resolve(r,e.name);Q0(o,t,i,n)});else{let s=Xc.resolve(r,e.name);Q0(s,t,i,n)}},hN=(r,e,t,i)=>{yX(r,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return Q0(r,e,t,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o===0)return Q0(r,e,t,i)}};s.forEach(c=>wX(r,c,e,t,l))})},pNe=(r,e,t,i)=>{if(typeof e=="string")try{let n=Ds.lstatSync(Xc.resolve(r,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&BX(Xc.resolve(r,e.name),t,i),fN(Xc.resolve(r,e.name),t,i)},BX=(r,e,t)=>{let i;try{i=hNe(r,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return fN(r,e,t);throw n}return i&&i.length&&i.forEach(n=>pNe(r,n,e,t)),fN(r,e,t)};bX.exports=hN;hN.sync=BX});var PX=w((lat,pN)=>{"use strict";var SX=mX(),ks=J("fs"),S0=J("path"),vX=QX(),co=th(),v0=class extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}},x0=class extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}},P0=(r,e)=>r.get(co(e)),jC=(r,e,t)=>r.set(co(e),t),dNe=(r,e)=>{ks.stat(r,(t,i)=>{(t||!i.isDirectory())&&(t=new x0(r,t&&t.code||"ENOTDIR")),e(t)})};pN.exports=(r,e,t)=>{r=co(r);let i=e.umask,n=e.mode|448,s=(n&i)!==0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=co(e.cwd),h=(y,B)=>{y?t(y):(jC(g,r,!0),B&&l?vX(B,o,a,v=>h(v)):s?ks.chmod(r,n,t):t())};if(g&&P0(g,r)===!0)return h();if(r===f)return dNe(r,h);if(c)return SX(r,{mode:n}).then(y=>h(null,y),h);let C=co(S0.relative(f,r)).split("/");D0(f,C,n,g,u,f,null,h)};var D0=(r,e,t,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=co(S0.resolve(r+"/"+l));if(P0(i,c))return D0(c,e,t,i,n,s,o,a);ks.mkdir(c,t,xX(c,e,t,i,n,s,o,a))},xX=(r,e,t,i,n,s,o,a)=>l=>{l?ks.lstat(r,(c,u)=>{if(c)c.path=c.path&&co(c.path),a(c);else if(u.isDirectory())D0(r,e,t,i,n,s,o,a);else if(n)ks.unlink(r,g=>{if(g)return a(g);ks.mkdir(r,t,xX(r,e,t,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new v0(r,r+"/"+e.join("/")));a(l)}}):(o=o||r,D0(r,e,t,i,n,s,o,a))},CNe=r=>{let e=!1,t="ENOTDIR";try{e=ks.statSync(r).isDirectory()}catch(i){t=i.code}finally{if(!e)throw new x0(r,t)}};pN.exports.sync=(r,e)=>{r=co(r);let t=e.umask,i=e.mode|448,n=(i&t)!==0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=co(e.cwd),f=y=>{jC(u,r,!0),y&&a&&vX.sync(y,s,o),n&&ks.chmodSync(r,i)};if(u&&P0(u,r)===!0)return f();if(r===g)return CNe(g),f();if(l)return f(SX.sync(r,i));let p=co(S0.relative(g,r)).split("/"),C=null;for(let y=p.shift(),B=g;y&&(B+="/"+y);y=p.shift())if(B=co(S0.resolve(B)),!P0(u,B))try{ks.mkdirSync(B,i),C=C||B,jC(u,B,!0)}catch{let D=ks.lstatSync(B);if(D.isDirectory()){jC(u,B,!0);continue}else if(c){ks.unlinkSync(B),ks.mkdirSync(B,i),C=C||B,jC(u,B,!0);continue}else if(D.isSymbolicLink())return new v0(B,B+"/"+p.join("/"))}return f(C)}});var CN=w((cat,DX)=>{var dN=Object.create(null),{hasOwnProperty:mNe}=Object.prototype;DX.exports=r=>(mNe.call(dN,r)||(dN[r]=r.normalize("NFKD")),dN[r])});var NX=w((uat,FX)=>{var kX=J("assert"),ENe=CN(),INe=nh(),{join:RX}=J("path"),yNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,wNe=yNe==="win32";FX.exports=()=>{let r=new Map,e=new Map,t=c=>c.split("/").slice(0,-1).reduce((g,f)=>(g.length&&(f=RX(g[g.length-1],f)),g.push(f||"/"),g),[]),i=new Set,n=c=>{let u=e.get(c);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map(g=>r.get(g)),dirs:[...u.dirs].map(g=>r.get(g))}},s=c=>{let{paths:u,dirs:g}=n(c);return u.every(f=>f[0]===c)&&g.every(f=>f[0]instanceof Set&&f[0].has(c))},o=c=>i.has(c)||!s(c)?!1:(i.add(c),c(()=>a(c)),!0),a=c=>{if(!i.has(c))return!1;let{paths:u,dirs:g}=e.get(c),f=new Set;return u.forEach(h=>{let p=r.get(h);kX.equal(p[0],c),p.length===1?r.delete(h):(p.shift(),typeof p[0]=="function"?f.add(p[0]):p[0].forEach(C=>f.add(C)))}),g.forEach(h=>{let p=r.get(h);kX(p[0]instanceof Set),p[0].size===1&&p.length===1?r.delete(h):p[0].size===1?(p.shift(),f.add(p[0])):p[0].delete(c)}),i.delete(c),f.forEach(h=>o(h)),!0};return{check:s,reserve:(c,u)=>{c=wNe?["win32 parallelization disabled"]:c.map(f=>ENe(INe(RX(f))).toLowerCase());let g=new Set(c.map(f=>t(f)).reduce((f,h)=>f.concat(h)));return e.set(u,{dirs:g,paths:c}),c.forEach(f=>{let h=r.get(f);h?h.push(u):r.set(f,[u])}),g.forEach(f=>{let h=r.get(f);h?h[h.length-1]instanceof Set?h[h.length-1].add(u):h.push(new Set([u])):r.set(f,[new Set([u])])}),o(u)}}}});var OX=w((gat,LX)=>{var BNe=process.env.__FAKE_PLATFORM__||process.platform,bNe=BNe==="win32",QNe=global.__FAKE_TESTING_FS__||J("fs"),{O_CREAT:SNe,O_TRUNC:vNe,O_WRONLY:xNe,UV_FS_O_FILEMAP:TX=0}=QNe.constants,PNe=bNe&&!!TX,DNe=512*1024,kNe=TX|vNe|SNe|xNe;LX.exports=PNe?r=>r"w"});var SN=w((fat,ZX)=>{"use strict";var RNe=J("assert"),FNe=w0(),jt=J("fs"),NNe=fh(),tA=J("path"),zX=PX(),MX=SF(),TNe=NX(),LNe=vF(),$n=th(),ONe=nh(),MNe=CN(),KX=Symbol("onEntry"),IN=Symbol("checkFs"),UX=Symbol("checkFs2"),F0=Symbol("pruneCache"),yN=Symbol("isReusable"),Rs=Symbol("makeFs"),wN=Symbol("file"),BN=Symbol("directory"),N0=Symbol("link"),HX=Symbol("symlink"),GX=Symbol("hardlink"),YX=Symbol("unsupported"),jX=Symbol("checkPath"),fl=Symbol("mkdir"),Yi=Symbol("onError"),k0=Symbol("pending"),qX=Symbol("pend"),mh=Symbol("unpend"),mN=Symbol("ended"),EN=Symbol("maybeClose"),bN=Symbol("skip"),qC=Symbol("doChown"),JC=Symbol("uid"),WC=Symbol("gid"),zC=Symbol("checkedCwd"),VX=J("crypto"),XX=OX(),KNe=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,VC=KNe==="win32",UNe=(r,e)=>{if(!VC)return jt.unlink(r,e);let t=r+".DELETE."+VX.randomBytes(16).toString("hex");jt.rename(r,t,i=>{if(i)return e(i);jt.unlink(t,e)})},HNe=r=>{if(!VC)return jt.unlinkSync(r);let e=r+".DELETE."+VX.randomBytes(16).toString("hex");jt.renameSync(r,e),jt.unlinkSync(e)},JX=(r,e,t)=>r===r>>>0?r:e===e>>>0?e:t,WX=r=>MNe(ONe($n(r))).toLowerCase(),GNe=(r,e)=>{e=WX(e);for(let t of r.keys()){let i=WX(t);(i===e||i.indexOf(e+"/")===0)&&r.delete(t)}},YNe=r=>{for(let e of r.keys())r.delete(e)},XC=class extends FNe{constructor(e){if(e||(e={}),e.ondone=t=>{this[mN]=!0,this[EN]()},super(e),this[zC]=!1,this.reservations=TNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[k0]=0,this[mN]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||VC,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=$n(tA.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",t=>this[KX](t))}warn(e,t,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,t,i)}[EN](){this[mN]&&this[k0]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[jX](e){if(this.strip){let t=$n(e.path).split("/");if(t.length=this.strip)e.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let t=$n(e.path),i=t.split("/");if(i.includes("..")||VC&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:t}),!1;let[n,s]=LNe(t);n&&(e.path=s,this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:t}))}if(tA.isAbsolute(e.path)?e.absolute=$n(tA.resolve(e.path)):e.absolute=$n(tA.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:$n(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:t}=tA.win32.parse(e.absolute);e.absolute=t+MX.encode(e.absolute.substr(t.length));let{root:i}=tA.win32.parse(e.path);e.path=i+MX.encode(e.path.substr(i.length))}return!0}[KX](e){if(!this[jX](e))return e.resume();switch(RNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[IN](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[YX](e)}}[Yi](e,t){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:t}),this[mh](),t.resume())}[fl](e,t,i){zX($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[qC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[JC](e){return JX(this.uid,e.uid,this.processUid)}[WC](e){return JX(this.gid,e.gid,this.processGid)}[wN](e,t){let i=e.mode&4095||this.fmode,n=new NNe.WriteStream(e.absolute,{flags:XX(e.size),mode:i,autoClose:!1});n.on("error",l=>{n.fd&&jt.close(n.fd,()=>{}),n.write=()=>!0,this[Yi](l,e),t()});let s=1,o=l=>{if(l){n.fd&&jt.close(n.fd,()=>{}),this[Yi](l,e),t();return}--s===0&&jt.close(n.fd,c=>{c?this[Yi](c,e):this[mh](),t()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;jt.futimes(u,g,f,h=>h?jt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[qC](e)){s++;let g=this[JC](e),f=this[WC](e);jt.fchown(u,g,f,h=>h?jt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>{this[Yi](l,e),t()}),e.pipe(a)),a.pipe(n)}[BN](e,t){let i=e.mode&4095||this.dmode;this[fl](e.absolute,i,n=>{if(n){this[Yi](n,e),t();return}let s=1,o=a=>{--s===0&&(t(),this[mh](),e.resume())};e.mtime&&!this.noMtime&&(s++,jt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[qC](e)&&(s++,jt.chown(e.absolute,this[JC](e),this[WC](e),o)),o()})}[YX](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[HX](e,t){this[N0](e,e.linkpath,"symlink",t)}[GX](e,t){let i=$n(tA.resolve(this.cwd,e.linkpath));this[N0](e,i,"link",t)}[qX](){this[k0]++}[mh](){this[k0]--,this[EN]()}[bN](e){this[mh](),e.resume()}[yN](e,t){return e.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!VC}[IN](e){this[qX]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,i=>this[UX](e,i))}[F0](e){e.type==="SymbolicLink"?YNe(this.dirCache):e.type!=="Directory"&&GNe(this.dirCache,e.absolute)}[UX](e,t){this[F0](e);let i=a=>{this[F0](e),t(a)},n=()=>{this[fl](this.cwd,this.dmode,a=>{if(a){this[Yi](a,e),i();return}this[zC]=!0,s()})},s=()=>{if(e.absolute!==this.cwd){let a=$n(tA.dirname(e.absolute));if(a!==this.cwd)return this[fl](a,this.dmode,l=>{if(l){this[Yi](l,e),i();return}o()})}o()},o=()=>{jt.lstat(e.absolute,(a,l)=>{if(l&&(this.keep||this.newer&&l.mtime>e.mtime)){this[bN](e),i();return}if(a||this[yN](e,l))return this[Rs](null,e,i);if(l.isDirectory()){if(e.type==="Directory"){let c=!this.noChmod&&e.mode&&(l.mode&4095)!==e.mode,u=g=>this[Rs](g,e,i);return c?jt.chmod(e.absolute,e.mode,u):u()}if(e.absolute!==this.cwd)return jt.rmdir(e.absolute,c=>this[Rs](c,e,i))}if(e.absolute===this.cwd)return this[Rs](null,e,i);UNe(e.absolute,c=>this[Rs](c,e,i))})};this[zC]?s():n()}[Rs](e,t,i){if(e){this[Yi](e,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[wN](t,i);case"Link":return this[GX](t,i);case"SymbolicLink":return this[HX](t,i);case"Directory":case"GNUDumpDir":return this[BN](t,i)}}[N0](e,t,i,n){jt[i](t,e.absolute,s=>{s?this[Yi](s,e):(this[mh](),e.resume()),n()})}},R0=r=>{try{return[null,r()]}catch(e){return[e,null]}},QN=class extends XC{[Rs](e,t){return super[Rs](e,t,()=>{})}[IN](e){if(this[F0](e),!this[zC]){let s=this[fl](this.cwd,this.dmode);if(s)return this[Yi](s,e);this[zC]=!0}if(e.absolute!==this.cwd){let s=$n(tA.dirname(e.absolute));if(s!==this.cwd){let o=this[fl](s,this.dmode);if(o)return this[Yi](o,e)}}let[t,i]=R0(()=>jt.lstatSync(e.absolute));if(i&&(this.keep||this.newer&&i.mtime>e.mtime))return this[bN](e);if(t||this[yN](e,i))return this[Rs](null,e);if(i.isDirectory()){if(e.type==="Directory"){let o=!this.noChmod&&e.mode&&(i.mode&4095)!==e.mode,[a]=o?R0(()=>{jt.chmodSync(e.absolute,e.mode)}):[];return this[Rs](a,e)}let[s]=R0(()=>jt.rmdirSync(e.absolute));this[Rs](s,e)}let[n]=e.absolute===this.cwd?[]:R0(()=>HNe(e.absolute));this[Rs](n,e)}[wN](e,t){let i=e.mode&4095||this.fmode,n=a=>{let l;try{jt.closeSync(s)}catch(c){l=c}(a||l)&&this[Yi](a||l,e),t()},s;try{s=jt.openSync(e.absolute,XX(e.size),i)}catch(a){return n(a)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on("error",a=>this[Yi](a,e)),e.pipe(o)),o.on("data",a=>{try{jt.writeSync(s,a,0,a.length)}catch(l){n(l)}}),o.on("end",a=>{let l=null;if(e.mtime&&!this.noMtime){let c=e.atime||new Date,u=e.mtime;try{jt.futimesSync(s,c,u)}catch(g){try{jt.utimesSync(e.absolute,c,u)}catch{l=g}}}if(this[qC](e)){let c=this[JC](e),u=this[WC](e);try{jt.fchownSync(s,c,u)}catch(g){try{jt.chownSync(e.absolute,c,u)}catch{l=l||g}}}n(l)})}[BN](e,t){let i=e.mode&4095||this.dmode,n=this[fl](e.absolute,i);if(n){this[Yi](n,e),t();return}if(e.mtime&&!this.noMtime)try{jt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[qC](e))try{jt.chownSync(e.absolute,this[JC](e),this[WC](e))}catch{}t(),e.resume()}[fl](e,t){try{return zX.sync($n(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[N0](e,t,i,n){try{jt[i+"Sync"](t,e.absolute),n(),e.resume()}catch(s){return this[Yi](s,e)}}};XC.Sync=QN;ZX.exports=XC});var rZ=w((hat,tZ)=>{"use strict";var jNe=Xf(),T0=SN(),$X=J("fs"),eZ=fh(),_X=J("path"),vN=nh();tZ.exports=(r,e,t)=>{typeof r=="function"?(t=r,e=null,r={}):Array.isArray(r)&&(e=r,r={}),typeof e=="function"&&(t=e,e=null),e?e=Array.from(e):e=[];let i=jNe(r);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return e.length&&qNe(i,e),i.file&&i.sync?JNe(i):i.file?WNe(i,t):i.sync?zNe(i):VNe(i)};var qNe=(r,e)=>{let t=new Map(e.map(s=>[vN(s),!0])),i=r.filter,n=(s,o)=>{let a=o||_X.parse(s).root||".",l=s===a?!1:t.has(s)?t.get(s):n(_X.dirname(s),a);return t.set(s,l),l};r.filter=i?(s,o)=>i(s,o)&&n(vN(s)):s=>n(vN(s))},JNe=r=>{let e=new T0.Sync(r),t=r.file,i=$X.statSync(t),n=r.maxReadSize||16*1024*1024;new eZ.ReadStreamSync(t,{readSize:n,size:i.size}).pipe(e)},WNe=(r,e)=>{let t=new T0(r),i=r.maxReadSize||16*1024*1024,n=r.file,s=new Promise((o,a)=>{t.on("error",a),t.on("close",o),$X.stat(n,(l,c)=>{if(l)a(l);else{let u=new eZ.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(t)}})});return e?s.then(e,e):s},zNe=r=>new T0.Sync(r),VNe=r=>new T0(r)});var iZ=w(ci=>{"use strict";ci.c=ci.create=M7();ci.r=ci.replace=AN();ci.t=ci.list=B0();ci.u=ci.update=W7();ci.x=ci.extract=rZ();ci.Pack=A0();ci.Unpack=SN();ci.Parse=w0();ci.ReadEntry=qB();ci.WriteEntry=OF();ci.Header=ih();ci.Pax=WB();ci.types=EF()});var aZ=w((Cat,oZ)=>{var xN;oZ.exports.getContent=()=>(typeof xN>"u"&&(xN=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),xN)});var fZ=w((PN,gZ)=>{(function(r,e){typeof PN=="object"?gZ.exports=e():typeof define=="function"&&define.amd?define(e):r.treeify=e()})(PN,function(){function r(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function t(n,s,o,a,l,c,u){var g="",f=0,h,p,C=a.slice(0);if(C.push([s,o])&&a.length>0&&(a.forEach(function(B,v){v>0&&(g+=(B[1]?" ":"\u2502")+" "),!p&&B[0]===s&&(p=!0)}),g+=r(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(B){h=++f===y.length,t(B,s[B],h,C,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;t(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return t(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var K0=w((Uat,BZ)=>{var fTe=vs(),hTe=gC(),pTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dTe=/^\w*$/;function CTe(r,e){if(fTe(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||hTe(r)?!0:dTe.test(r)||!pTe.test(r)||e!=null&&r in Object(e)}BZ.exports=CTe});var U0=w((Hat,bZ)=>{var mTe=Fc(),ETe=vn(),ITe="[object AsyncFunction]",yTe="[object Function]",wTe="[object GeneratorFunction]",BTe="[object Proxy]";function bTe(r){if(!ETe(r))return!1;var e=mTe(r);return e==yTe||e==wTe||e==ITe||e==BTe}bZ.exports=bTe});var SZ=w((Gat,QZ)=>{var QTe=ys(),STe=QTe["__core-js_shared__"];QZ.exports=STe});var PZ=w((Yat,xZ)=>{var ON=SZ(),vZ=function(){var r=/[^.]+$/.exec(ON&&ON.keys&&ON.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function vTe(r){return!!vZ&&vZ in r}xZ.exports=vTe});var MN=w((jat,DZ)=>{var xTe=Function.prototype,PTe=xTe.toString;function DTe(r){if(r!=null){try{return PTe.call(r)}catch{}try{return r+""}catch{}}return""}DZ.exports=DTe});var RZ=w((qat,kZ)=>{var kTe=U0(),RTe=PZ(),FTe=vn(),NTe=MN(),TTe=/[\\^$.*+?()[\]{}|]/g,LTe=/^\[object .+?Constructor\]$/,OTe=Function.prototype,MTe=Object.prototype,KTe=OTe.toString,UTe=MTe.hasOwnProperty,HTe=RegExp("^"+KTe.call(UTe).replace(TTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function GTe(r){if(!FTe(r)||RTe(r))return!1;var e=kTe(r)?HTe:LTe;return e.test(NTe(r))}kZ.exports=GTe});var NZ=w((Jat,FZ)=>{function YTe(r,e){return r==null?void 0:r[e]}FZ.exports=YTe});var pl=w((Wat,TZ)=>{var jTe=RZ(),qTe=NZ();function JTe(r,e){var t=qTe(r,e);return jTe(t)?t:void 0}TZ.exports=JTe});var _C=w((zat,LZ)=>{var WTe=pl(),zTe=WTe(Object,"create");LZ.exports=zTe});var KZ=w((Vat,MZ)=>{var OZ=_C();function VTe(){this.__data__=OZ?OZ(null):{},this.size=0}MZ.exports=VTe});var HZ=w((Xat,UZ)=>{function XTe(r){var e=this.has(r)&&delete this.__data__[r];return this.size-=e?1:0,e}UZ.exports=XTe});var YZ=w((Zat,GZ)=>{var ZTe=_C(),_Te="__lodash_hash_undefined__",$Te=Object.prototype,eLe=$Te.hasOwnProperty;function tLe(r){var e=this.__data__;if(ZTe){var t=e[r];return t===_Te?void 0:t}return eLe.call(e,r)?e[r]:void 0}GZ.exports=tLe});var qZ=w((_at,jZ)=>{var rLe=_C(),iLe=Object.prototype,nLe=iLe.hasOwnProperty;function sLe(r){var e=this.__data__;return rLe?e[r]!==void 0:nLe.call(e,r)}jZ.exports=sLe});var WZ=w(($at,JZ)=>{var oLe=_C(),aLe="__lodash_hash_undefined__";function ALe(r,e){var t=this.__data__;return this.size+=this.has(r)?0:1,t[r]=oLe&&e===void 0?aLe:e,this}JZ.exports=ALe});var VZ=w((eAt,zZ)=>{var lLe=KZ(),cLe=HZ(),uLe=YZ(),gLe=qZ(),fLe=WZ();function Eh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{function hLe(){this.__data__=[],this.size=0}XZ.exports=hLe});var Ih=w((rAt,_Z)=>{function pLe(r,e){return r===e||r!==r&&e!==e}_Z.exports=pLe});var $C=w((iAt,$Z)=>{var dLe=Ih();function CLe(r,e){for(var t=r.length;t--;)if(dLe(r[t][0],e))return t;return-1}$Z.exports=CLe});var t_=w((nAt,e_)=>{var mLe=$C(),ELe=Array.prototype,ILe=ELe.splice;function yLe(r){var e=this.__data__,t=mLe(e,r);if(t<0)return!1;var i=e.length-1;return t==i?e.pop():ILe.call(e,t,1),--this.size,!0}e_.exports=yLe});var i_=w((sAt,r_)=>{var wLe=$C();function BLe(r){var e=this.__data__,t=wLe(e,r);return t<0?void 0:e[t][1]}r_.exports=BLe});var s_=w((oAt,n_)=>{var bLe=$C();function QLe(r){return bLe(this.__data__,r)>-1}n_.exports=QLe});var a_=w((aAt,o_)=>{var SLe=$C();function vLe(r,e){var t=this.__data__,i=SLe(t,r);return i<0?(++this.size,t.push([r,e])):t[i][1]=e,this}o_.exports=vLe});var em=w((AAt,A_)=>{var xLe=ZZ(),PLe=t_(),DLe=i_(),kLe=s_(),RLe=a_();function yh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var FLe=pl(),NLe=ys(),TLe=FLe(NLe,"Map");l_.exports=TLe});var g_=w((cAt,u_)=>{var c_=VZ(),LLe=em(),OLe=H0();function MLe(){this.size=0,this.__data__={hash:new c_,map:new(OLe||LLe),string:new c_}}u_.exports=MLe});var h_=w((uAt,f_)=>{function KLe(r){var e=typeof r;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?r!=="__proto__":r===null}f_.exports=KLe});var tm=w((gAt,p_)=>{var ULe=h_();function HLe(r,e){var t=r.__data__;return ULe(e)?t[typeof e=="string"?"string":"hash"]:t.map}p_.exports=HLe});var C_=w((fAt,d_)=>{var GLe=tm();function YLe(r){var e=GLe(this,r).delete(r);return this.size-=e?1:0,e}d_.exports=YLe});var E_=w((hAt,m_)=>{var jLe=tm();function qLe(r){return jLe(this,r).get(r)}m_.exports=qLe});var y_=w((pAt,I_)=>{var JLe=tm();function WLe(r){return JLe(this,r).has(r)}I_.exports=WLe});var B_=w((dAt,w_)=>{var zLe=tm();function VLe(r,e){var t=zLe(this,r),i=t.size;return t.set(r,e),this.size+=t.size==i?0:1,this}w_.exports=VLe});var G0=w((CAt,b_)=>{var XLe=g_(),ZLe=C_(),_Le=E_(),$Le=y_(),eOe=B_();function wh(r){var e=-1,t=r==null?0:r.length;for(this.clear();++e{var Q_=G0(),tOe="Expected a function";function KN(r,e){if(typeof r!="function"||e!=null&&typeof e!="function")throw new TypeError(tOe);var t=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=t.cache;if(s.has(n))return s.get(n);var o=r.apply(this,i);return t.cache=s.set(n,o)||s,o};return t.cache=new(KN.Cache||Q_),t}KN.Cache=Q_;S_.exports=KN});var P_=w((EAt,x_)=>{var rOe=v_(),iOe=500;function nOe(r){var e=rOe(r,function(i){return t.size===iOe&&t.clear(),i}),t=e.cache;return e}x_.exports=nOe});var k_=w((IAt,D_)=>{var sOe=P_(),oOe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,aOe=/\\(\\)?/g,AOe=sOe(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(oOe,function(t,i,n,s){e.push(n?s.replace(aOe,"$1"):i||t)}),e});D_.exports=AOe});var Bh=w((yAt,R_)=>{var lOe=vs(),cOe=K0(),uOe=k_(),gOe=Vf();function fOe(r,e){return lOe(r)?r:cOe(r,e)?[r]:uOe(gOe(r))}R_.exports=fOe});var Zc=w((wAt,F_)=>{var hOe=gC(),pOe=1/0;function dOe(r){if(typeof r=="string"||hOe(r))return r;var e=r+"";return e=="0"&&1/r==-pOe?"-0":e}F_.exports=dOe});var rm=w((BAt,N_)=>{var COe=Bh(),mOe=Zc();function EOe(r,e){e=COe(e,r);for(var t=0,i=e.length;r!=null&&t{var IOe=pl(),yOe=function(){try{var r=IOe(Object,"defineProperty");return r({},"",{}),r}catch{}}();T_.exports=yOe});var bh=w((QAt,O_)=>{var L_=UN();function wOe(r,e,t){e=="__proto__"&&L_?L_(r,e,{configurable:!0,enumerable:!0,value:t,writable:!0}):r[e]=t}O_.exports=wOe});var Y0=w((SAt,M_)=>{var BOe=bh(),bOe=Ih(),QOe=Object.prototype,SOe=QOe.hasOwnProperty;function vOe(r,e,t){var i=r[e];(!(SOe.call(r,e)&&bOe(i,t))||t===void 0&&!(e in r))&&BOe(r,e,t)}M_.exports=vOe});var im=w((vAt,K_)=>{var xOe=9007199254740991,POe=/^(?:0|[1-9]\d*)$/;function DOe(r,e){var t=typeof r;return e=e==null?xOe:e,!!e&&(t=="number"||t!="symbol"&&POe.test(r))&&r>-1&&r%1==0&&r{var kOe=Y0(),ROe=Bh(),FOe=im(),U_=vn(),NOe=Zc();function TOe(r,e,t,i){if(!U_(r))return r;e=ROe(e,r);for(var n=-1,s=e.length,o=s-1,a=r;a!=null&&++n{var LOe=rm(),OOe=HN(),MOe=Bh();function KOe(r,e,t){for(var i=-1,n=e.length,s={};++i{function UOe(r,e){return r!=null&&e in Object(r)}j_.exports=UOe});var W_=w((kAt,J_)=>{var HOe=Fc(),GOe=Wo(),YOe="[object Arguments]";function jOe(r){return GOe(r)&&HOe(r)==YOe}J_.exports=jOe});var nm=w((RAt,X_)=>{var z_=W_(),qOe=Wo(),V_=Object.prototype,JOe=V_.hasOwnProperty,WOe=V_.propertyIsEnumerable,zOe=z_(function(){return arguments}())?z_:function(r){return qOe(r)&&JOe.call(r,"callee")&&!WOe.call(r,"callee")};X_.exports=zOe});var j0=w((FAt,Z_)=>{var VOe=9007199254740991;function XOe(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=VOe}Z_.exports=XOe});var GN=w((NAt,__)=>{var ZOe=Bh(),_Oe=nm(),$Oe=vs(),eMe=im(),tMe=j0(),rMe=Zc();function iMe(r,e,t){e=ZOe(e,r);for(var i=-1,n=e.length,s=!1;++i{var nMe=q_(),sMe=GN();function oMe(r,e){return r!=null&&sMe(r,e,nMe)}$_.exports=oMe});var t$=w((LAt,e$)=>{var aMe=Y_(),AMe=YN();function lMe(r,e){return aMe(r,e,function(t,i){return AMe(r,i)})}e$.exports=lMe});var q0=w((OAt,r$)=>{function cMe(r,e){for(var t=-1,i=e.length,n=r.length;++t{var i$=Rc(),uMe=nm(),gMe=vs(),n$=i$?i$.isConcatSpreadable:void 0;function fMe(r){return gMe(r)||uMe(r)||!!(n$&&r&&r[n$])}s$.exports=fMe});var l$=w((KAt,A$)=>{var hMe=q0(),pMe=o$();function a$(r,e,t,i,n){var s=-1,o=r.length;for(t||(t=pMe),n||(n=[]);++s0&&t(a)?e>1?a$(a,e-1,t,i,n):hMe(n,a):i||(n[n.length]=a)}return n}A$.exports=a$});var u$=w((UAt,c$)=>{var dMe=l$();function CMe(r){var e=r==null?0:r.length;return e?dMe(r,1):[]}c$.exports=CMe});var f$=w((HAt,g$)=>{function mMe(r,e,t){switch(t.length){case 0:return r.call(e);case 1:return r.call(e,t[0]);case 2:return r.call(e,t[0],t[1]);case 3:return r.call(e,t[0],t[1],t[2])}return r.apply(e,t)}g$.exports=mMe});var jN=w((GAt,p$)=>{var EMe=f$(),h$=Math.max;function IMe(r,e,t){return e=h$(e===void 0?r.length-1:e,0),function(){for(var i=arguments,n=-1,s=h$(i.length-e,0),o=Array(s);++n{function yMe(r){return function(){return r}}d$.exports=yMe});var J0=w((jAt,m$)=>{function wMe(r){return r}m$.exports=wMe});var y$=w((qAt,I$)=>{var BMe=C$(),E$=UN(),bMe=J0(),QMe=E$?function(r,e){return E$(r,"toString",{configurable:!0,enumerable:!1,value:BMe(e),writable:!0})}:bMe;I$.exports=QMe});var B$=w((JAt,w$)=>{var SMe=800,vMe=16,xMe=Date.now;function PMe(r){var e=0,t=0;return function(){var i=xMe(),n=vMe-(i-t);if(t=i,n>0){if(++e>=SMe)return arguments[0]}else e=0;return r.apply(void 0,arguments)}}w$.exports=PMe});var qN=w((WAt,b$)=>{var DMe=y$(),kMe=B$(),RMe=kMe(DMe);b$.exports=RMe});var S$=w((zAt,Q$)=>{var FMe=u$(),NMe=jN(),TMe=qN();function LMe(r){return TMe(NMe(r,void 0,FMe),r+"")}Q$.exports=LMe});var x$=w((VAt,v$)=>{var OMe=t$(),MMe=S$(),KMe=MMe(function(r,e){return r==null?{}:OMe(r,e)});v$.exports=KMe});var K$=w((mct,M$)=>{"use strict";var _N;try{_N=Map}catch{}var $N;try{$N=Set}catch{}function L$(r,e,t){if(!r||typeof r!="object"||typeof r=="function")return r;if(r.nodeType&&"cloneNode"in r)return r.cloneNode(!0);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r);if(Array.isArray(r))return r.map(O$);if(_N&&r instanceof _N)return new Map(Array.from(r.entries()));if($N&&r instanceof $N)return new Set(Array.from(r.values()));if(r instanceof Object){e.push(r);var i=Object.create(r);t.push(i);for(var n in r){var s=e.findIndex(function(o){return o===r[n]});i[n]=s>-1?t[s]:L$(r[n],e,t)}return i}return r}function O$(r){return L$(r,[],[])}M$.exports=O$});var om=w(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});eT.default=e1e;var zMe=Object.prototype.toString,VMe=Error.prototype.toString,XMe=RegExp.prototype.toString,ZMe=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",_Me=/^Symbol\((.*)\)(.*)$/;function $Me(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function U$(r,e=!1){if(r==null||r===!0||r===!1)return""+r;let t=typeof r;if(t==="number")return $Me(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return ZMe.call(r).replace(_Me,"Symbol($1)");let i=zMe.call(r).slice(8,-1);return i==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):i==="Error"||r instanceof Error?"["+VMe.call(r)+"]":i==="RegExp"?XMe.call(r):null}function e1e(r,e){let t=U$(r,e);return t!==null?t:JSON.stringify(r,function(i,n){let s=U$(this[i],e);return s!==null?s:n},2)}});var iA=w(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.default=Ei.array=Ei.object=Ei.boolean=Ei.date=Ei.number=Ei.string=Ei.mixed=void 0;var H$=t1e(om());function t1e(r){return r&&r.__esModule?r:{default:r}}var G$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:i})=>{let n=i!=null&&i!==t,s=`${r} must be a \`${e}\` type, but the final value was: \`${(0,H$.default)(t,!0)}\``+(n?` (cast from the value \`${(0,H$.default)(i,!0)}\`).`:".");return t===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Ei.mixed=G$;var Y$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Ei.string=Y$;var j$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Ei.number=j$;var q$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Ei.date=q$;var J$={isValue:"${path} field must be ${value}"};Ei.boolean=J$;var W$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Ei.object=W$;var z$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Ei.array=z$;var r1e=Object.assign(Object.create(null),{mixed:G$,string:Y$,number:j$,date:q$,object:W$,array:z$,boolean:J$});Ei.default=r1e});var X$=w((yct,V$)=>{var i1e=Object.prototype,n1e=i1e.hasOwnProperty;function s1e(r,e){return r!=null&&n1e.call(r,e)}V$.exports=s1e});var am=w((wct,Z$)=>{var o1e=X$(),a1e=GN();function A1e(r,e){return r!=null&&a1e(r,e,o1e)}Z$.exports=A1e});var xh=w(eb=>{"use strict";Object.defineProperty(eb,"__esModule",{value:!0});eb.default=void 0;var l1e=r=>r&&r.__isYupSchema__;eb.default=l1e});var $$=w(tb=>{"use strict";Object.defineProperty(tb,"__esModule",{value:!0});tb.default=void 0;var c1e=_$(am()),u1e=_$(xh());function _$(r){return r&&r.__esModule?r:{default:r}}var tT=class{constructor(e,t){if(this.refs=e,this.refs=e,typeof t=="function"){this.fn=t;return}if(!(0,c1e.default)(t,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=t,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,t){let i=this.refs.map(s=>s.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn.apply(e,i.concat(e,t));if(n===void 0||n===e)return e;if(!(0,u1e.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}},g1e=tT;tb.default=g1e});var iT=w(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});rT.default=f1e;function f1e(r){return r==null?[]:[].concat(r)}});var _c=w(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});rb.default=void 0;var h1e=eee(om()),p1e=eee(iT());function eee(r){return r&&r.__esModule?r:{default:r}}function nT(){return nT=Object.assign||function(r){for(var e=1;e(0,h1e.default)(t[s])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,i,n){super(),this.name="ValidationError",this.value=t,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,p1e.default)(e).forEach(s=>{Ph.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Ph)}};rb.default=Ph});var ib=w(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});oT.default=E1e;var sT=C1e(_c());function C1e(r){return r&&r.__esModule?r:{default:r}}var m1e=r=>{let e=!1;return(...t)=>{e||(e=!0,r(...t))}};function E1e(r,e){let{endEarly:t,tests:i,args:n,value:s,errors:o,sort:a,path:l}=r,c=m1e(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new sT.default(o,s,l)):c(null,s);for(let f=0;f{function I1e(r){return function(e,t,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[r?a:++n];if(t(s[l],l,s)===!1)break}return e}}tee.exports=I1e});var aT=w((Pct,iee)=>{var y1e=ree(),w1e=y1e();iee.exports=w1e});var see=w((Dct,nee)=>{function B1e(r,e){for(var t=-1,i=Array(r);++t{function b1e(){return!1}oee.exports=b1e});var lm=w((Am,Dh)=>{var Q1e=ys(),S1e=aee(),cee=typeof Am=="object"&&Am&&!Am.nodeType&&Am,Aee=cee&&typeof Dh=="object"&&Dh&&!Dh.nodeType&&Dh,v1e=Aee&&Aee.exports===cee,lee=v1e?Q1e.Buffer:void 0,x1e=lee?lee.isBuffer:void 0,P1e=x1e||S1e;Dh.exports=P1e});var gee=w((Rct,uee)=>{var D1e=Fc(),k1e=j0(),R1e=Wo(),F1e="[object Arguments]",N1e="[object Array]",T1e="[object Boolean]",L1e="[object Date]",O1e="[object Error]",M1e="[object Function]",K1e="[object Map]",U1e="[object Number]",H1e="[object Object]",G1e="[object RegExp]",Y1e="[object Set]",j1e="[object String]",q1e="[object WeakMap]",J1e="[object ArrayBuffer]",W1e="[object DataView]",z1e="[object Float32Array]",V1e="[object Float64Array]",X1e="[object Int8Array]",Z1e="[object Int16Array]",_1e="[object Int32Array]",$1e="[object Uint8Array]",eKe="[object Uint8ClampedArray]",tKe="[object Uint16Array]",rKe="[object Uint32Array]",Ir={};Ir[z1e]=Ir[V1e]=Ir[X1e]=Ir[Z1e]=Ir[_1e]=Ir[$1e]=Ir[eKe]=Ir[tKe]=Ir[rKe]=!0;Ir[F1e]=Ir[N1e]=Ir[J1e]=Ir[T1e]=Ir[W1e]=Ir[L1e]=Ir[O1e]=Ir[M1e]=Ir[K1e]=Ir[U1e]=Ir[H1e]=Ir[G1e]=Ir[Y1e]=Ir[j1e]=Ir[q1e]=!1;function iKe(r){return R1e(r)&&k1e(r.length)&&!!Ir[D1e(r)]}uee.exports=iKe});var nb=w((Fct,fee)=>{function nKe(r){return function(e){return r(e)}}fee.exports=nKe});var sb=w((cm,kh)=>{var sKe=WD(),hee=typeof cm=="object"&&cm&&!cm.nodeType&&cm,um=hee&&typeof kh=="object"&&kh&&!kh.nodeType&&kh,oKe=um&&um.exports===hee,AT=oKe&&sKe.process,aKe=function(){try{var r=um&&um.require&&um.require("util").types;return r||AT&&AT.binding&&AT.binding("util")}catch{}}();kh.exports=aKe});var ob=w((Nct,Cee)=>{var AKe=gee(),lKe=nb(),pee=sb(),dee=pee&&pee.isTypedArray,cKe=dee?lKe(dee):AKe;Cee.exports=cKe});var lT=w((Tct,mee)=>{var uKe=see(),gKe=nm(),fKe=vs(),hKe=lm(),pKe=im(),dKe=ob(),CKe=Object.prototype,mKe=CKe.hasOwnProperty;function EKe(r,e){var t=fKe(r),i=!t&&gKe(r),n=!t&&!i&&hKe(r),s=!t&&!i&&!n&&dKe(r),o=t||i||n||s,a=o?uKe(r.length,String):[],l=a.length;for(var c in r)(e||mKe.call(r,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||pKe(c,l)))&&a.push(c);return a}mee.exports=EKe});var ab=w((Lct,Eee)=>{var IKe=Object.prototype;function yKe(r){var e=r&&r.constructor,t=typeof e=="function"&&e.prototype||IKe;return r===t}Eee.exports=yKe});var cT=w((Oct,Iee)=>{function wKe(r,e){return function(t){return r(e(t))}}Iee.exports=wKe});var wee=w((Mct,yee)=>{var BKe=cT(),bKe=BKe(Object.keys,Object);yee.exports=bKe});var bee=w((Kct,Bee)=>{var QKe=ab(),SKe=wee(),vKe=Object.prototype,xKe=vKe.hasOwnProperty;function PKe(r){if(!QKe(r))return SKe(r);var e=[];for(var t in Object(r))xKe.call(r,t)&&t!="constructor"&&e.push(t);return e}Bee.exports=PKe});var gm=w((Uct,Qee)=>{var DKe=U0(),kKe=j0();function RKe(r){return r!=null&&kKe(r.length)&&!DKe(r)}Qee.exports=RKe});var Rh=w((Hct,See)=>{var FKe=lT(),NKe=bee(),TKe=gm();function LKe(r){return TKe(r)?FKe(r):NKe(r)}See.exports=LKe});var uT=w((Gct,vee)=>{var OKe=aT(),MKe=Rh();function KKe(r,e){return r&&OKe(r,e,MKe)}vee.exports=KKe});var Pee=w((Yct,xee)=>{var UKe=em();function HKe(){this.__data__=new UKe,this.size=0}xee.exports=HKe});var kee=w((jct,Dee)=>{function GKe(r){var e=this.__data__,t=e.delete(r);return this.size=e.size,t}Dee.exports=GKe});var Fee=w((qct,Ree)=>{function YKe(r){return this.__data__.get(r)}Ree.exports=YKe});var Tee=w((Jct,Nee)=>{function jKe(r){return this.__data__.has(r)}Nee.exports=jKe});var Oee=w((Wct,Lee)=>{var qKe=em(),JKe=H0(),WKe=G0(),zKe=200;function VKe(r,e){var t=this.__data__;if(t instanceof qKe){var i=t.__data__;if(!JKe||i.length{var XKe=em(),ZKe=Pee(),_Ke=kee(),$Ke=Fee(),eUe=Tee(),tUe=Oee();function Fh(r){var e=this.__data__=new XKe(r);this.size=e.size}Fh.prototype.clear=ZKe;Fh.prototype.delete=_Ke;Fh.prototype.get=$Ke;Fh.prototype.has=eUe;Fh.prototype.set=tUe;Mee.exports=Fh});var Uee=w((Vct,Kee)=>{var rUe="__lodash_hash_undefined__";function iUe(r){return this.__data__.set(r,rUe),this}Kee.exports=iUe});var Gee=w((Xct,Hee)=>{function nUe(r){return this.__data__.has(r)}Hee.exports=nUe});var jee=w((Zct,Yee)=>{var sUe=G0(),oUe=Uee(),aUe=Gee();function Ab(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new sUe;++e{function AUe(r,e){for(var t=-1,i=r==null?0:r.length;++t{function lUe(r,e){return r.has(e)}Wee.exports=lUe});var gT=w((eut,Vee)=>{var cUe=jee(),uUe=Jee(),gUe=zee(),fUe=1,hUe=2;function pUe(r,e,t,i,n,s){var o=t&fUe,a=r.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(r),u=s.get(e);if(c&&u)return c==e&&u==r;var g=-1,f=!0,h=t&hUe?new cUe:void 0;for(s.set(r,e),s.set(e,r);++g{var dUe=ys(),CUe=dUe.Uint8Array;Xee.exports=CUe});var _ee=w((rut,Zee)=>{function mUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i,n){t[++e]=[n,i]}),t}Zee.exports=mUe});var ete=w((iut,$ee)=>{function EUe(r){var e=-1,t=Array(r.size);return r.forEach(function(i){t[++e]=i}),t}$ee.exports=EUe});var ste=w((nut,nte)=>{var tte=Rc(),rte=fT(),IUe=Ih(),yUe=gT(),wUe=_ee(),BUe=ete(),bUe=1,QUe=2,SUe="[object Boolean]",vUe="[object Date]",xUe="[object Error]",PUe="[object Map]",DUe="[object Number]",kUe="[object RegExp]",RUe="[object Set]",FUe="[object String]",NUe="[object Symbol]",TUe="[object ArrayBuffer]",LUe="[object DataView]",ite=tte?tte.prototype:void 0,hT=ite?ite.valueOf:void 0;function OUe(r,e,t,i,n,s,o){switch(t){case LUe:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case TUe:return!(r.byteLength!=e.byteLength||!s(new rte(r),new rte(e)));case SUe:case vUe:case DUe:return IUe(+r,+e);case xUe:return r.name==e.name&&r.message==e.message;case kUe:case FUe:return r==e+"";case PUe:var a=wUe;case RUe:var l=i&bUe;if(a||(a=BUe),r.size!=e.size&&!l)return!1;var c=o.get(r);if(c)return c==e;i|=QUe,o.set(r,e);var u=yUe(a(r),a(e),i,n,s,o);return o.delete(r),u;case NUe:if(hT)return hT.call(r)==hT.call(e)}return!1}nte.exports=OUe});var pT=w((sut,ote)=>{var MUe=q0(),KUe=vs();function UUe(r,e,t){var i=e(r);return KUe(r)?i:MUe(i,t(r))}ote.exports=UUe});var Ate=w((out,ate)=>{function HUe(r,e){for(var t=-1,i=r==null?0:r.length,n=0,s=[];++t{function GUe(){return[]}lte.exports=GUe});var lb=w((Aut,ute)=>{var YUe=Ate(),jUe=dT(),qUe=Object.prototype,JUe=qUe.propertyIsEnumerable,cte=Object.getOwnPropertySymbols,WUe=cte?function(r){return r==null?[]:(r=Object(r),YUe(cte(r),function(e){return JUe.call(r,e)}))}:jUe;ute.exports=WUe});var CT=w((lut,gte)=>{var zUe=pT(),VUe=lb(),XUe=Rh();function ZUe(r){return zUe(r,XUe,VUe)}gte.exports=ZUe});var pte=w((cut,hte)=>{var fte=CT(),_Ue=1,$Ue=Object.prototype,e2e=$Ue.hasOwnProperty;function t2e(r,e,t,i,n,s){var o=t&_Ue,a=fte(r),l=a.length,c=fte(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:e2e.call(e,f)))return!1}var h=s.get(r),p=s.get(e);if(h&&p)return h==e&&p==r;var C=!0;s.set(r,e),s.set(e,r);for(var y=o;++g{var r2e=pl(),i2e=ys(),n2e=r2e(i2e,"DataView");dte.exports=n2e});var Ete=w((gut,mte)=>{var s2e=pl(),o2e=ys(),a2e=s2e(o2e,"Promise");mte.exports=a2e});var yte=w((fut,Ite)=>{var A2e=pl(),l2e=ys(),c2e=A2e(l2e,"Set");Ite.exports=c2e});var Bte=w((hut,wte)=>{var u2e=pl(),g2e=ys(),f2e=u2e(g2e,"WeakMap");wte.exports=f2e});var hm=w((put,Dte)=>{var mT=Cte(),ET=H0(),IT=Ete(),yT=yte(),wT=Bte(),Pte=Fc(),Nh=MN(),bte="[object Map]",h2e="[object Object]",Qte="[object Promise]",Ste="[object Set]",vte="[object WeakMap]",xte="[object DataView]",p2e=Nh(mT),d2e=Nh(ET),C2e=Nh(IT),m2e=Nh(yT),E2e=Nh(wT),$c=Pte;(mT&&$c(new mT(new ArrayBuffer(1)))!=xte||ET&&$c(new ET)!=bte||IT&&$c(IT.resolve())!=Qte||yT&&$c(new yT)!=Ste||wT&&$c(new wT)!=vte)&&($c=function(r){var e=Pte(r),t=e==h2e?r.constructor:void 0,i=t?Nh(t):"";if(i)switch(i){case p2e:return xte;case d2e:return bte;case C2e:return Qte;case m2e:return Ste;case E2e:return vte}return e});Dte.exports=$c});var Mte=w((dut,Ote)=>{var BT=fm(),I2e=gT(),y2e=ste(),w2e=pte(),kte=hm(),Rte=vs(),Fte=lm(),B2e=ob(),b2e=1,Nte="[object Arguments]",Tte="[object Array]",cb="[object Object]",Q2e=Object.prototype,Lte=Q2e.hasOwnProperty;function S2e(r,e,t,i,n,s){var o=Rte(r),a=Rte(e),l=o?Tte:kte(r),c=a?Tte:kte(e);l=l==Nte?cb:l,c=c==Nte?cb:c;var u=l==cb,g=c==cb,f=l==c;if(f&&Fte(r)){if(!Fte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new BT),o||B2e(r)?I2e(r,e,t,i,n,s):y2e(r,e,l,t,i,n,s);if(!(t&b2e)){var h=u&&Lte.call(r,"__wrapped__"),p=g&&Lte.call(e,"__wrapped__");if(h||p){var C=h?r.value():r,y=p?e.value():e;return s||(s=new BT),n(C,y,t,i,s)}}return f?(s||(s=new BT),w2e(r,e,t,i,n,s)):!1}Ote.exports=S2e});var bT=w((Cut,Hte)=>{var v2e=Mte(),Kte=Wo();function Ute(r,e,t,i,n){return r===e?!0:r==null||e==null||!Kte(r)&&!Kte(e)?r!==r&&e!==e:v2e(r,e,t,i,Ute,n)}Hte.exports=Ute});var Yte=w((mut,Gte)=>{var x2e=fm(),P2e=bT(),D2e=1,k2e=2;function R2e(r,e,t,i){var n=t.length,s=n,o=!i;if(r==null)return!s;for(r=Object(r);n--;){var a=t[n];if(o&&a[2]?a[1]!==r[a[0]]:!(a[0]in r))return!1}for(;++n{var F2e=vn();function N2e(r){return r===r&&!F2e(r)}jte.exports=N2e});var Jte=w((Iut,qte)=>{var T2e=QT(),L2e=Rh();function O2e(r){for(var e=L2e(r),t=e.length;t--;){var i=e[t],n=r[i];e[t]=[i,n,T2e(n)]}return e}qte.exports=O2e});var ST=w((yut,Wte)=>{function M2e(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}Wte.exports=M2e});var Vte=w((wut,zte)=>{var K2e=Yte(),U2e=Jte(),H2e=ST();function G2e(r){var e=U2e(r);return e.length==1&&e[0][2]?H2e(e[0][0],e[0][1]):function(t){return t===r||K2e(t,r,e)}}zte.exports=G2e});var ub=w((But,Xte)=>{var Y2e=rm();function j2e(r,e,t){var i=r==null?void 0:Y2e(r,e);return i===void 0?t:i}Xte.exports=j2e});var _te=w((but,Zte)=>{var q2e=bT(),J2e=ub(),W2e=YN(),z2e=K0(),V2e=QT(),X2e=ST(),Z2e=Zc(),_2e=1,$2e=2;function eHe(r,e){return z2e(r)&&V2e(e)?X2e(Z2e(r),e):function(t){var i=J2e(t,r);return i===void 0&&i===e?W2e(t,r):q2e(e,i,_2e|$2e)}}Zte.exports=eHe});var ere=w((Qut,$te)=>{function tHe(r){return function(e){return e==null?void 0:e[r]}}$te.exports=tHe});var rre=w((Sut,tre)=>{var rHe=rm();function iHe(r){return function(e){return rHe(e,r)}}tre.exports=iHe});var nre=w((vut,ire)=>{var nHe=ere(),sHe=rre(),oHe=K0(),aHe=Zc();function AHe(r){return oHe(r)?nHe(aHe(r)):sHe(r)}ire.exports=AHe});var vT=w((xut,sre)=>{var lHe=Vte(),cHe=_te(),uHe=J0(),gHe=vs(),fHe=nre();function hHe(r){return typeof r=="function"?r:r==null?uHe:typeof r=="object"?gHe(r)?cHe(r[0],r[1]):lHe(r):fHe(r)}sre.exports=hHe});var xT=w((Put,ore)=>{var pHe=bh(),dHe=uT(),CHe=vT();function mHe(r,e){var t={};return e=CHe(e,3),dHe(r,function(i,n,s){pHe(t,n,e(i,n,s))}),t}ore.exports=mHe});var pm=w((Dut,ure)=>{"use strict";function eu(r){this._maxSize=r,this.clear()}eu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};eu.prototype.get=function(r){return this._values[r]};eu.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var EHe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,cre=/^\d+$/,IHe=/^\d/,yHe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,wHe=/^\s*(['"]?)(.*?)(\1)\s*$/,kT=512,are=new eu(kT),Are=new eu(kT),lre=new eu(kT);ure.exports={Cache:eu,split:DT,normalizePath:PT,setter:function(r){var e=PT(r);return Are.get(r)||Are.set(r,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Cm,"__esModule",{value:!0});Cm.create=xHe;Cm.default=void 0;var vHe=pm(),gb={context:"$",value:"."};function xHe(r,e){return new dm(r,e)}var dm=class{constructor(e,t={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===gb.context,this.isValue=this.key[0]===gb.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?gb.context:this.isValue?gb.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,vHe.getter)(this.path,!0),this.map=t.map}getValue(e,t,i){let n=this.isContext?i:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Cm.default=dm;dm.prototype.__isYupRef=!0});var gre=w(NT=>{"use strict";Object.defineProperty(NT,"__esModule",{value:!0});NT.default=RHe;var PHe=FT(xT()),fb=FT(_c()),DHe=FT(tu());function FT(r){return r&&r.__esModule?r:{default:r}}function hb(){return hb=Object.assign||function(r){for(var e=1;e=0)&&(t[n]=r[n]);return t}function RHe(r){function e(t,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=t,u=kHe(t,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=r,{parent:C,context:y}=a;function B(j){return DHe.default.isRef(j)?j.getValue(n,C,y):j}function v(j={}){let $=(0,PHe.default)(hb({value:n,originalValue:l,label:o,path:j.path||s},h,j.params),B),V=new fb.default(fb.default.formatError(j.message||p,$),n,$.path,j.type||g);return V.params=$,V}let D=hb({path:s,parent:C,type:g,createError:v,resolve:B,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(D,n,D)).then(j=>{fb.default.isError(j)?i(j):j?i(null,j):i(v())})}catch(j){i(j)}return}let T;try{var H;if(T=f.call(D,n,D),typeof((H=T)==null?void 0:H.then)=="function")throw new Error(`Validation test of type: "${D.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(j){i(j);return}fb.default.isError(T)?i(T):T?i(null,T):i(v())}return e.OPTIONS=r,e}});var TT=w(mm=>{"use strict";Object.defineProperty(mm,"__esModule",{value:!0});mm.getIn=fre;mm.default=void 0;var FHe=pm(),NHe=r=>r.substr(0,r.length-1).substr(1);function fre(r,e,t,i=t){let n,s,o;return e?((0,FHe.forEach)(e,(a,l,c)=>{let u=l?NHe(a):a;if(r=r.resolve({context:i,parent:n,value:t}),r.innerType){let g=c?parseInt(u,10):0;if(t&&g>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[g],r=r.innerType}if(!c){if(!r.fields||!r.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${r._type}")`);n=t,t=t&&t[u],r=r.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:r,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:r}}var THe=(r,e,t,i)=>fre(r,e,t,i).schema,LHe=THe;mm.default=LHe});var pre=w(pb=>{"use strict";Object.defineProperty(pb,"__esModule",{value:!0});pb.default=void 0;var hre=OHe(tu());function OHe(r){return r&&r.__esModule?r:{default:r}}var Em=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,t]of this.refs)e.push(t.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){hre.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){hre.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(t(i.value)===e)return!0;return!1}clone(){let e=new Em;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),t.list.forEach(n=>i.delete(n)),t.refs.forEach(n=>i.delete(n)),i}};pb.default=Em});var sA=w(Cb=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});Cb.default=void 0;var dre=nA(K$()),Th=iA(),MHe=nA($$()),Cre=nA(ib()),db=nA(gre()),mre=nA(om()),KHe=nA(tu()),UHe=TT(),HHe=nA(iT()),Ere=nA(_c()),Ire=nA(pre());function nA(r){return r&&r.__esModule?r:{default:r}}function Fs(){return Fs=Object.assign||function(r){for(var e=1;e{this.typeError(Th.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Fs({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=Fs({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=(0,dre.default)(Fs({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=t,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,i=e.clone(),n=Fs({},t.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=t._typeError),i._whitelistError||(i._whitelistError=t._whitelistError),i._blacklistError||(i._blacklistError=t._blacklistError),i._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),i.tests=t.tests,i.exclusiveTests=t.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let i=t.conditions;t=t.clone(),t.conditions=[],t=i.reduce((n,s)=>s.resolve(n,e),t),t=t.resolve(e)}return t}cast(e,t={}){let i=this.resolve(Fs({value:e},t)),n=i._cast(e,t);if(e!==void 0&&t.assert!==!1&&i.isType(n)!==!0){let s=(0,mre.default)(e),o=(0,mre.default)(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Fs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Cre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Cre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Fs({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Fs({},t,{value:e})),n;return i._validate(e,Fs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Ere.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Ere.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,dre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Th.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Th.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Th.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,db.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,HHe.default)(e).map(s=>new KHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new OHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,db.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Th.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,db.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Th.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,db.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Cb.default=uo;uo.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])uo.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,UHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],Fs({},i,{parent:n,path:e}))};for(let r of["equals","is"])uo.prototype[r]=uo.prototype.oneOf;for(let r of["not","nope"])uo.prototype[r]=uo.prototype.notOneOf;uo.prototype.optional=uo.prototype.notRequired});var wre=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=yre;Im.default=void 0;var GHe=YHe(sA());function YHe(r){return r&&r.__esModule?r:{default:r}}var LT=GHe.default,jHe=LT;Im.default=jHe;function yre(){return new LT}yre.prototype=LT.prototype});var Lh=w(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});mb.default=void 0;var qHe=r=>r==null;mb.default=qHe});var vre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=Sre;wm.default=void 0;var JHe=Qre(sA()),Bre=iA(),bre=Qre(Lh());function Qre(r){return r&&r.__esModule?r:{default:r}}function Sre(){return new ym}var ym=class extends JHe.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,bre.default)(t)||t===!0}})}isFalse(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,bre.default)(t)||t===!1}})}};wm.default=ym;Sre.prototype=ym.prototype});var Dre=w(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});bm.create=Pre;bm.default=void 0;var ia=iA(),oA=xre(Lh()),WHe=xre(sA());function xre(r){return r&&r.__esModule?r:{default:r}}var zHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,VHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,XHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ZHe=r=>(0,oA.default)(r)||r===r.trim(),_He={}.toString();function Pre(){return new Bm}var Bm=class extends WHe.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===_He?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ia.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,oA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ia.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,oA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ia.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,oA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ia.string.matches,params:{regex:e},test:o=>(0,oA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ia.string.email){return this.matches(zHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ia.string.url){return this.matches(VHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ia.string.uuid){return this.matches(XHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ia.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:ZHe})}lowercase(e=ia.string.lowercase){return this.transform(t=>(0,oA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toLowerCase()})}uppercase(e=ia.string.uppercase){return this.transform(t=>(0,oA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toUpperCase()})}};bm.default=Bm;Pre.prototype=Bm.prototype});var Fre=w(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.create=Rre;Sm.default=void 0;var ru=iA(),iu=kre(Lh()),$He=kre(sA());function kre(r){return r&&r.__esModule?r:{default:r}}var eGe=r=>r!=+r;function Rre(){return new Qm}var Qm=class extends $He.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!eGe(e)}min(e,t=ru.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iu.default)(i)||i>=this.resolve(e)}})}max(e,t=ru.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=ru.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,iu.default)(i)||ithis.resolve(e)}})}positive(e=ru.number.positive){return this.moreThan(0,e)}negative(e=ru.number.negative){return this.lessThan(0,e)}integer(e=ru.number.integer){return this.test({name:"integer",message:e,test:t=>(0,iu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,iu.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,iu.default)(n)?n:Math[e](n))}};Sm.default=Qm;Rre.prototype=Qm.prototype});var Nre=w(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.default=rGe;var tGe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function rGe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=tGe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Mre=w(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.create=KT;vm.default=void 0;var iGe=Eb(Nre()),Tre=iA(),Lre=Eb(Lh()),nGe=Eb(tu()),sGe=Eb(sA());function Eb(r){return r&&r.__esModule?r:{default:r}}var OT=new Date(""),oGe=r=>Object.prototype.toString.call(r)==="[object Date]";function KT(){return new Mh}var Mh=class extends sGe.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,iGe.default)(e),isNaN(e)?OT:new Date(e))})})}_typeCheck(e){return oGe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(nGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=Tre.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,t=Tre.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};vm.default=Mh;Mh.INVALID_DATE=OT;KT.prototype=Mh.prototype;KT.INVALID_DATE=OT});var Kre=w((Yut,Ore)=>{function aGe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function AGe(r){return function(e){return r==null?void 0:r[e]}}Ure.exports=AGe});var Yre=w((qut,Gre)=>{var lGe=Hre(),cGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},uGe=lGe(cGe);Gre.exports=uGe});var qre=w((Jut,jre)=>{var gGe=Yre(),fGe=Vf(),hGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,pGe="\\u0300-\\u036f",dGe="\\ufe20-\\ufe2f",CGe="\\u20d0-\\u20ff",mGe=pGe+dGe+CGe,EGe="["+mGe+"]",IGe=RegExp(EGe,"g");function yGe(r){return r=fGe(r),r&&r.replace(hGe,gGe).replace(IGe,"")}jre.exports=yGe});var Wre=w((Wut,Jre)=>{var wGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function BGe(r){return r.match(wGe)||[]}Jre.exports=BGe});var Vre=w((zut,zre)=>{var bGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function QGe(r){return bGe.test(r)}zre.exports=QGe});var hie=w((Vut,fie)=>{var eie="\\ud800-\\udfff",SGe="\\u0300-\\u036f",vGe="\\ufe20-\\ufe2f",xGe="\\u20d0-\\u20ff",PGe=SGe+vGe+xGe,tie="\\u2700-\\u27bf",rie="a-z\\xdf-\\xf6\\xf8-\\xff",DGe="\\xac\\xb1\\xd7\\xf7",kGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",RGe="\\u2000-\\u206f",FGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iie="A-Z\\xc0-\\xd6\\xd8-\\xde",NGe="\\ufe0e\\ufe0f",nie=DGe+kGe+RGe+FGe,sie="['\u2019]",Xre="["+nie+"]",TGe="["+PGe+"]",oie="\\d+",LGe="["+tie+"]",aie="["+rie+"]",Aie="[^"+eie+nie+oie+tie+rie+iie+"]",MGe="\\ud83c[\\udffb-\\udfff]",OGe="(?:"+TGe+"|"+MGe+")",KGe="[^"+eie+"]",lie="(?:\\ud83c[\\udde6-\\uddff]){2}",cie="[\\ud800-\\udbff][\\udc00-\\udfff]",Oh="["+iie+"]",UGe="\\u200d",Zre="(?:"+aie+"|"+Aie+")",HGe="(?:"+Oh+"|"+Aie+")",_re="(?:"+sie+"(?:d|ll|m|re|s|t|ve))?",$re="(?:"+sie+"(?:D|LL|M|RE|S|T|VE))?",uie=OGe+"?",gie="["+NGe+"]?",GGe="(?:"+UGe+"(?:"+[KGe,lie,cie].join("|")+")"+gie+uie+")*",YGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qGe=gie+uie+GGe,JGe="(?:"+[LGe,lie,cie].join("|")+")"+qGe,WGe=RegExp([Oh+"?"+aie+"+"+_re+"(?="+[Xre,Oh,"$"].join("|")+")",HGe+"+"+$re+"(?="+[Xre,Oh+Zre,"$"].join("|")+")",Oh+"?"+Zre+"+"+_re,Oh+"+"+$re,jGe,YGe,oie,JGe].join("|"),"g");function zGe(r){return r.match(WGe)||[]}fie.exports=zGe});var die=w((Xut,pie)=>{var VGe=Wre(),XGe=Vre(),ZGe=Vf(),_Ge=hie();function $Ge(r,e,t){return r=ZGe(r),e=t?void 0:e,e===void 0?XGe(r)?_Ge(r):VGe(r):r.match(e)||[]}pie.exports=$Ge});var UT=w((Zut,Cie)=>{var eYe=Kre(),tYe=qre(),rYe=die(),iYe="['\u2019]",nYe=RegExp(iYe,"g");function sYe(r){return function(e){return eYe(rYe(tYe(e).replace(nYe,"")),r,"")}}Cie.exports=sYe});var Eie=w((_ut,mie)=>{var oYe=UT(),aYe=oYe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});mie.exports=aYe});var yie=w(($ut,Iie)=>{var AYe=PB(),lYe=UT(),cYe=lYe(function(r,e,t){return e=e.toLowerCase(),r+(t?AYe(e):e)});Iie.exports=cYe});var Bie=w((egt,wie)=>{var uYe=bh(),gYe=uT(),fYe=vT();function hYe(r,e){var t={};return e=fYe(e,3),gYe(r,function(i,n,s){uYe(t,e(i,n,s),i)}),t}wie.exports=hYe});var Qie=w((tgt,HT)=>{HT.exports=function(r){return bie(pYe(r),r)};HT.exports.array=bie;function bie(r,e){var t=r.length,i=new Array(t),n={},s=t,o=dYe(e),a=CYe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function pYe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(GT,"__esModule",{value:!0});GT.default=BYe;var mYe=Ib(am()),EYe=Ib(Qie()),IYe=pm(),yYe=Ib(tu()),wYe=Ib(xh());function Ib(r){return r&&r.__esModule?r:{default:r}}function BYe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,IYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,mYe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),yYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,wYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return EYe.default.array(i,t).reverse()}});var xie=w(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0});YT.default=bYe;function vie(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function bYe(r){return(e,t)=>vie(r,e)-vie(r,t)}});var Tie=w(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.create=Nie;Pm.default=void 0;var Pie=na(am()),Die=na(Eie()),QYe=na(yie()),SYe=na(Bie()),vYe=na(xT()),xYe=pm(),kie=iA(),PYe=na(Sie()),Fie=na(xie()),DYe=na(ib()),kYe=na(_c()),jT=na(sA());function na(r){return r&&r.__esModule?r:{default:r}}function Kh(){return Kh=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function RYe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var FYe=(0,Fie.default)([]),xm=class extends jT.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=FYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Rie(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Kh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Pie.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!kYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Rie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],Kh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,DYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Kh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof jT.default&&s instanceof jT.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Fie.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,PYe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,xYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Pie.default)(s,e)&&(o=Kh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=kie.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=RYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=kie.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,SYe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(QYe.default)}snakeCase(){return this.transformKeys(Die.default)}constantCase(){return this.transformKeys(e=>(0,Die.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,vYe.default)(this.fields,t=>t.describe()),e}};Pm.default=xm;function Nie(r){return new xm(r)}Nie.prototype=xm.prototype});var Mie=w(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.create=Lie;km.default=void 0;var qT=Uh(Lh()),NYe=Uh(xh()),TYe=Uh(om()),JT=iA(),LYe=Uh(ib()),MYe=Uh(_c()),OYe=Uh(sA());function Uh(r){return r&&r.__esModule?r:{default:r}}function yb(){return yb=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,yb({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!MYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,LYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,NYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,TYe.default)(e));return t.innerType=e,t}length(e,t=JT.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,qT.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||JT.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,qT.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||JT.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,qT.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};km.default=Dm;Lie.prototype=Dm.prototype});var Oie=w(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.create=HYe;Rm.default=void 0;var KYe=UYe(xh());function UYe(r){return r&&r.__esModule?r:{default:r}}function HYe(r){return new wb(r)}var wb=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,KYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},GYe=wb;Rm.default=GYe});var Kie=w(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});WT.default=qYe;var YYe=jYe(iA());function jYe(r){return r&&r.__esModule?r:{default:r}}function qYe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{YYe.default[e][t]=r[e][t]})})}});var VT=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=_Ye;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return zT.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return qie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return JYe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return WYe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return zYe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return VYe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return Jie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return XYe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return ZYe.default}});var Uie=nu(wre()),zT=nu(vre()),Hie=nu(Dre()),Gie=nu(Fre()),Yie=nu(Mre()),jie=nu(Tie()),qie=nu(Mie()),JYe=tu(),WYe=Oie(),zYe=Fm(_c()),VYe=Fm(TT()),Jie=Fm(xh()),XYe=Fm(Kie()),ZYe=Fm(sA());function Fm(r){return r&&r.__esModule?r:{default:r}}function Wie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return Wie=function(){return r},r}function nu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=Wie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function _Ye(r,e,t){if(!r||!(0,Jie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var _ie=w((ygt,Tm)=>{"use strict";var tje=process.env.TERM_PROGRAM==="Hyper",rje=process.platform==="win32",Vie=process.platform==="linux",XT={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Xie=Object.assign({},XT,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Zie=Object.assign({},XT,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Vie?"\u25B8":"\u276F",pointerSmall:Vie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Tm.exports=rje&&!tje?Xie:Zie;Reflect.defineProperty(Tm.exports,"common",{enumerable:!1,value:XT});Reflect.defineProperty(Tm.exports,"windows",{enumerable:!1,value:Xie});Reflect.defineProperty(Tm.exports,"other",{enumerable:!1,value:Zie})});var go=w((wgt,ZT)=>{"use strict";var ije=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),nje=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,$ie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,t){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,t={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=t,u=e;l||(u=this._cast(u,Fs({assert:!1},t)));let g={value:u,path:s,options:t,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Cre.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Cre.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,t,i){let n=this.resolve(Fs({},t,{value:e}));return typeof i=="function"?n._validate(e,t,i):new Promise((s,o)=>n._validate(e,t,(a,l)=>{a?o(a):s(l)}))}validateSync(e,t){let i=this.resolve(Fs({},t,{value:e})),n;return i._validate(e,Fs({},t,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,i=>{if(Ere.default.isError(i))return!1;throw i})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(i){if(Ere.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,dre.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return e!=null}defined(e=Th.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(t){return t!==void 0}})}required(e=Th.mixed.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e}nullable(e=!0){var t=this.clone({nullable:e!==!1});return t}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=Th.mixed.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,db.default)(t),s=t.exclusive||t.name&&i.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(i.exclusiveTests[t.name]=!!t.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===t.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let i=this.clone(),n=(0,HHe.default)(e).map(s=>new KHe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new MHe.default(n,t)),i}typeError(e){var t=this.clone();return t._typeError=(0,db.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),t}oneOf(e,t=Th.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,db.default)({message:t,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,t=Th.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,db.default)({message:t,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:i}=e.spec;return{meta:i,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Cb.default=uo;uo.prototype.__isYupSchema__=!0;for(let r of["validate","validateSync"])uo.prototype[`${r}At`]=function(e,t,i={}){let{parent:n,parentPath:s,schema:o}=(0,UHe.getIn)(this,e,t,i.context);return o[r](n&&n[s],Fs({},i,{parent:n,path:e}))};for(let r of["equals","is"])uo.prototype[r]=uo.prototype.oneOf;for(let r of["not","nope"])uo.prototype[r]=uo.prototype.notOneOf;uo.prototype.optional=uo.prototype.notRequired});var wre=w(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.create=yre;Im.default=void 0;var GHe=YHe(sA());function YHe(r){return r&&r.__esModule?r:{default:r}}var LT=GHe.default,jHe=LT;Im.default=jHe;function yre(){return new LT}yre.prototype=LT.prototype});var Lh=w(mb=>{"use strict";Object.defineProperty(mb,"__esModule",{value:!0});mb.default=void 0;var qHe=r=>r==null;mb.default=qHe});var vre=w(wm=>{"use strict";Object.defineProperty(wm,"__esModule",{value:!0});wm.create=Sre;wm.default=void 0;var JHe=Qre(sA()),Bre=iA(),bre=Qre(Lh());function Qre(r){return r&&r.__esModule?r:{default:r}}function Sre(){return new ym}var ym=class extends JHe.default{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return(0,bre.default)(t)||t===!0}})}isFalse(e=Bre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return(0,bre.default)(t)||t===!1}})}};wm.default=ym;Sre.prototype=ym.prototype});var Dre=w(bm=>{"use strict";Object.defineProperty(bm,"__esModule",{value:!0});bm.create=Pre;bm.default=void 0;var ia=iA(),oA=xre(Lh()),WHe=xre(sA());function xre(r){return r&&r.__esModule?r:{default:r}}var zHe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,VHe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,XHe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,ZHe=r=>(0,oA.default)(r)||r===r.trim(),_He={}.toString();function Pre(){return new Bm}var Bm=class extends WHe.default{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=e!=null&&e.toString?e.toString():e;return t===_He?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=ia.string.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,oA.default)(i)||i.length===this.resolve(e)}})}min(e,t=ia.string.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,oA.default)(i)||i.length>=this.resolve(e)}})}max(e,t=ia.string.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(i){return(0,oA.default)(i)||i.length<=this.resolve(e)}})}matches(e,t){let i=!1,n,s;return t&&(typeof t=="object"?{excludeEmptyString:i=!1,message:n,name:s}=t:n=t),this.test({name:s||"matches",message:n||ia.string.matches,params:{regex:e},test:o=>(0,oA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=ia.string.email){return this.matches(zHe,{name:"email",message:e,excludeEmptyString:!0})}url(e=ia.string.url){return this.matches(VHe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ia.string.uuid){return this.matches(XHe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ia.string.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:ZHe})}lowercase(e=ia.string.lowercase){return this.transform(t=>(0,oA.default)(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toLowerCase()})}uppercase(e=ia.string.uppercase){return this.transform(t=>(0,oA.default)(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:t=>(0,oA.default)(t)||t===t.toUpperCase()})}};bm.default=Bm;Pre.prototype=Bm.prototype});var Fre=w(Sm=>{"use strict";Object.defineProperty(Sm,"__esModule",{value:!0});Sm.create=Rre;Sm.default=void 0;var ru=iA(),iu=kre(Lh()),$He=kre(sA());function kre(r){return r&&r.__esModule?r:{default:r}}var eGe=r=>r!=+r;function Rre(){return new Qm}var Qm=class extends $He.default{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if(typeof t=="string"){if(t=t.replace(/\s/g,""),t==="")return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!eGe(e)}min(e,t=ru.number.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,iu.default)(i)||i>=this.resolve(e)}})}max(e,t=ru.number.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,iu.default)(i)||i<=this.resolve(e)}})}lessThan(e,t=ru.number.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(i){return(0,iu.default)(i)||ithis.resolve(e)}})}positive(e=ru.number.positive){return this.moreThan(0,e)}negative(e=ru.number.negative){return this.lessThan(0,e)}integer(e=ru.number.integer){return this.test({name:"integer",message:e,test:t=>(0,iu.default)(t)||Number.isInteger(t)})}truncate(){return this.transform(e=>(0,iu.default)(e)?e:e|0)}round(e){var t,i=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,iu.default)(n)?n:Math[e](n))}};Sm.default=Qm;Rre.prototype=Qm.prototype});var Nre=w(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0});OT.default=rGe;var tGe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function rGe(r){var e=[1,4,5,6,7,10,11],t=0,i,n;if(n=tGe.exec(r)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(t=n[10]*60+n[11],n[9]==="+"&&(t=0-t)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+t,n[6],n[7]))}else i=Date.parse?Date.parse(r):NaN;return i}});var Ore=w(vm=>{"use strict";Object.defineProperty(vm,"__esModule",{value:!0});vm.create=KT;vm.default=void 0;var iGe=Eb(Nre()),Tre=iA(),Lre=Eb(Lh()),nGe=Eb(tu()),sGe=Eb(sA());function Eb(r){return r&&r.__esModule?r:{default:r}}var MT=new Date(""),oGe=r=>Object.prototype.toString.call(r)==="[object Date]";function KT(){return new Oh}var Oh=class extends sGe.default{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,iGe.default)(e),isNaN(e)?MT:new Date(e))})})}_typeCheck(e){return oGe(e)&&!isNaN(e.getTime())}prepareParam(e,t){let i;if(nGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,t=Tre.date.min){let i=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Lre.default)(n)||n>=this.resolve(i)}})}max(e,t=Tre.date.max){var i=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Lre.default)(n)||n<=this.resolve(i)}})}};vm.default=Oh;Oh.INVALID_DATE=MT;KT.prototype=Oh.prototype;KT.INVALID_DATE=MT});var Kre=w((Yut,Mre)=>{function aGe(r,e,t,i){var n=-1,s=r==null?0:r.length;for(i&&s&&(t=r[++n]);++n{function AGe(r){return function(e){return r==null?void 0:r[e]}}Ure.exports=AGe});var Yre=w((qut,Gre)=>{var lGe=Hre(),cGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},uGe=lGe(cGe);Gre.exports=uGe});var qre=w((Jut,jre)=>{var gGe=Yre(),fGe=Vf(),hGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,pGe="\\u0300-\\u036f",dGe="\\ufe20-\\ufe2f",CGe="\\u20d0-\\u20ff",mGe=pGe+dGe+CGe,EGe="["+mGe+"]",IGe=RegExp(EGe,"g");function yGe(r){return r=fGe(r),r&&r.replace(hGe,gGe).replace(IGe,"")}jre.exports=yGe});var Wre=w((Wut,Jre)=>{var wGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function BGe(r){return r.match(wGe)||[]}Jre.exports=BGe});var Vre=w((zut,zre)=>{var bGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function QGe(r){return bGe.test(r)}zre.exports=QGe});var hie=w((Vut,fie)=>{var eie="\\ud800-\\udfff",SGe="\\u0300-\\u036f",vGe="\\ufe20-\\ufe2f",xGe="\\u20d0-\\u20ff",PGe=SGe+vGe+xGe,tie="\\u2700-\\u27bf",rie="a-z\\xdf-\\xf6\\xf8-\\xff",DGe="\\xac\\xb1\\xd7\\xf7",kGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",RGe="\\u2000-\\u206f",FGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",iie="A-Z\\xc0-\\xd6\\xd8-\\xde",NGe="\\ufe0e\\ufe0f",nie=DGe+kGe+RGe+FGe,sie="['\u2019]",Xre="["+nie+"]",TGe="["+PGe+"]",oie="\\d+",LGe="["+tie+"]",aie="["+rie+"]",Aie="[^"+eie+nie+oie+tie+rie+iie+"]",OGe="\\ud83c[\\udffb-\\udfff]",MGe="(?:"+TGe+"|"+OGe+")",KGe="[^"+eie+"]",lie="(?:\\ud83c[\\udde6-\\uddff]){2}",cie="[\\ud800-\\udbff][\\udc00-\\udfff]",Mh="["+iie+"]",UGe="\\u200d",Zre="(?:"+aie+"|"+Aie+")",HGe="(?:"+Mh+"|"+Aie+")",_re="(?:"+sie+"(?:d|ll|m|re|s|t|ve))?",$re="(?:"+sie+"(?:D|LL|M|RE|S|T|VE))?",uie=MGe+"?",gie="["+NGe+"]?",GGe="(?:"+UGe+"(?:"+[KGe,lie,cie].join("|")+")"+gie+uie+")*",YGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",jGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",qGe=gie+uie+GGe,JGe="(?:"+[LGe,lie,cie].join("|")+")"+qGe,WGe=RegExp([Mh+"?"+aie+"+"+_re+"(?="+[Xre,Mh,"$"].join("|")+")",HGe+"+"+$re+"(?="+[Xre,Mh+Zre,"$"].join("|")+")",Mh+"?"+Zre+"+"+_re,Mh+"+"+$re,jGe,YGe,oie,JGe].join("|"),"g");function zGe(r){return r.match(WGe)||[]}fie.exports=zGe});var die=w((Xut,pie)=>{var VGe=Wre(),XGe=Vre(),ZGe=Vf(),_Ge=hie();function $Ge(r,e,t){return r=ZGe(r),e=t?void 0:e,e===void 0?XGe(r)?_Ge(r):VGe(r):r.match(e)||[]}pie.exports=$Ge});var UT=w((Zut,Cie)=>{var eYe=Kre(),tYe=qre(),rYe=die(),iYe="['\u2019]",nYe=RegExp(iYe,"g");function sYe(r){return function(e){return eYe(rYe(tYe(e).replace(nYe,"")),r,"")}}Cie.exports=sYe});var Eie=w((_ut,mie)=>{var oYe=UT(),aYe=oYe(function(r,e,t){return r+(t?"_":"")+e.toLowerCase()});mie.exports=aYe});var yie=w(($ut,Iie)=>{var AYe=PB(),lYe=UT(),cYe=lYe(function(r,e,t){return e=e.toLowerCase(),r+(t?AYe(e):e)});Iie.exports=cYe});var Bie=w((egt,wie)=>{var uYe=bh(),gYe=uT(),fYe=vT();function hYe(r,e){var t={};return e=fYe(e,3),gYe(r,function(i,n,s){uYe(t,e(i,n,s),i)}),t}wie.exports=hYe});var Qie=w((tgt,HT)=>{HT.exports=function(r){return bie(pYe(r),r)};HT.exports.array=bie;function bie(r,e){var t=r.length,i=new Array(t),n={},s=t,o=dYe(e),a=CYe(r);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(r[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--t]=c}}}function pYe(r){for(var e=new Set,t=0,i=r.length;t{"use strict";Object.defineProperty(GT,"__esModule",{value:!0});GT.default=BYe;var mYe=Ib(am()),EYe=Ib(Qie()),IYe=pm(),yYe=Ib(tu()),wYe=Ib(xh());function Ib(r){return r&&r.__esModule?r:{default:r}}function BYe(r,e=[]){let t=[],i=[];function n(s,o){var a=(0,IYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||t.push([o,a])}for(let s in r)if((0,mYe.default)(r,s)){let o=r[s];~i.indexOf(s)||i.push(s),yYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,wYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return EYe.default.array(i,t).reverse()}});var xie=w(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0});YT.default=bYe;function vie(r,e){let t=1/0;return r.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return t=n,!0}),t}function bYe(r){return(e,t)=>vie(r,e)-vie(r,t)}});var Tie=w(Pm=>{"use strict";Object.defineProperty(Pm,"__esModule",{value:!0});Pm.create=Nie;Pm.default=void 0;var Pie=na(am()),Die=na(Eie()),QYe=na(yie()),SYe=na(Bie()),vYe=na(xT()),xYe=pm(),kie=iA(),PYe=na(Sie()),Fie=na(xie()),DYe=na(ib()),kYe=na(_c()),jT=na(sA());function na(r){return r&&r.__esModule?r:{default:r}}function Kh(){return Kh=Object.assign||function(r){for(var e=1;eObject.prototype.toString.call(r)==="[object Object]";function RYe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(i=>t.indexOf(i)===-1)}var FYe=(0,Fie.default)([]),xm=class extends jT.default{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=FYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch{i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return Rie(e)||typeof e=="function"}_cast(e,t={}){var i;let n=super._cast(e,t);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=t.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Kh({},t,{parent:l,__validating:t.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,Pie.default)(n,g);if(f){let p,C=n[g];c.path=(t.path?`${t.path}.`:"")+g,f=f.resolve({value:C,context:t.context,parent:l});let y="spec"in f?f.spec:void 0,B=y==null?void 0:y.strict;if(y!=null&&y.strip){u=u||g in n;continue}p=!t.__validating||!B?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,t={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=t;o=[{schema:this,value:a},...o],t.__validating=!0,t.originalValue=a,t.from=o,super._validate(e,t,(u,g)=>{if(u){if(!kYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!Rie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,C)=>{let y=h.indexOf(".")===-1?(t.path?`${t.path}.`:"")+h:`${t.path||""}["${h}"]`,B=this.fields[h];if(B&&"validate"in B){B.validate(g[h],Kh({},t,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),C);return}C(null)});(0,DYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:t.path},i)})}clone(e){let t=super.clone(e);return t.fields=Kh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),i=t.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof jT.default&&s instanceof jT.default&&(i[n]=s.concat(o))}return t.withMutation(()=>t.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let i=this.fields[t];e[t]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,t=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,Fie.default)(Object.keys(n)),t.length){Array.isArray(t[0])||(t=[t]);let s=t.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,PYe.default)(n,i._excludedEdges),i}pick(e){let t={};for(let i of e)this.fields[i]&&(t[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(t)))}omit(e){let t=this.clone(),i=t.fields;t.fields={};for(let n of e)delete i[n];return t.withMutation(()=>t.shape(i))}from(e,t,i){let n=(0,xYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,Pie.default)(s,e)&&(o=Kh({},s),i||delete o[e],o[t]=n(s)),o})}noUnknown(e=!0,t=kie.object.noUnknown){typeof e=="string"&&(t=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;let s=RYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,t=kie.object.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&(0,SYe.default)(t,(i,n)=>e(n)))}camelCase(){return this.transformKeys(QYe.default)}snakeCase(){return this.transformKeys(Die.default)}constantCase(){return this.transformKeys(e=>(0,Die.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,vYe.default)(this.fields,t=>t.describe()),e}};Pm.default=xm;function Nie(r){return new xm(r)}Nie.prototype=xm.prototype});var Oie=w(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.create=Lie;km.default=void 0;var qT=Uh(Lh()),NYe=Uh(xh()),TYe=Uh(om()),JT=iA(),LYe=Uh(ib()),OYe=Uh(_c()),MYe=Uh(sA());function Uh(r){return r&&r.__esModule?r:{default:r}}function yb(){return yb=Object.assign||function(r){for(var e=1;e{this.transform(function(t){if(typeof t=="string")try{t=JSON.parse(t)}catch{t=null}return this.isType(t)?t:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let i=super._cast(e,t);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,yb({},t,{path:`${t.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,t={},i){var n,s;let o=[],a=t.sync,l=t.path,c=this.innerType,u=(n=t.abortEarly)!=null?n:this.spec.abortEarly,g=(s=t.recursive)!=null?s:this.spec.recursive,f=t.originalValue!=null?t.originalValue:e;super._validate(e,t,(h,p)=>{if(h){if(!OYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let C=new Array(p.length);for(let y=0;yc.validate(B,D,H)}(0,LYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:C},i)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!(0,NYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,TYe.default)(e));return t.innerType=e,t}length(e,t=JT.array.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(i){return(0,qT.default)(i)||i.length===this.resolve(e)}})}min(e,t){return t=t||JT.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(i){return(0,qT.default)(i)||i.length>=this.resolve(e)}})}max(e,t){return t=t||JT.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(i){return(0,qT.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(t):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};km.default=Dm;Lie.prototype=Dm.prototype});var Mie=w(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.create=HYe;Rm.default=void 0;var KYe=UYe(xh());function UYe(r){return r&&r.__esModule?r:{default:r}}function HYe(r){return new wb(r)}var wb=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(t,i={})=>{let n=this.builder(t,i);if(!(0,KYe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}validate(e,t,i){return this._resolve(e,t).validate(e,t,i)}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,i){return this._resolve(t,i).validateAt(e,t,i)}validateSyncAt(e,t,i){return this._resolve(t,i).validateSyncAt(e,t,i)}describe(){return null}isValid(e,t){return this._resolve(e,t).isValid(e,t)}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}},GYe=wb;Rm.default=GYe});var Kie=w(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});WT.default=qYe;var YYe=jYe(iA());function jYe(r){return r&&r.__esModule?r:{default:r}}function qYe(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{YYe.default[e][t]=r[e][t]})})}});var VT=w(yr=>{"use strict";Object.defineProperty(yr,"__esModule",{value:!0});yr.addMethod=_Ye;Object.defineProperty(yr,"MixedSchema",{enumerable:!0,get:function(){return Uie.default}});Object.defineProperty(yr,"mixed",{enumerable:!0,get:function(){return Uie.create}});Object.defineProperty(yr,"BooleanSchema",{enumerable:!0,get:function(){return zT.default}});Object.defineProperty(yr,"bool",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"boolean",{enumerable:!0,get:function(){return zT.create}});Object.defineProperty(yr,"StringSchema",{enumerable:!0,get:function(){return Hie.default}});Object.defineProperty(yr,"string",{enumerable:!0,get:function(){return Hie.create}});Object.defineProperty(yr,"NumberSchema",{enumerable:!0,get:function(){return Gie.default}});Object.defineProperty(yr,"number",{enumerable:!0,get:function(){return Gie.create}});Object.defineProperty(yr,"DateSchema",{enumerable:!0,get:function(){return Yie.default}});Object.defineProperty(yr,"date",{enumerable:!0,get:function(){return Yie.create}});Object.defineProperty(yr,"ObjectSchema",{enumerable:!0,get:function(){return jie.default}});Object.defineProperty(yr,"object",{enumerable:!0,get:function(){return jie.create}});Object.defineProperty(yr,"ArraySchema",{enumerable:!0,get:function(){return qie.default}});Object.defineProperty(yr,"array",{enumerable:!0,get:function(){return qie.create}});Object.defineProperty(yr,"ref",{enumerable:!0,get:function(){return JYe.create}});Object.defineProperty(yr,"lazy",{enumerable:!0,get:function(){return WYe.create}});Object.defineProperty(yr,"ValidationError",{enumerable:!0,get:function(){return zYe.default}});Object.defineProperty(yr,"reach",{enumerable:!0,get:function(){return VYe.default}});Object.defineProperty(yr,"isSchema",{enumerable:!0,get:function(){return Jie.default}});Object.defineProperty(yr,"setLocale",{enumerable:!0,get:function(){return XYe.default}});Object.defineProperty(yr,"BaseSchema",{enumerable:!0,get:function(){return ZYe.default}});var Uie=nu(wre()),zT=nu(vre()),Hie=nu(Dre()),Gie=nu(Fre()),Yie=nu(Ore()),jie=nu(Tie()),qie=nu(Oie()),JYe=tu(),WYe=Mie(),zYe=Fm(_c()),VYe=Fm(TT()),Jie=Fm(xh()),XYe=Fm(Kie()),ZYe=Fm(sA());function Fm(r){return r&&r.__esModule?r:{default:r}}function Wie(){if(typeof WeakMap!="function")return null;var r=new WeakMap;return Wie=function(){return r},r}function nu(r){if(r&&r.__esModule)return r;if(r===null||typeof r!="object"&&typeof r!="function")return{default:r};var e=Wie();if(e&&e.has(r))return e.get(r);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in r)if(Object.prototype.hasOwnProperty.call(r,n)){var s=i?Object.getOwnPropertyDescriptor(r,n):null;s&&(s.get||s.set)?Object.defineProperty(t,n,s):t[n]=r[n]}return t.default=r,e&&e.set(r,t),t}function _Ye(r,e,t){if(!r||!(0,Jie.default)(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}});var _ie=w((ygt,Tm)=>{"use strict";var tje=process.env.TERM_PROGRAM==="Hyper",rje=process.platform==="win32",Vie=process.platform==="linux",XT={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Xie=Object.assign({},XT,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Zie=Object.assign({},XT,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Vie?"\u25B8":"\u276F",pointerSmall:Vie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Tm.exports=rje&&!tje?Xie:Zie;Reflect.defineProperty(Tm.exports,"common",{enumerable:!1,value:XT});Reflect.defineProperty(Tm.exports,"windows",{enumerable:!1,value:Xie});Reflect.defineProperty(Tm.exports,"other",{enumerable:!1,value:Zie})});var go=w((wgt,ZT)=>{"use strict";var ije=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),nje=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,$ie=()=>{let r={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(r.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`\x1B[${s.codes[0]}m`,a=s.close=`\x1B[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},t=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(r.enabled===!1)return s;if(r.visible===!1)return"";let a=""+s,l=a.includes(` `),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=t(r.styles[o[c]],a,l);return a},n=(s,o,a)=>{r.styles[s]=e({name:s,codes:o}),(r.keys[a]||(r.keys[a]=[])).push(s),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(c){r.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,r),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),r.ansiRegex=nje,r.hasColor=r.hasAnsi=s=>(r.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&r.ansiRegex.test(s)),r.alias=(s,o)=>{let a=typeof o=="string"?r[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),r.styles[s]=a,a.stack=[s]),Reflect.defineProperty(r,s,{configurable:!0,enumerable:!0,set(l){r.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,r),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},r.theme=s=>{if(!ije(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))r.alias(o,s[o]);return r},r.alias("unstyle",s=>typeof s=="string"&&s!==""?(r.ansiRegex.lastIndex=0,s.replace(r.ansiRegex,"")):""),r.alias("noop",s=>s),r.none=r.clear=r.noop,r.stripColor=r.unstyle,r.symbols=_ie(),r.define=n,r};ZT.exports=$ie();ZT.exports.create=$ie});var ji=w(Tt=>{"use strict";var sje=Object.prototype.toString,Ns=go(),ene=!1,_T=[],tne={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Tt.longest=(r,e)=>r.reduce((t,i)=>Math.max(t,e?i[e].length:i.length),0);Tt.hasColor=r=>!!r&&Ns.hasColor(r);var bb=Tt.isObject=r=>r!==null&&typeof r=="object"&&!Array.isArray(r);Tt.nativeType=r=>sje.call(r).slice(8,-1).toLowerCase().replace(/\s/g,"");Tt.isAsyncFn=r=>Tt.nativeType(r)==="asyncfunction";Tt.isPrimitive=r=>r!=null&&typeof r!="object"&&typeof r!="function";Tt.resolve=(r,e,...t)=>typeof e=="function"?e.call(r,...t):e;Tt.scrollDown=(r=[])=>[...r.slice(1),r[0]];Tt.scrollUp=(r=[])=>[r.pop(),...r];Tt.reorder=(r=[])=>{let e=r.slice();return e.sort((t,i)=>t.index>i.index?1:t.index{let i=r.length,n=t===i?0:t<0?i-1:t,s=r[e];r[e]=r[n],r[n]=s};Tt.width=(r,e=80)=>{let t=r&&r.columns?r.columns:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[0]),process.platform==="win32"?t-1:t};Tt.height=(r,e=20)=>{let t=r&&r.rows?r.rows:e;return r&&typeof r.getWindowSize=="function"&&(t=r.getWindowSize()[1]),t};Tt.wordWrap=(r,e={})=>{if(!r)return r;typeof e=="number"&&(e={width:e});let{indent:t="",newline:i=` `+t,width:n=80}=e,s=(i+t).match(/[^\S\n]/g)||[];n-=s.length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=r.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),t+c.join(i)};Tt.unmute=r=>{let e=r.stack.find(i=>Ns.keys.color.includes(i));return e?Ns[e]:r.stack.find(i=>i.slice(2)==="bg")?Ns[e.slice(2)]:i=>i};Tt.pascal=r=>r?r[0].toUpperCase()+r.slice(1):"";Tt.inverse=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i));if(e){let i=Ns["bg"+Tt.pascal(e)];return i?i.black:r}let t=r.stack.find(i=>i.slice(0,2)==="bg");return t?Ns[t.slice(2).toLowerCase()]||r:Ns.none};Tt.complement=r=>{if(!r||!r.stack)return r;let e=r.stack.find(i=>Ns.keys.color.includes(i)),t=r.stack.find(i=>i.slice(0,2)==="bg");if(e&&!t)return Ns[tne[e]||e];if(t){let i=t.slice(2).toLowerCase(),n=tne[i];return n&&Ns["bg"+Tt.pascal(n)]||r}return Ns.none};Tt.meridiem=r=>{let e=r.getHours(),t=r.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=t<10?"0"+t:t;return n+":"+s+" "+i};Tt.set=(r={},e="",t)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:t;return!Tt.isObject(a)&&s{let i=r[e]==null?e.split(".").reduce((n,s)=>n&&n[s],r):r[e];return i==null?t:i};Tt.mixin=(r,e)=>{if(!bb(r))return e;if(!bb(e))return r;for(let t of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,t);if(i.hasOwnProperty("value"))if(r.hasOwnProperty(t)&&bb(i.value)){let n=Object.getOwnPropertyDescriptor(r,t);bb(n.value)?r[t]=Tt.merge({},r[t],e[t]):Reflect.defineProperty(r,t,i)}else Reflect.defineProperty(r,t,i);else Reflect.defineProperty(r,t,i)}return r};Tt.merge=(...r)=>{let e={};for(let t of r)Tt.mixin(e,t);return e};Tt.mixinEmitter=(r,e)=>{let t=e.constructor.prototype;for(let i of Object.keys(t)){let n=t[i];typeof n=="function"?Tt.define(r,i,n.bind(e)):Tt.define(r,i,n)}};Tt.onExit=r=>{let e=(t,i)=>{ene||(ene=!0,_T.forEach(n=>n()),t===!0&&process.exit(128+i))};_T.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),_T.push(r)};Tt.define=(r,e,t)=>{Reflect.defineProperty(r,e,{value:t})};Tt.defineExport=(r,e,t)=>{let i;Reflect.defineProperty(r,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():t()}})}});var rne=w(Gh=>{"use strict";Gh.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Gh.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Gh.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Gh.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Gh.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var sne=w((Qgt,nne)=>{"use strict";var ine=J("readline"),oje=rne(),aje=/^(?:\x1b)([a-zA-Z0-9])$/,Aje=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,lje={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function cje(r){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(r)}function uje(r){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(r)}var Qb=(r="",e={})=>{let t,i={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:r,raw:r,...e};if(Buffer.isBuffer(r)?r[0]>127&&r[1]===void 0?(r[0]-=128,r="\x1B"+String(r)):r=String(r):r!==void 0&&typeof r!="string"?r=String(r):r||(r=i.sequence||""),i.sequence=i.sequence||r||i.name,r==="\r")i.raw=void 0,i.name="return";else if(r===` `)i.name="enter";else if(r===" ")i.name="tab";else if(r==="\b"||r==="\x7F"||r==="\x1B\x7F"||r==="\x1B\b")i.name="backspace",i.meta=r.charAt(0)==="\x1B";else if(r==="\x1B"||r==="\x1B\x1B")i.name="escape",i.meta=r.length===2;else if(r===" "||r==="\x1B ")i.name="space",i.meta=r.length===2;else if(r<="")i.name=String.fromCharCode(r.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(r.length===1&&r>="0"&&r<="9")i.name="number";else if(r.length===1&&r>="a"&&r<="z")i.name=r;else if(r.length===1&&r>="A"&&r<="Z")i.name=r.toLowerCase(),i.shift=!0;else if(t=aje.exec(r))i.meta=!0,i.shift=/^[A-Z]$/.test(t[1]);else if(t=Aje.exec(r)){let n=[...r];n[0]==="\x1B"&&n[1]==="\x1B"&&(i.option=!0);let s=[t[1],t[2],t[4],t[6]].filter(Boolean).join(""),o=(t[3]||t[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=lje[s],i.shift=cje(s)||i.shift,i.ctrl=uje(s)||i.ctrl}return i};Qb.listen=(r={},e)=>{let{stdin:t}=r;if(!t||t!==process.stdin&&!t.isTTY)throw new Error("Invalid stream passed");let i=ine.createInterface({terminal:!0,input:t});ine.emitKeypressEvents(t,i);let n=(a,l)=>e(a,Qb(a,l),i),s=t.isRaw;return t.isTTY&&t.setRawMode(!0),t.on("keypress",n),i.resume(),()=>{t.isTTY&&t.setRawMode(s),t.removeListener("keypress",n),i.pause(),i.close()}};Qb.action=(r,e,t)=>{let i={...oje,...t};return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};nne.exports=Qb});var ane=w((Sgt,one)=>{"use strict";one.exports=r=>{r.timers=r.timers||{};let e=r.options.timers;if(!!e)for(let t of Object.keys(e)){let i=e[t];typeof i=="number"&&(i={interval:i}),gje(r,t,i)}};function gje(r,e,t={}){let i=r.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=t.interval||120;i.frames=t.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,r.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),r.once("close",()=>i.stop()),i.stop}});var lne=w((vgt,Ane)=>{"use strict";var{define:fje,width:hje}=ji(),$T=class{constructor(e){let t=e.options;fje(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=hje(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t=="function"?t:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Ane.exports=$T});var une=w((xgt,cne)=>{"use strict";var eL=ji(),Di=go(),tL={default:Di.noop,noop:Di.noop,set inverse(r){this._inverse=r},get inverse(){return this._inverse||eL.inverse(this.primary)},set complement(r){this._complement=r},get complement(){return this._complement||eL.complement(this.primary)},primary:Di.cyan,success:Di.green,danger:Di.magenta,strong:Di.bold,warning:Di.yellow,muted:Di.dim,disabled:Di.gray,dark:Di.dim.gray,underline:Di.underline,set info(r){this._info=r},get info(){return this._info||this.primary},set em(r){this._em=r},get em(){return this._em||this.primary.underline},set heading(r){this._heading=r},get heading(){return this._heading||this.muted.underline},set pending(r){this._pending=r},get pending(){return this._pending||this.primary},set submitted(r){this._submitted=r},get submitted(){return this._submitted||this.success},set cancelled(r){this._cancelled=r},get cancelled(){return this._cancelled||this.danger},set typing(r){this._typing=r},get typing(){return this._typing||this.dim},set placeholder(r){this._placeholder=r},get placeholder(){return this._placeholder||this.primary.dim},set highlight(r){this._highlight=r},get highlight(){return this._highlight||this.inverse}};tL.merge=(r={})=>{r.styles&&typeof r.styles.enabled=="boolean"&&(Di.enabled=r.styles.enabled),r.styles&&typeof r.styles.visible=="boolean"&&(Di.visible=r.styles.visible);let e=eL.merge({},tL,r.styles);delete e.merge;for(let t of Object.keys(Di))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});for(let t of Object.keys(Di.styles))e.hasOwnProperty(t)||Reflect.defineProperty(e,t,{get:()=>Di[t]});return e};cne.exports=tL});var fne=w((Pgt,gne)=>{"use strict";var rL=process.platform==="win32",aA=go(),pje=ji(),iL={...aA.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:aA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:aA.symbols.question,submitted:aA.symbols.check,cancelled:aA.symbols.cross},separator:{pending:aA.symbols.pointerSmall,submitted:aA.symbols.middot,cancelled:aA.symbols.middot},radio:{off:rL?"( )":"\u25EF",on:rL?"(*)":"\u25C9",disabled:rL?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};iL.merge=r=>{let e=pje.merge({},aA.symbols,iL,r.symbols);return delete e.merge,e};gne.exports=iL});var pne=w((Dgt,hne)=>{"use strict";var dje=une(),Cje=fne(),mje=ji();hne.exports=r=>{r.options=mje.merge({},r.options.theme,r.options),r.symbols=Cje.merge(r.options),r.styles=dje.merge(r.options)}});var Ine=w((mne,Ene)=>{"use strict";var dne=process.env.TERM_PROGRAM==="Apple_Terminal",Eje=go(),nL=ji(),fo=Ene.exports=mne,Dr="\x1B[",Cne="\x07",sL=!1,dl=fo.code={bell:Cne,beep:Cne,beginning:`${Dr}G`,down:`${Dr}J`,esc:Dr,getPosition:`${Dr}6n`,hide:`${Dr}?25l`,line:`${Dr}2K`,lineEnd:`${Dr}K`,lineStart:`${Dr}1K`,restorePosition:Dr+(dne?"8":"u"),savePosition:Dr+(dne?"7":"s"),screen:`${Dr}2J`,show:`${Dr}?25h`,up:`${Dr}1J`},su=fo.cursor={get hidden(){return sL},hide(){return sL=!0,dl.hide},show(){return sL=!1,dl.show},forward:(r=1)=>`${Dr}${r}C`,backward:(r=1)=>`${Dr}${r}D`,nextLine:(r=1)=>`${Dr}E`.repeat(r),prevLine:(r=1)=>`${Dr}F`.repeat(r),up:(r=1)=>r?`${Dr}${r}A`:"",down:(r=1)=>r?`${Dr}${r}B`:"",right:(r=1)=>r?`${Dr}${r}C`:"",left:(r=1)=>r?`${Dr}${r}D`:"",to(r,e){return e?`${Dr}${e+1};${r+1}H`:`${Dr}${r+1}G`},move(r=0,e=0){let t="";return t+=r<0?su.left(-r):r>0?su.right(r):"",t+=e<0?su.up(-e):e>0?su.down(e):"",t},restore(r={}){let{after:e,cursor:t,initial:i,input:n,prompt:s,size:o,value:a}=r;if(i=nL.isPrimitive(i)?String(i):"",n=nL.isPrimitive(n)?String(n):"",a=nL.isPrimitive(a)?String(a):"",o){let l=fo.cursor.up(o)+fo.cursor.to(s.length),c=n.length-t;return c>0&&(l+=fo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+t;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),fo.cursor.move(l)}}},oL=fo.erase={screen:dl.screen,up:dl.up,down:dl.down,line:dl.line,lineEnd:dl.lineEnd,lineStart:dl.lineStart,lines(r){let e="";for(let t=0;t{if(!e)return oL.line+su.to(0);let t=s=>[...Eje.unstyle(s)].length,i=r.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(t(s)-1,0)/e);return(oL.line+su.prevLine()).repeat(n-1)+oL.line+su.to(0)}});var Yh=w((kgt,wne)=>{"use strict";var Ije=J("events"),yne=go(),aL=sne(),yje=ane(),wje=lne(),Bje=pne(),kn=ji(),ou=Ine(),Lm=class extends Ije{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,Bje(this),yje(this),this.state=new wje(this),this.initial=[e.initial,e.default].find(t=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Qje(this.options.margin),this.setMaxListeners(0),bje(this)}async keypress(e,t={}){this.keypressed=!0;let i=aL.action(e,aL(e,t),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(ou.code.beep)}cursorHide(){this.stdout.write(ou.cursor.hide()),kn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(ou.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let t=this.state.buffer;this.state.buffer="",!(!t&&!e||this.options.show===!1)&&this.stdout.write(ou.cursor.down(e)+ou.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:t,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=ou.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:t,prompt:i}=this.state;i=yne.unstyle(i);let n=yne.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` @@ -209,13 +209,13 @@ attempted value: ${s} `+this.symbols.pointer+" ";typeof e=="string"?t+=e.trim():t+="Invalid input",this.state.error=` `+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel=="function"&&await this.options.onCancel.call(this,this.name,this.value,this),this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);e.rest&&this.write(ou.cursor.down(e.rest.length)),this.write(` `.repeat(t))}catch{}this.emit("close")}start(){!this.stop&&this.options.show!==!1&&(this.stop=aL.listen(this,this.keypress.bind(this)),this.once("close",this.stop))}async skip(){return this.skipped=this.options.skip===!0,typeof this.options.skip=="function"&&(this.skipped=await this.options.skip.call(this,this.name,this.value)),this.skipped}async initialize(){let{format:e,options:t,result:i}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>i.call(this,this.value),typeof t.initial=="function"&&(this.initial=await t.initial.call(this,this)),typeof t.onRun=="function"&&await t.onRun.call(this,this),typeof t.onSubmit=="function"){let n=t.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=t&&t[e]!=null?t[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,t,i);return!g&&t&&t[e]?this.resolve(c,s,t,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,i=this.state;return i.timer=t,kn.isObject(e)&&(e=e[i.status]||e.pending),kn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return kn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,i=this.state;i.timer=t;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return kn.isObject(s)&&(s=s[i.status]||s.pending),kn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,t){let i=await this.element("pointer",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===t,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=kn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,t){let i=await this.element("indicator",e,t);if(typeof i=="string"&&kn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return kn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return kn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return kn.resolve(this,e,...t)}get base(){return Lm.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||kn.height(this.stdout,25)}get width(){return this.options.columns||kn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,i=[t,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function bje(r){let e=n=>r[n]===void 0||typeof r[n]=="function",t=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(r.options)){if(t.includes(n)||/^on[A-Z]/.test(n))continue;let s=r.options[n];typeof s=="function"&&e(n)?i.includes(n)||(r[n]=s.bind(r)):typeof r[n]!="function"&&(r[n]=s)}}function Qje(r){typeof r=="number"&&(r=[r,r,r,r]);let e=[].concat(r||[]),t=n=>n%2===0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}wne.exports=Lm});var Qne=w((Rgt,bne)=>{"use strict";var Sje=ji(),Bne={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return Bne.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};bne.exports=(r,e={})=>{let t=Sje.merge({},Bne,e.roles);return t[r]||t.default}});var Mm=w((Fgt,xne)=>{"use strict";var vje=go(),xje=Yh(),Pje=Qne(),Sb=ji(),{reorder:AL,scrollUp:Dje,scrollDown:kje,isObject:Sne,swap:Rje}=Sb,lL=class extends xje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Pje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,Sb.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,vje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return vne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=AL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=AL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=AL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Dje(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=kje(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Rje(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Sne(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=Sb.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return vne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function vne(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Sb.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}xne.exports=lL});var Cl=w((Ngt,Pne)=>{"use strict";var Fje=Mm(),cL=ji(),uL=class extends Fje{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!cL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!cL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(cL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` +`:" ",i=[];for(let n=0;n<4;n++){let s=t(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}wne.exports=Lm});var Qne=w((Rgt,bne)=>{"use strict";var Sje=ji(),Bne={default(r,e){return e},checkbox(r,e){throw new Error("checkbox role is not implemented yet")},editable(r,e){throw new Error("editable role is not implemented yet")},expandable(r,e){throw new Error("expandable role is not implemented yet")},heading(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||"",e},input(r,e){throw new Error("input role is not implemented yet")},option(r,e){return Bne.default(r,e)},radio(r,e){throw new Error("radio role is not implemented yet")},separator(r,e){return e.disabled="",e.indicator=[e.indicator," "].find(t=>t!=null),e.message=e.message||r.symbols.line.repeat(5),e},spacer(r,e){return e}};bne.exports=(r,e={})=>{let t=Sje.merge({},Bne,e.roles);return t[r]||t.default}});var Om=w((Fgt,xne)=>{"use strict";var vje=go(),xje=Yh(),Pje=Qne(),Sb=ji(),{reorder:AL,scrollUp:Dje,scrollDown:kje,isObject:Sne,swap:Rje}=Sb,lL=class extends xje{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Sne(t)&&(t=Object.keys(t)),Array.isArray(t)?(i!=null&&(this.index=this.findIndex(i)),t.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(t=i),typeof t=="string"&&(t=this.findIndex(t)),typeof t=="number"&&t>-1&&(this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,t,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Pje(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,Sb.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,vje.unstyle(e.message).length));let o={...e};return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,t)),e}async onChoice(e,t){this.emit("choice",e,t,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,i){let n=await this.toChoice(e,t,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,t,i){let n={name:"New choice name?",editable:!0,newChoice:!0,...e},s=await this.addChoice(n,t,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){return typeof t!="boolean"&&(t=e.enabled),t&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=t&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedt.enabled);return this.choices.forEach(t=>t.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(t=>!!t.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof t!="boolean"&&(t=!e.enabled),e.enabled=t,e.choices&&e.choices.forEach(n=>this.toggle(n,t));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return vne(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=AL(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=t(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=AL(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=AL(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>t&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,t=this.visible.length,i=this.index;return this.options.scroll===!1&&i===t-1?this.alert():e>t&&i===t-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Dje(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=kje(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Rje(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(t=>this.isEnabled(t));if(e.choices){let t=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&t.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(t=>this.isChoice(e,t)):this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,t),i),{})}filter(e,t){let n=typeof e=="function"?e:(a,l)=>[a.name,l].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(n);return t?o.map(a=>a[t]):o}find(e,t){if(Sne(e))return t?e[t]:e;let n=typeof e=="function"?e:(o,a)=>[o.name,a].includes(e),s=this.choices.find(n);if(s)return t?s[t]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:t,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&t!==!1&&i!==!0&&(s=Sb.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)this.state._choices.some(i=>i.name===t.name)||this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t=="string"||typeof t=="number"){let i=this.find(t);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return vne(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:i}=this,n=e.limit||this._limit||t.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function vne(r,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Sb.isAsyncFn(e))return e;e=e.call(r,r)}for(let t of e){if(Array.isArray(t.choices)){let i=t.choices.filter(n=>!r.isDisabled(n));t.enabled=i.every(n=>n.enabled===!0)}r.isDisabled(t)===!0&&delete t.enabled}return e}xne.exports=lL});var Cl=w((Ngt,Pne)=>{"use strict";var Fje=Om(),cL=ji(),uL=class extends Fje{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let i=this.resolve(e.message,this.state,e,t);return e.role==="heading"&&!cL.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);o&&!cL.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,t),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(cL.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),t=await Promise.all(e);t.length||t.push(this.styles.danger("No matching choices"));let i=this.margin[0]+t.join(` `),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` `)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(t),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};Pne.exports=uL});var kne=w((Tgt,Dne)=>{"use strict";var Nje=Cl(),Tje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},gL=class extends Nje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Tje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Dne.exports=gL});var hL=w((Lgt,Rne)=>{"use strict";var fL=ji();Rne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=fL.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=fL.isPrimitive(i)?`${i}`:"",t=fL.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var vb=w((Mgt,Fne)=>{"use strict";var Lje=go(),Mje=Cl(),Oje=hL(),pL=class extends Mje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(T="danger");let H=n[T],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=Lje.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=Oje(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Fne.exports=pL});var dL=w((Ogt,Tne)=>{"use strict";var Kje=vb(),Uje=()=>{throw new Error("expected prompt to have a custom authenticate method")},Nne=(r=Uje)=>{class e extends Kje{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Nne(i)}}return e};Tne.exports=Nne()});var One=w((Kgt,Mne)=>{"use strict";var Hje=dL();function Gje(r,e){return r.username===this.options.username&&r.password===this.options.password}var Lne=(r=Gje)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends Hje.create(r){constructor(n){super({...n,choices:e})}static create(n){return Lne(n)}}return t};Mne.exports=Lne()});var xb=w((Ugt,Kne)=>{"use strict";var Yje=Yh(),{isPrimitive:jje,hasColor:qje}=ji(),CL=class extends Yje{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return jje(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return qje(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Pne.exports=uL});var kne=w((Tgt,Dne)=>{"use strict";var Nje=Cl(),Tje=(r,e)=>{let t=r.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(t),o=e(i.slice(s,s+t.length));return s>=0?i.slice(0,s)+o+i.slice(s+t.length):i}},gL=class extends Nje{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:i}=this.state;return this.input=i.slice(0,t)+e+i.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;return t?(this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:t}=this.state;return t[e]===void 0?this.alert():(this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,t);let i=e.toLowerCase();return t.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,t=Tje(this.input,e),i=this.choices;this.choices=i.map(n=>({...n,message:t(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Dne.exports=gL});var hL=w((Lgt,Rne)=>{"use strict";var fL=ji();Rne.exports=(r,e={})=>{r.cursorHide();let{input:t="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||r.styles.placeholder,l=fL.inverse(r.styles.primary),c=C=>l(r.styles.black(C)),u=t,g=" ",f=c(g);if(r.blink&&r.blink.off===!0&&(c=C=>C,f=""),s&&n===0&&i===""&&t==="")return c(g);if(s&&n===0&&(t===i||t===""))return c(i[0])+a(i.slice(1));i=fL.isPrimitive(i)?`${i}`:"",t=fL.isPrimitive(t)?`${t}`:"";let h=i&&i.startsWith(t)&&i!==t,p=h?c(i[t.length]):f;if(n!==t.length&&s===!0&&(u=t.slice(0,n)+c(t[n])+t.slice(n+1),p=""),s===!1&&(p=""),h){let C=r.styles.unstyle(u+p);return u+p+a(i.slice(C.length))}return u+p}});var vb=w((Ogt,Fne)=>{"use strict";var Lje=go(),Oje=Cl(),Mje=hL(),pL=class extends Oje{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(t=>t!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(t=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:i,input:n}=t;return t.value=t.input=n.slice(0,i)+e+n.slice(i),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:i}=e;return e.value=e.input=i.slice(0,t-1)+i.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:i}=e;if(i[t]===void 0)return this.alert();let n=`${i}`.slice(0,t)+`${i}`.slice(t+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:i}=e;return t&&t.startsWith(i)&&i!==t?(e.value=e.input=t,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let i=await this.resolve(e.separator,this.state,e,t)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,C=this.index===t,y=e.validate||(()=>!0),B=await this.choiceSeparator(e,t),v=e.message;this.align==="right"&&(v=v.padStart(this.longest+1," ")),this.align==="left"&&(v=v.padEnd(this.longest+1," "));let D=this.values[a]=c||o,T=c?"success":"dark";await y.call(e,D,this.state)!==!0&&(T="danger");let H=n[T],j=H(await this.indicator(e,t))+(e.pad||""),$=this.indent(e),V=()=>[$,j,v+B,c,p].filter(Boolean).join(" ");if(i.submitted)return v=Lje.unstyle(v),c=g(c),p="",V();if(e.format)c=await e.format.call(this,c,e,t);else{let W=this.styles.muted;c=Mje(this,{input:c,initial:o,pos:s,showCursor:C,color:W})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,D,e,t)),C&&(v=f(v)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),V()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Fne.exports=pL});var dL=w((Mgt,Tne)=>{"use strict";var Kje=vb(),Uje=()=>{throw new Error("expected prompt to have a custom authenticate method")},Nne=(r=Uje)=>{class e extends Kje{constructor(i){super(i)}async submit(){this.value=await r.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return Nne(i)}}return e};Tne.exports=Nne()});var Mne=w((Kgt,One)=>{"use strict";var Hje=dL();function Gje(r,e){return r.username===this.options.username&&r.password===this.options.password}var Lne=(r=Gje)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class t extends Hje.create(r){constructor(n){super({...n,choices:e})}static create(n){return Lne(n)}}return t};One.exports=Lne()});var xb=w((Ugt,Kne)=>{"use strict";var Yje=Yh(),{isPrimitive:jje,hasColor:qje}=ji(),CL=class extends Yje{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:t,state:i}=this;return i.submitted?t.success(e):t.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return jje(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return qje(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(t),this.write([l,a,f].filter(Boolean).join(` `)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Kne.exports=CL});var Hne=w((Hgt,Une)=>{"use strict";var Jje=xb(),mL=class extends Jje{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Une.exports=mL});var Yne=w((Ggt,Gne)=>{"use strict";var Wje=Cl(),zje=vb(),jh=zje.prototype,EL=class extends Wje{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(t=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():jh.dispatch.call(this,e,t)}append(e,t){return jh.append.call(this,e,t)}delete(e,t){return jh.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?jh.next.call(this):super.next()}prev(){return this.focused.editable?jh.prev.call(this):super.prev()}async indicator(e,t){let i=e.indicator||"",n=e.editable?i:super.indicator(e,t);return await this.resolve(n,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){return e.indent="",e.editable?jh.renderChoice.call(this,e,t):super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!="function"||t.role==="heading")continue;let i=t.parent?this.value[t.parent.name]:this.value;if(t.editable?i=t.value===t.name?t.initial||"":t.value:this.isDisabled(t)||(i=t.enabled===!0),e=await t.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?t[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(t[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Gne.exports=EL});var au=w((Ygt,jne)=>{"use strict";var Vje=Yh(),Xje=hL(),{isPrimitive:Zje}=ji(),IL=class extends Vje{constructor(e){super(e),this.initial=Zje(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,t={}){let i=this.state.prevKeypress;return this.state.prevKeypress=t,this.options.multiline===!0&&t.name==="return"&&(!i||i.name!=="return")?this.append(` `,t):super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:i}=this.state;this.input=`${i}`.slice(0,t)+e+`${i}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),i=this.input.slice(e),n=t.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||t):Xje(this,{input:e,initial:t,pos:this.cursor})}async render(){let e=this.state.size,t=await this.prefix(),i=await this.separator(),n=await this.message(),s=[t,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};jne.exports=IL});var Jne=w((jgt,qne)=>{"use strict";var _je=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),Pb=r=>_je(r).filter(Boolean);qne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Pb([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Pb([...s,t]),present:o};case"save":return{past:Pb([...i,t]),present:""};case"remove":return o=Pb(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var wL=w((qgt,zne)=>{"use strict";var $je=au(),Wne=Jne(),yL=class extends $je{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Wne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Wne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};zne.exports=yL});var Xne=w((Jgt,Vne)=>{"use strict";var eqe=au(),BL=class extends eqe{format(){return""}};Vne.exports=BL});var _ne=w((Wgt,Zne)=>{"use strict";var tqe=au(),bL=class extends tqe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Zne.exports=bL});var ese=w((zgt,$ne)=>{"use strict";var rqe=Cl(),QL=class extends rqe{constructor(e){super({...e,multiple:!0})}};$ne.exports=QL});var vL=w((Vgt,tse)=>{"use strict";var iqe=au(),SL=class extends iqe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};tse.exports=SL});var ise=w((Xgt,rse)=>{rse.exports=vL()});var sse=w((Zgt,nse)=>{"use strict";var nqe=au(),xL=class extends nqe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};nse.exports=xL});var Ase=w((_gt,ase)=>{"use strict";var sqe=go(),oqe=Mm(),ose=ji(),PL=class extends oqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` +`)),this.restore()}};jne.exports=IL});var Jne=w((jgt,qne)=>{"use strict";var _je=r=>r.filter((e,t)=>r.lastIndexOf(e)===t),Pb=r=>_je(r).filter(Boolean);qne.exports=(r,e={},t="")=>{let{past:i=[],present:n=""}=e,s,o;switch(r){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Pb([t,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Pb([...s,t]),present:o};case"save":return{past:Pb([...i,t]),present:""};case"remove":return o=Pb(i.filter(a=>a!==t)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${r}"`)}}});var wL=w((qgt,zne)=>{"use strict";var $je=au(),Wne=Jne(),yL=class extends $je{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let i=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Wne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Wne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};zne.exports=yL});var Xne=w((Jgt,Vne)=>{"use strict";var eqe=au(),BL=class extends eqe{format(){return""}};Vne.exports=BL});var _ne=w((Wgt,Zne)=>{"use strict";var tqe=au(),bL=class extends tqe{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:t=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);return t!==!0?(this.state.error=t,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Zne.exports=bL});var ese=w((zgt,$ne)=>{"use strict";var rqe=Cl(),QL=class extends rqe{constructor(e){super({...e,multiple:!0})}};$ne.exports=QL});var vL=w((Vgt,tse)=>{"use strict";var iqe=au(),SL=class extends iqe{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let t=e||this.minor,i=this.toNumber(this.input);return i>this.max+t?this.alert():(this.input=`${i+t}`,this.render())}down(e){let t=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(t));return this.value=this.toNumber(e||0),super.submit()}};tse.exports=SL});var ise=w((Xgt,rse)=>{rse.exports=vL()});var sse=w((Zgt,nse)=>{"use strict";var nqe=au(),xL=class extends nqe{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};nse.exports=xL});var Ase=w((_gt,ase)=>{"use strict";var sqe=go(),oqe=Om(),ose=ji(),PL=class extends oqe{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` `;let t=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+t})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(i=>` ${i.name} - ${i.message}`)].map(i=>this.styles.muted(i)).join(` `)}renderScaleHeading(e){let t=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(t=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-t.join("").length,n=Math.round(i/(t.length-1)),o=t.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,t,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,t,i);let n=e.scaleIndex===t.index;return t.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,t){let i=e.scale.map(s=>this.scaleIndicator(e,s,t)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=await this.pointer(e,t),s=await e.hint;s&&!ose.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,t),u=await this.renderScale(e,t),g=this.margin[1]+this.margin[3];this.scaleLength=sqe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=ose.wordWrap(c,{width:this.widths[0],newline:a}).split(` `).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` @@ -228,12 +228,12 @@ attempted value: ${s} `].find(v=>v!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=t[e]||"",C=await this.format(p),y=await this.footer();C&&(c+=" "+C),f&&!C&&this.state.completed===0&&(c+=" "+f),this.clear(n);let B=[u,c,h,y,g.trim()];this.write(B.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:t,keys:i,index:n}=this.state,s=t.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} `;return this.state.error=a,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=lqe.unstyle(i).split(` `).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};gse.exports=RL});var pse=w((tft,hse)=>{"use strict";var gqe="(Use + to sort)",fqe=Cl(),FL=class extends fqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,gqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};hse.exports=FL});var Cse=w((rft,dse)=>{"use strict";var hqe=Mm(),NL=class extends hqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` +`);return this.value={values:n,result:o},super.submit()}};gse.exports=RL});var pse=w((tft,hse)=>{"use strict";var gqe="(Use + to sort)",fqe=Cl(),FL=class extends fqe{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,gqe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,t){let i=await super.renderChoice(e,t),n=this.symbols.identicalTo+" ",s=this.index===t&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${t+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};hse.exports=FL});var Cse=w((rft,dse)=>{"use strict";var hqe=Om(),NL=class extends hqe{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let t=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];t=t.map(i=>this.styles.muted(i)),this.state.header=t.join(` `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let i of t)i.scale=pqe(5,this.options),i.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],i=t.selected;return e.scale.forEach(n=>n.selected=!1),t.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let i=this.index===t,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=D=>(D?this.styles.success("\u25C9"):"\u25EF")+o,u=t+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,t),h=this.indent(e),p=h+e.scale.map((D,T)=>c(T===e.scaleIdx)).join(a),C=D=>D===e.scaleIdx?g(D):D,y=h+e.scale.map((D,T)=>C(T)).join(l),B=()=>[u,f].filter(Boolean).join(" "),v=()=>[B(),p,y," "].filter(Boolean).join(` `);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),v()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),t=await Promise.all(e);return t.length||t.push(this.styles.danger("No matching choices")),t.join(` `)}format(){return this.state.submitted?this.choices.map(t=>this.styles.info(t.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:t}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(t),this.write([o,a,u,g].filter(Boolean).join(` `)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function pqe(r,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>({...i}));let t=[];for(let i=1;i{mse.exports=wL()});var yse=w((nft,Ise)=>{"use strict";var dqe=xb(),TL=class extends dqe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([t,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};Ise.exports=TL});var Bse=w((sft,wse)=>{"use strict";var Cqe=Cl(),LL=class extends Cqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};wse.exports=LL});var Qse=w(ML=>{"use strict";var bse=ji(),ui=(r,e)=>{bse.defineExport(ML,r,e),bse.defineExport(ML,r.toLowerCase(),e)};ui("AutoComplete",()=>kne());ui("BasicAuth",()=>One());ui("Confirm",()=>Hne());ui("Editable",()=>Yne());ui("Form",()=>vb());ui("Input",()=>wL());ui("Invisible",()=>Xne());ui("List",()=>_ne());ui("MultiSelect",()=>ese());ui("Numeral",()=>ise());ui("Password",()=>sse());ui("Scale",()=>Ase());ui("Select",()=>Cl());ui("Snippet",()=>fse());ui("Sort",()=>pse());ui("Survey",()=>Cse());ui("Text",()=>Ese());ui("Toggle",()=>yse());ui("Quiz",()=>Bse())});var vse=w((aft,Sse)=>{Sse.exports={ArrayPrompt:Mm(),AuthPrompt:dL(),BooleanPrompt:xb(),NumberPrompt:vL(),StringPrompt:au()}});var Km=w((Aft,Pse)=>{"use strict";var xse=J("assert"),KL=J("events"),ml=ji(),ho=class extends KL{constructor(e,t){super(),this.options=ml.merge({},e),this.answers={...t}}register(e,t){if(ml.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}xse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(ml.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=ml.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ml;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];xse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Yh()}static get prompts(){return Qse()}static get types(){return vse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return ml.mixinEmitter(e,new KL),e}};ml.mixinEmitter(ho,new KL);var OL=ho.prompts;for(let r of Object.keys(OL)){let e=r.toLowerCase(),t=i=>new OL[r](i).run();ho.prompt[e]=t,ho[e]=t,ho[r]||Reflect.defineProperty(ho,r,{get:()=>OL[r]})}var Om=r=>{ml.defineExport(ho,r,()=>ho.types[r])};Om("ArrayPrompt");Om("AuthPrompt");Om("BooleanPrompt");Om("NumberPrompt");Om("StringPrompt");Pse.exports=ho});var Kse=w((Vft,Ose)=>{function wqe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var Bqe=Y0(),bqe=bh();function Qqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var Sqe=Jh(),vqe=Rh();function xqe(r,e){return r&&Sqe(e,vqe(e),r)}Hse.exports=xqe});var jse=w((_ft,Yse)=>{function Pqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Yse.exports=Pqe});var Jse=w(($ft,qse)=>{var Dqe=vn(),kqe=ab(),Rqe=jse(),Fqe=Object.prototype,Nqe=Fqe.hasOwnProperty;function Tqe(r){if(!Dqe(r))return Rqe(r);var e=kqe(r),t=[];for(var i in r)i=="constructor"&&(e||!Nqe.call(r,i))||t.push(i);return t}qse.exports=Tqe});var Wh=w((eht,Wse)=>{var Lqe=lT(),Mqe=Jse(),Oqe=gm();function Kqe(r){return Oqe(r)?Lqe(r,!0):Mqe(r)}Wse.exports=Kqe});var Vse=w((tht,zse)=>{var Uqe=Jh(),Hqe=Wh();function Gqe(r,e){return r&&Uqe(e,Hqe(e),r)}zse.exports=Gqe});var qL=w((Ym,zh)=>{var Yqe=ys(),$se=typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,Xse=$se&&typeof zh=="object"&&zh&&!zh.nodeType&&zh,jqe=Xse&&Xse.exports===$se,Zse=jqe?Yqe.Buffer:void 0,_se=Zse?Zse.allocUnsafe:void 0;function qqe(r,e){if(e)return r.slice();var t=r.length,i=_se?_se(t):new r.constructor(t);return r.copy(i),i}zh.exports=qqe});var JL=w((rht,eoe)=>{function Jqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Wqe=Jh(),zqe=lb();function Vqe(r,e){return Wqe(r,zqe(r),e)}toe.exports=Vqe});var kb=w((nht,ioe)=>{var Xqe=cT(),Zqe=Xqe(Object.getPrototypeOf,Object);ioe.exports=Zqe});var WL=w((sht,noe)=>{var _qe=q0(),$qe=kb(),eJe=lb(),tJe=dT(),rJe=Object.getOwnPropertySymbols,iJe=rJe?function(r){for(var e=[];r;)_qe(e,eJe(r)),r=$qe(r);return e}:tJe;noe.exports=iJe});var ooe=w((oht,soe)=>{var nJe=Jh(),sJe=WL();function oJe(r,e){return nJe(r,sJe(r),e)}soe.exports=oJe});var Aoe=w((aht,aoe)=>{var aJe=pT(),AJe=WL(),lJe=Wh();function cJe(r){return aJe(r,lJe,AJe)}aoe.exports=cJe});var coe=w((Aht,loe)=>{var uJe=Object.prototype,gJe=uJe.hasOwnProperty;function fJe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&gJe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}loe.exports=fJe});var Rb=w((lht,goe)=>{var uoe=fT();function hJe(r){var e=new r.constructor(r.byteLength);return new uoe(e).set(new uoe(r)),e}goe.exports=hJe});var hoe=w((cht,foe)=>{var pJe=Rb();function dJe(r,e){var t=e?pJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}foe.exports=dJe});var doe=w((uht,poe)=>{var CJe=/\w*$/;function mJe(r){var e=new r.constructor(r.source,CJe.exec(r));return e.lastIndex=r.lastIndex,e}poe.exports=mJe});var yoe=w((ght,Ioe)=>{var Coe=Rc(),moe=Coe?Coe.prototype:void 0,Eoe=moe?moe.valueOf:void 0;function EJe(r){return Eoe?Object(Eoe.call(r)):{}}Ioe.exports=EJe});var zL=w((fht,woe)=>{var IJe=Rb();function yJe(r,e){var t=e?IJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}woe.exports=yJe});var boe=w((hht,Boe)=>{var wJe=Rb(),BJe=hoe(),bJe=doe(),QJe=yoe(),SJe=zL(),vJe="[object Boolean]",xJe="[object Date]",PJe="[object Map]",DJe="[object Number]",kJe="[object RegExp]",RJe="[object Set]",FJe="[object String]",NJe="[object Symbol]",TJe="[object ArrayBuffer]",LJe="[object DataView]",MJe="[object Float32Array]",OJe="[object Float64Array]",KJe="[object Int8Array]",UJe="[object Int16Array]",HJe="[object Int32Array]",GJe="[object Uint8Array]",YJe="[object Uint8ClampedArray]",jJe="[object Uint16Array]",qJe="[object Uint32Array]";function JJe(r,e,t){var i=r.constructor;switch(e){case TJe:return wJe(r);case vJe:case xJe:return new i(+r);case LJe:return BJe(r,t);case MJe:case OJe:case KJe:case UJe:case HJe:case GJe:case YJe:case jJe:case qJe:return SJe(r,t);case PJe:return new i;case DJe:case FJe:return new i(r);case kJe:return bJe(r);case RJe:return new i;case NJe:return QJe(r)}}Boe.exports=JJe});var voe=w((pht,Soe)=>{var WJe=vn(),Qoe=Object.create,zJe=function(){function r(){}return function(e){if(!WJe(e))return{};if(Qoe)return Qoe(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Soe.exports=zJe});var VL=w((dht,xoe)=>{var VJe=voe(),XJe=kb(),ZJe=ab();function _Je(r){return typeof r.constructor=="function"&&!ZJe(r)?VJe(XJe(r)):{}}xoe.exports=_Je});var Doe=w((Cht,Poe)=>{var $Je=hm(),eWe=Wo(),tWe="[object Map]";function rWe(r){return eWe(r)&&$Je(r)==tWe}Poe.exports=rWe});var Noe=w((mht,Foe)=>{var iWe=Doe(),nWe=nb(),koe=sb(),Roe=koe&&koe.isMap,sWe=Roe?nWe(Roe):iWe;Foe.exports=sWe});var Loe=w((Eht,Toe)=>{var oWe=hm(),aWe=Wo(),AWe="[object Set]";function lWe(r){return aWe(r)&&oWe(r)==AWe}Toe.exports=lWe});var Uoe=w((Iht,Koe)=>{var cWe=Loe(),uWe=nb(),Moe=sb(),Ooe=Moe&&Moe.isSet,gWe=Ooe?uWe(Ooe):cWe;Koe.exports=gWe});var qoe=w((yht,joe)=>{var fWe=fm(),hWe=Kse(),pWe=Y0(),dWe=Gse(),CWe=Vse(),mWe=qL(),EWe=JL(),IWe=roe(),yWe=ooe(),wWe=CT(),BWe=Aoe(),bWe=hm(),QWe=coe(),SWe=boe(),vWe=VL(),xWe=vs(),PWe=lm(),DWe=Noe(),kWe=vn(),RWe=Uoe(),FWe=Rh(),NWe=Wh(),TWe=1,LWe=2,MWe=4,Hoe="[object Arguments]",OWe="[object Array]",KWe="[object Boolean]",UWe="[object Date]",HWe="[object Error]",Goe="[object Function]",GWe="[object GeneratorFunction]",YWe="[object Map]",jWe="[object Number]",Yoe="[object Object]",qWe="[object RegExp]",JWe="[object Set]",WWe="[object String]",zWe="[object Symbol]",VWe="[object WeakMap]",XWe="[object ArrayBuffer]",ZWe="[object DataView]",_We="[object Float32Array]",$We="[object Float64Array]",e3e="[object Int8Array]",t3e="[object Int16Array]",r3e="[object Int32Array]",i3e="[object Uint8Array]",n3e="[object Uint8ClampedArray]",s3e="[object Uint16Array]",o3e="[object Uint32Array]",ur={};ur[Hoe]=ur[OWe]=ur[XWe]=ur[ZWe]=ur[KWe]=ur[UWe]=ur[_We]=ur[$We]=ur[e3e]=ur[t3e]=ur[r3e]=ur[YWe]=ur[jWe]=ur[Yoe]=ur[qWe]=ur[JWe]=ur[WWe]=ur[zWe]=ur[i3e]=ur[n3e]=ur[s3e]=ur[o3e]=!0;ur[HWe]=ur[Goe]=ur[VWe]=!1;function Fb(r,e,t,i,n,s){var o,a=e&TWe,l=e&LWe,c=e&MWe;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!kWe(r))return r;var u=xWe(r);if(u){if(o=QWe(r),!a)return EWe(r,o)}else{var g=bWe(r),f=g==Goe||g==GWe;if(PWe(r))return mWe(r,a);if(g==Yoe||g==Hoe||f&&!n){if(o=l||f?{}:vWe(r),!a)return l?yWe(r,CWe(o,r)):IWe(r,dWe(o,r))}else{if(!ur[g])return n?r:{};o=SWe(r,g,a)}}s||(s=new fWe);var h=s.get(r);if(h)return h;s.set(r,o),RWe(r)?r.forEach(function(y){o.add(Fb(y,e,t,y,r,s))}):DWe(r)&&r.forEach(function(y,B){o.set(B,Fb(y,e,t,B,r,s))});var p=c?l?BWe:wWe:l?NWe:FWe,C=u?void 0:p(r);return hWe(C||r,function(y,B){C&&(B=y,y=r[B]),pWe(o,B,Fb(y,e,t,B,r,s))}),o}joe.exports=Fb});var XL=w((wht,Joe)=>{var a3e=qoe(),A3e=1,l3e=4;function c3e(r){return a3e(r,A3e|l3e)}Joe.exports=c3e});var zoe=w((Bht,Woe)=>{var u3e=HN();function g3e(r,e,t){return r==null?r:u3e(r,e,t)}Woe.exports=g3e});var $oe=w((Pht,_oe)=>{function f3e(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}_oe.exports=f3e});var tae=w((Dht,eae)=>{var h3e=rm(),p3e=HR();function d3e(r,e){return e.length<2?r:h3e(r,p3e(e,0,-1))}eae.exports=d3e});var iae=w((kht,rae)=>{var C3e=Bh(),m3e=$oe(),E3e=tae(),I3e=Zc();function y3e(r,e){return e=C3e(e,r),r=E3e(r,e),r==null||delete r[I3e(m3e(e))]}rae.exports=y3e});var sae=w((Rht,nae)=>{var w3e=iae();function B3e(r,e){return r==null?!0:w3e(r,e)}nae.exports=B3e});var cae=w((opt,S3e)=>{S3e.exports={name:"@yarnpkg/cli",version:"3.6.3",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var oM=w((kmt,bae)=>{"use strict";bae.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Sae=w((Rmt,Qae)=>{"use strict";var q3e=oM();function J3e(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=q3e(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Qae.exports=J3e});var Pae=w((Fmt,xae)=>{"use strict";var W3e=Sae();function z3e(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var V3e=z3e(W3e),X3e="text/plain",Z3e="us-ascii",vae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),_3e=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===Z3e)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==X3e)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function $3e(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return _3e(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index,h=n.pathname.slice(a,f);l+=h.replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}let c=n.pathname.slice(a,n.pathname.length);l+=c.replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];vae(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])vae(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var aM=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>aM.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=$3e(r,e));let n=V3e.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};aM.MAX_INPUT_LENGTH=2048;xae.exports=aM});var Rae=w((Nmt,kae)=>{"use strict";var e4e=oM();function Dae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=e4e(r);if(r=r.substring(r.indexOf("://")+3),Dae(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var t4e=Pae(),Fae=Rae();function r4e(r){var e=t4e(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Fae(e.protocols)||e.protocols.length===0&&Fae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Nae.exports=r4e});var Mae=w((Lmt,Lae)=>{"use strict";var i4e=Tae();function AM(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=i4e(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return AM.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}AM.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?n4e(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+s4e(r)+n;default:return r.href}};function n4e(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function s4e(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Lae.exports=AM});var DM=w((Syt,iAe)=>{var S4e=bh(),v4e=Ih();function x4e(r,e,t){(t!==void 0&&!v4e(r[e],t)||t===void 0&&!(e in r))&&S4e(r,e,t)}iAe.exports=x4e});var sAe=w((vyt,nAe)=>{var P4e=gm(),D4e=Wo();function k4e(r){return D4e(r)&&P4e(r)}nAe.exports=k4e});var AAe=w((xyt,aAe)=>{var R4e=Fc(),F4e=kb(),N4e=Wo(),T4e="[object Object]",L4e=Function.prototype,M4e=Object.prototype,oAe=L4e.toString,O4e=M4e.hasOwnProperty,K4e=oAe.call(Object);function U4e(r){if(!N4e(r)||R4e(r)!=T4e)return!1;var e=F4e(r);if(e===null)return!0;var t=O4e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&oAe.call(t)==K4e}aAe.exports=U4e});var kM=w((Pyt,lAe)=>{function H4e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}lAe.exports=H4e});var uAe=w((Dyt,cAe)=>{var G4e=Jh(),Y4e=Wh();function j4e(r){return G4e(r,Y4e(r))}cAe.exports=j4e});var CAe=w((kyt,dAe)=>{var gAe=DM(),q4e=qL(),J4e=zL(),W4e=JL(),z4e=VL(),fAe=nm(),hAe=vs(),V4e=sAe(),X4e=lm(),Z4e=U0(),_4e=vn(),$4e=AAe(),e8e=ob(),pAe=kM(),t8e=uAe();function r8e(r,e,t,i,n,s,o){var a=pAe(r,t),l=pAe(e,t),c=o.get(l);if(c){gAe(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=hAe(l),h=!f&&X4e(l),p=!f&&!h&&e8e(l);u=l,f||h||p?hAe(a)?u=a:V4e(a)?u=W4e(a):h?(g=!1,u=q4e(l,!0)):p?(g=!1,u=J4e(l,!0)):u=[]:$4e(l)||fAe(l)?(u=a,fAe(a)?u=t8e(a):(!_4e(a)||Z4e(a))&&(u=z4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),gAe(r,t,u)}dAe.exports=r8e});var IAe=w((Ryt,EAe)=>{var i8e=fm(),n8e=DM(),s8e=aT(),o8e=CAe(),a8e=vn(),A8e=Wh(),l8e=kM();function mAe(r,e,t,i,n){r!==e&&s8e(e,function(s,o){if(n||(n=new i8e),a8e(s))o8e(r,e,o,t,mAe,i,n);else{var a=i?i(l8e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),n8e(r,o,a)}},A8e)}EAe.exports=mAe});var wAe=w((Fyt,yAe)=>{var c8e=J0(),u8e=jN(),g8e=qN();function f8e(r,e){return g8e(u8e(r,e,c8e),r+"")}yAe.exports=f8e});var bAe=w((Nyt,BAe)=>{var h8e=Ih(),p8e=gm(),d8e=im(),C8e=vn();function m8e(r,e,t){if(!C8e(t))return!1;var i=typeof e;return(i=="number"?p8e(t)&&d8e(e,t.length):i=="string"&&e in t)?h8e(t[e],r):!1}BAe.exports=m8e});var SAe=w((Tyt,QAe)=>{var E8e=wAe(),I8e=bAe();function y8e(r){return E8e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&I8e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var w8e=IAe(),B8e=SAe(),b8e=B8e(function(r,e,t){w8e(r,e,t)});vAe.exports=b8e});var GAe=w((Twt,HAe)=>{var HM;HAe.exports=()=>(typeof HM>"u"&&(HM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),HM)});var lle=w((sBt,Ale)=>{var XM=Symbol("arg flag"),Rn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Rn.prototype)}};function uE(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Rn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Rn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Rn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Rn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[XM]===!0}else if(typeof l=="function")c=l===Boolean||l[XM]===!0;else throw new Rn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Rn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Rn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}uE.flag=r=>(r[XM]=!0,r);uE.COUNT=uE.flag((r,e,t)=>(t||0)+1);uE.ArgError=Rn;Ale.exports=uE});var Ile=w((LBt,Ele)=>{var eO;Ele.exports=()=>(typeof eO>"u"&&(eO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),eO)});var vle=w((oO,aO)=>{(function(r){oO&&typeof oO=="object"&&typeof aO<"u"?aO.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var kle=w((T0t,Dle)=>{"use strict";AO.ifExists=wze;var np=J("util"),Ts=J("path"),xle=vle(),Eze=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Ize={createPwshFile:!0,createCmdFile:xle(),fs:J("fs")},yze=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Ple(r){let e={...Ize,...r},t=e.fs;return e.fs_={chmod:t.chmod?np.promisify(t.chmod):async()=>{},mkdir:np.promisify(t.mkdir),readFile:np.promisify(t.readFile),stat:np.promisify(t.stat),unlink:np.promisify(t.unlink),writeFile:np.promisify(t.writeFile)},e}async function AO(r,e,t){let i=Ple(t);await i.fs_.stat(r),await bze(r,e,i)}function wze(r,e,t){return AO(r,e,t).catch(()=>{})}function Bze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function bze(r,e,t){let i=await Pze(r,t);return await Qze(e,t),Sze(r,e,i,t)}function Qze(r,e){return e.fs_.mkdir(Ts.dirname(r),{recursive:!0})}function Sze(r,e,t,i){let n=Ple(i),s=[{generator:Rze,extension:""}];return n.createCmdFile&&s.push({generator:kze,extension:".cmd"}),n.createPwshFile&&s.push({generator:Fze,extension:".ps1"}),Promise.all(s.map(o=>Dze(r,e+o.extension,t,o.generator,n)))}function vze(r,e){return Bze(r,e)}function xze(r,e){return Nze(r,e)}async function Pze(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(Eze);if(!n){let s=Ts.extname(r).toLowerCase();return{program:yze.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Dze(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await vze(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),xze(e,n)}function kze(r,e,t){let n=Ts.relative(Ts.dirname(e),r).split("/").join("\\"),s=Ts.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=lO(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`)),this.write(this.margin[2]),this.restore()}};Ise.exports=TL});var Bse=w((sft,wse)=>{"use strict";var Cqe=Cl(),LL=class extends Cqe{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let i=await super.toChoices(e,t);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};wse.exports=LL});var Qse=w(OL=>{"use strict";var bse=ji(),ui=(r,e)=>{bse.defineExport(OL,r,e),bse.defineExport(OL,r.toLowerCase(),e)};ui("AutoComplete",()=>kne());ui("BasicAuth",()=>Mne());ui("Confirm",()=>Hne());ui("Editable",()=>Yne());ui("Form",()=>vb());ui("Input",()=>wL());ui("Invisible",()=>Xne());ui("List",()=>_ne());ui("MultiSelect",()=>ese());ui("Numeral",()=>ise());ui("Password",()=>sse());ui("Scale",()=>Ase());ui("Select",()=>Cl());ui("Snippet",()=>fse());ui("Sort",()=>pse());ui("Survey",()=>Cse());ui("Text",()=>Ese());ui("Toggle",()=>yse());ui("Quiz",()=>Bse())});var vse=w((aft,Sse)=>{Sse.exports={ArrayPrompt:Om(),AuthPrompt:dL(),BooleanPrompt:xb(),NumberPrompt:vL(),StringPrompt:au()}});var Km=w((Aft,Pse)=>{"use strict";var xse=J("assert"),KL=J("events"),ml=ji(),ho=class extends KL{constructor(e,t){super(),this.options=ml.merge({},e),this.answers={...t}}register(e,t){if(ml.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}xse.equal(typeof t,"function","expected a function");let i=e.toLowerCase();return t.prototype instanceof this.Prompt?this.prompts[i]=t:this.prompts[i]=t(this.Prompt,this),this}async prompt(e=[]){for(let t of[].concat(e))try{typeof t=="function"&&(t=await t.call(this)),await this.ask(ml.merge({},this.options,t))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let t=ml.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ml;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];xse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](t),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),t.autofill&&l!=null?(a.value=a.input=l,t.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||Yh()}static get prompts(){return Qse()}static get types(){return vse()}static get prompt(){let e=(t,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(t)};return ml.mixinEmitter(e,new KL),e}};ml.mixinEmitter(ho,new KL);var ML=ho.prompts;for(let r of Object.keys(ML)){let e=r.toLowerCase(),t=i=>new ML[r](i).run();ho.prompt[e]=t,ho[e]=t,ho[r]||Reflect.defineProperty(ho,r,{get:()=>ML[r]})}var Mm=r=>{ml.defineExport(ho,r,()=>ho.types[r])};Mm("ArrayPrompt");Mm("AuthPrompt");Mm("BooleanPrompt");Mm("NumberPrompt");Mm("StringPrompt");Pse.exports=ho});var Kse=w((Vft,Mse)=>{function wqe(r,e){for(var t=-1,i=r==null?0:r.length;++t{var Bqe=Y0(),bqe=bh();function Qqe(r,e,t,i){var n=!t;t||(t={});for(var s=-1,o=e.length;++s{var Sqe=Jh(),vqe=Rh();function xqe(r,e){return r&&Sqe(e,vqe(e),r)}Hse.exports=xqe});var jse=w((_ft,Yse)=>{function Pqe(r){var e=[];if(r!=null)for(var t in Object(r))e.push(t);return e}Yse.exports=Pqe});var Jse=w(($ft,qse)=>{var Dqe=vn(),kqe=ab(),Rqe=jse(),Fqe=Object.prototype,Nqe=Fqe.hasOwnProperty;function Tqe(r){if(!Dqe(r))return Rqe(r);var e=kqe(r),t=[];for(var i in r)i=="constructor"&&(e||!Nqe.call(r,i))||t.push(i);return t}qse.exports=Tqe});var Wh=w((eht,Wse)=>{var Lqe=lT(),Oqe=Jse(),Mqe=gm();function Kqe(r){return Mqe(r)?Lqe(r,!0):Oqe(r)}Wse.exports=Kqe});var Vse=w((tht,zse)=>{var Uqe=Jh(),Hqe=Wh();function Gqe(r,e){return r&&Uqe(e,Hqe(e),r)}zse.exports=Gqe});var qL=w((Ym,zh)=>{var Yqe=ys(),$se=typeof Ym=="object"&&Ym&&!Ym.nodeType&&Ym,Xse=$se&&typeof zh=="object"&&zh&&!zh.nodeType&&zh,jqe=Xse&&Xse.exports===$se,Zse=jqe?Yqe.Buffer:void 0,_se=Zse?Zse.allocUnsafe:void 0;function qqe(r,e){if(e)return r.slice();var t=r.length,i=_se?_se(t):new r.constructor(t);return r.copy(i),i}zh.exports=qqe});var JL=w((rht,eoe)=>{function Jqe(r,e){var t=-1,i=r.length;for(e||(e=Array(i));++t{var Wqe=Jh(),zqe=lb();function Vqe(r,e){return Wqe(r,zqe(r),e)}toe.exports=Vqe});var kb=w((nht,ioe)=>{var Xqe=cT(),Zqe=Xqe(Object.getPrototypeOf,Object);ioe.exports=Zqe});var WL=w((sht,noe)=>{var _qe=q0(),$qe=kb(),eJe=lb(),tJe=dT(),rJe=Object.getOwnPropertySymbols,iJe=rJe?function(r){for(var e=[];r;)_qe(e,eJe(r)),r=$qe(r);return e}:tJe;noe.exports=iJe});var ooe=w((oht,soe)=>{var nJe=Jh(),sJe=WL();function oJe(r,e){return nJe(r,sJe(r),e)}soe.exports=oJe});var Aoe=w((aht,aoe)=>{var aJe=pT(),AJe=WL(),lJe=Wh();function cJe(r){return aJe(r,lJe,AJe)}aoe.exports=cJe});var coe=w((Aht,loe)=>{var uJe=Object.prototype,gJe=uJe.hasOwnProperty;function fJe(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&gJe.call(r,"index")&&(t.index=r.index,t.input=r.input),t}loe.exports=fJe});var Rb=w((lht,goe)=>{var uoe=fT();function hJe(r){var e=new r.constructor(r.byteLength);return new uoe(e).set(new uoe(r)),e}goe.exports=hJe});var hoe=w((cht,foe)=>{var pJe=Rb();function dJe(r,e){var t=e?pJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}foe.exports=dJe});var doe=w((uht,poe)=>{var CJe=/\w*$/;function mJe(r){var e=new r.constructor(r.source,CJe.exec(r));return e.lastIndex=r.lastIndex,e}poe.exports=mJe});var yoe=w((ght,Ioe)=>{var Coe=Rc(),moe=Coe?Coe.prototype:void 0,Eoe=moe?moe.valueOf:void 0;function EJe(r){return Eoe?Object(Eoe.call(r)):{}}Ioe.exports=EJe});var zL=w((fht,woe)=>{var IJe=Rb();function yJe(r,e){var t=e?IJe(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.length)}woe.exports=yJe});var boe=w((hht,Boe)=>{var wJe=Rb(),BJe=hoe(),bJe=doe(),QJe=yoe(),SJe=zL(),vJe="[object Boolean]",xJe="[object Date]",PJe="[object Map]",DJe="[object Number]",kJe="[object RegExp]",RJe="[object Set]",FJe="[object String]",NJe="[object Symbol]",TJe="[object ArrayBuffer]",LJe="[object DataView]",OJe="[object Float32Array]",MJe="[object Float64Array]",KJe="[object Int8Array]",UJe="[object Int16Array]",HJe="[object Int32Array]",GJe="[object Uint8Array]",YJe="[object Uint8ClampedArray]",jJe="[object Uint16Array]",qJe="[object Uint32Array]";function JJe(r,e,t){var i=r.constructor;switch(e){case TJe:return wJe(r);case vJe:case xJe:return new i(+r);case LJe:return BJe(r,t);case OJe:case MJe:case KJe:case UJe:case HJe:case GJe:case YJe:case jJe:case qJe:return SJe(r,t);case PJe:return new i;case DJe:case FJe:return new i(r);case kJe:return bJe(r);case RJe:return new i;case NJe:return QJe(r)}}Boe.exports=JJe});var voe=w((pht,Soe)=>{var WJe=vn(),Qoe=Object.create,zJe=function(){function r(){}return function(e){if(!WJe(e))return{};if(Qoe)return Qoe(e);r.prototype=e;var t=new r;return r.prototype=void 0,t}}();Soe.exports=zJe});var VL=w((dht,xoe)=>{var VJe=voe(),XJe=kb(),ZJe=ab();function _Je(r){return typeof r.constructor=="function"&&!ZJe(r)?VJe(XJe(r)):{}}xoe.exports=_Je});var Doe=w((Cht,Poe)=>{var $Je=hm(),e3e=Wo(),t3e="[object Map]";function r3e(r){return e3e(r)&&$Je(r)==t3e}Poe.exports=r3e});var Noe=w((mht,Foe)=>{var i3e=Doe(),n3e=nb(),koe=sb(),Roe=koe&&koe.isMap,s3e=Roe?n3e(Roe):i3e;Foe.exports=s3e});var Loe=w((Eht,Toe)=>{var o3e=hm(),a3e=Wo(),A3e="[object Set]";function l3e(r){return a3e(r)&&o3e(r)==A3e}Toe.exports=l3e});var Uoe=w((Iht,Koe)=>{var c3e=Loe(),u3e=nb(),Ooe=sb(),Moe=Ooe&&Ooe.isSet,g3e=Moe?u3e(Moe):c3e;Koe.exports=g3e});var qoe=w((yht,joe)=>{var f3e=fm(),h3e=Kse(),p3e=Y0(),d3e=Gse(),C3e=Vse(),m3e=qL(),E3e=JL(),I3e=roe(),y3e=ooe(),w3e=CT(),B3e=Aoe(),b3e=hm(),Q3e=coe(),S3e=boe(),v3e=VL(),x3e=vs(),P3e=lm(),D3e=Noe(),k3e=vn(),R3e=Uoe(),F3e=Rh(),N3e=Wh(),T3e=1,L3e=2,O3e=4,Hoe="[object Arguments]",M3e="[object Array]",K3e="[object Boolean]",U3e="[object Date]",H3e="[object Error]",Goe="[object Function]",G3e="[object GeneratorFunction]",Y3e="[object Map]",j3e="[object Number]",Yoe="[object Object]",q3e="[object RegExp]",J3e="[object Set]",W3e="[object String]",z3e="[object Symbol]",V3e="[object WeakMap]",X3e="[object ArrayBuffer]",Z3e="[object DataView]",_3e="[object Float32Array]",$3e="[object Float64Array]",eWe="[object Int8Array]",tWe="[object Int16Array]",rWe="[object Int32Array]",iWe="[object Uint8Array]",nWe="[object Uint8ClampedArray]",sWe="[object Uint16Array]",oWe="[object Uint32Array]",ur={};ur[Hoe]=ur[M3e]=ur[X3e]=ur[Z3e]=ur[K3e]=ur[U3e]=ur[_3e]=ur[$3e]=ur[eWe]=ur[tWe]=ur[rWe]=ur[Y3e]=ur[j3e]=ur[Yoe]=ur[q3e]=ur[J3e]=ur[W3e]=ur[z3e]=ur[iWe]=ur[nWe]=ur[sWe]=ur[oWe]=!0;ur[H3e]=ur[Goe]=ur[V3e]=!1;function Fb(r,e,t,i,n,s){var o,a=e&T3e,l=e&L3e,c=e&O3e;if(t&&(o=n?t(r,i,n,s):t(r)),o!==void 0)return o;if(!k3e(r))return r;var u=x3e(r);if(u){if(o=Q3e(r),!a)return E3e(r,o)}else{var g=b3e(r),f=g==Goe||g==G3e;if(P3e(r))return m3e(r,a);if(g==Yoe||g==Hoe||f&&!n){if(o=l||f?{}:v3e(r),!a)return l?y3e(r,C3e(o,r)):I3e(r,d3e(o,r))}else{if(!ur[g])return n?r:{};o=S3e(r,g,a)}}s||(s=new f3e);var h=s.get(r);if(h)return h;s.set(r,o),R3e(r)?r.forEach(function(y){o.add(Fb(y,e,t,y,r,s))}):D3e(r)&&r.forEach(function(y,B){o.set(B,Fb(y,e,t,B,r,s))});var p=c?l?B3e:w3e:l?N3e:F3e,C=u?void 0:p(r);return h3e(C||r,function(y,B){C&&(B=y,y=r[B]),p3e(o,B,Fb(y,e,t,B,r,s))}),o}joe.exports=Fb});var XL=w((wht,Joe)=>{var aWe=qoe(),AWe=1,lWe=4;function cWe(r){return aWe(r,AWe|lWe)}Joe.exports=cWe});var zoe=w((Bht,Woe)=>{var uWe=HN();function gWe(r,e,t){return r==null?r:uWe(r,e,t)}Woe.exports=gWe});var $oe=w((Pht,_oe)=>{function fWe(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}_oe.exports=fWe});var tae=w((Dht,eae)=>{var hWe=rm(),pWe=HR();function dWe(r,e){return e.length<2?r:hWe(r,pWe(e,0,-1))}eae.exports=dWe});var iae=w((kht,rae)=>{var CWe=Bh(),mWe=$oe(),EWe=tae(),IWe=Zc();function yWe(r,e){return e=CWe(e,r),r=EWe(r,e),r==null||delete r[IWe(mWe(e))]}rae.exports=yWe});var sae=w((Rht,nae)=>{var wWe=iae();function BWe(r,e){return r==null?!0:wWe(r,e)}nae.exports=BWe});var cae=w((opt,SWe)=>{SWe.exports={name:"@yarnpkg/cli",version:"3.6.4",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var oO=w((kmt,bae)=>{"use strict";bae.exports=function(e,t){t===!0&&(t=0);var i="";if(typeof e=="string")try{i=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(i=e.protocol);var n=i.split(/\:|\+/).filter(Boolean);return typeof t=="number"?n[t]:n}});var Sae=w((Rmt,Qae)=>{"use strict";var qWe=oO();function JWe(r){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:r,query:{},parse_failed:!1};try{var t=new URL(r);e.protocols=qWe(t),e.protocol=e.protocols[0],e.port=t.port,e.resource=t.hostname,e.host=t.host,e.user=t.username||"",e.password=t.password||"",e.pathname=t.pathname,e.hash=t.hash.slice(1),e.search=t.search.slice(1),e.href=t.href,e.query=Object.fromEntries(t.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=r,e.query={},e.parse_failed=!0}return e}Qae.exports=JWe});var Pae=w((Fmt,xae)=>{"use strict";var WWe=Sae();function zWe(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var VWe=zWe(WWe),XWe="text/plain",ZWe="us-ascii",vae=(r,e)=>e.some(t=>t instanceof RegExp?t.test(r):t===r),_We=(r,{stripHash:e})=>{let t=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(r);if(!t)throw new Error(`Invalid URL: ${r}`);let{type:i,data:n,hash:s}=t.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===ZWe)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length>0||l&&l!==XWe)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`};function $We(r,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},r=r.trim(),/^data:/i.test(r))return _We(r,e);if(/^view-source:/i.test(r))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let t=r.startsWith("//");!t&&/^\.*\//.test(r)||(r=r.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(r);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname){let o=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,a=0,l="";for(;;){let u=o.exec(n.pathname);if(!u)break;let g=u[0],f=u.index,h=n.pathname.slice(a,f);l+=h.replace(/\/{2,}/g,"/"),l+=g,a=f+g.length}let c=n.pathname.slice(a,n.pathname.length);l+=c.replace(/\/{2,}/g,"/"),n.pathname=l}if(n.pathname)try{n.pathname=decodeURI(n.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let o=n.pathname.split("/"),a=o[o.length-1];vae(a,e.removeDirectoryIndex)&&(o=o.slice(0,-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])vae(o,e.removeQueryParameters)&&n.searchParams.delete(o);if(e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters){n.searchParams.sort();try{n.search=decodeURIComponent(n.search)}catch{}}e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=r;return r=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(r=r.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(r=r.replace(/\/$/,"")),t&&!e.normalizeProtocol&&(r=r.replace(/^http:\/\//,"//")),e.stripProtocol&&(r=r.replace(/^(?:https?:)?\/\//,"")),r}var aO=(r,e=!1)=>{let t=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,i=s=>{let o=new Error(s);throw o.subject_url=r,o};(typeof r!="string"||!r.trim())&&i("Invalid url."),r.length>aO.MAX_INPUT_LENGTH&&i("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),r=$We(r,e));let n=VWe.default(r);if(n.parse_failed){let s=n.href.match(t);s?(n.protocols=["ssh"],n.protocol="ssh",n.resource=s[2],n.host=s[2],n.user=s[1],n.pathname=`/${s[3]}`,n.parse_failed=!1):i("URL parsing failed.")}return n};aO.MAX_INPUT_LENGTH=2048;xae.exports=aO});var Rae=w((Nmt,kae)=>{"use strict";var e4e=oO();function Dae(r){if(Array.isArray(r))return r.indexOf("ssh")!==-1||r.indexOf("rsync")!==-1;if(typeof r!="string")return!1;var e=e4e(r);if(r=r.substring(r.indexOf("://")+3),Dae(e))return!0;var t=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!r.match(t)&&r.indexOf("@"){"use strict";var t4e=Pae(),Fae=Rae();function r4e(r){var e=t4e(r);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),Fae(e.protocols)||e.protocols.length===0&&Fae(r)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}Nae.exports=r4e});var Oae=w((Lmt,Lae)=>{"use strict";var i4e=Tae();function AO(r){if(typeof r!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(r)&&(r="https://github.com/"+r);var t=i4e(r),i=t.resource.split("."),n=null;switch(t.toString=function(y){return AO.stringify(this,y)},t.source=i.length>2?i.slice(1-i.length).join("."):t.source=t.resource,t.git_suffix=/\.git$/.test(t.pathname),t.name=decodeURIComponent((t.pathname||t.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),t.owner=decodeURIComponent(t.user),t.source){case"git.cloudforge.com":t.owner=t.user,t.organization=i[0],t.source="cloudforge.com";break;case"visualstudio.com":if(t.resource==="vs-ssh.visualstudio.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3],t.full_name=n[2]+"/"+n[3]);break}else{n=t.name.split("/"),n.length===2?(t.owner=n[1],t.name=n[1],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name);break}case"dev.azure.com":case"azure.com":if(t.resource==="ssh.dev.azure.com"){n=t.name.split("/"),n.length===4&&(t.organization=n[1],t.owner=n[2],t.name=n[3]);break}else{n=t.name.split("/"),n.length===5?(t.organization=n[0],t.owner=n[1],t.name=n[4],t.full_name="_git/"+t.name):n.length===3?(t.name=n[2],n[0]==="DefaultCollection"?(t.owner=n[2],t.organization=n[0],t.full_name=t.organization+"/_git/"+t.name):(t.owner=n[0],t.full_name=t.owner+"/_git/"+t.name)):n.length===4&&(t.organization=n[0],t.owner=n[1],t.name=n[3],t.full_name=t.organization+"/"+t.owner+"/_git/"+t.name),t.query&&t.query.path&&(t.filepath=t.query.path.replace(/^\/+/g,"")),t.query&&t.query.version&&(t.ref=t.query.version.replace(/^GB/,""));break}default:n=t.name.split("/");var s=n.length-1;if(n.length>=2){var o=n.indexOf("-",2),a=n.indexOf("blob",2),l=n.indexOf("tree",2),c=n.indexOf("commit",2),u=n.indexOf("src",2),g=n.indexOf("raw",2),f=n.indexOf("edit",2);s=o>0?o-1:a>0?a-1:l>0?l-1:c>0?c-1:u>0?u-1:g>0?g-1:f>0?f-1:s,t.owner=n.slice(0,s).join("/"),t.name=n[s],c&&(t.commit=n[s+2])}t.ref="",t.filepathtype="",t.filepath="";var h=n.length>s&&n[s+1]==="-"?s+1:s;n.length>h+2&&["raw","src","blob","tree","edit"].indexOf(n[h+1])>=0&&(t.filepathtype=n[h+1],t.ref=n[h+2],n.length>h+3&&(t.filepath=n.slice(h+3).join("/"))),t.organization=t.owner;break}t.full_name||(t.full_name=t.owner,t.name&&(t.full_name&&(t.full_name+="/"),t.full_name+=t.name)),t.owner.startsWith("scm/")&&(t.source="bitbucket-server",t.owner=t.owner.replace("scm/",""),t.organization=t.owner,t.full_name=t.owner+"/"+t.name);var p=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,C=p.exec(t.pathname);return C!=null&&(t.source="bitbucket-server",C[1]==="users"?t.owner="~"+C[2]:t.owner=C[2],t.organization=t.owner,t.name=C[3],n=C[4].split("/"),n.length>1&&(["raw","browse"].indexOf(n[1])>=0?(t.filepathtype=n[1],n.length>2&&(t.filepath=n.slice(2).join("/"))):n[1]==="commits"&&n.length>2&&(t.commit=n[2])),t.full_name=t.owner+"/"+t.name,t.query.at?t.ref=t.query.at:t.ref=""),t}AO.stringify=function(r,e){e=e||(r.protocols&&r.protocols.length?r.protocols.join("+"):r.protocol);var t=r.port?":"+r.port:"",i=r.user||"git",n=r.git_suffix?".git":"";switch(e){case"ssh":return t?"ssh://"+i+"@"+r.resource+t+"/"+r.full_name+n:i+"@"+r.resource+":"+r.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+r.resource+t+"/"+r.full_name+n;case"http":case"https":var s=r.token?n4e(r):r.user&&(r.protocols.includes("http")||r.protocols.includes("https"))?r.user+"@":"";return e+"://"+s+r.resource+t+"/"+s4e(r)+n;default:return r.href}};function n4e(r){switch(r.source){case"bitbucket.org":return"x-token-auth:"+r.token+"@";default:return r.token+"@"}}function s4e(r){switch(r.source){case"bitbucket-server":return"scm/"+r.full_name;default:return""+r.full_name}}Lae.exports=AO});var DO=w((Syt,iAe)=>{var S4e=bh(),v4e=Ih();function x4e(r,e,t){(t!==void 0&&!v4e(r[e],t)||t===void 0&&!(e in r))&&S4e(r,e,t)}iAe.exports=x4e});var sAe=w((vyt,nAe)=>{var P4e=gm(),D4e=Wo();function k4e(r){return D4e(r)&&P4e(r)}nAe.exports=k4e});var AAe=w((xyt,aAe)=>{var R4e=Fc(),F4e=kb(),N4e=Wo(),T4e="[object Object]",L4e=Function.prototype,O4e=Object.prototype,oAe=L4e.toString,M4e=O4e.hasOwnProperty,K4e=oAe.call(Object);function U4e(r){if(!N4e(r)||R4e(r)!=T4e)return!1;var e=F4e(r);if(e===null)return!0;var t=M4e.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&oAe.call(t)==K4e}aAe.exports=U4e});var kO=w((Pyt,lAe)=>{function H4e(r,e){if(!(e==="constructor"&&typeof r[e]=="function")&&e!="__proto__")return r[e]}lAe.exports=H4e});var uAe=w((Dyt,cAe)=>{var G4e=Jh(),Y4e=Wh();function j4e(r){return G4e(r,Y4e(r))}cAe.exports=j4e});var CAe=w((kyt,dAe)=>{var gAe=DO(),q4e=qL(),J4e=zL(),W4e=JL(),z4e=VL(),fAe=nm(),hAe=vs(),V4e=sAe(),X4e=lm(),Z4e=U0(),_4e=vn(),$4e=AAe(),e8e=ob(),pAe=kO(),t8e=uAe();function r8e(r,e,t,i,n,s,o){var a=pAe(r,t),l=pAe(e,t),c=o.get(l);if(c){gAe(r,t,c);return}var u=s?s(a,l,t+"",r,e,o):void 0,g=u===void 0;if(g){var f=hAe(l),h=!f&&X4e(l),p=!f&&!h&&e8e(l);u=l,f||h||p?hAe(a)?u=a:V4e(a)?u=W4e(a):h?(g=!1,u=q4e(l,!0)):p?(g=!1,u=J4e(l,!0)):u=[]:$4e(l)||fAe(l)?(u=a,fAe(a)?u=t8e(a):(!_4e(a)||Z4e(a))&&(u=z4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),gAe(r,t,u)}dAe.exports=r8e});var IAe=w((Ryt,EAe)=>{var i8e=fm(),n8e=DO(),s8e=aT(),o8e=CAe(),a8e=vn(),A8e=Wh(),l8e=kO();function mAe(r,e,t,i,n){r!==e&&s8e(e,function(s,o){if(n||(n=new i8e),a8e(s))o8e(r,e,o,t,mAe,i,n);else{var a=i?i(l8e(r,o),s,o+"",r,e,n):void 0;a===void 0&&(a=s),n8e(r,o,a)}},A8e)}EAe.exports=mAe});var wAe=w((Fyt,yAe)=>{var c8e=J0(),u8e=jN(),g8e=qN();function f8e(r,e){return g8e(u8e(r,e,c8e),r+"")}yAe.exports=f8e});var bAe=w((Nyt,BAe)=>{var h8e=Ih(),p8e=gm(),d8e=im(),C8e=vn();function m8e(r,e,t){if(!C8e(t))return!1;var i=typeof e;return(i=="number"?p8e(t)&&d8e(e,t.length):i=="string"&&e in t)?h8e(t[e],r):!1}BAe.exports=m8e});var SAe=w((Tyt,QAe)=>{var E8e=wAe(),I8e=bAe();function y8e(r){return E8e(function(e,t){var i=-1,n=t.length,s=n>1?t[n-1]:void 0,o=n>2?t[2]:void 0;for(s=r.length>3&&typeof s=="function"?(n--,s):void 0,o&&I8e(t[0],t[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var w8e=IAe(),B8e=SAe(),b8e=B8e(function(r,e,t){w8e(r,e,t)});vAe.exports=b8e});var GAe=w((Twt,HAe)=>{var HO;HAe.exports=()=>(typeof HO>"u"&&(HO=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),HO)});var lle=w((sBt,Ale)=>{var XO=Symbol("arg flag"),Rn=class extends Error{constructor(e,t){super(e),this.name="ArgError",this.code=t,Object.setPrototypeOf(this,Rn.prototype)}};function uE(r,{argv:e=process.argv.slice(2),permissive:t=!1,stopAtPositional:i=!1}={}){if(!r)throw new Rn("argument specification object is required","ARG_CONFIG_NO_SPEC");let n={_:[]},s={},o={};for(let a of Object.keys(r)){if(!a)throw new Rn("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(a[0]!=="-")throw new Rn(`argument key must start with '-' but found: '${a}'`,"ARG_CONFIG_NONOPT_KEY");if(a.length===1)throw new Rn(`argument key must have a name; singular '-' keys are not allowed: ${a}`,"ARG_CONFIG_NONAME_KEY");if(typeof r[a]=="string"){s[a]=r[a];continue}let l=r[a],c=!1;if(Array.isArray(l)&&l.length===1&&typeof l[0]=="function"){let[u]=l;l=(g,f,h=[])=>(h.push(u(g,f,h[h.length-1])),h),c=u===Boolean||u[XO]===!0}else if(typeof l=="function")c=l===Boolean||l[XO]===!0;else throw new Rn(`type missing or not a function or valid array type: ${a}`,"ARG_CONFIG_VAD_TYPE");if(a[1]!=="-"&&a.length>2)throw new Rn(`short argument keys (with a single hyphen) must have only one character: ${a}`,"ARG_CONFIG_SHORTOPT_TOOLONG");o[a]=[l,c]}for(let a=0,l=e.length;a0){n._=n._.concat(e.slice(a));break}if(c==="--"){n._=n._.concat(e.slice(a+1));break}if(c.length>1&&c[0]==="-"){let u=c[1]==="-"||c.length===2?[c]:c.slice(1).split("").map(g=>`-${g}`);for(let g=0;g1&&e[a+1][0]==="-"&&!(e[a+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(y===Number||typeof BigInt<"u"&&y===BigInt))){let v=h===C?"":` (alias for ${C})`;throw new Rn(`option requires argument: ${h}${v}`,"ARG_MISSING_REQUIRED_LONGARG")}n[C]=y(e[a+1],C,n[C]),++a}else n[C]=y(p,C,n[C])}}else n._.push(c)}return n}uE.flag=r=>(r[XO]=!0,r);uE.COUNT=uE.flag((r,e,t)=>(t||0)+1);uE.ArgError=Rn;Ale.exports=uE});var Ile=w((LBt,Ele)=>{var eM;Ele.exports=()=>(typeof eM>"u"&&(eM=J("zlib").brotliDecompressSync(Buffer.from("W2QRIYo8Dg3EPjwjAzV1Mx4AWBbYhog/2fqQcbrIkz0xXrV55pTm5nGL+OMMcCdHxKi3slT78/Nq0QmoG+2FzL0kWXKIVHqxtm7BxVCECWJQGCjQZfDQfqL+jHqEQnLt5xcmc4zM+G5w+ImJyv0E6fG5lmp/f16YEA+4sMIlhQxXSnlBooU4cqrMxNK1JQfPp1tVNQFfrW94+WcaTm3Ns1ZB/N5NfYy6ziX7qgIc7AtZHesjHLapNK0ZK1i4GNVIplkItOn6w/R+vW/6mWmJdUmoUqwgX8fPKsXKVIoiTPfp7sU8zIyIwRAlkPPxHbie37rb3fc9jFsKALG1APmdD7UbyTiXxTbaUGEEUjZ0USTrWz7NYjESqXg4eTu10+QkFEZtVfV0E1KSGI+wdsj/hEMexBxrml8aWQFH29jrX9fvuvp6t2oIECIgogRkb3+MrH92W73ttM7/NwoBkhACRKrunpksc5SYPnz3o11ZpjFwMqQtiLiLEmy/1dHvh+YXZp1e3gpjvUNJ92vX8mrCFrk4xtPjvsQXFVgmQ/3ZafSL1cpAH4sBxpLjQrpJxRQresAU77eUeFloPrvVRkpOkTtG9GQYe1yn1l/to51Dfh8szWPm+RlAM7aRNf96AM2giNQFBJwG+M+f0XBC+v6OxsEqLNvLrBwOhN6XQROGFuzS7OO6LBoeYcb0u3fTgwek5eZWNH7DQBf/O9KJBeaNGruKV0MKp53Ws02jOMi+NAvpBJ3Jd7VqxsbXlaAZ2gyWPMgmX5J+W1hHNfWPvQqx0nqlZtV3NmrAU1Be/QG/BotuT7ipISrJvzHuxKw8Zg+AQUsYPBS+spnM+E9SBWq/E1vUAq6tQl7ahXhEwfpHVxLOgZrorkD6iHK2CoEJvx6tMSj9GlcR2QEXgg6p3qM4gGEAcb06WpOHbjQEt5HSiP/D0Qp+XJWbjfSv0lWG0gmY13RiY2AL9wGftld98QxOkEZl7kMw6k10lpO/C+BM+nj87+T4/TvnWN1AyXt6MSmU/YMDBJBBB1CXvKvo29mjVqtalVf7NGl3Zi31W1k5dos9k+38qjO6Ruj+oZ4L/g7pZ9lsyez00cgVFhvXRvcd+zQtpyj3xUpozpBYTGov4es7ZKAblavQ4EnG7/TO3iBdvTaXMTzGgpAlGv6cx9AF/cNBZiE+gF6f12qThUSzz0XY/M0AsCG9G4ywmUN933dyg82clp8JG1DEDSXeFFwknhdfTEHyNN7Pn9cRBCEo3yCXDV73/NlGJ+L/5vsvh8s999dSv7+nsPY0QnqXkWgyPxDlmVmGC4gC0UgMgiWCZT8e4foSmR0dnvdkdQJAJhMfQeJYtOg3pNm7i5jJizJmzs9UsXxa2meSD91or4zAbbxq5Si12uiVJfuUaQl3mMLCs1m/IugoMC/twr8S6la2cCJdbYRBckwAKJFcs4XTqN4KP0y7s2i97paIO6ro3/36MBxn0XGnDsDkHQrgaEF1VeXGA8WuFZf+zeg3olZXKe7saKaHooBsz9jvfChZaRVJexxF0f2LYrxNX0mvI7z9Tg8eiIWIurCPJNgEWm1GTGIOZuAhstFrH9ljFdQWNR6KODtQ1u5iBGKuffTtPkfjxrPkrLNko2MIV3s2zfk7dBci4q6eegc919bB716Vt52QkvhAS4b/VTQDoa6dzaIJCYVEmKtZkzJN/mUXt6XoWd3eZSM9mVJtoiWCN24pF4J83inWupcDtCz7rL9I6sRbDoBcoYlmqQCXEwgWuNmj/wG4VhgR96iuiYAQHYRRm+dMRpzXLF/GR8tWqbPTKDSQ9xPWUVWbFqZLn3td0AuRHqvT2QDO7wcA8TDIDs2rtoKDJG9IrozeZVSF9oOK26D9O7cwrNKnjRbqO0kWu7+nfWHM5a0wJYx0krheHCXZ3EOeyslJMuSaUJoHfYJv8OQe/lw2R1MqNCVmn06eEnYoqepsyw500JRHxcsvpypMmjoCMdGUxbcgq+EWtAsLBELDUuv6W3XsbjlHXjUqlWJ2X+yQwH8K0iW6i6aLRM3zBcXRJIhmloL2c4bWXkSR5+5YSzo1SgQnqcIHJ9w5UEo9BRFb9R5nkZDh/vq4R8X45WkbjM8oLTn86kRZEScOknLNlRhXk1P+lxoStwe7chJ5EC6DYqHJ8ZCu5teUsG3UCKNwN0vfkyC6f977WaMRG/oCBnCwEF6S2YpbnHXvBEidEh5oSMmPdt7sQwm9BHnOMBw1KC3AgBsmR4JSVe3X2+QApKh+hiPHPCcFtPGczbcIVXSM2X3gno7TrpSygAi8mcTkQkW+eXltHsPBoZPHPZhhYvFifeWWp6D1iL1orCxRUr8lL/umNH/KpZqrcSnHnRSiPjP5oDYRjNKx1MBos3EgwSvYfFijpIakSzOGluVAqwp1tVZaPeJJjzgtsfk28Yp95suwavFP6edpHLa8erI2N75xpOUy6hXillfJAIiOywX3UOwBR1ztUfJnGKFmcBrL3QZOsXwZ8vN5tVYY4fHsib6MkvjwfDbafQFgzJ7Udf1qXgiwMbCWH4SFWvs4q5pgaaUaRR/tjpket81YrCgEKBKpAwf4VqZErIGkhLvfqQxyuA+uRKMLgyVpn3sQ1JBHZMHBtw29aUhMCvmf5Pw36i4unSkKs5YURHmPPEb/ecBgBUlvDajMah2Hx3EszCcSIOSdWxev/TaCtS+DgDitF9US8Tpp9MzvtrSrRg5VE+fFyKu0NcK4hhsrj1ZBAj+nDWWGDouvz/AEY/zLD9HOeOfXgo89KtrHBEWFPQwz5yEDjQ7oJl07LHV9Z5giJUyXpToj/3kicbVGdfBo01Byvfhurb77dqjvpteP773aLyRVIJ83VaM5HYFsGw2rqcfXsdHs2FVumOdsqog+CgnKUHciiPh18DqWwyexMHzwuYP0qE3S3ZEa5jH3cPBTjTxJOriqljuvbbNx56x94qx6VzdG/R8D5dGWVcy8SrmplNBv17VYo0zn7OLg6JRoeEsbewSqFVr6aIftYrnltEw1LtKTfpo1bYNbghR+p50E/R637oCiSaS7U+KgJwzWjjdpcNsyMBch1SpO7SH8RwZBPsetpyaMXTfO1/jVFTCzYdyTYjCoPMTmirbHGeVolRk0fGK24XRdXPZBYyMqI+AQoaq6A6q0H3OoZRWNQJ8w7QCvthn4Bn+j4nl3aRElnm25ZgEIvs9oxrSuOizVPSQra99ylaMVDq1AcX3SA/bNA/4bS1JlvyVQcV/1pw/8DxKMPMShR3XBSSZoRfZFLmynx5XcuvdprCMqEAN5UOn8gx0CRw9bITdeCQTNjUwI5+rVBLM4tjC/ceceLxnHi1YMM448NzUkVxngPS0p7dX0kSw2LZJp/QzamMR2OseDoZJhJbgwXshbGXUxpBws67Vp4AibNnwqAd/TLOI3NRO0p71be4PhwHidnPDvuwOqpUP+N71v9LrvJslOKnrzmFbZz77HppLiOdU/433zOPrXkFTn9mrdjK8/zi853R1/8Ofpijy1DoYljrOfJmsg0cv0KU2GZdc3SYcse3ddHvfo94zqcblzl0pFe1i2lQz7Hq4Oafqny9xZ5kvAvceuNmeNrf5LEqmerDgt0NpNhiq53lCXpNbR1JwmMtgbyWDitqYBGcBEZB1mylkMyyawHtC0ZPY1mn6jkfQCzqxCnw/LmyIftBNBGysHKMwlRvJGJ+w1sbK2vzBf6wHbDulYXwt7lWG6vVsbz8I5bHe/VbHelqGVsRGzYnaDIwoY3wL0ZlgJ5vpHzH/3Yms1OkKGGBYpEUtdiLDF8SqmRFmFjncvOdg8BP2BcsRcqOBWsHhjd9E0JnsiVQvMbCCrCAGnMVTeRbnq7eUJTTWAeYZ+Z071Sg1x7zXZxTjoplVsNVTrcvdb0Rle1yTn2liT3AVHEBfE4/92shZSAt7+lbqWwsHQ1fnqchqAnR+BYKLASv62ax6385/9TV/wNs95G9+ArEUkoTukCcqqc3H937ZTtNamoPFRZq+OeCsVHz0E7yOJqLnI2tNFy0UnisbEJT44OKZA92ioa+6YVuC90IqdQYEukCAIwssT33DVUp310mWVDMUsUnWVQZEtvk7F9d+5WhwD0wjZYhjmLW17wjUy9b3fRhtPFNA1rhoZ6mB9GVYABkdUOFQVcGHvHpzVKfw5vm3Ro/g9osk4ycPAW0N5zJ4KslWCvWXmXZZwjH/h3zkXVk3WDsxfbg3YZ0Dg47bdvFbcoQUnfbyyYMc5acOa6XL1M+uX3rTJJx3RzM7f9aCnHjCs9sbiU2bDBymlADCw/MPsyrmQ2jAA8HIbRxO7XpFh5grpWTCRpLSUy27/Npcu6IuB8QGuiBuFikDgpSooX1FtA42KQGg1+5S2jQhMzdJmCj2ufYLU8w+ie5fJVNR2Yc7DJjcguXXb4qKGa/nLdSXwizzLGtvtK4qWDYuAy/vVyU75oh7ZIxoD+Oonfvjpte1Q+H1BxNqvIsG+bv7Y2IsPchq+FJhJtA9B3FLxGjhRj2WK7aF9aYWnOmRCxCF2TJgITk4iEMck+bnOrQjnIFcDVLumgZ/X7OnZDOGd51yZl8P1mTFHZH0eNPX44PJijqJ7fxbMqeC8txGMrmuDDyy9QTpZIsCh0wszWmBLvHbemL3/nvH9PQ7LV3EekiV5I6QsXnFybrZtEBcEmf5WjxeHEfNx0GtePUixEOubB5t4cMaPz2Xa6dA7qHbr2C++Mgc/aE4+g4K+d9tsAObG+pyOrNVnI+O3tRY7aBPnMeFRNaaDxvjWJA+mGXwy9E8P95qexF6ZxJgCj3e3wfemkxsr75KhtKZSzX5M04jPmsVl0DLyh81S9WiOFQAoj5Ieqk/NdvWsHDypgvYWGZ3EB0I0Irm3LSCqOnOaLGYE5rB0e8mMoR8qwd+P43enTXSohyFkENlXTdO4tune88SsbgpMkzH30wfw6V/7qNcxweQAB9cfbA+oZSb3yDJ+Xr3jn4q3n168cfeqSP6Umc5Am3yw6zOT++AQEAa1CmehtjeMXVGWXJs0eb7lqcmdMU7WjbA5GJ9RaPZdlqqRbynT+9VlglmGqsr53UfmZ05RVIDkbNapvMiFbyh8muzFN5N0WLXIcQOU8k0WE7BtyizkWBmb84+rOchkSAgot2zvCbUtfZYyLqXyNdfS7jWpAaWYRf2jT4WWhO209dUjCi0j1iY8fOoKN+a0ohU2hGpozNdMHew0JKTQ3UFKbhIun0fP18Rrb2pkHjC8my2T3jo/umMixN0i70gIntEND1eFZ4Ts+waXWp3VnFmCZnf9BnO7HoOonXD1ow8fUJfvVWgH8fI1NyDJUX3ukExaFmu498AR6+G3f/cHGIhZJ5U8qiPgiIknxnmss/jU0HlgRAzrhWzh7FD/PiOu58l/3nwISdwU4OSnfkzgQAYgehWE+39D+/3mCCBzrFpXmY9pX4KF6f0zeiVuAHT89Ui7KtuoFGy3UXm6Ee5nrUw9zL+f4WCMBtTCrheB9DV8I7B4jKOjg7a/zeuzOi6l1jApciGvnWVuuUtHkzKczBNWQ6hz1lD3lBFPyZDIOVVpL5vcIXVMowSeVTVnc4gXYZZxb8rtcf7J84SNe5PuoU0lV+kz0vFgs3oxqUGkkxOt238TUmXgUN8351TeMMVIotUPMUk1j1J/ZuUUjqbIH+YiKjdclWArUxlj0nwagKrVdCfknM5d5c3TgfQZmzYq2Wh0PuBN8sxHoIgCGAelAsRSQ3oQ2esT4WNlvjqIWYY3Z8KJhsSDwplnYQZYxbMxehGd2ieD7Aq1JvQPJNDughNqUjMYv02uQ0FMdDwC8KE/lpoU7BI0yrfGKcJtKHq7TC5CigwmYyizKlZsm+mT4fho9g0TUalb+dsCZPpE9hhZS5yGwN5n6x2p2BdNupJDlbvHUvszLhrgdVRXCDBez2HA7xHMjDw5jOLiMMO/hP0EVSJ+j6RDZb1k5wFHtrNmSIgEnnl7mZC6EYg1XNHcdthirMspycqxOljqi6rq6zD2EHAIDEoQajcs31xaR3z9Wi3X6gPTGKmXc1wrrGOCIjT6OR0o6/n1gHzMfX1JNssgyDaBMKCOR7XmMACMR8SHAyA34RFGZ8f8jvOrTJQXB5ZppE1HouYE+m9i5T6za3/nnRSgV/aNZ5Lwh+pAnB+iJnk06hXbT9vUDoBP17ifF7XVJTZNDpx2sCe0hoJc36Z9fCwtD0W5Y4R8Dt8uXY4wp+Ix52iApseJIt2AyxXgx9o2eihkJ795DuXot9qbAUVy6tqRgXf9SqILYcU7yi84wLfT/gohSU8dmm6/V7I+t1XXB3q5V+CdYEsLAOnRRbE0gvqq99Gh2otsvxIM2uDrL27G7ivYJzcdjCwdGMIX4rq6L667a/7H9S6K3a3G7oOL3W3F7gOJ3WwtFsM9cud0V4+BI8DrKyzgDEkYyaxOQ1VTnO2bygkpVxJdvrik95ZTpCVrgiHWiYfIQ3qmDx/3bTbxEniYoN4nwBpD0ljF7rWUHzjdXE5IudLp9M0lvfecIi1apf0l4vze2Ea/JLLcyPIGlswwWO/szBLDmno/XiL2dMb87aLTZa1cF/2Jqh5fdk8sv29wpIFu4vBJm5pgRvZlmPeE7eq9f5qBqSLbnA8G6c+LKhv6J+1MtxxpLBQcPXl+qM9x/DDS5fsBb7VH41YPpqxvnF1y9RZDHTnr2jqr5+wbggBrgS2f3TzNP+wPNszf3WZfD967s0FJfxnW3cjU/j0od+wD/4/ec577e8BV9wic3O0gLsCTY339BeC1Q2tYtE5k6BhfxmETz4AqK8xd7yeO2vJZYaNCo8Qw5TwTWmOp48/X1PlEENyjA4BCwwfMIUgU0HMT9hi7ZC0HLMnTOL0+TiFYP85l+mHtrapQBY8OtkGZk/+2pGxnYrf/ZU/HzXobX3Uej2lHrxNNkw9lA6pb2sXwsNMGQ/uBNV2ql1OreMONJctHtZR/7t/s/zgHIgfr5sLzjjLwKwrpQSh7qoLnZdj32s/PVsdBvN+uftTF+eyxvaHWabPytTptL/7Cs89l2sTbxN3gyr2Am64h+8pEQP22qPIhEIbWlwKdqiKfcc4Jae6WG1U+pvnMfHJhfyJ7TTpOwe1nh/n1RaYa37AvNsuVL38yI5M9V4ZbVjX2ym3HtKOFAw6jjidOmaqQYF1++igBbQZN9tdSYUft9JgM8RxeOZnPzy7WXODUU5tj/ZoSTNUe5p3aXqqJqFfMHfdvAZ+e/pDBSbCtR4CQF1W3Hm76kzS5+vj9P7nl5O/JkZRBWv+Ae+JDrPFsDWmsWCS/8TfV6WUfT02WgK/3yVs2HdDyg9cJxPHkMw7S/tpIUodlz4wlb+dCT7oPHlsnZhyPNaussXwv80fv0s93fS50z5EOnMmQL0EmG/HvT1DjQV2X0hWgOC4+V4lFxQNUWd8gzdZhB8v+4mNg38xPN5b6Fpch7UudZ1/zKrJl1EFBi/Pq3mXRZo+jHkjAU3cu+Ny1/BhQn5jZVquMgXVbWmURKClKs99qgcpbToEoRM29Lab0JUfw0Mb0DGSMAPDYgjic6XtYyO17vAlETvrrs9vY7W1sQUaVgva3PQkjdpb+JhDedSvsvIXZh7jeKGL/diBhdKcAaFfxhHLpfNON0K0Xb4NW4wYT6uEA+8ilbTI8c+jVD+uNLXwVZVZ0CaMNeDfZxqGuriVtzVLYpoGweWkzrIfea8iMoevNHBg1xElP8wZPMu+rL+vNBWiERr5W1uH069BYPD+vx7h7Cq9jIsTX4ViB5/cxuvN9i937Fbv3M3brEcg8eKXSaGEA9guDjpT1LbOEASXg9t4ayUtEScXyqFsA94sHHynrb80WxpSROL83R8TyxGqKbsaNqq8M1Npo1SANWZ/7o1OtLRKHqAPW2cTRmd2RozCJpXTujxTlyQCMJb660Y+rIkOWBkF6atJen/uCDPU2f0euoV/dY+7pfYSaJ8PSi1uJGNcEvZW+6DGmYV39IrBchFctnctRc3QNc4XK8rbPGCskeiv1kS88ksoayxgrbEdvpDcghJmSa38ArdU9scrXUUOtcK4PzogzvD2QM/sl3/higPL6LfEs5Sb+p7R5YEQZxEyB8eSw5TTz7StN1seukzbZX2Imd/XCuIyIIxMk8oI08/8vyy8SPGeWPtmOLIB61WNklvKTD0n54xc3rPnLO8Ndfq6O7IlynJ/HIVCcazY9BnR6U2aOfER0ryEdt9OfU+CWz/19baCP5qyqW6FSM0W/OnFMSN9xVMCsCxavF2h7qQ/BIAqppF8AUhcmoQmc/X3hEUyUUisNZQBoqwQSi85/fwhDsIV4xvbQhRAWTcYhCzxDXgp5gCKPIiQMNcO7tp6Z1p28KXYmTx86L4ITqfFZvrqv9ZC/Uf54qBzYHyoDyMf2dQanjwDq/tiw/y2CkHd2+q2uH+tlV+UBsB6i1yfP1OXjcaPPpprMjwtqvQP+sh7rM2kIbkHaEVqUFtcYIavh/BUi7uynLMdFts/doghIir/LTnt31rbInnQfy8ZDphwfXHL/OEzZUWAc5HUgwBG1i9fhTlwdOjBajnzQadPuZrMk6YlQFXrXPBXT9JEgCb2ASEkxxlB8K6keI2lx2kNhPsw7krjoyDBm6IHdN3TkJDd7YyzDW7y5hQ+f3kkY86OTU5yEoYUR48IHYViLzGEUIm9CQ6azU6/yj04AKim9XEWExP1an/OePH15I5hybA4BT3ei0b9mBbc5zLg7WrsYlL+15hgDoTyH0ZWpBJMVac4K562i03cxcpWSARHlmMVQkCFQQfpTr6mPv4boI3ZGhiB9h4UhLFpILhl4Go69AH2tKuzT7mpRFMRw51WlB5c7vEXRRdhJp5GhL94Llz9AGRTF8wnpbg/8REjtK3i8Rqyk1tDGRxBr1+MxOMqoRpI1M8dsAx6mLnN9X+j9Z7ISjG14FjU6pHl+C4+OZqyiS5Gm/5DwW1Sp3p8FrSCTmM8T5lesd/JddsFW6ESql3lzYrgjVWv2My6nQo3g8BcHvn5qaFqR5aGfZGvZI9pot6jDzkR8F/tY2Bn9elu0yXJyCuRnWJ87eVY/AR71NWp4d6j0mTV53/i/7KVa7O/j8qEJLgNeMrWlmSGdWALB0FRGdFuUs8GR2EdRm6+aw3KTq+xwBY1p0yeQWNUakl/QxCtucxATCJqvjxIDknf3yZcnHqmRdk/+7XXgDKUxjSdo/E1oxu3CY4gjaNiORua5DD3nBNtWNC2UvFEMKrpmEz2EwmO8WHxlfBcr/b7CWBd01IqvwvQNzy5UvWzH5Y60vlRzP6MXbhdlstiE0dEp+mhN5QYNu+xterH8yrzY/CLzK8a3W/1+oYNZNGjg53XjGxWM09AEk+Za3myHJBK1xvgfeeJqxi7oYAgxssXSMTZUxpNeDjhAIeUPjYqhzkz0FM8+IGXFZl6Uz04Q5T6y73jR80tghuvd1ikGJ0wbJXZI5fv5UHqzSNsqg63N77+tSL3i7IqrUmq2sQPool6byFS/p5yF453fKqQpV7wsBVXiLGVWj/DOANKpMpE9IsxlOGLwJvszCV9kOvQb9cb/3xGMHCITW8nLKkJy3s9BwkKXPdQY7tIUrC5c6LZRTwW8q26BfUgTJCO0oZdps23hWxcoIprOa4czkoTWWr7YQbkl/EfmE/rPteWgODVTgq05S5dDo5K82mf8U3y3sCk4ZFqs2YImAdVwWNloKConEtlqf1cOlyp3n5rL3Kv/JOvkZKhHxa7QEkp9GWx5qWr1EsrgFlrVF7GmgZWzANf+j5qx+prWIuxAxcA+EIuFXkI709aJZzn5ZQENWOh0cWEAmWHevuV6PuybJsSfWD1NXtQXGUWkRNsXsGoiaqXws+PB46IZXXoqn0yhEwe2B/jnL/Zf333R0c5lm/9z9mCcb5ya+z6HwO09dzbs/3a6v6apFDbvDsa6vJHprX4UjcLyirlGCgKy2qS14iVWW8xJegKjVUYQ8HY2YhS/QCdmpp8uT3YzL/NddrcgvPEuaxH+XoDZJHUXNxGCvJEe1FJ61Dp8sRBvuaOa7K6euAFDc4KZGRSXaEY6x1YFuLMhfBZl63pzGZUuPV1Kmm8+qs3NmJN3npq4+oAOcKOQdfga0gUfH9uXCHw1Q2KBRGPg4g2jSbm2lJ8kYrLkDV5a79gA7Q1pHg8q5rMMH8tE7KfzyBp5tLFnFqQDwG2sd6CGzV0EsjavJzIdUuhyRABt4SSG5Xz9wATtjckvT070iazaIDpzJwuv6ZKS773MxXnKbbSLqnnpBSO8S2hnZmhhwMJUhMZC34gYrXkcGIqYGoC7NxawdLBEuRONviYVUtEESDesWuDIIVra/woqRLB5bYYuSLCaDkpZSKOdIMgKhXfxLx+dOak90Afo1iTT32nxa08Jsv+4bXWROdNJqN6CSq5NxtmCMomtCTGJLunWSucFQ+QQt0h2+Uc43XfL0GPH6P7MjHuWjCWt2FM0YsBvV06eHlJLCKom1QKqDNFmY2x5rIgUn3wPB8ZlGmDh975taUY8nYGHxhdt5sdNBFT+nuZnksEpYd52pwfWrtFG9t6LAR/OkXfjedMCR8dzbfwjv2QC9FzdC2kjEOyCw3wnuAzXZnX8Vn/dBqO2u3DVNAGascCGW2ED6Msz1h+kNJCvev/nh1R0HVc9y+o3seQWIMBgFVU9/cYpNKVCvFDWX0guku+K1Bq2ZX6rCHuYKwbVCU0m8ik7IImGH5biAaDlaYPF8NpQM6BYXalDq2qxpWdzQObXzZUy3aVSM7QHJNTyQ3WDSxR2kFQF0uinay0C7ywiA3TAu/qktQ77wgfh3MmprB9w+2+XQNPJuzs9bmLAb27c9qSO28npDbmK4fZGaQw3S7XrQgNTU6nL892GP7oMfDlPg+Mqh0FqykwvuyQ2qsVAoWMgwaR0qc7hBYwv1BjZIzRThMHxKbg/VWsdy61iKHJABFoZpBd0ToNO+tVPo6QBiFlhuvP4aeNlqpz7WaApxA+mMFi6G4uGxftiAvoU+2Lo8j4GMCrkyqeMTB3pp4UkgiEwQMJNKH7+4H8xUaMRhoHiGzail552pVhKrfL84aeE/5kQhuwqaTkPgPmWEocaO4iGM9zEVk8JKDnlf/1mD4shjWbMxVGWxuTSkHSGfybwPadVXrEjWLUyvCTJUCXYBJ0mIJTNCDZ+u6z00WgRJRM0vcsk2oSVQJjUriBEN1Y2R0e/bKl+5YroxQvwYIUbN3wg68s/eqVv91kKrpwKfoVbE7W2fc0JNr/LAhYmW7HTCMCVOUtWG3pGtib/DGrIvzPd8SH/SZlfDFHeGWORQXd8ZW43UA0LTdXhgoY98dEazfY9XAw/xSR1DAwpZ7cXKoT1bN4FB6xblJ4EPjgxjuQc4ja43VcauDLzS3LbXRFEC0IK7RtVLfZ+TePD9gDFBIJHFATgtiX+/17QDR/aTg0/+7SdddBPY75gr0hO5n1akFTpNWSkoUdJC6wnkY4MFg6iDT3ntCiuNVZ3wSjEESgivtPAuj0lz/e+oh+AvwV7abejqgfRUi7PUCbRYlEzJsZsLxzJg+LGcy3DnVpdDTNzfeTeGboQQMFeGyvXaKhECI9JRf02NcWyjboOsT7k/MaiuERZzhpVqwokXEQL3wgfWHgoLOFz+x95lUhsdaaaR2+TPnsuJ3aYgh3Peb2exQyllwReCHEcMEuggQLGLy+DGaR176cG1oe5Zwt1WO0LxN9UNikvZKUjCyRB6HaKBYUTOfnuAm+LIZ1EPIXOj4b9LneKNDFSP6eLKEXewCPar9g8Gpk75m6dWm7nIUKPFbzWdsFZB0etSBKx6zE8NKIi0L4gN8kb+ATO06SFDf72qsL+uaUdZ1YCwe7SPiwx3RAVG6Ibjt95dzhOppRoubrn4Q7mkISs/Tk+fU1YdSLcH5kHDO2BygHfA6jyB0FbMX4mPabT8AhROSc8vXPElbPaJr/j3kQ83ReecY9NJcj5BpZxhxW3C1z8Y2flyuhOJ/yqmuAL9+ebdSvboU1ECgy7B+Q4vOUZ397T2Wa+u2L6D78Cy1h46gdc5ZA4mGXfTmZ+T+ewP9f1b8GV9WKkAjrO8U1sRpc+67et5xP0l7PzoW8Ihbe/8pO4cCEKkkcahMO2dESwohysabpZaOCdYdwkJIiklZH+3HJXbhI+Lt0AI5IqQRJsNfzKNi+1I5zzZ6nBB7ERC4wiDbmcTtI0nTt90whmNMLhMUto+aHcU7w9JVGeIjbeTYoynAnDt+80kdEqy70M/RMpCm4/61nPftZzPsdTFCszv7F8WTzH4wH8V/WwacyojvSuEe+k82i9sakUPcS9PWaoRzD+1Cy0gszLJ4oxF14fjhczVXgezbr5E52gk1BnSlRhjyJsWx208dqQgL1DNJlCUWk+X/lSduzLin0/QzX2FG/QsTuDxu8hCL1oXbKjxn4Iq0pv97KFKBnFtRk0AvNDe2VqkGJtBjr6vWELSpuLlg3FwRnnhdB9ss/v8/22zEA5xmp9O1MCkvSy9r0TcrHuVMVnhf9jMNEZbO5KCrpllR/pC7bSLiZB/fWKA09FLji+3rZyk1VZEW3exc4xsq6sk7l2lLfrMlpH4q0zcBabLTVVj6pPaZZoOnNcecMdZKU8tuU/r54+2a5MuQPQ9Kjf0mkJLyrO6ci8uhWndOD//eJR+V/ZpThcItLXgIqeTcPaCkJaudYTPWwh0jmCpvvwh7XIB4PEHWMQ+XvE+2OOTEbms1SSu0qK/p16+a2xcwdg4aNIQhpuK38YiGRS6xwszeUhDXmip+Nzun1b/zL6Yutxr2pETwWiK/dImrECDHPKn0si6bsehz8qRLKQdpfGt/347EJn9ZRuaLSldFRO6WFCTYGqOFQhTHjvPgRG4/ZenhgtdTCbJ1RSeAWFU/K14+wOkQxE5JGmMv0ktaWnfPqq96ldvjhbBmiTzosguECbhl/HRaMAogjOkgAM4XW2kDC2ESQvXFZE0sXm1aYy22b3e2w9rbS6s6ht8IBMqANMC9Wk4nEH6G0TH3dkEDnVVDEegixAHGLj9qfWpikKTh5QGImkESN8fWoxXmIwvGAN/sxWBNk7pKLEB7AzBKOlpbS2palF9H2yqi2sWEpqLGS/qVgqHVPlyjrCeZ3/nGKsv8BnSWRKKJqnLePVLUY41BMAYWMyzHRBDrVQBxnkAEDuTv07AiDPSgglgDpk0GVfjv33B64i2/oNP9/21bGxlbXvwre2XtMLunaxZhfsQr1hwNrd2rvS6+1CvxZrtnHrWXvmH2AbO2htPDwoj+jdKEI9r1ov5cIvLQ1vCWPYNEypBu6ZDQTXfwy5OCqoQkgNKSzHiEUxW7CjAEQNk1lwMPRdsOOCVdv+Iw1mys82cPuKymyCaHbyNaj3tl0HFzhqR/qt4DgZrWHQtRMPZXioYo4nepWl0LcrTm9QswkAudNBhv/0XAKjc5QTjLCnIg5By4oNFKOkW11sE+YMDxpxcNqGyl1Ty+68gtr28EwIfQyiHxZwrvjCGkgyUw4IqEw+QMKknexG2mYuZQphe57iHh68VtZRK+Bk/lB3tE1WA43ri+K4WjYbgLZZzcXBdzH/17KY8qLoM3iDQI3Oqj0jpDxgHB2XpkAelBmfe2rsPTRdd+JjnlvYQfSZq14ItEOul+gtt8dfaNNOR3neEMoGcWGCXPtxHJ44LMAEmpKYj7H1Da3IRaytl6j5dHT6xkQTUtIGUdg3bk0kUpefUBm2KaCx/rwYVd30D8qxlNT0kLQ45WXpQoP8uFQVR0K1LovTWLPzLb+WvPpynp06lSnWpkaIaLrH0ocJiTBXSAo2WYKc0khnZx0owsoXtl4h4KRah1N2aMCwDUvB7Wl2j0rgIO1wdEH4b1vgiurcP2CD9T4iOEEy7mtbXkIHzk4AeMZ85CjG7zJKbo+nWyXtQkql1PIUc9sLRrRHdvKTTnnwdPgE4KI/na7iWLIVeZ0ALF17Bp8L22mvLus1G0+EpPPSg28PgxmvNsHGmNXwjYv909hZwvdTGf/btaqEbHELQvDPstRIdiJzHlDN0aTwa1RgrusU1c7sAOoXLHHhYL6760XtqBMjz1UzL4yC7E78ymXr670E3Q8TLE6Q2mUvfoERzhmWaCJTVK9cmljJ8jeOpvbIM7DmcMfFqgCoaXYTzss5kXtx4PcE8ddWxlSKr3oJkJ/APsCGeVXI4XJjejhstSa9ygBzph3kNMobWMJGLUXz9D0f/is7s+HnhFm2O0tnerR8hYn12ES1uKy53ISu34unX6pT/sDpBAT/yjIzTVj8w0aMXN2+xgystdNLSF+W7isxDS1GIw3Ua6cLG66/7PQrT+w9TVnF26WvfQwUL3SSl1VxLVxfPGKy13NtflE2kzvyKP+Jqm2SYQAn3OnDYZf8ITgN2fpVx3xPyFXWPxl+D6U0Gvv2Hen2yzXPxM3VC3gztWUPs/qwVnlOEltQdNLGzG9mUpw2YDo7nCi31nX21lg85KZoSl8PJuh1j4IOD8GKvFsXsxt5p7SQCXzIvqIrHRst+LaGgOoNVknWHpcejqIE/8z4fBZtEqn+6jI37Dwy51sIpLocs054mbi176BKsPyqMfLiqt1FMoElr3dZ68U6vwbOa78UPfjuSp0URMqjU42pndbkTF9aFzi9XxTfDs3+rfGELbFhpWwCjJwPqpobEYOjFcfXaSHG0nny+C4jvVcuIIBFuSTzaS3Er5UCjNTSTL9exEaR4XyaqBDGNrDpZUkPfOaHf3nSwIdLSIiVebAsWpFSJ8a1VSgzrykd7bePT+LC4XNRA0WyL/IXEWX1dg0rIJqlKs0ZqmKaxDIfyCcHJB/rF6eAVlOgxoXt8lIzF5P5M19s6Whpv3jq5GeNnVsOWL7JjAa8mfp23TbbYizgncfDq4Z/wSsEOP0PYdXhkzRV/PEfUni7iIGIecSty3lpw6/Ri5vr86sqf3Qs9bgMO3xlojeyaf+Sbzk8Abw+emg6bJEdUlzziMZFMi9V4xVFc7vZKlX+Lb+wWyOg3BYGuS0JznqD74fBojJ8gOixiFzYSVOl85bmc0UYVstatNCtEDbaJJxtk43apgMOFPvhIdLz5hbkITqY4mex1puesC2bAZnCEUI+CX2Ji5b/7ADxmgukNL9u2LcT7uGYyXI/O2HNPlmlP4kUyKvivnV8Z6LpxfvmsYF5wqzpB37JCZlzh4Ohp7c8uqJcDqxyfKgfSYkmJL9M+SQHOO4eJVhvWunw2KoMppfExI9D5p7dRNoGvVO3twf81w4l4vJKKC6OdjUz3W89jkf5Z9dF67DVGNT48sxdiTneDUASvh90+ucw1wxGMtsoaZF3dVa+qHimrIRlSBP5cQh4tgFDAlyam1U2w4UYJujLHsewxxEvYR3L3uoFUw2fmrLLAYyzVHKnip1wsCWm/Zw4tk+9PHNjYwRw0MwJmDblAgShHKQcL7Fjt6GumSoiqjAaLBk3uCh9NQ9BCOHmjArk5HKVY/BBo8NxXxSFIV1H1B0HLnZFxVncgjn4mNrACzIPqGPHxGZFF1wNuq3713KTboT2bmC/sjUAPN/M44cjnhktofS3cOtOhd8Pemh+oyqtrA6iH8es8nTysaaUItV2PJDkvtV71c06CEXhMxVHtofIrOVJ+K0p4uOi/RDwRxSbJcgJjW0/xLqVOuWKfy6BiYP6GMfiw/THg7Ix0LvQksXmqfwnhweBnI0ZFDquHiZo8wiBABdrBUglDXPxAW+f2Wk8I5XXqQtRG3BnVc/iN2y9wt60+DF/cv9kLoOQDYt6Z9Ot05lf+pSZTMYzG5XSi3ADvHgzrBj0MHOER6uRejgetaMIOx1WxvWlZzjS75FGkapyfLA5p31x2nTbiulfxufbHp32DWEpMXsCE074L/THjwCHUNeBkBVAuvtw4cfkMNHJP754V/nUXFuV8uQ8NHCACyH5qGk8okihFLU4EJMbkGJggJ6LEGb9yi7bByf431cj56d4GpnePPU8iqu/qYXEyLvaBKRP7jzf0w4+qdz4wT9wNHnc4S74+T5vl5cAf6B13Gn4+nu93YfkzvkPDGSky62HNFXMu8UCPsMQMnKJZMwGo+JyX5AdAoq71mJtAMiTgLHOnew0Hx4IRvprP9kvm3jkvmr/GNmvPBh1M8qkQyijNENRaciTWVERLQA=","base64")).toString()),eM)});var vle=w((oM,aM)=>{(function(r){oM&&typeof oM=="object"&&typeof aM<"u"?aM.exports=r():typeof define=="function"&&define.amd?define([],r):typeof window<"u"?window.isWindows=r():typeof global<"u"?global.isWindows=r():typeof self<"u"?self.isWindows=r():this.isWindows=r()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var kle=w((T0t,Dle)=>{"use strict";AM.ifExists=wze;var np=J("util"),Ts=J("path"),xle=vle(),Eze=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,Ize={createPwshFile:!0,createCmdFile:xle(),fs:J("fs")},yze=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Ple(r){let e={...Ize,...r},t=e.fs;return e.fs_={chmod:t.chmod?np.promisify(t.chmod):async()=>{},mkdir:np.promisify(t.mkdir),readFile:np.promisify(t.readFile),stat:np.promisify(t.stat),unlink:np.promisify(t.unlink),writeFile:np.promisify(t.writeFile)},e}async function AM(r,e,t){let i=Ple(t);await i.fs_.stat(r),await bze(r,e,i)}function wze(r,e,t){return AM(r,e,t).catch(()=>{})}function Bze(r,e){return e.fs_.unlink(r).catch(()=>{})}async function bze(r,e,t){let i=await Pze(r,t);return await Qze(e,t),Sze(r,e,i,t)}function Qze(r,e){return e.fs_.mkdir(Ts.dirname(r),{recursive:!0})}function Sze(r,e,t,i){let n=Ple(i),s=[{generator:Rze,extension:""}];return n.createCmdFile&&s.push({generator:kze,extension:".cmd"}),n.createPwshFile&&s.push({generator:Fze,extension:".ps1"}),Promise.all(s.map(o=>Dze(r,e+o.extension,t,o.generator,n)))}function vze(r,e){return Bze(r,e)}function xze(r,e){return Nze(r,e)}async function Pze(r,e){let n=(await e.fs_.readFile(r,"utf8")).trim().split(/\r*\n/)[0].match(Eze);if(!n){let s=Ts.extname(r).toLowerCase();return{program:yze.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function Dze(r,e,t,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[t.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:t.program,args:o}),await vze(e,n),await n.fs_.writeFile(e,i(r,e,n),"utf8"),xze(e,n)}function kze(r,e,t){let n=Ts.relative(Ts.dirname(e),r).split("/").join("\\"),s=Ts.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=t.prog,l=t.args||"",c=lM(t.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=t.progArgs?`${t.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r `:"";return o?g+=`@IF EXIST ${o} (\r ${o} ${l} ${n} ${u}%*\r ) ELSE (\r @@ -242,7 +242,7 @@ attempted value: ${s} ${a} ${l} ${n} ${u}%*\r )\r `:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function Rze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=lO(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh +`,g}function Rze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=t.args||"",l=lM(t.nodePath).posix;n?(s=`"$basedir/${t.prog}"`,i=o):(n=o,a="",i="");let c=t.progArgs?`${t.progArgs.join(" ")} `:"",u=`#!/bin/sh basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") case \`uname\` in @@ -257,7 +257,7 @@ else fi `:u+=`${g}${n} ${a} ${i} ${c}"$@" exit $? -`,u}function Fze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=lO(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +`,u}function Fze(r,e,t){let i=Ts.relative(Ts.dirname(e),r),n=t.prog&&t.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Ts.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=t.args||"",c=lM(t.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${t.prog}$exe"`,i=a):(s=a,l="",i="");let f=t.progArgs?`${t.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent $exe="" @@ -299,19 +299,19 @@ if ($MyInvocation.ExpectingInput) { } ${t.nodePath?`$env:NODE_PATH=$env_node_path `:""}exit $LASTEXITCODE -`,h}function Nze(r,e){return e.fs_.chmod(r,493)}function lO(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Ts.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}Dle.exports=AO});var yO=w(($bt,Zle)=>{Zle.exports=J("stream")});var tce=w((eQt,ece)=>{"use strict";function _le(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function e5e(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return pQ.alloc(0);for(var i=pQ.allocUnsafe(t>>>0),n=this.head,s=0;n;)a5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=pQ.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:o5e,value:function(t,i){return wO(this,e5e({},i,{depth:0,customInspect:!1}))}}]),r}()});var bO=w((tQt,ice)=>{"use strict";function A5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(BO,this,r)):process.nextTick(BO,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(dQ,t):(t._writableState.errorEmitted=!0,process.nextTick(rce,t,s)):process.nextTick(rce,t,s):e?(process.nextTick(dQ,t),e(s)):process.nextTick(dQ,t)}),this)}function rce(r,e){BO(r,e),dQ(r)}function dQ(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function l5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function BO(r,e){r.emit("error",e)}function c5e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}ice.exports={destroy:A5e,undestroy:l5e,errorOrDestroy:c5e}});var Sl=w((rQt,oce)=>{"use strict";var sce={};function Ms(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,sce[r]=n}function nce(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function u5e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function g5e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function f5e(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Ms("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Ms("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&u5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(g5e(r," argument"))n=`The ${r} ${i} ${nce(e,"type")}`;else{let s=f5e(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${nce(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Ms("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ms("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Ms("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ms("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Ms("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ms("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ms("ERR_STREAM_WRITE_AFTER_END","write after end");Ms("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ms("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Ms("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");oce.exports.codes=sce});var QO=w((iQt,ace)=>{"use strict";var h5e=Sl().codes.ERR_INVALID_OPT_VALUE;function p5e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function d5e(r,e,t,i){var n=p5e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new h5e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}ace.exports={getHighWaterMark:d5e}});var Ace=w((nQt,SO)=>{typeof Object.create=="function"?SO.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:SO.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var vl=w((sQt,xO)=>{try{if(vO=J("util"),typeof vO.inherits!="function")throw"";xO.exports=vO.inherits}catch{xO.exports=Ace()}var vO});var cce=w((oQt,lce)=>{lce.exports=J("util").deprecate});var kO=w((aQt,dce)=>{"use strict";dce.exports=Lr;function gce(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Y5e(e,r)}}var ap;Lr.WritableState=dE;var C5e={deprecate:cce()},fce=yO(),mQ=J("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(r){return mQ.from(r)}function I5e(r){return mQ.isBuffer(r)||r instanceof m5e}var DO=bO(),y5e=QO(),w5e=y5e.getHighWaterMark,xl=Sl().codes,B5e=xl.ERR_INVALID_ARG_TYPE,b5e=xl.ERR_METHOD_NOT_IMPLEMENTED,Q5e=xl.ERR_MULTIPLE_CALLBACK,S5e=xl.ERR_STREAM_CANNOT_PIPE,v5e=xl.ERR_STREAM_DESTROYED,x5e=xl.ERR_STREAM_NULL_VALUES,P5e=xl.ERR_STREAM_WRITE_AFTER_END,D5e=xl.ERR_UNKNOWN_ENCODING,Ap=DO.errorOrDestroy;vl()(Lr,fce);function k5e(){}function dE(r,e,t){ap=ap||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof ap),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=w5e(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){O5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new gce(this)}dE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(dE.prototype,"buffer",{get:C5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var CQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(CQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Lr,Symbol.hasInstance,{value:function(e){return CQ.call(this,e)?!0:this!==Lr?!1:e&&e._writableState instanceof dE}})):CQ=function(e){return e instanceof this};function Lr(r){ap=ap||qu();var e=this instanceof ap;if(!e&&!CQ.call(Lr,this))return new Lr(r);this._writableState=new dE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),fce.call(this)}Lr.prototype.pipe=function(){Ap(this,new S5e)};function R5e(r,e){var t=new P5e;Ap(r,t),process.nextTick(e,t)}function F5e(r,e,t,i){var n;return t===null?n=new x5e:typeof t!="string"&&!e.objectMode&&(n=new B5e("chunk",["string","Buffer"],t)),n?(Ap(r,n),process.nextTick(i,n),!1):!0}Lr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&I5e(r);return s&&!mQ.isBuffer(r)&&(r=E5e(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=k5e),i.ending?R5e(this,t):(s||F5e(this,i,r,t))&&(i.pendingcb++,n=T5e(this,i,s,r,e,t)),n};Lr.prototype.cork=function(){this._writableState.corked++};Lr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&hce(this,r))};Lr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new D5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Lr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function N5e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=mQ.from(e,t)),e}Object.defineProperty(Lr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function T5e(r,e,t,i,n,s){if(!t){var o=N5e(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j5e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};mce.exports=Aa;var Cce=NO(),FO=kO();vl()(Aa,Cce);for(RO=j5e(FO.prototype),EQ=0;EQ{var yQ=J("buffer"),fA=yQ.Buffer;function Ece(r,e){for(var t in r)e[t]=r[t]}fA.from&&fA.alloc&&fA.allocUnsafe&&fA.allocUnsafeSlow?Ice.exports=yQ:(Ece(yQ,TO),TO.Buffer=lp);function lp(r,e,t){return fA(r,e,t)}Ece(fA,lp);lp.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return fA(r,e,t)};lp.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=fA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};lp.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return fA(r)};lp.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return yQ.SlowBuffer(r)}});var OO=w(Bce=>{"use strict";var MO=yce().Buffer,wce=MO.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function W5e(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function z5e(r){var e=W5e(r);if(typeof e!="string"&&(MO.isEncoding===wce||!wce(r)))throw new Error("Unknown encoding: "+r);return e||r}Bce.StringDecoder=CE;function CE(r){this.encoding=z5e(r);var e;switch(this.encoding){case"utf16le":this.text=e6e,this.end=t6e,e=4;break;case"utf8":this.fillLast=Z5e,e=4;break;case"base64":this.text=r6e,this.end=i6e,e=3;break;default:this.write=n6e,this.end=s6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=MO.allocUnsafe(e)}CE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function V5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function X5e(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function Z5e(r){var e=this.lastTotal-this.lastNeed,t=X5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function _5e(r,e){var t=V5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function $5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function e6e(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function t6e(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function r6e(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function i6e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function n6e(r){return r.toString(this.encoding)}function s6e(r){return r&&r.length?this.write(r):""}});var wQ=w((cQt,Sce)=>{"use strict";var bce=Sl().codes.ERR_STREAM_PREMATURE_CLOSE;function o6e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var BQ;function Pl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l6e=wQ(),Dl=Symbol("lastResolve"),Ju=Symbol("lastReject"),mE=Symbol("error"),bQ=Symbol("ended"),Wu=Symbol("lastPromise"),KO=Symbol("handlePromise"),zu=Symbol("stream");function kl(r,e){return{value:r,done:e}}function c6e(r){var e=r[Dl];if(e!==null){var t=r[zu].read();t!==null&&(r[Wu]=null,r[Dl]=null,r[Ju]=null,e(kl(t,!1)))}}function u6e(r){process.nextTick(c6e,r)}function g6e(r,e){return function(t,i){r.then(function(){if(e[bQ]){t(kl(void 0,!0));return}e[KO](t,i)},i)}}var f6e=Object.getPrototypeOf(function(){}),h6e=Object.setPrototypeOf((BQ={get stream(){return this[zu]},next:function(){var e=this,t=this[mE];if(t!==null)return Promise.reject(t);if(this[bQ])return Promise.resolve(kl(void 0,!0));if(this[zu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[mE]?a(e[mE]):o(kl(void 0,!0))})});var i=this[Wu],n;if(i)n=new Promise(g6e(i,this));else{var s=this[zu].read();if(s!==null)return Promise.resolve(kl(s,!1));n=new Promise(this[KO])}return this[Wu]=n,n}},Pl(BQ,Symbol.asyncIterator,function(){return this}),Pl(BQ,"return",function(){var e=this;return new Promise(function(t,i){e[zu].destroy(null,function(n){if(n){i(n);return}t(kl(void 0,!0))})})}),BQ),f6e),p6e=function(e){var t,i=Object.create(h6e,(t={},Pl(t,zu,{value:e,writable:!0}),Pl(t,Dl,{value:null,writable:!0}),Pl(t,Ju,{value:null,writable:!0}),Pl(t,mE,{value:null,writable:!0}),Pl(t,bQ,{value:e._readableState.endEmitted,writable:!0}),Pl(t,KO,{value:function(s,o){var a=i[zu].read();a?(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(kl(a,!1))):(i[Dl]=s,i[Ju]=o)},writable:!0}),t));return i[Wu]=null,l6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Ju];s!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(n)),i[mE]=n;return}var o=i[Dl];o!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,o(kl(void 0,!0))),i[bQ]=!0}),e.on("readable",u6e.bind(null,i)),i};vce.exports=p6e});var Rce=w((gQt,kce)=>{"use strict";function Pce(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function d6e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Pce(s,i,n,o,a,"next",l)}function a(l){Pce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Dce(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function C6e(r){for(var e=1;e{"use strict";Gce.exports=Ut;var cp;Ut.ReadableState=Lce;var fQt=J("events").EventEmitter,Tce=function(e,t){return e.listeners(t).length},IE=yO(),QQ=J("buffer").Buffer,y6e=global.Uint8Array||function(){};function w6e(r){return QQ.from(r)}function B6e(r){return QQ.isBuffer(r)||r instanceof y6e}var UO=J("util"),Dt;UO&&UO.debuglog?Dt=UO.debuglog("stream"):Dt=function(){};var b6e=tce(),WO=bO(),Q6e=QO(),S6e=Q6e.getHighWaterMark,SQ=Sl().codes,v6e=SQ.ERR_INVALID_ARG_TYPE,x6e=SQ.ERR_STREAM_PUSH_AFTER_EOF,P6e=SQ.ERR_METHOD_NOT_IMPLEMENTED,D6e=SQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,up,HO,GO;vl()(Ut,IE);var EE=WO.errorOrDestroy,YO=["error","close","destroy","pause","resume"];function k6e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Lce(r,e,t){cp=cp||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof cp),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=S6e(this,r,"readableHighWaterMark",t),this.buffer=new b6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(up||(up=OO().StringDecoder),this.decoder=new up(r.encoding),this.encoding=r.encoding)}function Ut(r){if(cp=cp||qu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof cp;this._readableState=new Lce(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),IE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=WO.destroy;Ut.prototype._undestroy=WO.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=QQ.from(r,e),e=""),i=!0),Mce(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Mce(this,r,null,!0,!1)};function Mce(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,N6e(r,s);else{var o;if(n||(o=R6e(s,e)),o)EE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==QQ.prototype&&(e=w6e(e)),i)s.endEmitted?EE(r,new D6e):jO(r,s,e,!0);else if(s.ended)EE(r,new x6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?jO(r,s,e,!1):JO(r,s)):jO(r,s,e,!1)}else i||(s.reading=!1,JO(r,s))}return!s.ended&&(s.length=Fce?r=Fce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function Nce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=F6e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?qO(this):vQ(this),null;if(r=Nce(r,e),r===0&&e.ended)return e.length===0&&qO(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Uce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&qO(this)),n!==null&&this.emit("data",n),n};function N6e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?vQ(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Oce(r)))}}function vQ(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Oce,r))}function Oce(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zO(r)}function JO(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(T6e,r,e))}function T6e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&Hce(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),Tce(r,"error")===0&&EE(r,y)}k6e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function L6e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&Tce(r,"data")&&(t.flowing=!0,zO(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?vQ(this):i.reading||process.nextTick(M6e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=IE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Kce,this),t};Ut.prototype.removeAllListeners=function(r){var e=IE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Kce,this),e};function Kce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function M6e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,O6e(this,r)),r.paused=!1,this};function O6e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(K6e,r,e))}function K6e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),zO(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zO(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function qO(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(U6e,e,r))}function U6e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return GO===void 0&&(GO=Rce()),GO(Ut,r,e)});function Hce(r,e){for(var t=0,i=r.length;t{"use strict";jce.exports=hA;var xQ=Sl().codes,H6e=xQ.ERR_METHOD_NOT_IMPLEMENTED,G6e=xQ.ERR_MULTIPLE_CALLBACK,Y6e=xQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,j6e=xQ.ERR_TRANSFORM_WITH_LENGTH_0,PQ=qu();vl()(hA,PQ);function q6e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new G6e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Jce.exports=yE;var qce=VO();vl()(yE,qce);function yE(r){if(!(this instanceof yE))return new yE(r);qce.call(this,r)}yE.prototype._transform=function(r,e,t){t(null,r)}});var _ce=w((CQt,Zce)=>{"use strict";var XO;function W6e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var Xce=Sl().codes,z6e=Xce.ERR_MISSING_ARGS,V6e=Xce.ERR_STREAM_DESTROYED;function zce(r){if(r)throw r}function X6e(r){return r.setHeader&&typeof r.abort=="function"}function Z6e(r,e,t,i){i=W6e(i);var n=!1;r.on("close",function(){n=!0}),XO===void 0&&(XO=wQ()),XO(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,X6e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new V6e("pipe"))}}}function Vce(r){r()}function _6e(r,e){return r.pipe(e)}function $6e(r){return!r.length||typeof r[r.length-1]!="function"?zce:r.pop()}function eVe(){for(var r=arguments.length,e=new Array(r),t=0;t0;return Z6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Vce),!l&&(s.forEach(Vce),i(n))})});return e.reduce(_6e)}Zce.exports=eVe});var gp=w((Os,BE)=>{var wE=J("stream");process.env.READABLE_STREAM==="disable"&&wE?(BE.exports=wE.Readable,Object.assign(BE.exports,wE),BE.exports.Stream=wE):(Os=BE.exports=NO(),Os.Stream=wE||Os,Os.Readable=Os,Os.Writable=kO(),Os.Duplex=qu(),Os.Transform=VO(),Os.PassThrough=Wce(),Os.finished=wQ(),Os.pipeline=_ce())});var tue=w((mQt,eue)=>{"use strict";var{Buffer:Io}=J("buffer"),$ce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,$ce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Io.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Io.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var ZO=gp().Duplex,tVe=vl(),bE=tue();function Wi(r){if(!(this instanceof Wi))return new Wi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}bE._init.call(this,r),ZO.call(this)}tVe(Wi,ZO);Object.assign(Wi.prototype,bE.prototype);Wi.prototype._new=function(e){return new Wi(e)};Wi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Wi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Wi.prototype.end=function(e){ZO.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Wi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Wi.prototype._isBufferList=function(e){return e instanceof Wi||e instanceof bE||Wi.isBufferList(e)};Wi.isBufferList=bE.isBufferList;DQ.exports=Wi;DQ.exports.BufferListStream=Wi;DQ.exports.BufferList=bE});var e1=w(hp=>{var rVe=Buffer.alloc,iVe="0000000000000000000",nVe="7777777777777777777",iue="0".charCodeAt(0),nue=Buffer.from("ustar\0","binary"),sVe=Buffer.from("00","binary"),oVe=Buffer.from("ustar ","binary"),aVe=Buffer.from(" \0","binary"),AVe=parseInt("7777",8),QE=257,$O=263,lVe=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},cVe=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},uVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},sue=function(r,e,t,i){for(;te?nVe.slice(0,e)+" ":iVe.slice(0,e-r.length)+r+" "};function gVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};hp.decodeLongPath=function(r,e){return fp(r,0,r.length,e)};hp.encodePax=function(r){var e="";r.name&&(e+=_O(" path="+r.name+` -`)),r.linkname&&(e+=_O(" linkpath="+r.linkname+` -`));var t=r.pax;if(t)for(var i in t)e+=_O(" "+i+"="+t[i]+` -`);return Buffer.from(e)};hp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Rl(r.mode&AVe,6),100),e.write(Rl(r.uid,6),108),e.write(Rl(r.gid,6),116),e.write(Rl(r.size,11),124),e.write(Rl(r.mtime.getTime()/1e3|0,11),136),e[156]=iue+uVe(r.type),r.linkname&&e.write(r.linkname,157),nue.copy(e,QE),sVe.copy(e,$O),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Rl(r.devmajor||0,6),329),e.write(Rl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Rl(oue(e),6),148),e)};hp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-iue,n=fp(r,0,100,e),s=Fl(r,100,8),o=Fl(r,108,8),a=Fl(r,116,8),l=Fl(r,124,12),c=Fl(r,136,12),u=cVe(i),g=r[157]===0?null:fp(r,157,100,e),f=fp(r,265,32),h=fp(r,297,32),p=Fl(r,329,8),C=Fl(r,337,8),y=oue(r);if(y===8*32)return null;if(y!==Fl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(nue.compare(r,QE,QE+6)===0)r[345]&&(n=fp(r,345,155,e)+"/"+n);else if(!(oVe.compare(r,QE,QE+6)===0&&aVe.compare(r,$O,$O+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var fue=w((yQt,gue)=>{var Aue=J("util"),fVe=rue(),SE=e1(),lue=gp().Writable,cue=gp().PassThrough,uue=function(){},aue=function(r){return r&=511,r&&512-r},hVe=function(r,e){var t=new kQ(r,e);return t.end(),t},pVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},kQ=function(r,e){this._parent=r,this.offset=e,cue.call(this,{autoDestroy:!1})};Aue.inherits(kQ,cue);kQ.prototype.destroy=function(r){this._parent.destroy(r)};var pA=function(r){if(!(this instanceof pA))return new pA(r);lue.call(this,r),r=r||{},this._offset=0,this._buffer=fVe(),this._missing=0,this._partial=!1,this._onparse=uue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=aue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(aue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=SE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=SE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=SE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=pVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,hVe(e,f),n);return}e._stream=new kQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Aue.inherits(pA,lue);pA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};pA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};pA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=uue,this._overflow?this._write(this._overflow,void 0,r):r()}};pA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};pA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};gue.exports=pA});var pue=w((wQt,hue)=>{hue.exports=J("fs").constants||J("constants")});var Iue=w((BQt,Eue)=>{var pp=pue(),due=Pk(),FQ=vl(),dVe=Buffer.alloc,Cue=gp().Readable,dp=gp().Writable,CVe=J("string_decoder").StringDecoder,RQ=e1(),mVe=parseInt("755",8),EVe=parseInt("644",8),mue=dVe(1024),r1=function(){},t1=function(r,e){e&=511,e&&r.push(mue.slice(0,512-e))};function IVe(r){switch(r&pp.S_IFMT){case pp.S_IFBLK:return"block-device";case pp.S_IFCHR:return"character-device";case pp.S_IFDIR:return"directory";case pp.S_IFIFO:return"fifo";case pp.S_IFLNK:return"symlink"}return"file"}var NQ=function(r){dp.call(this),this.written=0,this._to=r,this._destroyed=!1};FQ(NQ,dp);NQ.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};NQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var TQ=function(){dp.call(this),this.linkname="",this._decoder=new CVe("utf-8"),this._destroyed=!1};FQ(TQ,dp);TQ.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};TQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var vE=function(){dp.call(this),this._destroyed=!1};FQ(vE,dp);vE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};vE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var la=function(r){if(!(this instanceof la))return new la(r);Cue.call(this,r),this._drain=r1,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FQ(la,Cue);la.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=r1);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=IVe(r.mode)),r.mode||(r.mode=r.type==="directory"?mVe:EVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return t1(i,r.size),n?process.nextTick(t):this._drain=t,new vE}if(r.type==="symlink"&&!r.linkname){var s=new TQ;return due(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new vE;var o=new NQ(this);return this._stream=o,due(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));t1(i,r.size),i._finalizing&&i.finalize(),t()}),o}};la.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(mue),this.push(null))};la.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};la.prototype._encode=function(r){if(!r.pax){var e=RQ.encode(r);if(e){this.push(e);return}}this._encodePax(r)};la.prototype._encodePax=function(r){var e=RQ.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(RQ.encode(t)),this.push(e),t1(this,e.length),t.size=r.size,t.type=r.type,this.push(RQ.encode(t))};la.prototype._read=function(r){var e=this._drain;this._drain=r1,e()};Eue.exports=la});var yue=w(i1=>{i1.extract=fue();i1.pack=Iue()});var Fue=w((qQt,Rue)=>{"use strict";var Xu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Due(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return l1(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):TVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Xu(this.__specs,this.__opts,Due(this.__providers).concat(e)),kue)}};try{let r=J("util");Xu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function FVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function l1(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))FVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Pue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Pue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function Pue(r,e){let t;return e.__isFiggyPudding?t=l1(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var kue={has(r,e){return e in r.__specs&&l1(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Xu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Rue.exports=NVe;function NVe(r,e){function t(...i){return new Proxy(new Xu(r,e,i),kue)}return t}function Due(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function TVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Lue=w((JQt,ga)=>{"use strict";var PE=J("crypto"),LVe=Fue(),MVe=J("stream").Transform,Nue=["sha256","sha384","sha512"],OVe=/^[a-z0-9+/]+(?:=?=?)$/i,KVe=/^([^-]+)-([^?]+)([?\S*]*)$/,UVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,HVe=/^[\x21-\x7E]+$/,An=LVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>VVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Nl=class{get isHash(){return!0}constructor(e,t){t=An(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?UVe:KVe);if(!n||i&&!Nue.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=An(e),e.strict&&!(Nue.some(i=>i===this.algorithm)&&this.digest.match(OVe)&&(this.options||[]).every(i=>i.match(HVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},Zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=An(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Nl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=An(t);let i=typeof e=="string"?e:xE(e,t);return ua(`${this.toString(t)} ${i}`,t)}hexDigest(){return ua(this,{single:!0}).hexDigest()}match(e,t){t=An(t);let i=ua(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=An(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ga.exports.parse=ua;function ua(r,e){if(e=An(e),typeof r=="string")return c1(r,e);if(r.algorithm&&r.digest){let t=new Zu;return t[r.algorithm]=[r],c1(xE(t,e),e)}else return c1(xE(r,e),e)}function c1(r,e){return e.single?new Nl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Nl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Zu)}ga.exports.stringify=xE;function xE(r,e){return e=An(e),r.algorithm&&r.digest?Nl.prototype.toString.call(r,e):typeof r=="string"?xE(ua(r,e),e):Zu.prototype.toString.call(r,e)}ga.exports.fromHex=GVe;function GVe(r,e,t){t=An(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return ua(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ga.exports.fromData=YVe;function YVe(r,e){e=An(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=PE.createHash(s).update(r).digest("base64"),a=new Nl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Zu)}ga.exports.fromStream=jVe;function jVe(r,e){e=An(e);let t=e.Promise||Promise,i=u1(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ga.exports.checkData=qVe;function qVe(r,e,t){if(t=An(t),e=ua(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=PE.createHash(i).update(r).digest("base64"),s=ua({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. +`,h}function Nze(r,e){return e.fs_.chmod(r,493)}function lM(r){if(!r)return{win32:"",posix:""};let e=typeof r=="string"?r.split(Ts.delimiter):Array.from(r),t={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];t.win32=t.win32?`${t.win32};${n}`:n,t.posix=t.posix?`${t.posix}:${s}`:s,t[i]={win32:n,posix:s}}return t}Dle.exports=AM});var yM=w(($bt,Zle)=>{Zle.exports=J("stream")});var tce=w((eQt,ece)=>{"use strict";function _le(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function e5e(r){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(t){var i={data:t,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var t=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=t+i.data;return n}},{key:"concat",value:function(t){if(this.length===0)return pQ.alloc(0);for(var i=pQ.allocUnsafe(t>>>0),n=this.head,s=0;n;)a5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(t,i){var n;return to.length?o.length:t;if(a===o.length?s+=o:s+=o.slice(0,t),t-=a,t===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(t){var i=pQ.allocUnsafe(t),n=this.head,s=1;for(n.data.copy(i),t-=n.data.length;n=n.next;){var o=n.data,a=t>o.length?o.length:t;if(o.copy(i,i.length-t,0,a),t-=a,t===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:o5e,value:function(t,i){return wM(this,e5e({},i,{depth:0,customInspect:!1}))}}]),r}()});var bM=w((tQt,ice)=>{"use strict";function A5e(r,e){var t=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(BM,this,r)):process.nextTick(BM,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,function(s){!e&&s?t._writableState?t._writableState.errorEmitted?process.nextTick(dQ,t):(t._writableState.errorEmitted=!0,process.nextTick(rce,t,s)):process.nextTick(rce,t,s):e?(process.nextTick(dQ,t),e(s)):process.nextTick(dQ,t)}),this)}function rce(r,e){BM(r,e),dQ(r)}function dQ(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function l5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function BM(r,e){r.emit("error",e)}function c5e(r,e){var t=r._readableState,i=r._writableState;t&&t.autoDestroy||i&&i.autoDestroy?r.destroy(e):r.emit("error",e)}ice.exports={destroy:A5e,undestroy:l5e,errorOrDestroy:c5e}});var Sl=w((rQt,oce)=>{"use strict";var sce={};function Os(r,e,t){t||(t=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends t{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=t.name,n.prototype.code=r,sce[r]=n}function nce(r,e){if(Array.isArray(r)){let t=r.length;return r=r.map(i=>String(i)),t>2?`one of ${e} ${r.slice(0,t-1).join(", ")}, or `+r[t-1]:t===2?`one of ${e} ${r[0]} or ${r[1]}`:`of ${e} ${r[0]}`}else return`of ${e} ${String(r)}`}function u5e(r,e,t){return r.substr(!t||t<0?0:+t,e.length)===e}function g5e(r,e,t){return(t===void 0||t>r.length)&&(t=r.length),r.substring(t-e.length,t)===e}function f5e(r,e,t){return typeof t!="number"&&(t=0),t+e.length>r.length?!1:r.indexOf(e,t)!==-1}Os("ERR_INVALID_OPT_VALUE",function(r,e){return'The value "'+e+'" is invalid for option "'+r+'"'},TypeError);Os("ERR_INVALID_ARG_TYPE",function(r,e,t){let i;typeof e=="string"&&u5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(g5e(r," argument"))n=`The ${r} ${i} ${nce(e,"type")}`;else{let s=f5e(r,".")?"property":"argument";n=`The "${r}" ${s} ${i} ${nce(e,"type")}`}return n+=`. Received type ${typeof t}`,n},TypeError);Os("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Os("ERR_METHOD_NOT_IMPLEMENTED",function(r){return"The "+r+" method is not implemented"});Os("ERR_STREAM_PREMATURE_CLOSE","Premature close");Os("ERR_STREAM_DESTROYED",function(r){return"Cannot call "+r+" after a stream was destroyed"});Os("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Os("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Os("ERR_STREAM_WRITE_AFTER_END","write after end");Os("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Os("ERR_UNKNOWN_ENCODING",function(r){return"Unknown encoding: "+r},TypeError);Os("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");oce.exports.codes=sce});var QM=w((iQt,ace)=>{"use strict";var h5e=Sl().codes.ERR_INVALID_OPT_VALUE;function p5e(r,e,t){return r.highWaterMark!=null?r.highWaterMark:e?r[t]:null}function d5e(r,e,t,i){var n=p5e(e,i,t);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?t:"highWaterMark";throw new h5e(s,n)}return Math.floor(n)}return r.objectMode?16:16*1024}ace.exports={getHighWaterMark:d5e}});var Ace=w((nQt,SM)=>{typeof Object.create=="function"?SM.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:SM.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}});var vl=w((sQt,xM)=>{try{if(vM=J("util"),typeof vM.inherits!="function")throw"";xM.exports=vM.inherits}catch{xM.exports=Ace()}var vM});var cce=w((oQt,lce)=>{lce.exports=J("util").deprecate});var kM=w((aQt,dce)=>{"use strict";dce.exports=Lr;function gce(r){var e=this;this.next=null,this.entry=null,this.finish=function(){Y5e(e,r)}}var ap;Lr.WritableState=dE;var C5e={deprecate:cce()},fce=yM(),mQ=J("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(r){return mQ.from(r)}function I5e(r){return mQ.isBuffer(r)||r instanceof m5e}var DM=bM(),y5e=QM(),w5e=y5e.getHighWaterMark,xl=Sl().codes,B5e=xl.ERR_INVALID_ARG_TYPE,b5e=xl.ERR_METHOD_NOT_IMPLEMENTED,Q5e=xl.ERR_MULTIPLE_CALLBACK,S5e=xl.ERR_STREAM_CANNOT_PIPE,v5e=xl.ERR_STREAM_DESTROYED,x5e=xl.ERR_STREAM_NULL_VALUES,P5e=xl.ERR_STREAM_WRITE_AFTER_END,D5e=xl.ERR_UNKNOWN_ENCODING,Ap=DM.errorOrDestroy;vl()(Lr,fce);function k5e(){}function dE(r,e,t){ap=ap||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof ap),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=w5e(this,r,"writableHighWaterMark",t),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=r.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){M5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new gce(this)}dE.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t};(function(){try{Object.defineProperty(dE.prototype,"buffer",{get:C5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var CQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(CQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Lr,Symbol.hasInstance,{value:function(e){return CQ.call(this,e)?!0:this!==Lr?!1:e&&e._writableState instanceof dE}})):CQ=function(e){return e instanceof this};function Lr(r){ap=ap||qu();var e=this instanceof ap;if(!e&&!CQ.call(Lr,this))return new Lr(r);this._writableState=new dE(r,this,e),this.writable=!0,r&&(typeof r.write=="function"&&(this._write=r.write),typeof r.writev=="function"&&(this._writev=r.writev),typeof r.destroy=="function"&&(this._destroy=r.destroy),typeof r.final=="function"&&(this._final=r.final)),fce.call(this)}Lr.prototype.pipe=function(){Ap(this,new S5e)};function R5e(r,e){var t=new P5e;Ap(r,t),process.nextTick(e,t)}function F5e(r,e,t,i){var n;return t===null?n=new x5e:typeof t!="string"&&!e.objectMode&&(n=new B5e("chunk",["string","Buffer"],t)),n?(Ap(r,n),process.nextTick(i,n),!1):!0}Lr.prototype.write=function(r,e,t){var i=this._writableState,n=!1,s=!i.objectMode&&I5e(r);return s&&!mQ.isBuffer(r)&&(r=E5e(r)),typeof e=="function"&&(t=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof t!="function"&&(t=k5e),i.ending?R5e(this,t):(s||F5e(this,i,r,t))&&(i.pendingcb++,n=T5e(this,i,s,r,e,t)),n};Lr.prototype.cork=function(){this._writableState.corked++};Lr.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,!r.writing&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&hce(this,r))};Lr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new D5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Lr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function N5e(r,e,t){return!r.objectMode&&r.decodeStrings!==!1&&typeof e=="string"&&(e=mQ.from(e,t)),e}Object.defineProperty(Lr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function T5e(r,e,t,i,n,s){if(!t){var o=N5e(e,i,n);i!==o&&(t=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var j5e=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};mce.exports=Aa;var Cce=NM(),FM=kM();vl()(Aa,Cce);for(RM=j5e(FM.prototype),EQ=0;EQ{var yQ=J("buffer"),fA=yQ.Buffer;function Ece(r,e){for(var t in r)e[t]=r[t]}fA.from&&fA.alloc&&fA.allocUnsafe&&fA.allocUnsafeSlow?Ice.exports=yQ:(Ece(yQ,TM),TM.Buffer=lp);function lp(r,e,t){return fA(r,e,t)}Ece(fA,lp);lp.from=function(r,e,t){if(typeof r=="number")throw new TypeError("Argument must not be a number");return fA(r,e,t)};lp.alloc=function(r,e,t){if(typeof r!="number")throw new TypeError("Argument must be a number");var i=fA(r);return e!==void 0?typeof t=="string"?i.fill(e,t):i.fill(e):i.fill(0),i};lp.allocUnsafe=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return fA(r)};lp.allocUnsafeSlow=function(r){if(typeof r!="number")throw new TypeError("Argument must be a number");return yQ.SlowBuffer(r)}});var MM=w(Bce=>{"use strict";var OM=yce().Buffer,wce=OM.isEncoding||function(r){switch(r=""+r,r&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function W5e(r){if(!r)return"utf8";for(var e;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(e)return;r=(""+r).toLowerCase(),e=!0}}function z5e(r){var e=W5e(r);if(typeof e!="string"&&(OM.isEncoding===wce||!wce(r)))throw new Error("Unknown encoding: "+r);return e||r}Bce.StringDecoder=CE;function CE(r){this.encoding=z5e(r);var e;switch(this.encoding){case"utf16le":this.text=e6e,this.end=t6e,e=4;break;case"utf8":this.fillLast=Z5e,e=4;break;case"base64":this.text=r6e,this.end=i6e,e=3;break;default:this.write=n6e,this.end=s6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=OM.allocUnsafe(e)}CE.prototype.write=function(r){if(r.length===0)return"";var e,t;if(this.lastNeed){if(e=this.fillLast(r),e===void 0)return"";t=this.lastNeed,this.lastNeed=0}else t=0;return t>5===6?2:r>>4===14?3:r>>3===30?4:r>>6===2?-1:-2}function V5e(r,e,t){var i=e.length-1;if(i=0?(n>0&&(r.lastNeed=n-1),n):--i=0?(n>0&&(r.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:r.lastNeed=n-3),n):0))}function X5e(r,e,t){if((e[0]&192)!==128)return r.lastNeed=0,"\uFFFD";if(r.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return r.lastNeed=1,"\uFFFD";if(r.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return r.lastNeed=2,"\uFFFD"}}function Z5e(r){var e=this.lastTotal-this.lastNeed,t=X5e(this,r,e);if(t!==void 0)return t;if(this.lastNeed<=r.length)return r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,e,0,r.length),this.lastNeed-=r.length}function _5e(r,e){var t=V5e(this,r,e);if(!this.lastNeed)return r.toString("utf8",e);this.lastTotal=t;var i=r.length-(t-this.lastNeed);return r.copy(this.lastChar,0,i),r.toString("utf8",e,i)}function $5e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+"\uFFFD":e}function e6e(r,e){if((r.length-e)%2===0){var t=r.toString("utf16le",e);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",e,r.length-1)}function t6e(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function r6e(r,e){var t=(r.length-e)%3;return t===0?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,t===1?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function i6e(r){var e=r&&r.length?this.write(r):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function n6e(r){return r.toString(this.encoding)}function s6e(r){return r&&r.length?this.write(r):""}});var wQ=w((cQt,Sce)=>{"use strict";var bce=Sl().codes.ERR_STREAM_PREMATURE_CLOSE;function o6e(r){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,i=new Array(t),n=0;n{"use strict";var BQ;function Pl(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l6e=wQ(),Dl=Symbol("lastResolve"),Ju=Symbol("lastReject"),mE=Symbol("error"),bQ=Symbol("ended"),Wu=Symbol("lastPromise"),KM=Symbol("handlePromise"),zu=Symbol("stream");function kl(r,e){return{value:r,done:e}}function c6e(r){var e=r[Dl];if(e!==null){var t=r[zu].read();t!==null&&(r[Wu]=null,r[Dl]=null,r[Ju]=null,e(kl(t,!1)))}}function u6e(r){process.nextTick(c6e,r)}function g6e(r,e){return function(t,i){r.then(function(){if(e[bQ]){t(kl(void 0,!0));return}e[KM](t,i)},i)}}var f6e=Object.getPrototypeOf(function(){}),h6e=Object.setPrototypeOf((BQ={get stream(){return this[zu]},next:function(){var e=this,t=this[mE];if(t!==null)return Promise.reject(t);if(this[bQ])return Promise.resolve(kl(void 0,!0));if(this[zu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[mE]?a(e[mE]):o(kl(void 0,!0))})});var i=this[Wu],n;if(i)n=new Promise(g6e(i,this));else{var s=this[zu].read();if(s!==null)return Promise.resolve(kl(s,!1));n=new Promise(this[KM])}return this[Wu]=n,n}},Pl(BQ,Symbol.asyncIterator,function(){return this}),Pl(BQ,"return",function(){var e=this;return new Promise(function(t,i){e[zu].destroy(null,function(n){if(n){i(n);return}t(kl(void 0,!0))})})}),BQ),f6e),p6e=function(e){var t,i=Object.create(h6e,(t={},Pl(t,zu,{value:e,writable:!0}),Pl(t,Dl,{value:null,writable:!0}),Pl(t,Ju,{value:null,writable:!0}),Pl(t,mE,{value:null,writable:!0}),Pl(t,bQ,{value:e._readableState.endEmitted,writable:!0}),Pl(t,KM,{value:function(s,o){var a=i[zu].read();a?(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(kl(a,!1))):(i[Dl]=s,i[Ju]=o)},writable:!0}),t));return i[Wu]=null,l6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Ju];s!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,s(n)),i[mE]=n;return}var o=i[Dl];o!==null&&(i[Wu]=null,i[Dl]=null,i[Ju]=null,o(kl(void 0,!0))),i[bQ]=!0}),e.on("readable",u6e.bind(null,i)),i};vce.exports=p6e});var Rce=w((gQt,kce)=>{"use strict";function Pce(r,e,t,i,n,s,o){try{var a=r[s](o),l=a.value}catch(c){t(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function d6e(r){return function(){var e=this,t=arguments;return new Promise(function(i,n){var s=r.apply(e,t);function o(l){Pce(s,i,n,o,a,"next",l)}function a(l){Pce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Dce(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(r,n).enumerable})),t.push.apply(t,i)}return t}function C6e(r){for(var e=1;e{"use strict";Gce.exports=Ut;var cp;Ut.ReadableState=Lce;var fQt=J("events").EventEmitter,Tce=function(e,t){return e.listeners(t).length},IE=yM(),QQ=J("buffer").Buffer,y6e=global.Uint8Array||function(){};function w6e(r){return QQ.from(r)}function B6e(r){return QQ.isBuffer(r)||r instanceof y6e}var UM=J("util"),Dt;UM&&UM.debuglog?Dt=UM.debuglog("stream"):Dt=function(){};var b6e=tce(),WM=bM(),Q6e=QM(),S6e=Q6e.getHighWaterMark,SQ=Sl().codes,v6e=SQ.ERR_INVALID_ARG_TYPE,x6e=SQ.ERR_STREAM_PUSH_AFTER_EOF,P6e=SQ.ERR_METHOD_NOT_IMPLEMENTED,D6e=SQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,up,HM,GM;vl()(Ut,IE);var EE=WM.errorOrDestroy,YM=["error","close","destroy","pause","resume"];function k6e(r,e,t){if(typeof r.prependListener=="function")return r.prependListener(e,t);!r._events||!r._events[e]?r.on(e,t):Array.isArray(r._events[e])?r._events[e].unshift(t):r._events[e]=[t,r._events[e]]}function Lce(r,e,t){cp=cp||qu(),r=r||{},typeof t!="boolean"&&(t=e instanceof cp),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=S6e(this,r,"readableHighWaterMark",t),this.buffer=new b6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=r.emitClose!==!1,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(up||(up=MM().StringDecoder),this.decoder=new up(r.encoding),this.encoding=r.encoding)}function Ut(r){if(cp=cp||qu(),!(this instanceof Ut))return new Ut(r);var e=this instanceof cp;this._readableState=new Lce(r,this,e),this.readable=!0,r&&(typeof r.read=="function"&&(this._read=r.read),typeof r.destroy=="function"&&(this._destroy=r.destroy)),IE.call(this)}Object.defineProperty(Ut.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ut.prototype.destroy=WM.destroy;Ut.prototype._undestroy=WM.undestroy;Ut.prototype._destroy=function(r,e){e(r)};Ut.prototype.push=function(r,e){var t=this._readableState,i;return t.objectMode?i=!0:typeof r=="string"&&(e=e||t.defaultEncoding,e!==t.encoding&&(r=QQ.from(r,e),e=""),i=!0),Oce(this,r,e,!1,i)};Ut.prototype.unshift=function(r){return Oce(this,r,null,!0,!1)};function Oce(r,e,t,i,n){Dt("readableAddChunk",e);var s=r._readableState;if(e===null)s.reading=!1,N6e(r,s);else{var o;if(n||(o=R6e(s,e)),o)EE(r,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==QQ.prototype&&(e=w6e(e)),i)s.endEmitted?EE(r,new D6e):jM(r,s,e,!0);else if(s.ended)EE(r,new x6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!t?(e=s.decoder.write(e),s.objectMode||e.length!==0?jM(r,s,e,!1):JM(r,s)):jM(r,s,e,!1)}else i||(s.reading=!1,JM(r,s))}return!s.ended&&(s.length=Fce?r=Fce:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}function Nce(r,e){return r<=0||e.length===0&&e.ended?0:e.objectMode?1:r!==r?e.flowing&&e.length?e.buffer.head.data.length:e.length:(r>e.highWaterMark&&(e.highWaterMark=F6e(r)),r<=e.length?r:e.ended?e.length:(e.needReadable=!0,0))}Ut.prototype.read=function(r){Dt("read",r),r=parseInt(r,10);var e=this._readableState,t=r;if(r!==0&&(e.emittedReadable=!1),r===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return Dt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?qM(this):vQ(this),null;if(r=Nce(r,e),r===0&&e.ended)return e.length===0&&qM(this),null;var i=e.needReadable;Dt("need readable",i),(e.length===0||e.length-r0?n=Uce(r,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,r=0):(e.length-=r,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),t!==r&&e.ended&&qM(this)),n!==null&&this.emit("data",n),n};function N6e(r,e){if(Dt("onEofChunk"),!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?vQ(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Mce(r)))}}function vQ(r){var e=r._readableState;Dt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Dt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Mce,r))}function Mce(r){var e=r._readableState;Dt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(r.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,zM(r)}function JM(r,e){e.readingMore||(e.readingMore=!0,process.nextTick(T6e,r,e))}function T6e(r,e){for(;!e.reading&&!e.ended&&(e.length1&&Hce(i.pipes,r)!==-1)&&!c&&(Dt("false write response, pause",i.awaitDrain),i.awaitDrain++),t.pause())}function f(y){Dt("onerror",y),C(),r.removeListener("error",f),Tce(r,"error")===0&&EE(r,y)}k6e(r,"error",f);function h(){r.removeListener("finish",p),C()}r.once("close",h);function p(){Dt("onfinish"),r.removeListener("close",h),C()}r.once("finish",p);function C(){Dt("unpipe"),t.unpipe(r)}return r.emit("pipe",t),i.flowing||(Dt("pipe resume"),t.resume()),r};function L6e(r){return function(){var t=r._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&Tce(r,"data")&&(t.flowing=!0,zM(r))}}Ut.prototype.unpipe=function(r){var e=this._readableState,t={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return r&&r!==e.pipes?this:(r||(r=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,r&&r.emit("unpipe",this,t),this);if(!r){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):r==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Dt("on readable",i.length,i.reading),i.length?vQ(this):i.reading||process.nextTick(O6e,this)),t};Ut.prototype.addListener=Ut.prototype.on;Ut.prototype.removeListener=function(r,e){var t=IE.prototype.removeListener.call(this,r,e);return r==="readable"&&process.nextTick(Kce,this),t};Ut.prototype.removeAllListeners=function(r){var e=IE.prototype.removeAllListeners.apply(this,arguments);return(r==="readable"||r===void 0)&&process.nextTick(Kce,this),e};function Kce(r){var e=r._readableState;e.readableListening=r.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:r.listenerCount("data")>0&&r.resume()}function O6e(r){Dt("readable nexttick read 0"),r.read(0)}Ut.prototype.resume=function(){var r=this._readableState;return r.flowing||(Dt("resume"),r.flowing=!r.readableListening,M6e(this,r)),r.paused=!1,this};function M6e(r,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(K6e,r,e))}function K6e(r,e){Dt("resume",e.reading),e.reading||r.read(0),e.resumeScheduled=!1,r.emit("resume"),zM(r),e.flowing&&!e.reading&&r.read(0)}Ut.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function zM(r){var e=r._readableState;for(Dt("flow",e.flowing);e.flowing&&r.read()!==null;);}Ut.prototype.wrap=function(r){var e=this,t=this._readableState,i=!1;r.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var o=t.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),r.on("data",function(o){if(Dt("wrapped data"),t.decoder&&(o=t.decoder.write(o)),!(t.objectMode&&o==null)&&!(!t.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,r.pause())}});for(var n in r)this[n]===void 0&&typeof r[n]=="function"&&(this[n]=function(a){return function(){return r[a].apply(r,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?t=e.buffer.join(""):e.buffer.length===1?t=e.buffer.first():t=e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t}function qM(r){var e=r._readableState;Dt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(U6e,e,r))}function U6e(r,e){if(Dt("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&r.length===0&&(r.endEmitted=!0,e.readable=!1,e.emit("end"),r.autoDestroy)){var t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ut.from=function(r,e){return GM===void 0&&(GM=Rce()),GM(Ut,r,e)});function Hce(r,e){for(var t=0,i=r.length;t{"use strict";jce.exports=hA;var xQ=Sl().codes,H6e=xQ.ERR_METHOD_NOT_IMPLEMENTED,G6e=xQ.ERR_MULTIPLE_CALLBACK,Y6e=xQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,j6e=xQ.ERR_TRANSFORM_WITH_LENGTH_0,PQ=qu();vl()(hA,PQ);function q6e(r,e){var t=this._transformState;t.transforming=!1;var i=t.writecb;if(i===null)return this.emit("error",new G6e);t.writechunk=null,t.writecb=null,e!=null&&this.push(e),i(r);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Jce.exports=yE;var qce=VM();vl()(yE,qce);function yE(r){if(!(this instanceof yE))return new yE(r);qce.call(this,r)}yE.prototype._transform=function(r,e,t){t(null,r)}});var _ce=w((CQt,Zce)=>{"use strict";var XM;function W6e(r){var e=!1;return function(){e||(e=!0,r.apply(void 0,arguments))}}var Xce=Sl().codes,z6e=Xce.ERR_MISSING_ARGS,V6e=Xce.ERR_STREAM_DESTROYED;function zce(r){if(r)throw r}function X6e(r){return r.setHeader&&typeof r.abort=="function"}function Z6e(r,e,t,i){i=W6e(i);var n=!1;r.on("close",function(){n=!0}),XM===void 0&&(XM=wQ()),XM(r,{readable:e,writable:t},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,X6e(r))return r.abort();if(typeof r.destroy=="function")return r.destroy();i(o||new V6e("pipe"))}}}function Vce(r){r()}function _6e(r,e){return r.pipe(e)}function $6e(r){return!r.length||typeof r[r.length-1]!="function"?zce:r.pop()}function eVe(){for(var r=arguments.length,e=new Array(r),t=0;t0;return Z6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Vce),!l&&(s.forEach(Vce),i(n))})});return e.reduce(_6e)}Zce.exports=eVe});var gp=w((Ms,BE)=>{var wE=J("stream");process.env.READABLE_STREAM==="disable"&&wE?(BE.exports=wE.Readable,Object.assign(BE.exports,wE),BE.exports.Stream=wE):(Ms=BE.exports=NM(),Ms.Stream=wE||Ms,Ms.Readable=Ms,Ms.Writable=kM(),Ms.Duplex=qu(),Ms.Transform=VM(),Ms.PassThrough=Wce(),Ms.finished=wQ(),Ms.pipeline=_ce())});var tue=w((mQt,eue)=>{"use strict";var{Buffer:Io}=J("buffer"),$ce=Symbol.for("BufferList");function fr(r){if(!(this instanceof fr))return new fr(r);fr._init.call(this,r)}fr._init=function(e){Object.defineProperty(this,$ce,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};fr.prototype._new=function(e){return new fr(e)};fr.prototype._offset=function(e){if(e===0)return[0,0];let t=0;for(let i=0;ithis.length||e<0)return;let t=this._offset(e);return this._bufs[t[0]][t[1]]};fr.prototype.slice=function(e,t){return typeof e=="number"&&e<0&&(e+=this.length),typeof t=="number"&&t<0&&(t+=this.length),this.copy(null,0,e,t)};fr.prototype.copy=function(e,t,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Io.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&t||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Io.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};fr.prototype.shallowSlice=function(e,t){if(e=e||0,t=typeof t!="number"?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return this._new();let i=this._offset(e),n=this._offset(t),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};fr.prototype.toString=function(e,t,i){return this.slice(t,i).toString(e)};fr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};fr.prototype.duplicate=function(){let e=this._new();for(let t=0;tthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=r.length){let l=o.indexOf(r,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-r.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,r))return l;s++}s=0}return-1};fr.prototype._match=function(r,e){if(this.length-r{"use strict";var ZM=gp().Duplex,tVe=vl(),bE=tue();function Wi(r){if(!(this instanceof Wi))return new Wi(r);if(typeof r=="function"){this._callback=r;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),r=null}bE._init.call(this,r),ZM.call(this)}tVe(Wi,ZM);Object.assign(Wi.prototype,bE.prototype);Wi.prototype._new=function(e){return new Wi(e)};Wi.prototype._write=function(e,t,i){this._appendBuffer(e),typeof i=="function"&&i()};Wi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Wi.prototype.end=function(e){ZM.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Wi.prototype._destroy=function(e,t){this._bufs.length=0,this.length=0,t(e)};Wi.prototype._isBufferList=function(e){return e instanceof Wi||e instanceof bE||Wi.isBufferList(e)};Wi.isBufferList=bE.isBufferList;DQ.exports=Wi;DQ.exports.BufferListStream=Wi;DQ.exports.BufferList=bE});var e1=w(hp=>{var rVe=Buffer.alloc,iVe="0000000000000000000",nVe="7777777777777777777",iue="0".charCodeAt(0),nue=Buffer.from("ustar\0","binary"),sVe=Buffer.from("00","binary"),oVe=Buffer.from("ustar ","binary"),aVe=Buffer.from(" \0","binary"),AVe=parseInt("7777",8),QE=257,$M=263,lVe=function(r,e,t){return typeof r!="number"?t:(r=~~r,r>=e?e:r>=0||(r+=e,r>=0)?r:0)},cVe=function(r){switch(r){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},uVe=function(r){switch(r){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},sue=function(r,e,t,i){for(;te?nVe.slice(0,e)+" ":iVe.slice(0,e-r.length)+r+" "};function gVe(r){var e;if(r[0]===128)e=!0;else if(r[0]===255)e=!1;else return null;for(var t=[],i=r.length-1;i>0;i--){var n=r[i];e?t.push(n):t.push(255-n)}var s=0,o=t.length;for(i=0;i=Math.pow(10,t)&&t++,e+t+r};hp.decodeLongPath=function(r,e){return fp(r,0,r.length,e)};hp.encodePax=function(r){var e="";r.name&&(e+=_M(" path="+r.name+` +`)),r.linkname&&(e+=_M(" linkpath="+r.linkname+` +`));var t=r.pax;if(t)for(var i in t)e+=_M(" "+i+"="+t[i]+` +`);return Buffer.from(e)};hp.decodePax=function(r){for(var e={};r.length;){for(var t=0;t100;){var n=t.indexOf("/");if(n===-1)return null;i+=i?"/"+t.slice(0,n):t.slice(0,n),t=t.slice(n+1)}return Buffer.byteLength(t)>100||Buffer.byteLength(i)>155||r.linkname&&Buffer.byteLength(r.linkname)>100?null:(e.write(t),e.write(Rl(r.mode&AVe,6),100),e.write(Rl(r.uid,6),108),e.write(Rl(r.gid,6),116),e.write(Rl(r.size,11),124),e.write(Rl(r.mtime.getTime()/1e3|0,11),136),e[156]=iue+uVe(r.type),r.linkname&&e.write(r.linkname,157),nue.copy(e,QE),sVe.copy(e,$M),r.uname&&e.write(r.uname,265),r.gname&&e.write(r.gname,297),e.write(Rl(r.devmajor||0,6),329),e.write(Rl(r.devminor||0,6),337),i&&e.write(i,345),e.write(Rl(oue(e),6),148),e)};hp.decode=function(r,e,t){var i=r[156]===0?0:r[156]-iue,n=fp(r,0,100,e),s=Fl(r,100,8),o=Fl(r,108,8),a=Fl(r,116,8),l=Fl(r,124,12),c=Fl(r,136,12),u=cVe(i),g=r[157]===0?null:fp(r,157,100,e),f=fp(r,265,32),h=fp(r,297,32),p=Fl(r,329,8),C=Fl(r,337,8),y=oue(r);if(y===8*32)return null;if(y!==Fl(r,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(nue.compare(r,QE,QE+6)===0)r[345]&&(n=fp(r,345,155,e)+"/"+n);else if(!(oVe.compare(r,QE,QE+6)===0&&aVe.compare(r,$M,$M+2)===0)){if(!t)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:C}}});var fue=w((yQt,gue)=>{var Aue=J("util"),fVe=rue(),SE=e1(),lue=gp().Writable,cue=gp().PassThrough,uue=function(){},aue=function(r){return r&=511,r&&512-r},hVe=function(r,e){var t=new kQ(r,e);return t.end(),t},pVe=function(r,e){return e.path&&(r.name=e.path),e.linkpath&&(r.linkname=e.linkpath),e.size&&(r.size=parseInt(e.size,10)),r.pax=e,r},kQ=function(r,e){this._parent=r,this.offset=e,cue.call(this,{autoDestroy:!1})};Aue.inherits(kQ,cue);kQ.prototype.destroy=function(r){this._parent.destroy(r)};var pA=function(r){if(!(this instanceof pA))return new pA(r);lue.call(this,r),r=r||{},this._offset=0,this._buffer=fVe(),this._missing=0,this._partial=!1,this._onparse=uue,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,t=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=aue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(aue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=SE.decodePax(t.slice(0,f)),t.consume(f),s()},l=function(){var f=e._header.size;e._pax=SE.decodePax(t.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),t.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=SE.decodeLongPath(t.slice(0,f),r.filenameEncoding),t.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=SE.decode(t.slice(0,512),r.filenameEncoding,r.allowUnknownFormat)}catch(p){e.emit("error",p)}if(t.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=pVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,hVe(e,f),n);return}e._stream=new kQ(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};Aue.inherits(pA,lue);pA.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.emit("close"))};pA.prototype._parse=function(r,e){this._destroyed||(this._offset+=r,this._missing=r,e===this._onheader&&(this._partial=!1),this._onparse=e)};pA.prototype._continue=function(){if(!this._destroyed){var r=this._cb;this._cb=uue,this._overflow?this._write(this._overflow,void 0,r):r()}};pA.prototype._write=function(r,e,t){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(r.length&&(this._partial=!0),r.lengths&&(o=r.slice(s),r=r.slice(0,s)),i?i.end(r):n.append(r),this._overflow=o,this._onparse()}};pA.prototype._final=function(r){if(this._partial)return this.destroy(new Error("Unexpected end of data"));r()};gue.exports=pA});var pue=w((wQt,hue)=>{hue.exports=J("fs").constants||J("constants")});var Iue=w((BQt,Eue)=>{var pp=pue(),due=Pk(),FQ=vl(),dVe=Buffer.alloc,Cue=gp().Readable,dp=gp().Writable,CVe=J("string_decoder").StringDecoder,RQ=e1(),mVe=parseInt("755",8),EVe=parseInt("644",8),mue=dVe(1024),r1=function(){},t1=function(r,e){e&=511,e&&r.push(mue.slice(0,512-e))};function IVe(r){switch(r&pp.S_IFMT){case pp.S_IFBLK:return"block-device";case pp.S_IFCHR:return"character-device";case pp.S_IFDIR:return"directory";case pp.S_IFIFO:return"fifo";case pp.S_IFLNK:return"symlink"}return"file"}var NQ=function(r){dp.call(this),this.written=0,this._to=r,this._destroyed=!1};FQ(NQ,dp);NQ.prototype._write=function(r,e,t){if(this.written+=r.length,this._to.push(r))return t();this._to._drain=t};NQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var TQ=function(){dp.call(this),this.linkname="",this._decoder=new CVe("utf-8"),this._destroyed=!1};FQ(TQ,dp);TQ.prototype._write=function(r,e,t){this.linkname+=this._decoder.write(r),t()};TQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var vE=function(){dp.call(this),this._destroyed=!1};FQ(vE,dp);vE.prototype._write=function(r,e,t){t(new Error("No body allowed for this entry"))};vE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var la=function(r){if(!(this instanceof la))return new la(r);Cue.call(this,r),this._drain=r1,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};FQ(la,Cue);la.prototype.entry=function(r,e,t){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(t=e,e=null),t||(t=r1);var i=this;if((!r.size||r.type==="symlink")&&(r.size=0),r.type||(r.type=IVe(r.mode)),r.mode||(r.mode=r.type==="directory"?mVe:EVe),r.uid||(r.uid=0),r.gid||(r.gid=0),r.mtime||(r.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){r.size=e.length,this._encode(r);var n=this.push(e);return t1(i,r.size),n?process.nextTick(t):this._drain=t,new vE}if(r.type==="symlink"&&!r.linkname){var s=new TQ;return due(s,function(a){if(a)return i.destroy(),t(a);r.linkname=s.linkname,i._encode(r),t()}),s}if(this._encode(r),r.type!=="file"&&r.type!=="contiguous-file")return process.nextTick(t),new vE;var o=new NQ(this);return this._stream=o,due(o,function(a){if(i._stream=null,a)return i.destroy(),t(a);if(o.written!==r.size)return i.destroy(),t(new Error("size mismatch"));t1(i,r.size),i._finalizing&&i.finalize(),t()}),o}};la.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(mue),this.push(null))};la.prototype.destroy=function(r){this._destroyed||(this._destroyed=!0,r&&this.emit("error",r),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};la.prototype._encode=function(r){if(!r.pax){var e=RQ.encode(r);if(e){this.push(e);return}}this._encodePax(r)};la.prototype._encodePax=function(r){var e=RQ.encodePax({name:r.name,linkname:r.linkname,pax:r.pax}),t={name:"PaxHeader",mode:r.mode,uid:r.uid,gid:r.gid,size:e.length,mtime:r.mtime,type:"pax-header",linkname:r.linkname&&"PaxHeader",uname:r.uname,gname:r.gname,devmajor:r.devmajor,devminor:r.devminor};this.push(RQ.encode(t)),this.push(e),t1(this,e.length),t.size=r.size,t.type=r.type,this.push(RQ.encode(t))};la.prototype._read=function(r){var e=this._drain;this._drain=r1,e()};Eue.exports=la});var yue=w(i1=>{i1.extract=fue();i1.pack=Iue()});var Fue=w((qQt,Rue)=>{"use strict";var Xu=class{constructor(e,t,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=t||{},this.__providers=Due(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return l1(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[i,n]of this.entries())e.call(t,n,i,this)}toJSON(){let e={};return this.forEach((t,i)=>{e[i]=t}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let t=e||this.__opts.other;if(t){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(t):TVe(n);for(let[o,a]of s)t(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Xu(this.__specs,this.__opts,Due(this.__providers).concat(e)),kue)}};try{let r=J("util");Xu.prototype[r.inspect.custom]=function(e,t){return this[Symbol.toStringTag]+" "+r.inspect(this.toJSON(),t)}}catch{}function FVe(r){throw Object.assign(new Error(`invalid config key requested: ${r}`),{code:"EBADKEY"})}function l1(r,e,t){let i=r.__specs[e];if(t&&!i&&(!r.__opts.other||!r.__opts.other(e)))FVe(e);else{i||(i={});let n;for(let s of r.__providers){if(n=Pue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Pue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(r):i.default:n}}function Pue(r,e){let t;return e.__isFiggyPudding?t=l1(e,r,!1):typeof e.get=="function"?t=e.get(r):t=e[r],t}var kue={has(r,e){return e in r.__specs&&l1(r,e,!1)!==void 0},ownKeys(r){return Object.keys(r.__specs)},get(r,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Xu.prototype?r[e]:r.get(e)},set(r,e,t){if(typeof e=="symbol"||e.slice(0,2)==="__")return r[e]=t,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Rue.exports=NVe;function NVe(r,e){function t(...i){return new Proxy(new Xu(r,e,i),kue)}return t}function Due(r){let e=[];return r.forEach(t=>e.unshift(t)),e}function TVe(r){return Object.keys(r).map(e=>[e,r[e]])}});var Lue=w((JQt,ga)=>{"use strict";var PE=J("crypto"),LVe=Fue(),OVe=J("stream").Transform,Nue=["sha256","sha384","sha512"],MVe=/^[a-z0-9+/]+(?:=?=?)$/i,KVe=/^([^-]+)-([^?]+)([?\S*]*)$/,UVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,HVe=/^[\x21-\x7E]+$/,An=LVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>VVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Nl=class{get isHash(){return!0}constructor(e,t){t=An(t);let i=!!t.strict;this.source=e.trim();let n=this.source.match(i?UVe:KVe);if(!n||i&&!Nue.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=An(e),e.strict&&!(Nue.some(i=>i===this.algorithm)&&this.digest.match(MVe)&&(this.options||[]).every(i=>i.match(HVe))))return"";let t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}},Zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=An(e);let t=e.sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Nl.prototype.toString.call(n,e)).filter(n=>n.length).join(t)).filter(i=>i.length).join(t)}concat(e,t){t=An(t);let i=typeof e=="string"?e:xE(e,t);return ua(`${this.toString(t)} ${i}`,t)}hexDigest(){return ua(this,{single:!0}).hexDigest()}match(e,t){t=An(t);let i=ua(e,t),n=i.pickAlgorithm(t);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=An(e);let t=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>t(n,s)||n)}};ga.exports.parse=ua;function ua(r,e){if(e=An(e),typeof r=="string")return c1(r,e);if(r.algorithm&&r.digest){let t=new Zu;return t[r.algorithm]=[r],c1(xE(t,e),e)}else return c1(xE(r,e),e)}function c1(r,e){return e.single?new Nl(r,e):r.trim().split(/\s+/).reduce((t,i)=>{let n=new Nl(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;t[s]||(t[s]=[]),t[s].push(n)}return t},new Zu)}ga.exports.stringify=xE;function xE(r,e){return e=An(e),r.algorithm&&r.digest?Nl.prototype.toString.call(r,e):typeof r=="string"?xE(ua(r,e),e):Zu.prototype.toString.call(r,e)}ga.exports.fromHex=GVe;function GVe(r,e,t){t=An(t);let i=t.options&&t.options.length?`?${t.options.join("?")}`:"";return ua(`${e}-${Buffer.from(r,"hex").toString("base64")}${i}`,t)}ga.exports.fromData=YVe;function YVe(r,e){e=An(e);let t=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return t.reduce((n,s)=>{let o=PE.createHash(s).update(r).digest("base64"),a=new Nl(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Zu)}ga.exports.fromStream=jVe;function jVe(r,e){e=An(e);let t=e.Promise||Promise,i=u1(e);return new t((n,s)=>{r.pipe(i),r.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}ga.exports.checkData=qVe;function qVe(r,e,t){if(t=An(t),e=ua(e,t),!Object.keys(e).length){if(t.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(t),n=PE.createHash(i).update(r).digest("base64"),s=ua({algorithm:i,digest:n}),o=s.match(e,t);if(o||!t.error)return o;if(typeof t.size=="number"&&r.length!==t.size){let a=new Error(`data size mismatch when checking ${e}. Wanted: ${t.size} - Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ga.exports.checkStream=JVe;function JVe(r,e,t){t=An(t);let i=t.Promise||Promise,n=u1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ga.exports.integrityStream=u1;function u1(r){r=An(r);let e=r.integrity&&ua(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(PE.createHash),a=0,l=new MVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=ua(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. + Found: ${r.length}`);throw a.code="EBADSIZE",a.found=r.length,a.expected=t.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${r.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}ga.exports.checkStream=JVe;function JVe(r,e,t){t=An(t);let i=t.Promise||Promise,n=u1(t.concat({integrity:e}));return new i((s,o)=>{r.pipe(n),r.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}ga.exports.integrityStream=u1;function u1(r){r=An(r);let e=r.integrity&&ua(r.integrity,r),t=e&&Object.keys(e).length,i=t&&e.pickAlgorithm(r),n=t&&e[i],s=Array.from(new Set(r.algorithms.concat(i?[i]:[]))),o=s.map(PE.createHash),a=0,l=new OVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=r.options&&r.options.length?`?${r.options.join("?")}`:"",u=ua(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),r),g=t&&u.match(e,r);if(typeof r.size=="number"&&a!==r.size){let f=new Error(`stream size mismatch when checking ${e}. Wanted: ${r.size} - Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ga.exports.create=WVe;function WVe(r){r=An(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(PE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Nl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Zu)}}}var zVe=new Set(PE.getHashes()),Tue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>zVe.has(r));function VVe(r,e){return Tue.indexOf(r.toLowerCase())>=Tue.indexOf(e.toLowerCase())?r:e}});var sm={};ut(sm,{BuildType:()=>M0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>ts,LightReport:()=>ra,LinkType:()=>Ef,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>Df,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Rf,TelemetryManager:()=>Sh,ThrowReport:()=>ti,VirtualFetcher:()=>Ff,Workspace:()=>Qh,WorkspaceFetcher:()=>Tf,WorkspaceResolver:()=>Yr,YarnVersion:()=>Tr,execUtils:()=>Cr,folderUtils:()=>Tw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>ws,parseMessageName:()=>LI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>FA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>es});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Yw,PipeError:()=>dC,execvp:()=>tk,pipevp:()=>oo});var Wp={};ut(Wp,{AliasFS:()=>So,CustomDir:()=>Hp,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Xl,FakeFS:()=>ya,Filename:()=>xt,JailFS:()=>vo,LazyFS:()=>Sg,LinkStrategy:()=>CS,NoFS:()=>jp,NodeFS:()=>$t,PortablePath:()=>Me,PosixFS:()=>vg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Kn,constants:()=>xr,extendFs:()=>AI,normalizeLineEndings:()=>Vl,npath:()=>K,opendir:()=>tI,patchFs:()=>bS,ppath:()=>x,statUtils:()=>Mp,toFilename:()=>Jr,xfs:()=>O});var xr={};ut(xr,{SAFE_TIME:()=>sK,S_IFDIR:()=>Jl,S_IFLNK:()=>zl,S_IFMT:()=>qs,S_IFREG:()=>Wl});var qs=61440,Jl=16384,Wl=32768,zl=40960,sK=456789e3;var Mp={};ut(Mp,{BigIntStatsEntry:()=>Bg,DEFAULT_MODE:()=>Tp,DirEntry:()=>cS,StatEntry:()=>Ia,areStatsEqual:()=>gS,clearStats:()=>WE,convertToBigIntStats:()=>zE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>Mge});var uS=Pe(J("util"));var Tp=33188,cS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ia=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Tp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Bg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Tp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new Ia}function Mge(){return WE(Lp())}function WE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):uS.types.isDate(t)&&(r[e]=new Date(0))}return r}function zE(r){let e=new Bg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):uS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function gS(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var XE=Pe(J("fs"));var Op=Pe(J("path"));var Me={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(Op.default),x=Object.create(Op.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>fS(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Op.default.posix.resolve(...r):Op.default.posix.resolve(x.cwd(),...r);var oK=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=aK;K.toPortablePath=fS;K.contains=(r,e)=>oK(K,r,e);x.contains=(r,e)=>oK(x,r,e);var Oge=/^([a-zA-Z]:.*)$/,Kge=/^\/\/(\.\/)?(.*)$/,Uge=/^\/([a-zA-Z]:.*)$/,Hge=/^\/unc\/(\.dot\/)?(.*)$/;function aK(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(Uge))r=e[1];else if(t=r.match(Hge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function fS(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Oge))?r=`/${e[1]}`:(t=r.match(Kge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function VE(r,e){return r===K?aK(e):fS(e)}function Jr(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var ZE=new Date(456789e3*1e3),CS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(CS||{});async function AK(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:ZE,mtime:ZE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await pS(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pS(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Gge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:ZE,mtime:ZE}:c,f;switch(!0){case c.isDirectory():f=await Yge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await qge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Jge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Gge(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function Yge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await pS(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pS(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var hS=new WeakMap;function dS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function jge(r,e,t,i,n){let s=hS.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE),hS.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")hS.set(r,!1),await dS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE):dS(r,e,t,i,n)}async function qge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?jge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,XE.default.constants.COPYFILE_FICLONE):u!==null?dS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function Jge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(VE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function As(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function $E(r){return As("EBUSY",r)}function Kp(r,e){return As("ENOSYS",`${r}, ${e}`)}function vA(r){return As("EINVAL",`invalid argument, ${r}`)}function Ur(r){return As("EBADF",`bad file descriptor, ${r}`)}function Js(r){return As("ENOENT",`no such file or directory, ${r}`)}function Qo(r){return As("ENOTDIR",`not a directory, ${r}`)}function Up(r){return As("EISDIR",`illegal operation on a directory, ${r}`)}function eI(r){return As("EEXIST",`file already exists, ${r}`)}function un(r){return As("EROFS",`read-only filesystem, ${r}`)}function lK(r){return As("ENOTEMPTY",`directory not empty, ${r}`)}function cK(r){return As("EOPNOTSUPP",`operation not supported, ${r}`)}function uK(){return As("ERR_DIR_CLOSED","Directory handle was closed")}var _E=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var Hp=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw uK()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function tI(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new Hp(e,n,i)}var gK=J("os");var ya=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await AK(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(VE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=r.size,f.sri=e,l.emit("error",f)}else if(r.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}ga.exports.create=WVe;function WVe(r){r=An(r);let e=r.algorithms,t=r.options.length?`?${r.options.join("?")}`:"",i=e.map(PE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Nl(`${a}-${l}${t}`,r);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Zu)}}}var zVe=new Set(PE.getHashes()),Tue=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(r=>zVe.has(r));function VVe(r,e){return Tue.indexOf(r.toLowerCase())>=Tue.indexOf(e.toLowerCase())?r:e}});var sm={};ut(sm,{BuildType:()=>O0,Cache:()=>Rt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>xi,InstallMode:()=>ts,LightReport:()=>ra,LinkType:()=>Ef,Manifest:()=>ot,MessageName:()=>Ct,MultiFetcher:()=>Df,PackageExtensionStatus:()=>Xx,PackageExtensionType:()=>Vx,Project:()=>je,ProjectLookup:()=>ck,Report:()=>vi,ReportError:()=>at,SettingsType:()=>ak,StreamReport:()=>Ge,TAG_REGEXP:()=>Rf,TelemetryManager:()=>Sh,ThrowReport:()=>ti,VirtualFetcher:()=>Ff,Workspace:()=>Qh,WorkspaceFetcher:()=>Tf,WorkspaceResolver:()=>Yr,YarnVersion:()=>Tr,execUtils:()=>Cr,folderUtils:()=>Tw,formatUtils:()=>ee,hashUtils:()=>li,httpUtils:()=>Xt,miscUtils:()=>Ie,nodeUtils:()=>ws,parseMessageName:()=>LI,scriptUtils:()=>Wt,semverUtils:()=>vt,stringifyMessageName:()=>FA,structUtils:()=>P,tgzUtils:()=>mi,treeUtils:()=>es});var Cr={};ut(Cr,{EndStrategy:()=>hk,ExecError:()=>Yw,PipeError:()=>dC,execvp:()=>tk,pipevp:()=>oo});var Wp={};ut(Wp,{AliasFS:()=>So,CustomDir:()=>Hp,CwdFS:()=>qt,DEFAULT_COMPRESSION_LEVEL:()=>Xl,FakeFS:()=>ya,Filename:()=>xt,JailFS:()=>vo,LazyFS:()=>Sg,LinkStrategy:()=>CS,NoFS:()=>jp,NodeFS:()=>$t,PortablePath:()=>Oe,PosixFS:()=>vg,ProxiedFS:()=>pi,VirtualFS:()=>Br,ZipFS:()=>Wr,ZipOpenFS:()=>Kn,constants:()=>xr,extendFs:()=>AI,normalizeLineEndings:()=>Vl,npath:()=>K,opendir:()=>tI,patchFs:()=>bS,ppath:()=>x,statUtils:()=>Op,toFilename:()=>Jr,xfs:()=>M});var xr={};ut(xr,{SAFE_TIME:()=>sK,S_IFDIR:()=>Jl,S_IFLNK:()=>zl,S_IFMT:()=>qs,S_IFREG:()=>Wl});var qs=61440,Jl=16384,Wl=32768,zl=40960,sK=456789e3;var Op={};ut(Op,{BigIntStatsEntry:()=>Bg,DEFAULT_MODE:()=>Tp,DirEntry:()=>cS,StatEntry:()=>Ia,areStatsEqual:()=>gS,clearStats:()=>WE,convertToBigIntStats:()=>zE,makeDefaultStats:()=>Lp,makeEmptyStats:()=>Oge});var uS=Pe(J("util"));var Tp=33188,cS=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Ia=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Tp;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},Bg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Tp);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}};function Lp(){return new Ia}function Oge(){return WE(Lp())}function WE(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(r,e)){let t=r[e];typeof t=="number"?r[e]=0:typeof t=="bigint"?r[e]=BigInt(0):uS.types.isDate(t)&&(r[e]=new Date(0))}return r}function zE(r){let e=new Bg;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)){let i=r[t];typeof i=="number"?e[t]=BigInt(i):uS.types.isDate(i)&&(e[t]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function gS(r,e){if(r.atimeMs!==e.atimeMs||r.birthtimeMs!==e.birthtimeMs||r.blksize!==e.blksize||r.blocks!==e.blocks||r.ctimeMs!==e.ctimeMs||r.dev!==e.dev||r.gid!==e.gid||r.ino!==e.ino||r.isBlockDevice()!==e.isBlockDevice()||r.isCharacterDevice()!==e.isCharacterDevice()||r.isDirectory()!==e.isDirectory()||r.isFIFO()!==e.isFIFO()||r.isFile()!==e.isFile()||r.isSocket()!==e.isSocket()||r.isSymbolicLink()!==e.isSymbolicLink()||r.mode!==e.mode||r.mtimeMs!==e.mtimeMs||r.nlink!==e.nlink||r.rdev!==e.rdev||r.size!==e.size||r.uid!==e.uid)return!1;let t=r,i=e;return!(t.atimeNs!==i.atimeNs||t.mtimeNs!==i.mtimeNs||t.ctimeNs!==i.ctimeNs||t.birthtimeNs!==i.birthtimeNs)}var XE=Pe(J("fs"));var Mp=Pe(J("path"));var Oe={root:"/",dot:".",parent:".."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},K=Object.create(Mp.default),x=Object.create(Mp.default.posix);K.cwd=()=>process.cwd();x.cwd=()=>fS(process.cwd());x.resolve=(...r)=>r.length>0&&x.isAbsolute(r[0])?Mp.default.posix.resolve(...r):Mp.default.posix.resolve(x.cwd(),...r);var oK=function(r,e,t){return e=r.normalize(e),t=r.normalize(t),e===t?".":(e.endsWith(r.sep)||(e=e+r.sep),t.startsWith(e)?t.slice(e.length):null)};K.fromPortablePath=aK;K.toPortablePath=fS;K.contains=(r,e)=>oK(K,r,e);x.contains=(r,e)=>oK(x,r,e);var Mge=/^([a-zA-Z]:.*)$/,Kge=/^\/\/(\.\/)?(.*)$/,Uge=/^\/([a-zA-Z]:.*)$/,Hge=/^\/unc\/(\.dot\/)?(.*)$/;function aK(r){if(process.platform!=="win32")return r;let e,t;if(e=r.match(Uge))r=e[1];else if(t=r.match(Hge))r=`\\\\${t[1]?".\\":""}${t[2]}`;else return r;return r.replace(/\//g,"\\")}function fS(r){if(process.platform!=="win32")return r;r=r.replace(/\\/g,"/");let e,t;return(e=r.match(Mge))?r=`/${e[1]}`:(t=r.match(Kge))&&(r=`/unc/${t[1]?".dot/":""}${t[2]}`),r}function VE(r,e){return r===K?aK(e):fS(e)}function Jr(r){if(K.parse(r).dir!==""||x.parse(r).dir!=="")throw new Error(`Invalid filename: "${r}"`);return r}var ZE=new Date(456789e3*1e3),CS=(t=>(t.Allow="allow",t.ReadOnly="readOnly",t))(CS||{});async function AK(r,e,t,i,n){let s=r.pathUtils.normalize(e),o=t.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:ZE,mtime:ZE}:await t.lstatPromise(o);await r.mkdirpPromise(r.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof r.lutimesPromise=="function"?r.lutimesPromise.bind(r):r.utimesPromise.bind(r);await pS(a,l,g,r,s,t,o,{...n,didParentExist:!0});for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pS(r,e,t,i,n,s,o,a){var h,p;let l=a.didParentExist?await Gge(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:ZE,mtime:ZE}:c,f;switch(!0){case c.isDirectory():f=await Yge(r,e,t,i,n,l,s,o,c,a);break;case c.isFile():f=await qge(r,e,t,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await Jge(r,e,t,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>t(n,u,g)),f=!0),(l===null||(l.mode&511)!==(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function Gge(r,e){try{return await r.lstatPromise(e)}catch{return null}}async function Yge(r,e,t,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(r.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?{...c,didParentExist:!1}:c;if(c.stableSort)for(let h of g.sort())await pS(r,e,t,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pS(r,e,t,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var hS=new WeakMap;function dS(r,e,t,i,n){return async()=>{await r.linkPromise(t,e),n==="readOnly"&&(i.mode&=-147,await r.chmodPromise(e,i.mode))}}function jge(r,e,t,i,n){let s=hS.get(r);return typeof s>"u"?async()=>{try{await r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE),hS.set(r,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")hS.set(r,!1),await dS(r,e,t,i,n)();else throw o}}:s?async()=>r.copyFilePromise(t,e,XE.default.constants.COPYFILE_FICLONE_FORCE):dS(r,e,t,i,n)}async function qge(r,e,t,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?jge(i,n,a,l,u):async()=>i.copyFilePromise(a,n,XE.default.constants.COPYFILE_FICLONE):u!==null?dS(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return r.push(async()=>g()),!0}async function Jge(r,e,t,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)r.push(async()=>i.removePromise(n)),s=null;else return!1;return r.push(async()=>{await i.symlinkPromise(VE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function As(r,e){return Object.assign(new Error(`${r}: ${e}`),{code:r})}function $E(r){return As("EBUSY",r)}function Kp(r,e){return As("ENOSYS",`${r}, ${e}`)}function vA(r){return As("EINVAL",`invalid argument, ${r}`)}function Ur(r){return As("EBADF",`bad file descriptor, ${r}`)}function Js(r){return As("ENOENT",`no such file or directory, ${r}`)}function Qo(r){return As("ENOTDIR",`not a directory, ${r}`)}function Up(r){return As("EISDIR",`illegal operation on a directory, ${r}`)}function eI(r){return As("EEXIST",`file already exists, ${r}`)}function un(r){return As("EROFS",`read-only filesystem, ${r}`)}function lK(r){return As("ENOTEMPTY",`directory not empty, ${r}`)}function cK(r){return As("EOPNOTSUPP",`operation not supported, ${r}`)}function uK(){return As("ERR_DIR_CLOSED","Directory handle was closed")}var _E=class extends Error{constructor(t,i){super(t);this.name="Libzip Error",this.code=i}};var Hp=class{constructor(e,t,i={}){this.path=e;this.nextDirent=t;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw uK()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let t=this.readSync();return typeof e<"u"?e(null,t):Promise.resolve(t)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){var e,t;this.throwIfClosed(),(t=(e=this.opts).onClose)==null||t.call(e),this.closed=!0}};function tI(r,e,t,i){let n=()=>{let s=t.shift();return typeof s>"u"?null:Object.assign(r.statSync(r.pathUtils.join(e,s)),{name:s})};return new Hp(e,n,i)}var gK=J("os");var ya=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:t=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(t)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:t=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(t){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:t=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(t)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{await this.mkdirPromise(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&await this.chmodPromise(a,t),i!=null)await this.utimesPromise(a,i[0],i[1]);else{let l=await this.statPromise(this.pathUtils.dirname(a));await this.utimesPromise(a,l.atime,l.mtime)}}}return s}mkdirpSync(e,{chmod:t,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep),s;for(let o=2;o<=n.length;++o){let a=n.slice(0,o).join(this.pathUtils.sep);if(!this.existsSync(a)){try{this.mkdirSync(a)}catch(l){if(l.code==="EEXIST")continue;throw l}if(s!=null||(s=a),t!=null&&this.chmodSync(a,t),i!=null)this.utimesSync(a,i[0],i[1]);else{let l=this.statSync(this.pathUtils.dirname(a));this.utimesSync(a,l.atime,l.mtime)}}}return s}async copyPromise(e,t,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await AK(this,e,i,t,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,t,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(t),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(t);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(t,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(t);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(t);this.symlinkSync(VE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${t}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferPromise(e,t,i):this.changeFileTextPromise(e,t,i)}async changeFileBufferPromise(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch{}Buffer.compare(n,t)!==0&&await this.writeFilePromise(e,t,{mode:i})}async changeFileTextPromise(e,t,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,t,i={}){return Buffer.isBuffer(t)?this.changeFileBufferSync(e,t,i):this.changeFileTextSync(e,t,i)}changeFileBufferSync(e,t,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch{}Buffer.compare(n,t)!==0&&this.writeFileSync(e,t,{mode:i})}changeFileTextSync(e,t,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch{}let o=i?Vl(s,t):t;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(i){if(i.code==="EXDEV")await this.copyPromise(t,e),await this.removePromise(e);else throw i}}moveSync(e,t){try{this.renameSync(e,t)}catch(i){if(i.code==="EXDEV")this.copySync(t,e),this.removeSync(e);else throw i}}async lockPromise(e,t){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch{return Date.now()-s<500}try{return process.kill(l,0),!0}catch{return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch{}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch{}}}async readJsonPromise(e){let t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)} `)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)} `)}async preserveTimePromise(e,t){let i=await this.lstatPromise(e),n=await t();typeof n<"u"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,t){let i=this.lstatSync(e),n=t();typeof n<"u"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},xA=class extends ya{constructor(){super(x)}};function Wge(r){let e=r.match(/\r?\n/g);if(e===null)return gK.EOL;let t=e.filter(n=>n===`\r `).length,i=e.length-t;return t>i?`\r `:` -`}function Vl(r,e){return e.replace(/\r?\n/g,Wge(r))}var Qg=J("fs"),IS=J("stream"),dK=J("util"),yS=Pe(J("zlib"));var fK=Pe(J("fs"));var $t=class extends xA{constructor(t=fK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var pK=J("events");function hK(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var bg=class extends pK.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new bg(t,i,n);return s.start(),s}start(){hK(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){hK(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new Bg:new Ia;return WE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;gS(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var rI=new WeakMap;function iI(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=rI.get(r);typeof l>"u"&&rI.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=bg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Gp(r,e,t){let i=rI.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Yp(r){let e=rI.get(r);if(!(typeof e>"u"))for(let t of e.keys())Gp(r,t)}var Xl="mixed";function zge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(typeof r=="number"&&Number.isFinite(r))return r<0?Date.now()/1e3:r;if(dK.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function ES(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends xA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Xl,t!=null||(t=ES()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=Lp();else throw a}else this.stats=Lp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Me.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw $E("archive closed, close");Yp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Tp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,ES(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Me.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return tI(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Ur("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Ur("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Ur("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new IS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw un(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new IS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw $E(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Me.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=Qg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`access '${t}'`);if(this.readOnly&&i&Qg.constants.W_OK)throw un(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Ur("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Js(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw Qo(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),T=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new Ia,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:T,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?zE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,T=0,H=Object.assign(new Ia,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:T});return n.bigint===!0?zE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw $E(`archive closed, ${t}`);let o=x.resolve(Me.root,i);if(o==="/")return Me.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Js(t)}if(!c)throw Qo(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1),0);if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,1,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,1);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Me.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{yS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=yS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw un(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw un(`copyfile '${t} -> '${i}'`);if((n&Qg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Kp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw vA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(Qg.constants.COPYFILE_EXCL|Qg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw eI(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Ur(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw un(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Up(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw un(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Up(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw vA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw un(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw un(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,zge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw un(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw eI(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw un(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Qo(`rmdir '${t}'`);if(s.size>0)throw lK(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw vA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Me.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw cK(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw un(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Up(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw eI(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`open '${t}'`);if(this.listings.has(n))throw Up("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw Qo(`open '${t}'`);if(this.listings.has(i))throw vA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw vA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Me.root,t);return iI(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Me.root,t);return Gp(this,n,i)}};var pi=class extends ya{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var So=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var qt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var CK=Me.root,vo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Me.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(CK,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(CK,this.pathUtils.relative(this.target,t))}};var Sg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var Ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),wS=class extends ya{constructor(){super(x)}getExtractHint(){throw Ze()}getRealPath(){throw Ze()}resolve(){throw Ze()}async openPromise(){throw Ze()}openSync(){throw Ze()}async opendirPromise(){throw Ze()}opendirSync(){throw Ze()}async readPromise(){throw Ze()}readSync(){throw Ze()}async writePromise(){throw Ze()}writeSync(){throw Ze()}async closePromise(){throw Ze()}closeSync(){throw Ze()}createWriteStream(){throw Ze()}createReadStream(){throw Ze()}async realpathPromise(){throw Ze()}realpathSync(){throw Ze()}async readdirPromise(){throw Ze()}readdirSync(){throw Ze()}async existsPromise(e){throw Ze()}existsSync(e){throw Ze()}async accessPromise(){throw Ze()}accessSync(){throw Ze()}async statPromise(){throw Ze()}statSync(){throw Ze()}async fstatPromise(e){throw Ze()}fstatSync(e){throw Ze()}async lstatPromise(e){throw Ze()}lstatSync(e){throw Ze()}async fchmodPromise(){throw Ze()}fchmodSync(){throw Ze()}async chmodPromise(){throw Ze()}chmodSync(){throw Ze()}async fchownPromise(){throw Ze()}fchownSync(){throw Ze()}async chownPromise(){throw Ze()}chownSync(){throw Ze()}async mkdirPromise(){throw Ze()}mkdirSync(){throw Ze()}async rmdirPromise(){throw Ze()}rmdirSync(){throw Ze()}async linkPromise(){throw Ze()}linkSync(){throw Ze()}async symlinkPromise(){throw Ze()}symlinkSync(){throw Ze()}async renamePromise(){throw Ze()}renameSync(){throw Ze()}async copyFilePromise(){throw Ze()}copyFileSync(){throw Ze()}async appendFilePromise(){throw Ze()}appendFileSync(){throw Ze()}async writeFilePromise(){throw Ze()}writeFileSync(){throw Ze()}async unlinkPromise(){throw Ze()}unlinkSync(){throw Ze()}async utimesPromise(){throw Ze()}utimesSync(){throw Ze()}async readFilePromise(){throw Ze()}readFileSync(){throw Ze()}async readlinkPromise(){throw Ze()}readlinkSync(){throw Ze()}async truncatePromise(){throw Ze()}truncateSync(){throw Ze()}async ftruncatePromise(e,t){throw Ze()}ftruncateSync(e,t){throw Ze()}watch(){throw Ze()}watchFile(){throw Ze()}unwatchFile(){throw Ze()}},jp=wS;jp.instance=new wS;var vg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var Vge=/^[0-9]+$/,BS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Xge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(Xge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Kn=class extends xA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Kn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|Vi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&gn)!==Vi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&gn)!==Vi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&gn)!==Vi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&gn)!==Vi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Me.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&gn)!==Vi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>iI(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Gp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=mK(n,".zip");else for(let o of this.fileExtensions)if(s=mK(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Me.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Pg=J("util");var sI=J("url"),EK=J("util");var nI=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof sI.URL)return(0,sI.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,EK.inspect)(t)}`)}};var IK=J("readline"),Fi=Symbol("kBaseFs"),wa=Symbol("kFd"),PA=Symbol("kClosePromise"),oI=Symbol("kCloseResolve"),aI=Symbol("kCloseReject"),xg=Symbol("kRefs"),Ws=Symbol("kRef"),zs=Symbol("kUnref"),Zge,_ge,$ge,efe,Jp=class{constructor(e,t){this[Zge]=1;this[_ge]=void 0;this[$ge]=void 0;this[efe]=void 0;this[Fi]=t,this[wa]=e}get fd(){return this[wa]}async appendFile(e,t){var i;try{this[Ws](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Fi].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[zs]()}}async chown(e,t){try{return this[Ws](this.chown),await this[Fi].fchownPromise(this.fd,e,t)}finally{this[zs]()}}async chmod(e){try{return this[Ws](this.chmod),await this[Fi].fchmodPromise(this.fd,e)}finally{this[zs]()}}createReadStream(e){return this[Fi].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Fi].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Ws](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Fi].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[zs]()}}async readFile(e){var t;try{this[Ws](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Fi].readFilePromise(this.fd,i)}finally{this[zs]()}}readLines(e){return(0,IK.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ws](this.stat),await this[Fi].fstatPromise(this.fd,e)}finally{this[zs]()}}async truncate(e){try{return this[Ws](this.truncate),await this[Fi].ftruncatePromise(this.fd,e)}finally{this[zs]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Ws](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Fi].writeFilePromise(this.fd,e,n)}finally{this[zs]()}}async write(...e){try{if(this[Ws](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[zs]()}}async writev(e,t){try{this[Ws](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e){let s=await this.write(n);i+=s.bytesWritten}return{buffers:e,bytesWritten:i}}finally{this[zs]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[wa]===-1)return Promise.resolve();if(this[PA])return this[PA];if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[PA]=this[Fi].closePromise(e).finally(()=>{this[PA]=void 0})}else this[PA]=new Promise((e,t)=>{this[oI]=e,this[aI]=t}).finally(()=>{this[PA]=void 0,this[aI]=void 0,this[oI]=void 0});return this[PA]}[(Fi,wa,Zge=xg,_ge=PA,$ge=oI,efe=aI,Ws)](e){if(this[wa]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[xg]++}[zs](){if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[Fi].closePromise(e).then(this[oI],this[aI])}}};var tfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),yK=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function bS(r,e){e=new nI(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Pg.promisify.custom])<"u"&&(s[Pg.promisify.custom]=o[Pg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of yK){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of tfe){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of yK){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof Jp?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new Jp(o,e)})}}r.read[Pg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Pg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function AI(r,e){let t=Object.create(r);return bS(t,e),t}var bK=Pe(J("os"));function wK(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var Vs=new Set,QS=null;function BK(){if(QS)return QS;let r=K.toPortablePath(bK.default.tmpdir()),e=O.realpathSync(r);return process.once("exit",()=>{O.rmtempSync()}),QS={tmpdir:r,realTmpdir:e}}var O=Object.assign(new $t,{detachTemp(r){Vs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Vs.values()).map(async r=>{try{await O.removePromise(r,{maxRetries:0}),Vs.delete(r)}catch{}}))},rmtempSync(){for(let r of Vs)try{O.removeSync(r),Vs.delete(r)}catch{}}});var fk=Pe(TS());var td={};ut(td,{parseResolution:()=>hI,parseShell:()=>uI,parseSyml:()=>yi,stringifyArgument:()=>KS,stringifyArgumentSegment:()=>US,stringifyArithmeticExpression:()=>fI,stringifyCommand:()=>OS,stringifyCommandChain:()=>Fg,stringifyCommandChainThen:()=>MS,stringifyCommandLine:()=>gI,stringifyCommandLineThen:()=>LS,stringifyEnvSegment:()=>cI,stringifyRedirectArgument:()=>zp,stringifyResolution:()=>pI,stringifyShell:()=>Rg,stringifyShellLine:()=>Rg,stringifySyml:()=>ba,stringifyValueArgument:()=>_l});var hU=Pe(fU());function uI(r,e={isGlobPattern:()=>!1}){try{return(0,hU.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Rg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${gI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function gI(r){return`${Fg(r.chain)}${r.then?` ${LS(r.then)}`:""}`}function LS(r){return`${r.type} ${gI(r.line)}`}function Fg(r){return`${OS(r)}${r.then?` ${MS(r.then)}`:""}`}function MS(r){return`${r.type} ${Fg(r.chain)}`}function OS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>cI(e)).join(" ")} `:""}${r.args.map(e=>KS(e)).join(" ")}`;case"subshell":return`(${Rg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"group":return`{ ${Rg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>cI(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function cI(r){return`${r.name}=${r.args[0]?_l(r.args[0]):""}`}function KS(r){switch(r.type){case"redirection":return zp(r);case"argument":return _l(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function zp(r){return`${r.subtype} ${r.args.map(e=>_l(e)).join(" ")}`}function _l(r){return r.segments.map(e=>US(e)).join("")}function US(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${Rg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>_l(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>_l(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${fI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function fI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(fI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var CU=Pe(dU());function hI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,CU.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function pI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var vI=Pe(aH()),gH=Pe(lH()),cde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,cH=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],SI=class{constructor(e){this.data=e}};function uH(r){return r.match(cde)?r:JSON.stringify(r)}function fH(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>fH(r[e])):!1}function $S(r,e,t){if(r===null)return`null +`}function Vl(r,e){return e.replace(/\r?\n/g,Wge(r))}var Qg=J("fs"),IS=J("stream"),dK=J("util"),yS=Pe(J("zlib"));var fK=Pe(J("fs"));var $t=class extends xA{constructor(t=fK.default){super();this.realFs=t,typeof this.realFs.lutimes<"u"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Oe.root}resolve(t){return x.resolve(t)}async openPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.open(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}openSync(t,i,n){return this.realFs.openSync(K.fromPortablePath(t),i,n)}async opendirPromise(t,i){return await new Promise((n,s)=>{typeof i<"u"?this.realFs.opendir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.opendir(K.fromPortablePath(t),this.makeCallback(n,s))}).then(n=>Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0}))}opendirSync(t,i){let n=typeof i<"u"?this.realFs.opendirSync(K.fromPortablePath(t),i):this.realFs.opendirSync(K.fromPortablePath(t));return Object.defineProperty(n,"path",{value:t,configurable:!0,writable:!0})}async readPromise(t,i,n=0,s=0,o=-1){return await new Promise((a,l)=>{this.realFs.read(t,i,n,s,o,(c,u)=>{c?l(c):a(u)})})}readSync(t,i,n,s,o){return this.realFs.readSync(t,i,n,s,o)}async writePromise(t,i,n,s,o){return await new Promise((a,l)=>typeof i=="string"?this.realFs.write(t,i,n,this.makeCallback(a,l)):this.realFs.write(t,i,n,s,o,this.makeCallback(a,l)))}writeSync(t,i,n,s,o){return typeof i=="string"?this.realFs.writeSync(t,i,n):this.realFs.writeSync(t,i,n,s,o)}async closePromise(t){await new Promise((i,n)=>{this.realFs.close(t,this.makeCallback(i,n))})}closeSync(t){this.realFs.closeSync(t)}createReadStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createReadStream(n,i)}createWriteStream(t,i){let n=t!==null?K.fromPortablePath(t):t;return this.realFs.createWriteStream(n,i)}async realpathPromise(t){return await new Promise((i,n)=>{this.realFs.realpath(K.fromPortablePath(t),{},this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}realpathSync(t){return K.toPortablePath(this.realFs.realpathSync(K.fromPortablePath(t),{}))}async existsPromise(t){return await new Promise(i=>{this.realFs.exists(K.fromPortablePath(t),i)})}accessSync(t,i){return this.realFs.accessSync(K.fromPortablePath(t),i)}async accessPromise(t,i){return await new Promise((n,s)=>{this.realFs.access(K.fromPortablePath(t),i,this.makeCallback(n,s))})}existsSync(t){return this.realFs.existsSync(K.fromPortablePath(t))}async statPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.stat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.stat(K.fromPortablePath(t),this.makeCallback(n,s))})}statSync(t,i){return i?this.realFs.statSync(K.fromPortablePath(t),i):this.realFs.statSync(K.fromPortablePath(t))}async fstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.fstat(t,i,this.makeCallback(n,s)):this.realFs.fstat(t,this.makeCallback(n,s))})}fstatSync(t,i){return i?this.realFs.fstatSync(t,i):this.realFs.fstatSync(t)}async lstatPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.lstat(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.lstat(K.fromPortablePath(t),this.makeCallback(n,s))})}lstatSync(t,i){return i?this.realFs.lstatSync(K.fromPortablePath(t),i):this.realFs.lstatSync(K.fromPortablePath(t))}async fchmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.fchmod(t,i,this.makeCallback(n,s))})}fchmodSync(t,i){return this.realFs.fchmodSync(t,i)}async chmodPromise(t,i){return await new Promise((n,s)=>{this.realFs.chmod(K.fromPortablePath(t),i,this.makeCallback(n,s))})}chmodSync(t,i){return this.realFs.chmodSync(K.fromPortablePath(t),i)}async fchownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.fchown(t,i,n,this.makeCallback(s,o))})}fchownSync(t,i,n){return this.realFs.fchownSync(t,i,n)}async chownPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.chown(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}chownSync(t,i,n){return this.realFs.chownSync(K.fromPortablePath(t),i,n)}async renamePromise(t,i){return await new Promise((n,s)=>{this.realFs.rename(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}renameSync(t,i){return this.realFs.renameSync(K.fromPortablePath(t),K.fromPortablePath(i))}async copyFilePromise(t,i,n=0){return await new Promise((s,o)=>{this.realFs.copyFile(K.fromPortablePath(t),K.fromPortablePath(i),n,this.makeCallback(s,o))})}copyFileSync(t,i,n=0){return this.realFs.copyFileSync(K.fromPortablePath(t),K.fromPortablePath(i),n)}async appendFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFile(a,i,n,this.makeCallback(s,o)):this.realFs.appendFile(a,i,this.makeCallback(s,o))})}appendFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.appendFileSync(s,i,n):this.realFs.appendFileSync(s,i)}async writeFilePromise(t,i,n){return await new Promise((s,o)=>{let a=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFile(a,i,n,this.makeCallback(s,o)):this.realFs.writeFile(a,i,this.makeCallback(s,o))})}writeFileSync(t,i,n){let s=typeof t=="string"?K.fromPortablePath(t):t;n?this.realFs.writeFileSync(s,i,n):this.realFs.writeFileSync(s,i)}async unlinkPromise(t){return await new Promise((i,n)=>{this.realFs.unlink(K.fromPortablePath(t),this.makeCallback(i,n))})}unlinkSync(t){return this.realFs.unlinkSync(K.fromPortablePath(t))}async utimesPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.utimes(K.fromPortablePath(t),i,n,this.makeCallback(s,o))})}utimesSync(t,i,n){this.realFs.utimesSync(K.fromPortablePath(t),i,n)}async lutimesPromiseImpl(t,i,n){let s=this.realFs.lutimes;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);return await new Promise((o,a)=>{s.call(this.realFs,K.fromPortablePath(t),i,n,this.makeCallback(o,a))})}lutimesSyncImpl(t,i,n){let s=this.realFs.lutimesSync;if(typeof s>"u")throw Kp("unavailable Node binding",`lutimes '${t}'`);s.call(this.realFs,K.fromPortablePath(t),i,n)}async mkdirPromise(t,i){return await new Promise((n,s)=>{this.realFs.mkdir(K.fromPortablePath(t),i,this.makeCallback(n,s))})}mkdirSync(t,i){return this.realFs.mkdirSync(K.fromPortablePath(t),i)}async rmdirPromise(t,i){return await new Promise((n,s)=>{i?this.realFs.rmdir(K.fromPortablePath(t),i,this.makeCallback(n,s)):this.realFs.rmdir(K.fromPortablePath(t),this.makeCallback(n,s))})}rmdirSync(t,i){return this.realFs.rmdirSync(K.fromPortablePath(t),i)}async linkPromise(t,i){return await new Promise((n,s)=>{this.realFs.link(K.fromPortablePath(t),K.fromPortablePath(i),this.makeCallback(n,s))})}linkSync(t,i){return this.realFs.linkSync(K.fromPortablePath(t),K.fromPortablePath(i))}async symlinkPromise(t,i,n){return await new Promise((s,o)=>{this.realFs.symlink(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n,this.makeCallback(s,o))})}symlinkSync(t,i,n){return this.realFs.symlinkSync(K.fromPortablePath(t.replace(/\/+$/,"")),K.fromPortablePath(i),n)}async readFilePromise(t,i){return await new Promise((n,s)=>{let o=typeof t=="string"?K.fromPortablePath(t):t;this.realFs.readFile(o,i,this.makeCallback(n,s))})}readFileSync(t,i){let n=typeof t=="string"?K.fromPortablePath(t):t;return this.realFs.readFileSync(n,i)}async readdirPromise(t,i){return await new Promise((n,s)=>{i!=null&&i.withFileTypes?this.realFs.readdir(K.fromPortablePath(t),{withFileTypes:!0},this.makeCallback(n,s)):this.realFs.readdir(K.fromPortablePath(t),this.makeCallback(o=>n(o),s))})}readdirSync(t,i){return i!=null&&i.withFileTypes?this.realFs.readdirSync(K.fromPortablePath(t),{withFileTypes:!0}):this.realFs.readdirSync(K.fromPortablePath(t))}async readlinkPromise(t){return await new Promise((i,n)=>{this.realFs.readlink(K.fromPortablePath(t),this.makeCallback(i,n))}).then(i=>K.toPortablePath(i))}readlinkSync(t){return K.toPortablePath(this.realFs.readlinkSync(K.fromPortablePath(t)))}async truncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.truncate(K.fromPortablePath(t),i,this.makeCallback(n,s))})}truncateSync(t,i){return this.realFs.truncateSync(K.fromPortablePath(t),i)}async ftruncatePromise(t,i){return await new Promise((n,s)=>{this.realFs.ftruncate(t,i,this.makeCallback(n,s))})}ftruncateSync(t,i){return this.realFs.ftruncateSync(t,i)}watch(t,i,n){return this.realFs.watch(K.fromPortablePath(t),i,n)}watchFile(t,i,n){return this.realFs.watchFile(K.fromPortablePath(t),i,n)}unwatchFile(t,i){return this.realFs.unwatchFile(K.fromPortablePath(t),i)}makeCallback(t,i){return(n,s)=>{n?i(n):t(s)}}};var pK=J("events");function hK(r,e){if(r!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${r}'`)}var bg=class extends pK.EventEmitter{constructor(t,i,{bigint:n=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=t,this.path=i,this.bigint=n,this.lastStats=this.stat()}static create(t,i,n){let s=new bg(t,i,n);return s.start(),s}start(){hK(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){hK(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let i=this.bigint?new Bg:new Ia;return WE(i)}}makeInterval(t){let i=setInterval(()=>{let n=this.stat(),s=this.lastStats;gS(n,s)||(this.lastStats=n,this.emit("change",n,s))},t.interval);return t.persistent?i:i.unref()}registerChangeListener(t,i){this.addListener("change",t),this.changeListeners.set(t,this.makeInterval(i))}unregisterChangeListener(t){this.removeListener("change",t);let i=this.changeListeners.get(t);typeof i<"u"&&clearInterval(i),this.changeListeners.delete(t)}unregisterAllChangeListeners(){for(let t of this.changeListeners.keys())this.unregisterChangeListener(t)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let t of this.changeListeners.values())t.ref();return this}unref(){for(let t of this.changeListeners.values())t.unref();return this}};var rI=new WeakMap;function iI(r,e,t,i){let n,s,o,a;switch(typeof t){case"function":n=!1,s=!0,o=5007,a=t;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=t),a=i;break}let l=rI.get(r);typeof l>"u"&&rI.set(r,l=new Map);let c=l.get(e);return typeof c>"u"&&(c=bg.create(r,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Gp(r,e,t){let i=rI.get(r);if(typeof i>"u")return;let n=i.get(e);typeof n>"u"||(typeof t>"u"?n.unregisterAllChangeListeners():n.unregisterChangeListener(t),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Yp(r){let e=rI.get(r);if(!(typeof e>"u"))for(let t of e.keys())Gp(r,t)}var Xl="mixed";function zge(r){if(typeof r=="string"&&String(+r)===r)return+r;if(typeof r=="number"&&Number.isFinite(r))return r<0?Date.now()/1e3:r;if(dK.types.isDate(r))return r.getTime()/1e3;throw new Error("Invalid time")}function ES(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Wr=class extends xA{constructor(t,i){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=i.libzip;let n=i;if(this.level=typeof n.level<"u"?n.level:Xl,t!=null||(t=ES()),typeof t=="string"){let{baseFs:a=new $t}=n;this.baseFs=a,this.path=t}else this.path=null,this.baseFs=null;if(i.stats)this.stats=i.stats;else if(typeof t=="string")try{this.stats=this.baseFs.statSync(t)}catch(a){if(a.code==="ENOENT"&&n.create)this.stats=Lp();else throw a}else this.stats=Lp();let s=this.libzip.malloc(4);try{let a=0;if(typeof t=="string"&&n.create&&(a|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),i.readOnly&&(a|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof t=="string")this.zip=this.libzip.open(K.fromPortablePath(t),a,s);else{let l=this.allocateUnattachedSource(t);try{this.zip=this.libzip.openFromSource(l,a,s),this.lzSource=l}catch(c){throw this.libzip.source.free(l),c}}if(this.zip===0){let l=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(l,this.libzip.getValue(s,"i32")),this.makeLibzipError(l)}}finally{this.libzip.free(s)}this.listings.set(Oe.root,new Set);let o=this.libzip.getNumEntries(this.zip,0);for(let a=0;at)throw new Error("Overread");let s=this.libzip.HEAPU8.subarray(i,i+t);return Buffer.from(s)}finally{this.libzip.free(i)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw $E("archive closed, close");Yp(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let t=this.baseFs.existsSync(this.path)||this.stats.mode===Tp?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,ES(),{mode:t});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof t<"u"&&this.baseFs.chmodSync(this.path,t)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(t){return x.resolve(Oe.root,t)}async openPromise(t,i,n){return this.openSync(t,i,n)}openSync(t,i,n){let s=this.nextFd++;return this.fds.set(s,{cursor:0,p:t}),s}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(t,i){return this.opendirSync(t,i)}opendirSync(t,i={}){let n=this.resolveFilename(`opendir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`opendir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`opendir '${t}'`);let o=[...s],a=this.openSync(n,"r");return tI(this,n,o,{onClose:()=>{this.closeSync(a)}})}async readPromise(t,i,n,s,o){return this.readSync(t,i,n,s,o)}readSync(t,i,n=0,s=i.byteLength,o=-1){let a=this.fds.get(t);if(typeof a>"u")throw Ur("read");let l=o===-1||o===null?a.cursor:o,c=this.readFileSync(a.p);c.copy(i,n,l,l+s);let u=Math.max(0,Math.min(c.length-l,s));return(o===-1||o===null)&&(a.cursor+=u),u}async writePromise(t,i,n,s,o){return typeof i=="string"?this.writeSync(t,i,o):this.writeSync(t,i,n,s,o)}writeSync(t,i,n,s,o){throw typeof this.fds.get(t)>"u"?Ur("read"):new Error("Unimplemented")}async closePromise(t){return this.closeSync(t)}closeSync(t){if(typeof this.fds.get(t)>"u")throw Ur("read");this.fds.delete(t)}createReadStream(t,{encoding:i}={}){if(t===null)throw new Error("Unimplemented");let n=this.openSync(t,"r"),s=Object.assign(new IS.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(a,l)=>{clearImmediate(o),this.closeSync(n),l(a)}}),{close(){s.destroy()},bytesRead:0,path:t}),o=setImmediate(async()=>{try{let a=await this.readFilePromise(t,i);s.bytesRead=a.length,s.end(a)}catch(a){s.destroy(a)}});return s}createWriteStream(t,{encoding:i}={}){if(this.readOnly)throw un(`open '${t}'`);if(t===null)throw new Error("Unimplemented");let n=[],s=this.openSync(t,"w"),o=Object.assign(new IS.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(a,l)=>{try{a?l(a):(this.writeFileSync(t,Buffer.concat(n),i),l(null))}catch(c){l(c)}finally{this.closeSync(s)}}}),{bytesWritten:0,path:t,close(){o.destroy()}});return o.on("data",a=>{let l=Buffer.from(a);o.bytesWritten+=l.length,n.push(l)}),o}async realpathPromise(t){return this.realpathSync(t)}realpathSync(t){let i=this.resolveFilename(`lstat '${t}'`,t);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`lstat '${t}'`);return i}async existsPromise(t){return this.existsSync(t)}existsSync(t){if(!this.ready)throw $E(`archive closed, existsSync '${t}'`);if(this.symlinkCount===0){let n=x.resolve(Oe.root,t);return this.entries.has(n)||this.listings.has(n)}let i;try{i=this.resolveFilename(`stat '${t}'`,t,void 0,!1)}catch{return!1}return i===void 0?!1:this.entries.has(i)||this.listings.has(i)}async accessPromise(t,i){return this.accessSync(t,i)}accessSync(t,i=Qg.constants.F_OK){let n=this.resolveFilename(`access '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`access '${t}'`);if(this.readOnly&&i&Qg.constants.W_OK)throw un(`access '${t}'`)}async statPromise(t,i={bigint:!1}){return i.bigint?this.statSync(t,{bigint:!0}):this.statSync(t)}statSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`stat '${t}'`,t,void 0,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`stat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`stat '${t}'`);return this.statImpl(`stat '${t}'`,n,i)}}async fstatPromise(t,i){return this.fstatSync(t,i)}fstatSync(t,i){let n=this.fds.get(t);if(typeof n>"u")throw Ur("fstatSync");let{p:s}=n,o=this.resolveFilename(`stat '${s}'`,s);if(!this.entries.has(o)&&!this.listings.has(o))throw Js(`stat '${s}'`);if(s[s.length-1]==="/"&&!this.listings.has(o))throw Qo(`stat '${s}'`);return this.statImpl(`fstat '${s}'`,o,i)}async lstatPromise(t,i={bigint:!1}){return i.bigint?this.lstatSync(t,{bigint:!0}):this.lstatSync(t)}lstatSync(t,i={bigint:!1,throwIfNoEntry:!0}){let n=this.resolveFilename(`lstat '${t}'`,t,!1,i.throwIfNoEntry);if(n!==void 0){if(!this.entries.has(n)&&!this.listings.has(n)){if(i.throwIfNoEntry===!1)return;throw Js(`lstat '${t}'`)}if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`lstat '${t}'`);return this.statImpl(`lstat '${t}'`,n,i)}}statImpl(t,i,n={}){let s=this.entries.get(i);if(typeof s<"u"){let o=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,s,0,0,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let l=this.stats.uid,c=this.stats.gid,u=this.libzip.struct.statSize(o)>>>0,g=512,f=Math.ceil(u/g),h=(this.libzip.struct.statMtime(o)>>>0)*1e3,p=h,C=h,y=h,B=new Date(p),v=new Date(C),D=new Date(y),T=new Date(h),H=this.listings.has(i)?16384:this.isSymbolicLink(s)?40960:32768,j=H===16384?493:420,$=H|this.getUnixMode(s,j)&511,V=this.libzip.struct.statCrc(o),W=Object.assign(new Ia,{uid:l,gid:c,size:u,blksize:g,blocks:f,atime:B,birthtime:v,ctime:D,mtime:T,atimeMs:p,birthtimeMs:C,ctimeMs:y,mtimeMs:h,mode:$,crc:V});return n.bigint===!0?zE(W):W}if(this.listings.has(i)){let o=this.stats.uid,a=this.stats.gid,l=0,c=512,u=0,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=this.stats.mtimeMs,C=new Date(g),y=new Date(f),B=new Date(h),v=new Date(p),D=16877,T=0,H=Object.assign(new Ia,{uid:o,gid:a,size:l,blksize:c,blocks:u,atime:C,birthtime:y,ctime:B,mtime:v,atimeMs:g,birthtimeMs:f,ctimeMs:h,mtimeMs:p,mode:D,crc:T});return n.bigint===!0?zE(H):H}throw new Error("Unreachable")}getUnixMode(t,i){if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?i:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(t){let i=this.listings.get(t);if(i)return i;this.registerListing(x.dirname(t)).add(x.basename(t));let s=new Set;return this.listings.set(t,s),s}registerEntry(t,i){this.registerListing(x.dirname(t)).add(x.basename(t)),this.entries.set(t,i)}unregisterListing(t){this.listings.delete(t);let i=this.listings.get(x.dirname(t));i==null||i.delete(x.basename(t))}unregisterEntry(t){this.unregisterListing(t);let i=this.entries.get(t);this.entries.delete(t),!(typeof i>"u")&&(this.fileSources.delete(i),this.isSymbolicLink(i)&&this.symlinkCount--)}deleteEntry(t,i){if(this.unregisterEntry(t),this.libzip.delete(this.zip,i)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(t,i,n=!0,s=!0){if(!this.ready)throw $E(`archive closed, ${t}`);let o=x.resolve(Oe.root,i);if(o==="/")return Oe.root;let a=this.entries.get(o);if(n&&a!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(a)){let l=this.getFileSource(a).toString();return this.resolveFilename(t,x.resolve(x.dirname(o),l),!0,s)}else return o;for(;;){let l=this.resolveFilename(t,x.dirname(o),!0,s);if(l===void 0)return l;let c=this.listings.has(l),u=this.entries.has(l);if(!c&&!u){if(s===!1)return;throw Js(t)}if(!c)throw Qo(t);if(o=x.resolve(l,x.basename(o)),!n||this.symlinkCount===0)break;let g=this.libzip.name.locate(this.zip,o.slice(1),0);if(g===-1)break;if(this.isSymbolicLink(g)){let f=this.getFileSource(g).toString();o=x.resolve(x.dirname(o),f)}else break}return o}allocateBuffer(t){Buffer.isBuffer(t)||(t=Buffer.from(t));let i=this.libzip.malloc(t.byteLength);if(!i)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,i,t.byteLength).set(t),{buffer:i,byteLength:t.byteLength}}allocateUnattachedSource(t){let i=this.libzip.struct.errorS(),{buffer:n,byteLength:s}=this.allocateBuffer(t),o=this.libzip.source.fromUnattachedBuffer(n,s,0,1,i);if(o===0)throw this.libzip.free(i),this.makeLibzipError(i);return o}allocateSource(t){let{buffer:i,byteLength:n}=this.allocateBuffer(t),s=this.libzip.source.fromBuffer(this.zip,i,n,0,1);if(s===0)throw this.libzip.free(i),this.makeLibzipError(this.libzip.getError(this.zip));return s}setFileSource(t,i){let n=Buffer.isBuffer(i)?i:Buffer.from(i),s=x.relative(Oe.root,t),o=this.allocateSource(i);try{let a=this.libzip.file.add(this.zip,s,o,this.libzip.ZIP_FL_OVERWRITE);if(a===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let l=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,a,0,l,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(a,n),a}catch(a){throw this.libzip.source.free(o),a}}isSymbolicLink(t){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,t,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&61440)===40960}getFileSource(t,i={asyncDecompress:!1}){let n=this.fileSources.get(t);if(typeof n<"u")return n;let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,t,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.libzip.struct.statCompSize(s),l=this.libzip.struct.statCompMethod(s),c=this.libzip.malloc(a);try{let u=this.libzip.fopenIndex(this.zip,t,0,this.libzip.ZIP_FL_COMPRESSED);if(u===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let g=this.libzip.fread(u,c,a,0);if(g===-1)throw this.makeLibzipError(this.libzip.file.getError(u));if(ga)throw new Error("Overread");let f=this.libzip.HEAPU8.subarray(c,c+a),h=Buffer.from(f);if(l===0)return this.fileSources.set(t,h),h;if(i.asyncDecompress)return new Promise((p,C)=>{yS.default.inflateRaw(h,(y,B)=>{y?C(y):(this.fileSources.set(t,B),p(B))})});{let p=yS.default.inflateRawSync(h);return this.fileSources.set(t,p),p}}finally{this.libzip.fclose(u)}}finally{this.libzip.free(c)}}async fchmodPromise(t,i){return this.chmodPromise(this.fdToPath(t,"fchmod"),i)}fchmodSync(t,i){return this.chmodSync(this.fdToPath(t,"fchmodSync"),i)}async chmodPromise(t,i){return this.chmodSync(t,i)}chmodSync(t,i){if(this.readOnly)throw un(`chmod '${t}'`);i&=493;let n=this.resolveFilename(`chmod '${t}'`,t,!1),s=this.entries.get(n);if(typeof s>"u")throw new Error(`Assertion failed: The entry should have been registered (${n})`);let a=this.getUnixMode(s,32768)&-512|i;if(this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,a<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(t,i,n){return this.chownPromise(this.fdToPath(t,"fchown"),i,n)}fchownSync(t,i,n){return this.chownSync(this.fdToPath(t,"fchownSync"),i,n)}async chownPromise(t,i,n){return this.chownSync(t,i,n)}chownSync(t,i,n){throw new Error("Unimplemented")}async renamePromise(t,i){return this.renameSync(t,i)}renameSync(t,i){throw new Error("Unimplemented")}async copyFilePromise(t,i,n){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=await this.getFileSource(s,{asyncDecompress:!0}),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}copyFileSync(t,i,n=0){let{indexSource:s,indexDest:o,resolvedDestP:a}=this.prepareCopyFile(t,i,n),l=this.getFileSource(s),c=this.setFileSource(a,l);c!==o&&this.registerEntry(a,c)}prepareCopyFile(t,i,n=0){if(this.readOnly)throw un(`copyfile '${t} -> '${i}'`);if((n&Qg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Kp("unsupported clone operation",`copyfile '${t}' -> ${i}'`);let s=this.resolveFilename(`copyfile '${t} -> ${i}'`,t),o=this.entries.get(s);if(typeof o>"u")throw vA(`copyfile '${t}' -> '${i}'`);let a=this.resolveFilename(`copyfile '${t}' -> ${i}'`,i),l=this.entries.get(a);if((n&(Qg.constants.COPYFILE_EXCL|Qg.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof l<"u")throw eI(`copyfile '${t}' -> '${i}'`);return{indexSource:o,resolvedDestP:a,indexDest:l}}async appendFilePromise(t,i,n){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFilePromise(t,i,n)}appendFileSync(t,i,n={}){if(this.readOnly)throw un(`open '${t}'`);return typeof n>"u"?n={flag:"a"}:typeof n=="string"?n={flag:"a",encoding:n}:typeof n.flag>"u"&&(n={flag:"a",...n}),this.writeFileSync(t,i,n)}fdToPath(t,i){var s;let n=(s=this.fds.get(t))==null?void 0:s.p;if(typeof n>"u")throw Ur(i);return n}async writeFilePromise(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([await this.getFileSource(a,{asyncDecompress:!0}),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&await this.chmodPromise(l,o)}writeFileSync(t,i,n){let{encoding:s,mode:o,index:a,resolvedP:l}=this.prepareWriteFile(t,n);a!==void 0&&typeof n=="object"&&n.flag&&n.flag.includes("a")&&(i=Buffer.concat([this.getFileSource(a),Buffer.from(i)])),s!==null&&(i=i.toString(s));let c=this.setFileSource(l,i);c!==a&&this.registerEntry(l,c),o!==null&&this.chmodSync(l,o)}prepareWriteFile(t,i){if(typeof t=="number"&&(t=this.fdToPath(t,"read")),this.readOnly)throw un(`open '${t}'`);let n=this.resolveFilename(`open '${t}'`,t);if(this.listings.has(n))throw Up(`open '${t}'`);let s=null,o=null;typeof i=="string"?s=i:typeof i=="object"&&({encoding:s=null,mode:o=null}=i);let a=this.entries.get(n);return{encoding:s,mode:o,resolvedP:n,index:a}}async unlinkPromise(t){return this.unlinkSync(t)}unlinkSync(t){if(this.readOnly)throw un(`unlink '${t}'`);let i=this.resolveFilename(`unlink '${t}'`,t);if(this.listings.has(i))throw Up(`unlink '${t}'`);let n=this.entries.get(i);if(typeof n>"u")throw vA(`unlink '${t}'`);this.deleteEntry(i,n)}async utimesPromise(t,i,n){return this.utimesSync(t,i,n)}utimesSync(t,i,n){if(this.readOnly)throw un(`utimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t);this.utimesImpl(s,n)}async lutimesPromise(t,i,n){return this.lutimesSync(t,i,n)}lutimesSync(t,i,n){if(this.readOnly)throw un(`lutimes '${t}'`);let s=this.resolveFilename(`utimes '${t}'`,t,!1);this.utimesImpl(s,n)}utimesImpl(t,i){this.listings.has(t)&&(this.entries.has(t)||this.hydrateDirectory(t));let n=this.entries.get(t);if(n===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,n,0,zge(i),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(t,i){return this.mkdirSync(t,i)}mkdirSync(t,{mode:i=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(t,{chmod:i});if(this.readOnly)throw un(`mkdir '${t}'`);let s=this.resolveFilename(`mkdir '${t}'`,t);if(this.entries.has(s)||this.listings.has(s))throw eI(`mkdir '${t}'`);this.hydrateDirectory(s),this.chmodSync(s,i)}async rmdirPromise(t,i){return this.rmdirSync(t,i)}rmdirSync(t,{recursive:i=!1}={}){if(this.readOnly)throw un(`rmdir '${t}'`);if(i){this.removeSync(t);return}let n=this.resolveFilename(`rmdir '${t}'`,t),s=this.listings.get(n);if(!s)throw Qo(`rmdir '${t}'`);if(s.size>0)throw lK(`rmdir '${t}'`);let o=this.entries.get(n);if(typeof o>"u")throw vA(`rmdir '${t}'`);this.deleteEntry(t,o)}hydrateDirectory(t){let i=this.libzip.dir.add(this.zip,x.relative(Oe.root,t));if(i===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(t),this.registerEntry(t,i),i}async linkPromise(t,i){return this.linkSync(t,i)}linkSync(t,i){throw cK(`link '${t}' -> '${i}'`)}async symlinkPromise(t,i){return this.symlinkSync(t,i)}symlinkSync(t,i){if(this.readOnly)throw un(`symlink '${t}' -> '${i}'`);let n=this.resolveFilename(`symlink '${t}' -> '${i}'`,i);if(this.listings.has(n))throw Up(`symlink '${t}' -> '${i}'`);if(this.entries.has(n))throw eI(`symlink '${t}' -> '${i}'`);let s=this.setFileSource(n,t);if(this.registerEntry(n,s),this.libzip.file.setExternalAttributes(this.zip,s,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=await this.readFileBuffer(t,{asyncDecompress:!0});return i?n.toString(i):n}readFileSync(t,i){typeof i=="object"&&(i=i?i.encoding:void 0);let n=this.readFileBuffer(t);return i?n.toString(i):n}readFileBuffer(t,i={asyncDecompress:!1}){typeof t=="number"&&(t=this.fdToPath(t,"read"));let n=this.resolveFilename(`open '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`open '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(n))throw Qo(`open '${t}'`);if(this.listings.has(n))throw Up("read");let s=this.entries.get(n);if(s===void 0)throw new Error("Unreachable");return this.getFileSource(s,i)}async readdirPromise(t,i){return this.readdirSync(t,i)}readdirSync(t,i){let n=this.resolveFilename(`scandir '${t}'`,t);if(!this.entries.has(n)&&!this.listings.has(n))throw Js(`scandir '${t}'`);let s=this.listings.get(n);if(!s)throw Qo(`scandir '${t}'`);let o=[...s];return i!=null&&i.withFileTypes?o.map(a=>Object.assign(this.statImpl("lstat",x.join(t,a)),{name:a})):o}async readlinkPromise(t){let i=this.prepareReadlink(t);return(await this.getFileSource(i,{asyncDecompress:!0})).toString()}readlinkSync(t){let i=this.prepareReadlink(t);return this.getFileSource(i).toString()}prepareReadlink(t){let i=this.resolveFilename(`readlink '${t}'`,t,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw Js(`readlink '${t}'`);if(t[t.length-1]==="/"&&!this.listings.has(i))throw Qo(`open '${t}'`);if(this.listings.has(i))throw vA(`readlink '${t}'`);let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(n))throw vA(`readlink '${t}'`);return n}async truncatePromise(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=await this.getFileSource(s,{asyncDecompress:!0}),a=Buffer.alloc(i,0);return o.copy(a),await this.writeFilePromise(t,a)}truncateSync(t,i=0){let n=this.resolveFilename(`open '${t}'`,t),s=this.entries.get(n);if(typeof s>"u")throw vA(`open '${t}'`);let o=this.getFileSource(s),a=Buffer.alloc(i,0);return o.copy(a),this.writeFileSync(t,a)}async ftruncatePromise(t,i){return this.truncatePromise(this.fdToPath(t,"ftruncate"),i)}ftruncateSync(t,i){return this.truncateSync(this.fdToPath(t,"ftruncateSync"),i)}watch(t,i,n){let s;switch(typeof i){case"function":case"string":case"undefined":s=!0;break;default:({persistent:s=!0}=i);break}if(!s)return{on:()=>{},close:()=>{}};let o=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(o)}}}watchFile(t,i,n){let s=x.resolve(Oe.root,t);return iI(this,s,i,n)}unwatchFile(t,i){let n=x.resolve(Oe.root,t);return Gp(this,n,i)}};var pi=class extends ya{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,t,i){return this.baseFs.openPromise(this.mapToBase(e),t,i)}openSync(e,t,i){return this.baseFs.openSync(this.mapToBase(e),t,i)}async opendirPromise(e,t){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),t),{path:e})}opendirSync(e,t){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),t),{path:e})}async readPromise(e,t,i,n,s){return await this.baseFs.readPromise(e,t,i,n,s)}readSync(e,t,i,n,s){return this.baseFs.readSync(e,t,i,n,s)}async writePromise(e,t,i,n,s){return typeof t=="string"?await this.baseFs.writePromise(e,t,i):await this.baseFs.writePromise(e,t,i,n,s)}writeSync(e,t,i,n,s){return typeof t=="string"?this.baseFs.writeSync(e,t,i):this.baseFs.writeSync(e,t,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}async accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}async statPromise(e,t){return this.baseFs.statPromise(this.mapToBase(e),t)}statSync(e,t){return this.baseFs.statSync(this.mapToBase(e),t)}async fstatPromise(e,t){return this.baseFs.fstatPromise(e,t)}fstatSync(e,t){return this.baseFs.fstatSync(e,t)}lstatPromise(e,t){return this.baseFs.lstatPromise(this.mapToBase(e),t)}lstatSync(e,t){return this.baseFs.lstatSync(this.mapToBase(e),t)}async fchmodPromise(e,t){return this.baseFs.fchmodPromise(e,t)}fchmodSync(e,t){return this.baseFs.fchmodSync(e,t)}async chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}async fchownPromise(e,t,i){return this.baseFs.fchownPromise(e,t,i)}fchownSync(e,t,i){return this.baseFs.fchownSync(e,t,i)}async chownPromise(e,t,i){return this.baseFs.chownPromise(this.mapToBase(e),t,i)}chownSync(e,t,i){return this.baseFs.chownSync(this.mapToBase(e),t,i)}async renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}async copyFilePromise(e,t,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),i)}copyFileSync(e,t,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),i)}async appendFilePromise(e,t,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,i)}appendFileSync(e,t,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,i)}async writeFilePromise(e,t,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,i)}writeFileSync(e,t,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,t,i){return this.baseFs.utimesPromise(this.mapToBase(e),t,i)}utimesSync(e,t,i){return this.baseFs.utimesSync(this.mapToBase(e),t,i)}async mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}async rmdirPromise(e,t){return this.baseFs.rmdirPromise(this.mapToBase(e),t)}rmdirSync(e,t){return this.baseFs.rmdirSync(this.mapToBase(e),t)}async linkPromise(e,t){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(t))}linkSync(e,t){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(t))}async symlinkPromise(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,t,i){let n=this.mapToBase(t);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(t),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,t){return t==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),t):this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return t==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),t):this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,t){return this.baseFs.readdirPromise(this.mapToBase(e),t)}readdirSync(e,t){return this.baseFs.readdirSync(this.mapToBase(e),t)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,t){return this.baseFs.truncatePromise(this.mapToBase(e),t)}truncateSync(e,t){return this.baseFs.truncateSync(this.mapToBase(e),t)}async ftruncatePromise(e,t){return this.baseFs.ftruncatePromise(e,t)}ftruncateSync(e,t){return this.baseFs.ftruncateSync(e,t)}watch(e,t,i){return this.baseFs.watch(this.mapToBase(e),t,i)}watchFile(e,t,i){return this.baseFs.watchFile(this.mapToBase(e),t,i)}unwatchFile(e,t){return this.baseFs.unwatchFile(this.mapToBase(e),t)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var So=class extends pi{constructor(t,{baseFs:i,pathUtils:n}){super(n);this.target=t,this.baseFs=i}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(t){return t}mapToBase(t){return t}};var qt=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.normalize(t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(t){return this.pathUtils.isAbsolute(t)?x.normalize(t):this.baseFs.resolve(x.join(this.target,t))}mapFromBase(t){return t}mapToBase(t){return this.pathUtils.isAbsolute(t)?t:this.pathUtils.join(this.target,t)}};var CK=Oe.root,vo=class extends pi{constructor(t,{baseFs:i=new $t}={}){super(x);this.target=this.pathUtils.resolve(Oe.root,t),this.baseFs=i}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Oe.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(t){let i=this.pathUtils.normalize(t);if(this.pathUtils.isAbsolute(t))return this.pathUtils.resolve(this.target,this.pathUtils.relative(CK,t));if(i.match(/^\.\.\/?/))throw new Error(`Resolving this path (${t}) would escape the jail`);return this.pathUtils.resolve(this.target,t)}mapFromBase(t){return this.pathUtils.resolve(CK,this.pathUtils.relative(this.target,t))}};var Sg=class extends pi{constructor(t,i){super(i);this.instance=null;this.factory=t}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(t){this.instance=t}mapFromBase(t){return t}mapToBase(t){return t}};var Ze=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),wS=class extends ya{constructor(){super(x)}getExtractHint(){throw Ze()}getRealPath(){throw Ze()}resolve(){throw Ze()}async openPromise(){throw Ze()}openSync(){throw Ze()}async opendirPromise(){throw Ze()}opendirSync(){throw Ze()}async readPromise(){throw Ze()}readSync(){throw Ze()}async writePromise(){throw Ze()}writeSync(){throw Ze()}async closePromise(){throw Ze()}closeSync(){throw Ze()}createWriteStream(){throw Ze()}createReadStream(){throw Ze()}async realpathPromise(){throw Ze()}realpathSync(){throw Ze()}async readdirPromise(){throw Ze()}readdirSync(){throw Ze()}async existsPromise(e){throw Ze()}existsSync(e){throw Ze()}async accessPromise(){throw Ze()}accessSync(){throw Ze()}async statPromise(){throw Ze()}statSync(){throw Ze()}async fstatPromise(e){throw Ze()}fstatSync(e){throw Ze()}async lstatPromise(e){throw Ze()}lstatSync(e){throw Ze()}async fchmodPromise(){throw Ze()}fchmodSync(){throw Ze()}async chmodPromise(){throw Ze()}chmodSync(){throw Ze()}async fchownPromise(){throw Ze()}fchownSync(){throw Ze()}async chownPromise(){throw Ze()}chownSync(){throw Ze()}async mkdirPromise(){throw Ze()}mkdirSync(){throw Ze()}async rmdirPromise(){throw Ze()}rmdirSync(){throw Ze()}async linkPromise(){throw Ze()}linkSync(){throw Ze()}async symlinkPromise(){throw Ze()}symlinkSync(){throw Ze()}async renamePromise(){throw Ze()}renameSync(){throw Ze()}async copyFilePromise(){throw Ze()}copyFileSync(){throw Ze()}async appendFilePromise(){throw Ze()}appendFileSync(){throw Ze()}async writeFilePromise(){throw Ze()}writeFileSync(){throw Ze()}async unlinkPromise(){throw Ze()}unlinkSync(){throw Ze()}async utimesPromise(){throw Ze()}utimesSync(){throw Ze()}async readFilePromise(){throw Ze()}readFileSync(){throw Ze()}async readlinkPromise(){throw Ze()}readlinkSync(){throw Ze()}async truncatePromise(){throw Ze()}truncateSync(){throw Ze()}async ftruncatePromise(e,t){throw Ze()}ftruncateSync(e,t){throw Ze()}watch(){throw Ze()}watchFile(){throw Ze()}unwatchFile(){throw Ze()}},jp=wS;jp.instance=new wS;var vg=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return K.fromPortablePath(t)}mapToBase(t){return K.toPortablePath(t)}};var Vge=/^[0-9]+$/,BS=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Xge=/^([^/]+-)?[a-f0-9]+$/,Br=class extends pi{constructor({baseFs:t=new $t}={}){super(x);this.baseFs=t}static makeVirtualPath(t,i,n){if(x.basename(t)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!x.basename(i).match(Xge))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let o=x.relative(x.dirname(t),n).split("/"),a=0;for(;a{let t=r.indexOf(e);if(t<=0)return null;let i=t;for(;t>=0&&(i=t+e.length,r[i]!==x.sep);){if(r[t-1]===x.sep)return null;t=r.indexOf(e,i)}return r.length>i&&r[i]!==x.sep?null:r.slice(0,i)},Kn=class extends xA{constructor({libzip:t,baseFs:i=new $t,filter:n=null,maxOpenFiles:s=1/0,readOnlyArchives:o=!1,useCache:a=!0,maxAge:l=5e3,fileExtensions:c=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof t!="function"?()=>t:t,this.baseFs=i,this.zipInstances=a?new Map:null,this.filter=n,this.maxOpenFiles=s,this.readOnlyArchives=o,this.maxAge=l,this.fileExtensions=c}static async openPromise(t,i){let n=new Kn(i);try{return await t(n)}finally{n.saveAndClose()}}get libzip(){return typeof this.libzipInstance>"u"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(t){return this.baseFs.getExtractHint(t)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.saveAndClose(),this.zipInstances.delete(t)}discardAndClose(){if(Yp(this),this.zipInstances)for(let[t,{zipFs:i}]of this.zipInstances.entries())i.discardAndClose(),this.zipInstances.delete(t)}resolve(t){return this.baseFs.resolve(t)}remapFd(t,i){let n=this.nextFd++|Vi;return this.fdMap.set(n,[t,i]),n}async openPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.openPromise(t,i,n),async(s,{subPath:o})=>this.remapFd(s,await s.openPromise(o,i,n)))}openSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.openSync(t,i,n),(s,{subPath:o})=>this.remapFd(s,s.openSync(o,i,n)))}async opendirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.opendirPromise(t,i),async(n,{subPath:s})=>await n.opendirPromise(s,i),{requireSubpath:!1})}opendirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.opendirSync(t,i),(n,{subPath:s})=>n.opendirSync(s,i),{requireSubpath:!1})}async readPromise(t,i,n,s,o){if((t&gn)!==Vi)return await this.baseFs.readPromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("read");let[l,c]=a;return await l.readPromise(c,i,n,s,o)}readSync(t,i,n,s,o){if((t&gn)!==Vi)return this.baseFs.readSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("readSync");let[l,c]=a;return l.readSync(c,i,n,s,o)}async writePromise(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?await this.baseFs.writePromise(t,i,n):await this.baseFs.writePromise(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("write");let[l,c]=a;return typeof i=="string"?await l.writePromise(c,i,n):await l.writePromise(c,i,n,s,o)}writeSync(t,i,n,s,o){if((t&gn)!==Vi)return typeof i=="string"?this.baseFs.writeSync(t,i,n):this.baseFs.writeSync(t,i,n,s,o);let a=this.fdMap.get(t);if(typeof a>"u")throw Ur("writeSync");let[l,c]=a;return typeof i=="string"?l.writeSync(c,i,n):l.writeSync(c,i,n,s,o)}async closePromise(t){if((t&gn)!==Vi)return await this.baseFs.closePromise(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("close");this.fdMap.delete(t);let[n,s]=i;return await n.closePromise(s)}closeSync(t){if((t&gn)!==Vi)return this.baseFs.closeSync(t);let i=this.fdMap.get(t);if(typeof i>"u")throw Ur("closeSync");this.fdMap.delete(t);let[n,s]=i;return n.closeSync(s)}createReadStream(t,i){return t===null?this.baseFs.createReadStream(t,i):this.makeCallSync(t,()=>this.baseFs.createReadStream(t,i),(n,{archivePath:s,subPath:o})=>{let a=n.createReadStream(o,i);return a.path=K.fromPortablePath(this.pathUtils.join(s,o)),a})}createWriteStream(t,i){return t===null?this.baseFs.createWriteStream(t,i):this.makeCallSync(t,()=>this.baseFs.createWriteStream(t,i),(n,{subPath:s})=>n.createWriteStream(s,i))}async realpathPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.realpathPromise(t),async(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=await this.baseFs.realpathPromise(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,await i.realpathPromise(s)))})}realpathSync(t){return this.makeCallSync(t,()=>this.baseFs.realpathSync(t),(i,{archivePath:n,subPath:s})=>{let o=this.realPaths.get(n);return typeof o>"u"&&(o=this.baseFs.realpathSync(n),this.realPaths.set(n,o)),this.pathUtils.join(o,this.pathUtils.relative(Oe.root,i.realpathSync(s)))})}async existsPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.existsPromise(t),async(i,{subPath:n})=>await i.existsPromise(n))}existsSync(t){return this.makeCallSync(t,()=>this.baseFs.existsSync(t),(i,{subPath:n})=>i.existsSync(n))}async accessPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.accessPromise(t,i),async(n,{subPath:s})=>await n.accessPromise(s,i))}accessSync(t,i){return this.makeCallSync(t,()=>this.baseFs.accessSync(t,i),(n,{subPath:s})=>n.accessSync(s,i))}async statPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.statPromise(t,i),async(n,{subPath:s})=>await n.statPromise(s,i))}statSync(t,i){return this.makeCallSync(t,()=>this.baseFs.statSync(t,i),(n,{subPath:s})=>n.statSync(s,i))}async fstatPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fstatPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstat");let[s,o]=n;return s.fstatPromise(o,i)}fstatSync(t,i){if((t&gn)!==Vi)return this.baseFs.fstatSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fstatSync");let[s,o]=n;return s.fstatSync(o,i)}async lstatPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.lstatPromise(t,i),async(n,{subPath:s})=>await n.lstatPromise(s,i))}lstatSync(t,i){return this.makeCallSync(t,()=>this.baseFs.lstatSync(t,i),(n,{subPath:s})=>n.lstatSync(s,i))}async fchmodPromise(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodPromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmod");let[s,o]=n;return s.fchmodPromise(o,i)}fchmodSync(t,i){if((t&gn)!==Vi)return this.baseFs.fchmodSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("fchmodSync");let[s,o]=n;return s.fchmodSync(o,i)}async chmodPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.chmodPromise(t,i),async(n,{subPath:s})=>await n.chmodPromise(s,i))}chmodSync(t,i){return this.makeCallSync(t,()=>this.baseFs.chmodSync(t,i),(n,{subPath:s})=>n.chmodSync(s,i))}async fchownPromise(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownPromise(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchown");let[o,a]=s;return o.fchownPromise(a,i,n)}fchownSync(t,i,n){if((t&gn)!==Vi)return this.baseFs.fchownSync(t,i,n);let s=this.fdMap.get(t);if(typeof s>"u")throw Ur("fchownSync");let[o,a]=s;return o.fchownSync(a,i,n)}async chownPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.chownPromise(t,i,n),async(s,{subPath:o})=>await s.chownPromise(o,i,n))}chownSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.chownSync(t,i,n),(s,{subPath:o})=>s.chownSync(o,i,n))}async renamePromise(t,i){return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.renamePromise(t,i),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(n,{subPath:s})=>await this.makeCallPromise(i,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await n.renamePromise(s,a)}))}renameSync(t,i){return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.renameSync(t,i),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(n,{subPath:s})=>this.makeCallSync(i,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(o,{subPath:a})=>{if(n!==o)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return n.renameSync(s,a)}))}async copyFilePromise(t,i,n=0){let s=async(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&await this.existsPromise(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=await o.readFilePromise(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}await l.writeFilePromise(c,u)};return await this.makeCallPromise(t,async()=>await this.makeCallPromise(i,async()=>await this.baseFs.copyFilePromise(t,i,n),async(o,{subPath:a})=>await s(this.baseFs,t,o,a)),async(o,{subPath:a})=>await this.makeCallPromise(i,async()=>await s(o,a,this.baseFs,i),async(l,{subPath:c})=>o!==l?await s(o,a,l,c):await o.copyFilePromise(a,c,n)))}copyFileSync(t,i,n=0){let s=(o,a,l,c)=>{if((n&qp.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${a}' -> ${c}'`),{code:"EXDEV"});if(n&qp.constants.COPYFILE_EXCL&&this.existsSync(a))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${a}' -> '${c}'`),{code:"EEXIST"});let u;try{u=o.readFileSync(a)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${a}' -> '${c}'`),{code:"EINVAL"})}l.writeFileSync(c,u)};return this.makeCallSync(t,()=>this.makeCallSync(i,()=>this.baseFs.copyFileSync(t,i,n),(o,{subPath:a})=>s(this.baseFs,t,o,a)),(o,{subPath:a})=>this.makeCallSync(i,()=>s(o,a,this.baseFs,i),(l,{subPath:c})=>o!==l?s(o,a,l,c):o.copyFileSync(a,c,n)))}async appendFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.appendFilePromise(t,i,n),async(s,{subPath:o})=>await s.appendFilePromise(o,i,n))}appendFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.appendFileSync(t,i,n),(s,{subPath:o})=>s.appendFileSync(o,i,n))}async writeFilePromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.writeFilePromise(t,i,n),async(s,{subPath:o})=>await s.writeFilePromise(o,i,n))}writeFileSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.writeFileSync(t,i,n),(s,{subPath:o})=>s.writeFileSync(o,i,n))}async unlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.unlinkPromise(t),async(i,{subPath:n})=>await i.unlinkPromise(n))}unlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.unlinkSync(t),(i,{subPath:n})=>i.unlinkSync(n))}async utimesPromise(t,i,n){return await this.makeCallPromise(t,async()=>await this.baseFs.utimesPromise(t,i,n),async(s,{subPath:o})=>await s.utimesPromise(o,i,n))}utimesSync(t,i,n){return this.makeCallSync(t,()=>this.baseFs.utimesSync(t,i,n),(s,{subPath:o})=>s.utimesSync(o,i,n))}async mkdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.mkdirPromise(t,i),async(n,{subPath:s})=>await n.mkdirPromise(s,i))}mkdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.mkdirSync(t,i),(n,{subPath:s})=>n.mkdirSync(s,i))}async rmdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.rmdirPromise(t,i),async(n,{subPath:s})=>await n.rmdirPromise(s,i))}rmdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.rmdirSync(t,i),(n,{subPath:s})=>n.rmdirSync(s,i))}async linkPromise(t,i){return await this.makeCallPromise(i,async()=>await this.baseFs.linkPromise(t,i),async(n,{subPath:s})=>await n.linkPromise(t,s))}linkSync(t,i){return this.makeCallSync(i,()=>this.baseFs.linkSync(t,i),(n,{subPath:s})=>n.linkSync(t,s))}async symlinkPromise(t,i,n){return await this.makeCallPromise(i,async()=>await this.baseFs.symlinkPromise(t,i,n),async(s,{subPath:o})=>await s.symlinkPromise(t,o))}symlinkSync(t,i,n){return this.makeCallSync(i,()=>this.baseFs.symlinkSync(t,i,n),(s,{subPath:o})=>s.symlinkSync(t,o))}async readFilePromise(t,i){return this.makeCallPromise(t,async()=>{switch(i){case"utf8":return await this.baseFs.readFilePromise(t,i);default:return await this.baseFs.readFilePromise(t,i)}},async(n,{subPath:s})=>await n.readFilePromise(s,i))}readFileSync(t,i){return this.makeCallSync(t,()=>{switch(i){case"utf8":return this.baseFs.readFileSync(t,i);default:return this.baseFs.readFileSync(t,i)}},(n,{subPath:s})=>n.readFileSync(s,i))}async readdirPromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.readdirPromise(t,i),async(n,{subPath:s})=>await n.readdirPromise(s,i),{requireSubpath:!1})}readdirSync(t,i){return this.makeCallSync(t,()=>this.baseFs.readdirSync(t,i),(n,{subPath:s})=>n.readdirSync(s,i),{requireSubpath:!1})}async readlinkPromise(t){return await this.makeCallPromise(t,async()=>await this.baseFs.readlinkPromise(t),async(i,{subPath:n})=>await i.readlinkPromise(n))}readlinkSync(t){return this.makeCallSync(t,()=>this.baseFs.readlinkSync(t),(i,{subPath:n})=>i.readlinkSync(n))}async truncatePromise(t,i){return await this.makeCallPromise(t,async()=>await this.baseFs.truncatePromise(t,i),async(n,{subPath:s})=>await n.truncatePromise(s,i))}truncateSync(t,i){return this.makeCallSync(t,()=>this.baseFs.truncateSync(t,i),(n,{subPath:s})=>n.truncateSync(s,i))}async ftruncatePromise(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncatePromise(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncate");let[s,o]=n;return s.ftruncatePromise(o,i)}ftruncateSync(t,i){if((t&gn)!==Vi)return this.baseFs.ftruncateSync(t,i);let n=this.fdMap.get(t);if(typeof n>"u")throw Ur("ftruncateSync");let[s,o]=n;return s.ftruncateSync(o,i)}watch(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watch(t,i,n),(s,{subPath:o})=>s.watch(o,i,n))}watchFile(t,i,n){return this.makeCallSync(t,()=>this.baseFs.watchFile(t,i,n),()=>iI(this,t,i,n))}unwatchFile(t,i){return this.makeCallSync(t,()=>this.baseFs.unwatchFile(t,i),()=>Gp(this,t,i))}async makeCallPromise(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return await i();let o=this.resolve(t),a=this.findZip(o);return a?s&&a.subPath==="/"?await i():await this.getZipPromise(a.archivePath,async l=>await n(l,a)):await i()}makeCallSync(t,i,n,{requireSubpath:s=!0}={}){if(typeof t!="string")return i();let o=this.resolve(t),a=this.findZip(o);return!a||s&&a.subPath==="/"?i():this.getZipSync(a.archivePath,l=>n(l,a))}findZip(t){if(this.filter&&!this.filter.test(t))return null;let i="";for(;;){let n=t.substring(i.length),s;if(!this.fileExtensions)s=mK(n,".zip");else for(let o of this.fileExtensions)if(s=mK(n,o),s)break;if(!s)return null;if(i=this.pathUtils.join(i,s),this.isZip.has(i)===!1){if(this.notZip.has(i))continue;try{if(!this.baseFs.lstatSync(i).isFile()){this.notZip.add(i);continue}}catch{return null}this.isZip.add(i)}return{archivePath:i,subPath:this.pathUtils.join(Oe.root,t.substring(i.length))}}}limitOpenFiles(t){if(this.zipInstances===null)return;let i=Date.now(),n=i+this.maxAge,s=t===null?0:this.zipInstances.size-t;for(let[o,{zipFs:a,expiresAt:l,refCount:c}]of this.zipInstances.entries())if(!(c!==0||a.hasOpenFileHandles())){if(i>=l){a.saveAndClose(),this.zipInstances.delete(o),s-=1;continue}else if(t===null||s<=0){n=l;break}a.saveAndClose(),this.zipInstances.delete(o),s-=1}this.limitOpenFilesTimeout===null&&(t===null&&this.zipInstances.size>0||t!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},n-i).unref())}async getZipPromise(t,i){let n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(t)});if(this.zipInstances){let s=this.zipInstances.get(t);if(!s){let o=await n();s=this.zipInstances.get(t),s||(s={zipFs:new Wr(t,o),expiresAt:0,refCount:0})}this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,s.refCount+=1;try{return await i(s.zipFs)}finally{s.refCount-=1}}else{let s=new Wr(t,await n());try{return await i(s)}finally{s.saveAndClose()}}}getZipSync(t,i){let n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(t)});if(this.zipInstances){let s=this.zipInstances.get(t);return s||(s={zipFs:new Wr(t,n()),expiresAt:0,refCount:0}),this.zipInstances.delete(t),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(t,s),s.expiresAt=Date.now()+this.maxAge,i(s.zipFs)}else{let s=new Wr(t,n());try{return i(s)}finally{s.saveAndClose()}}}};var Pg=J("util");var sI=J("url"),EK=J("util");var nI=class extends pi{constructor(t){super(K);this.baseFs=t}mapFromBase(t){return t}mapToBase(t){if(typeof t=="string")return t;if(t instanceof sI.URL)return(0,sI.fileURLToPath)(t);if(Buffer.isBuffer(t)){let i=t.toString();if(Buffer.byteLength(i)!==t.byteLength)throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return i}throw new Error(`Unsupported path type: ${(0,EK.inspect)(t)}`)}};var IK=J("readline"),Fi=Symbol("kBaseFs"),wa=Symbol("kFd"),PA=Symbol("kClosePromise"),oI=Symbol("kCloseResolve"),aI=Symbol("kCloseReject"),xg=Symbol("kRefs"),Ws=Symbol("kRef"),zs=Symbol("kUnref"),Zge,_ge,$ge,efe,Jp=class{constructor(e,t){this[Zge]=1;this[_ge]=void 0;this[$ge]=void 0;this[efe]=void 0;this[Fi]=t,this[wa]=e}get fd(){return this[wa]}async appendFile(e,t){var i;try{this[Ws](this.appendFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;return await this[Fi].appendFilePromise(this.fd,e,n?{encoding:n}:void 0)}finally{this[zs]()}}async chown(e,t){try{return this[Ws](this.chown),await this[Fi].fchownPromise(this.fd,e,t)}finally{this[zs]()}}async chmod(e){try{return this[Ws](this.chmod),await this[Fi].fchmodPromise(this.fd,e)}finally{this[zs]()}}createReadStream(e){return this[Fi].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Fi].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,t,i,n){var s,o,a;try{this[Ws](this.read);let l;return Buffer.isBuffer(e)?l=e:(e!=null||(e={}),l=(s=e.buffer)!=null?s:Buffer.alloc(16384),t=e.offset||0,i=(o=e.length)!=null?o:l.byteLength,n=(a=e.position)!=null?a:null),t!=null||(t=0),i!=null||(i=0),i===0?{bytesRead:i,buffer:l}:{bytesRead:await this[Fi].readPromise(this.fd,l,t,i,n),buffer:l}}finally{this[zs]()}}async readFile(e){var t;try{this[Ws](this.readFile);let i=(t=typeof e=="string"?e:e==null?void 0:e.encoding)!=null?t:void 0;return await this[Fi].readFilePromise(this.fd,i)}finally{this[zs]()}}readLines(e){return(0,IK.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ws](this.stat),await this[Fi].fstatPromise(this.fd,e)}finally{this[zs]()}}async truncate(e){try{return this[Ws](this.truncate),await this[Fi].ftruncatePromise(this.fd,e)}finally{this[zs]()}}utimes(e,t){throw new Error("Method not implemented.")}async writeFile(e,t){var i;try{this[Ws](this.writeFile);let n=(i=typeof t=="string"?t:t==null?void 0:t.encoding)!=null?i:void 0;await this[Fi].writeFilePromise(this.fd,e,n)}finally{this[zs]()}}async write(...e){try{if(this[Ws](this.write),ArrayBuffer.isView(e[0])){let[t,i,n,s]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i!=null?i:void 0,n!=null?n:void 0,s!=null?s:void 0),buffer:t}}else{let[t,i,n]=e;return{bytesWritten:await this[Fi].writePromise(this.fd,t,i,n),buffer:t}}}finally{this[zs]()}}async writev(e,t){try{this[Ws](this.writev);let i=0;if(typeof t<"u")for(let n of e){let s=await this.write(n,void 0,void 0,t);i+=s.bytesWritten,t+=s.bytesWritten}else for(let n of e){let s=await this.write(n);i+=s.bytesWritten}return{buffers:e,bytesWritten:i}}finally{this[zs]()}}readv(e,t){throw new Error("Method not implemented.")}close(){if(this[wa]===-1)return Promise.resolve();if(this[PA])return this[PA];if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[PA]=this[Fi].closePromise(e).finally(()=>{this[PA]=void 0})}else this[PA]=new Promise((e,t)=>{this[oI]=e,this[aI]=t}).finally(()=>{this[PA]=void 0,this[aI]=void 0,this[oI]=void 0});return this[PA]}[(Fi,wa,Zge=xg,_ge=PA,$ge=oI,efe=aI,Ws)](e){if(this[wa]===-1){let t=new Error("file closed");throw t.code="EBADF",t.syscall=e.name,t}this[xg]++}[zs](){if(this[xg]--,this[xg]===0){let e=this[wa];this[wa]=-1,this[Fi].closePromise(e).then(this[oI],this[aI])}}};var tfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),yK=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]);function bS(r,e){e=new nI(e);let t=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Pg.promisify.custom])<"u"&&(s[Pg.promisify.custom]=o[Pg.promisify.custom])};{t(r,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),t(r,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of yK){let n=i.replace(/Promise$/,"");if(typeof r[n]>"u")continue;let s=e[i];if(typeof s>"u")continue;t(r,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}r.realpath.native=r.realpath}{t(r,"existsSync",i=>{try{return e.existsSync(i)}catch{return!1}}),t(r,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of tfe){let n=i;if(typeof r[n]>"u")continue;let s=e[i];typeof s>"u"||t(r,n,s.bind(e))}r.realpathSync.native=r.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=r.promises}finally{process.emitWarning=i}if(typeof n<"u"){for(let s of yK){let o=s.replace(/Promise$/,"");if(typeof n[o]>"u")continue;let a=e[s];typeof a>"u"||s!=="open"&&t(n,o,(l,...c)=>l instanceof Jp?l[o].apply(l,c):a.call(e,l,...c))}t(n,"open",async(...s)=>{let o=await e.openPromise(...s);return new Jp(o,e)})}}r.read[Pg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n}),r.write[Pg.promisify.custom]=async(i,n,...s)=>({bytesWritten:await e.writePromise(i,n,...s),buffer:n})}function AI(r,e){let t=Object.create(r);return bS(t,e),t}var bK=Pe(J("os"));function wK(r){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${r}${e}`}var Vs=new Set,QS=null;function BK(){if(QS)return QS;let r=K.toPortablePath(bK.default.tmpdir()),e=M.realpathSync(r);return process.once("exit",()=>{M.rmtempSync()}),QS={tmpdir:r,realTmpdir:e}}var M=Object.assign(new $t,{detachTemp(r){Vs.delete(r)},mktempSync(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{this.mkdirSync(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(r){let{tmpdir:e,realTmpdir:t}=BK();for(;;){let i=wK("xfs-");try{await this.mkdirPromise(x.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=x.join(t,i);if(Vs.add(n),typeof r>"u")return n;try{return await r(n)}finally{if(Vs.has(n)){Vs.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Vs.values()).map(async r=>{try{await M.removePromise(r,{maxRetries:0}),Vs.delete(r)}catch{}}))},rmtempSync(){for(let r of Vs)try{M.removeSync(r),Vs.delete(r)}catch{}}});var fk=Pe(TS());var td={};ut(td,{parseResolution:()=>hI,parseShell:()=>uI,parseSyml:()=>yi,stringifyArgument:()=>KS,stringifyArgumentSegment:()=>US,stringifyArithmeticExpression:()=>fI,stringifyCommand:()=>MS,stringifyCommandChain:()=>Fg,stringifyCommandChainThen:()=>OS,stringifyCommandLine:()=>gI,stringifyCommandLineThen:()=>LS,stringifyEnvSegment:()=>cI,stringifyRedirectArgument:()=>zp,stringifyResolution:()=>pI,stringifyShell:()=>Rg,stringifyShellLine:()=>Rg,stringifySyml:()=>ba,stringifyValueArgument:()=>_l});var hU=Pe(fU());function uI(r,e={isGlobPattern:()=>!1}){try{return(0,hU.parse)(r,e)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function Rg(r,{endSemicolon:e=!1}={}){return r.map(({command:t,type:i},n)=>`${gI(t)}${i===";"?n!==r.length-1||e?";":"":" &"}`).join(" ")}function gI(r){return`${Fg(r.chain)}${r.then?` ${LS(r.then)}`:""}`}function LS(r){return`${r.type} ${gI(r.line)}`}function Fg(r){return`${MS(r)}${r.then?` ${OS(r.then)}`:""}`}function OS(r){return`${r.type} ${Fg(r.chain)}`}function MS(r){switch(r.type){case"command":return`${r.envs.length>0?`${r.envs.map(e=>cI(e)).join(" ")} `:""}${r.args.map(e=>KS(e)).join(" ")}`;case"subshell":return`(${Rg(r.subshell)})${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"group":return`{ ${Rg(r.group,{endSemicolon:!0})} }${r.args.length>0?` ${r.args.map(e=>zp(e)).join(" ")}`:""}`;case"envs":return r.envs.map(e=>cI(e)).join(" ");default:throw new Error(`Unsupported command type: "${r.type}"`)}}function cI(r){return`${r.name}=${r.args[0]?_l(r.args[0]):""}`}function KS(r){switch(r.type){case"redirection":return zp(r);case"argument":return _l(r);default:throw new Error(`Unsupported argument type: "${r.type}"`)}}function zp(r){return`${r.subtype} ${r.args.map(e=>_l(e)).join(" ")}`}function _l(r){return r.segments.map(e=>US(e)).join("")}function US(r){let e=(i,n)=>n?`"${i}"`:i,t=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(r.type){case"text":return t(r.text);case"glob":return r.pattern;case"shell":return e(`\${${Rg(r.shell)}}`,r.quoted);case"variable":return e(typeof r.defaultValue>"u"?typeof r.alternativeValue>"u"?`\${${r.name}}`:r.alternativeValue.length===0?`\${${r.name}:+}`:`\${${r.name}:+${r.alternativeValue.map(i=>_l(i)).join(" ")}}`:r.defaultValue.length===0?`\${${r.name}:-}`:`\${${r.name}:-${r.defaultValue.map(i=>_l(i)).join(" ")}}`,r.quoted);case"arithmetic":return`$(( ${fI(r.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${r.type}"`)}}function fI(r){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},t=(n,s)=>s?`( ${n} )`:n,i=n=>t(fI(n),!["number","variable"].includes(n.type));switch(r.type){case"number":return String(r.value);case"variable":return r.name;default:return`${i(r.left)} ${e(r.type)} ${i(r.right)}`}}var CU=Pe(dU());function hI(r){let e=r.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${r}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,CU.parse)(r)}catch(t){throw t.location&&(t.message=t.message.replace(/(\.)?$/,` (line ${t.location.start.line}, column ${t.location.start.column})$1`)),t}}function pI(r){let e="";return r.from&&(e+=r.from.fullName,r.from.description&&(e+=`@${r.from.description}`),e+="/"),e+=r.descriptor.fullName,r.descriptor.description&&(e+=`@${r.descriptor.description}`),e}var vI=Pe(aH()),gH=Pe(lH()),cde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,cH=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],SI=class{constructor(e){this.data=e}};function uH(r){return r.match(cde)?r:JSON.stringify(r)}function fH(r){return typeof r>"u"?!0:typeof r=="object"&&r!==null?Object.keys(r).every(e=>fH(r[e])):!1}function $S(r,e,t){if(r===null)return`null `;if(typeof r=="number"||typeof r=="boolean")return`${r.toString()} `;if(typeof r=="string")return`${uH(r)} `;if(Array.isArray(r)){if(r.length===0)return`[] @@ -356,7 +356,7 @@ ${e.map(t=>` `),this.context.stdout.write(` `);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` `),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var TH=Symbol("clipanion/errorCommand");function ACe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Gn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new jg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Gn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return qg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[TH]=a,l}}break}}async run(e,t){var i;let n,s={...Gn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?lCe(s):MH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ti(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ti(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ti(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ti(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ti(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`)}}};var TH=Symbol("clipanion/errorCommand");function ACe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var Gn=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new jg({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new Gn(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[ve.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case-1:return qg.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[TH]=a,l}}break}}async run(e,t){var i;let n,s={...Gn.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?lCe(s):OH,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?Ti(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?Ti(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?Ti(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[Ti(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof ve?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ti(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` `),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} `,a+=` `);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} @@ -385,14 +385,14 @@ ${e.map(t=>` `,a+=Ti("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[TH])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} `;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=` `,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Gn.defaultContext.colorDepth>1)?lv:PH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Gn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():ACe()};var LH;function lCe(r){let e=LH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return MH;let{AsyncLocalStorage:t}=J("async_hooks");e=LH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function MH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>Ad,HelpCommand:()=>ld,VersionCommand:()=>cd});var Ad=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:Gn.defaultContext.colorDepth>1)?lv:PH}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};Gn.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in fv.default.WriteStream.prototype?fv.default.WriteStream.prototype.getColorDepth():ACe()};var LH;function lCe(r){let e=LH;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return OH;let{AsyncLocalStorage:t}=J("async_hooks");e=LH=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function OH(r){return r()}var hv={};ut(hv,{DefinitionsCommand:()=>Ad,HelpCommand:()=>ld,VersionCommand:()=>cd});var Ad=class extends ve{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} `)}};Ad.paths=[["--clipanion=definitions"]];var ld=class extends ve{async execute(){this.context.stdout.write(this.cli.usage())}};ld.paths=[["-h"],["--help"]];var cd=class extends ve{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};cd.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>OH,Boolean:()=>KH,Counter:()=>UH,Proxy:()=>HH,Rest:()=>GH,String:()=>YH,applyValidator:()=>nd,cleanValidationError:()=>DI,formatError:()=>id,isOptionSymbol:()=>rd,makeCommandOption:()=>Xi,rerouteArguments:()=>Do});function OH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function KH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function UH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function HH(r={}){return Xi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function GH(r={}){return Xi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Hn||a.extra===!1&&oo)}})}function cCe(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?nd(g!=null?g:c,f,n.validator):f}})}function uCe(r={}){let{required:e=!0}=r;return Xi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function FA(r){return`YN${r.toString(10).padStart(4,"0")}`}function LI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>S8,areIdentsEqual:()=>sC,areLocatorsEqual:()=>oC,areVirtualPackagesEquivalent:()=>LSe,bindDescriptor:()=>NSe,bindLocator:()=>TSe,convertDescriptorToLocator:()=>Sw,convertLocatorToDescriptor:()=>HD,convertPackageToLocator:()=>FSe,convertToIdent:()=>RSe,convertToManifestRange:()=>KSe,copyPackage:()=>rC,devirtualizeDescriptor:()=>iC,devirtualizeLocator:()=>nC,getIdentVendorPath:()=>qD,isPackageCompatible:()=>kw,isVirtualDescriptor:()=>JA,isVirtualLocator:()=>qo,makeDescriptor:()=>_t,makeIdent:()=>Jo,makeLocator:()=>nn,makeRange:()=>xw,parseDescriptor:()=>WA,parseFileStyleRange:()=>MSe,parseIdent:()=>tn,parseLocator:()=>Dc,parseRange:()=>vf,prettyDependent:()=>nP,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>jD,prettyRange:()=>Dw,prettyReference:()=>AC,prettyResolution:()=>iP,prettyWorkspace:()=>lC,renamePackage:()=>tC,slugifyIdent:()=>UD,slugifyLocator:()=>xf,sortDescriptors:()=>Pf,stringifyDescriptor:()=>Sn,stringifyIdent:()=>Mt,stringifyLocator:()=>Es,tryParseDescriptor:()=>aC,tryParseIdent:()=>v8,tryParseLocator:()=>vw,virtualizeDescriptor:()=>GD,virtualizePackage:()=>YD});var Sf=Pe(J("querystring")),B8=Pe(Xr()),b8=Pe(mJ());var ee={};ut(ee,{LogLevel:()=>Xy,Style:()=>_x,Type:()=>Ue,addLogFilterSupport:()=>Xd,applyColor:()=>Qn,applyHyperlink:()=>If,applyStyle:()=>Vy,json:()=>Bc,jsonOrPretty:()=>h0e,mark:()=>rP,pretty:()=>$e,prettyField:()=>Go,prettyList:()=>tP,supportsColor:()=>zy,supportsHyperlinks:()=>eP,tuple:()=>no});var Vd=Pe(wx()),zd=Pe(Ac());var p3=Pe(Bn()),d3=Pe(n3());var Ie={};ut(Ie,{AsyncActions:()=>Gx,BufferStream:()=>Hx,CachingStrategy:()=>f3,DefaultStream:()=>Yx,allSettledSafe:()=>io,assertNever:()=>qx,bufferStream:()=>Cf,buildIgnorePattern:()=>c0e,convertMapsToIndexableObjects:()=>Jy,dynamicRequire:()=>mf,escapeRegExp:()=>n0e,getArrayWithDefault:()=>hf,getFactoryWithDefault:()=>Ta,getMapWithDefault:()=>pf,getSetWithDefault:()=>wc,isIndexableObject:()=>Ux,isPathLike:()=>u0e,isTaggedYarnVersion:()=>i0e,mapAndFilter:()=>Ho,mapAndFind:()=>Jd,overrideType:()=>s0e,parseBoolean:()=>Wd,parseOptionalBoolean:()=>h3,prettifyAsyncErrors:()=>df,prettifySyncErrors:()=>Jx,releaseAfterUseAsync:()=>a0e,replaceEnvVariables:()=>Wx,sortMap:()=>bn,tryParseOptionalBoolean:()=>zx,validateEnum:()=>o0e});var o3=Pe(Bn()),a3=Pe(Jg()),A3=Pe(Xr()),jx=J("stream");function i0e(r){return!!(A3.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function n0e(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0e(r){}function qx(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function o0e(r,e){let t=Object.values(r);if(!t.includes(e))throw new Qe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function Ho(r,e){let t=[];for(let i of r){let n=e(i);n!==l3&&t.push(n)}return t}var l3=Symbol();Ho.skip=l3;function Jd(r,e){for(let t of r){let i=e(t);if(i!==c3)return i}}var c3=Symbol();Jd.skip=c3;function Ux(r){return typeof r=="object"&&r!==null}async function io(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Jy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Ux(r))for(let e of Object.keys(r)){let t=r[e];Ux(t)&&(r[e]=Jy(t))}return r}function Ta(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function hf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function wc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function pf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function a0e(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function df(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Jx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Cf(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Hx=class extends jx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function A0e(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Gx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,a3.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=A0e());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},Yx=class extends jx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},qd=eval("require");function u3(r){return qd(K.fromPortablePath(r))}function g3(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=qd.cache[physicalPath];delete qd.cache[physicalPath];let result;try{result=u3(physicalPath);let freshCacheEntry=qd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{qd.cache[physicalPath]=currentCacheEntry}return result}var s3=new Map;function l0e(r){let e=s3.get(r),t=O.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=g3(r);return s3.set(r,{mtime:t.mtimeMs,instance:i}),i}var f3=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(f3||{});function mf(r,{cachingStrategy:e=2}={}){switch(e){case 0:return g3(r);case 1:return l0e(r);case 2:return u3(r);default:throw new Error("Unsupported caching strategy")}}function bn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function c0e(r){return r.length===0?null:r.map(e=>`(${o3.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Wx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Qe(`Environment variable not found (${n})`)})}function Wd(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function h3(r){return typeof r>"u"?r:Wd(r)}function zx(r){try{return h3(r)}catch{return null}}function u0e(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var Ef=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(Ef||{}),Vx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Vx||{}),Xx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Xx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},_x=(e=>(e[e.BOLD=2]="BOLD",e))(_x||{}),$x=zd.default.GITHUB_ACTIONS?{level:2}:Vd.default.supportsColor?{level:Vd.default.supportsColor.level}:{level:0},zy=$x.level!==0,eP=zy&&!zd.default.GITHUB_ACTIONS&&!zd.default.CIRCLE&&!zd.default.GITLAB,Zx=new Vd.default.Instance($x),g0e=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),ms=r=>r,Wy={[Ue.NUMBER]:ms({pretty:(r,e)=>Qn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:ms({pretty:(r,e)=>Ai(r,e),json:r=>Mt(r)}),[Ue.LOCATOR]:ms({pretty:(r,e)=>mt(r,e),json:r=>Es(r)}),[Ue.DESCRIPTOR]:ms({pretty:(r,e)=>tr(r,e),json:r=>Sn(r)}),[Ue.RESOLUTION]:ms({pretty:(r,{descriptor:e,locator:t})=>iP(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Sn(r),locator:e!==null?Es(e):null})}),[Ue.DEPENDENT]:ms({pretty:(r,{locator:e,descriptor:t})=>nP(r,e,t),json:({locator:r,descriptor:e})=>({locator:Es(r),descriptor:Sn(e)})}),[Ue.PACKAGE_EXTENSION]:ms({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,tn(e.selector))} \u27A4 ${Qn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Mt(r.parentDescriptor)} > ${Mt(r.descriptor)}`;case"PeerDependency":return`${Mt(r.parentDescriptor)} >> ${Mt(r.descriptor)}`;case"PeerDependencyMeta":return`${Mt(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:ms({pretty:(r,e)=>(r.get(e),If(r,Qn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:ms({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:ms({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Qn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:ms({pretty:(r,e)=>Qn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:ms({pretty:(r,{text:e,format:t,paragraphs:i})=>Ti(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function no(r,e){return[e,r]}function Vy(r,e,t){return r.get("enableColors")&&t&2&&(e=Vd.default.bold(e)),e}function Qn(r,e,t){if(!r.get("enableColors"))return e;let i=g0e.get(t);if(i===null)return e;let n=typeof i>"u"?t:$x.level>=3?i[0]:i[1],s=typeof n=="number"?Zx.ansi256(n):n.startsWith("#")?Zx.hex(n):Zx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var f0e=!!process.env.KONSOLE_VERSION;function If(r,e,t){return r.get("enableHyperlinks")?f0e?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function $e(r,e,t){if(e===null)return Qn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Wy,t))return Wy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Qn(r,e,t)}function tP(r,e,t,{separator:i=", "}={}){return[...e].map(n=>$e(r,n,t)).join(i)}function Bc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Wy,e))return Wy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function h0e(r,e,[t,i]){return r?Bc(t,i):$e(e,t,i)}function rP(r){return{Check:Qn(r,"\u2713","green"),Cross:Qn(r,"\u2718","red"),Question:Qn(r,"?","cyan")}}function Go(r,{label:e,value:[t,i]}){return`${$e(r,e,Ue.CODE)}: ${$e(r,t,i)}`}var Xy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Xy||{});function Xd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([p3.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,d3.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(FA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>bw,checksumPattern:()=>Qw,makeHash:()=>rn});var Bw=J("crypto"),KD=Pe(OD());function rn(...r){let e=(0,Bw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function bw(r,{baseFs:e,algorithm:t}={baseFs:O,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,Bw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Qw(r,{cwd:e}){let i=(await(0,KD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,KD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await O.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await O.readlinkPromise(c))):u.isFile()&&l.push(await O.readFilePromise(c)),l.join("\0")})),o=(0,Bw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var eC="virtual:",DSe=5,Q8=/(os|cpu|libc)=([a-z0-9_-]+)/,kSe=(0,b8.makeParser)(Q8);function Jo(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:rn(r,e),scope:r,name:e}}function _t(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:rn(r.identHash,e),range:e}}function nn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:rn(r.identHash,e),reference:e}}function RSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function Sw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function HD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function FSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function tC(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function rC(r){return tC(r,r)}function GD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return _t(r,`virtual:${e}#${r.range}`)}function YD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return tC(r,nn(r,`virtual:${e}#${r.reference}`))}function JA(r){return r.range.startsWith(eC)}function qo(r){return r.reference.startsWith(eC)}function iC(r){if(!JA(r))throw new Error("Not a virtual descriptor");return _t(r,r.range.replace(/^[^#]*#/,""))}function nC(r){if(!qo(r))throw new Error("Not a virtual descriptor");return nn(r,r.reference.replace(/^[^#]*#/,""))}function NSe(r,e){return r.range.includes("::")?r:_t(r,`${r.range}::${Sf.default.stringify(e)}`)}function TSe(r,e){return r.reference.includes("::")?r:nn(r,`${r.reference}::${Sf.default.stringify(e)}`)}function sC(r,e){return r.identHash===e.identHash}function S8(r,e){return r.descriptorHash===e.descriptorHash}function oC(r,e){return r.locatorHash===e.locatorHash}function LSe(r,e){if(!qo(r))throw new Error("Invalid package type");if(!qo(e))throw new Error("Invalid package type");if(!sC(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!S8(t,i))return!1}return!0}function tn(r){let e=v8(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function v8(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Jo(typeof t<"u"?t:null,i)}function WA(r,e=!1){let t=aC(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function aC(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return _t(Jo(o,n),a)}function Dc(r,e=!1){let t=vw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function vw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return nn(Jo(o,n),a)}function vf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?Sf.default.parse(s):s,a=typeof t[4]<"u"?Sf.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function MSe(r,{protocol:e}){let{selector:t,params:i}=vf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Dc(i.locator,!0),path:t}}function w8(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function OSe(r){return r===null?!1:Object.entries(r).length>0}function xw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${w8(e)}#`),n+=w8(t),OSe(i)&&(n+=`::${Sf.default.stringify(i)}`),n}function KSe(r){let{params:e,protocol:t,source:i,selector:n}=vf(r);for(let s in e)s.startsWith("__")&&delete e[s];return xw({protocol:t,source:i,params:e,selector:n})}function Mt(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Sn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Es(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function UD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function xf(r){let{protocol:e,selector:t}=vf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=B8.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Jr(a)}function Ai(r,e){return e.scope?`${$e(r,`@${e.scope}/`,Ue.SCOPE)}${$e(r,e.name,Ue.NAME)}`:`${$e(r,e.name,Ue.NAME)}`}function Pw(r){if(r.startsWith(eC)){let e=Pw(r.substring(r.indexOf("#")+1)),t=r.substring(eC.length,eC.length+DSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Dw(r,e){return`${$e(r,Pw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.RANGE)}${Dw(r,e.range)}`}function AC(r,e){return`${$e(r,Pw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.REFERENCE)}${AC(r,e.reference)}`}function jD(r){return`${Mt(r)}@${Pw(r.reference)}`}function Pf(r){return bn(r,[e=>Mt(e),e=>e.range])}function lC(r,e){return Ai(r,e.locator)}function iP(r,e,t){let i=JA(e)?iC(e):e;return t===null?`${tr(r,i)} \u2192 ${rP(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${AC(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function nP(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Dw(r,t.range)})`}function qD(r){return`node_modules/${Mt(r)}`}function kw(r,e){return r.conditions?kSe(r.conditions,t=>{let[,i,n]=t.match(Q8),s=e[i];return s?s.includes(n):!0}):!0}var x8={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Mt(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Mt(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(_t(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=lC(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var T8=Pe(Xr());var cC=class{supportsDescriptor(e,t){return!!(e.range.startsWith(cC.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(cC.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(cC.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},Yr=cC;Yr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>k8.SemVer,clean:()=>HSe,satisfiesWithPrereleases:()=>kc,validRange:()=>so});var Rw=Pe(Xr()),k8=Pe(Xr()),P8=new Map;function kc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=P8.get(i);if(typeof n>"u")try{n=new Rw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{P8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Rw.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var D8=new Map;function so(r){if(r.indexOf(":")!==-1)return null;let e=D8.get(r);if(typeof e<"u")return e;try{e=new Rw.default.Range(r)}catch{e=null}return D8.set(r,e),e}var USe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function HSe(r){let e=USe.exec(r);return e?e[1]:null}var zA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await zA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await zA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new zA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new zA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(F8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=R8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(F8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=R8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=tn(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=sn(e.main):this.main=null,typeof e.module=="string"?this.module=sn(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=sn(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(sn(s),typeof o=="string"?sn(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,sn(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=tn(s);this.bin.set(a.name,sn(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!so(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=_t(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=WA(s),l=this.ensureDependencyMeta(a),c=Fw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Fw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Fw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=WA(s),l=this.ensurePeerDependencyMeta(a),c=Fw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:hI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=sn(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=sn(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=sn(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(sn(s),typeof o=="string"?sn(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,sn(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,sn(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(sn(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l);let c=_t(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(JD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(JD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(JD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return zA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return zA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!T8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Mt(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Mt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Mt(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Pf(i).map(o=>({[Mt(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Pf(n).map(o=>({[Mt(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Pf(this.devDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Pf(this.peerDependencies.values()).map(o=>({[Mt(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of bn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of bn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Sn(_t(tn(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[pI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=zA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function R8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function F8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function sn(r){return r.replace(/\\/g,"/")}function Fw(r,{yamlCompatibilityMode:e}){return e?zx(r):typeof r>"u"||typeof r=="boolean"?r:null}function N8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function JD(r,e){return e.length===1?N8(r,e[0]):`(${e.map(t=>N8(r,t)).join(" | ")})`}var gz=Pe(uz()),fz=J("stream"),hz=J("string_decoder");var Nve=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function Tve(r){return typeof r.reportCode<"u"}var vi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,gz.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/Nve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){Tve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new fz.PassThrough,i=new hz.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var Df=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var kf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var pz=Pe(Xr());var Rf=/^(?!v)[a-z0-9._-]+$/i,Nw=class{supportsDescriptor(e,t){return!!(so(e.range)||Rf.test(e.range))}supportsLocator(e,t){return!!(pz.default.valid(e.reference)||Rf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return tC(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return nn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ff=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return xf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new So(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Nf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Nf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Nf.protocol)}supportsDescriptor(e,t){return Nf.isVirtualDescriptor(e)}supportsLocator(e,t){return Nf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},fC=Nf;fC.protocol="virtual:";var Tf=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var Tw={};ut(Tw,{getDefaultGlobalFolder:()=>XD,getHomeFolder:()=>hC,isFolderInside:()=>ZD});var VD=J("os");function XD(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,VD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(hC(),".yarn/berry")}function hC(){return K.toPortablePath((0,VD.homedir)()||"/usr/local/share")}function ZD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var ws={};ut(ws,{availableParallelism:()=>ek,builtinModules:()=>_D,getArchitecture:()=>pC,getArchitectureName:()=>Ove,getArchitectureSet:()=>$D,openUrl:()=>Lve});var Cz=Pe(J("module")),Ow=Pe(J("os"));var dz=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Lve=typeof dz<"u"?async r=>{try{return await tk(dz,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function _D(){return new Set(Cz.default.builtinModules||Object.keys(process.binding("natives")))}function Mve(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=Jd(e,a=>{let l=a.match(t);if(!l)return Jd.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Lw,Mw;function pC(){return Lw=Lw!=null?Lw:{os:process.platform,cpu:process.arch,libc:Mve()}}function Ove(r=pC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function $D(){let r=pC();return Mw=Mw!=null?Mw:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function ek(){return"availableParallelism"in Ow.default?Ow.default.availableParallelism():Math.max(1,Ow.default.cpus().length)}var Kve=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),Gw="yarn_",sk=".yarnrc.yml",ok="yarn.lock",Uve="********",ak=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(ak||{}),xi=Ue,rk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:XD()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Xl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Hw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:zy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:eP,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Kw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Kw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Kw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Xy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function Ak(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>ik(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>ik(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return ik(r,e,t,i,n)}function ik(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return Hve(r,e,t,i,n);case"MAP":return Gve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return Wd(t);if(typeof t!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof t}`);let l=Wx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Dc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Dc(l);case"BOOLEAN":return Wd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function Hve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new Qe(`Object configuration settings "${e}" must be an object`);let s=lk(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Qe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Ak(r,l,a,i.properties[o],n))}return s}function Gve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new Qe(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Ak(r,c,a,u,n))}return s}function lk(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,lk(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function Uw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return Uve;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(Uw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,Uw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,Uw(s,o,t))}return i}return r}function Yve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Gw)&&(e=(0,mz.default)(e.slice(Gw.length)),r[e]=t);return r}function Hw(){let r=`${Gw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return sk}var ck=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(ck||{}),Ha=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Ha(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(rk);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Yve();delete a.rcFilename;let l=await Ha.findRcFiles(e),c=await Ha.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T,...H})=>H,f=new Ha(e);f.importSettings(u(rk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ha.findProjectCwd(e,h);break;case 1:p=await Ha.findProjectCwd(e,null);break;case 2:O.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(rk));let C=new Map([["@@core",x8]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let T of t.plugins.keys())C.set(T,y(t.modules.get(T)));let B=new Map;for(let T of _D())B.set(T,()=>mf(T));for(let[T,H]of t.modules)B.set(T,()=>H);let v=new Set,D=async(T,H)=>{let{factory:j,name:$}=mf(T);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new Qe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},_=await df(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>_),v.add($),C.set($,_)};if(a.plugins)for(let T of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(T));await D(H,"")}for(let{path:T,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,T)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:T}of l)f.useWithSource(B,g(D),v,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Hw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(O.existsSync(o)){let a=await O.readFilePromise(o,"utf8"),l;try{l=yi(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Qe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=Hw(),t=hC(),i=x.join(t,e);if(O.existsSync(i)){let n=await O.readFilePromise(i,"utf8"),s=yi(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,O.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(O.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=Hw(),n=x.join(e,i),s=O.existsSync(n)?yi(await O.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await O.changeFilePromise(n,ba(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=hC();return await Ha.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,lk(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${$e(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&Kve.has(o))continue;if(o==="rcFilename")throw new Qe(`The rcFilename settings can only be set via ${`${Gw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Qe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=Ak(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${$e(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new Qe(`Couldn't find a configuration settings named "${e}"`);return Uw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=O.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${$e(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${$e(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new kf([new fC,new Yr,new Nw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new Df([new Ff,new Tf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=pC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Ho(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Ho.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!so(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=hf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(WA(i,!0),Jy(n),{userProvided:!0})}normalizePackage(e){let t=rC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!kc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Ta(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=tn(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Jo("types",o),l=Mt(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(bn(t.dependencies,([,s])=>Sn(s))),t.peerDependencies=new Map(bn(t.peerDependencies,([,s])=>Sn(s))),t}getLimit(e){return Ta(this.limits,e,()=>(0,Ez.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ha;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),dC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{qve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Yw=class extends dC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Nc(r){return r!==null&&typeof r.fd=="number"}var Tc=new Set;function uk(){}function gk(){for(let r of Tc)r.kill()}async function oo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Nc(s)&&(c[0]=s),Nc(o)&&(c[1]=o),Nc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});Tc.add(u),Tc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Nc(s)&&s!==null&&s.pipe(u.stdin),Nc(o)||u.stdout.pipe(o,{end:!1}),Nc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Nc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:pk(p,C)}):h(new dC({fileName:r,code:p,signal:C}))})})}async function tk(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,fk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=$e(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Go(p,{label:"Thrown Error",value:no(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:pk(h,p),stdout:C,stderr:y}):f(new Yw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var jve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function pk(r,e){let t=jve.get(e);return typeof t<"u"?128+t:r!=null?r:1}function qve(r,e,{configuration:t,report:i}){i.reportError(1,` ${Go(t,r!==null?{label:"Exit Code",value:no(Ue.NUMBER,r)}:{label:"Exit Signal",value:no(Ue.CODE,e)})}`)}var Xt={};ut(Xt,{Method:()=>eV,RequestError:()=>tV.RequestError,del:()=>nke,get:()=>rke,getNetworkSettings:()=>$6,post:()=>kR,put:()=>ike,request:()=>vC});var X6=Pe(CB()),Z6=J("https"),_6=J("http"),DR=Pe(Bn()),PR=Pe(J6()),mB=J("url");var tV=Pe(CB()),W6=new Map,z6=new Map,$De=new _6.Agent({keepAlive:!0}),eke=new Z6.Agent({keepAlive:!0});function V6(r){let e=new mB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function xR(r){return Ta(z6,r,()=>O.readFilePromise(r).then(e=>(z6.set(r,e),e)))}function tke({statusCode:r,statusMessage:e},t){let i=$e(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return If(t,`${i}${e?` (${e})`:""}`,n)}async function EB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof X6.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${$e(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Go(e,{label:"Response Code",value:no(Ue.NO_HINT,tke(s.response,e))})}`),s.request&&(l.reportError(35,` ${Go(e,{label:"Request Method",value:no(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Go(e,{label:"Request URL",value:no(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Go(e,{label:"Request Redirects",value:no(Ue.NO_HINT,tP(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Go(e,{label:"Request Retry Count",value:no(Ue.NO_HINT,`${$e(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${$e(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function $6(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new mB.URL(r):r;for(let[o,a]of t)if(DR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var eV=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(eV||{});async function vC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function rke(r,{configuration:e,jsonResponse:t,...i}){let n=Ta(W6,r,()=>EB(vC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(W6.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function ike(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"PUT"}),i)).body}async function kR(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"POST"}),i)).body}async function nke(r,{customErrorMessage:e,...t}){return(await EB(vC(r,null,{...t,method:"DELETE"}),t)).body}async function ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new mB.URL(r):r,l=$6(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!DR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?PR.default.httpOverHttp(V6(l.httpProxy)):$De,https:l.httpsProxy?PR.default.httpsOverHttp(V6(l.httpsProxy)):eke},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(CB())),v=p?await xR(p):void 0,D=C?await xR(C):void 0,T=y?await xR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:T},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Wt={};ut(Wt,{PackageManager:()=>f9,detectPackageManager:()=>h9,executePackageAccessibleBinary:()=>E9,executePackageScript:()=>TB,executePackageShellcode:()=>JR,executeWorkspaceAccessibleBinary:()=>bRe,executeWorkspaceLifecycleScript:()=>C9,executeWorkspaceScript:()=>d9,getPackageAccessibleBinaries:()=>LB,getWorkspaceAccessibleBinaries:()=>m9,hasPackageScript:()=>yRe,hasWorkspaceScript:()=>WR,isNodeScript:()=>zR,makeScriptEnv:()=>FC,maybeExecuteWorkspaceLifecycleScript:()=>BRe,prepareExternalProject:()=>IRe});var xC={};ut(xC,{getLibzipPromise:()=>an,getLibzipSync:()=>aV});var oV=Pe(iV());var Ja=["number","number"],nV=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))(nV||{}),sV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:nV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...Ja,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...Ja,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...Ja,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...Ja,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...Ja,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...Ja,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number",...Ja,"number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...Ja,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...Ja,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var NR=null;function aV(){return NR===null&&(NR=sV((0,oV.default)())),NR}async function an(){return aV()}var RC={};ut(RC,{ShellError:()=>zn,execute:()=>xB,globUtils:()=>BB});var yV=Pe(wx()),wV=J("os"),Vn=J("stream"),BV=J("util");var zn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var BB={};ut(BB,{fastGlobOptions:()=>cV,isBraceExpansion:()=>TR,isGlobPattern:()=>oke,match:()=>ake,micromatchOptions:()=>wB});var AV=Pe(dw()),lV=Pe(J("fs")),yB=Pe(Bn()),wB={strictBrackets:!0},cV={onlyDirectories:!1,onlyFiles:!1};function oke(r){if(!yB.default.scan(r,wB).isGlob)return!1;try{yB.default.parse(r,wB)}catch{return!1}return!0}function ake(r,{cwd:e,baseFs:t}){return(0,AV.default)(r,{...cV,cwd:K.fromPortablePath(e),fs:AI(lV.default,new vg(t))})}function TR(r){return yB.default.scan(r,wB).isBrace}var gV=Pe(TS()),Vo=J("stream"),fV=J("string_decoder");var Oc=new Set;function LR(){}function MR(){for(let r of Oc)r.kill()}function hV(r,e,t,i){return n=>{let s=n[0]instanceof Vo.Transform?"pipe":n[0],o=n[1]instanceof Vo.Transform?"pipe":n[1],a=n[2]instanceof Vo.Transform?"pipe":n[2],l=(0,gV.default)(r,e,{...i,stdio:[s,o,a]});return Oc.add(l),Oc.size===1&&(process.on("SIGINT",LR),process.on("SIGTERM",MR)),n[0]instanceof Vo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Vo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Vo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} +`)}};cd.paths=[["-v"],["--version"]];var z={};ut(z,{Array:()=>MH,Boolean:()=>KH,Counter:()=>UH,Proxy:()=>HH,Rest:()=>GH,String:()=>YH,applyValidator:()=>nd,cleanValidationError:()=>DI,formatError:()=>id,isOptionSymbol:()=>rd,makeCommandOption:()=>Xi,rerouteArguments:()=>Do});function MH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function KH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function UH(r,e,t){let[i,n]=Do(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return Xi({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function HH(r={}){return Xi({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}function GH(r={}){return Xi({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Hn||a.extra===!1&&oo)}})}function cCe(r,e,t){let[i,n]=Do(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Xi({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?nd(g!=null?g:c,f,n.validator):f}})}function uCe(r={}){let{required:e=!0}=r;return Xi({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o(se[se.UNNAMED=0]="UNNAMED",se[se.EXCEPTION=1]="EXCEPTION",se[se.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",se[se.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",se[se.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",se[se.BUILD_DISABLED=5]="BUILD_DISABLED",se[se.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",se[se.MUST_BUILD=7]="MUST_BUILD",se[se.MUST_REBUILD=8]="MUST_REBUILD",se[se.BUILD_FAILED=9]="BUILD_FAILED",se[se.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",se[se.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",se[se.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",se[se.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",se[se.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",se[se.REMOTE_INVALID=15]="REMOTE_INVALID",se[se.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",se[se.RESOLUTION_PACK=17]="RESOLUTION_PACK",se[se.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",se[se.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",se[se.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",se[se.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",se[se.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",se[se.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",se[se.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",se[se.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",se[se.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",se[se.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",se[se.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",se[se.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",se[se.FETCH_FAILED=30]="FETCH_FAILED",se[se.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",se[se.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",se[se.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",se[se.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",se[se.NETWORK_ERROR=35]="NETWORK_ERROR",se[se.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",se[se.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",se[se.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",se[se.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",se[se.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",se[se.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",se[se.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",se[se.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",se[se.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",se[se.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",se[se.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",se[se.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",se[se.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",se[se.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",se[se.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",se[se.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",se[se.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",se[se.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",se[se.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",se[se.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",se[se.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",se[se.INVALID_MANIFEST=57]="INVALID_MANIFEST",se[se.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",se[se.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",se[se.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",se[se.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",se[se.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",se[se.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",se[se.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",se[se.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",se[se.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",se[se.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",se[se.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",se[se.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",se[se.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",se[se.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",se[se.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",se[se.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",se[se.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",se[se.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",se[se.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",se[se.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",se[se.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",se))(Ct||{});function FA(r){return`YN${r.toString(10).padStart(4,"0")}`}function LI(r){let e=Number(r.slice(2));if(typeof Ct[e]>"u")throw new Error(`Unknown message name: "${r}"`);return e}var P={};ut(P,{areDescriptorsEqual:()=>S8,areIdentsEqual:()=>sC,areLocatorsEqual:()=>oC,areVirtualPackagesEquivalent:()=>LSe,bindDescriptor:()=>NSe,bindLocator:()=>TSe,convertDescriptorToLocator:()=>Sw,convertLocatorToDescriptor:()=>HD,convertPackageToLocator:()=>FSe,convertToIdent:()=>RSe,convertToManifestRange:()=>KSe,copyPackage:()=>rC,devirtualizeDescriptor:()=>iC,devirtualizeLocator:()=>nC,getIdentVendorPath:()=>qD,isPackageCompatible:()=>kw,isVirtualDescriptor:()=>JA,isVirtualLocator:()=>qo,makeDescriptor:()=>_t,makeIdent:()=>Jo,makeLocator:()=>nn,makeRange:()=>xw,parseDescriptor:()=>WA,parseFileStyleRange:()=>OSe,parseIdent:()=>tn,parseLocator:()=>Dc,parseRange:()=>vf,prettyDependent:()=>nP,prettyDescriptor:()=>tr,prettyIdent:()=>Ai,prettyLocator:()=>mt,prettyLocatorNoColors:()=>jD,prettyRange:()=>Dw,prettyReference:()=>AC,prettyResolution:()=>iP,prettyWorkspace:()=>lC,renamePackage:()=>tC,slugifyIdent:()=>UD,slugifyLocator:()=>xf,sortDescriptors:()=>Pf,stringifyDescriptor:()=>Sn,stringifyIdent:()=>Ot,stringifyLocator:()=>Es,tryParseDescriptor:()=>aC,tryParseIdent:()=>v8,tryParseLocator:()=>vw,virtualizeDescriptor:()=>GD,virtualizePackage:()=>YD});var Sf=Pe(J("querystring")),B8=Pe(Xr()),b8=Pe(mJ());var ee={};ut(ee,{LogLevel:()=>Xy,Style:()=>_x,Type:()=>Ue,addLogFilterSupport:()=>Xd,applyColor:()=>Qn,applyHyperlink:()=>If,applyStyle:()=>Vy,json:()=>Bc,jsonOrPretty:()=>h0e,mark:()=>rP,pretty:()=>$e,prettyField:()=>Go,prettyList:()=>tP,supportsColor:()=>zy,supportsHyperlinks:()=>eP,tuple:()=>no});var Vd=Pe(wx()),zd=Pe(Ac());var pW=Pe(Bn()),dW=Pe(nW());var Ie={};ut(Ie,{AsyncActions:()=>Gx,BufferStream:()=>Hx,CachingStrategy:()=>fW,DefaultStream:()=>Yx,allSettledSafe:()=>io,assertNever:()=>qx,bufferStream:()=>Cf,buildIgnorePattern:()=>c0e,convertMapsToIndexableObjects:()=>Jy,dynamicRequire:()=>mf,escapeRegExp:()=>n0e,getArrayWithDefault:()=>hf,getFactoryWithDefault:()=>Ta,getMapWithDefault:()=>pf,getSetWithDefault:()=>wc,isIndexableObject:()=>Ux,isPathLike:()=>u0e,isTaggedYarnVersion:()=>i0e,mapAndFilter:()=>Ho,mapAndFind:()=>Jd,overrideType:()=>s0e,parseBoolean:()=>Wd,parseOptionalBoolean:()=>hW,prettifyAsyncErrors:()=>df,prettifySyncErrors:()=>Jx,releaseAfterUseAsync:()=>a0e,replaceEnvVariables:()=>Wx,sortMap:()=>bn,tryParseOptionalBoolean:()=>zx,validateEnum:()=>o0e});var oW=Pe(Bn()),aW=Pe(Jg()),AW=Pe(Xr()),jx=J("stream");function i0e(r){return!!(AW.default.valid(r)&&r.match(/^[^-]+(-rc\.[0-9]+)?$/))}function n0e(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0e(r){}function qx(r){throw new Error(`Assertion failed: Unexpected object '${r}'`)}function o0e(r,e){let t=Object.values(r);if(!t.includes(e))throw new Qe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${t.map(i=>JSON.stringify(i)).join(", ")})`);return e}function Ho(r,e){let t=[];for(let i of r){let n=e(i);n!==lW&&t.push(n)}return t}var lW=Symbol();Ho.skip=lW;function Jd(r,e){for(let t of r){let i=e(t);if(i!==cW)return i}}var cW=Symbol();Jd.skip=cW;function Ux(r){return typeof r=="object"&&r!==null}async function io(r){let e=await Promise.allSettled(r),t=[];for(let i of e){if(i.status==="rejected")throw i.reason;t.push(i.value)}return t}function Jy(r){if(r instanceof Map&&(r=Object.fromEntries(r)),Ux(r))for(let e of Object.keys(r)){let t=r[e];Ux(t)&&(r[e]=Jy(t))}return r}function Ta(r,e,t){let i=r.get(e);return typeof i>"u"&&r.set(e,i=t()),i}function hf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=[]),t}function wc(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Set),t}function pf(r,e){let t=r.get(e);return typeof t>"u"&&r.set(e,t=new Map),t}async function a0e(r,e){if(e==null)return await r();try{return await r()}finally{await e()}}async function df(r,e){try{return await r()}catch(t){throw t.message=e(t.message),t}}function Jx(r,e){try{return r()}catch(t){throw t.message=e(t.message),t}}async function Cf(r){return await new Promise((e,t)=>{let i=[];r.on("error",n=>{t(n)}),r.on("data",n=>{i.push(n)}),r.on("end",()=>{e(Buffer.concat(i))})})}var Hx=class extends jx.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(t),n(null,null)}_flush(t){t(null,Buffer.concat(this.chunks))}};function A0e(){let r,e;return{promise:new Promise((i,n)=>{r=i,e=n}),resolve:r,reject:e}}var Gx=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,aW.default)(e)}set(e,t){let i=this.deferred.get(e);typeof i>"u"&&this.deferred.set(e,i=A0e());let n=this.limit(()=>t());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,t){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>t(i))}async wait(){await Promise.all(this.promises.values())}},Yx=class extends jx.Transform{constructor(t=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=t}_transform(t,i,n){if(i!=="buffer"||!Buffer.isBuffer(t))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,t)}_flush(t){this.active&&this.ifEmpty.length>0?t(null,this.ifEmpty):t(null)}},qd=eval("require");function uW(r){return qd(K.fromPortablePath(r))}function gW(path){let physicalPath=K.fromPortablePath(path),currentCacheEntry=qd.cache[physicalPath];delete qd.cache[physicalPath];let result;try{result=uW(physicalPath);let freshCacheEntry=qd.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{qd.cache[physicalPath]=currentCacheEntry}return result}var sW=new Map;function l0e(r){let e=sW.get(r),t=M.statSync(r);if((e==null?void 0:e.mtime)===t.mtimeMs)return e.instance;let i=gW(r);return sW.set(r,{mtime:t.mtimeMs,instance:i}),i}var fW=(i=>(i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node",i))(fW||{});function mf(r,{cachingStrategy:e=2}={}){switch(e){case 0:return gW(r);case 1:return l0e(r);case 2:return uW(r);default:throw new Error("Unsupported caching strategy")}}function bn(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function c0e(r){return r.length===0?null:r.map(e=>`(${oW.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function Wx(r,{env:e}){let t=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return r.replace(t,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Qe(`Environment variable not found (${n})`)})}function Wd(r){switch(r){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${r}" as a boolean`)}}function hW(r){return typeof r>"u"?r:Wd(r)}function zx(r){try{return hW(r)}catch{return null}}function u0e(r){return!!(K.isAbsolute(r)||r.match(/^(\.{1,2}|~)\//))}var Ef=(t=>(t.HARD="HARD",t.SOFT="SOFT",t))(Ef||{}),Vx=(i=>(i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta",i))(Vx||{}),Xx=(i=>(i.Inactive="inactive",i.Redundant="redundant",i.Active="active",i))(Xx||{});var Ue={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},_x=(e=>(e[e.BOLD=2]="BOLD",e))(_x||{}),$x=zd.default.GITHUB_ACTIONS?{level:2}:Vd.default.supportsColor?{level:Vd.default.supportsColor.level}:{level:0},zy=$x.level!==0,eP=zy&&!zd.default.GITHUB_ACTIONS&&!zd.default.CIRCLE&&!zd.default.GITLAB,Zx=new Vd.default.Instance($x),g0e=new Map([[Ue.NO_HINT,null],[Ue.NULL,["#a853b5",129]],[Ue.SCOPE,["#d75f00",166]],[Ue.NAME,["#d7875f",173]],[Ue.RANGE,["#00afaf",37]],[Ue.REFERENCE,["#87afff",111]],[Ue.NUMBER,["#ffd700",220]],[Ue.PATH,["#d75fd7",170]],[Ue.URL,["#d75fd7",170]],[Ue.ADDED,["#5faf00",70]],[Ue.REMOVED,["#d70000",160]],[Ue.CODE,["#87afff",111]],[Ue.SIZE,["#ffd700",220]]]),ms=r=>r,Wy={[Ue.NUMBER]:ms({pretty:(r,e)=>Qn(r,`${e}`,Ue.NUMBER),json:r=>r}),[Ue.IDENT]:ms({pretty:(r,e)=>Ai(r,e),json:r=>Ot(r)}),[Ue.LOCATOR]:ms({pretty:(r,e)=>mt(r,e),json:r=>Es(r)}),[Ue.DESCRIPTOR]:ms({pretty:(r,e)=>tr(r,e),json:r=>Sn(r)}),[Ue.RESOLUTION]:ms({pretty:(r,{descriptor:e,locator:t})=>iP(r,e,t),json:({descriptor:r,locator:e})=>({descriptor:Sn(r),locator:e!==null?Es(e):null})}),[Ue.DEPENDENT]:ms({pretty:(r,{locator:e,descriptor:t})=>nP(r,e,t),json:({locator:r,descriptor:e})=>({locator:Es(r),descriptor:Sn(e)})}),[Ue.PACKAGE_EXTENSION]:ms({pretty:(r,e)=>{switch(e.type){case"Dependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"dependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependency":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependencies",Ue.CODE)} \u27A4 ${Ai(r,e.descriptor)}`;case"PeerDependencyMeta":return`${Ai(r,e.parentDescriptor)} \u27A4 ${Qn(r,"peerDependenciesMeta",Ue.CODE)} \u27A4 ${Ai(r,tn(e.selector))} \u27A4 ${Qn(r,e.key,Ue.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:r=>{switch(r.type){case"Dependency":return`${Ot(r.parentDescriptor)} > ${Ot(r.descriptor)}`;case"PeerDependency":return`${Ot(r.parentDescriptor)} >> ${Ot(r.descriptor)}`;case"PeerDependencyMeta":return`${Ot(r.parentDescriptor)} >> ${r.selector} / ${r.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${r.type}`)}}}),[Ue.SETTING]:ms({pretty:(r,e)=>(r.get(e),If(r,Qn(r,e,Ue.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:r=>r}),[Ue.DURATION]:ms({pretty:(r,e)=>{if(e>1e3*60){let t=Math.floor(e/1e3/60),i=Math.ceil((e-t*60*1e3)/1e3);return i===0?`${t}m`:`${t}m ${i}s`}else{let t=Math.floor(e/1e3),i=e-t*1e3;return i===0?`${t}s`:`${t}s ${i}ms`}},json:r=>r}),[Ue.SIZE]:ms({pretty:(r,e)=>{let t=["KB","MB","GB","TB"],i=t.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Qn(r,`${s} ${t[i-1]}`,Ue.NUMBER)},json:r=>r}),[Ue.PATH]:ms({pretty:(r,e)=>Qn(r,K.fromPortablePath(e),Ue.PATH),json:r=>K.fromPortablePath(r)}),[Ue.MARKDOWN]:ms({pretty:(r,{text:e,format:t,paragraphs:i})=>Ti(e,{format:t,paragraphs:i}),json:({text:r})=>r})};function no(r,e){return[e,r]}function Vy(r,e,t){return r.get("enableColors")&&t&2&&(e=Vd.default.bold(e)),e}function Qn(r,e,t){if(!r.get("enableColors"))return e;let i=g0e.get(t);if(i===null)return e;let n=typeof i>"u"?t:$x.level>=3?i[0]:i[1],s=typeof n=="number"?Zx.ansi256(n):n.startsWith("#")?Zx.hex(n):Zx[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var f0e=!!process.env.KONSOLE_VERSION;function If(r,e,t){return r.get("enableHyperlinks")?f0e?`\x1B]8;;${t}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${t}\x07${e}\x1B]8;;\x07`:e}function $e(r,e,t){if(e===null)return Qn(r,"null",Ue.NULL);if(Object.prototype.hasOwnProperty.call(Wy,t))return Wy[t].pretty(r,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Qn(r,e,t)}function tP(r,e,t,{separator:i=", "}={}){return[...e].map(n=>$e(r,n,t)).join(i)}function Bc(r,e){if(r===null)return null;if(Object.prototype.hasOwnProperty.call(Wy,e))return Wy[e].json(r);if(typeof r!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof r}`);return r}function h0e(r,e,[t,i]){return r?Bc(t,i):$e(e,t,i)}function rP(r){return{Check:Qn(r,"\u2713","green"),Cross:Qn(r,"\u2718","red"),Question:Qn(r,"?","cyan")}}function Go(r,{label:e,value:[t,i]}){return`${$e(r,e,Ue.CODE)}: ${$e(r,t,i)}`}var Xy=(n=>(n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard",n))(Xy||{});function Xd(r,{configuration:e}){let t=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of t){let f=g.get("level");if(typeof f>"u")continue;let h=g.get("code");typeof h<"u"&&i.set(h,f);let p=g.get("text");typeof p<"u"&&n.set(p,f);let C=g.get("pattern");typeof C<"u"&&s.push([pW.default.matcher(C,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===0)return h;let p=n.size>0||s.length>0?(0,dW.default)(f):f;if(n.size>0){let C=n.get(p);if(typeof C<"u")return C!=null?C:h}if(s.length>0){for(let[C,y]of s)if(C(p))return y!=null?y:h}if(i.size>0){let C=i.get(FA(g));if(typeof C<"u")return C!=null?C:h}return h},a=r.reportInfo,l=r.reportWarning,c=r.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case"info":a.call(g,f,h);break;case"warning":l.call(g,f!=null?f:0,h);break;case"error":c.call(g,f!=null?f:0,h);break}};r.reportInfo=function(...g){return u(this,...g,"info")},r.reportWarning=function(...g){return u(this,...g,"warning")},r.reportError=function(...g){return u(this,...g,"error")}}var li={};ut(li,{checksumFile:()=>bw,checksumPattern:()=>Qw,makeHash:()=>rn});var Bw=J("crypto"),KD=Pe(MD());function rn(...r){let e=(0,Bw.createHash)("sha512"),t="";for(let i of r)typeof i=="string"?t+=i:i&&(t&&(e.update(t),t=""),e.update(i));return t&&e.update(t),e.digest("hex")}async function bw(r,{baseFs:e,algorithm:t}={baseFs:M,algorithm:"sha512"}){let i=await e.openPromise(r,"r");try{let s=Buffer.allocUnsafeSlow(65536),o=(0,Bw.createHash)(t),a=0;for(;(a=await e.readPromise(i,s,0,65536))!==0;)o.update(a===65536?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Qw(r,{cwd:e}){let i=(await(0,KD.default)(r,{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,KD.default)([r,...i],{cwd:K.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=K.toPortablePath(a),u=await M.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await M.readlinkPromise(c))):u.isFile()&&l.push(await M.readFilePromise(c)),l.join("\0")})),o=(0,Bw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var eC="virtual:",DSe=5,Q8=/(os|cpu|libc)=([a-z0-9_-]+)/,kSe=(0,b8.makeParser)(Q8);function Jo(r,e){if(r!=null&&r.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:rn(r,e),scope:r,name:e}}function _t(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:rn(r.identHash,e),range:e}}function nn(r,e){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:rn(r.identHash,e),reference:e}}function RSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name}}function Sw(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.descriptorHash,reference:r.range}}function HD(r){return{identHash:r.identHash,scope:r.scope,name:r.name,descriptorHash:r.locatorHash,range:r.reference}}function FSe(r){return{identHash:r.identHash,scope:r.scope,name:r.name,locatorHash:r.locatorHash,reference:r.reference}}function tC(r,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:r.version,languageName:r.languageName,linkType:r.linkType,conditions:r.conditions,dependencies:new Map(r.dependencies),peerDependencies:new Map(r.peerDependencies),dependenciesMeta:new Map(r.dependenciesMeta),peerDependenciesMeta:new Map(r.peerDependenciesMeta),bin:new Map(r.bin)}}function rC(r){return tC(r,r)}function GD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return _t(r,`virtual:${e}#${r.range}`)}function YD(r,e){if(e.includes("#"))throw new Error("Invalid entropy");return tC(r,nn(r,`virtual:${e}#${r.reference}`))}function JA(r){return r.range.startsWith(eC)}function qo(r){return r.reference.startsWith(eC)}function iC(r){if(!JA(r))throw new Error("Not a virtual descriptor");return _t(r,r.range.replace(/^[^#]*#/,""))}function nC(r){if(!qo(r))throw new Error("Not a virtual descriptor");return nn(r,r.reference.replace(/^[^#]*#/,""))}function NSe(r,e){return r.range.includes("::")?r:_t(r,`${r.range}::${Sf.default.stringify(e)}`)}function TSe(r,e){return r.reference.includes("::")?r:nn(r,`${r.reference}::${Sf.default.stringify(e)}`)}function sC(r,e){return r.identHash===e.identHash}function S8(r,e){return r.descriptorHash===e.descriptorHash}function oC(r,e){return r.locatorHash===e.locatorHash}function LSe(r,e){if(!qo(r))throw new Error("Invalid package type");if(!qo(e))throw new Error("Invalid package type");if(!sC(r,e)||r.dependencies.size!==e.dependencies.size)return!1;for(let t of r.dependencies.values()){let i=e.dependencies.get(t.identHash);if(!i||!S8(t,i))return!1}return!0}function tn(r){let e=v8(r);if(!e)throw new Error(`Invalid ident (${r})`);return e}function v8(r){let e=r.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,t,i]=e;return Jo(typeof t<"u"?t:null,i)}function WA(r,e=!1){let t=aC(r,e);if(!t)throw new Error(`Invalid descriptor (${r})`);return t}function aC(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid range (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return _t(Jo(o,n),a)}function Dc(r,e=!1){let t=vw(r,e);if(!t)throw new Error(`Invalid locator (${r})`);return t}function vw(r,e=!1){let t=e?r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):r.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!t)return null;let[,i,n,s]=t;if(s==="unknown")throw new Error(`Invalid reference (${r})`);let o=typeof i<"u"?i:null,a=typeof s<"u"?s:"unknown";return nn(Jo(o,n),a)}function vf(r,e){let t=r.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(t===null)throw new Error(`Invalid range (${r})`);let i=typeof t[1]<"u"?t[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof t[3]<"u"?decodeURIComponent(t[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${r})`);let s=typeof t[3]<"u"?decodeURIComponent(t[3]):decodeURIComponent(t[2]),o=e!=null&&e.parseSelector?Sf.default.parse(s):s,a=typeof t[4]<"u"?Sf.default.parse(t[4]):null;return{protocol:i,source:n,selector:o,params:a}}function OSe(r,{protocol:e}){let{selector:t,params:i}=vf(r,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${r}`);return{parentLocator:Dc(i.locator,!0),path:t}}function w8(r){return r=r.replace(/%/g,"%25"),r=r.replace(/:/g,"%3A"),r=r.replace(/#/g,"%23"),r}function MSe(r){return r===null?!1:Object.entries(r).length>0}function xw({protocol:r,source:e,selector:t,params:i}){let n="";return r!==null&&(n+=`${r}`),e!==null&&(n+=`${w8(e)}#`),n+=w8(t),MSe(i)&&(n+=`::${Sf.default.stringify(i)}`),n}function KSe(r){let{params:e,protocol:t,source:i,selector:n}=vf(r);for(let s in e)s.startsWith("__")&&delete e[s];return xw({protocol:t,source:i,params:e,selector:n})}function Ot(r){return r.scope?`@${r.scope}/${r.name}`:`${r.name}`}function Sn(r){return r.scope?`@${r.scope}/${r.name}@${r.range}`:`${r.name}@${r.range}`}function Es(r){return r.scope?`@${r.scope}/${r.name}@${r.reference}`:`${r.name}@${r.reference}`}function UD(r){return r.scope!==null?`@${r.scope}-${r.name}`:r.name}function xf(r){let{protocol:e,selector:t}=vf(r.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=B8.default.valid(t),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=r.scope?`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`:`${UD(r)}-${s}-${r.locatorHash.slice(0,o)}`;return Jr(a)}function Ai(r,e){return e.scope?`${$e(r,`@${e.scope}/`,Ue.SCOPE)}${$e(r,e.name,Ue.NAME)}`:`${$e(r,e.name,Ue.NAME)}`}function Pw(r){if(r.startsWith(eC)){let e=Pw(r.substring(r.indexOf("#")+1)),t=r.substring(eC.length,eC.length+DSe);return`${e} [${t}]`}else return r.replace(/\?.*/,"?[...]")}function Dw(r,e){return`${$e(r,Pw(e),Ue.RANGE)}`}function tr(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.RANGE)}${Dw(r,e.range)}`}function AC(r,e){return`${$e(r,Pw(e),Ue.REFERENCE)}`}function mt(r,e){return`${Ai(r,e)}${$e(r,"@",Ue.REFERENCE)}${AC(r,e.reference)}`}function jD(r){return`${Ot(r)}@${Pw(r.reference)}`}function Pf(r){return bn(r,[e=>Ot(e),e=>e.range])}function lC(r,e){return Ai(r,e.locator)}function iP(r,e,t){let i=JA(e)?iC(e):e;return t===null?`${tr(r,i)} \u2192 ${rP(r).Cross}`:i.identHash===t.identHash?`${tr(r,i)} \u2192 ${AC(r,t.reference)}`:`${tr(r,i)} \u2192 ${mt(r,t)}`}function nP(r,e,t){return t===null?`${mt(r,e)}`:`${mt(r,e)} (via ${Dw(r,t.range)})`}function qD(r){return`node_modules/${Ot(r)}`}function kw(r,e){return r.conditions?kSe(r.conditions,t=>{let[,i,n]=t.match(Q8),s=e[i];return s?s.includes(n):!0}):!0}var x8={hooks:{reduceDependency:(r,e,t,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(t)||o.from&&o.from.description&&o.from.description!==t.reference||o.descriptor.fullName!==Ot(r)||o.descriptor.description&&o.descriptor.description!==r.range)continue;return n.bindDescriptor(_t(r,a),e.topLevelWorkspace.anchoredLocator,s)}return r},validateProject:async(r,e)=>{for(let t of r.workspaces){let i=lC(r.configuration,t);await r.configuration.triggerHook(n=>n.validateWorkspace,t,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(r,e)=>{let{manifest:t}=r;t.resolutions.length&&r.cwd!==r.project.cwd&&t.errors.push(new Error("Resolutions field will be ignored"));for(let i of t.errors)e.reportWarning(57,i.message)}}};var T8=Pe(Xr());var cC=class{supportsDescriptor(e,t){return!!(e.range.startsWith(cC.protocol)||t.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,t){return!!e.reference.startsWith(cC.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.getWorkspaceByCwd(e.reference.slice(cC.protocol.length));return{...e,version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin}}},Yr=cC;Yr.protocol="workspace:";var vt={};ut(vt,{SemVer:()=>k8.SemVer,clean:()=>HSe,satisfiesWithPrereleases:()=>kc,validRange:()=>so});var Rw=Pe(Xr()),k8=Pe(Xr()),P8=new Map;function kc(r,e,t=!1){if(!r)return!1;let i=`${e}${t}`,n=P8.get(i);if(typeof n>"u")try{n=new Rw.default.Range(e,{includePrerelease:!0,loose:t})}catch{return!1}finally{P8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new Rw.default.SemVer(r,n)}catch{return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var D8=new Map;function so(r){if(r.indexOf(":")!==-1)return null;let e=D8.get(r);if(typeof e<"u")return e;try{e=new Rw.default.Range(r)}catch{e=null}return D8.set(r,e),e}var USe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function HSe(r){let e=USe.exec(r);return e?e[1]:null}var zA=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:t=new $t}={}){let i=x.join(e,"package.json");try{return await zA.fromFile(i,{baseFs:t})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:t}={}){let i=await zA.tryFind(e,{baseFs:t});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:t=new $t}={}){let i=new zA;return await i.loadFile(e,{baseFs:t}),i}static fromText(e){let t=new zA;return t.loadFromText(e),t}static isManifestFieldCompatible(e,t){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,t===s.slice(1))return!1}else if(i=!1,s===t)return!0;return n&&i}loadFromText(e){let t;try{t=JSON.parse(F8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(t),this.indent=R8(e)}async loadFile(e,{baseFs:t=new $t}){let i=await t.readFilePromise(e,"utf8"),n;try{n=JSON.parse(F8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=R8(i)}load(e,{yamlCompatibilityMode:t=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=tn(e.name)}catch{i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=sn(e.main):this.main=null,typeof e.module=="string"?this.module=sn(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=sn(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(sn(s),typeof o=="string"?sn(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?i.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,sn(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"||o.trim()===""){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=tn(s);this.bin.set(a.name,sn(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(Yr.protocol)&&!so(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=_t(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=WA(s),l=this.ensureDependencyMeta(a),c=Fw(o.built,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Fw(o.optional,{yamlCompatibilityMode:t});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Fw(o.unplugged,{yamlCompatibilityMode:t});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=WA(s),l=this.ensurePeerDependencyMeta(a),c=Fw(o.optional,{yamlCompatibilityMode:t});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:hI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=sn(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=sn(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=sn(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(sn(s),typeof o=="string"?sn(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,sn(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,sn(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(sn(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=tn(s)}catch{i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=_t(a,o);this.dependencies.set(l.identHash,l);let c=_t(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(JD("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(JD("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(JD("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return zA.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return zA.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!T8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(t);n||this.dependenciesMeta.set(t,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sn(e)}'`);let t=Ot(e),i=this.peerDependenciesMeta.get(t);return i||this.peerDependenciesMeta.set(t,i={}),i}setRawField(e,t,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=t,a=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:o})=>o)}:e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(t&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...Pf(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...Pf(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...Pf(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...Pf(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of bn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of bn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Sn(_t(tn(o),l)):o,g={...c};t&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[pI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},ot=zA;ot.fileName="package.json",ot.allDependencies=["dependencies","devDependencies","peerDependencies"],ot.hardDependencies=["dependencies","devDependencies"];function R8(r){let e=r.match(/^[ \t]+/m);return e?e[0]:" "}function F8(r){return r.charCodeAt(0)===65279?r.slice(1):r}function sn(r){return r.replace(/\\/g,"/")}function Fw(r,{yamlCompatibilityMode:e}){return e?zx(r):typeof r>"u"||typeof r=="boolean"?r:null}function N8(r,e){let t=e.search(/[^!]/);if(t===-1)return"invalid";let i=t%2===0?"":"!",n=e.slice(t);return`${i}${r}=${n}`}function JD(r,e){return e.length===1?N8(r,e[0]):`(${e.map(t=>N8(r,t)).join(" | ")})`}var gz=Pe(uz()),fz=J("stream"),hz=J("string_decoder");var Nve=15,at=class extends Error{constructor(t,i,n){super(i);this.reportExtra=n;this.reportCode=t}};function Tve(r){return typeof r.reportCode<"u"}var vi=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let t=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),t=l,c()},o=(l=0)=>{s(t+1)},a=async function*(){for(;t{t=o}),n=(0,gz.default)(o=>{let a=t;i=new Promise(l=>{t=l}),e=o,a()},1e3/Nve),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,t){let i=this.reportProgress(e);try{return await t(e)}finally{i.stop()}}startProgressSync(e,t){let i=this.reportProgress(e);try{return t(e)}finally{i.stop()}}reportInfoOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,t,i){var s;let n=i&&i.key?i.key:t;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,t),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){Tve(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let t=new fz.PassThrough,i=new hz.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),t}};var Df=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){return await this.getFetcher(e,t).fetch(e,t)}tryFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));return i||null}getFetcher(e,t){let i=this.fetchers.find(n=>n.supports(e,t));if(!i)throw new at(11,`${mt(t.project.configuration,e)} isn't supported by any available fetcher`);return i}};var kf=class{constructor(e){this.resolvers=e.filter(t=>t)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,t,i)}async getSatisfying(e,t,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,t,i)}async resolve(e,t){return await this.getResolverByLocator(e,t).resolve(e,t)}tryResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));return i||null}getResolverByDescriptor(e,t){let i=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!i)throw new Error(`${tr(t.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));return i||null}getResolverByLocator(e,t){let i=this.resolvers.find(n=>n.supportsLocator(e,t));if(!i)throw new Error(`${mt(t.project.configuration,e)} isn't supported by any available resolver`);return i}};var pz=Pe(Xr());var Rf=/^(?!v)[a-z0-9._-]+$/i,Nw=class{supportsDescriptor(e,t){return!!(so(e.range)||Rf.test(e.range))}supportsLocator(e,t){return!!(pz.default.valid(e.reference)||Rf.test(e.reference))}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),t,i)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),t,i)}async getSatisfying(e,t,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),t,i)}async resolve(e,t){let i=await t.resolver.resolve(this.forwardLocator(e,t),t);return tC(i,e)}forwardDescriptor(e,t){return _t(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return nn(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ff=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n);return t.fetcher.getLocalPath(s,t)}async fetch(e,t){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=nn(e,n),o=await t.fetcher.fetch(s,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return xf(e)}async ensureVirtualLink(e,t,i){let n=t.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Br.makeVirtualPath(s,o,n),l=new So(a,{baseFs:t.packageFs,pathUtils:x});return{...t,packageFs:l}}};var Nf=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Nf.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Nf.protocol)}supportsDescriptor(e,t){return Nf.isVirtualDescriptor(e)}supportsLocator(e,t){return Nf.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,t,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},fC=Nf;fC.protocol="virtual:";var Tf=class{supports(e){return!!e.reference.startsWith(Yr.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){let i=this.getWorkspace(e,t).cwd;return{packageFs:new qt(i),prefixPath:Oe.dot,localPath:i}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(Yr.protocol.length))}};var Tw={};ut(Tw,{getDefaultGlobalFolder:()=>XD,getHomeFolder:()=>hC,isFolderInside:()=>ZD});var VD=J("os");function XD(){if(process.platform==="win32"){let r=K.toPortablePath(process.env.LOCALAPPDATA||K.join((0,VD.homedir)(),"AppData","Local"));return x.resolve(r,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let r=K.toPortablePath(process.env.XDG_DATA_HOME);return x.resolve(r,"yarn/berry")}return x.resolve(hC(),".yarn/berry")}function hC(){return K.toPortablePath((0,VD.homedir)()||"/usr/local/share")}function ZD(r,e){let t=x.relative(e,r);return t&&!t.startsWith("..")&&!x.isAbsolute(t)}var ws={};ut(ws,{availableParallelism:()=>ek,builtinModules:()=>_D,getArchitecture:()=>pC,getArchitectureName:()=>Mve,getArchitectureSet:()=>$D,openUrl:()=>Lve});var Cz=Pe(J("module")),Mw=Pe(J("os"));var dz=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Lve=typeof dz<"u"?async r=>{try{return await tk(dz,[r],{cwd:x.cwd()}),!0}catch{return!1}}:void 0;function _D(){return new Set(Cz.default.builtinModules||Object.keys(process.binding("natives")))}function Ove(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],t=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=Jd(e,a=>{let l=a.match(t);if(!l)return Jd.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Lw,Ow;function pC(){return Lw=Lw!=null?Lw:{os:process.platform,cpu:process.arch,libc:Ove()}}function Mve(r=pC()){return r.libc?`${r.os}-${r.cpu}-${r.libc}`:`${r.os}-${r.cpu}`}function $D(){let r=pC();return Ow=Ow!=null?Ow:{os:[r.os],cpu:[r.cpu],libc:r.libc?[r.libc]:[]}}function ek(){return"availableParallelism"in Mw.default?Mw.default.availableParallelism():Math.max(1,Mw.default.cpus().length)}var Kve=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry"]),Gw="yarn_",sk=".yarnrc.yml",ok="yarn.lock",Uve="********",ak=(u=>(u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP",u))(ak||{}),xi=Ue,rk={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:"BOOLEAN",default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:"STRING",default:null},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:XD()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:Xl},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:"STRING",default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:Hw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:zy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:eP,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Kw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Kw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:"BOOLEAN",default:Kw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(Xy),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};function Ak(r,e,t,i,n){if(i.isArray||i.type==="ANY"&&Array.isArray(t))return Array.isArray(t)?t.map((s,o)=>ik(r,`${e}[${o}]`,s,i,n)):String(t).split(/,/).map(s=>ik(r,e,s,i,n));if(Array.isArray(t))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return ik(r,e,t,i,n)}function ik(r,e,t,i,n){var a;switch(i.type){case"ANY":return t;case"SHAPE":return Hve(r,e,t,i,n);case"MAP":return Gve(r,e,t,i,n)}if(t===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)!=null&&a.includes(t))return t;let o=(()=>{if(i.type==="BOOLEAN"&&typeof t!="string")return Wd(t);if(typeof t!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof t}`);let l=Wx(t,{env:process.env});switch(i.type){case"ABSOLUTE_PATH":return x.resolve(n,K.toPortablePath(l));case"LOCATOR_LOOSE":return Dc(l,!1);case"NUMBER":return parseInt(l);case"LOCATOR":return Dc(l);case"BOOLEAN":return Wd(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function Hve(r,e,t,i,n){if(typeof t!="object"||Array.isArray(t))throw new Qe(`Object configuration settings "${e}" must be an object`);let s=lk(r,i,{ignoreArrays:!0});if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=`${e}.${o}`;if(!i.properties[o])throw new Qe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Ak(r,l,a,i.properties[o],n))}return s}function Gve(r,e,t,i,n){let s=new Map;if(typeof t!="object"||Array.isArray(t))throw new Qe(`Map configuration settings "${e}" must be an object`);if(t===null)return s;for(let[o,a]of Object.entries(t)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Ak(r,c,a,u,n))}return s}function lk(r,e,{ignoreArrays:t=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!t)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,lk(r,s));return i}break;case"MAP":return e.isArray&&!t?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:r.projectCwd===null?x.isAbsolute(e.default)?x.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>x.resolve(r.projectCwd,i)):x.resolve(r.projectCwd,e.default);default:return e.default}}function Uw(r,e,t){if(e.type==="SECRET"&&typeof r=="string"&&t.hideSecrets)return Uve;if(e.type==="ABSOLUTE_PATH"&&typeof r=="string"&&t.getNativePaths)return K.fromPortablePath(r);if(e.isArray&&Array.isArray(r)){let i=[];for(let n of r)i.push(Uw(n,e,t));return i}if(e.type==="MAP"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries())i.set(n,Uw(s,e.valueDefinition,t));return i}if(e.type==="SHAPE"&&r instanceof Map){let i=new Map;for(let[n,s]of r.entries()){let o=e.properties[n];i.set(n,Uw(s,o,t))}return i}return r}function Yve(){let r={};for(let[e,t]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(Gw)&&(e=(0,mz.default)(e.slice(Gw.length)),r[e]=t);return r}function Hw(){let r=`${Gw}rc_filename`;for(let[e,t]of Object.entries(process.env))if(e.toLowerCase()===r&&typeof t=="string")return t;return sk}var ck=(i=>(i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE",i))(ck||{}),Ha=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,t,i){let n=new Ha(e);typeof t<"u"&&!(t instanceof Map)&&(n.projectCwd=t),n.importSettings(rk);let s=typeof i<"u"?i:t instanceof Map?t:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,t,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Yve();delete a.rcFilename;let l=await Ha.findRcFiles(e),c=await Ha.findHomeRcFile();if(c){let B=l.find(v=>v.path===c.path);B?B.strict=!1:l.push({...c,strict:!1})}let u=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T})=>({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T}),g=({ignoreCwd:B,yarnPath:v,ignorePath:D,lockfileFilename:T,...H})=>H,f=new Ha(e);f.importSettings(u(rk)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:B,cwd:v,data:D}of l)f.useWithSource(B,u(D),v,{strict:!1});if(s){let B=f.get("yarnPath"),v=f.get("ignorePath");if(B!==null&&!v)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Ha.findProjectCwd(e,h);break;case 1:p=await Ha.findProjectCwd(e,null);break;case 2:M.existsSync(x.join(e,"package.json"))?p=x.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(rk));let C=new Map([["@@core",x8]]),y=B=>"default"in B?B.default:B;if(t!==null){for(let T of t.plugins.keys())C.set(T,y(t.modules.get(T)));let B=new Map;for(let T of _D())B.set(T,()=>mf(T));for(let[T,H]of t.modules)B.set(T,()=>H);let v=new Set,D=async(T,H)=>{let{factory:j,name:$}=mf(T);if(v.has($))return;let V=new Map(B),W=A=>{if(V.has(A))return V.get(A)();throw new Qe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},_=await df(async()=>y(await j(W)),A=>`${A} (when initializing ${$}, defined in ${H})`);B.set($,()=>_),v.add($),C.set($,_)};if(a.plugins)for(let T of a.plugins.split(";")){let H=x.resolve(e,K.toPortablePath(T));await D(H,"")}for(let{path:T,cwd:H,data:j}of l)if(!!o&&!!Array.isArray(j.plugins))for(let $ of j.plugins){let V=typeof $!="string"?$.path:$,W=x.resolve(H,K.toPortablePath(V));await D(W,T)}}for(let[B,v]of C)f.activatePlugin(B,v);f.useWithSource("",g(a),e,{strict:n});for(let{path:B,cwd:v,data:D,strict:T}of l)f.useWithSource(B,g(D),v,{strict:T!=null?T:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let t=Hw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=x.join(s,t);if(M.existsSync(o)){let a=await M.readFilePromise(o,"utf8"),l;try{l=yi(a)}catch{let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Qe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=x.dirname(s)}return i}static async findHomeRcFile(){let e=Hw(),t=hC(),i=x.join(t,e);if(M.existsSync(i)){let n=await M.readFilePromise(i,"utf8"),s=yi(n);return{path:i,cwd:t,data:s}}return null}static async findProjectCwd(e,t){let i=null,n=e,s=null;for(;n!==s;){if(s=n,M.existsSync(x.join(s,"package.json"))&&(i=s),t!==null){if(M.existsSync(x.join(s,t))){i=s;break}}else if(i!==null)break;n=x.dirname(s)}return i}static async updateConfiguration(e,t){let i=Hw(),n=x.join(e,i),s=M.existsSync(n)?yi(await M.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof t=="function"){try{a=t(s)}catch{a=t({})}if(a===s)return}else{a=s;for(let l of Object.keys(t)){let c=s[l],u=t[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await M.changeFilePromise(n,ba(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let t=hC();return await Ha.updateConfiguration(t,e)}activatePlugin(e,t){this.plugins.set(e,t),typeof t.configuration<"u"&&this.importSettings(t.configuration)}importSettings(e){for(let[t,i]of Object.entries(e))if(i!=null){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,i),this.values.set(t,lk(this,i))}}useWithSource(e,t,i,n){try{this.use(e,t,i,n)}catch(s){throw s.message+=` (in ${$e(this,e,Ue.PATH)})`,s}}use(e,t,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(t)]){if(typeof t[o]>"u"||o==="plugins"||e===""&&Kve.has(o))continue;if(o==="rcFilename")throw new Qe(`The rcFilename settings can only be set via ${`${Gw}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Qe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type==="MAP"||l.isArray&&l.concatenateValues))continue;let c;try{c=Ak(this,o,t[o],l,i)}catch(u){throw u.message+=` in ${$e(this,e,Ue.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type==="MAP"){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:t=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s>"u")throw new Qe(`Couldn't find a configuration settings named "${e}"`);return Uw(n,s,{hideSecrets:t,getNativePaths:i})}getSubprocessStreams(e,{header:t,prefix:i,report:n}){let s,o,a=M.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${$e(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${$e(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof t<"u"&&s.write(`${t} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let t of this.plugins.values())for(let i of t.resolvers||[])e.push(new i);return new kf([new fC,new Yr,new Nw,...e])}makeFetcher(){let e=[];for(let t of this.plugins.values())for(let i of t.fetchers||[])e.push(new i);return new Df([new Ff,new Tf,...e])}getLinkers(){let e=[];for(let t of this.plugins.values())for(let i of t.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=pC(),t=this.get("supportedArchitectures"),i=t.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=t.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=t.get("libc");return s!==null&&(s=Ho(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:Ho.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,t=(i,n,{userProvided:s=!1}={})=>{if(!so(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new ot;o.load(n,{yamlCompatibilityMode:!0});let a=hf(e,i.identHash),l=[];a.push([i.range,l]);let c={status:"inactive",userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push({...c,type:"Dependency",descriptor:u});for(let u of o.peerDependencies.values())l.push({...c,type:"PeerDependency",descriptor:u});for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push({...c,type:"PeerDependencyMeta",selector:u,key:f,value:h})};await this.triggerHook(i=>i.registerPackageExtensions,this,t);for(let[i,n]of this.get("packageExtensions"))t(WA(i,!0),Jy(n),{userProvided:!0})}normalizePackage(e){let t=rC(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i<"u"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!kc(s,o))for(let l of a)switch(l.status==="inactive"&&(l.status="redundant"),l.type){case"Dependency":typeof t.dependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.dependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependency":typeof t.peerDependencies.get(l.descriptor.identHash)>"u"&&(l.status="active",t.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case"PeerDependencyMeta":{let c=t.peerDependenciesMeta.get(l.selector);(typeof c>"u"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status="active",Ta(t.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:qx(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of t.peerDependenciesMeta.keys()){let o=tn(s);t.peerDependencies.has(o.identHash)||t.peerDependencies.set(o.identHash,_t(o,"*"))}for(let s of t.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Jo("types",o),l=Ot(a);t.peerDependencies.has(a.identHash)||t.peerDependenciesMeta.has(l)||(t.peerDependencies.set(a.identHash,_t(a,"*")),t.peerDependenciesMeta.set(l,{optional:!0}))}return t.dependencies=new Map(bn(t.dependencies,([,s])=>Sn(s))),t.peerDependencies=new Map(bn(t.peerDependencies,([,s])=>Sn(s))),t}getLimit(e){return Ta(this.limits,e,()=>(0,Ez.default)(this.get(e)))}async triggerHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...t)}}async triggerMultipleHooks(e,t){for(let i of t)await this.triggerHook(e,...i)}async reduceHook(e,t,...i){let n=t;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...t){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...t);if(typeof o<"u")return o}return null}},ye=Ha;ye.telemetry=null;var hk=(i=>(i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always",i))(hk||{}),dC=class extends at{constructor({fileName:t,code:i,signal:n}){let s=ye.create(x.cwd()),o=$e(s,t,Ue.PATH);super(1,`Child ${o} reported an error`,a=>{qve(i,n,{configuration:s,report:a})});this.code=pk(i,n)}},Yw=class extends dC{constructor({fileName:t,code:i,signal:n,stdout:s,stderr:o}){super({fileName:t,code:i,signal:n});this.stdout=s,this.stderr=o}};function Nc(r){return r!==null&&typeof r.fd=="number"}var Tc=new Set;function uk(){}function gk(){for(let r of Tc)r.kill()}async function oo(r,e,{cwd:t,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Nc(s)&&(c[0]=s),Nc(o)&&(c[1]=o),Nc(a)&&(c[2]=a);let u=(0,fk.default)(r,e,{cwd:K.fromPortablePath(t),env:{...i,PWD:K.fromPortablePath(t)},stdio:c});Tc.add(u),Tc.size===1&&(process.on("SIGINT",uk),process.on("SIGTERM",gk)),!Nc(s)&&s!==null&&s.pipe(u.stdin),Nc(o)||u.stdout.pipe(o,{end:!1}),Nc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Nc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,C)=>{Tc.delete(u),Tc.size===0&&(process.off("SIGINT",uk),process.off("SIGTERM",gk)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:pk(p,C)}):h(new dC({fileName:r,code:p,signal:C}))})})}async function tk(r,e,{cwd:t,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=K.fromPortablePath(t);typeof i.PWD<"u"&&(i={...i,PWD:c});let u=(0,fk.default)(r,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(t),C=$e(p,r,Ue.PATH);f(new at(1,`Process ${C} failed to spawn`,y=>{y.reportError(1,` ${Go(p,{label:"Thrown Error",value:no(Ue.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let C=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:pk(h,p),stdout:C,stderr:y}):f(new Yw({fileName:r,code:h,signal:p,stdout:C,stderr:y}))})})}var jve=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function pk(r,e){let t=jve.get(e);return typeof t<"u"?128+t:r!=null?r:1}function qve(r,e,{configuration:t,report:i}){i.reportError(1,` ${Go(t,r!==null?{label:"Exit Code",value:no(Ue.NUMBER,r)}:{label:"Exit Signal",value:no(Ue.CODE,e)})}`)}var Xt={};ut(Xt,{Method:()=>eV,RequestError:()=>tV.RequestError,del:()=>nke,get:()=>rke,getNetworkSettings:()=>$6,post:()=>kR,put:()=>ike,request:()=>vC});var X6=Pe(CB()),Z6=J("https"),_6=J("http"),DR=Pe(Bn()),PR=Pe(J6()),mB=J("url");var tV=Pe(CB()),W6=new Map,z6=new Map,$De=new _6.Agent({keepAlive:!0}),eke=new Z6.Agent({keepAlive:!0});function V6(r){let e=new mB.URL(r),t={host:e.hostname,headers:{}};return e.port&&(t.port=Number(e.port)),{proxy:t}}async function xR(r){return Ta(z6,r,()=>M.readFilePromise(r).then(e=>(z6.set(r,e),e)))}function tke({statusCode:r,statusMessage:e},t){let i=$e(t,r,Ue.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${r}`;return If(t,`${i}${e?` (${e})`:""}`,n)}async function EB(r,{configuration:e,customErrorMessage:t}){var i,n;try{return await r}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=t==null?void 0:t(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof X6.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${$e(e,"httpTimeout",Ue.SETTING)})`);let a=new at(35,o,l=>{s.response&&l.reportError(35,` ${Go(e,{label:"Response Code",value:no(Ue.NO_HINT,tke(s.response,e))})}`),s.request&&(l.reportError(35,` ${Go(e,{label:"Request Method",value:no(Ue.NO_HINT,s.request.options.method)})}`),l.reportError(35,` ${Go(e,{label:"Request URL",value:no(Ue.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(35,` ${Go(e,{label:"Request Redirects",value:no(Ue.NO_HINT,tP(e,s.request.redirects,Ue.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(35,` ${Go(e,{label:"Request Retry Count",value:no(Ue.NO_HINT,`${$e(e,s.request.retryCount,Ue.NUMBER)} (can be increased via ${$e(e,"httpRetry",Ue.SETTING)})`)})}`)});throw a.originalError=s,a}}function $6(r,e){let t=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof r=="string"?new mB.URL(r):r;for(let[o,a]of t)if(DR.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]>"u"&&(i[l]=c)}for(let o of n)typeof i[o]>"u"&&(i[o]=e.configuration.get(o));return i}var eV=(n=>(n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE",n))(eV||{});async function vC(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=async()=>await ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await t.reduceHook(c=>c.wrapNetworkRequest,a,{target:r,body:e,configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function rke(r,{configuration:e,jsonResponse:t,...i}){let n=Ta(W6,r,()=>EB(vC(r,null,{configuration:e,...i}),{configuration:e}).then(s=>(W6.set(r,s.body),s.body)));return Buffer.isBuffer(n)===!1&&(n=await n),t?JSON.parse(n.toString()):n}async function ike(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"PUT"}),i)).body}async function kR(r,e,{customErrorMessage:t,...i}){return(await EB(vC(r,e,{...i,method:"POST"}),i)).body}async function nke(r,{customErrorMessage:e,...t}){return(await EB(vC(r,null,{...t,method:"DELETE"}),t)).body}async function ske(r,e,{configuration:t,headers:i,jsonRequest:n,jsonResponse:s,method:o="GET"}){let a=typeof r=="string"?new mB.URL(r):r,l=$6(a,{configuration:t});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!DR.default.isMatch(a.hostname,t.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?PR.default.httpOverHttp(V6(l.httpProxy)):$De,https:l.httpsProxy?PR.default.httpsOverHttp(V6(l.httpsProxy)):eke},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=t.get("httpTimeout"),f=t.get("httpRetry"),h=t.get("enableStrictSsl"),p=l.caFilePath,C=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:B}=await Promise.resolve().then(()=>Pe(CB())),v=p?await xR(p):void 0,D=C?await xR(C):void 0,T=y?await xR(y):void 0,H=B.extend({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:v,certificate:D,key:T},...u});return t.getLimit("networkConcurrency")(()=>H(a))}var Wt={};ut(Wt,{PackageManager:()=>f9,detectPackageManager:()=>h9,executePackageAccessibleBinary:()=>E9,executePackageScript:()=>TB,executePackageShellcode:()=>JR,executeWorkspaceAccessibleBinary:()=>bRe,executeWorkspaceLifecycleScript:()=>C9,executeWorkspaceScript:()=>d9,getPackageAccessibleBinaries:()=>LB,getWorkspaceAccessibleBinaries:()=>m9,hasPackageScript:()=>yRe,hasWorkspaceScript:()=>WR,isNodeScript:()=>zR,makeScriptEnv:()=>FC,maybeExecuteWorkspaceLifecycleScript:()=>BRe,prepareExternalProject:()=>IRe});var xC={};ut(xC,{getLibzipPromise:()=>an,getLibzipSync:()=>aV});var oV=Pe(iV());var Ja=["number","number"],nV=(F=>(F[F.ZIP_ER_OK=0]="ZIP_ER_OK",F[F.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",F[F.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",F[F.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",F[F.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",F[F.ZIP_ER_READ=5]="ZIP_ER_READ",F[F.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",F[F.ZIP_ER_CRC=7]="ZIP_ER_CRC",F[F.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",F[F.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",F[F.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",F[F.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",F[F.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",F[F.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",F[F.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",F[F.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",F[F.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",F[F.ZIP_ER_EOF=17]="ZIP_ER_EOF",F[F.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",F[F.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",F[F.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",F[F.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",F[F.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",F[F.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",F[F.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",F[F.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",F[F.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",F[F.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",F[F.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",F[F.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",F[F.ZIP_ER_TELL=30]="ZIP_ER_TELL",F[F.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",F))(nV||{}),sV=r=>({get HEAP8(){return r.HEAP8},get HEAPU8(){return r.HEAPU8},errors:nV,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:r._malloc(1),uint16S:r._malloc(2),uint32S:r._malloc(4),uint64S:r._malloc(8),malloc:r._malloc,free:r._free,getValue:r.getValue,open:r.cwrap("zip_open","number",["string","number","number"]),openFromSource:r.cwrap("zip_open_from_source","number",["number","number","number"]),close:r.cwrap("zip_close","number",["number"]),discard:r.cwrap("zip_discard",null,["number"]),getError:r.cwrap("zip_get_error","number",["number"]),getName:r.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:r.cwrap("zip_get_num_entries","number",["number","number"]),delete:r.cwrap("zip_delete","number",["number","number"]),stat:r.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:r.cwrap("zip_stat_index","number",["number",...Ja,"number","number"]),fopen:r.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:r.cwrap("zip_fopen_index","number",["number",...Ja,"number"]),fread:r.cwrap("zip_fread","number",["number","number","number","number"]),fclose:r.cwrap("zip_fclose","number",["number"]),dir:{add:r.cwrap("zip_dir_add","number",["number","string"])},file:{add:r.cwrap("zip_file_add","number",["number","string","number","number"]),getError:r.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:r.cwrap("zip_file_get_external_attributes","number",["number",...Ja,"number","number","number"]),setExternalAttributes:r.cwrap("zip_file_set_external_attributes","number",["number",...Ja,"number","number","number"]),setMtime:r.cwrap("zip_file_set_mtime","number",["number",...Ja,"number","number"]),setCompression:r.cwrap("zip_set_file_compression","number",["number",...Ja,"number","number"])},ext:{countSymlinks:r.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:r.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:r.cwrap("zip_error_strerror","string",["number"])},name:{locate:r.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:r.cwrap("zip_source_buffer_create","number",["number",...Ja,"number","number"]),fromBuffer:r.cwrap("zip_source_buffer","number",["number","number",...Ja,"number"]),free:r.cwrap("zip_source_free",null,["number"]),keep:r.cwrap("zip_source_keep",null,["number"]),open:r.cwrap("zip_source_open","number",["number"]),close:r.cwrap("zip_source_close","number",["number"]),seek:r.cwrap("zip_source_seek","number",["number",...Ja,"number"]),tell:r.cwrap("zip_source_tell","number",["number"]),read:r.cwrap("zip_source_read","number",["number","number","number"]),error:r.cwrap("zip_source_error","number",["number"]),setMtime:r.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:r.cwrap("zipstruct_stat","number",[]),statS:r.cwrap("zipstruct_statS","number",[]),statName:r.cwrap("zipstruct_stat_name","string",["number"]),statIndex:r.cwrap("zipstruct_stat_index","number",["number"]),statSize:r.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:r.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:r.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:r.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:r.cwrap("zipstruct_stat_crc","number",["number"]),error:r.cwrap("zipstruct_error","number",[]),errorS:r.cwrap("zipstruct_errorS","number",[]),errorCodeZip:r.cwrap("zipstruct_error_code_zip","number",["number"])}});var NR=null;function aV(){return NR===null&&(NR=sV((0,oV.default)())),NR}async function an(){return aV()}var RC={};ut(RC,{ShellError:()=>zn,execute:()=>xB,globUtils:()=>BB});var yV=Pe(wx()),wV=J("os"),Vn=J("stream"),BV=J("util");var zn=class extends Error{constructor(e){super(e),this.name="ShellError"}};var BB={};ut(BB,{fastGlobOptions:()=>cV,isBraceExpansion:()=>TR,isGlobPattern:()=>oke,match:()=>ake,micromatchOptions:()=>wB});var AV=Pe(dw()),lV=Pe(J("fs")),yB=Pe(Bn()),wB={strictBrackets:!0},cV={onlyDirectories:!1,onlyFiles:!1};function oke(r){if(!yB.default.scan(r,wB).isGlob)return!1;try{yB.default.parse(r,wB)}catch{return!1}return!0}function ake(r,{cwd:e,baseFs:t}){return(0,AV.default)(r,{...cV,cwd:K.fromPortablePath(e),fs:AI(lV.default,new vg(t))})}function TR(r){return yB.default.scan(r,wB).isBrace}var gV=Pe(TS()),Vo=J("stream"),fV=J("string_decoder");var Mc=new Set;function LR(){}function OR(){for(let r of Mc)r.kill()}function hV(r,e,t,i){return n=>{let s=n[0]instanceof Vo.Transform?"pipe":n[0],o=n[1]instanceof Vo.Transform?"pipe":n[1],a=n[2]instanceof Vo.Transform?"pipe":n[2],l=(0,gV.default)(r,e,{...i,stdio:[s,o,a]});return Mc.add(l),Mc.size===1&&(process.on("SIGINT",LR),process.on("SIGTERM",OR)),n[0]instanceof Vo.Transform&&n[0].pipe(l.stdin),n[1]instanceof Vo.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof Vo.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(Mc.delete(l),Mc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",OR)),u.code){case"ENOENT":n[2].write(`command not found: ${r} `),c(127);break;case"EACCES":n[2].write(`permission denied: ${r} `),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("close",u=>{Oc.delete(l),Oc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",MR)),c(u!==null?u:129)})})}}}function pV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Ss=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},OR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new zf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new zf(this,e),n=new OR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function bB(r,e){return zf.start(r,e)}function uV(r,e=null){let t=new Vo.PassThrough,i=new fV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),c(1);break}}),l.on("close",u=>{Mc.delete(l),Mc.size===0&&(process.off("SIGINT",LR),process.off("SIGTERM",OR)),c(u!==null?u:129)})})}}}function pV(r){return e=>{let t=e[0]==="pipe"?new Vo.PassThrough:e[0];return{stdin:t,promise:Promise.resolve().then(()=>r({stdin:t,stdout:e[1],stderr:e[2]}))}}}var Ss=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},MR=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},zf=class{constructor(e,t){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:i,stderr:n}){let s=new zf(null,e);return s.stdin=t,s.stdout=i,s.stderr=n,s}pipeTo(e,t=1){let i=new zf(this,e),n=new MR;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(t&1)===1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(t&2)===2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");t=this.stdout,e[1]=t.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(t.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function bB(r,e){return zf.start(r,e)}function uV(r,e=null){let t=new Vo.PassThrough,i=new fV.StringDecoder,n="";return t.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` `),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",r(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),t.on("end",()=>{let s=i.end();s!==""&&r(e!==null?`${e} ${s}`:s)}),t}function dV(r,{prefix:e}){return{stdout:uV(t=>r.stdout.write(`${t} `),r.stdout.isTTY?e:null),stderr:uV(t=>r.stderr.write(`${t} `),r.stderr.isTTY?e:null)}}var Ake=(0,BV.promisify)(setTimeout);function CV(r,e,t){let i=new Vn.PassThrough({autoDestroy:!0});switch(r){case 0:(e&1)===1&&t.stdin.pipe(i,{end:!1}),(e&2)===2&&t.stdin instanceof Vn.Writable&&i.pipe(t.stdin,{end:!1});break;case 1:(e&1)===1&&t.stdout.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stdout,{end:!1});break;case 2:(e&1)===1&&t.stderr.pipe(i,{end:!1}),(e&2)===2&&i.pipe(t.stderr,{end:!1});break;default:throw new zn(`Bad file descriptor: "${r}"`)}return i}function SB(r,e={}){let t={...r,...e};return t.environment={...r.environment,...e.environment},t.variables={...r.variables,...e.variables},t}var lke=new Map([["cd",async([r=(0,wV.homedir)(),...e],t,i)=>{let n=x.resolve(i.cwd,K.toPortablePath(r));if(!(await t.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new zn(`cd: no such file or directory: ${r}`):o})).isDirectory())throw new zn(`cd: not a directory: ${r}`);return i.cwd=n,0}],["pwd",async(r,e,t)=>(t.stdout.write(`${K.fromPortablePath(t.cwd)} @@ -409,50 +409,50 @@ ${e.map(t=>` `,end:r=>`section_end:${Math.floor(Date.now()/1e3)}:${r.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,A9=new Date,pRe=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,dRe=r=>r,NB=dRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),CRe=pRe&&Object.keys(NB).find(r=>{let e=NB[r];return!(e.date&&(e.date[0]!==A9.getDate()||e.date[1]!==A9.getMonth()+1))})||"default";function c9(r,{configuration:e,json:t}){if(!e.get("enableMessageNames"))return"";let n=FA(r===null?0:r);return!t&&r===null?$e(e,n,"grey"):n}function qR(r,{configuration:e,json:t}){let i=c9(r,{configuration:e,json:t});if(!i||r===null||r===0)return i;let n=Ct[r],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return If(e,i,s)}var Ge=class extends vi{constructor({configuration:t,stdout:i,json:n=!1,includePrefix:s=!0,includeFooter:o=!0,includeLogs:a=!n,includeInfos:l=a,includeWarnings:c=a,forgettableBufferSize:u=hRe,forgettableNames:g=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errors=[];this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(Xd(this,{configuration:t}),this.configuration=t,this.forgettableBufferSize=u,this.forgettableNames=new Set([...g,...fRe]),this.includePrefix=s,this.includeFooter=o,this.includeInfos=l,this.includeWarnings=c,this.json=n,this.stdout=i,t.get("enableProgressBars")&&!n&&i.isTTY&&i.columns>22){let f=t.get("progressBarStyle")||CRe;if(!Object.prototype.hasOwnProperty.call(NB,f))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=NB[f];let h=12,p=Math.max(0,Math.min(i.columns-h,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*p/80)}}static async start(t,i){let n=new this(t),s=process.emitWarning;process.emitWarning=(o,a)=>{if(typeof o!="string"){let c=o;o=c.message,a=a!=null?a:c.name}let l=typeof a<"u"?`${a}: ${o}`:o;n.reportWarning(0,l)};try{await i(n)}catch(o){n.reportExceptionOnce(o)}finally{await n.finalize(),process.emitWarning=s}return n}hasErrors(){return this.errors.length>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){this.cacheHitCount+=1}reportCacheMiss(t,i){this.lastCacheMiss=t,this.cacheMissCount+=1,typeof i<"u"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(13,i)}startSectionSync({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}async startSectionPromise({reportHeader:t,reportFooter:i,skipIfEmpty:n},s){let o={committed:!1,action:()=>{t==null||t()}};n?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(i==null||i(l-a))}}startTimerImpl(t,i,n){return{cb:typeof i=="function"?i:n,reportHeader:()=>{this.reportInfo(null,`\u250C ${t}`),this.indent+=1,RB!==null&&!this.json&&this.includeInfos&&this.stdout.write(RB.start(t))},reportFooter:a=>{if(this.indent-=1,RB!==null&&!this.json&&this.includeInfos){this.stdout.write(RB.end(t));for(let[l,c]of this.errors)this.reportErrorImpl(l,c)}this.configuration.get("enableTimers")&&a>200?this.reportInfo(null,`\u2514 Completed in ${$e(this.configuration,a,Ue.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:(typeof i=="function"?{}:i).skipIfEmpty}}startTimerSync(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionSync(o,s)}async startTimerPromise(t,i,n){let{cb:s,...o}=this.startTimerImpl(t,i,n);return this.startSectionPromise(o,s)}async startCacheReport(t){let i=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await t()}catch(n){throw this.reportExceptionOnce(n),n}finally{i!==null&&this.reportCacheChanges(i)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(t,i){if(!this.includeInfos)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"",o=`${this.formatPrefix(s,"blueBright")}${i}`;if(this.json)this.reportJson({type:"info",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i});else if(this.forgettableNames.has(t))if(this.forgettableLines.push(o),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(o,{truncate:!0});else this.writeLineWithForgettableReset(o)}reportWarning(t,i){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"warning",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"yellowBright")}${i}`)}reportError(t,i){this.errors.push([t,i]),this.reportErrorImpl(t,i)}reportErrorImpl(t,i){this.commit();let n=this.formatNameWithHyperlink(t),s=n?`${n}: `:"";this.json?this.reportJson({type:"error",name:t,displayName:this.formatName(t),indent:this.formatIndent(),data:i}):this.writeLineWithForgettableReset(`${this.formatPrefix(s,"redBright")}${i}`,{truncate:!1})}reportProgress(t){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(t.hasProgress&&t.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let i=!1,n=Promise.resolve().then(async()=>{let o={progress:t.hasProgress?0:void 0,title:t.hasTitle?"":void 0};this.progress.set(t,{definition:o,lastScaledSize:t.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:a,title:l}of t)i||o.progress===a&&o.title===l||(o.progress=a,o.title=l,this.refreshProgress());s()}),s=()=>{i||(i=!0,this.progress.delete(t),this.refreshProgress({delta:1}))};return{...n,stop:s}}reportJson(t){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(t)}`)}async finalize(){if(!this.includeFooter)return;let t="";this.errors.length>0?t="Failed with errors":this.warningCount>0?t="Done with warnings":t="Done";let i=$e(this.configuration,Date.now()-this.startTime,Ue.DURATION),n=this.configuration.get("enableTimers")?`${t} in ${i}`:t;this.errors.length>0?this.reportError(0,n):this.warningCount>0?this.reportWarning(0,n):this.reportInfo(0,n)}writeLine(t,{truncate:i}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(t,{truncate:i})} `),this.writeProgress()}writeLineWithForgettableReset(t,{truncate:i}={}){this.forgettableLines=[],this.writeLine(t,{truncate:i})}writeLines(t,{truncate:i}={}){this.clearProgress({delta:t.length});for(let n of t)this.stdout.write(`${this.truncate(n,{truncate:i})} `);this.writeProgress()}reportCacheChanges({cacheHitCount:t,cacheMissCount:i}){let n=this.cacheHitCount-t,s=this.cacheMissCount-i;if(n===0&&s===0)return;let o="";this.cacheHitCount>1?o+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?o+=" - one package was already cached":o+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?o+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(o+=`, one had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?o+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(o+=` - one package had to be fetched (${mt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(13,o)}commit(){let t=this.uncommitted;this.uncommitted=new Set;for(let i of t)i.committed=!0,i.action()}clearProgress({delta:t=0,clear:i=!1}){this.progressStyle!==null&&this.progress.size+t>0&&(this.stdout.write(`\x1B[${this.progress.size+t}A`),(t>0||i)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let t=Date.now();t-this.progressTime>a9&&(this.progressFrame=(this.progressFrame+1)%o9.length,this.progressTime=t);let i=o9[this.progressFrame];for(let n of this.progress.values()){let s="";if(typeof n.lastScaledSize<"u"){let c=this.progressStyle.chars[0].repeat(n.lastScaledSize),u=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-n.lastScaledSize);s=` ${c}${u}`}let o=this.formatName(null),a=o?`${o}: `:"",l=n.definition.title?` ${n.definition.title}`:"";this.stdout.write(`${$e(this.configuration,"\u27A4","blueBright")} ${a}${i}${s}${l} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},a9)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,l9.default)(t,0,this.stdout.columns-1)),t}formatName(t){return c9(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Tr="3.6.3";var f9=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(f9||{});async function el(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await O.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await O.writeFilePromise(x.join(r,e),`#!/bin/sh +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},a9)}refreshProgress({delta:t=0,force:i=!1}={}){let n=!1,s=!1;if(i||this.progress.size===0)n=!0;else for(let o of this.progress.values()){let a=typeof o.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*o.definition.progress):void 0,l=o.lastScaledSize;o.lastScaledSize=a;let c=o.lastTitle;if(o.lastTitle=o.definition.title,a!==l||(s=c!==o.definition.title)){n=!0;break}}n&&(this.clearProgress({delta:t,clear:s}),this.writeProgress())}truncate(t,{truncate:i}={}){return this.progressStyle===null&&(i=!1),typeof i>"u"&&(i=this.configuration.get("preferTruncatedLines")),i&&(t=(0,l9.default)(t,0,this.stdout.columns-1)),t}formatName(t){return c9(t,{configuration:this.configuration,json:this.json})}formatPrefix(t,i){return this.includePrefix?`${$e(this.configuration,"\u27A4",i)} ${t}${this.formatIndent()}`:""}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Tr="3.6.4";var f9=(n=>(n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm",n))(f9||{});async function el(r,e,t,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${t}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await M.writeFilePromise(x.format({dir:r,name:e,ext:".cmd"}),n)}await M.writeFilePromise(x.join(r,e),`#!/bin/sh exec "${t}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`,{mode:493})}async function h9(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=vw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManagerField:!0,packageManager:Number(s)===1?"Yarn Classic":"Yarn",reason:n};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await O.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:O.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:O.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function FC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([el(t,"node",process.execPath),...Tr!==null?[el(t,"run",process.execPath,[a,"run"]),el(t,"yarn",process.execPath,[a]),el(t,"yarnpkg",process.execPath,[a]),el(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Mt(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new tl.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Tr!==null?`yarn/${Tr}`:`yarn/${mf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await el(t,Jr(g),f,h)),s}var mRe=2,ERe=(0,g9.default)(mRe);async function IRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await ERe(async()=>{await O.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&qo(s)?nC(s):s,f=g?Es(g):"an external project";c.write(`Packing ${f} from sources +`,{mode:493})}async function h9(r){let e=await ot.tryFind(r);if(e!=null&&e.packageManager){let i=vw(e.packageManager);if(i!=null&&i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManagerField:!0,packageManager:Number(s)===1?"Yarn Classic":"Yarn",reason:n};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:n};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:n}}}}let t;try{t=await M.readFilePromise(x.join(r,xt.lockfile),"utf8")}catch{}return t!==void 0?t.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:M.existsSync(x.join(r,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:M.existsSync(x.join(r,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function FC({project:r,locator:e,binFolder:t,ignoreCorepack:i,lifecycleScript:n}){var c,u;let s={};for(let[g,f]of Object.entries(process.env))typeof f<"u"&&(s[g.toLowerCase()!=="path"?g:"PATH"]=f);let o=K.fromPortablePath(t);s.BERRY_BIN_FOLDER=K.fromPortablePath(o);let a=process.env.COREPACK_ROOT&&!i?K.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([el(t,"node",process.execPath),...Tr!==null?[el(t,"run",process.execPath,[a,"run"]),el(t,"yarn",process.execPath,[a]),el(t,"yarnpkg",process.execPath,[a]),el(t,"node-gyp",process.execPath,[a,"run","--top-level","node-gyp"])]:[]]),r&&(s.INIT_CWD=K.fromPortablePath(r.configuration.startingCwd),s.PROJECT_CWD=K.fromPortablePath(r.cwd)),s.PATH=s.PATH?`${o}${K.delimiter}${s.PATH}`:`${o}`,s.npm_execpath=`${o}${K.sep}yarn`,s.npm_node_execpath=`${o}${K.sep}node`,e){if(!r)throw new Error("Assertion failed: Missing project");let g=r.tryWorkspaceByLocator(e),f=g?(c=g.manifest.version)!=null?c:"":(u=r.storedPackages.get(e.locatorHash).version)!=null?u:"";s.npm_package_name=Ot(e),s.npm_package_version=f;let h;if(g)h=g.cwd;else{let p=r.storedPackages.get(e.locatorHash);if(!p)throw new Error(`Package for ${mt(r.configuration,e)} not found in the project`);let C=r.configuration.getLinkers(),y={project:r,report:new Ge({stdout:new tl.PassThrough,configuration:r.configuration})},B=C.find(v=>v.supportsPackage(p,y));if(!B)throw new Error(`The package ${mt(r.configuration,p)} isn't supported by any of the available linkers`);h=await B.findPackageLocation(p,y)}s.npm_package_json=K.fromPortablePath(x.join(h,xt.manifest))}let l=Tr!==null?`yarn/${Tr}`:`yarn/${mf("@yarnpkg/core").version}-core`;return s.npm_config_user_agent=`${l} npm/? node/${process.version} ${process.platform} ${process.arch}`,n&&(s.npm_lifecycle_event=n),r&&await r.configuration.triggerHook(g=>g.setupScriptEnvironment,r,s,async(g,f,h)=>await el(t,Jr(g),f,h)),s}var mRe=2,ERe=(0,g9.default)(mRe);async function IRe(r,e,{configuration:t,report:i,workspace:n=null,locator:s=null}){await ERe(async()=>{await M.mktempPromise(async o=>{let a=x.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=t.getSubprocessStreams(a,{prefix:K.fromPortablePath(r),report:i}),g=s&&qo(s)?nC(s):s,f=g?Es(g):"an external project";c.write(`Packing ${f} from sources `);let h=await h9(r),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} `),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn -`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await O.mktempPromise(async y=>{let B=await FC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await O.readFilePromise(j),V=await oo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await O.writeFilePromise(j,$),await O.appendFilePromise(x.join(r,".npmignore"),`/.yarn +`),p="Yarn");let C=p==="Yarn"&&!(h!=null&&h.packageManagerField);await M.mktempPromise(async y=>{let B=await FC({binFolder:y,ignoreCorepack:C}),D=new Map([["Yarn Classic",async()=>{let H=n!==null?["workspace",n]:[],j=x.join(r,xt.manifest),$=await M.readFilePromise(j),V=await oo(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(V.code!==0)return V.code;await M.writeFilePromise(j,$),await M.appendFilePromise(x.join(r,".npmignore"),`/.yarn `),c.write(` `),delete B.NODE_ENV;let W=await oo("yarn",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(W.code!==0)return W.code;c.write(` -`);let _=await oo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await O.existsPromise(j)||await O.writeFilePromise(j,"");let $=await oo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let Ae=new tl.PassThrough,ge=Cf(Ae);Ae.pipe(c,{end:!1});let re=await oo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:Ae,stderr:u,end:0});if(Ae.end(),re.code!==0)return c.end(),u.end(),re.code;let M=(await ge).toString().trim();if(!kc(M,">=7.x")){let F=Jo(null,"npm"),ue=_t(F,M),pe=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,pe)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await oo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new tl.PassThrough,V=Cf($);$.pipe(c);let W=await oo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await O.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let T=await D();if(!(T===0||typeof T>"u"))throw O.detachTemp(o),new at(58,`Packing the package failed (exit code ${T}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function yRe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Kn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new tl.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await an()})}async function TB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await p9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await xB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await O.mktempPromise(async l=>{let{env:c,cwd:u}=await p9(r,{project:n,binFolder:l,cwd:i});return await xB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function wRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await FC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await VR(e,await m9(r)),typeof t>"u"&&(t=x.dirname(await O.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function p9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return wRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Kn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new tl.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await FC({project:e,locator:r,binFolder:t,lifecycleScript:n});await VR(t,await LB(r,{project:e}));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Me.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await an()})}async function d9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await TB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function C9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await O.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await d9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw O.detachTemp(o),new at(36,`${(0,u9.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function BRe(r,e,t){WR(r,e)&&await C9(r,e,t)}function zR(r){let e=x.extname(r);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let t=Buffer.alloc(4),i;try{i=O.openSync(r,"r")}catch{return!0}try{O.readSync(i,t,0,t.length,0)}finally{O.closeSync(i)}let n=t.readUint32BE();return!(n===3405691582||n===3489328638||n===2135247942||(n&4294901760)===1297743872)}async function LB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new tl.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Ho.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Ho.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Ho.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Ho.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin){let C=x.resolve(f,p);i.set(h,[g,K.fromPortablePath(C),zR(C)])}}return i}async function m9(r){return await LB(r.anchoredLocator,{project:r.project})}async function VR(r,e){await Promise.all(Array.from(e,([t,[,i,n]])=>n?el(r,Jr(t),process.execPath,[i]):el(r,Jr(t),i,[])))}async function E9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await LB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await O.mktempPromise(async g=>{let[,f]=u,h=await FC({project:n,locator:r,binFolder:g});await VR(h.BERRY_BIN_FOLDER,c);let p=zR(K.toPortablePath(f))?oo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a}):oo(f,t,{cwd:i,env:h,stdin:s,stdout:o,stderr:a}),C;try{C=await p}finally{await O.removePromise(h.BERRY_BIN_FOLDER)}return C.code})}async function bRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await E9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>ZNe,extractArchiveTo:()=>$Ne,makeArchiveFromDirectory:()=>XNe});var lZ=J("stream"),cZ=Pe(iZ());var nZ=Pe(Jg()),sZ=J("worker_threads");var hl=Symbol("kTaskInfo"),L0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,nZ.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new sZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[hl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[hl].resolve(t),e[hl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[hl])==null||i.reject(t),e[hl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[hl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[hl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[hl]={resolve:n,reject:s},t.postMessage(e)})})}};var uZ=Pe(aZ());async function XNe(r,{baseFs:e=new $t,prefixPath:t=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await an(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await O.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Me.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var AZ;async function ZNe(r,e){let t=await O.mktempPromise(),i=x.join(t,"archive.zip");return AZ||(AZ=new L0((0,uZ.getContent)())),await AZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await an(),level:e.compressionLevel})}async function*_Ne(r){let e=new cZ.default.Parse,t=new lZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function $Ne(r,e,{stripComponents:t=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of _Ne(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await Cf(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var es={};ut(es,{emitList:()=>eTe,emitTree:()=>CZ,treeNodeToJson:()=>dZ,treeNodeToTreeify:()=>pZ});var hZ=Pe(fZ());function pZ(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(Vy(e,l,2)),typeof c<"u"&&g.push($e(e,c[0],c[1])),g.length===0&&g.push(Vy(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function dZ(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Bc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:Bc(t.value[0],t.value[1]),children:n}};return e(r)}function eTe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));CZ({children:n},{configuration:e,stdout:t,json:i})}function CZ(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(dZ(l))} +`);let _=await oo("yarn",[...H,"pack","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return _.code!==0?_.code:0}],["Yarn",async()=>{let H=n!==null?["workspace",n]:[];B.YARN_ENABLE_INLINE_BUILDS="1";let j=x.join(r,xt.lockfile);await M.existsPromise(j)||await M.writeFilePromise(j,"");let $=await oo("yarn",[...H,"pack","--install-if-needed","--filename",K.fromPortablePath(e)],{cwd:r,env:B,stdin:l,stdout:c,stderr:u});return $.code!==0?$.code:0}],["npm",async()=>{if(n!==null){let Ae=new tl.PassThrough,ge=Cf(Ae);Ae.pipe(c,{end:!1});let re=await oo("npm",["--version"],{cwd:r,env:B,stdin:l,stdout:Ae,stderr:u,end:0});if(Ae.end(),re.code!==0)return c.end(),u.end(),re.code;let O=(await ge).toString().trim();if(!kc(O,">=7.x")){let F=Jo(null,"npm"),ue=_t(F,O),pe=_t(F,">=7.x");throw new Error(`Workspaces aren't supported by ${tr(t,ue)}; please upgrade to ${tr(t,pe)} (npm has been detected as the primary package manager for ${$e(t,r,Ue.PATH)})`)}}let H=n!==null?["--workspace",n]:[];delete B.npm_config_user_agent,delete B.npm_config_production,delete B.NPM_CONFIG_PRODUCTION,delete B.NODE_ENV;let j=await oo("npm",["install"],{cwd:r,env:B,stdin:l,stdout:c,stderr:u,end:1});if(j.code!==0)return j.code;let $=new tl.PassThrough,V=Cf($);$.pipe(c);let W=await oo("npm",["pack","--silent",...H],{cwd:r,env:B,stdin:l,stdout:$,stderr:u});if(W.code!==0)return W.code;let _=(await V).toString().trim().replace(/^.*\n/s,""),A=x.resolve(r,K.toPortablePath(_));return await M.renamePromise(A,e),0}]]).get(p);if(typeof D>"u")throw new Error("Assertion failed: Unsupported workflow");let T=await D();if(!(T===0||typeof T>"u"))throw M.detachTemp(o),new at(58,`Packing the package failed (exit code ${T}, logs can be found here: ${$e(t,a,Ue.PATH)})`)})})})}async function yRe(r,e,{project:t}){let i=t.tryWorkspaceByLocator(r);if(i!==null)return WR(i,e);let n=t.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t.configuration,r)} not found in the project`);return await Kn.openPromise(async s=>{let o=t.configuration,a=t.configuration.getLinkers(),l={project:t,report:new Ge({stdout:new tl.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${mt(t.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new qt(u,{baseFs:s});return(await ot.find(Oe.dot,{baseFs:g})).scripts.has(e)},{libzip:await an()})}async function TB(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await p9(r,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f>"u")return 1;let h=async()=>await xB(f,t,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(C=>C.wrapScriptExecution,h,n,r,e,{script:f,args:t,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function JR(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await M.mktempPromise(async l=>{let{env:c,cwd:u}=await p9(r,{project:n,binFolder:l,cwd:i});return await xB(e,t,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function wRe(r,{binFolder:e,cwd:t,lifecycleScript:i}){let n=await FC({project:r.project,locator:r.anchoredLocator,binFolder:e,lifecycleScript:i});return await VR(e,await m9(r)),typeof t>"u"&&(t=x.dirname(await M.realpathPromise(x.join(r.cwd,"package.json")))),{manifest:r.manifest,binFolder:e,env:n,cwd:t}}async function p9(r,{project:e,binFolder:t,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(r);if(s!==null)return wRe(s,{binFolder:t,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(r.locatorHash);if(!o)throw new Error(`Package for ${mt(e.configuration,r)} not found in the project`);return await Kn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Ge({stdout:new tl.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${mt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await FC({project:e,locator:r,binFolder:t,lifecycleScript:n});await VR(t,await LB(r,{project:e}));let h=await g.findPackageLocation(o,u),p=new qt(h,{baseFs:a}),C=await ot.find(Oe.dot,{baseFs:p});return typeof i>"u"&&(i=h),{manifest:C,binFolder:t,env:f,cwd:i}},{libzip:await an()})}async function d9(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o}){return await TB(r.anchoredLocator,e,t,{cwd:i,project:r.project,stdin:n,stdout:s,stderr:o})}function WR(r,e){return r.manifest.scripts.has(e)}async function C9(r,e,{cwd:t,report:i}){let{configuration:n}=r.project,s=null;await M.mktempPromise(async o=>{let a=x.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${K.fromPortablePath(r.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:mt(n,r.anchoredLocator),header:l});i.reportInfo(36,`Calling the "${e}" lifecycle script`);let g=await d9(r,e,[],{cwd:t,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw M.detachTemp(o),new at(36,`${(0,u9.default)(e)} script failed (exit code ${$e(n,g,Ue.NUMBER)}, logs can be found here: ${$e(n,a,Ue.PATH)}); run ${$e(n,`yarn ${e}`,Ue.CODE)} to investigate`)})}async function BRe(r,e,t){WR(r,e)&&await C9(r,e,t)}function zR(r){let e=x.extname(r);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let t=Buffer.alloc(4),i;try{i=M.openSync(r,"r")}catch{return!0}try{M.readSync(i,t,0,t.length,0)}finally{M.closeSync(i)}let n=t.readUint32BE();return!(n===3405691582||n===3489328638||n===2135247942||(n&4294901760)===1297743872)}async function LB(r,{project:e}){let t=e.configuration,i=new Map,n=e.storedPackages.get(r.locatorHash);if(!n)throw new Error(`Package for ${mt(t,r)} not found in the project`);let s=new tl.Writable,o=t.getLinkers(),a={project:e,report:new Ge({configuration:t,stdout:s})},l=new Set([r.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${tr(t,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return Ho.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return Ho.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return Ho.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===Ho.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin){let C=x.resolve(f,p);i.set(h,[g,K.fromPortablePath(C),zR(C)])}}return i}async function m9(r){return await LB(r.anchoredLocator,{project:r.project})}async function VR(r,e){await Promise.all(Array.from(e,([t,[,i,n]])=>n?el(r,Jr(t),process.execPath,[i]):el(r,Jr(t),i,[])))}async function E9(r,e,t,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await LB(r,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${mt(n.configuration,r)}`);return await M.mktempPromise(async g=>{let[,f]=u,h=await FC({project:n,locator:r,binFolder:g});await VR(h.BERRY_BIN_FOLDER,c);let p=zR(K.toPortablePath(f))?oo(process.execPath,[...l,f,...t],{cwd:i,env:h,stdin:s,stdout:o,stderr:a}):oo(f,t,{cwd:i,env:h,stdin:s,stdout:o,stderr:a}),C;try{C=await p}finally{await M.removePromise(h.BERRY_BIN_FOLDER)}return C.code})}async function bRe(r,e,t,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await E9(r.anchoredLocator,e,t,{project:r.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var mi={};ut(mi,{convertToZip:()=>ZNe,extractArchiveTo:()=>$Ne,makeArchiveFromDirectory:()=>XNe});var lZ=J("stream"),cZ=Pe(iZ());var nZ=Pe(Jg()),sZ=J("worker_threads");var hl=Symbol("kTaskInfo"),L0=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,nZ.default)(ek());this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let t=this.workers.pop();t?t.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new sZ.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",t=>{if(!e[hl])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[hl].resolve(t),e[hl]=null,e.unref(),this.workers.push(e)}),e.on("error",t=>{var i;(i=e[hl])==null||i.reject(t),e[hl]=null}),e.on("exit",t=>{var i;t!==0&&((i=e[hl])==null||i.reject(new Error(`Worker exited with code ${t}`))),e[hl]=null}),e}run(e){return this.limit(()=>{var i;let t=(i=this.workers.pop())!=null?i:this.createWorker();return t.ref(),new Promise((n,s)=>{t[hl]={resolve:n,reject:s},t.postMessage(e)})})}};var uZ=Pe(aZ());async function XNe(r,{baseFs:e=new $t,prefixPath:t=Oe.root,compressionLevel:i,inMemory:n=!1}={}){let s=await an(),o;if(n)o=new Wr(null,{libzip:s,level:i});else{let l=await M.mktempPromise(),c=x.join(l,"archive.zip");o=new Wr(c,{create:!0,libzip:s,level:i})}let a=x.resolve(Oe.root,t);return await o.copyPromise(a,r,{baseFs:e,stableTime:!0,stableSort:!0}),o}var AZ;async function ZNe(r,e){let t=await M.mktempPromise(),i=x.join(t,"archive.zip");return AZ||(AZ=new L0((0,uZ.getContent)())),await AZ.run({tmpFile:i,tgz:r,opts:e}),new Wr(i,{libzip:await an(),level:e.compressionLevel})}async function*_Ne(r){let e=new cZ.default.Parse,t=new lZ.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{t.write(i)}),e.on("error",i=>{t.destroy(i)}),e.on("close",()=>{t.destroyed||t.end()}),e.end(r);for await(let i of t){let n=i;yield n,n.resume()}}async function $Ne(r,e,{stripComponents:t=0,prefixPath:i=Oe.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=t)}for await(let a of _Ne(r)){if(n(a))continue;let l=x.normalize(K.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=t)continue;let c=l.slice(t).join("/"),u=x.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!==0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.writeFileSync(u,await Cf(a),{mode:g}),e.utimesSync(u,xr.SAFE_TIME,xr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(x.dirname(u),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,xr.SAFE_TIME,xr.SAFE_TIME);break}}return e}var es={};ut(es,{emitList:()=>eTe,emitTree:()=>CZ,treeNodeToJson:()=>dZ,treeNodeToTreeify:()=>pZ});var hZ=Pe(fZ());function pZ(r,{configuration:e}){let t={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l<"u"&&g.push(Vy(e,l,2)),typeof c<"u"&&g.push($e(e,c[0],c[1])),g.length===0&&g.push(Vy(e,`${a}`,2));let f=g.join(": "),h=s[f]={};typeof u<"u"&&i(u,h)}};if(typeof r.children>"u")throw new Error("The root node must only contain children");return i(r.children,t),t}function dZ(r){let e=t=>{var s;if(typeof t.children>"u"){if(typeof t.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Bc(t.value[0],t.value[1])}let i=Array.isArray(t.children)?t.children.entries():Object.entries((s=t.children)!=null?s:{}),n=Array.isArray(t.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof t.value>"u"?n:{value:Bc(t.value[0],t.value[1]),children:n}};return e(r)}function eTe(r,{configuration:e,stdout:t,json:i}){let n=r.map(s=>({value:s}));CZ({children:n},{configuration:e,stdout:t,json:i})}function CZ(r,{configuration:e,stdout:t,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(r.children)?r.children.values():Object.values((o=r.children)!=null?o:{});for(let l of a)t.write(`${JSON.stringify(dZ(l))} `);return}let s=(0,hZ.asTree)(pZ(r,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 $1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var mZ=J("crypto"),kN=Pe(J("fs"));var tTe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,mZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Xl?`c${o}`:"";this.cacheKey=[tTe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${xf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=rTe(t).slice(0,10);return`${xf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||DN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await O.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await O.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await O.changeFilePromise(e,`/.gitignore +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");t.write(s)}var mZ=J("crypto"),kN=Pe(J("fs"));var tTe=8,Rt=class{constructor(e,{configuration:t,immutable:i=t.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,mZ.randomBytes)(8).toString("hex")}.tmp`;this.configuration=t,this.cwd=e,this.immutable=i,this.check=n;let s=t.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=t.get("compressionLevel"),a=o!==Xl?`c${o}`:"";this.cacheKey=[tTe,a].join("")}}static async find(e,{immutable:t,check:i}={}){let n=new Rt(e.get("cacheFolder"),{configuration:e,immutable:t,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${xf(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,t){let n=rTe(t).slice(0,10);return`${xf(e)}-${n}.zip`}getLocatorPath(e,t,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?x.resolve(this.cwd,this.getVersionFilename(e)):t===null||DN(t)!==this.cacheKey?null:x.resolve(this.cwd,this.getChecksumFilename(e,t))}getLocatorMirrorPath(e){let t=this.mirrorCwd;return t!==null?x.resolve(t,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await M.existsPromise(this.cwd))throw new at(56,"Cache path does not exist.")}else{await M.mkdirPromise(this.cwd,{recursive:!0});let e=x.resolve(this.cwd,".gitignore");await M.changeFilePromise(e,`/.gitignore *.flock *.tmp -`)}(this.mirrorCwd||!this.immutable)&&await O.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Me.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Mt(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let Ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(A)}`:t;if(Ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Ae!==t){let re;switch(this.check?re="throw":DN(t)!==DN(Ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:Ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:Ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),Ae=A.getRealPath();A.saveAndClose(),await O.chmodPromise(Ae,420);let ge=await u(_,Ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await O.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),Ae=(await u(_)).hash,ge=this.getLocatorPath(e,Ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await O.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await O.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await O.chmodPromise(F,420),await O.renamePromise(F,ge)});let M=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,M,Ae]},p=async()=>{let A=(async()=>{var ue;let Ae=this.getLocatorPath(e,t,o),ge=Ae!==null?await l.existsPromise(Ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),M=re||ge,F=M?i:n;if(F&&F(),M){let pe=null,ke=Ae;if(!re)if(this.check)pe=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)pe=Fe.hash;else return h()}return[re,ke,pe]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await an(),T=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Sg(()=>Jx(()=>v=T(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new So(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function DN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function rTe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var M0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(M0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Xd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} +`)}(this.mirrorCwd||!this.immutable)&&await M.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,t,{onHit:i,onMiss:n,loader:s,...o}){var W;let a=this.getLocatorMirrorPath(e),l=new $t,c=()=>{let _=new Wr(null,{libzip:D}),A=x.join(Oe.root,qD(e));return _.mkdirSync(A,{recursive:!0}),_.writeJsonSync(x.join(A,xt.manifest),{name:Ot(e),mocked:!0}),_},u=async(_,A=null)=>{var ge;if(A===null&&((ge=o.unstablePackages)==null?void 0:ge.has(e.locatorHash)))return{isValid:!0,hash:null};let Ae=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(_)}`:t;if(A!==null){let re=!o.skipIntegrityCheck||!t?`${this.cacheKey}/${await bw(A)}`:t;if(Ae!==re)throw new at(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(t!==null&&Ae!==t){let re;switch(this.check?re="throw":DN(t)!==DN(Ae)?re="update":re=this.configuration.get("checksumBehavior"),re){case"ignore":return{isValid:!0,hash:t};case"update":return{isValid:!0,hash:Ae};case"reset":return{isValid:!1,hash:t};default:case"throw":throw new at(18,"The remote archive doesn't match the expected checksum")}}return{isValid:!0,hash:Ae}},g=async _=>{if(!s)throw new Error(`Cache check required but no loader configured for ${mt(this.configuration,e)}`);let A=await s(),Ae=A.getRealPath();A.saveAndClose(),await M.chmodPromise(Ae,420);let ge=await u(_,Ae);if(!ge.isValid)throw new Error("Assertion failed: Expected a valid checksum");return ge.hash},f=async()=>{if(a===null||!await M.existsPromise(a)){let _=await s(),A=_.getRealPath();return _.saveAndClose(),{source:"loader",path:A}}return{source:"mirror",path:a}},h=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${mt(this.configuration,e)}`);if(this.immutable)throw new at(56,`Cache entry required but missing for ${mt(this.configuration,e)}`);let{path:_,source:A}=await f(),Ae=(await u(_)).hash,ge=this.getLocatorPath(e,Ae,o);if(!ge)throw new Error("Assertion failed: Expected the cache path to be available");let re=[];A!=="mirror"&&a!==null&&re.push(async()=>{let F=`${a}${this.cacheId}`;await M.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,a)}),(!o.mirrorWriteOnly||a===null)&&re.push(async()=>{let F=`${ge}${this.cacheId}`;await M.copyFilePromise(_,F,kN.default.constants.COPYFILE_FICLONE),await M.chmodPromise(F,420),await M.renamePromise(F,ge)});let O=o.mirrorWriteOnly&&a!=null?a:ge;return await Promise.all(re.map(F=>F())),[!1,O,Ae]},p=async()=>{let A=(async()=>{var ue;let Ae=this.getLocatorPath(e,t,o),ge=Ae!==null?await l.existsPromise(Ae):!1,re=!!((ue=o.mockedPackages)!=null&&ue.has(e.locatorHash))&&(!this.check||!ge),O=re||ge,F=O?i:n;if(F&&F(),O){let pe=null,ke=Ae;if(!re)if(this.check)pe=await g(ke);else{let Fe=await u(ke);if(Fe.isValid)pe=Fe.hash;else return h()}return[re,ke,pe]}else return h()})();this.mutexes.set(e.locatorHash,A);try{return await A}finally{this.mutexes.delete(e.locatorHash)}};for(let _;_=this.mutexes.get(e.locatorHash);)await _;let[C,y,B]=await p();this.markedFiles.add(y);let v,D=await an(),T=C?()=>c():()=>new Wr(y,{baseFs:l,libzip:D,readOnly:!0}),H=new Sg(()=>Jx(()=>v=T(),_=>`Failed to open the cache entry for ${mt(this.configuration,e)}: ${_}`),x),j=new So(y,{baseFs:H,pathUtils:x}),$=()=>{v==null||v.discardAndClose()},V=(W=o.unstablePackages)!=null&&W.has(e.locatorHash)?null:B;return[j,$,V]}};function DN(r){let e=r.indexOf("/");return e!==-1?r.slice(0,e):null}function rTe(r){let e=r.indexOf("/");return e!==-1?r.slice(e+1):r}var O0=(t=>(t[t.SCRIPT=0]="SCRIPT",t[t.SHELLCODE=1]="SHELLCODE",t))(O0||{});var ra=class extends vi{constructor({configuration:t,stdout:i,suggestInstall:n=!0}){super();this.errorCount=0;Xd(this,{configuration:t}),this.configuration=t,this.stdout=i,this.suggestInstall=n}static async start(t,i){let n=new this(t);try{await i(n)}catch(s){n.reportExceptionOnce(s)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(t){}reportCacheMiss(t){}startSectionSync(t,i){return i()}async startSectionPromise(t,i){return await i()}startTimerSync(t,i,n){return(typeof i=="function"?i:n)()}async startTimerPromise(t,i,n){return await(typeof i=="function"?i:n)()}async startCacheReport(t){return await t()}reportSeparator(){}reportInfo(t,i){}reportWarning(t,i){}reportError(t,i){this.errorCount+=1,this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(t)}: ${i} `)}reportProgress(t){return{...Promise.resolve().then(async()=>{for await(let{}of t);}),stop:()=>{}}}reportJson(t){}async finalize(){this.errorCount>0&&(this.stdout.write(` `),this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. `),this.suggestInstall&&this.stdout.write(`${$e(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var X0=J("crypto");function rA(){}rA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var T=B&&B.newPos+1=a&&D+1>=l)return o(iTe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function nTe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Oat=new rA;var EZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,IZ=/\S/,yZ=new rA;yZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!IZ.test(r)&&!IZ.test(e)};yZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(NN(r,null,null,n),n," ")};ZC.equals=function(r,e){return rA.prototype.equals.call(ZC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function NN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=sTe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],T=D.lines||D.value.replace(/\n$/,"").split(` -`);if(D.lines=T,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,RN(T.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),Ae=/\n$/.test(i),ge=T.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!Ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>xw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],W0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!O.existsSync(i))return;let n=await O.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=aC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=so(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of UOe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=vf(c.range),C=aC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,nn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var z0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Sw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Sw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var V0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends vi{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var P$=Pe(OD());var Qh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:Jo(null,`${this.computeCandidateName()}-${rn(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=nn(e,t),this.anchoredDescriptor=_t(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=nn(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o);if(i.length===0)return;let n=await(0,P$.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort(),await n.reduce(async(o,a)=>{let l=x.resolve(this.cwd,K.toPortablePath(a)),c=await O.existsPromise(x.join(l,"package.json"));await o,c&&this.workspacesCwds.add(l)},Promise.resolve())}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===Yr.protocol&&x.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=so(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&oC(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await O.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var D$=6,HOe=1,GOe=/ *, */g,k$=/\/$/,YOe=32,jOe=(0,zN.promisify)(VN.default.gzip),qOe=(0,zN.promisify)(VN.default.gunzip),ts=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(ts||{}),JN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},R$=r=>rn(`${HOe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new Qe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,O.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Qe(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}. +`))}formatNameWithHyperlink(t){return qR(t,{configuration:this.configuration,json:!1})}};var X0=J("crypto");function rA(){}rA.prototype={diff:function(e,t){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(C){return n?(setTimeout(function(){n(void 0,C)},0),!0):C}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,l=e.length,c=1,u=a+l;i.maxEditLength&&(u=Math.min(u,i.maxEditLength));var g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],t,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(t),count:t.length}]);function h(){for(var C=-1*c;C<=c;C+=2){var y=void 0,B=g[C-1],v=g[C+1],D=(v?v.newPos:0)-C;B&&(g[C-1]=void 0);var T=B&&B.newPos+1=a&&D+1>=l)return o(iTe(s,y.components,t,e,s.useLongestToken));g[C]=y}c++}if(n)(function C(){setTimeout(function(){if(c>u)return n();h()||C()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,t,i){var n=e[e.length-1];n&&n.added===t&&n.removed===i?e[e.length-1]={count:n.count+1,added:t,removed:i}:e.push({count:1,added:t,removed:i})},extractCommon:function(e,t,i,n){for(var s=t.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?C:h}),c.value=r.join(u)}else c.value=r.join(t.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&r.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function nTe(r){return{newPos:r.newPos,components:r.components.slice(0)}}var Mat=new rA;var EZ=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,IZ=/\S/,yZ=new rA;yZ.equals=function(r,e){return this.options.ignoreCase&&(r=r.toLowerCase(),e=e.toLowerCase()),r===e||this.options.ignoreWhitespace&&!IZ.test(r)&&!IZ.test(e)};yZ.tokenize=function(r){for(var e=r.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),t=0;tr.length)&&(e=r.length);for(var t=0,i=new Array(e);t"u"?t:o}:i;return typeof r=="string"?r:JSON.stringify(NN(r,null,null,n),n," ")};ZC.equals=function(r,e){return rA.prototype.equals.call(ZC,r.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function NN(r,e,t,i,n){e=e||[],t=t||[],i&&(r=i(n,r));var s;for(s=0;s"u"&&(o.context=4);var a=sTe(t,i,o);if(!a)return;a.push({value:"",lines:[]});function l(B){return B.map(function(v){return" "+v})}for(var c=[],u=0,g=0,f=[],h=1,p=1,C=function(v){var D=a[v],T=D.lines||D.value.replace(/\n$/,"").split(` +`);if(D.lines=T,D.added||D.removed){var H;if(!u){var j=a[v-1];u=h,g=p,j&&(f=o.context>0?l(j.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(H=f).push.apply(H,RN(T.map(function(re){return(D.added?"+":"-")+re}))),D.added?p+=T.length:h+=T.length}else{if(u)if(T.length<=o.context*2&&v=a.length-2&&T.length<=o.context){var A=/\n$/.test(t),Ae=/\n$/.test(i),ge=T.length==0&&f.length>_.oldLines;!A&&ge&&t.length>0&&f.splice(_.oldLines,0,"\\ No newline at end of file"),(!A&&!ge||!Ae)&&f.push("\\ No newline at end of file")}c.push(_),u=0,g=0,f=[]}h+=T.length,p+=T.length}},y=0;y`${t}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(r,e,t="",i,n)=>`https://${t}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,r=>`npm:${r}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,r=>`npm:${r}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(r,e)=>xw({protocol:"npm:",source:null,selector:r,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,r=>`npm:${r}`]],W0=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:t}){let i=x.join(e.cwd,e.configuration.get("lockfileFilename"));if(!M.existsSync(i))return;let n=await M.readFilePromise(i,"utf8"),s=yi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=aC(a);if(!l){t.reportWarning(14,`Failed to parse the string "${a}" into a proper descriptor`);continue}let c=so(l.range)?_t(l,`npm:${l.range}`):l,{version:u,resolved:g}=s[a];if(!g)continue;let f;for(let[p,C]of UMe){let y=g.match(p);if(y){f=C(u,...y);break}}if(!f){t.reportWarning(14,`${tr(e.configuration,c)}: Only some patterns can be imported from legacy lockfiles (not "${g}")`);continue}let h=c;try{let p=vf(c.range),C=aC(p.selector,!0);C&&(h=C)}catch{}o.set(c.descriptorHash,nn(h,f))}}supportsDescriptor(e,t){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(HD(n),t,i)}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var z0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return!!(t.project.storedResolutions.get(e.descriptorHash)||t.project.originalPackages.has(Sw(e).locatorHash))}supportsLocator(e,t){return!!(t.project.originalPackages.has(e.locatorHash)&&!t.project.lockfileNeedsRefresh)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){let n=i.project.originalPackages.get(Sw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,t,i){return null}async resolve(e,t){let i=t.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var V0=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,i){return this.resolver.bindDescriptor(e,t,i)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,t,i){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,t){throw new at(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var ti=class extends vi{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,t){return t()}async startSectionPromise(e,t){return await t()}startTimerSync(e,t,i){return(typeof t=="function"?t:i)()}async startTimerPromise(e,t,i){return await(typeof t=="function"?t:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}async finalize(){}};var P$=Pe(MD());var Qh=class{constructor(e,{project:t}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=t,this.cwd=e}async setup(){var s;this.manifest=(s=await ot.tryFind(this.cwd))!=null?s:new ot,this.relativeCwd=x.relative(this.project.cwd,this.cwd)||Oe.dot;let e=this.manifest.name?this.manifest.name:Jo(null,`${this.computeCandidateName()}-${rn(this.relativeCwd).substring(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=nn(e,t),this.anchoredDescriptor=_t(this.locator,`${Yr.protocol}${this.relativeCwd}`),this.anchoredLocator=nn(this.locator,`${Yr.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o);if(i.length===0)return;let n=await(0,P$.default)(i,{cwd:K.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort(),await n.reduce(async(o,a)=>{let l=x.resolve(this.cwd,K.toPortablePath(a)),c=await M.existsPromise(x.join(l,"package.json"));await o,c&&this.workspacesCwds.add(l)},Promise.resolve())}accepts(e){var o;let t=e.indexOf(":"),i=t!==-1?e.slice(0,t+1):null,n=t!==-1?e.slice(t+1):e;if(i===Yr.protocol&&x.normalize(n)===this.relativeCwd||i===Yr.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=so(n);return s?i===Yr.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${x.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||t.has(a)||(t.add(a),i(a))}};return i(this),t}getRecursiveWorkspaceDependents({dependencies:e=ot.hardDependencies}={}){let t=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&oC(c.anchoredLocator,n.anchoredLocator)}))&&!t.has(s)&&(t.add(s),i(s))};return i(this),t}getRecursiveWorkspaceChildren(){let e=[];for(let t of this.workspacesCwds){let i=this.project.workspacesByCwd.get(t);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let t=x.join(this.cwd,ot.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await M.changeFilePromise(t,i,{automaticNewlines:!0}),this.manifest.raw=e}};var D$=6,HMe=1,GMe=/ *, */g,k$=/\/$/,YMe=32,jMe=(0,zN.promisify)(VN.default.gzip),qMe=(0,zN.promisify)(VN.default.gunzip),ts=(t=>(t.UpdateLockfile="update-lockfile",t.SkipBuild="skip-build",t))(ts||{}),JN={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},R$=r=>rn(`${HMe}`,r),je=class{constructor(e,{configuration:t}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=t,this.cwd=e}static async find(e,t){var p,C,y;if(!e.projectCwd)throw new Qe(`No project found in ${t}`);let i=e.projectCwd,n=t,s=null;for(;s!==e.projectCwd;){if(s=n,M.existsSync(x.join(s,xt.manifest))){i=s;break}n=x.dirname(s)}let o=new je(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(C=ye.telemetry)==null||C.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((B,v)=>B+v.manifest.dependencies.size+v.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=$e(e,o.cwd,Ue.PATH),u=$e(e,x.relative(o.cwd,i),Ue.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Qe(`The nearest package directory (${$e(e,i,Ue.PATH)}) doesn't seem to be part of the project declared in ${$e(e,o.cwd,Ue.PATH)}. ${[g,f,h].join(` -`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(O.existsSync(e)){let n=await O.readFilePromise(e,"utf8");this.lockFileChecksum=R$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Dc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:T};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(GOe)){let $=WA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,t=(0,_0.default)(4),i=async(n,s)=>{if(e.has(s))return n;e.add(s);let o=new Qh(s,{project:this});await t(()=>o.setup());let a=n.then(()=>{this.addWorkspace(o);let l=this.storedPackages.get(o.anchoredLocator.locatorHash);l&&(o.dependencies=l.dependencies)});return Array.from(o.workspacesCwds).reduce(i,a)};await i(Promise.resolve(),this.cwd)}addWorkspace(e){let t=this.workspacesByIdent.get(e.locator.identHash);if(typeof t<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,e.locator)}: ${K.fromPortablePath(e.cwd)} conflicts with ${K.fromPortablePath(t.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.locator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(JA(e)&&(e=iC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(qo(e)&&(e=nC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${lC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let t=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let i=new Set(this.storedResolutions.values());typeof t<"u"&&!i.has(t)&&this.deleteLocator(t)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[t,i]of this.storedResolutions)i===e.locatorHash&&this.deleteDescriptor(t)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),t=new Map;for(let[i,n]of this.storedResolutions.entries()){let s=t.get(n);s||t.set(n,s=new Set),s.add(i)}for(let i of this.originalPackages.values()){let n;try{n=e.shouldPersistResolution(i,{project:this,resolver:e})}catch{n=!1}if(!n){this.deleteLocator(i.locatorHash);let s=t.get(i.locatorHash);if(s){t.delete(i.locatorHash);for(let o of s)this.deleteDescriptor(o)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)JA(i)&&e.dependencies.set(t,iC(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Mt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!F$.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(k$,"")!==e.replace(k$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new W0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new V0(t)]:[i,t],s=new kf([new z0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=$D(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(vi.progressViaTitle(),async W=>{let _=async M=>{let F=await df(async()=>await s.resolve(M,a),ke=>`${mt(this.configuration,M)}: ${ke}`);if(!oC(M,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,M)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!sC(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,M,a);ue.dependencies.set(ke,oe)}let pe=io([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(pe),pe.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async M=>{let F=f.get(M.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>_(M));return f.set(M.locatorHash,ue),ue},Ae=async(M,F)=>{let ue=await re(F);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,ue.locatorHash),ue},ge=async M=>{W.setTitle(tr(this.configuration,M));let F=this.resolutionAliases.get(M.descriptorHash);if(typeof F<"u")return Ae(M,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(M,a),pe=new Map(await io(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await df(async()=>await s.getCandidates(M,pe,a),Ne=>`${tr(this.configuration,M)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,M)}: No candidates found`);return l.set(M.descriptorHash,M),u.set(M.descriptorHash,Fe.locatorHash),A(Fe)},re=M=>{let F=h.get(M.descriptorHash);if(typeof F<"u")return F;l.set(M.descriptorHash,M);let ue=Promise.resolve().then(()=>ge(M));return h.set(M.descriptorHash,ue),ue};for(let M of this.workspaces){let F=M.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let M=[...y];y.length=0,await io(M)}});let D=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),H=new Set,j=new Map;JOe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)T.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!T.has(W.locatorHash)||(kw(W,v)||(kw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${$e(this.configuration,"supportedArchitectures",xi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(bn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Es(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=vi.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,_0.default)(YOe);if(await t.startCacheReport(async()=>{await io(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(qo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var Ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(M=>{let F=M.makeInstaller(c),ue=F.getCustomDataKey(),pe=this.installersCustomData.get(ue);return typeof pe<"u"&&F.attachCustomData(pe),[M,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await io([...this.accessibleLocators].map(async M=>{let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[M,await o.fetch(F,a)]}))),C=[];for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],ke=Ne=>{pe.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let Be of["preinstall","install","postinstall"])oe.has(Be)&&Ne.push([0,Be]);try{for(let[Be,fe]of u)if(Be.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(Ae=ue.releaseFs)==null||Ae.call(ue):C.push(io(pe).catch(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!qo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(Be=>Be.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{pe.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push(io(pe).then(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let M of this.accessibleLocators){let F=this.storedPackages.get(M);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,pe=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let Be=this.storedResolutions.get(le.descriptorHash);if(typeof Be>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(Be);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);let ae=this.tryWorkspaceByLocator(fe)===null?g.get(Be):null;if(typeof ae>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);ae===ke||ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&hf(y,Be).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await pe(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await pe(ke,Fe)}}for(let[M,F]of y){let ue=this.storedPackages.get(M);if(!ue)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(ue.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(pe);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let M of u.values()){let F=await M.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(M.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await io(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let M of D)v.delete(M);let T=(0,X0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(M=>M.globalHashGeneration,this,M=>{T.update("\0"),T.update(M)});let H=T.digest("hex"),j=new Map,$=M=>{let F=j.get(M.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(M.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let pe=(0,X0.createHash)("sha512");pe.update(M.locatorHash),j.set(M.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");pe.update($(Ne))}return F=pe.digest("hex"),j.set(M.locatorHash,F),F},V=(M,F)=>{let ue=(0,X0.createHash)("sha512");ue.update(H),ue.update($(M));for(let pe of F)ue.update(pe);return ue.digest("hex")},W=new Map,_=!1,A=M=>{let F=new Set([M.locatorHash]);for(let ue of F){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");for(let ke of pe.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==M.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==M.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let M=D.size,F=[];for(let ue of D){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");if(!A(pe))continue;let ke=h.get(pe.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(pe,ke.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===Fe){W.set(pe.locatorHash,Fe),D.delete(ue);continue}_||(await this.persistInstallStateFile(),_=!0),this.storedBuildState.has(pe.locatorHash)?t.reportInfo(8,`${mt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,pe)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,Be]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${Es(pe)}) +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(M.existsSync(e)){let n=await M.readFilePromise(e,"utf8");this.lockFileChecksum=R$(n);let s=yi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${l})`);let u=Dc(c.resolution,!0),g=new ot;g.load(c,{yamlCompatibilityMode:!0});let f=g.version,h=g.languageName||t,p=c.linkType.toUpperCase(),C=(i=c.conditions)!=null?i:null,y=g.dependencies,B=g.peerDependencies,v=g.dependenciesMeta,D=g.peerDependenciesMeta,T=g.bin;if(c.checksum!=null){let j=typeof a<"u"&&!c.checksum.includes("/")?`${a}/${c.checksum}`:c.checksum;this.storedChecksums.set(u.locatorHash,j)}let H={...u,version:f,languageName:h,linkType:p,conditions:C,dependencies:y,peerDependencies:B,dependenciesMeta:v,peerDependenciesMeta:D,bin:T};this.originalPackages.set(H.locatorHash,H);for(let j of l.split(GMe)){let $=WA(j);this.storedDescriptors.set($.descriptorHash,$),this.storedResolutions.set($.descriptorHash,u.locatorHash)}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,t=(0,_0.default)(4),i=async(n,s)=>{if(e.has(s))return n;e.add(s);let o=new Qh(s,{project:this});await t(()=>o.setup());let a=n.then(()=>{this.addWorkspace(o);let l=this.storedPackages.get(o.anchoredLocator.locatorHash);l&&(o.dependencies=l.dependencies)});return Array.from(o.workspacesCwds).reduce(i,a)};await i(Promise.resolve(),this.cwd)}addWorkspace(e){let t=this.workspacesByIdent.get(e.locator.identHash);if(typeof t<"u")throw new Error(`Duplicate workspace name ${Ai(this.configuration,e.locator)}: ${K.fromPortablePath(e.cwd)} conflicts with ${K.fromPortablePath(t.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.locator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){x.isAbsolute(e)||(e=x.resolve(this.cwd,e)),e=x.normalize(e).replace(/\/+$/,"");let t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){let t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(let i of this.workspaces)x.relative(i.cwd,e).startsWith("../")||t&&t.cwd.length>=i.cwd.length||(t=i);return t||null}getWorkspaceByFilePath(e){let t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){let t=this.workspacesByIdent.get(e.identHash);return typeof t>"u"?null:t}getWorkspaceByIdent(e){let t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${Ai(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){let t=this.tryWorkspaceByIdent(e);return t===null||(JA(e)&&(e=iC(e)),!t.accepts(e.range))?null:t}getWorkspaceByDescriptor(e){let t=this.tryWorkspaceByDescriptor(e);if(t===null)throw new Error(`Workspace not found (${tr(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){let t=this.tryWorkspaceByIdent(e);return t===null||(qo(e)&&(e=nC(e)),t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash)?null:t}getWorkspaceByLocator(e){let t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${mt(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(let e of this.workspaces){let t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error(`Assertion failed: Expected workspace ${lC(this.configuration,e)} (${$e(this.configuration,x.join(e.cwd,xt.manifest),Ue.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(t.dependencies)}}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let t=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let i=new Set(this.storedResolutions.values());typeof t<"u"&&!i.has(t)&&this.deleteLocator(t)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[t,i]of this.storedResolutions)i===e.locatorHash&&this.deleteDescriptor(t)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),t=new Map;for(let[i,n]of this.storedResolutions.entries()){let s=t.get(n);s||t.set(n,s=new Set),s.add(i)}for(let i of this.originalPackages.values()){let n;try{n=e.shouldPersistResolution(i,{project:this,resolver:e})}catch{n=!1}if(!n){this.deleteLocator(i.locatorHash);let s=t.get(i.locatorHash);if(s){t.delete(i.locatorHash);for(let o of s)this.deleteDescriptor(o)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[t,i]of e.dependencies)JA(i)&&e.dependencies.set(t,iC(i))}getDependencyMeta(e,t){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),t===null||!F$.default.valid(t))return i;for(let[a,l]of s)a!==null&&a===t&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:t=!1}={}){let i=new ti,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(t&&(await o.findPackageLocation(a,s)).replace(k$,"")!==e.replace(k$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let t=e.resolver||this.configuration.makeResolver(),i=new W0(t);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new V0(t)]:[i,t],s=new kf([new z0(t),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,C=new Set,y=[],B=$D(),v=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(vi.progressViaTitle(),async W=>{let _=async O=>{let F=await df(async()=>await s.resolve(O,a),ke=>`${mt(this.configuration,O)}: ${ke}`);if(!oC(O,F))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${mt(this.configuration,O)} to ${mt(this.configuration,F)})`);g.set(F.locatorHash,F);let ue=this.configuration.normalizePackage(F);for(let[ke,Fe]of ue.dependencies){let Ne=await this.configuration.reduceHook(le=>le.reduceDependency,Fe,this,ue,Fe,{resolver:s,resolveOptions:a});if(!sC(Fe,Ne))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let oe=s.bindDescriptor(Ne,O,a);ue.dependencies.set(ke,oe)}let pe=io([...ue.dependencies.values()].map(ke=>re(ke)));return y.push(pe),pe.catch(()=>{}),c.set(ue.locatorHash,ue),ue},A=async O=>{let F=f.get(O.locatorHash);if(typeof F<"u")return F;let ue=Promise.resolve().then(()=>_(O));return f.set(O.locatorHash,ue),ue},Ae=async(O,F)=>{let ue=await re(F);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,ue.locatorHash),ue},ge=async O=>{W.setTitle(tr(this.configuration,O));let F=this.resolutionAliases.get(O.descriptorHash);if(typeof F<"u")return Ae(O,this.storedDescriptors.get(F));let ue=s.getResolutionDependencies(O,a),pe=new Map(await io(ue.map(async Ne=>{let oe=s.bindDescriptor(Ne,p,a),le=await re(oe);return C.add(le.locatorHash),[Ne.descriptorHash,le]}))),Fe=(await df(async()=>await s.getCandidates(O,pe,a),Ne=>`${tr(this.configuration,O)}: ${Ne}`))[0];if(typeof Fe>"u")throw new Error(`${tr(this.configuration,O)}: No candidates found`);return l.set(O.descriptorHash,O),u.set(O.descriptorHash,Fe.locatorHash),A(Fe)},re=O=>{let F=h.get(O.descriptorHash);if(typeof F<"u")return F;l.set(O.descriptorHash,O);let ue=Promise.resolve().then(()=>ge(O));return h.set(O.descriptorHash,ue),ue};for(let O of this.workspaces){let F=O.anchoredDescriptor;y.push(re(F))}for(;y.length>0;){let O=[...y];y.length=0,await io(O)}});let D=new Set(this.resolutionAliases.values()),T=new Set(c.keys()),H=new Set,j=new Map;JMe({project:this,report:e.report,accessibleLocators:H,volatileDescriptors:D,optionalBuilds:T,peerRequirements:j,allDescriptors:l,allResolutions:u,allPackages:c});for(let W of C)T.delete(W);for(let W of D)l.delete(W),u.delete(W);let $=new Set,V=new Set;for(let W of c.values())W.conditions!=null&&(!T.has(W.locatorHash)||(kw(W,v)||(kw(W,B)&&e.report.reportWarningOnce(77,`${mt(this.configuration,W)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${$e(this.configuration,"supportedArchitectures",xi.SETTING)} setting`),V.add(W.locatorHash)),$.add(W.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=H,this.conditionalLocators=$,this.disabledLocators=V,this.originalPackages=g,this.optionalBuilds=T,this.peerRequirements=j,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,cacheOptions:s},l=Array.from(new Set(bn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Es(h)}])));n==="update-lockfile"&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=vi.progressViaCounter(l.length);await t.reportProgress(u);let g=(0,_0.default)(YMe);if(await t.startCacheReport(async()=>{await io(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(qo(h))return;let p;try{p=await o.fetch(h,a)}catch(C){C.message=`${mt(this.configuration,h)}: ${C.message}`,t.reportExceptionOnce(C),c=C;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:t,fetcher:i,mode:n}){var Ae,ge,re;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:t,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(l.map(O=>{let F=O.makeInstaller(c),ue=F.getCustomDataKey(),pe=this.installersCustomData.get(ue);return typeof pe<"u"&&F.attachCustomData(pe),[O,F]})),g=new Map,f=new Map,h=new Map,p=new Map(await io([...this.accessibleLocators].map(async O=>{let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");return[O,await o.fetch(F,a)]}))),C=[];for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(typeof F>"u")throw new Error("Assertion failed: The locator should have been registered");let ue=p.get(F.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The fetch result should have been registered");let pe=[],ke=Ne=>{pe.push(Ne)},Fe=this.tryWorkspaceByLocator(F);if(Fe!==null){let Ne=[],{scripts:oe}=Fe.manifest;for(let Be of["preinstall","install","postinstall"])oe.has(Be)&&Ne.push([0,Be]);try{for(let[Be,fe]of u)if(Be.supportsPackage(F,c)&&(await fe.installPackage(F,ue,{holdFetchResult:ke})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{pe.length===0?(Ae=ue.releaseFs)==null||Ae.call(ue):C.push(io(pe).catch(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}let le=x.join(ue.packageFs.getRealPath(),ue.prefixPath);f.set(F.locatorHash,le),!qo(F)&&Ne.length>0&&h.set(F.locatorHash,{directives:Ne,buildLocations:[le]})}else{let Ne=l.find(Be=>Be.supportsPackage(F,c));if(!Ne)throw new at(12,`${mt(this.configuration,F)} isn't supported by any available linker`);let oe=u.get(Ne);if(!oe)throw new Error("Assertion failed: The installer should have been registered");let le;try{le=await oe.installPackage(F,ue,{holdFetchResult:ke})}finally{pe.length===0?(ge=ue.releaseFs)==null||ge.call(ue):C.push(io(pe).then(()=>{}).then(()=>{var Be;(Be=ue.releaseFs)==null||Be.call(ue)}))}g.set(F.locatorHash,Ne),f.set(F.locatorHash,le.packageLocation),le.buildDirective&&le.buildDirective.length>0&&le.packageLocation&&h.set(F.locatorHash,{directives:le.buildDirective,buildLocations:[le.packageLocation]})}}let y=new Map;for(let O of this.accessibleLocators){let F=this.storedPackages.get(O);if(!F)throw new Error("Assertion failed: The locator should have been registered");let ue=this.tryWorkspaceByLocator(F)!==null,pe=async(ke,Fe)=>{let Ne=f.get(F.locatorHash);if(typeof Ne>"u")throw new Error(`Assertion failed: The package (${mt(this.configuration,F)}) should have been registered`);let oe=[];for(let le of F.dependencies.values()){let Be=this.storedResolutions.get(le.descriptorHash);if(typeof Be>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,le)}, from ${mt(this.configuration,F)})should have been registered`);let fe=this.storedPackages.get(Be);if(typeof fe>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);let ae=this.tryWorkspaceByLocator(fe)===null?g.get(Be):null;if(typeof ae>"u")throw new Error(`Assertion failed: The package (${Be}, resolved from ${tr(this.configuration,le)}) should have been registered`);ae===ke||ae===null?f.get(fe.locatorHash)!==null&&oe.push([le,fe]):!ue&&Ne!==null&&hf(y,Be).push(Ne)}Ne!==null&&await Fe.attachInternalDependencies(F,oe)};if(ue)for(let[ke,Fe]of u)ke.supportsPackage(F,c)&&await pe(ke,Fe);else{let ke=g.get(F.locatorHash);if(!ke)throw new Error("Assertion failed: The linker should have been found");let Fe=u.get(ke);if(!Fe)throw new Error("Assertion failed: The installer should have been registered");await pe(ke,Fe)}}for(let[O,F]of y){let ue=this.storedPackages.get(O);if(!ue)throw new Error("Assertion failed: The package should have been registered");let pe=g.get(ue.locatorHash);if(!pe)throw new Error("Assertion failed: The linker should have been found");let ke=u.get(pe);if(!ke)throw new Error("Assertion failed: The installer should have been registered");await ke.attachExternalDependents(ue,F)}let B=new Map;for(let O of u.values()){let F=await O.finalizeInstall();for(let ue of(re=F==null?void 0:F.records)!=null?re:[])h.set(ue.locatorHash,{directives:ue.buildDirective,buildLocations:ue.buildLocations});typeof(F==null?void 0:F.customData)<"u"&&B.set(O.getCustomDataKey(),F.customData)}if(this.installersCustomData=B,await io(C),n==="skip-build")return;let v=new Set(this.storedPackages.keys()),D=new Set(h.keys());for(let O of D)v.delete(O);let T=(0,X0.createHash)("sha512");T.update(process.versions.node),await this.configuration.triggerHook(O=>O.globalHashGeneration,this,O=>{T.update("\0"),T.update(O)});let H=T.digest("hex"),j=new Map,$=O=>{let F=j.get(O.locatorHash);if(typeof F<"u")return F;let ue=this.storedPackages.get(O.locatorHash);if(typeof ue>"u")throw new Error("Assertion failed: The package should have been registered");let pe=(0,X0.createHash)("sha512");pe.update(O.locatorHash),j.set(O.locatorHash,"");for(let ke of ue.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(typeof Fe>"u")throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);let Ne=this.storedPackages.get(Fe);if(typeof Ne>"u")throw new Error("Assertion failed: The package should have been registered");pe.update($(Ne))}return F=pe.digest("hex"),j.set(O.locatorHash,F),F},V=(O,F)=>{let ue=(0,X0.createHash)("sha512");ue.update(H),ue.update($(O));for(let pe of F)ue.update(pe);return ue.digest("hex")},W=new Map,_=!1,A=O=>{let F=new Set([O.locatorHash]);for(let ue of F){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");for(let ke of pe.dependencies.values()){let Fe=this.storedResolutions.get(ke.descriptorHash);if(!Fe)throw new Error(`Assertion failed: The resolution (${tr(this.configuration,ke)}) should have been registered`);if(Fe!==O.locatorHash&&D.has(Fe))return!1;let Ne=this.storedPackages.get(Fe);if(!Ne)throw new Error("Assertion failed: The package should have been registered");let oe=this.tryWorkspaceByLocator(Ne);if(oe){if(oe.anchoredLocator.locatorHash!==O.locatorHash&&D.has(oe.anchoredLocator.locatorHash))return!1;F.add(oe.anchoredLocator.locatorHash)}F.add(Fe)}}return!0};for(;D.size>0;){let O=D.size,F=[];for(let ue of D){let pe=this.storedPackages.get(ue);if(!pe)throw new Error("Assertion failed: The package should have been registered");if(!A(pe))continue;let ke=h.get(pe.locatorHash);if(!ke)throw new Error("Assertion failed: The build directive should have been registered");let Fe=V(pe,ke.buildLocations);if(this.storedBuildState.get(pe.locatorHash)===Fe){W.set(pe.locatorHash,Fe),D.delete(ue);continue}_||(await this.persistInstallStateFile(),_=!0),this.storedBuildState.has(pe.locatorHash)?t.reportInfo(8,`${mt(this.configuration,pe)} must be rebuilt because its dependency tree changed`):t.reportInfo(7,`${mt(this.configuration,pe)} must be built because it never has been before or the last one failed`);let Ne=ke.buildLocations.map(async oe=>{if(!x.isAbsolute(oe))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${oe})`);for(let[le,Be]of ke.directives){let fe=`# This file contains the result of Yarn building a package (${Es(pe)}) `;switch(le){case 0:fe+=`# Script name: ${Be} `;break;case 1:fe+=`# Script code: ${Be} -`;break}let ae=null;if(!await O.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:he,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,pe),report:t}),de;try{switch(le){case 0:de=await TB(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break;case 1:de=await JR(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(he.end(),ie.end(),de===0)return!0;O.detachTemp(ne);let _e=`${mt(this.configuration,pe)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(pe.locatorHash,Fe)}))}if(await io(F),M===D.size){let ue=Array.from(D).map(pe=>{let ke=this.storedPackages.get(pe);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await O.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Vl(n,this.generateLockfile());if(c!==n){let u=wZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Bc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Qw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Qw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:D$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Sn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:Es(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`;break}let ae=null;if(!await M.mktempPromise(async ne=>{let Y=x.join(ne,"build.log"),{stdout:he,stderr:ie}=this.configuration.getSubprocessStreams(Y,{header:fe,prefix:mt(this.configuration,pe),report:t}),de;try{switch(le){case 0:de=await TB(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break;case 1:de=await JR(pe,Be,[],{cwd:oe,project:this,stdin:ae,stdout:he,stderr:ie});break}}catch(Pt){ie.write(Pt.stack),de=1}if(he.end(),ie.end(),de===0)return!0;M.detachTemp(ne);let _e=`${mt(this.configuration,pe)} couldn't be built successfully (exit code ${$e(this.configuration,de,Ue.NUMBER)}, logs can be found here: ${$e(this.configuration,Y,Ue.PATH)})`;return this.optionalBuilds.has(pe.locatorHash)?(t.reportInfo(9,_e),!0):(t.reportError(9,_e),!1)}))return!1}return!0});F.push(...Ne,Promise.allSettled(Ne).then(oe=>{D.delete(ue),oe.every(le=>le.status==="fulfilled"&&le.value===!0)&&W.set(pe.locatorHash,Fe)}))}if(await io(F),O===D.size){let ue=Array.from(D).map(pe=>{let ke=this.storedPackages.get(pe);if(!ke)throw new Error("Assertion failed: The package should have been registered");return mt(this.configuration,ke)}).join(", ");t.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ue})`);break}}this.storedBuildState=W}async install(e){var a,l;let t=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(t),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status="inactive";let i=x.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await M.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new at(28,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=$e(this.configuration,g,Ue.PACKAGE_EXTENSION);switch(g.status){case"inactive":e.report.reportWarning(68,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Vl(n,this.generateLockfile());if(c!==n){let u=wZ(i,i,n,c,void 0,void 0,{maxEditLength:100});if(u){e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(28,$e(this.configuration,f,Ue.ADDED)):f.startsWith("-")?e.report.reportError(28,$e(this.configuration,f,Ue.REMOVED)):e.report.reportInfo(null,$e(this.configuration,f,"grey"))}e.report.reportSeparator()}throw new at(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status==="active"&&((l=ye.telemetry)==null||l.reportPackageExtension(Bc(g,Ue.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject>"u"||e.persistProject)&&e.mode!=="update-lockfile"&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Qw(c,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${$e(this.configuration,"mode=update-lockfile",Ue.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Qw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let t={};t.__metadata={version:D$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Sn(f)).sort().join(", "),c=new ot;c.version=o.linkType==="HARD"?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g<"u"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof t.__metadata.cacheKey>"u"&&(t.__metadata.cacheKey=h),h===t.__metadata.cacheKey?u=p:u=g}t[l]={...c.exportTo({},{compatibilityMode:!1}),linkType:o.linkType.toLowerCase(),resolution:Es(o),checksum:u,conditions:o.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. `,`# Manual changes might be lost - proceed with caution! `].join("")} -`+ba(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await O.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Vl(t,i);n!==t&&(await O.writeFilePromise(e,n),this.lockFileChecksum=R$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(JN))e.push(...o);let t=(0,Z0.default)(this,e),i=WN.default.serialize(t),n=rn(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await O.mkdirPromise(x.dirname(s),{recursive:!0}),await O.writeFilePromise(s,await jOe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await qOe(await O.readFilePromise(n));s=WN.default.deserialize(o),this.installStateChecksum=rn(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,Z0.default)(s,JN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,Z0.default)(s,JN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){let e=(0,_0.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(t=>e(()=>t.persistManifest()))])}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await O.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await O.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await O.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function JOe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,rC(A)]})),B=()=>{let W=O.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,Ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Es(ge)} -`).join("");throw O.writeFileSync(_,Ae),O.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:Ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=T(W,_,A,{top:Ae,optional:ge});return u.pop(),re},T=(W,_,A,{top:Ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let M=[],F=[],ue=[],pe=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==Ae)continue;if(JA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Mt(Ne));if(typeof Y<"u"){let he=Y.get(null);typeof he<"u"&&he.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let Be=y.get(le)||i.get(le);if(!Be)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(Be.peerDependencies.size===0){D(Ne,Be,new Map,{top:Ae,optional:oe});continue}let fe,ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),ae=YD(Be,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(ae.locatorHash,ae),M.push([Be,fe,ae])}),ue.push(()=>{var Y;ne=new Map;for(let he of ae.peerDependencies.values()){let ie=re.dependencies.get(he.identHash);if(!ie&&sC(_,he)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&ae.dependencies.has(he.identHash)){ae.peerDependencies.delete(he.identHash);continue}ie||(ie=_t(he,"missing:")),ae.dependencies.set(ie.identHash,ie),JA(ie)&&wc(h,ie.descriptorHash).add(ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(he.identHash,(Y=A.get(he.identHash))!=null?Y:ae.locatorHash)}ae.dependencies=new Map(bn(ae.dependencies,([he,ie])=>Mt(ie)))}),pe.push(()=>{if(!i.has(ae.locatorHash))return;let Y=c.get(Be.locatorHash);typeof Y=="number"&&Y>=2&&B();let he=c.get(Be.locatorHash),ie=typeof he<"u"?he+1:1;c.set(Be.locatorHash,ie),D(fe,ae,ne,{top:Ae,optional:oe}),c.set(Be.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let he=t.get(Y.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(wc(C,he).add(_.locatorHash),!!i.has(ae.locatorHash)){for(let ie of ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hf(pf(p,de),Mt(ie)).push(ae.locatorHash)}for(let ie of qe)ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of M){let Be=pf(f,Ne.locatorHash),fe=rn(...[...le.dependencies.values()].map(Y=>{let he=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof he>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return he===Ae?`${he} (top)`:he}),oe.identHash),ae=Be.get(fe);if(typeof ae>"u"){Be.set(fe,oe);continue}if(ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let he=i.get(Y);typeof he>"u"||(he.dependencies.get(oe.identHash).descriptorHash!==ae.descriptorHash&&(Fe=!1),he.dependencies.set(oe.identHash,ae))}}}while(!Fe);for(let Ne of[...pe,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let Ae=p.get(W);if(!(typeof Ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[M,F]of Ae){let ue=tn(M);if(re.peerDependencies.has(ue.identHash))continue;let pe=`p${rn(ge,M,W).slice(0,5)}`;o.set(pe,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let Be of F){let fe=i.get(Be);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let ae=fe.peerDependencies.get(ue.identHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(ae.range)}[...oe].every(Be=>{if(Be.startsWith(Yr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;Be=Be.slice(Yr.protocol.length),(Be==="^"||Be==="~")&&(Be="*")}return kc(Ne,Be)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:pe,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(M);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:pe})}}}}let $=[W=>jD(W.subject),W=>Mt(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${$e(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${$e(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of bn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let _=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}) with version ${AC(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${_}`)}break}})}var Sh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!O.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){wc(this.values,e).add(t)}reportEnumerator(e,t){wc(this.enumerators,e).add(rn(t))}reportHit(e,t="*"){let i=pf(this.hits,e),n=Ta(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=O.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{O.mkdirSync(x.dirname(t),{recursive:!0}),O.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>kR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,T]of y)v.metrics[D]=T.shift(),T.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=O.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}O.mkdirSync(x.dirname(e),{recursive:!0}),O.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var XN=J("child_process"),N$=Pe(Ac());var ZN=J("fs");var vh=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function WOe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,XN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,XN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function $0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Gn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new Qe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=T=>O.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!O.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{WOe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!N$.isCI&&process.stdout.isTTY&&(ye.telemetry=new Sh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){vh.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,ZN.realpathSync)(process.cwd()),V=(0,ZN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>O.rmtempPromise())}function T$(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Nm={};ut(Nm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>zie,getPluginConfiguration:()=>Bb,main:()=>$0,openWorkspace:()=>Hh,pluginCommands:()=>vh});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends Qe{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var $Ye=Pe(Xr());ls();var eje=Pe(VT()),zie=()=>new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",ud],["semver",$Ye],["typanion",hn],["yup",eje]]);async function Hh(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var P9e=Pe(Xr());ls();var D9e=Pe(VT());var CM={};ut(CM,{dedupeUtils:()=>Nb,default:()=>g4e,suggestUtils:()=>qh});var Wae=Pe(Ac());var Lse=Pe(Km());ls();var qh={};ut(qh,{Modifier:()=>HL,Strategy:()=>Db,Target:()=>Um,WorkspaceModifier:()=>Dse,applyModifier:()=>Rse,extractDescriptorFromPath:()=>GL,extractRangeModifier:()=>kse,fetchDescriptorFrom:()=>YL,findProjectDescriptors:()=>Tse,getModifier:()=>Hm,getSuggestedDescriptors:()=>Gm,makeWorkspaceDescriptor:()=>Nse,toWorkspaceModifier:()=>Fse});var UL=Pe(Xr()),mqe="workspace:",Um=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Um||{}),HL=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(HL||{}),Dse=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(Dse||{}),Db=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(Db||{});function Hm(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Eqe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function kse(r,{project:e}){let t=r.match(Eqe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function Rse(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return UL.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Fse(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Nse(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${mqe}${Fse(e)}`)}async function Tse(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function GL(r,{cwd:e,workspace:t}){return await Iqe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await YL(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Gm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await Tse(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Nse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await YL(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Rse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function YL(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),UL.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=kse(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function Iqe(r){return await O.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var Au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await GL(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new Qe(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,xi.RANGE)} url; we now require package names to be explicitly specified. +`+ba(t)}async persistLockfile(){let e=x.join(this.cwd,this.configuration.get("lockfileFilename")),t="";try{t=await M.readFilePromise(e,"utf8")}catch{}let i=this.generateLockfile(),n=Vl(t,i);n!==t&&(await M.writeFilePromise(e,n),this.lockFileChecksum=R$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(JN))e.push(...o);let t=(0,Z0.default)(this,e),i=WN.default.serialize(t),n=rn(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await M.mkdirPromise(x.dirname(s),{recursive:!0}),await M.writeFilePromise(s,await jMe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:t=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await qMe(await M.readFilePromise(n));s=WN.default.deserialize(o),this.installStateChecksum=rn(o)}catch{t&&await this.applyLightResolution();return}e&&typeof s.installersCustomData<"u"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,Z0.default)(s,JN.restoreBuildState)),t&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,Z0.default)(s,JN.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new ti}),await this.persistInstallStateFile()}async persist(){let e=(0,_0.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(t=>e(()=>t.persistManifest()))])}async cacheCleanup({cache:e,report:t}){if(this.configuration.get("enableGlobalCache"))return;let i=new Set([".gitignore"]);if(!ZD(e.cwd,this.cwd)||!await M.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await M.readdirPromise(e.cwd)){if(i.has(a))continue;let l=x.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?t.reportError(56,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:t.reportInfo(19,`${$e(this.configuration,x.basename(l),"magenta")} appears to be unused - removing`),await M.removePromise(l)))}n&&s!==0&&t.reportInfo(19,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function JMe({project:r,allDescriptors:e,allResolutions:t,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l}){var V;let c=new Map,u=[],g=new Map,f=new Map,h=new Map,p=new Map,C=new Map,y=new Map(r.workspaces.map(W=>{let _=W.anchoredLocator.locatorHash,A=i.get(_);if(typeof A>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[_,rC(A)]})),B=()=>{let W=M.mktempSync(),_=x.join(W,"stacktrace.log"),A=String(u.length+1).length,Ae=u.map((ge,re)=>`${`${re+1}.`.padStart(A," ")} ${Es(ge)} +`).join("");throw M.writeFileSync(_,Ae),M.detachTemp(W),new at(45,`Encountered a stack overflow when resolving peer dependencies; cf ${K.fromPortablePath(_)}`)},v=W=>{let _=t.get(W.descriptorHash);if(typeof _>"u")throw new Error("Assertion failed: The resolution should have been registered");let A=i.get(_);if(!A)throw new Error("Assertion failed: The package could not be found");return A},D=(W,_,A,{top:Ae,optional:ge})=>{u.length>1e3&&B(),u.push(_);let re=T(W,_,A,{top:Ae,optional:ge});return u.pop(),re},T=(W,_,A,{top:Ae,optional:ge})=>{if(n.has(_.locatorHash))return;n.add(_.locatorHash),ge||s.delete(_.locatorHash);let re=i.get(_.locatorHash);if(!re)throw new Error(`Assertion failed: The package (${mt(r.configuration,_)}) should have been registered`);let O=[],F=[],ue=[],pe=[],ke=[];for(let Ne of Array.from(re.dependencies.values())){if(re.peerDependencies.has(Ne.identHash)&&re.locatorHash!==Ae)continue;if(JA(Ne))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Ne.descriptorHash);let oe=ge;if(!oe){let Y=re.dependenciesMeta.get(Ot(Ne));if(typeof Y<"u"){let he=Y.get(null);typeof he<"u"&&he.optional&&(oe=!0)}}let le=t.get(Ne.descriptorHash);if(!le)throw new Error(`Assertion failed: The resolution (${tr(r.configuration,Ne)}) should have been registered`);let Be=y.get(le)||i.get(le);if(!Be)throw new Error(`Assertion failed: The package (${le}, resolved from ${tr(r.configuration,Ne)}) should have been registered`);if(Be.peerDependencies.size===0){D(Ne,Be,new Map,{top:Ae,optional:oe});continue}let fe,ae,qe=new Set,ne;F.push(()=>{fe=GD(Ne,_.locatorHash),ae=YD(Be,_.locatorHash),re.dependencies.delete(Ne.identHash),re.dependencies.set(fe.identHash,fe),t.set(fe.descriptorHash,ae.locatorHash),e.set(fe.descriptorHash,fe),i.set(ae.locatorHash,ae),O.push([Be,fe,ae])}),ue.push(()=>{var Y;ne=new Map;for(let he of ae.peerDependencies.values()){let ie=re.dependencies.get(he.identHash);if(!ie&&sC(_,he)&&(W.identHash===_.identHash?ie=W:(ie=_t(_,W.range),e.set(ie.descriptorHash,ie),t.set(ie.descriptorHash,_.locatorHash),a.delete(ie.descriptorHash))),(!ie||ie.range==="missing:")&&ae.dependencies.has(he.identHash)){ae.peerDependencies.delete(he.identHash);continue}ie||(ie=_t(he,"missing:")),ae.dependencies.set(ie.identHash,ie),JA(ie)&&wc(h,ie.descriptorHash).add(ae.locatorHash),g.set(ie.identHash,ie),ie.range==="missing:"&&qe.add(ie.identHash),ne.set(he.identHash,(Y=A.get(he.identHash))!=null?Y:ae.locatorHash)}ae.dependencies=new Map(bn(ae.dependencies,([he,ie])=>Ot(ie)))}),pe.push(()=>{if(!i.has(ae.locatorHash))return;let Y=c.get(Be.locatorHash);typeof Y=="number"&&Y>=2&&B();let he=c.get(Be.locatorHash),ie=typeof he<"u"?he+1:1;c.set(Be.locatorHash,ie),D(fe,ae,ne,{top:Ae,optional:oe}),c.set(Be.locatorHash,ie-1)}),ke.push(()=>{let Y=re.dependencies.get(Ne.identHash);if(typeof Y>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let he=t.get(Y.descriptorHash);if(typeof he>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");if(wc(C,he).add(_.locatorHash),!!i.has(ae.locatorHash)){for(let ie of ae.peerDependencies.values()){let de=ne.get(ie.identHash);if(typeof de>"u")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");hf(pf(p,de),Ot(ie)).push(ae.locatorHash)}for(let ie of qe)ae.dependencies.delete(ie)}})}for(let Ne of[...F,...ue])Ne();let Fe;do{Fe=!0;for(let[Ne,oe,le]of O){let Be=pf(f,Ne.locatorHash),fe=rn(...[...le.dependencies.values()].map(Y=>{let he=Y.range!=="missing:"?t.get(Y.descriptorHash):"missing:";if(typeof he>"u")throw new Error(`Assertion failed: Expected the resolution for ${tr(r.configuration,Y)} to have been registered`);return he===Ae?`${he} (top)`:he}),oe.identHash),ae=Be.get(fe);if(typeof ae>"u"){Be.set(fe,oe);continue}if(ae===oe)continue;i.delete(le.locatorHash),e.delete(oe.descriptorHash),t.delete(oe.descriptorHash),n.delete(le.locatorHash);let qe=h.get(oe.descriptorHash)||[],ne=[re.locatorHash,...qe];h.delete(oe.descriptorHash);for(let Y of ne){let he=i.get(Y);typeof he>"u"||(he.dependencies.get(oe.identHash).descriptorHash!==ae.descriptorHash&&(Fe=!1),he.dependencies.set(oe.identHash,ae))}}}while(!Fe);for(let Ne of[...pe,...ke])Ne()};for(let W of r.workspaces){let _=W.anchoredLocator;a.delete(W.anchoredDescriptor.descriptorHash),D(W.anchoredDescriptor,_,new Map,{top:_.locatorHash,optional:!1})}let H;(A=>(A[A.NotProvided=0]="NotProvided",A[A.NotCompatible=1]="NotCompatible"))(H||(H={}));let j=[];for(let[W,_]of C){let A=i.get(W);if(typeof A>"u")throw new Error("Assertion failed: Expected the root to be registered");let Ae=p.get(W);if(!(typeof Ae>"u"))for(let ge of _){let re=i.get(ge);if(!(typeof re>"u"))for(let[O,F]of Ae){let ue=tn(O);if(re.peerDependencies.has(ue.identHash))continue;let pe=`p${rn(ge,O,W).slice(0,5)}`;o.set(pe,{subject:ge,requested:ue,rootRequester:W,allRequesters:F});let ke=A.dependencies.get(ue.identHash);if(typeof ke<"u"){let Fe=v(ke),Ne=(V=Fe.version)!=null?V:"0.0.0",oe=new Set;for(let Be of F){let fe=i.get(Be);if(typeof fe>"u")throw new Error("Assertion failed: Expected the link to be registered");let ae=fe.peerDependencies.get(ue.identHash);if(typeof ae>"u")throw new Error("Assertion failed: Expected the ident to be registered");oe.add(ae.range)}[...oe].every(Be=>{if(Be.startsWith(Yr.protocol)){if(!r.tryWorkspaceByLocator(Fe))return!1;Be=Be.slice(Yr.protocol.length),(Be==="^"||Be==="~")&&(Be="*")}return kc(Ne,Be)})||j.push({type:1,subject:re,requested:ue,requester:A,version:Ne,hash:pe,requirementCount:F.length})}else{let Fe=A.peerDependenciesMeta.get(O);Fe!=null&&Fe.optional||j.push({type:0,subject:re,requested:ue,requester:A,hash:pe})}}}}let $=[W=>jD(W.subject),W=>Ot(W.requested),W=>`${W.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning(0,`Some peer dependencies are incorrectly met; run ${$e(r.configuration,"yarn explain peer-requirements ",Ue.CODE)} for details, where ${$e(r.configuration,"",Ue.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let W of bn(j,$))switch(W.type){case 0:l.reportWarning(2,`${mt(r.configuration,W.subject)} doesn't provide ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}), requested by ${Ai(r.configuration,W.requester)}`);break;case 1:{let _=W.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning(60,`${mt(r.configuration,W.subject)} provides ${Ai(r.configuration,W.requested)} (${$e(r.configuration,W.hash,Ue.CODE)}) with version ${AC(r.configuration,W.version)}, which doesn't satisfy what ${Ai(r.configuration,W.requester)} ${_}`)}break}})}var Sh=class{constructor(e,t){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!M.existsSync(i),this.sendReport(t),this.startBuffer()}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,t){wc(this.values,e).add(t)}reportEnumerator(e,t){wc(this.enumerators,e).add(rn(t))}reportHit(e,t="*"){let i=pf(this.hits,e),n=Ta(i,t,()=>0);i.set(t,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return x.join(e,"telemetry.json")}sendReport(e){var u,g,f;let t=this.getRegistryPath(),i;try{i=M.readJsonSync(t)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{M.mkdirSync(x.dirname(t),{recursive:!0}),M.writeJsonSync(t,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>kR(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let C=p;C.userId=h,C.reportType="primary";for(let v of Object.keys((f=C.enumerators)!=null?f:{}))C.enumerators[v]=C.enumerators[v].length;c(C);let y=new Map,B=20;for(let[v,D]of Object.entries(C.values))D.length>0&&y.set(v,D.slice(0,B));for(;y.size>0;){let v={};v.userId=h,v.reportType="secondary",v.metrics={};for(let[D,T]of y)v.metrics[D]=T.shift(),T.length===0&&y.delete(D);c(v)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),t;try{t=M.readJsonSync(e)}catch{t={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=t.blocks=(a=t.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let C of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},B=y[C]=(u=y[C])!=null?u:{};for(let[v,D]of this.hits.get(C))B[v]=((g=B[v])!=null?g:0)+D}for(let C of["values","enumerators"])for(let y of this[C].keys()){let B=s[C]=(f=s[C])!=null?f:{};B[y]=[...new Set([...(h=B[y])!=null?h:[],...(p=this[C].get(y))!=null?p:[]])]}M.mkdirSync(x.dirname(e),{recursive:!0}),M.writeJsonSync(e,t)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var XN=J("child_process"),N$=Pe(Ac());var ZN=J("fs");var vh=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function WMe(r){let e=K.fromPortablePath(r);process.on("SIGINT",()=>{}),e?(0,XN.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}}):(0,XN.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"}})}async function $0({binaryVersion:r,pluginConfiguration:e}){async function t(){let n=new Gn({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:r});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var C,y,B,v,D;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Ie.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!vt.satisfiesWithPrereleases(s,o))throw new Qe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(K.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=K.toPortablePath(K.resolve(process.argv[1])),h=T=>M.readFilePromise(T).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!M.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{WMe(c)}catch(T){process.exitCode=T.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!N$.isCI&&process.stdout.isTTY&&(ye.telemetry=new Sh(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(C=ye.telemetry)==null||C.reportVersion(r);for(let[$,V]of l.plugins.entries()){vh.has((B=(y=$.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?B:"")&&((v=ye.telemetry)==null||v.reportPluginName($));for(let W of V.commands||[])n.register(W)}let H=n.process(process.argv.slice(2));H.help||(D=ye.telemetry)==null||D.reportCommandName(H.path.join(" "));let j=H.cwd;if(typeof j<"u"&&!g){let $=(0,ZN.realpathSync)(process.cwd()),V=(0,ZN.realpathSync)(j);if($!==V){process.chdir(j),await t();return}}await n.runExit(H,{cwd:K.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return t().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>M.rmtempPromise())}function T$(r){r.Command.Path=(...e)=>t=>{t.paths=t.paths||[],t.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])r.Command[e]=(...t)=>(i,n)=>{let s=r.Option[e](...t);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return r}var Nm={};ut(Nm,{BaseCommand:()=>De,WorkspaceRequiredError:()=>ct,getDynamicLibs:()=>zie,getPluginConfiguration:()=>Bb,main:()=>$0,openWorkspace:()=>Hh,pluginCommands:()=>vh});var De=class extends ve{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ct=class extends Qe{constructor(e,t){let i=x.relative(e,t),n=x.join(e,ot.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var $Ye=Pe(Xr());ls();var eje=Pe(VT()),zie=()=>new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",ud],["semver",$Ye],["typanion",hn],["yup",eje]]);async function Hh(r,e){let{project:t,workspace:i}=await je.find(r,e);if(!i)throw new ct(t.cwd,e);return i}var P9e=Pe(Xr());ls();var D9e=Pe(VT());var CO={};ut(CO,{dedupeUtils:()=>Nb,default:()=>g4e,suggestUtils:()=>qh});var Wae=Pe(Ac());var Lse=Pe(Km());ls();var qh={};ut(qh,{Modifier:()=>HL,Strategy:()=>Db,Target:()=>Um,WorkspaceModifier:()=>Dse,applyModifier:()=>Rse,extractDescriptorFromPath:()=>GL,extractRangeModifier:()=>kse,fetchDescriptorFrom:()=>YL,findProjectDescriptors:()=>Tse,getModifier:()=>Hm,getSuggestedDescriptors:()=>Gm,makeWorkspaceDescriptor:()=>Nse,toWorkspaceModifier:()=>Fse});var UL=Pe(Xr()),mqe="workspace:",Um=(i=>(i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies",i))(Um||{}),HL=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="",i))(HL||{}),Dse=(i=>(i.CARET="^",i.TILDE="~",i.EXACT="*",i))(Dse||{}),Db=(s=>(s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache",s))(Db||{});function Hm(r,e){return r.exact?"":r.caret?"^":r.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var Eqe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function kse(r,{project:e}){let t=r.match(Eqe);return t?t[1]:e.configuration.get("defaultSemverRangePrefix")}function Rse(r,e){let{protocol:t,source:i,params:n,selector:s}=P.parseRange(r.range);return UL.default.valid(s)&&(s=`${e}${r.range}`),P.makeDescriptor(r,P.makeRange({protocol:t,source:i,params:n,selector:s}))}function Fse(r){switch(r){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${r}"`)}}function Nse(r,e){return P.makeDescriptor(r.anchoredDescriptor,`${mqe}${Fse(e)}`)}async function Tse(r,{project:e,target:t}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(t==="peerDependencies"){let o=s.manifest.peerDependencies.get(r.identHash);o!==void 0&&n(o).locators.push(s.anchoredLocator)}else{let o=s.manifest.dependencies.get(r.identHash),a=s.manifest.devDependencies.get(r.identHash);t==="devDependencies"?a!==void 0?n(a).locators.push(s.anchoredLocator):o!==void 0&&n(o).locators.push(s.anchoredLocator):o!==void 0?n(o).locators.push(s.anchoredLocator):a!==void 0&&n(a).locators.push(s.anchoredLocator)}return i}async function GL(r,{cwd:e,workspace:t}){return await Iqe(async i=>{x.isAbsolute(r)||(r=x.relative(t.cwd,x.resolve(e,r)),r.match(/^\.{0,2}\//)||(r=`./${r}`));let{project:n}=t,s=await YL(P.makeIdent(null,"archive"),r,{project:t.project,cache:i,workspace:t});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new ti,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,t.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ot.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,r)})}async function Gm(r,{project:e,workspace:t,cache:i,target:n,modifier:s,strategies:o,maxResults:a=1/0}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(r.range!=="unknown")return{suggestions:[{descriptor:r,name:`Use ${P.prettyDescriptor(e.configuration,r)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof t<"u"&&t!==null&&t.manifest[n].get(r.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case"keep":await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case"reuse":await g(async()=>{for(let{descriptor:h,locators:p}of(await Tse(r,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===t.anchoredLocator.locatorHash&&o.includes("keep"))continue;let C=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;C+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:C})}});break;case"cache":await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===r.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await g(async()=>{if(t.manifest.name!==null&&r.identHash===t.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(r);if(h===null)return;let p=Nse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ee.pretty(e.configuration,h.relativeCwd,ee.Type.PATH)})`})});break;case"latest":await g(async()=>{if(r.range!=="unknown")c.push({descriptor:r,name:`Use ${P.prettyRange(e.configuration,r.range)}`,reason:"(explicit range requested)"});else if(n==="peerDependencies")c.push({descriptor:P.makeDescriptor(r,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ee.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await YL(r,"latest",{project:e,cache:i,workspace:t,preserveModifier:!1});h&&(h=Rse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function YL(r,e,{project:t,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(r,e),a=new ti,l=t.configuration.makeFetcher(),c=t.configuration.makeResolver(),u={project:t,fetcher:l,cache:i,checksums:t.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g={...u,resolver:c,fetchOptions:u},f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:C,source:y,params:B,selector:v}=P.parseRange(P.convertToManifestRange(p.reference));if(C===t.configuration.get("defaultProtocol")&&(C=null),UL.default.valid(v)&&s!==!1){let D=typeof s=="string"?s:o.range;v=kse(D,{project:t})+v}return P.makeDescriptor(p,P.makeRange({protocol:C,source:y,params:B,selector:v}))}async function Iqe(r){return await M.mktempPromise(async e=>{let t=ye.create(e);return t.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await r(new Rt(e,{configuration:t,check:!1,immutable:!1}))})}var Au=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=[...o?["reuse"]:[],"project",...this.cached?["cache"]:[],"latest"],c=o?1/0:1,u=await Promise.all(this.packages.map(async B=>{let v=B.match(/^\.{0,2}\//)?await GL(B,{cwd:this.context.cwd,workspace:n}):P.tryParseDescriptor(B),D=B.match(/^(https?:|git@github)/);if(D)throw new Qe(`It seems you are trying to add a package using a ${ee.pretty(t,`${D[0]}...`,xi.RANGE)} url; we now require package names to be explicitly specified. Try running the command again with the package name prefixed: ${ee.pretty(t,"yarn add",xi.CODE)} ${ee.pretty(t,P.makeDescriptor(P.makeIdent(null,"my-package"),`${D[0]}...`),xi.DESCRIPTOR)}`);if(!v)throw new Qe(`The ${ee.pretty(t,B,xi.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let T=yqe(n,v,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(T.map(async j=>{let $=await Gm(v,{project:i,workspace:n,cache:s,target:j,modifier:a,strategies:l,maxResults:c});return{request:v,suggestedDescriptors:$,target:j}}))})).then(B=>B.flat()),g=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let{request:v,suggestedDescriptors:{suggestions:D,rejections:T}}of u)if(D.filter(j=>j.descriptor!==null).length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),B.reportSeparator(),B.reportExceptionOnce(j)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[],p=[];for(let{suggestedDescriptors:{suggestions:B},target:v}of u){let D,T=B.filter(V=>V.descriptor!==null),H=T[0].descriptor,j=T.every(V=>P.areDescriptorsEqual(V.descriptor,H));T.length===1||j?D=H:(f=!0,{answer:D}=await(0,Lse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:B.map(({descriptor:V,name:W,reason:_})=>V?{name:W,hint:_,descriptor:V}:{name:W,hint:_,disabled:!0}),onCancel:()=>process.exit(130),result(V){return this.find(V,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let $=n.manifest[v].get(D.identHash);(typeof $>"u"||$.descriptorHash!==D.descriptorHash)&&(n.manifest[v].set(D.identHash,D),this.optional&&(v==="dependencies"?n.manifest.ensureDependencyMeta({...D,range:"unknown"}).optional=!0:v==="peerDependencies"&&(n.manifest.ensurePeerDependencyMeta({...D,range:"unknown"}).optional=!0)),typeof $>"u"?h.push([n,v,D,l]):p.push([n,v,$,D]))}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyAddition,h),await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),f&&this.context.stdout.write(` `),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};Au.paths=[["add"]],Au.usage=ve.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function yqe(r,e,{dev:t,peer:i,preferDev:n,optional:s}){let o=r.manifest["dependencies"].has(e.identHash),a=r.manifest["devDependencies"].has(e.identHash),l=r.manifest["peerDependencies"].has(e.identHash);if((t||i)&&o)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!t&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((t||n)&&s)throw new Qe(`Package "${P.prettyIdent(r.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let c=[];return i&&c.push("peerDependencies"),(t||n)&&c.push("devDependencies"),s&&c.push("dependencies"),c.length>0?c:a?["devDependencies"]:l?["peerDependencies"]:["dependencies"]}var lu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);if(await i.restoreInstallState(),this.name){let a=(await Wt.getPackageAccessibleBinaries(n,{project:i})).get(this.name);if(!a)throw new Qe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(t,n)}"`);let[,l]=a;return this.context.stdout.write(`${l} `),0}return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async o=>{let a=await Wt.getPackageAccessibleBinaries(n,{project:i}),c=Array.from(a.keys()).reduce((u,g)=>Math.max(u,g.length),0);for(let[u,[g,f]]of a)o.reportJson({name:u,source:P.stringifyIdent(g),path:f});if(this.verbose)for(let[u,[g]]of a)o.reportInfo(null,`${u.padEnd(c," ")} ${P.prettyLocator(t,g)}`);else for(let u of a.keys())o.reportInfo(null,u)})).exitCode()}};lu.paths=[["bin"]],lu.usage=ve.Usage({description:"get the path to a binary script",details:` When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var cu=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await O.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await O.removePromise(i.cwd)})).exitCode()}};cu.paths=[["cache","clean"],["cache","clear"]],cu.usage=ve.Usage({description:"remove the shared cache files",details:` + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var cu=class extends De{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await Rt.find(t);return(await Ge.start({configuration:t,stdout:this.context.stdout},async()=>{let s=(this.all||this.mirror)&&i.mirrorCwd!==null,o=!this.mirror;s&&(await M.removePromise(i.mirrorCwd),await t.triggerHook(a=>a.cleanGlobalArtifacts,t)),o&&await M.removePromise(i.cwd)})).exitCode()}};cu.paths=[["cache","clean"],["cache","clear"]],cu.usage=ve.Usage({description:"remove the shared cache files",details:` This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Mse=Pe(ub()),jL=J("util"),uu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new Qe(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Mse.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Ose=Pe(ub()),jL=J("util"),uu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*/,"");if(typeof t.settings.get(i)>"u")throw new Qe(`Couldn't find a configuration settings named "${i}"`);let o=t.getSpecial(i,{hideSecrets:!this.unsafe,getNativePaths:!0}),a=Ie.convertMapsToIndexableObjects(o),l=n?(0,Ose.default)(a,n):a,c=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async u=>{u.reportJson(l)});if(!this.json){if(typeof l=="string")return this.context.stdout.write(`${l} `),c.exitCode();jL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,jL.inspect)(l,{depth:1/0,colors:t.get("enableColors"),compact:!1})} `)}return c.exitCode()}};uu.paths=[["config","get"]],uu.usage=ve.Usage({description:"read a configuration settings",details:` This command will print a configuration setting. @@ -468,13 +468,13 @@ Try running the command again with the package name prefixed: ${ee.pretty(t,"yar This command will unset a configuration setting. `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var _L=J("util"),hu=class extends De{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{if(t.invalid.size>0&&!this.json){for(let[s,o]of t.invalid)n.reportError(34,`Invalid configuration key "${s}" in ${o}`);n.reportSeparator()}if(this.json){let s=Ie.sortMap(t.settings.keys(),o=>o);for(let o of s){let a=t.settings.get(o),l=t.getSpecial(o,{hideSecrets:!0,getNativePaths:!0}),c=t.sources.get(o);this.verbose?n.reportJson({key:o,effective:l,source:c}):n.reportJson({key:o,effective:l,source:c,...a})}}else{let s=Ie.sortMap(t.settings.keys(),l=>l),o=s.reduce((l,c)=>Math.max(l,c.length),0),a={breakLength:1/0,colors:t.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let l=s.map(u=>{let g=t.settings.get(u);if(!g)throw new Error(`Assertion failed: This settings ("${u}") should have been registered`);let f=this.why?t.sources.get(u)||"":g.description;return[u,f]}),c=l.reduce((u,[,g])=>Math.max(u,g.length),0);for(let[u,g]of l)n.reportInfo(null,`${u.padEnd(o," ")} ${g.padEnd(c," ")} ${(0,_L.inspect)(t.getSpecial(u,{hideSecrets:!0,getNativePaths:!0}),a)}`)}else for(let l of s)n.reportInfo(null,`${l.padEnd(o," ")} ${(0,_L.inspect)(t.getSpecial(l,{hideSecrets:!0,getNativePaths:!0}),a)}`)}})).exitCode()}};hu.paths=[["config"]],hu.usage=ve.Usage({description:"display the current configuration",details:` This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});ls();var Nb={};ut(Nb,{Strategy:()=>jm,acceptedStrategies:()=>b3e,dedupe:()=>$L});var lae=Pe(Bn()),jm=(e=>(e.HIGHEST="highest",e))(jm||{}),b3e=new Set(Object.values(jm)),Q3e={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!lae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function $L(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=Q3e[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:T,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var pu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Zi(jm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await $L(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};pu.paths=[["dedupe"]],pu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Vh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Gn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=cae()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} + `,examples:[["Print the active configuration settings","$0 config"]]});ls();var Nb={};ut(Nb,{Strategy:()=>jm,acceptedStrategies:()=>bWe,dedupe:()=>$L});var lae=Pe(Bn()),jm=(e=>(e.HIGHEST="highest",e))(jm||{}),bWe=new Set(Object.values(jm)),QWe={highest:async(r,e,{resolver:t,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of r.storedResolutions){let c=r.storedDescriptors.get(a);if(typeof c>"u")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Ie.getSetWithDefault(o,c.identHash).add(l)}return Array.from(r.storedDescriptors.values(),async a=>{if(e.length&&!lae.default.isMatch(P.stringifyIdent(a),e))return null;let l=r.storedResolutions.get(a.descriptorHash);if(typeof l>"u")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=r.originalPackages.get(l);if(typeof c>"u"||!t.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u>"u")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let B=r.originalPackages.get(y);if(typeof B>"u")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return B.reference}),f=await t.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h>"u")return null;let p=h.locatorHash,C=r.originalPackages.get(p);if(typeof C>"u")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:C}})}};async function $L(r,{strategy:e,patterns:t,cache:i,report:n}){let{configuration:s}=r,o=new ti,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:r.storedChecksums,fetcher:l,project:r,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:r,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let g=QWe[e],f=await g(r,t,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=vi.progressViaCounter(f.length);await n.reportProgress(h);let p=0;await Promise.all(f.map(B=>B.then(v=>{if(v===null)return;p++;let{descriptor:D,currentPackage:T,updatedPackage:H}=v;n.reportInfo(0,`${P.prettyDescriptor(s,D)} can be deduped from ${P.prettyLocator(s,T)} to ${P.prettyLocator(s,H)}`),n.reportJson({descriptor:P.stringifyDescriptor(D),currentResolution:P.stringifyLocator(T),updatedResolution:P.stringifyLocator(H)}),r.storedResolutions.set(D.descriptorHash,H.locatorHash)}).finally(()=>h.tick())));let C;switch(p){case 0:C="No packages";break;case 1:C="One package";break;default:C=`${p} packages`}let y=ee.pretty(s,e,ee.Type.CODE);return n.reportInfo(0,`${C} can be deduped using the ${y} strategy`),p})}var pu=class extends De{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Zi(jm)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=await Rt.find(t);await i.restoreInstallState({restoreResolutions:!1});let s=0,o=await Ge.start({configuration:t,includeFooter:!1,stdout:this.context.stdout,json:this.json},async a=>{s=await $L(i,{strategy:this.strategy,patterns:this.patterns,cache:n,report:a})});return o.hasErrors()?o.exitCode():this.check?s?1:0:(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async l=>{await i.install({cache:n,report:l,mode:this.mode})})).exitCode()}};pu.paths=[["dedupe"]],pu.usage=ve.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var Vh=class extends De{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),t=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Gn.from(a).definitions();t.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=cae()["@yarnpkg/builder"].bundles.standard;for(let o of t){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} `)}};Vh.paths=[["--clipanion=definitions"]];var Xh=class extends De{async execute(){this.context.stdout.write(this.cli.usage(null))}};Xh.paths=[["help"],["--help"],["-h"]];var qm=class extends De{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let t=x.resolve(this.context.cwd,K.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:t})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};var Zh=class extends De{async execute(){this.context.stdout.write(`${Tr||""} `)}};Zh.paths=[["-v"],["--version"]];var du=class extends De{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,locator:n}=await je.find(t,this.context.cwd);return await i.restoreInstallState(),await Wt.executePackageShellcode(n,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:i})}};du.paths=[["exec"]],du.usage=ve.Usage({description:"execute a shell script",details:` This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ls();var Cu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:od(sd(),[ad(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await v3e(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",T=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${T} ${C} to ${y}${D}`)}})).exitCode()}};Cu.paths=[["explain","peer-requirements"]],Cu.usage=ve.Usage({description:"explain a set of peer requirements",details:` + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});ls();var Cu=class extends De{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:od(sd(),[ad(/^p[0-9a-f]{5}$/)])})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return await i.restoreInstallState({restoreResolutions:!1}),await i.applyLightResolution(),typeof this.hash<"u"?await vWe(this.hash,i,{stdout:this.context.stdout}):(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{var a;let o=[([,l])=>P.stringifyLocator(i.storedPackages.get(l.subject)),([,l])=>P.stringifyIdent(l.requested)];for(let[l,c]of Ie.sortMap(i.peerRequirements,o)){let u=i.storedPackages.get(c.subject);if(typeof u>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let g=i.storedPackages.get(c.rootRequester);if(typeof g>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let f=(a=u.dependencies.get(c.requested.identHash))!=null?a:null,h=ee.pretty(t,l,ee.Type.CODE),p=P.prettyLocator(t,u),C=P.prettyIdent(t,c.requested),y=P.prettyIdent(t,g),B=c.allRequesters.length-1,v=`descendant${B===1?"":"s"}`,D=B>0?` and ${B} ${v}`:"",T=f!==null?"provides":"doesn't provide";s.reportInfo(null,`${h} \u2192 ${p} ${T} ${C} to ${y}${D}`)}})).exitCode()}};Cu.paths=[["explain","peer-requirements"]],Cu.usage=ve.Usage({description:"explain a set of peer requirements",details:` A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. @@ -482,9 +482,9 @@ Try running the command again with the package name prefixed: ${ee.pretty(t,"yar When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function v3e(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let T=e.storedPackages.get(D);if(typeof T>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(T),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:T})=>vt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:T}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,T.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:T,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(C+(T.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ls();var uae=Pe(Xr()),mu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Tr>"u")throw new Qe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await x3e(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Qe(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await O.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await eM(t,null,c,{report:a})})).exitCode()}};mu.paths=[["set","version"]],mu.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function x3e(r,e){let i=(await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Qe(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Jm(r,e){let t=await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Qe(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function eM(r,e,t,{report:i}){var h;e===null&&await O.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await O.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!uae.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: -${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await O.removePromise(x.dirname(o)),await O.mkdirPromise(x.dirname(o),{recursive:!0}),await O.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Jm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)} -`;await O.changeFilePromise(g,f,{automaticNewlines:!0})}function gae(r){return Ct[LI(r)]}var P3e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
      (?:.(?!##))+)/gs;async function D3e(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Tr)?Tr:await Jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(P3e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=gae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Eu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:od(sd(),[ad(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=gae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await D3e(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});async function vWe(r,e,t){let{configuration:i}=e,n=e.peerRequirements.get(r);if(typeof n>"u")throw new Error(`No peerDependency requirements found for hash: "${r}"`);return(await Ge.start({configuration:i,stdout:t.stdout,includeFooter:!1},async o=>{var B,v;let a=e.storedPackages.get(n.subject);if(typeof a>"u")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l>"u")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(B=a.dependencies.get(n.requested.identHash))!=null?B:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g>"u")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(D=>{let T=e.storedPackages.get(D);if(typeof T>"u")throw new Error("Assertion failed: Expected the package to be registered");let H=P.devirtualizeLocator(T),j=e.storedPackages.get(H.locatorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the package to be registered");let $=j.peerDependencies.get(n.requested.identHash);if(typeof $>"u")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:T,peerDependency:$}});if(g!==null){let D=f.every(({peerDependency:T})=>vt.satisfiesWithPrereleases(g.version,T.range));o.reportInfo(0,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(v=g.version)!=null?v:"")}, which ${D?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(0,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ee.mark(i),p=[];for(let{pkg:D,peerDependency:T}of Ie.sortMap(f,H=>P.stringifyLocator(H.pkg))){let j=(g!==null?vt.satisfiesWithPrereleases(g.version,T.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(D),prettyLocator:P.prettyLocator(i,D),prettyRange:P.prettyRange(i,T.range),mark:j})}let C=Math.max(...p.map(({stringifiedLocator:D})=>D.length)),y=Math.max(...p.map(({prettyRange:D})=>D.length));for(let{stringifiedLocator:D,prettyLocator:T,prettyRange:H,mark:j}of Ie.sortMap(p,({stringifiedLocator:$})=>$))o.reportInfo(null,`${T.padEnd(C+(T.length-D.length)," ")} \u2192 ${H.padEnd(y," ")} ${j}`);p.length>1&&(o.reportSeparator(),o.reportInfo(0,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}ls();var uae=Pe(Xr()),mu=class extends De{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){var o;let t=await ye.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&t.get("yarnPath")){let a=t.sources.get("yarnPath");if(!a)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let l=(o=t.projectCwd)!=null?o:t.startingCwd;if(x.contains(l,a))return 0}let i=()=>{if(typeof Tr>"u")throw new Qe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},n;if(this.version==="self")n=i();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")n=`https://repo.yarnpkg.com/${await Jm(t,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")n=`https://repo.yarnpkg.com/${await Jm(t,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")n="https://classic.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))n=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.version))n=`file://${K.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))n=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))n=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))n=`https://repo.yarnpkg.com/${await xWe(t,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Qe(`Invalid version descriptor "${this.version}"`);return(await Ge.start({configuration:t,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{let l="file://",c;n.startsWith(l)?(a.reportInfo(0,`Downloading ${ee.pretty(t,n,xi.URL)}`),c=await M.readFilePromise(K.toPortablePath(n.slice(l.length)))):(a.reportInfo(0,`Retrieving ${ee.pretty(t,n,xi.PATH)}`),c=await Xt.get(n,{configuration:t})),await eO(t,null,c,{report:a})})).exitCode()}};mu.paths=[["set","version"]],mu.usage=ve.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function xWe(r,e){let i=(await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Qe(`No matching release found for range ${ee.pretty(r,e,ee.Type.RANGE)}.`);return i[0]}async function Jm(r,e){let t=await Xt.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0});if(!t.latest[e])throw new Qe(`Tag ${ee.pretty(r,e,ee.Type.RANGE)} not found`);return t.latest[e]}async function eO(r,e,t,{report:i}){var h;e===null&&await M.mktempPromise(async p=>{let C=x.join(p,"yarn.cjs");await M.writeFilePromise(C,t);let{stdout:y}=await Cr.execvp(process.execPath,[K.fromPortablePath(C),"--version"],{cwd:p,env:{...process.env,YARN_IGNORE_PATH:"1"}});if(e=y.trim(),!uae.default.valid(e))throw new Error(`Invalid semver version. ${ee.pretty(r,"yarn --version",ee.Type.CODE)} returned: +${e}`)});let n=(h=r.projectCwd)!=null?h:r.startingCwd,s=x.resolve(n,".yarn/releases"),o=x.resolve(s,`yarn-${e}.cjs`),a=x.relative(r.startingCwd,o),l=x.relative(n,o);i.reportInfo(0,`Saving the new release in ${ee.pretty(r,a,"magenta")}`),await M.removePromise(x.dirname(o)),await M.mkdirPromise(x.dirname(o),{recursive:!0}),await M.writeFilePromise(o,t,{mode:493}),await ye.updateConfiguration(n,{yarnPath:l});let c=await ot.tryFind(n)||new ot;c.packageManager=`yarn@${e&&Ie.isTaggedYarnVersion(e)?e:await Jm(r,"stable")}`;let u={};c.exportTo(u);let g=x.join(n,ot.fileName),f=`${JSON.stringify(u,null,c.indent)} +`;await M.changeFilePromise(g,f,{automaticNewlines:!0})}function gae(r){return Ct[LI(r)]}var PWe=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
      (?:.(?!##))+)/gs;async function DWe(r){let t=`https://repo.yarnpkg.com/${Ie.isTaggedYarnVersion(Tr)?Tr:await Jm(r,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await Xt.get(t,{configuration:r});return new Map(Array.from(i.toString().matchAll(PWe),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=gae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var Eu=class extends De{constructor(){super(...arguments);this.code=z.String({required:!1,validator:od(sd(),[ad(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let i=gae(this.code),n=ee.pretty(t,i,ee.Type.CODE),s=this.cli.format().header(`${this.code} - ${n}`),a=(await DWe(t)).get(this.code),l=typeof a<"u"?ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.MARKDOWN,{text:a,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. You can help us by editing this page on GitHub \u{1F642}: ${ee.jsonOrPretty(this.json,t,ee.tuple(ee.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} @@ -496,7 +496,7 @@ ${l} When the code argument is specified, this command prints its name and its details. When used without arguments, this command lists all error codes and their names. - `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var fae=Pe(Bn()),Iu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(T,{recursive:H})=>{let j=T.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let Ae=i.storedResolutions.get(A.descriptorHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(Ae)}}return $.values()},l=({recursive:T})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:T}))H.set($.locatorHash,$);return H.values()},c=({all:T,recursive:H})=>T&&H?i.storedPackages.values():T?l({recursive:H}):a(n,{recursive:H}),u=({all:T,recursive:H})=>{let j=c({all:T,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),Ae=fae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return M=>{let F=P.stringifyIdent(M);if(!Ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(M),pe=ue?P.devirtualizeLocator(M):M;return!(ge&&ue&&A.reference!==M.reference||re.reference!==pe.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new Qe("No package matched your request");let h=new Map;if(this.dependents)for(let T of f)for(let H of T.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(T)}let p=new Map;for(let T of f){if(!P.isVirtualLocator(T))continue;let H=P.devirtualizeLocator(T);Ie.getArrayWithDefault(p,H.locatorHash).push(T)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(T,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(T,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(T,H,j)=>{var Ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(Ae=i.storedChecksums.get(T.locatorHash))!=null?Ae:null,W=s.getLocatorPath(T,V,$),_;if(W!==null)try{_=O.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let T of g){let H=P.isVirtualLocator(T);if(!this.virtuals&&H)continue;let j={},$={value:[T,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(T)]=$,this.nameOnly){delete $.children;continue}let V=p.get(T.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,T.version)};let W=(A,Ae)=>{let ge={};if(j[A]=ge,Array.isArray(Ae))ge.children=Ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[M,F]of Object.entries(Ae))typeof F>"u"||(re[M]={label:M,value:F})}};if(!H){for(let A of D)await A(T,o,W);await t.triggerHook(A=>A.fetchPackageInfo,T,o,W)}T.bin.size>0&&!H&&W("Exported Binaries",[...T.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let _=h.get(T.locatorHash);typeof _<"u"&&_.length>0&&W("Dependents",_.map(A=>ee.tuple(ee.Type.LOCATOR,A))),T.dependencies.size>0&&!H&&W("Dependencies",[...T.dependencies.values()].map(A=>{var re;let Ae=i.storedResolutions.get(A.descriptorHash),ge=typeof Ae<"u"&&(re=i.storedPackages.get(Ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),T.peerDependencies.size>0&&H&&W("Peer dependencies",[...T.peerDependencies.values()].map(A=>{var M,F;let Ae=T.dependencies.get(A.identHash),ge=typeof Ae<"u"&&(M=i.storedResolutions.get(Ae.descriptorHash))!=null?M:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}es.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Iu.paths=[["info"]],Iu.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Tb=Pe(Ac());ls();var yu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!Tb.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new Qe(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await N3e(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await O.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};yu.paths=[["install"],ve.Default],yu.usage=ve.Usage({description:"install the project dependencies",details:` + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var fae=Pe(Bn()),Iu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n&&!this.all)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=new Set(this.extra);this.cache&&o.add("cache"),this.dependents&&o.add("dependents"),this.manifest&&o.add("manifest");let a=(T,{recursive:H})=>{let j=T.anchoredLocator.locatorHash,$=new Map,V=[j];for(;V.length>0;){let W=V.shift();if($.has(W))continue;let _=i.storedPackages.get(W);if(typeof _>"u")throw new Error("Assertion failed: Expected the package to be registered");if($.set(W,_),P.isVirtualLocator(_)&&V.push(P.devirtualizeLocator(_).locatorHash),!(!H&&W!==j))for(let A of _.dependencies.values()){let Ae=i.storedResolutions.get(A.descriptorHash);if(typeof Ae>"u")throw new Error("Assertion failed: Expected the resolution to be registered");V.push(Ae)}}return $.values()},l=({recursive:T})=>{let H=new Map;for(let j of i.workspaces)for(let $ of a(j,{recursive:T}))H.set($.locatorHash,$);return H.values()},c=({all:T,recursive:H})=>T&&H?i.storedPackages.values():T?l({recursive:H}):a(n,{recursive:H}),u=({all:T,recursive:H})=>{let j=c({all:T,recursive:H}),$=this.patterns.map(_=>{let A=P.parseLocator(_),Ae=fae.default.makeRe(P.stringifyIdent(A)),ge=P.isVirtualLocator(A),re=ge?P.devirtualizeLocator(A):A;return O=>{let F=P.stringifyIdent(O);if(!Ae.test(F))return!1;if(A.reference==="unknown")return!0;let ue=P.isVirtualLocator(O),pe=ue?P.devirtualizeLocator(O):O;return!(ge&&ue&&A.reference!==O.reference||re.reference!==pe.reference)}}),V=Ie.sortMap([...j],_=>P.stringifyLocator(_));return{selection:V.filter(_=>$.length===0||$.some(A=>A(_))),sortedLookup:V}},{selection:g,sortedLookup:f}=u({all:this.all,recursive:this.recursive});if(g.length===0)throw new Qe("No package matched your request");let h=new Map;if(this.dependents)for(let T of f)for(let H of T.dependencies.values()){let j=i.storedResolutions.get(H.descriptorHash);if(typeof j>"u")throw new Error("Assertion failed: Expected the resolution to be registered");Ie.getArrayWithDefault(h,j).push(T)}let p=new Map;for(let T of f){if(!P.isVirtualLocator(T))continue;let H=P.devirtualizeLocator(T);Ie.getArrayWithDefault(p,H.locatorHash).push(T)}let C={},y={children:C},B=t.makeFetcher(),v={project:i,fetcher:B,cache:s,checksums:i.storedChecksums,report:new ti,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},D=[async(T,H,j)=>{var W,_;if(!H.has("manifest"))return;let $=await B.fetch(T,v),V;try{V=await ot.find($.prefixPath,{baseFs:$.packageFs})}finally{(W=$.releaseFs)==null||W.call($)}j("Manifest",{License:ee.tuple(ee.Type.NO_HINT,V.license),Homepage:ee.tuple(ee.Type.URL,(_=V.raw.homepage)!=null?_:null)})},async(T,H,j)=>{var Ae;if(!H.has("cache"))return;let $={mockedPackages:i.disabledLocators,unstablePackages:i.conditionalLocators},V=(Ae=i.storedChecksums.get(T.locatorHash))!=null?Ae:null,W=s.getLocatorPath(T,V,$),_;if(W!==null)try{_=M.statSync(W)}catch{}let A=typeof _<"u"?[_.size,ee.Type.SIZE]:void 0;j("Cache",{Checksum:ee.tuple(ee.Type.NO_HINT,V),Path:ee.tuple(ee.Type.PATH,W),Size:A})}];for(let T of g){let H=P.isVirtualLocator(T);if(!this.virtuals&&H)continue;let j={},$={value:[T,ee.Type.LOCATOR],children:j};if(C[P.stringifyLocator(T)]=$,this.nameOnly){delete $.children;continue}let V=p.get(T.locatorHash);typeof V<"u"&&(j.Instances={label:"Instances",value:ee.tuple(ee.Type.NUMBER,V.length)}),j.Version={label:"Version",value:ee.tuple(ee.Type.NO_HINT,T.version)};let W=(A,Ae)=>{let ge={};if(j[A]=ge,Array.isArray(Ae))ge.children=Ae.map(re=>({value:re}));else{let re={};ge.children=re;for(let[O,F]of Object.entries(Ae))typeof F>"u"||(re[O]={label:O,value:F})}};if(!H){for(let A of D)await A(T,o,W);await t.triggerHook(A=>A.fetchPackageInfo,T,o,W)}T.bin.size>0&&!H&&W("Exported Binaries",[...T.bin.keys()].map(A=>ee.tuple(ee.Type.PATH,A)));let _=h.get(T.locatorHash);typeof _<"u"&&_.length>0&&W("Dependents",_.map(A=>ee.tuple(ee.Type.LOCATOR,A))),T.dependencies.size>0&&!H&&W("Dependencies",[...T.dependencies.values()].map(A=>{var re;let Ae=i.storedResolutions.get(A.descriptorHash),ge=typeof Ae<"u"&&(re=i.storedPackages.get(Ae))!=null?re:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:ge})})),T.peerDependencies.size>0&&H&&W("Peer dependencies",[...T.peerDependencies.values()].map(A=>{var O,F;let Ae=T.dependencies.get(A.identHash),ge=typeof Ae<"u"&&(O=i.storedResolutions.get(Ae.descriptorHash))!=null?O:null,re=ge!==null&&(F=i.storedPackages.get(ge))!=null?F:null;return ee.tuple(ee.Type.RESOLUTION,{descriptor:A,locator:re})}))}es.emitTree(y,{configuration:t,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Iu.paths=[["info"]],Iu.usage=ve.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Tb=Pe(Ac());ls();var yu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var f;let t=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&t.useWithSource("",{enableInlineBuilds:this.inlineBuilds},t.startingCwd,{overwrite:!0});let i=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,n=async(h,{error:p})=>{let C=await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async y=>{p?y.reportError(50,h):y.reportWarning(50,h)});return C.hasErrors()?C.exitCode():null};if(typeof this.ignoreEngines<"u"){let h=await n("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.registry<"u"){let h=await n("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(h!==null)return h}if(typeof this.preferOffline<"u"){let h=await n("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!Tb.default.VERCEL});if(h!==null)return h}if(typeof this.production<"u"){let h=await n("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(h!==null)return h}if(typeof this.nonInteractive<"u"){let h=await n("The --non-interactive option is deprecated",{error:!i});if(h!==null)return h}if(typeof this.frozenLockfile<"u"&&(await n("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder<"u"){let h=await n("The cache-folder option has been deprecated; use rc settings instead",{error:!Tb.default.NETLIFY});if(h!==null)return h}let s=this.mode==="update-lockfile";if(s&&(this.immutable||this.immutableCache))throw new Qe(`${ee.pretty(t,"--immutable",ee.Type.CODE)} and ${ee.pretty(t,"--immutable-cache",ee.Type.CODE)} cannot be used with ${ee.pretty(t,"--mode=update-lockfile",ee.Type.CODE)}`);let o=((f=this.immutable)!=null?f:t.get("enableImmutableInstalls"))&&!s,a=this.immutableCache&&!s;if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{await NWe(t,o)&&(p.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}if(t.projectCwd!==null&&typeof t.sources.get("nodeLinker")>"u"){let h=t.projectCwd,p;try{p=await M.readFilePromise(x.join(h,xt.lockfile),"utf8")}catch{}if(p!=null&&p.includes("yarn lockfile v1")){let C=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async y=>{y.reportInfo(70,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),y.reportSeparator(),t.use("",{nodeLinker:"node-modules"},h,{overwrite:!0}),await ye.updateConfiguration(h,{nodeLinker:"node-modules"})});if(C.hasErrors())return C.exitCode()}}if(t.projectCwd!==null){let h=await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeFooter:!1},async p=>{var C;(C=ye.telemetry)!=null&&C.isNew&&(p.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),p.reportInfo(65,`Run ${ee.pretty(t,"yarn config set --home enableTelemetry 0",ee.Type.CODE)} to disable`),p.reportSeparator())});if(h.hasErrors())return h.exitCode()}let{project:l,workspace:c}=await je.find(t,this.context.cwd),u=await Rt.find(t,{immutable:a,check:this.checkCache});if(!c)throw new ct(l.cwd,this.context.cwd);return await l.restoreInstallState({restoreResolutions:!1}),(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async h=>{await l.install({cache:u,report:h,immutable:o,mode:this.mode})})).exitCode()}};yu.paths=[["install"],ve.Default],yu.usage=ve.Usage({description:"install the project dependencies",details:` This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). @@ -522,18 +522,18 @@ ${l} - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var k3e="|||||||",R3e=">>>>>>>",F3e="=======",hae="<<<<<<<";async function N3e(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await O.existsPromise(t))return!1;let i=await O.readFilePromise(t,"utf8");if(!i.includes(hae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=T3e(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await O.changeFilePromise(t,ba(l),{automaticNewlines:!0}),!0}function T3e(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(hae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===F3e){i=!1;break}else if(i||s.startsWith(k3e)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(R3e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var kWe="|||||||",RWe=">>>>>>>",FWe="=======",hae="<<<<<<<";async function NWe(r,e){if(!r.projectCwd)return!1;let t=x.join(r.projectCwd,r.get("lockfileFilename"));if(!await M.existsPromise(t))return!1;let i=await M.readFilePromise(t,"utf8");if(!i.includes(hae))return!1;if(e)throw new at(47,"Cannot autofix a lockfile when running an immutable install");let[n,s]=TWe(i),o,a;try{o=yi(n),a=yi(s)}catch{throw new at(46,"The individual variants of the lockfile failed to parse")}let l={...o,...a};for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await M.changeFilePromise(t,ba(l),{automaticNewlines:!0}),!0}function TWe(r){let e=[[],[]],t=r.split(/\r?\n/g),i=!1;for(;t.length>0;){let n=t.shift();if(typeof n>"u")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(hae)){for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s===FWe){i=!1;break}else if(i||s.startsWith(kWe)){i=!0;continue}else e[0].push(s)}for(;t.length>0;){let s=t.shift();if(typeof s>"u")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(RWe))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` `),e[1].join(` `)]}var wu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=x.resolve(this.context.cwd,K.toPortablePath(this.destination)),a=await ye.find(o,this.context.plugins,{useRc:!1,strict:!1}),{project:l,workspace:c}=await je.find(a,o);if(i.cwd===l.cwd)throw new Qe("Invalid destination; Can't link the project to itself");if(!c)throw new ct(l.cwd,o);let u=i.topLevelWorkspace,g=[];if(this.all){for(let h of l.workspaces)h.manifest.name&&(!h.manifest.private||this.private)&&g.push(h);if(g.length===0)throw new Qe("No workspace found to be linked in the target project")}else{if(!c.manifest.name)throw new Qe("The target workspace doesn't have a name and thus cannot be linked");if(c.manifest.private&&!this.private)throw new Qe("The target workspace is marked private - use the --private flag to link it anyway");g.push(c)}for(let h of g){let p=P.stringifyIdent(h.locator),C=this.relative?x.relative(i.cwd,h.cwd):h.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:p}},reference:`portal:${C}`})}return(await Ge.start({configuration:t,stdout:this.context.stdout},async h=>{await i.install({cache:s,report:h})})).exitCode()}};wu.paths=[["link"]],wu.usage=ve.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Bu=class extends De{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Bu.paths=[["node"]],Bu.usage=ve.Usage({description:"run node with the hook already setup",details:` This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Iae=J("os");var pae=J("os");var L3e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Qu(r){let e=await Xt.get(L3e,{configuration:r});return yi(e.toString())}var bu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await Qu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};bu.paths=[["plugin","list"]],bu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var M3e=/^[0-9]+$/;function dae(r){return M3e.test(r)?`pull/${r}/head`:r}var O3e=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",dae(e)],["git","reset","--hard","FETCH_HEAD"]],K3e=({branch:r})=>[["git","fetch","origin","--depth=1",dae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],U3e=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],Su=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,pae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await tM(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Wm(U3e(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await O.readFilePromise(a);await eM(t,"sources",l,{report:o}),this.skipPlugins||await H3e(this,{project:i,report:o,target:n})})).exitCode()}};Su.paths=[["set","version","from","sources"]],Su.usage=ve.Usage({description:"build Yarn from master",details:` + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Iae=J("os");var pae=J("os");var LWe="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Qu(r){let e=await Xt.get(LWe,{configuration:r});return yi(e.toString())}var bu=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async n=>{let s=await Qu(t);for(let[o,{experimental:a,...l}]of Object.entries(s)){let c=o;a&&(c+=" [experimental]"),n.reportJson({name:o,experimental:a,...l}),n.reportInfo(null,c)}})).exitCode()}};bu.paths=[["plugin","list"]],bu.usage=ve.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var OWe=/^[0-9]+$/;function dae(r){return OWe.test(r)?`pull/${r}/head`:r}var MWe=({repository:r,branch:e},t)=>[["git","init",K.fromPortablePath(t)],["git","remote","add","origin",r],["git","fetch","origin","--depth=1",dae(e)],["git","reset","--hard","FETCH_HEAD"]],KWe=({branch:r})=>[["git","fetch","origin","--depth=1",dae(r),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],UWe=({plugins:r,noMinify:e},t)=>[["yarn","build:cli",...new Array().concat(...r.map(i=>["--plugin",x.resolve(t,i)])),...e?["--no-minify"]:[],"|"]],Su=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,pae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async o=>{await tO(this,{configuration:t,report:o,target:n}),o.reportSeparator(),o.reportInfo(0,"Building a fresh bundle"),o.reportSeparator(),await Wm(UWe(this,n),{configuration:t,context:this.context,target:n}),o.reportSeparator();let a=x.resolve(n,"packages/yarnpkg-cli/bundles/yarn.js"),l=await M.readFilePromise(a);await eO(t,"sources",l,{report:o}),this.skipPlugins||await HWe(this,{project:i,report:o,target:n})})).exitCode()}};Su.paths=[["set","version","from","sources"]],Su.usage=ve.Usage({description:"build Yarn from master",details:` This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function Wm(r,{configuration:e,context:t,target:i}){for(let[n,...s]of r){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Cr.pipevp(n,s,{cwd:i,stdin:t.stdin,stdout:t.stdout,stderr:t.stderr,strict:!0});else{t.stdout.write(`${ee.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function tM(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&O.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Wm(K3e(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await O.removePromise(i),await O.mkdirPromise(i,{recursive:!0}),await Wm(O3e(r,i),{configuration:e,context:r.context,target:i}))}async function H3e(r,{project:e,report:t,target:i}){let n=await Qu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await rM(o,r,{project:e,report:t,target:i})}var Cae=Pe(Xr()),mae=J("url"),Eae=J("vm");var vu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await O.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new mae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!Cae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await Qu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Tr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Tr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await iM(o,a,{project:s,report:n})})).exitCode()}};vu.paths=[["plugin","import"]],vu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` +`);try{await Cr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw t.stdout.write(a.stdout||a.stack),a}}}}async function tO(r,{configuration:e,report:t,target:i}){let n=!1;if(!r.force&&M.existsSync(x.join(i,".git"))){t.reportInfo(0,"Fetching the latest commits"),t.reportSeparator();try{await Wm(KWe(r),{configuration:e,context:r.context,target:i}),n=!0}catch{t.reportSeparator(),t.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}n||(t.reportInfo(0,"Cloning the remote repository"),t.reportSeparator(),await M.removePromise(i),await M.mkdirPromise(i,{recursive:!0}),await Wm(MWe(r,i),{configuration:e,context:r.context,target:i}))}async function HWe(r,{project:e,report:t,target:i}){let n=await Qu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await rO(o,r,{project:e,report:t,target:i})}var Cae=Pe(Xr()),mae=J("url"),Eae=J("vm");var vu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins);return(await Ge.start({configuration:t,stdout:this.context.stdout},async n=>{let{project:s}=await je.find(t,this.context.cwd),o,a;if(this.name.match(/^\.{0,2}[\\/]/)||K.isAbsolute(this.name)){let l=x.resolve(this.context.cwd,K.toPortablePath(this.name));n.reportInfo(0,`Reading ${ee.pretty(t,l,ee.Type.PATH)}`),o=x.relative(s.cwd,l),a=await M.readFilePromise(l)}else{let l;if(this.name.match(/^https?:/)){try{new mae.URL(this.name)}catch{throw new at(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}o=this.name,l=this.name}else{let c=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(c.reference!=="unknown"&&!Cae.default.valid(c.reference))throw new at(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let u=P.stringifyIdent(c),g=await Qu(t);if(!Object.prototype.hasOwnProperty.call(g,u))throw new at(51,`Couldn't find a plugin named "${u}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);o=u,l=g[u].url,c.reference!=="unknown"?l=l.replace(/\/master\//,`/${u}/${c.reference}/`):Tr!==null&&(l=l.replace(/\/master\//,`/@yarnpkg/cli/${Tr}/`))}n.reportInfo(0,`Downloading ${ee.pretty(t,l,"green")}`),a=await Xt.get(l,{configuration:t})}await iO(o,a,{project:s,report:n})})).exitCode()}};vu.paths=[["plugin","import"]],vu.usage=ve.Usage({category:"Plugin-related commands",description:"download a plugin",details:` This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. Three types of plugin references are accepted: @@ -543,11 +543,11 @@ ${l} - Local plugins can be referenced by their path on the disk. Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function iM(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Eae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await O.mkdirPromise(x.dirname(c),{recursive:!0}),await O.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var G3e=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],xu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Iae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await Qu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await tM(this,{configuration:t,report:s,target:i}),await rM(u,this,{project:o,report:s,target:i})})).exitCode()}};xu.paths=[["plugin","import","from","sources"]],xu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function iO(r,e,{project:t,report:i}){let{configuration:n}=t,s={},o={exports:s};(0,Eae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=x.resolve(t.cwd,l);i.reportInfo(0,`Saving the new plugin in ${ee.pretty(n,l,"magenta")}`),await M.mkdirPromise(x.dirname(c),{recursive:!0}),await M.writeFilePromise(c,e);let u={path:l,spec:r};await ye.updateConfiguration(t.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let C=typeof p!="string"?p.path:p,y=x.resolve(t.cwd,K.toPortablePath(C)),{name:B}=Ie.dynamicRequire(y);B!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),{...g,plugins:f}})}var GWe=({pluginName:r,noMinify:e},t)=>[["yarn",`build:${r}`,...e?["--no-minify"]:[],"|"]],xu=class extends De{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.installPath<"u"?x.resolve(this.context.cwd,K.toPortablePath(this.installPath)):x.resolve(K.toPortablePath((0,Iae.tmpdir)()),"yarnpkg-sources",li.makeHash(this.repository).slice(0,6));return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let{project:o}=await je.find(t,this.context.cwd),a=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),l=P.stringifyIdent(a),c=await Qu(t);if(!Object.prototype.hasOwnProperty.call(c,l))throw new at(51,`Couldn't find a plugin named "${l}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let u=l;await tO(this,{configuration:t,report:s,target:i}),await rO(u,this,{project:o,report:s,target:i})})).exitCode()}};xu.paths=[["plugin","import","from","sources"]],xu.usage=ve.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function rM(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Wm(G3e({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await O.readFilePromise(l);await iM(r,c,{project:i,report:n})}var Pu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new Qe(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);O.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await O.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};Pu.paths=[["plugin","remove"]],Pu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function rO(r,{context:e,noMinify:t},{project:i,report:n,target:s}){let o=r.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(0,`Building a fresh ${o}`),n.reportSeparator(),await Wm(GWe({pluginName:o,noMinify:t},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=x.resolve(s,`packages/${o}/bundles/${r}.js`),c=await M.readFilePromise(l);await iO(r,c,{project:i,report:n})}var Pu=class extends De{constructor(){super(...arguments);this.name=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{let o=this.name,a=P.parseIdent(o);if(!t.plugins.has(o))throw new Qe(`${P.prettyIdent(t,a)} isn't referenced by the current configuration`);let l=`.yarn/plugins/${o}.cjs`,c=x.resolve(i.cwd,l);M.existsSync(c)&&(s.reportInfo(0,`Removing ${ee.pretty(t,l,ee.Type.PATH)}...`),await M.removePromise(c)),s.reportInfo(0,"Updating the configuration..."),await ye.updateConfiguration(i.cwd,u=>{if(!Array.isArray(u.plugins))return u;let g=u.plugins.filter(f=>f.path!==l);return u.plugins.length===g.length?u:{...u,plugins:g}})})).exitCode()}};Pu.paths=[["plugin","remove"]],Pu.usage=ve.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. @@ -559,7 +559,7 @@ ${l} Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var nM=Pe(Bn());ls();var Ru=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,nM.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let T=B.manifest.getForScope(D),H=[...T.values()].map(j=>P.stringifyIdent(j));for(let j of(0,nM.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=T.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new Qe(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};Ru.paths=[["remove"]],Ru.usage=ve.Usage({description:"remove dependencies from the project",details:` + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var nO=Pe(Bn());ls();var Ru=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=this.all?i.workspaces:[n],a=["dependencies","devDependencies","peerDependencies"],l=[],c=!1,u=[];for(let p of this.patterns){let C=!1,y=P.parseIdent(p);for(let B of o){let v=[...B.manifest.peerDependenciesMeta.keys()];for(let D of(0,nO.default)(v,p))B.manifest.peerDependenciesMeta.delete(D),c=!0,C=!0;for(let D of a){let T=B.manifest.getForScope(D),H=[...T.values()].map(j=>P.stringifyIdent(j));for(let j of(0,nO.default)(H,P.stringifyIdent(y))){let{identHash:$}=P.parseIdent(j),V=T.get($);if(typeof V>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");B.manifest[D].delete($),u.push([B,D,V]),c=!0,C=!0}}}C||l.push(p)}let g=l.length>1?"Patterns":"Pattern",f=l.length>1?"don't":"doesn't",h=this.all?"any":"this";if(l.length>0)throw new Qe(`${g} ${ee.prettyList(t,l,xi.CODE)} ${f} match any packages referenced by ${h} workspace`);return c?(await t.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,u),(await Ge.start({configuration:t,stdout:this.context.stdout},async C=>{await i.install({cache:s,report:C,mode:this.mode})})).exitCode()):0}};Ru.paths=[["remove"]],Ru.usage=ve.Usage({description:"remove dependencies from the project",details:` This command will remove the packages matching the specified patterns from the current workspace. If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: @@ -581,46 +581,46 @@ ${l} Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var Nu=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(await i.restoreInstallState({restoreResolutions:!1}),!n)throw new ct(i.cwd,this.context.cwd);let o=P.parseDescriptor(this.descriptor,!0),a=P.makeDescriptor(o,this.resolution);return i.storedDescriptors.set(o.descriptorHash,o),i.storedDescriptors.set(a.descriptorHash,a),i.resolutionAliases.set(o.descriptorHash,a.descriptorHash),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Nu.paths=[["set","resolution"]],Nu.usage=ve.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var wae=Pe(Bn()),Tu=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);let o=i.topLevelWorkspace,a=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:c,reference:u}of o.manifest.resolutions)u.startsWith("portal:")&&a.add(c.descriptor.fullName);if(this.leadingArguments.length>0)for(let c of this.leadingArguments){let u=x.resolve(this.context.cwd,K.toPortablePath(c));if(Ie.isPathLike(c)){let g=await ye.find(u,this.context.plugins,{useRc:!1,strict:!1}),{project:f,workspace:h}=await je.find(g,u);if(!h)throw new ct(f.cwd,u);if(this.all){for(let p of f.workspaces)p.manifest.name&&a.add(P.stringifyIdent(p.locator));if(a.size===0)throw new Qe("No workspace found to be unlinked in the target project")}else{if(!h.manifest.name)throw new Qe("The target workspace doesn't have a name and thus cannot be unlinked");a.add(P.stringifyIdent(h.locator))}}else{let g=[...o.manifest.resolutions.map(({pattern:f})=>f.descriptor.fullName)];for(let f of(0,wae.default)(g,c))a.add(f)}}return o.manifest.resolutions=o.manifest.resolutions.filter(({pattern:c})=>!a.has(c.descriptor.fullName)),(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{await i.install({cache:s,report:c})})).exitCode()}};Tu.paths=[["unlink"]],Tu.usage=ve.Usage({description:"disconnect the local project from another one",details:` This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Bae=Pe(Km()),sM=Pe(Bn());ls();var El=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new Qe("Ranges aren't allowed when using --recursive");for(let f of(0,sM.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let T of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...T.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,sM.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=T.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[T,H,_,await Gm(A,{project:i,workspace:T,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new Qe(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new Qe(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:T}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Bae=Pe(Km()),sO=Pe(Bn());ls();var El=class extends De{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:Zi(ts)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=[...i.storedDescriptors.values()],a=o.map(g=>P.stringifyIdent(g)),l=new Set;for(let g of this.patterns){if(P.parseDescriptor(g).range!=="unknown")throw new Qe("Ranges aren't allowed when using --recursive");for(let f of(0,sO.default)(a,g)){let h=P.parseIdent(f);l.add(h.identHash)}}let c=o.filter(g=>l.has(g.identHash));for(let g of c)i.storedDescriptors.delete(g.descriptorHash),i.storedResolutions.delete(g.descriptorHash);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{await i.install({cache:s,report:g})})).exitCode()}async executeUpClassic(){var y;let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState({restoreResolutions:!1});let o=(y=this.interactive)!=null?y:t.get("preferInteractive"),a=Hm(this,i),l=o?["keep","reuse","project","latest"]:["project","latest"],c=[],u=[];for(let B of this.patterns){let v=!1,D=P.parseDescriptor(B);for(let T of i.workspaces)for(let H of["dependencies","devDependencies"]){let $=[...T.manifest.getForScope(H).values()].map(V=>P.stringifyIdent(V));for(let V of(0,sO.default)($,P.stringifyIdent(D))){let W=P.parseIdent(V),_=T.manifest[H].get(W.identHash);if(typeof _>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=P.makeDescriptor(W,D.range);c.push(Promise.resolve().then(async()=>[T,H,_,await Gm(A,{project:i,workspace:T,cache:s,target:H,modifier:a,strategies:l})])),v=!0}}v||u.push(B)}if(u.length>1)throw new Qe(`Patterns ${ee.prettyList(t,u,xi.CODE)} don't match any packages referenced by any workspace`);if(u.length>0)throw new Qe(`Pattern ${ee.prettyList(t,u,xi.CODE)} doesn't match any packages referenced by any workspace`);let g=await Promise.all(c),f=await ra.start({configuration:t,stdout:this.context.stdout,suggestInstall:!1},async B=>{for(let[,,v,{suggestions:D,rejections:T}]of g){let H=D.filter(j=>j.descriptor!==null);if(H.length===0){let[j]=T;if(typeof j>"u")throw new Error("Assertion failed: Expected an error to have been set");let $=this.cli.error(j);i.configuration.get("enableNetwork")?B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range ${$}`):B.reportError(27,`${P.prettyDescriptor(t,v)} can't be resolved to a satisfying range (note: network resolution has been disabled) ${$}`)}else H.length>1&&!o&&B.reportError(27,`${P.prettyDescriptor(t,v)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(f.hasErrors())return f.exitCode();let h=!1,p=[];for(let[B,v,,{suggestions:D}]of g){let T,H=D.filter(W=>W.descriptor!==null),j=H[0].descriptor,$=H.every(W=>P.areDescriptorsEqual(W.descriptor,j));H.length===1||$?T=j:(h=!0,{answer:T}=await(0,Bae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(t,B)} \u276F ${v}?`,choices:D.map(({descriptor:W,name:_,reason:A})=>W?{name:_,hint:A,descriptor:W}:{name:_,hint:A,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let V=B.manifest[v].get(T.identHash);if(typeof V>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(V.descriptorHash!==T.descriptorHash)B.manifest[v].set(T.identHash,T),p.push([B,v,V,T]);else{let W=t.makeResolver(),_={project:i,resolver:W},A=W.bindDescriptor(V,B.anchoredLocator,_);i.forgetResolution(A)}}return await t.triggerMultipleHooks(B=>B.afterWorkspaceDependencyReplacement,p),h&&this.context.stdout.write(` -`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};El.paths=[["up"]],El.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),El.schema=[av("recursive",lc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Lu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?j3e(i,s,{configuration:t,peers:this.peers}):Y3e(i,s,{configuration:t,peers:this.peers});es.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Lu.paths=[["why"]],Lu.usage=ve.Usage({description:"display the reason why a package is needed",details:` +`),(await Ge.start({configuration:t,stdout:this.context.stdout},async B=>{await i.install({cache:s,report:B,mode:this.mode})})).exitCode()}};El.paths=[["up"]],El.usage=ve.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),El.schema=[av("recursive",lc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var Lu=class extends De{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=P.parseIdent(this.package).identHash,o=this.recursive?jWe(i,s,{configuration:t,peers:this.peers}):YWe(i,s,{configuration:t,peers:this.peers});es.emitTree(o,{configuration:t,stdout:this.context.stdout,json:this.json,separators:1})}};Lu.paths=[["why"]],Lu.usage=ve.Usage({description:"display the reason why a package is needed",details:` This command prints the exact reasons why a package appears in the dependency tree. If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function Y3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function j3e(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let T=r.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var dM={};ut(dM,{default:()=>c4e,gitUtils:()=>AA});var AA={};ut(AA,{TreeishProtocols:()=>Lb,clone:()=>pM,fetchBase:()=>qae,fetchChangedFiles:()=>Jae,fetchChangedWorkspaces:()=>A4e,fetchRoot:()=>jae,isGitUrl:()=>ep,lsRemote:()=>Yae,normalizeLocator:()=>fM,normalizeRepoUrl:()=>Vm,resolveUrl:()=>hM,splitRepoUrl:()=>zm});var gM=Pe(Mae()),Hae=Pe(PB()),$h=Pe(J("querystring")),cM=Pe(Xr());var Kae=J("url");function lM(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Oae(r){try{return new Kae.URL(r)}catch{return}}function o4e(r){let e=lM(r,"@","#"),t=lM(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),lM(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Uae(r){return Oae(r)||Oae(o4e(r))}function Gae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var a4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Lb=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(Lb||{});function ep(r){return r?a4e.some(e=>!!r.match(e)):!1}function zm(r){r=Vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=$h.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Lb).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(Lb))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Vm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Uae(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function fM(r){return P.makeLocator(r,Vm(r.reference))}async function Yae(r,e){let t=Vm(r,{git:!0});if(!Xt.getNetworkSettings(`https://${(0,gM.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await uM("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Gae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function hM(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=zm(r),o=await Yae(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return $h.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return $h.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return $h.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[cM.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=cM.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return $h.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function pM(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=zm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Vm(t,{git:!0});if(Xt.getNetworkSettings(`https://${(0,gM.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await O.mktempPromise(),a={cwd:o,env:Gae()};return await uM("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await uM("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function jae(r){let e=null,t,i=r;do t=i,await O.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function qae(r,{baseRefs:e}){if(e.length===0)throw new Qe("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Qe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function Jae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function A4e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Qe("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await jae(e.configuration.projectCwd);if(i==null)throw new Qe("This command can only be run on Git repositories");let n=await qae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await Jae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function uM(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Hae.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var Mb=class{supports(e,t){return ep(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=fM(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await pM(e.reference,t.project.configuration),n=zm(e.reference),s=x.join(i,"package.tgz");await Wt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await O.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var Ob=class{supportsDescriptor(e,t){return ep(e.range)}supportsLocator(e,t){return ep(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await hM(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var l4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[Mb],resolvers:[Ob]};var c4e=l4e;var Mu=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await AA.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Mu.paths=[["workspaces","list"]],Mu.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Ou=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new Qe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function YWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={};for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=r.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=r.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;{let p=P.stringifyLocator(a);s[p]={value:[a,ee.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ee.Type.DEPENDENT]}}}return o}function jWe(r,e,{configuration:t,peers:i}){let n=Ie.sortMap(r.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let C=r.storedResolutions.get(p.descriptorHash);if(!C)throw new Error("Assertion failed: The resolution should have been registered");let y=r.storedPackages.get(C);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let C=p!==null?ee.tuple(ee.Type.DEPENDENT,{locator:f,descriptor:p}):ee.tuple(ee.Type.LOCATOR,f),y={},B={value:C,children:y},v=P.stringifyLocator(f);if(h[v]=B,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&r.tryWorkspaceByLocator(f))))for(let D of f.dependencies.values()){if(!i&&f.peerDependencies.has(D.identHash))continue;let T=r.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=r.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");g(H,y,D)}};for(let f of n){let h=r.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var dO={};ut(dO,{default:()=>c4e,gitUtils:()=>AA});var AA={};ut(AA,{TreeishProtocols:()=>Lb,clone:()=>pO,fetchBase:()=>qae,fetchChangedFiles:()=>Jae,fetchChangedWorkspaces:()=>A4e,fetchRoot:()=>jae,isGitUrl:()=>ep,lsRemote:()=>Yae,normalizeLocator:()=>fO,normalizeRepoUrl:()=>Vm,resolveUrl:()=>hO,splitRepoUrl:()=>zm});var gO=Pe(Oae()),Hae=Pe(PB()),$h=Pe(J("querystring")),cO=Pe(Xr());var Kae=J("url");function lO(r,e,t){let i=r.indexOf(t);return r.lastIndexOf(e,i>-1?i:1/0)}function Mae(r){try{return new Kae.URL(r)}catch{return}}function o4e(r){let e=lO(r,"@","#"),t=lO(r,":","#");return t>e&&(r=`${r.slice(0,t)}/${r.slice(t+1)}`),lO(r,":","#")===-1&&r.indexOf("//")===-1&&(r=`ssh://${r}`),r}function Uae(r){return Mae(r)||Mae(o4e(r))}function Gae(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var a4e=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Lb=(n=>(n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver",n))(Lb||{});function ep(r){return r?a4e.some(e=>!!r.match(e)):!1}function zm(r){r=Vm(r);let e=r.indexOf("#");if(e===-1)return{repo:r,treeish:{protocol:"head",request:"HEAD"},extra:{}};let t=r.slice(0,e),i=r.slice(e+1);if(i.match(/^[a-z]+=/)){let n=$h.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Lb).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s<"u"?(o=s,a=n[s]):(o="head",a="HEAD");for(let l of Object.values(Lb))delete n[l];return{repo:t,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:t,treeish:{protocol:s,request:o},extra:{}}}}function Vm(r,{git:e=!1}={}){if(r=r.replace(/^git\+https:/,"https:"),r=r.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),r=r.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let t=Uae(r);t&&(r=t.href),r=r.replace(/^git\+([^:]+):/,"$1:")}return r}function fO(r){return P.makeLocator(r,Vm(r.reference))}async function Yae(r,e){let t=Vm(r,{git:!0});if(!Xt.getNetworkSettings(`https://${(0,gO.default)(t).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${t}' has been blocked because of your configuration settings`);let n=await uO("listing refs",["ls-remote",t],{cwd:e.startingCwd,env:Gae()},{configuration:e,normalizedRepoUrl:t}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function hO(r,e){let{repo:t,treeish:{protocol:i,request:n},extra:s}=zm(r),o=await Yae(t,e),a=(c,u)=>{switch(c){case"commit":{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return $h.default.stringify({...s,commit:u})}case"head":{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g>"u")throw new Error(`Unknown head ("${u}")`);return $h.default.stringify({...s,commit:g})}case"tag":{let g=o.get(`refs/tags/${u}`);if(typeof g>"u")throw new Error(`Unknown tag ("${u}")`);return $h.default.stringify({...s,commit:g})}case"semver":{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,C])=>[cO.default.parse(p.slice(10)),C]).filter(p=>p[0]!==null)),h=cO.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return $h.default.stringify({...s,commit:f.get(h)})}case null:{let g;if((g=l("commit",u))!==null||(g=l("tag",u))!==null||(g=l("head",u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch{return null}};return`${t}#${a(i,n)}`}async function pO(r,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:t,treeish:{protocol:i,request:n}}=zm(r);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Vm(t,{git:!0});if(Xt.getNetworkSettings(`https://${(0,gO.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await M.mktempPromise(),a={cwd:o,env:Gae()};return await uO("cloning the repository",["clone","-c core.autocrlf=false",s,K.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await uO("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function jae(r){let e=null,t,i=r;do t=i,await M.existsPromise(x.join(t,".git"))&&(e=t),i=x.dirname(t);while(e===null&&i!==t);return e}async function qae(r,{baseRefs:e}){if(e.length===0)throw new Qe("Can't run this command with zero base refs specified.");let t=[];for(let a of e){let{code:l}=await Cr.execvp("git",["merge-base",a,"HEAD"],{cwd:r});l===0&&t.push(a)}if(t.length===0)throw new Qe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Cr.execvp("git",["merge-base","HEAD",...t],{cwd:r,strict:!0}),n=i.trim(),{stdout:s}=await Cr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:r,strict:!0}),o=s.trim();return{hash:n,title:o}}async function Jae(r,{base:e,project:t}){let i=Ie.buildIgnorePattern(t.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Cr.execvp("git",["diff","--name-only",`${e}`],{cwd:r,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),{stdout:o}=await Cr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:r,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>x.resolve(r,K.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!x.relative(t.cwd,c).match(i)):l}async function A4e({ref:r,project:e}){if(e.configuration.projectCwd===null)throw new Qe("This command can only be run from within a Yarn project");let t=[x.resolve(e.cwd,e.configuration.get("cacheFolder")),x.resolve(e.cwd,e.configuration.get("installStatePath")),x.resolve(e.cwd,e.configuration.get("lockfileFilename")),x.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&t.push(o)});let i=await jae(e.configuration.projectCwd);if(i==null)throw new Qe("This command can only be run on Git repositories");let n=await qae(i,{baseRefs:typeof r=="string"?[r]:e.configuration.get("changesetBaseRefs")}),s=await Jae(i,{base:n.hash,project:e});return new Set(Ie.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Ie.mapAndFilter.skip:t.some(l=>o.startsWith(l))?Ie.mapAndFilter.skip:a}))}async function uO(r,e,t,{configuration:i,normalizedRepoUrl:n}){try{return await Cr.execvp("git",e,{...t,strict:!0})}catch(s){if(!(s instanceof Cr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new at(1,`Failed ${r}`,l=>{l.reportError(1,` ${ee.prettyField(i,{label:"Repository URL",value:ee.tuple(ee.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,Hae.default)(u)} Error`;l.reportError(1,` ${ee.prettyField(i,{label:f,value:ee.tuple(ee.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var Ob=class{supports(e,t){return ep(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,n=fO(e),s=new Map(t.checksums);s.set(n.locatorHash,i);let o={...t,checksums:s},a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,t){return t.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){let i=await pO(e.reference,t.project.configuration),n=zm(e.reference),s=x.join(i,"package.tgz");await Wt.prepareExternalProject(i,s,{configuration:t.project.configuration,report:t.report,workspace:n.extra.workspace,locator:e});let o=await M.readFilePromise(s);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(o,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var Mb=class{supportsDescriptor(e,t){return ep(e.range)}supportsLocator(e,t){return ep(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=await hO(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var l4e={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[Ob],resolvers:[Mb]};var c4e=l4e;var Ou=class extends De{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=z.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd);return(await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async s=>{let o=this.since?await AA.fetchChangedWorkspaces({ref:this.since,project:i}):i.workspaces,a=new Set(o);if(this.recursive)for(let l of[...o].map(c=>c.getRecursiveWorkspaceDependents()))for(let c of l)a.add(c);for(let l of a){let{manifest:c}=l;if(c.private&&this.noPrivate)continue;let u;if(this.verbose){let g=new Set,f=new Set;for(let h of ot.hardDependencies)for(let[p,C]of c.getForScope(h)){let y=i.tryWorkspaceByDescriptor(C);y===null?i.workspacesByIdent.has(p)&&f.add(C):g.add(y)}u={workspaceDependencies:Array.from(g).map(h=>h.relativeCwd),mismatchedWorkspaceDependencies:Array.from(f).map(h=>P.stringifyDescriptor(h))}}s.reportInfo(null,`${l.relativeCwd}`),s.reportJson({location:l.relativeCwd,name:c.name?P.stringifyIdent(c.name):null,...u})}})).exitCode()}};Ou.paths=[["workspaces","list"]],Ou.usage=ve.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Mu=class extends De{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=i.workspaces,o=new Map(s.map(l=>[P.stringifyIdent(l.locator),l])),a=o.get(this.workspaceName);if(a===void 0){let l=Array.from(o.keys()).sort();throw new Qe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - ${l.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};Ou.paths=[["workspace"]],Ou.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:a.cwd})}};Mu.paths=[["workspace"]],Mu.usage=ve.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var u4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Wae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[cu,uu,gu,fu,Nu,Su,mu,Mu,Vh,Xh,qm,Zh,Au,lu,hu,pu,du,Cu,Eu,Iu,yu,wu,Tu,Bu,xu,vu,Pu,bu,Du,ku,Ru,_h,Fu,El,Lu,Ou]},g4e=u4e;var wM={};ut(wM,{default:()=>h4e});var Te={optional:!0},mM=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Te}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Te,["postcss-jsx"]:Te,["postcss-less"]:Te,["postcss-markdown"]:Te,["postcss-scss"]:Te}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Te}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Te}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Te,"vue-template-compiler":Te}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Te,"utf-8-validate":Te}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te,"vuetify-loader":Te}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Te}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Te}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Te}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Te,tinyliquid:Te,"liquid-node":Te,jade:Te,"then-jade":Te,dust:Te,"dustjs-helpers":Te,"dustjs-linkedin":Te,swig:Te,"swig-templates":Te,"razor-tmpl":Te,atpl:Te,liquor:Te,twig:Te,ejs:Te,eco:Te,jazz:Te,jqtpl:Te,hamljs:Te,hamlet:Te,whiskers:Te,"haml-coffee":Te,"hogan.js":Te,templayed:Te,handlebars:Te,underscore:Te,lodash:Te,pug:Te,"then-pug":Te,qejs:Te,walrus:Te,mustache:Te,just:Te,ect:Te,mote:Te,toffee:Te,dot:Te,"bracket-template":Te,ractive:Te,nunjucks:Te,htmling:Te,"babel-core":Te,plates:Te,"react-dom":Te,react:Te,"arc-templates":Te,vash:Te,slm:Te,marko:Te,teacup:Te,"coffee-script":Te,squirrelly:Te,twing:Te}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Te}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Te,vue:Te}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Te}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Te}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Te,"webpack-command":Te}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Te}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Te}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Te,jimp:Te}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Te,"eslint-import-resolver-typescript":Te,"eslint-import-resolver-webpack":Te,"@typescript-eslint/parser":Te}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Te}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Te}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Te}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Te}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Te}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Te}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Te}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Te}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Te}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var EM;function zae(){return typeof EM>"u"&&(EM=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),EM}var IM;function Vae(){return typeof IM>"u"&&(IM=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),IM}var yM;function Xae(){return typeof yM>"u"&&(yM=J("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),yM}var Zae=new Map([[P.makeIdent(null,"fsevents").identHash,zae],[P.makeIdent(null,"resolve").identHash,Vae],[P.makeIdent(null,"typescript").identHash,Xae]]),f4e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of mM)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Zae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof Zae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},h4e=f4e;var BM={};ut(BM,{default:()=>d4e});var tp=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};tp.paths=[["create"]];var Ku=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await O.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await O.mkdirPromise(i),await O.writeFilePromise(x.join(i,"package.json"),`{} -`),await O.writeFilePromise(x.join(i,"yarn.lock"),"");let n=x.join(i,".yarnrc.yml"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),a=s!==null?x.join(s,".yarnrc.yml"):null;a!==null&&O.existsSync(a)?(await O.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v=="string"?v:v.path,T=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v=="string"?T:{path:T,spec:v.spec}})),B})):await O.writeFilePromise(n,`enableGlobalCache: ${o} + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var u4e={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Wae.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"}},commands:[cu,uu,gu,fu,Nu,Su,mu,Ou,Vh,Xh,qm,Zh,Au,lu,hu,pu,du,Cu,Eu,Iu,yu,wu,Tu,Bu,xu,vu,Pu,bu,Du,ku,Ru,_h,Fu,El,Lu,Mu]},g4e=u4e;var wO={};ut(wO,{default:()=>h4e});var Te={optional:!0},mO=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Te,zenObservable:Te}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Te}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Te,["postcss-jsx"]:Te,["postcss-less"]:Te,["postcss-markdown"]:Te,["postcss-scss"]:Te}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Te}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Te}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Te,"vue-template-compiler":Te}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Te,"utf-8-validate":Te}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te,"vuetify-loader":Te}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Te}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Te}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Te}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:Te}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Te,tinyliquid:Te,"liquid-node":Te,jade:Te,"then-jade":Te,dust:Te,"dustjs-helpers":Te,"dustjs-linkedin":Te,swig:Te,"swig-templates":Te,"razor-tmpl":Te,atpl:Te,liquor:Te,twig:Te,ejs:Te,eco:Te,jazz:Te,jqtpl:Te,hamljs:Te,hamlet:Te,whiskers:Te,"haml-coffee":Te,"hogan.js":Te,templayed:Te,handlebars:Te,underscore:Te,lodash:Te,pug:Te,"then-pug":Te,qejs:Te,walrus:Te,mustache:Te,just:Te,ect:Te,mote:Te,toffee:Te,dot:Te,"bracket-template":Te,ractive:Te,nunjucks:Te,htmling:Te,"babel-core":Te,plates:Te,"react-dom":Te,react:Te,"arc-templates":Te,vash:Te,slm:Te,marko:Te,teacup:Te,"coffee-script":Te,squirrelly:Te,twing:Te}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":Te}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":Te,vue:Te}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Te}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Te}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(r=>[r,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Te,"webpack-command":Te}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Te}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Te}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Te,jimp:Te}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Te,"eslint-import-resolver-typescript":Te,"eslint-import-resolver-webpack":Te,"@typescript-eslint/parser":Te}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Te}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Te}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Te}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:Te}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:Te}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@*",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:Te}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:Te}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:Te}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":Te}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}]];var EO;function zae(){return typeof EO>"u"&&(EO=J("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),EO}var IO;function Vae(){return typeof IO>"u"&&(IO=J("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),IO}var yO;function Xae(){return typeof yO>"u"&&(yO=J("zlib").brotliDecompressSync(Buffer.from("mzF6NgXjlkdPMVn0scJ+7FAF29WDziEeaAuoui3+DtxQdKzTIJFj52iDuvy9YtoNqHoskONocQvK/wjn2gElOvLI4HhdlntnzKVeT1DljOjk3C4x69EX/F8RjJjYzD19FR6RVg9SibYWuuh6/PkNPzJNUaM/IPyz7TckbFkn3Kf9XsZMETsuz73YKqHGyAOQbVFqdFQrrsapQ0e+5aTzNYCOW38JEIQwclbiYRqR0yw2+1QHocuLPzw+Dno9XTc5QQO9QCg8rLC/UK6AtFifOr93U62z8D/AqaJzSOmTVieCtNybWYKdLStA9tXU787l1MxPwxirmbAukKNqTyndLH3iSE4KJdiIn19L9U9nbxpj0iqTp/JLaSliMbKDC2gk/DnI8qV36n9+vt5YymQN2De6UAHg7MVqcgWS23GD9MwoVP0Rn/Eh6Ktoj6cqie3Y0SI6x1nC1hamWTZvD2wCulKnAN/PicrWlcGo8BM6suo6DnrQ5UE+GSRlduZ0/f4fU7bju69AAiFqlT735/fvL/0vlfUJIPpBKNsPBgiyCSL1PlWn9Jo0I7Ws9SRbH5Cq6tS53epu6RnnW348hJBEk6ScD2dxy/CJVz5A6H+uVIDs9PpPPbzqdQC0IaSAFOEmUi61BbxlCXOGl/lIFhaxApgAgsL4tYqJvg2sr492y1pC+n+qlq0Oe5KTyA0k98ma2QvA5WpUtBdIpzrEok+wgY9AvZW0l6LWKenOMQEgZuZCipVD6Syqrt007mqQGAh7K0K8AFAXCF0iJKdY2UVR+Uq1MtdpTdWTeMNuyKDnzc5dlUJ+kEk+SN5EMklyVUOskY+sPZ4c74LYLigXKnM2VpDsBnFqAHDfgLdvZsDSbfeg6hYDvvHy+/y9Zaql95fhK5FME06Q7XJk4hQ4Q3W/+2v9B7RE2jFzZp+urq4q8Z6RATmD1HHsNKv3tCY8uc9GjtCPpp/ilJ3nKqXZXcZxkAzYwQMoCLXddQfkAg0TQut+ZhgEA3UA0zYrkXmzadJH/1ggao3NAmdEosUK/FqGKye9Ny+NEULQkzGLpWvG0uIrFSzoYYYla/ndMdZq3bN+71EDRARkEJFFiho9qFg6iPrzlVqPTR+gHrHtZ0H/eXCppSra1yRs0lCTsay671vhjyEgYKV74xGFqNpsTL1S+8ulEzJOIJlmMWamKf3yVVmQJnC4ogQcjDYlj4rY8YaxECLp8C7pWOkcQPcjEsuW9RxjqUnzaN+s20REQETiHZyCLQpRM9EEQuaTl6Gl0FrIEgXvKX62EFDdgubkahOmJ3/7J/EEB5e7OLj5lt6LqcY6KpjXTgfrrwgCjZ+LP+PfryUh4qL+gBBDKs0nuro3YOjB72D238i+/G983O797U/1y0sMX0KniwssP8cPOHAj75v+kN9dzXxMIT5eECusDydI58tXmkoLey8oyB3dvL40B+wDsPmzOBGQE6/c9UiiMvwU8fU1Mvolx6OvHE2xtGPCEEagv+3lPXLhF2jeKBtyDagmPXbndYshoCtYEdGIp6cTOdpLPpJd7+9Irkoqk+17OuAORpb2RgSdyzai9dZ8GfivonlSsdX8R6K/9Xn82rJgWxg2RHSZ/nMC/k4/8CubknJxW6P2GBBw6/OHES2CL2HzDiGQAbPNyFBEeuq3PLih7TZZollMj4k4OVzCmtgTiPTui6YsyrYKOWjvT899GEAPExQyT1bHr+NqP+m2pArR6i965ia5cfF6WSifXSjXrY3Ity4W4uAYl99sDgEF89T49Zp+XacsYOJLjOk5C5bGSLV660MH4NJS8HRx3ev9PqpvMSSICiEd+Ks6djJrzMY5J2QQQU/6aqIyAadiPT6eIiVAuoWwEapdMfvSx/lH1QrOvB63AEkJPi9NkI2Mw7FX3VZxSL7k6vnfRZQlJHNdqz7lq37+GW7aenR1dxZFjbsccLpj1JIpmoHj6IZ5wG3XlzSORUMz8CX3yQDcGN3WE0GIcgnrW9Z6v2PMyp1/nrBbSk0EliIyZ/NVkehSINEpUCrNA2VeomBJuT1Aff5tU4t8GzQNt3RrBam34KR/pxdqaNmi2KDez/A0mT+WUrEAqzJEY8LGZGS3dSPDsTUnoHZXyD4Nqtr3S+mp7zCXBcwENl9shUWKbLDwJqUFev7a88yyaRdmvVAuLq5QMrtyJCmoc/axBYjkoxLhcDW5j+hXBcfNH/YIqIjeptYACnbQnrOu5+1r3/O7rZzHCXXUANVGbd6E44MpI3nBVDpkL3VSIggo99iPyrCcrwsJ5DP31wmB000Y0GUe4w1OMOqt8nDULQ+5cRzHq88cjkj25XNSfuII9MdHn/+jd0lG5ao++uk6OosboL8Vnatky82C5cH/sHGPSFCWQhq70NqviNofjEcJfbu5jKfiJlpvIwsZnvlZulw29UkJtdGcKh8LRbxrydfd83qekbqMdUBqOWwpYDczOT9fLD123eLyim3uu849y+7jRrv45mxsSx7latoWkrupzHl12mYpYmKtbUXKMaBibOTgbP0msxwmrvxsZW84TTY13yYKTZ7p1ZlTmjcnlfwD5hcFyqIVUxRCw+Ms1Kfc+lTbNIMRdG+zS6leLlZ54yWpCRTqMscjaBRCSZ5lwvRtzLFmuKzRvVTpsvm09tU1SOwWPn64fXTKFz8JPqCwV3ZTW4sSfRR+DIFCiOwo2KTeC/bi4YzffoHV9yjxX86OPNmnW5AmTmSddsJZlxazozn6p14ryEMGKFJktS6nmwSA71D4sivnsxE5lvp1FLsQpdhXBMbrdbur3k9npfaGNND6sNus0xl76TE9N4iRaMt+pqW0rw7jMV7sfG2vR84Vl5RHtwR9J+40PvBYNm8tPfXAxezUhrtXtFtypxdZwJkdljyE+ahwBzvXWYys/jFIJtdOkSicOWvplXaoyJ0q0Q3VAhBPmoVUit7eEBqsKu3Cd4GKBUV26xySXgYQYIyoReIjdtS3c1/DpGS7dri88oTdyNWvdfKhkwgGLPoqmQMqr718ydqQiSy3VwYsc+iW9wSAsO4dFEg/3dgFQjP8VYHigEKRqQUBRc9QWHFUy7UuE2OSe1MCKXL6gMzXiDIhBky9ZhS4LmiIvDWrJXFNEbUQJGHVKKtH7OD6uhmgzwADFQ5+jiuHlOsZtoSpbnq1MNsXKolUVu7MHUQVoiWU9B0SiZTIoxX6BqWnHqlsmr89sZWh9Sa4Twg5yD202iGUMXldyYHwhh+y6wRNMwyFZ76jNKbjuTD4ZnsJVKKfZHnz4qX7YobYMnwRhlzfY8lDjXAuXToGSYK4543kumXWuDjvkFF+ovvlqURpN9Ga8xL1qcLTf4cmMi2mKletkHV5H/nRzAZh75uLFuEpB7bBSwzSvKS+d1aq7vUTkKh5nq0tKmJs10tntItyWBueurbVe9F+qZZgZvJpnaIwbLcvpj2yyVKN+6+KbcgBPC3jNSpvkKKXfTu7/2RBtao6i6ZDpfDWHH8hXflSSXG4vBCVRegVoHpnheLPiUQvVVs893+6sucE9ohUH3uiirk7m3/BzxMpwtlZahI53zzQpUVzlOJGEnMzOJdmNvWNtniCAa1mWqdUWxTrmN2TnSznoYVTZF9WgDbeXXv1JPcAsnPjOPb/XrqsYXPz9V/6r1tEvo8i2kY5C5VN7c5yETPPJTz6BpvYuGJV4QwfAt9op5mwbBNvVtjGveJ8QwXvJUhdxt+E8SMGHgfbbwR7b1UD1mwg2TXwC/n15PBeYLFnftG0sSRe479EP0+mhJONGzY6CZsBOv5iypqsBPi2kmv7emIYkbwJt/11Ef988XFKVgYSIOI0o7WuPiOHiWeOZZ11wn5hyJD77hZ12pcnUUxVeJV0sUW+5fuB657820RELOLuKJNp6w96cU7xXTkyz9O0cHJePvpedinzYcRcrIGTDSq//uBzlwLx0BLVhaae7D/ZSuYyJiez/aEdQVWePjCIy/V0BoV1iKa2Qx8vKFEhgqAxzx4hSM0wNVwAwMSTDXrhwiJ1ifZuPHGUZ1UjANDcmaW1WzIwqMwT/YPAXFfZezefbd1XN74+hiHsoC1PHxZkZZRVXACgDAKk8CQoJdspULb2CABwETw0myUvh+FBZq4/4Nx2D7YPfDD14q4QxzxycxhnIVgBIDsf/u0//fXHN6MXlsE8c2iQnOvuc2gh31btS9wQenoM4Tx7jHCGpOECABJG2u0KywnCiHYYT3bHi9v1awQATH8uHJNXRbo7VCe+kw1431jro+tlGpTdMLpiGQAA2k4g/2uu/8//1PnJZ1w3RjlU8TNHBKrIKbJXsIGKE1vXF10g483Yr2Z7BwbtC0LhoW/QdLTRFb8FANBLKBMTLhujmfBwYgbvnCZaQaRYF9mVaSD1artMAEBTAZIXHnS42kEIfNZyojLHBiTmcnBDWwAgiIlNDA8mNtLuqrHO+PS7BACSRGmOPJ+2IKSe2q6HlkODhobRFWMLAMjJtbaywtUoSYn2WIipRkndrxEACPJw0ZgE/IDUH7WDN+xBQl7m18R5FQByM1vXjMf480hKy1r+EMhnHt26nBqnzPwqxtkCAJVjl9uJ4cKEou0flZXGhOIbAQD6csmYpKNjJp4PdieMjl9qZWy0UhehCtjoimUAABhKP1DjagL5z5zAYnV4Zpxtb6DkHmDvBblNhykubd+5t6T7gNBDf0YKpdEVvwUAULB8nsbVVOeDK4BFTTtonGmfRWWzdembCQCY5JLKU/Ust786jxPWlvl+nMbl0Ea4AEAIVaVywqpARdN6TrQvK5ut0+cSAFjORD9Sck3LfHFhfNj6Mo9TOXojXAAgGhXl6DkhbFY01Em0i5VN6vTZBABE0hM2w+pb9mqtSe3Fn/I7xYIVAKozW84wvRKa7ktznWrPSb3j/VkaV2ICuuJxAYAas8cnM5zGBBPuwgT7NQIAAnVoFCrUObRwzFhSXZwzVq3rkkB9yAhmB+nTxfKeg2jqTQNB35T5vahgT8KI7RBIUkIDA0lJRyLCkzXsmgFWfFhoxQrsQLx+4y6/FTppSgZXAyG/fkn6J/aG/hqofrHr9V7+0vXCvU/ZdFGCz+IvKLindtwwXvcdWnh17nynrs38hxjk7TT4zWlcgPM91/VOCl/618Vzr2m2uLQ9iFj7247eKbOOFQlipN8nT9uxMLUYS9B38fS0nBqp/d7MGwwXMDzcs+x8ucq+fcg53XtIwmR/4c1oA3pVr78K21EWdB6++NOVeJrjQQEygWveXj5x+RW9o9lNcFigYKhQXVs/N0b9RBiuG2nzjLNm7OvuZP2AIzHzZTIH6WS8j1StrybVMdoK54R9yI7N7Ov3ZrUuAUrWUNzbDatXTDwFCu7tIKGVGro6UdCDZ6oM/Rz9xYBCacdtr2/hz9jlGTtIEL2nK654TgB8nwM5hLVHlCrS9RVE/NPPjR7SlfCEGnpaumPdzRHHaT1i6WFK4A4vU84EPNPdz6eJhB1++XM3eSatISw9OPfUQJSOyySlVzfNavH+k0RNcIgplSE5jz9CW6eZo9RTgSmFyjbH/fQzwTjgyzwFgUzN+L2FZRFqsAIh520u62bTCrZEltoQhW82DkF9ch70zT2acPgnQeIkDxeEjh/A3TV+u/pGdB71fvOb8v0kpPT3O92Sj2+WxI873k9e10EThxm8jtTHmng1cBW0+01OAk4k/Ujns1rkGR8M2ylN2lxkJW8TrkYpMfAxV1Ak1jGyE3Pym1UMLgTeAdVHbwK34xXZ8Bn5XvfqdiJyXZdUka0y+TxLwPAqVyfmvyLVLft1ydq814tCu+INZA7KvHl43zvv7O1L/L+2g62okMbVb44bxoTuc0xchoDoOGofflg/CBjwrvfNuOjnplHrYsGZca285wUcvO6TEc4pmjSLf96FJ32MOdnHHVo4V/3aF0i8jRt7i46AkJAD9fBk+i2fk7xZPkoAKZpMk6qcMaljmh3BzPjfpmmYPF+aJXmIpp0V1nQOvGk8BSklywWsAE8GLEUS02VhHZTubJlhQ2aUwsCRPAdMIbpp7vKHMjs483V/SDss401QoZosiwk51eNsQQYzY3aRmTrtIy4z85ut0z/i0vyvZCuRIm97XEegzEobSn0zgyYWPbbLKL6w9ovhzRzKCaz1e1j0/LZXAS0JahkwsYS4HhKCfo+RGijOnLcrvuUyS+cgfs6uFu/0hpGu4D0CJBF2uDtzIPGS6mTBALmWg8jXZQeI6U1GEEFF8nEMMEjDwlI0iZvOn7kjvsxXzNyQlrWogR/LcA1t057Ue5KCO2ZJj5V8lBMjferjlyQk86fGuPS64bYYvfJRv9En9kQHVodE4dbpWLYlOYLYczdEdVkNxbSuCcdgD+d7/rQw5dzPHo1iT85Mnpp9u921ay7zIhuuzGhFTU7JwslkBn0usZxqTUO5uhwZxGtLRrXqfu7VftokoXg94i5jlKCAZ9fQ1+Q4G5XgLcI548gd0zsznbs0ctNnK973utipyZcK5rpSb4F+WFp6AcHIKnFbBuDiTFnAodjBej4PVVNruOBaHdjHPidPm33bLFHi5tLhl3rdjkaYNPjHsQw/o4hTU65ZIONKqz92dZNV5fjcOY3WjmDZRiF6sn7bIlcY1R39UgAYqXxJNurobU5LbdaiJSXrM3ZrhBgZpAU0eow6SwPvx/sqHWkadjArzSSQsgK4PD4TywwAyGkamqTwyqFEe+RUH00AICrl0vI5SsNBAguOknY26fOGfdLdJk1pw9jIRupQ5+3Kd0pT74PZZibrUtY6yriNmQEACocpkhLHR6Ldhcnn1AaaAICzLe2k5VuU0AMFetk5Gdg3prw76KkEH6NuqTM5w/ymk6ZxF4upAExWw82IcOrkGf7Wz6RpzDUnp5ksp6xlyjMbMgMAs7hMLRcVVlOZdpUc2kATALhSyUzLQ0qewQAJrMqWZSZbf0XmF6qAf/AecuzeGvK/pqEC1IsQId6cbhuaAQALIdVwOKGu651ZnKskZdslkHazZb4O4tKossfyv8A2Wv1B33kXjAmbwGGFP+VmCrODaGcWRo3lUDSY+p6iQvsl2YFuM6u7/LHdURVFxbKmnS73DzLuF3Exmxa+mIxiNe8LbnWPWKQ6Ms5eYbfMwbFKOarh7JcQQsxb+l/slDxUjEdnwCKvFvDocu8jA5qEFqN+DI3oi047digm6IrL9ZP1E0rQWacOL3d4LHgYJqJGYuHWrnAoVOOeC6jlMshkGaCUiRZ6f6kcAgfh9Oi24DxvK3yEZ6xLwr25vm0+GjXvPPi0m3MmkKViGF5xRpHlyUrZr1YafZXVcGeW6vxUdBYf7CRxkOvmsi07k2NF47KKin7p4OgEsEf8T7N2bY7wEF5T3XH3g1HaO95UXSFhfy6j8/b1cnobFwY1TIdRgLsvh1qnzK2bZgEhJ7p22L0d/pqG1bMvrTB84kJsZW6beRfUFxW2NQI6l4KwdXRrVyy8RvKIOAFKa4UU3ju9HBhDD5G3FSdx/BBCRoywQojTNE5MwzKlx+B4PPFtEY/8sBbF5FxXdrN8pZAcxE2Gc2jya/F5dh8ThPRf242nbCkRlzIIIilT2QH73e1M/Xs5gnh/YHpVYuhjoSp0KkBTP2YAYITOlZzwWYVePH23U2RHFWJtIj0cpdU/lgkAoAzz9Czt5A//hztLe0fv8ed5bNKINbKO1es6zecE5pQaw5sT47kpUmUdPvdKvwfcNQ2CQZ9PwUuJ+GBc1szJ1uOnGllrLG4vFrjhVnk/19QvnW8n4Wj8bWjnqek/BmT53HC9f7WxHqXqVVKjNMnVC4uf9qHDLSd2YxMi1b53+/ZsrnWv74LDU6hQAQaF/7vDr/MhbfGUN/c9gMGhHx8QOZPZmAnhX0gNhAKEttL7WYz7qXf+jGo/K6am2Om2pSXVJSc5CuJoV6ozRr3ibOqpAORWIiRMkdUZ0zp5PykWX4H61umo4MKukrlqnsONhG+3mtDALIsrIxk37p10v+nMxNn0X8ZrPq/PgYjKI1I1BOi/tnVpLR34UnQC+oTzu5+RepcO62A4DgXuJSOqDKOoQVlakQZvCHVw+fl49SVApAiuqmxUgcy6ETcC3TozANANTTPhuaKUDhkJyfYUNNA0AYARcPfddxB4/4wSAHQGVoyeyVVRqaunyZEYsyhdPvJBRd3Y2n6weXlpd7QIesVWOQAxIhgWpSY5Hl+9nVx+LNJ6JmJG8FP8lAMQQ4JtueGSz3RyZG/53y3bSdTxIzhrzzChnqhdLc+ICs4/MgMA8FDRzYRhFUUHaWR7EhIUTQAgyVO5S/e7mBrdJACgEGdVmtXkLvk69vnga067vpg9/EVdcs8woV6ASGH0EKp+ZgCAJDOmV2+CwmTcwnwjM6NWTxn2gWQmlRqb5ndYl6LiSn/R061YeOEvxVR1KBmNihuMkFqErX2pBtv0DjxQ0Faw3f2cH8DxD3TWDJjOoACYnm9xwufOwifgtBs386c4Cx9XNkXJHbdk/szMYV8gUsMvtFo3rIoJIv6uqMVIbgQZcgzKfkk3FsgEQPYMRJIjKyV8AC/aMxmmmef6/9COxqxMB9HyBypcuXb3SNZ9eJm5um8Z7Ic9Oi81z3CaPTAY1xWF31TRYYTQd8tPoHCiRYNz/QoEBzhpNrBUBj0DdH1W2If7rzP5Tj3OIMTxeFH3cj7xpvEbXti1Ga50WMxyX4PNGHmXhrZhiLF/8XmMrEk8Opp0du46XXAFiCLVI5QOy0KfL5CxEsmHbgLAyTaczcCm5RjTD8DgZrPEqfeX+96H8rw/OUwBAF+rk5k8FvdJabIOPErnr/2dh7XZNe1Ir1bLsPKDbHjU95w/zP2Bq7UjHBCW683G5wL2Iw9rPuOBJQyhIoPRo3ng/hw3OIv9YmFbjJm8O0r6NwkG2dCCICEdTDLxgxaaz7PP2GFiDB8rB8S1OsZpsT2m5Fa3Oo10THHWsuemnCjw4AlaWJGp/h7HfLpXYpy0E4Cjs2OqFoNo5sQXKx1CKkuOrMx1TpVi+1GX40oUtpiBEHbPGNdoEsXTyHkuDBQ093xZsaSkHaRKbtZuO+VKDMqgQY5fOEIfsHheskzOi6l2x+hCxtQ9DW0wI0EE3JpBKWQP51wQF/+6voIDF4DlP6Vr9fJYty7RmvKEP3PFjilOsEO2elBuVO8FjPzOYJNsom4XKqoFohNjwRcW5LBibp/gUUoCYrhXuqYgteFWdJ3N0AjrxmyiEWW4LmcdrERASqRKWwLedoE/h0qOkFHE5fZezEArU8at/emHzzbmxVWpfT4RNd6aLgg44UnhaNbfuVYx553mXNPz6S8aIEFRz+JFfv/Yi1LsKA2WhiU0oQkYR81TttJ0dYQMKC2DbUEGuSwWjOdFfFkXbJzxu1MNduh04vs0l3E+UcAPD6mkHaiiIxQUN1N4Y1b6825jfylTdWn+ilBMTjCtGKo447KUAcREDgmvTiL/alNAzxio8Jyhhhio7DNeOh7vmvf2Os9WjbZdO6/laOu6GccQV8Cjo59nza5dxyQi5pVlRtTp4z6yonf+q4GvXsyvIT7XzIzNqgkAXywrrvFhfWg5ndJKwotFP7kChswdxSbm80tQ6iBM+0umKnIZR5cdD55dbfeE/tT2YK+o3E8wmtdP2F35TVdmbV0mlD9T9HWn5RmlhSsWH14tGSeLFBM2SwrbrKc6tNqPYoKC36YwhfhTkTZNpjgh/5w3YcJGFxqL9/myeZ+ZxNPE+bTrRMxfiuLBl2kad7kW9vAh44MQTZ4LzN8f4PB6xIVSSPNkI15m/hgDu/w1KcDNHz6ZK2NVDpWqHtxthv3sQFMcMwAg5MejN0FRX+MiFRvZ75T0lGjnRNVoXaOxUSYAQGy/wla7qu7cU4Dfxl3t1NlvfM8CKwFwrYLW4mPt1tGrL+OGIiFxHxB1GIjnmKon6Xqe8PVMt/G3nlCgutweHXFB0xWAKTqm+jd9YkozN+HnSOODdwKjPiDDBatVnDAMEUpyjC7CACXJJPxA6/Zfit7rx27m78npM9oDQNyySzY3l7hO4oOu4K6x97QJR5yBBotMQ8LY+wfJihNsew6c20lZyO1vARKN86c30ThlsxNgPnXrgYl3SzvB6hAjMjea8WsCJ4HRE0fkZwTnlyqjKYf611fge939k7jlL5HXbckiCfRhd/W5YtN9DaNhHuUeSiBKMetNKux9B9ooq28+eWeZubjrqvyH1WMOmOQ2esaAJBL69Tgfzb1LsfjvwOSraM5h4j2qeA7asyXoW7OC2rXJJ21F97rlCDb7ChRWWg69XX43aOdygoPxZNxaEnKdMAhtiQTdnQz+q+h4fEy6dTEgH2FLoIXn84UWBOnukX2ZyTqkaaSu3ZTo83GzsBvAh3HlZN3mIsXBq2BpaYl0CSlrk2rUMy1f5I/VO9f/kRVudG4ytLu6qmsn2R/NOuOdJMNouOBsLl09IMcD9xPjqj9/XS/rFh3d4DC3lyuetah+epMTzkeo++prV8OKPPbXboT7DdpLxCwybFpvftm6mPiVsNmuXM0B7ccIK5vc7ms0GZ4ymMaGcn1j/gSpUA4PFPDMU7CMrYIpiLkXzZM487RlHPtlJ+EGruHAfuSUnz+iB58Au2XfpTBykCmIFsX6OFtzmvHje+e1iql+0CmomJ7AioF+JOQwHDuIbGPWEQFR6FnJminVtL1GQYbmRj6fNljcjJY1kd/R1/Mn+sZmKDhNJoaVMXkFfflW153eerrT5epCd7Wegx39Gv+Vl+mX6zuLaD83C4gq5B4mwmZCJu3LdKUzGgrqGLPQAmf3Q6OzbGIfqGrcqx/VnNwT4UCa612YC6yFEzwAePu52fcSX0h1tQy8NhrDxgy8MhpYju7MKdnVHHsC56d0fQ3hlrEpe4MgD8cjVBHny5vjb3Jtm7fZyaCv3DbIlUv4l4/2QHykpw30Nc1TT/Mum6YvJt7xm9SqDapkmxJHkP9ylZqMbqOEb2LCQfPNBHIi/cBp9fUaIGfLUgLvA3xNKr5OU5rGTRDrEnjrQ5uwc4FXZaLe8Dhm7PbyfU2LEb+6EtcFjW3eKHxN4krMs8BJZ8BgReXbxK4dhbDDhEkukhPHyQjpZZ4TMyI4DA2s25F/zpi09xBxsSp3vbmDoCc7wV0jPmm4VZVWQUjCitTBjomJeBSXrQWmXbdjDdPTbn8vyyxPcbgP5qIm/ijr5bURwbhMQIhN4MbLZm+MAIamwpOT6aLJUkfvul2HeUrc7Na0mDNcRldQWhTxOQQisAmx/3Axj1+H83DHvqdwSellKqGAsRVzLrYeXF/KGN1GrpMe/ojZ/P6E14Hzs+I/+z9YrjL82b+i6cPfWrGY+L6sJL1vVlK+O/2MN8Y5UeTZ0+CNwddkwonoVyEkEC8d46ILA2NoviK5GH6VMxYcf3d++xtToEIYjB2d0LFxZefPi5FFrvFBrQaN0oTEmYzlvUvf3ofGqXRSke8EvEw3rkAHVgCPLkuyi5dbHrTIIEssmFdyKCQ2LDegneGjIAkBeRxj8257GygPVmY+8nfKgE7oXy6dBo3AzyJ1V5YUzLage6o+zADARcZcr956E15uCkUsWn1QB9657OIY2zPAXhZmAgDH0zPyCNyTsLkdOFcevV2Lt93UDwAcDaVIKA+h+5gvbmiKizMFLYu/LOCILsHu0dkcgeO131dvtoN31S2p5iBVoUtJncDsstkOIFds4RxUtcz2DhSGv9OElH1FJoGxKHwbWctrg+ltWHXYR9DOA31iDSSAOfcHY3hMfEe6fe8Nxsym6tLTEb/jl9gFCWAWiWzLlkqi93t3uNugpVxt9+gx51SuL1W9HuowGJPSrR8zANBBmOnivvFg5QO2Tw7JDq4eOcbYXPfwsaIJABBs9qTNAtYlvS2mS+0HAFigFlFZaOU+BXDZOAaV/JsBrjAYI9N9ht65YFWVY7I9NPkgqnOJ/IOdkLoemKYW+liEjC8njIb03tcMAHAQmtJb8nMio6ejk2F3RwbapzMw/yaXKVPm4IKLRluVY3QTvbRuRWASDx+1OIaei0AMjSeGjzcOcrOL1YJoaW+u6278Lm/3PNqEWvjN3eFBT4AnwYXHo5Jw+MksnFX1q3Rs3IjVuUcd5vMupkpNck8KanMsu4TRS5pHRnZJ0BgK28inXfJFRmYsjOwKVpMcwfByuSvixVc2IRXSz7s7mY+BvDuu5/cju9JnWuXrsWqQwipYNaApjhkAOKFaIqxbbwlhB11VaSTZOWwXZZxuNV44EwAw7+wCsnN/izWUu/V+fJjBx0FnPbJ/eGyzH4QlWjb8uoJYh+PwOteFK7KONWg3pk6Yx6vfxBYDALU67vB5lHwq665dVi3yTxW34a90VbcWqV5rPiUwSDHy595w3oDcKHMyfqM2/JUu0FrkCDgIyLCyK/U+xrjYuZw2Uq+BrSWdIWxzByR5FsdNRhT3On8uM0oF055RBUeA6VEhm5OCmaqRN2cDy8BWRZou7Ct0TGp05svn6iQvaE9/pG449sQD9cIqpD/vT2lnZbLHK3QuTugzLZjwS6gGbypa34gZAOgO2ukaTuzo6PBFK4KuTwn3e6oNx24Hxk71GE0A4DRZRLQR2DBy2w+oaa+cE7GrmwsCgKBd6GrCgYJPmUUGRNnukTEgUJaYjgHBdv2YGFA4p8CJASXZcm/i1HkmA8F0eZSCuGKUK2wGCo6bLY6Bk5XZZ8E58fdtwen4iq4EhEWdjsm5W9Sdn0oyxKcvpa4fYhAkgPn3B6Nax6Tmi+ZXUx3LO/ThU6kbh5gGCWBGiYxX6xDEe6m+uriNT6uTafoIgf2rT6q0PX+csmqVQvUqZgCghhmuh8o8WBljby+sHafPcgftaJoAABY00kYFSVEu7SkuqkEA0AGMiLKgKvcR0M7GbkDkXwiQMEgDTzX1XmBVueOZfmLvfhOqDG1gdiTUhZNBOhKozXHXXBKz4GddI0FVF9/5GKTpgNUSiRjsR0XBs/6SuJupFo0gL6LVOUZc818XLOpq9P8cvDuS5Xx6l+WVf1xNnE7c8LzgNrqDA3TKEBDcLroCLL+QPWZLl57d9Zn4DlfdahveyMFVcVP2kOp9eij3Wtm6FODxCn6V0W5Jc8/FfEeFKSrxhuxIIfgjMLfj5EBSiZvPpyiFURrxsjPWprHl/SP1XdW8LXMvLGRNcAHGdFkFiwDGGZ20urClu9bxK0eA/Azpc1lf6Do2UtRFKKKw3CF93P/GH1c8mVG5qUNlz0E2y+LVizqsfkwYzeTZWaosNwKhZWDHWSioMlWAptVPmmD1rFGlsN91/+W7M9uuCm0ogo2PH+UXsKnJaUWoqXCiArMhGR1GSE7/lzl9AQykO+JCmE1LcjxGp7VDGUl9FOQJF6r91KLLn7gye0I4bfmAVfHj9glPDDx6UXcSanvySeflrUmrLmuEVcSB0boiPokl5Zt0z+p1iFUYj1buAu2gRuC3mVDMwir9AlfiBr0Eu8T19jxUnZWJ+PZGSEUiOUdd+PzrbeERgEyUWSjBOfpec9ok2a9+IbLdi4zoLJ67MWIDfWBlTRC3nOzIlLOKbVXZ73+2TiWK55ULc4VCUR//j8GaH5n7sne1R2ksGG+Jmc+LbJd9z7DRlz9AvMoaXCjXffYDQvHPliNqIFg0k7GVythvD5iKTzAIbUZGEZovWXNRCE5nR26n0BGCpm8WHlMsjqu29AHse7XXv0/nkv38X+3ZQwxcB7gjueHiRj5sY+Di/y43CC5W5lrL2pGzJ8W947Pc9NcBAGZE8OUZiunBZ9NiDCnVqy0czlMjl4rVRkj0ShOzGnykT1E1dmg/Qls3dOiWLz5ItKpKbYQsR8PYmuEgcjYjO9Y7ImyuSIA7DQi7Kiaw2gOZOJCe6Opk6OsM8pFQZ05C6So04Cv21BWzHkIGnrxcOqj0JWKYKYyouxLWCDFuMmG8XCbVa6Z114BhQ+xwsjlMsrsiRJe+9O4CJjYiFrxu0J1QEL5bDefeHhJN+ACoQfplLN5sTZH38UKBPo3cxwb/y15smTQ74cXcT9ZqwUjH8q2m5Hd/Tg9VZe42VgUG7qcpn3gojmgian/C30GX2mhc2wqQG1DfLkzxxHEX8uAyFkIiL5+XABC8GWpeXF0ssEVlVozipzwOHKQDuM7HAoZnX5Ru9hqFnndwqeUAkpJAhO3elxRsTYjGAugwT3GuTHvAe5oqP1S3lDxEu4rBJNRZLEUSoElJJJErE035lbBYmyeQutbav2aVCSGC3Rt70zRrC4xWR/p4ZX5pLWSB5/wDIHKNi9b5IWLpQmtHnrVe/ztiO/tYjJwC0p0kRuGPFvK4btcd0x1WklrD6uFtUrvT67r9uB5VFVtmYWZxlEVawiNrtDbu5QsHhoiPb1Jh3A3WUReU7EbWT12IJTwp5Anm+JO5Azas3Omd+HYrac5g3XOyIbrUB9Nq4Rtx17G5cNGQwLK5gclBxkJDT1U2Ls8BtLIMuuuxmxCpPRR3m3lEFC7sAREN6RNc+bfzP22GZ4WKixjRO6Wmxtyzi7xbTmtZJgCJNBBnVIpi8v4aE5Ek2lVgAqU8p2k4y/9flzaoukQF5Gn5Gl/wBsjS06mUljvJZ0rTdhKOiuV07n7mEm1kksyEzZsyjiTWVuKBuy83+uD1fhxZddkQJPWHlDd2NElMK5c2t+78/oPUk2PV5UImrqyFNvuCIqxZR+rdNH6UMF2WGLbatNDiSoW/VfXDofsrwnwfZ09AhU0CJ6TNAxv2QaHJPDGgCmEgN57QGBSyKo6vT1rPk2XMfFYsquWRgOdK+1R29shuyveaUbkhC47buPyCxvpupycaoF3H0zOvn79euId9rtdO0rcZ/qjV2fJe8IN2eWHXq7HQ1fFud0cxjH0aPJP/mcxFGwPs7qG6qToHV764h2krfKDbIXXfariy4vywIN5yuALNxQNDWOB3g/qNSUpuO4Ho9+5Ku5TuLK+mKSNJQOtr2TSSBoXO11uUdPmes1LKeyY3Tq6HSsXVQ6kSkM7l4/f2fWSyRuZA3od6j0drR16Tie9t5Sl6MaQYuOIUlDJf4v9E7bZlj7gp2t3fJrY79zTPXoN8vkxduwOxgSfUrSMIKwmaTmPUTZR3cR8sIXqCAF1bDl4uRspKABdBmKxQNdORgOxWWEZq9PxaGGghoFnuSHSDhUUhdHf0y4Wjr/o+fWzr/3/qnw/l43rNzb/11+Lgp13MxZv/0/1yzfePGZP9KA+PX7l5vmb27R9LGd9LoxfmPXtMfYwfDRmcf0IoQ8tYdzFi/VFqjBqPNaYSaTGzhpV2SoFan3Jgv8gWvrA2kbluIPclyDuyLsaAOoy3ciEHHOmM9a0v2EC1JmoFFTRv6H4Ij+Ol1ChW+lnzVMK5eMuz1cxyWa7U87yp4oFtVDnRyfbMyc3gym3ebK7gFhr+Sm7e+XRFV2/aYquGHDzambT4ao4NHMElm3xs7cWonM3a4LskYN6kZzhNgIXGhB4Pn5cgJNZ1poAmsaDdDV41ypqIIF2jIWLUbLoI7CyJd/qUDpuqEbkylCV0oMUHfLoMOBKVY3t5yQIpEF9S59yqREPM9GVY87qfv+7O63vOVMHQooVwkz3NZGPTMbPRBRBuE9FadNUjd7otNpBOSXBUgDnRI4FeUQwphmzh5Ues3OGEllu13c4LQ2BSs9cYdb+S3DviSfPtgu6W7fw1+W8QQZrrDrQxIVhaZMgrearRnxdByLCNPducN4wjFEMxt6yiECu6/RA6F0cZNM5b9bccXF7sTlx3vl8wLOir3MTzq+Gs+zDeMJ1DZB/q4adyKGBmXVCV1t8q7tbWFc3HBdvt0QTqXdLcth8NYv+4plsZvosa/oqbJpRWmNXKsvuWoHXGI5HF/b8sSAZv3FX4lrgCDbV8GM0XvqiC76qxv7UFMbp07lpd9Qhk1X8GgERdQWcWe0nDZR6hYOsuuv1KXvFTuTC74pbdThcfietA3thTg1cngY6T/fERta0eSH1qp8fHS90dM2+OTqWnFeGvI9a0E17NOaVT4xTzkqKUWmwt1+vT2fI071wleYEOROpwxROALstv3QGJF+IoqKcfuqZbxilKTwdW4tPRUpXTeHin/jxb6cl6dVlS3CqU9cWS7OvlQXuHqL/dYMn+L3osj27KstSR1wN5hS9dPehnlyLVwuTmka5q6vR+LVjpX5RvV5GzzR79fnD0mb6awYEmkFwVMEnkiu0gDVDub+zlvI/Af0g3b5xjeozs8xkmhOeOsAvBPQ9bANNdmTVcYo7LqCyfBUzFZNVPu41CEHDpvm+CkkYJ2DLhJiUxBsJkitE9EgHebwKFmkKigvoIeUe432scI7h4i6G3ksxAeUShoyGaVqeBvacKhFbKc7CPtN1obIxu1nCtnZ0Uh0x3ugPDM2nonMQWfglzQcMmLHKGXAvr+myjOxXIP0MKyeBHUyxJ+YVL8xlCXZigF7hV4bTMho1l9QdQLAlLmxifu4jliZhx40HbUs61yiy6Y4RRWIO14vQ8Aox4tSdM8b9HzIJIScDbR7CwIdqmd3TkpJ/NpF8Zux4tZEzQhF2ymQUgxU8n1MGUXHrhNoOBp7oVY3KsoKgjfWCYd6QXg/Q9lg0YIbbjk20Q+eP6uy/dRs/BhBnQqb2VbxSGJNWU2437NSS3jo0fWTXbxJpKOhRsquXIVk+75jDgL1vUSqk7BPiynJzlqJisnslLlKQXUhdybnXMa4tbOo7UQPnGGdhXSPFga0IJvMzlTDOs4lGxr1l7m8x6EWcyXXZ5qs4GAZSVEkRcc/pvi47Yxd/qHkdEphqWiw7danhBphFhCG+sAn+199XRf5ZvmPxVtVKiUIsOFE8hmoD+c9uXoF+A7aXjPfovHE62OwSQ6y+rdJFAGS/MFEGMwFG0CauCg0zVKLUDj/v20CaeW2ZTK3auRmMfTrstgF2DkfzcMsZwevadK6XL9mkAYBLl3cOyxq5ft3T04yF3D4fOPfTc7gEPW8/WcQYI2bHp2QDYtPt/t9Aw0R8CnI6iz+jVkSNeHN+jtespjAfhThCAP5tP2lq2C2aRO+3QmUe5O+dqyH5k3OFgR+0sEOA7/+WDNZE4dzMQGg9cBYiSgimAwZ2VRVU94mLctyAd+29dwHeGggReO1uM18pSXQ9BSdYcsY/vn5ldNDqqh39sUTTNvPh2FkgxbmeH9ZamJN2sTu2/KobfCF+K8x54Md83HlU5uFgA2hyIRRY5t5mLMBB+X/cfV7SatJcnK03lXmggOEl0oHJjb7W0lQrmEB7tUhnbLtIVOtd8qrWmsmBt83Om6Xth7pNku6RflcbbQ79VIMWZJkFEwB/ZiN09+XFIlSVLtoXF5DuAzVMMSde/zhGckW9QOiM7vYd91gHSNvPCLZf/QjiyWjXP14mRwsNzJqPBgoq8aMIajowqgHv7JNOpumeSkeQcvM1HFaQ3kDmVNgWA3Q7QEVUgfnhGyKvizx7tr9Dq2H+GN7mLBwmN5nRYLvzd5wh+ya2TzmR3JuPWJ5XbPpyeeyw9Z7Rzj6XXIo0WyGH3IwM3OdgU6YRpcYJsSk6Sa/JQhBTul8NnQvJQzlcsK1XuPieO9xoUgz29F0js6Ul2VYIO8LJuAODASrwYEGfpGDuRFOeCbVq7deUwKFdog9XMSGorZnWe1W6rjsqWX6lBwG4ngmki5Ga6C1PlEkzZruVwC3fo/bst8IpL/wEAFAXmJH6WDU6O3a4LnF07fGyxt1K5Ed05f/IG7iYoYIsQqxEIsCNwQea9OXBpOXYHYN1v2g4AoKqWwYWv9aGay+Cm04Fab6eROtR2Xx4P0AHV0XRCAaeEKtMJynXTmAcAsAcchONuC1TEM9MHaiGzhwO6VjZMCGrHAzUSsL79RnUPb6Jf8o+uRDL9Tqv9rs+tf7+F7gTMC/eh+zDWQKQgaUwsLHVFhsJfvG/aP1emMk0Gcf+KVdsAksFEbW6+e6lf8o+uuTCTnIonJ+3DySoMxb7uY/Fvcb5owlyZGfr7j7SCuG6J1dFIv0K4pGocYt82gLk2M16YuxCX8Aa97Qz386/5bna17J1WqtozoUG7CpJcodKmk7oBAF+/BtBQVdddPs3iXJDa6i7dQc1yhTZwxx5JbcVQG7hTRtRJXARdcSLaLWLCTHchzy6By9Suh1uYrPdvxmBul/4DAL04UHviJwjoiN2mDHrJxYMFfRJ/owLmEBTguBC2Bn3Uj/PByviuZPBPZbwvlYqz3pZKrI/GrydyIHgDTf26AICT6SL2zvC/axVTbzuMsl9/yc0T8S/5EbGV/Dx7r1lPGZRPl6TwKdxsETUsONMoENPYpgAAYALQFTnCv4aw3vAWzK9IhrZaUTpg2b29DgCghCBjK+diXvQSLkKm+xWkNc35tcum8usizMoa8m7kizikXbcYjFVU4yOvf7uw4nK31Y89CARkZC7TYtsnryUz1bYxLl781L993OnlUMPb9u1QtXAA+pTteaaZJcjV1vol25vhK/2e/sbePa+kRmFP/KgzqzVsX5JYZ1XI7a0yoUwKq4rQ1J8bAFghVlOXHsNEuRHwBTkRyEg5MivrkR1rsCzFi1ZIZhehy/oVY5xXxC7prCdxqjZKox8iABBJ0LJWEqx6EUx0qEXKuetPW0Bp4GX/AIDWgWxI/DjxnwU5hfbSIwaVSwc4UX+uisdkr+iI6T3HLmLO5bxUNpFXlgW+qztC5E3xSarJLQ62GKObvuN8Lxprbsv5Theu7PU3mdXMTb+aDKP12RECX1f/+c9uvlosccV7Vw0mk8FeGQzm0fDCZlw1bKaCB5Oh4PHLTPDguldQ027pmTQ70a75/MFlIDhpC24ZB1ZnGtg9w8CumQU2fV89dSaBFRkETsLrfm3mB7sm840zBJz6J/A4VZ0JYJ8MAMtTQigO2X+c3hoL7H3+ffjw/tN0PdVVc0LuR0pTg7HtkS6rxnUhMrAYkBJZMZSOB1YsQLAY+k0BAOA44OzRHjvheODCLe3YYz7hkucmoFteJWPrVOBre7s8AOA4Bt0EI7hUtedblbQ3f45Jr5or0ik9JbLYPsnpsEAnyDKspQSp2Qoq2FinwhQeego+Ewo86SlWzd5CGp4/ZvdSB95ZxzUnseGqTBfUc5NZ7lKdaP1W8wQIOge4Euvx3hdQZ+L6jYskNlQVE6mq2Q2eUFh987e6AQAWCgnwsgGIlc2MgZ2r7q5fBVy2EADxWCALQF0ngTN/K7SqCREAaBlaFyTBppaGX4d7g7tX+3dXa41iXTf+AwAuQ57e4MdrC+fCmscBF1sR32JddgQuz9LfGsU114pSPFGQ3ubW+0qnLNkTlHKM4qn2z60HnKbvYdcocsW7nqDIixjzHg9SjaZ2ACBlFA0x39A8SBN+u5GgLihYaUggdY15AIBz4DkWDu1bVgPMFsugWOGKDDC3IhtlGWAh0YAaGWCrO6BYXiD5+ZaVrLAXJ71TJ/1xPkMrsZ6KMCTviIWLWUlDv4b8x+rgu1s0/Uisn2IwNoCkHAXHe6szaUQ+Bv1S5bfSZ/yS2EhFIeYszLKVrSTezwfwUXX8GUPplxIbp5iODWDOw4xb6VMiujb1PHW2u6lEJLGxUk5EDKsSQ3J3SJtO6gYApnT+oUHZ3CkgI2s33RsvKVsICl1fUbGOqgGKqZOoFXRfEyIA0BC0uJEEq1p2eR7uDWbl/ZtrcFpL/wEArQy6KX7iAn3NmkOAAW3xxGaq6JDpPUuuFXkpt8DX6X240l6dKpRS/lCGfTt0IkLIr8HSZRKkP+Tvdk9R0vVhTXO8UC9ApIC8gqq/DQBA86ma7bZp04Kq9j8aJ8mx+cyIqgndzQy0rinM0oDgLDl/VyRCpitDrJAI24GziCWR0EYWEwAA09pwV2FExXw9QaWjY5MkWe9KJg0wKybXsAMAZItkxBJKYwnGxZkTAGMy8cTAWDBJTiCdwLEVceB9H78d7ybLFKhDf5IKmUSpHxb7qiYzGEkw6wVM4C89I4i/Z+db9hq2lV2Gxy+Oz/XgCX6XPs7uyZZVBi+zyBAAuCkEiVsJalMspNkp6bplhm7GySmTKOmYcr5zho//JVFV6q5ACSSodocEKgbQ04AIAABAd7nPhCAKJJraq/+bdtPEvdOL/wGAATQHuT9bVlaNtuzmNtGWNd4m2nqeblMuiVp3BKT0iRaGLFheFfPBRdh/1WznQV5n98+fudKfy1Z2gyDm8v8LrnGSB5BX5kZd1nQxakgZm3CBYzg3RiQHzzx0sIqV/u9Z17ez1rTmsTLfhnlemVwaRUV2p8vHN5otdrtHNhvoV7xlEZP/NRfVtlnIg8CTg1BlITaXDG+//lcOD1DmyjP7zd4IwuDbGprLw3MXBPRNdvGus81kmYbdG4zBU1yATUkIT3P8FABg2lRyFObzShfgWH47r5mY61aYogpIU2/lvcZxeQBAI72qQ2SNMZybW3KjWhkzgdzcINtcQe4oaLC6oLS3KyqqoKcLZ3B8cFuaxhpkldOamNToj8PjqM7jg+EvhKSGe8/44B7NMG0qqZfYQ69UejDfdiepoZ6MBWtf11lhdxqa4gwBgLYG3/piJNlZgINsJg5YjTu/u2jdMECfXGEwe3e5Q4A6nwR8AKecCGGZKzzTXThNSbS9IJa1f7xGsCQeduM/ADAStN3r/iwMnBpt280l0cIaL4kW68tS6QaluAS+TFSOQKXtSfp7fhEJU0GXhEDCbGegREGp3XY3mIbSVcFYsEKlO8vaAYCwCgqwLV/EQgVMt13EQ0nk3EqsimqAVZryAACWm1dVAyrguKkB2eIZp0ASMtuzIL2yISWQBvwgqFS7cM9vQ8orPPMRPaPOKdb7NlpiPTvCkKghFlZFJUU4ZeFTZ7bfaeJKrF/HVmsACRgKjkFPyZbVNeKtDn4n+I6MxEZ2FGJ+ugxFEhy7VnrVsanuvPlJbFzHamsA89tla0tTMmsdpYPqNJ94OqiVldRgT4qpqoiKDnXakS0CBwC2yx8fKpbNPQSWY+02ff2ykoWoL+exKDRQRZ9EiUCvnIjpJf7/THehKnNF23J7kcvx/rnTsqHG7mr8BwA8gHwN9ydlUdPIZzfTRClrnCZKradLpVsctixADI6W+1kBl5WxTUnjOvUnmOpkCvnufl3i/zjVJ5PeVMTLScx+bWg6ghEwxeTzx1O3Xu4+/8XjoOXeNePtX0XpAZiL5fH4ZjMxQ353C75C2hOOQCKwoNjPY9CZ5c5aNdNh5gWpe08t9HveviF61g2vXXpoZnP0dTWFUSrCpxdPz1cPbwiPtwr7CG5uhMxVURnBi+oWflx5Ws1uynDlEPpQJ/pHCmOXgYVEr56eL5pq9T0Qacqf3cqypzTeZugGWTZoPTBzjp5Gf0YO1APU8q6zI6xRnklaB7VjUH2czHPVyVzDl+ck13rri/LRFYbyNkD/+OjIfA9QP6W6dp4IqB/73TS4Gf0g1e38dLqQ2l/UXjn1MLebqELHIGyvtbKxa/aDPc6gCnG26F3LqPH3wJWmjRMGRgfn4OD31iRbqMuFgG35ptluhmvzvMI2SJznU9seRv0MAkyCyVmrpV6ANMsB0Dl8lbjv1vEt1/hzQtHPp8gdDgM86EsBOC7MB9VkXoDf7WNhNR+0lgdiPqRB718BpAeK8PvymjAIf+X3US18q8UZ3SASjn2DiuC6Agt8B1q5R+W7OzheFjf35/VyeNTGQah4t3YTsHVzOm+tNdUyQvOedjAQAl/RYTundDToiBlmngQ6bobDp+uXRnyqOnrIyCduzQbdrvSIEizps+EjO96RlZ6kv3Xla7iQvYdQSQuw+Emr7Y7zm/AXwsWbof9ecWuo6hYnbVy/Xmga22TvyGomokqNP+HaT4jeo6U5swqT5Ef8yYcxFwEiVDO0po/308VTjiWaAwethuFfiapmcx7ahWGirPgGQgq9ac+y3eswPpG/UElyQCRd0sY7nUcTjcRzHO8d7gZIhd9gSjeiGad7PmZbBvmh3J399NVWh++YTN0+IVrAfWtl5gt4+AN6uqOeu9or1WHM4DyAvsmYEzsEK8DZMDZWzYTYj1dztY2H+YrYgeWcuu1x/vTmzZDypkI/LZK4swYdSAGA5gpFFXtdJQZg2DJgRr0LmsNgar9mbjRiRRfkCkvpgs0PzFpn92esXNvYP5I5sxrCSqlDFcGfIht2U0UsXK6NdQ23lzCKQCYa/ECxukbQMpp0fuHhOU80W7ZWxYfqfMSxPUZBEyMt+tvTLzmuD7ix3mAPAPCk+KszglQKsUCKixaVyu//2GJRKH6nSfMXSOq9Q6SYWSmo8Y2IUZyenNkYLrgaNjKkyEZBqapQgFpaXFVBqVUQQO2Ct8aFru0IvAWNtrYPtJxEYnULs6tiRxzypgB2dvNjKbHPyexObdLhSBoFAm4piq7hYFXu7lVl7lzVDnStKn2pYNiFUm/vna8xWqHo/HLHsC8jYmDlVCYPHdjEwhlMSvY5wBnfGfL2+utlPHnsS0yj2zt5lbtfKiImHqjAvuOIL1PNvlTN1naZLrC7VFQxpsE6aMu9bTU+3sEuKG6ooDmWMOWLivNo+oECsAzfJ9oWu84Ajse4o133Mh/vYl7HZaUewW2qwWFhJJMVweF0ITvrAYf0K+PsBfuFW9Y9aYDrUe7ChZQc2cfk9tiLGVgnNIGz5SqOVPMrU7DMjs9zxTDskQMoQzSPGSrpeTQcRunU7mEdU2PEeBw/j/tZRPds+1Xtl+88G4DVq8nvDvBuaXr9APT3oHDKmVae2pphUPyHb9u3q0EZtkVMRyKA0qKpdg6z4R07dHs5mF8RPZKOr+z/2Ntg6qrV2ZKeGt/zOqovIewrIDUNJgBAuoFBzX1M0lIXUQJ35Z9YJCxd1xnrSMIKwgJ2i4Q1CpHYWACk04a9R71maou5donmRg0rnc4dgpeSsclFewBAMvPaF84ifeJHt6A4rOktUENLHOyfCgzUSpSGAHNyClYjiNXAqXMENlJSF3ZlMmJ6PIQzRq0YyxuMJVZaaeXYhlxeRTY/BABxodYT7pslsVeeuzmA2ZEqV0SlcfV71MxnX34XR+a4O4O+4ZnVgmnL7E3AqAXEHsDQHrHdhZDT1tWBgEjqUWpPeO+t4jkMI/pbfOgGEHxRMAagKlm1WK/Y2xRvvtSOD5oz+1u86QbwGnnZjtlWUlE/iZdYu8sHM3XiXhsv+1vFpepZ1bUNEztmc2uIYUjhNVTQTACACtTmHp6RwVopaSkBYUgqn+1CHmlQB+VEEghhWdtOLRa3a0sbVuC9d9/VtsJVnyDvMFgNIABIQ1b3B0dA5M0xyCbi3uCTeJgTpRis9lgBhxSshxKnsP6e2bIxo92qUOhn6/MV+d//0Me6jPAAh2oEVRrAmFdSkl0NcKCH/BASFYsZVBnU/SUHwTcCMCSAs3UkH1zPcp/AiiigAbCHyxkDshs+AACXSKitgIWeAk5CfYaeCUDbhomfn+Y9QPnNf2/ZKtRFyywHWzvNILBzb5E1miSrkcYLSqwbu/3LxoUg51KczjwmB+PAglyvkUwz5XbZWalibkRcpbsZawGlPWzkiVy0DyywYCa8HeiZB7TwvYged/mlfddLsM6xpeLh36auufAwdMOLtWIcrjnQlHbd2Z5MR3zJT/59HU72R7Oq9xKtHqqjDO6S7c/3z9by6mw1Aqzfa6+kcHvppxaZAAApYHpk+ngAdck/GSTsoOuMqJCwxyEBgSGVYf0dF0ktoNIgCgCoGqQgiGiiUVQeQckuFmOKTf/n7gOSleUT4KVRXI20SRsAcI8OZtRCjQa1ji79JKILm82aLYNNcXHrwKalVLvIPHKhRnvSuqIHvVrgDJVKmui6OpH8pSpwfsmkXZq+yK6hZ3lWGpSYaxhmbwyaC7wC8x4avKIcO4D4yg0QAcBB4HW47zjE1+O5Oy6063NWrkqFAJ3ZZvdetrBa2ZbeL7TCtW+bOfQUtl+LmTLB1Snc/ZFwsV3qKcKmxIMn6mn2GR4xD9x6KU/pSwgXTQ2DV4qckC9DM3w3+O7Xs/fpEcZ5fuFwZf/VoArVarVXFIxoxhWepT+3yAQA2AKu2/U4V7QmRZSQkgMY5bZRQjqdZ1SVwJytFFIa8lAK3JZIogGrnAhfA3XhOAQAQGQgiDjgr1BW5qbcLvGC44o9u1AbAJi+Z7oOqiis4+K8OZ+7FV1hzehAC5Y4W2KcGGjTlZqam/GnIM6Udb1OJqNsxVk7Asf8MMLZkl1zAWfbRzg3jC8cmXcBMDo5tjRx4gaIAGDd4Mxw362IZ+23uyPqNOWqZEsPVspWefiyqJmky+8XDGjhduZvfAM1tjIDDdTRyR5poPsExEyBbnrEJgGAz2hyJcH3o59xeLSdi06yMziaIfqv4uU2gBiGAtLbyyPswffYTTs3v3xpHV6RLftx2Rp/twG8YlvGXURCAj9uz3jtpF/LZUK/Ulu+w5t1OrKGq5EnpNaD2bIZKdyC2poJANBmpBihLs6eYiPYXUAyh1/Fg87+s3RDQ2mQA2lEEoIHaNEG15uGt2uLHEZUw5vVA7qYSGKEldoAQEzEFpdWFJjLbBGMTiwi8yYJoGy8hLjdNnrAdHLNjRTDKYuN5I+9EcNpDRHWC4XjuNVb86UGYvRtO/KTfvFf7Se5/yi75oAkh5CESDogI7tIyFkTNcpKQ40eGqLQ3VpC/+/Zcg/uJd+foMFfGTq0NvUKmDuhSynSLb4PFw0t1KRP/rLrqXSadd3TydH0qKaZl0M6/80IjP59n2miCL8MG8LUI5qZXv+sX4YVuhQn/wd0Syh8jaXtjzz40U4DALT+/IY2nlp5sKUyvL/325q37bHSmrhd8s+9D7+mATv0zlw3sCtbeZyGEw+hcNVMfjqSFG/JBwCQ2iVRjHBFI3A1q7Lj39NPM8Nb+hT5lZ7PR9nIAgAs9nNqF4VLp+cSnelI7RFndq60w9TV6eLi6tmCePy0OnjacL6kK/W2Ktiuc3ozlXpxVUqXLr35yWHDd8GAc6/J2+SN63Gkm4xvg7uyqndtAJNfEghMu+aDxwRYjeJZ33pNDyN+Jvnc53rduEgtp6cIb8KuCQDZOmDPtWfHC/BKFPBCmsJW4SAtTFQ7IkKtXYH9cQgAgKQFBZGOVVu0Rm/rDRLRB0bwpXqNpj0AoG+rdJMiUsIUpA9WtXvABJgtORMHJ8B2ZGJc1kcaDSwmlAJuyF5iSfaVvbDhZiqxfK4AsVbh0mYddO2K0ObYPbjrHiMWmmXSFOtOr5pl2eD8YTuAuarLWI0pZuiFlNcKX3ri7YJ6KafLGv53xqIrZD8mazWSTfmMh3/+qfj+yEPnJumGwMW5CJiQc46vIxAGo6voSmaZ0/UXBOnOsFxaKoUxbFUi4kuI1GcOPI636vUZ8oABWGlVX+LG7F0b7RtIEqIpTHgrXW1jmfeDAlj58XNKM74D/Yw4VUpfnJr79ekSkKlSbBcS5vobroiFSwpyLPg03fgL5WUpnsjBOGhLhxcHCVX+THHiB0dakNwvI93sFfuLILCfh/8czcVAOGvh36fay5NX5oeFdiKyTcQOh+AYptd1gcGtSilxHaArBgBZHg+w6oHWHfvmf20LxfSGN8NNxDtdayf1X/brGy2omAMUAgRSizcFLBxcvYncv/uBWfWV+6z31DpZpoSXkSYtsHx/DkRP6EGNQ3VWOHZtipNTwfxAk56WbIJ3tSYa6FDGoNGLiGyRUTppc+LAjDRx3xURLMaXPbMIdQ40AO6wwlpBC2rO+WW0aXJ0zSk7JdozkSG8u1sP74rxglLUN1COzegUeQgjPFsVc0yntUbBay9W4aOgV50ZAzf/lKd4yxzQtvPN8ORsM11W0OwOQPlvZ1SE8wbPz1CG1G1G+kMLPcGmQmuciDM9EwAlX2lvhkuMUTRngYf/Ns3KmYQYe18vXsv+MCQOc936V6pXIVifODBGSFcengZsaQwHEHkrfoU/hq0i60W6Nqrn67taYQldMmFWGPgIj9882jf24ThLxs6ap0Sxz4+Yo5I6p/8UtkiYXGUSGrWuMKN7FE4HiNCa6nGxfrmZ1XM8PNGn/YfEWK8h+LlbJQ/f4dJ41GEXhHPamN1UXqsjDrYjzxq5XSrhbuDbJo8RzaubqCgcYYluT5ii2wq26B4wjNExGgd5/ukoZXC3M9hhx17VbJv0jlIJJyQCfJp6WjIdEarptoZuup3M5d2e0M5QOKSHfrojQUF/+8n2bny4qDsMfNTtAid1W2ojw4abOsOHn7pHBI7quMFT3cHgKqsxWI2CP5xlqi6NaA4f7oqpwg0z856KZTc3Pcomgay5mRqkdmO96U6s72w7cFSANKqpFu3TcFwjDKoGdP1GjOfwdG/1xD5SXH0UwOuPrkLRSNZxG2YmYadKZV2ot1DrONsVMTGQLYU6ESyHkgVk8+gakVRlN1kmFS2CLlmr+k+s2SUZjiLnIr/xwq8N2aFrTO2LcB0MLc2s9X8RE304vuwa2l2JNThTvHeGmjWc0ee1u7Q6dUKwku5ZqoqTO9WbEQIAUz1QT9kxxXALSFA3yyAzsbvpgXBmnOyceiDbcB8G6qF0Rp3YtFsv5WlVDOE2x3FqTJsw5NvzMtxGyYf69hr/muk9pWEIT/U26JVd7U2ReoKcQBhKByUMmm1GAQC0AFKyDNHbNF4KEljt/lEZZpr6WLlyxaOl8muiLggDtadu3UQNhEjqiYBtJ4LsxtwdhwAASK4el8hdX7hooGrfIBHoHhVKadoDANCzLksVksJepA+LlR2CATfiTHarwepiYrAr3KA0bURopy13RXCrV3Ype7IVYVYoajz25BfpcHG8TtncFR3rCE9M2C3Ju00saAbEbpuy+pT55Zo+XqKBw+OVuldLTwKA5hSqUVhqNwC0IKipYr52EudOs6lN79Tb242PpG2ma1dl1kemmkrZTAgAMAHGVcl1Me5tYMp2ZudKCCizsQchOgGBa4gRfWK8ZkJOM80x0fjeaJ/7WfSPvNfwwzXEboSAx0GHALGjBqSJJ0zEF+Jez9td+pmgUwIIYj8y8+OqQ4CAgtjmw8SMR3m2T1YO3YdET20wQexvlZvzzazqzRbUfkLA7ahKwpMRJQAzipNRAIB5NCuBd66HWBLrFVFCXeRfc0m4K+8ZD/P+N3BPGPBEwuuRSLyZlyhBNU2iAICakLYREOn6oN5iR2JfA9WrbtoDAPqmutkrIiXkWvpgWSdwTIDJyZm4dgJsWUuM600M3WjY9c2z6UIskl3Zu0dbylRiadmfqG3XUmb1ZfHQZOOBfS8Of2PzbcOv7bEON3OALJMMmRjYxSJ2gZeVZDcN3E5zCQBwVyTuhm1wJ6hYyUGYhvs3OkLeBmIPPyJOHbFS3yWJs9YyWdKOD5tp+uqvbDkhjLbhAwCYG5I0ErIEHQi0u2ogBQVeL2UBAOACRJQCJbIPIiacSd6UfUtFlik7LJYhHGnaWOu5It2yz5AJomu4m+ExcCZFA/IJY/OTj+YsnxdP7oPHptZZh7vJribgGLS2Wu3e3MeEWK6BMFaM5Qs21YwCAGzEyrnqLPoDB3ACKOM90zSgrDDQENCUSNIE2NN821WO67O0pdAjiaKMSjGildpEZn4BV/R6OTwAwOkFpYgfpSBZtJtK/b9B8piLNbiivKJNQ0hzw646bfeWMpW0DRmgyw5uaWswep+z07W7IK8Ta9ilxNrj+qlHOfPpGyKT42NujRSNf+b33I/pYJaO8tk/LRACW15sW/dBE+HwPrHkmUEkRogZYmB5PAUAIfHSkwAA60Yhy6V2AwCuDGER5mOply9xhVhKvx3LTkLuGqowKAhmlhICAJgsxLYYjsKGMmoyrm4tjZHVEpHL0TaIXC6ECaWvusYiH3pxzOvglkC4vOx7xpF8unZYK1E+r3e/1aC/A14WOnD2qS0xoGBXqY293SUWoRBmMdeGgeVmFACAZRL2MUwnSOBQDuBlkcJJtFl21HUpplUuv8JuC4Mjgat2kc5zMXvi2nUj3L31z+MQAAAxtiRKTMSpTeSiOHON2gAArwsQpAMqKhY/moM0HLupLTlESJPjYl0XEUioWSmlA9lfSHdtX93dC7ZMJVfForhbEmy5Rc2mYEpyuUrNpsvwv7k2kOCE4Bq8K1AiXAEbxUBEEvBQBgkxazSeBACKVMRlqd0AQPeiKJ7tS1JjOKbkuWMGUlVLFYH1DooZHNZiQgDgchmTWjkuLRDlikaZKBEZjrZFZLgQNhSuuuASk2GO7c/BwAfoPaCVdeSn2aejxICkVSVbeCYTskDb4IsLb7ynJCspAIAOWkUf9QhmKyV1c0CPIEFal8+uoB1pcID2JNIJh+ZWiQIArCflHAicSA/+uGPYyxOLjdLiAYAi0DGXnRa+TiywbeY+cXvXYbXEtx1imrV1GvM6ZtG67kKETtXXupt80u6ko95kJLLjpWtI3QenO4DLvS2gFm0Y4BE9IsgpKAGAjdnR7gaAOoaV+pw9Eo7hLrmLR7yDDAXToI1BMC5khuYT0c/K4ZfBk2cX9A/7FJKICQ4BggBim/ERZEfx0vvJSoyefGJMAgBiX9/RVBqbrjbqTweM7c0NYzFc9D4laqUAAEKG1ZtQNeDAFk6CN9BySNig6bJVUinqEMnUbZuWsnltQS4SgJ9IkL3xAEAO0QrIC2CcAbbjAiG3BmPfoJ8zf1Eq7SPGuZiP1Pj26tpW7YlcyeGLL96LPgmxkbBTyHUTkLmrSNydUZxgAgCcALVlwFRaSCUHYXnu304NhGRA5rwz0wPkylYOF9acQyhMxZaPK1HwS9kp3+Fd35+KjP8nsawP0FWYHyvsdmpSndIkMRS0JD15JYFX5a25E3jMchYAgOUCZ+C47OVW1pTE1djMy2pXb8DOMbGqykAQKu6+pErVsUBs0qo/g+4Ol6NLNW5dS6iayDRD00QTXVUnmHzUj+R7wjn7DJEYJnx1jzztNfwqvp+++Mg4WfcY4XruStV9YfwxcfNYvwlh3AC4G8VxKQCAK3TUe8D1zQHW6udl9Er1Z6uIv/rbrsGG/tJF2gNcuM81zsM2JZnjhc26q07BKXN2iXI96y4N9dwbJEK4jitMCb0N8QCA6FRSJTcifow8onBoFGuaXmO9yFBxsXnFqi4Z7v8ZqygHbDWbs48QjCwfezv92MApa+QKhKCqZZcDUHVD7PLUWiKIjVdhHoXsHx+Ei5SVwGTvKyq6Dvjf9LCfaKMhyu7LMxmf8Mwk0+XeBuFZ2dDTlW7jt+L3Z8NO2WeaZn9C5JReGPXSE57XT93nl11tSl257ATPMD5OQsTqdboGlmNGn73BBJk3b4V+M3WjOGQvuhp6zzYaYEd8eUKn9Rs4B5VDBjSUZUX4Ifq4CIRq61E0JT7p91n2P1FTZq/IwMeU1UMaTrf12EC2bODIYrLSzMrtgdrnv4Ni3kx2M+F6WXKJQAY0IS80XiQHAQU4rsKSznb1SVu+PBU57mwPkdeNkfXwouUsq/fsHygSHPYdfavl07W32hg5kocxaytQK/y+3M5XBgWVElyNOX4U7Jzo30/LKLTxPpY1d1pxBRSNQ9Dhwa/0Zno+xUQJosEmC2QeAt/swat/j0SAU2wUjEoAUZlBDDimCvrME+KUgPUGU1DmDC4Df7nYrhu0O5zDakjz5FEIynQhnhDJnu7IZE+3kOzJfjSkVndksic/xYMgIR4z57e0JkgBUGBsa7x0+TN9zoaXG6A3ObSL3wY5iAoKKX52EwPCxCHJoHAHJHvqWlKMR9z7sIR4RE9m5MAqPG0ec4Os+rAOvzxHMiGr8hSFTq88uSUCMjcHT6EVS9W5sTYfkgLQYIEu5qa7a4erSGzk08ATnJPrOXjwy3hDx+e4hhIUEB2Vm5FO1JutcJH+zmOZJyBngXRgdVfHw5/wjlhGRaOTHyoRDkWVyCx8yZWhrG0JAYBhrriZUEY1GMGNqDLZd2l8OEcyQRHs0xSyAzTYNyw+BBrwdO3UcLVWP67bv7w5Ex55FeDvdSeYP7MANo5UrV/TyHUNTK4sV3PMqpW1IuD/0pzq19fzhTvbvfKj9WvHpxIgZ/ASJUTmogJW10xJjTUAYP+EzvsJ3M7JhOA+cfdSpIUuR5mECs4YDrZqrc9ei1G+Qi+KTnTKLUW5FRerm1oFYmdMucEDE/bechQAgH2MVRSIFenMkqhM+ae6N8DYGNyt98yl/FMAVwsDVwAXRZJr6aObdwEADIXbk0RTN/LBxuLQukTt/R94WWq4IB4AsCQT5f5Ya8Hs2CpcWNNaUFRlbMmS1+2SlBjTem8V1F5jJ6sbsHBCVEvRhZ66IWdCFGBnInoJHDsgUAPAiXZYXZjk5FG/cX52cRhl4XJd2+o0eLvLyQQA9RlS0+2pGKPUoiAQZ2e7XwIXruysuDcolAZGW7+3a/ldRGLjzOpkbJwGZRneoNJqka02Kp0REFKDLBi3J1un1Oz6HdJpeNvce1XC9xxNiInZJ7rAQAyvigHba5SEH+5iYO/oHY8CAIhku+k071dJIyXAFY7bzOD2WlU+c63VX+SSBi7IJZJcvDTq/sULABhRYIkbFRMtUbgOomLiBFNcuAcA7NKy2knRzX78oBpX5jkpkw/sjQc4EY8eGCm1A0nZe+7hMXbgS/7tgSizrmyKcD00y4kjAEiCJqCSMNK29UYqJNHIMKzitoGZ08oEgA1AcqqDoRhBGl1GEbh2L1/DTFyFDcY7cdjlNHXL22nlCSmkvMvZH0CIIWVH6vxXI/pTqVOzy01jFF7IzjuAeKG1ddhuwTRsZFopAMAgzeomcA24Szc7f7YuC9zWRLWBkXSVZCTV4gUAjMy6aBfYTRyO9S3uAQDdqFSdFMU/ou81TgJo8bm5lURo9fSCVfgfuA/Y/JtSg3qe0ReayzuSnfz/32fyU/sC33T4r+r+97/efpK3p10dk+2qOh1CLVOGLYuDJIatUWhiB0nif7vHKvNonRxh7OcgiValYPxB5Tx3Ocf3PDUyaYrwlPWL/wN9fhAlBwCAIV3cUloZvcLBf69h9WnSSgsAMIZuhMt1KWDQlBikzDu6jmOvlIipY68lidTYrkreKCjjj9RtmYKsM7/g6NV+zfsb3xD8jpbTqg/1+eEw4R1CS96+SgoAUMWoVamhD0MUB10Qx3+76FePGkvPXF/GOwQzg9GBzHuOuQ5GdRBAGBH6LgCwQ7U4UXQcS0tAFxMJDKzFAwBc0JE/LADlTS7AZGMBYKWUCHT5OwIuIZCwJLV6gq72LNSCOxPbG4BUQEDDABVzHDau36CfXRxGrcBB1zYdgbxeTiYA0LcQzW1POVkUrQgCzrSKTErgAmuliqzmT7SBmlpICABMVfn1BtauhWM2uqHpr00ebeh2puHiOx5feOXZcDy+Pb9ABGHVUD+ZqjgY8/MIhVwAQJGHZVOZEh96Z5LqMcM4UNH2/mamI+HlZ9TBcTEKAKBDVKSenZykkoBqDl0Vl5658q/3BscMRm9wzOe2nEEnCVuUCgDSuAsAYBuaAiXRNMtAy7FUY12ie4L7vywpLogHALySabkuVrcMc7cXFGM1vavdKFlZJna6YbtkBjUnpMICs1O9buceNFtxCtX/NuNBtyQUy/FCT1+qhOKuo2cmCqcJCNRc4HwsrHbNCZdHTX+T8KspMQq37thWz6BUpeVkAoDQDand7am4jVL7BIF4W+3lErhwaLHizhI5RUzUUAgA8CpNOWkDNsfZ2DTzjBqbtswWsemVEDJgF8p8NDP85+sNZ8epfhYbWqprXrSJbfsNQSxcOWR6Ay1IAQB0HsDxR6v2sZWSXBzwVjSo73djclR5sxqZS12pMo9nytWUWMxnd0zwJ4oxkXoUXgBgALXiorqgrRLPuy1xUt13DGdFPAAwOpDZzy6gUA4wSXMKlUwHvlRcG1kPb1hSCg1mkysaSQKn69Mc25PukMBNRqB5106DH47B3Z4oHR1OAJ1vl9LhEqLtcqoUM/p6+yZyt2N3FzXKBIAy6gRDHROUO7jevo4IxZ6RM57DI/UXIN4pFmjwUEZ0Ido/FugXtT6AaEMKT93zI08yf6ynmHIJlcqRhqj+sKCXoeEM8a2PJ2qlAABrQP3R3A5UKYPWgLt0cw4akaIDIyCnQbrFCwAEqbqoMvR5pz79xOIIm/EAQBCtgLAAxhlgOy4Qmmow+r3vRHxnrfpvsRrPZ6TxUCD6dmoc3lB89+5/f133H59lmds1xMd29brMHiL04qYJAGAkdBsGLwVZwID5eSt7NFPTwKnHyq8yu6gve6/aikPZKCleqsWj5ZrgQlS1fPV0zV9TR31LTOsc2M1TLXW9Tsc1fu04OF6OdS3f8HY4wtonNH/x0eB9BAfkAdkr/qsDT0X1UvLixpCvjJhAraJ2mjcE6q8p/bTnq2qjhVH29QsAZ2t8/32ur2t1dVfX9kQyQgLY+klnRh739Av0BwtyAIAhybjA+eM78dpysFXcRW3NTcHso3i9zSwAgIqQxuW6aGf75elIWixn6rxN856UNiUT63b56KfSTtJz9f7gxt0l9Y4fBk47OoLEyMDqcGa5EP2hlUbyDcoc2OMy5MwU/hZX0AKPpT71XdvktRcztmdeGDnrjTDYgnxZ3rRjdNe3S8OyGzX3EUVWxSEcV/5jqhJLiSIlIeDSJD9ahIh8FwmoIu1TL1LoCXloX/1wR/5Wco6SoWDM7MbrZEUcIZYOysTziZdNjMojn/qanRX0Xhv/2MI0Ldlj10xWwUAqtpA6OKom2rc7PS9WfVZinZzsx6+3el+Y6pvlKxmsAlPqF0YBACR/Vb3IpQf4QmJNFlD8xD1wMsP8yyjVuPEYK+oU20UeLdfU14q2Og+7MJFjaJKJhvXo6wJLch9kkytrRXTTDnYlPWmtZufDrh0k1u6XJdrUnFFzh5fDiKfLl6Rnrn6NcQsVnBnXhvZ+aiXNMMLpJctwwkUzPD6TXapojbbfBQBoQ6m5/FibvUzR1vRbj43FZonmbW9U9pnoF4gHACzvLF9xAGd/wg10Ig67Z0No1iPYOBRnQxRvkAhwaM5Gsl1H37ROI87wNzJ7CEWKF45ABk1YFXgRU4MCKrJqE6dQkk8OxIWSpq1wUrL/5FCVtC0XM0RJN77t7BG701AmAAwIJmTUPRJn2iG4WtAMy98qR+us7I5jfNI2mwkBAJfL3Qiy2BznKWiwyzPjQMOKzB4vNCQExKSgVabLbEeUjHIQZ5cgyx3keRyGAVr8eu7e7VR9CydBsk7zq0S4qlixQXUZU73OC2tJtexTC1IAAAqit930YK8k9zVRF1DksmGEzPq0NxdQziAQtngBgEVUE/VRhjLRc4n7iZcEtbgHADTC25VSqPoZCvoJSjVXwMskQI33iO6ZAL8TRLuTnj4TrSdeYgSE84Zd7D7gks5ENgbYGUHgyhjaR+0KNteC2hOMrgN17d12F9GxoUwAcAt0LaOaTexa36AJKJUIlLBmOtPPXlhXsEwIAPS2ijJRGrd/yU0wKtMsgM8UU/aYiaYIg/hkYEcnMOFHMsK9+E274P0y3jyRTpY/Z9R3a9ta9+4ARdFwI2ylAABEhtSbDkeBROTNLRhnEEhavABAE/awaO7A+InLkW7GAwACTUAGZZwCtONFtH7XARt4gWEB8MXpDrvYXcaePcZ54t5O7I1vsssSgUdVXSJFbGMiRYxrdLuytV1n1MONMgGARt3AUMsE5Q220W3PCgW3NxM/I3sb32fKQv2hmCz4V+zDHtnK7oZw/5IeCBDpStncARhT6AWWh06nz+9BfUSiXCn/VRhjnftxpefRcCFopQAAQMLqhSwFAqE3NyDOYCNu8QIABaYqmpr1I8RPHFB74wEAERT/iB6nmk2D3gTQYhOQ3xeRvaZ1/lxYRP+74c/F+nk3I2pt4B9/O+yPAzZ75/7jvd0515vQKvIOOwONj2wnZQVEmQ8aKyYAwCyjqU4N05jNjhwcscAAuWGXcKp2F372oFGvD1CMaHxK1XGcv3dL70/2RQcaONkXPkYPCP2i6O1QXR4+6f/5GTM76VjjbcVqlYastE2FxnBFmKlWhOskM03RMluF3T+pi1016huUmucBE3xSBadsJ+mmpZJrIZfOarpLX8pJuba1xYZUrnt9exm9h1jSZSzZu6wq3+RqGbdPNAWKR/IYH8g+VwWGryV6+mX7YJ7z4+6jKWV0+genV6xYq4BJRY2EsOYAXZpRAABXAeG46Zlu+k0ixi6gNOPxXzJRcc355RiB1HoFVQXYBSkfloOdHdsJAAQ0R9tcSbRQUUFNttqb6HjAXVUyXi0eAJgG2vjn3MqSA0/enAapZDw7DJMfSSveJ2CRv2/ASgrcQdsdL9xAi/5E3ELDLoEO0KjLphM07jLqDM30buuCmVPKBIAqrE4ZtYenOhUHe7Hdw1D8oJTBb6nMcjMhAGAJOLiNS98Cs+KZLe9Qhmm2ILO3BprFCojtgvbCbrIDz+2R9g9TCeNS5fwUgDOCvMDD8LZSf1/3vinRxhcrMNbs6zn/lSpYm2k6RA1dYar2L+tTi1IAAAoI46Znup4KiRgJQKnWJ/HLZl+YrM96cyTM1YK8o9M1dQEAgamITvrsZKLmEjfhUNGxuYV4AGB/+56Alcs6sve77XOaudP4yZTW4hNwtplofgewup6zwCotSk9ORGAB5xeJYGQXefuXFSKkrkSqLLntcMBUIHeGhU2fnNnJnaYPl7VxF3OS+9ixba550Gg0kwkA6kOZPj71Hg+aGYfAt4NJKYGLplmMVmYT354JLRMCAHO6fwIpXGMKPRPUmXKOJ0HX2SaYCsIEmJvzGeV6wrOnwfCiskuIbrKYn+P4Xyvubv9EaDiE3ZcCAOgQsHoIXgXykPbmjHBjkEfQXl0AwAfARQT0EwWmFQ8ATLftI8IQUIPYZtH77Fig+N2gDTyAJLA8JjCHXeQuq6V3CF6ZSB6P3cr/CUxOTJO9V4XP9IpdSu2zzFh0q83tCceKzTIBoEBZatF7iWBb4fw1uB1CKMmx07NyKuzny1/HvLxOw76UygGPZqV0Cgos4oEA0a2UzT2B8c6zR8F1mjKJdroS2Ur5tBO4tbTWvb9WYBo2Mq0UAGCRrtSbnYSRqAZcsQIiKW9OAM7gImzqAgALuirqvcdFgJ9IkL3xAEAOhIAK8X+cObBmTHofvwuUgRvA/IcxWeWbwIyA1+WmqkeFZ2TbZ3UX9X9tAh/ijASAjBNY9GAQEyupmTg7dkpCaQjB4MRZ/x2eRNWCn3u/Cf9EdiO6B8jbo9GkFCACnPhzdif/TL9DmGrKfhcwFTWf8KWYhU/bYPVxWfEvrNoCCFoV0Tc07D21gcUPw+MTF/srWpRWUjDWLBC+814RE/pJYJGFoB2lWrMCwl9EEF/n6R7zsF+jAenWe2Nc3JbK6FqiSy9Ktzw+Dexd5jAcKo7uD4KqHgwIhhK724WxgS1LDS4FnD++tY9fGYQqNoLY7L0BABoEGXO/647FxWLQZg2qgvz5Ua2yzQIAxCSIS3rbzvryJ99pfhp0hmXucEDIFBkxfFtE7ENPvoBcqq4IF5YaAOyZtdtodiMOQiEnm8ZWdp9OscSmJHD8AGJkL13+uUwT3MG1eWvNbYvusGIo8vLkOOmlvu9siracfRXuwd0WbAWABDi4znyw1zi/emy+gxCYfx//hncA7VKig/b9LJsW+K/TyupnbtaN2SjsZp8uANChUxNRzkBdZYq8xHSdWxKwtQcA8MQ3kVIqRyValanK5tFCsG6eaLrKDKPGZspsOswdGTh/BXMy5n1rfvdylDWkwBSAxblerCXkAJZTo8gCRztXcOCk5toOnKm5xgNnc/vtA7e8sEwAcAFnWFU3eKnaQQNMI1QJZ1Fm54RCAMA9exbyMVYu2HIF08yZZbb2xBhN3eOZbf6RYNnn8czyxiCYhIDAqEyW5iBNF9Aj5DAgFHlz/O5jLMH3Y80Ut+clYieA38VcAeB2jXkVzi/7B1EVeM+rnvQ5N+cPGmcGPdG5qAsA2KmIKO+YMJBX4FxiyXidAIt7AMCpSmGlVLYu6WhnlRVSzNOaD89FdPjEKNlzkdpnAjpQPiUKPn2wRNL67wsHQkNeWt4SBsL2E8XgTpiADO5ZZiODe5cZyWCU3G3xxACbZQKAuMMpUw13OesPhs5ilJkCbl9f4EVCAKDJS58ptrjeGQIkIpOZ0wf1mUCV7duBrSAq2rYEnClzR+Xh0NNku5+hn0Anrj8wOArThVsBIKEgrjMf7KE/c3ejrJgCC2lvLoDOYCFq6gIABchFBvQTzZFpxgMAAEM9BLFN0Pvs2KDchwCo9/rXnUCK4uXFgeCSl5behYFQ/EQxuD1MQAZ3jtnI4J5jRjK4z+42eWK0mmUCgLjDtKmGu8z5g6EzGWVW4dmz4fhFbT5Oryma6Zp3dNQ9C7sCQOJTLJNzAFH4FD4PBzWStDZuTRHcbxk9isBnQVcASNCMa8zL+7+H/ZegVSAPKW/OCDYGeQTu1QUAfABcJAA/URxJMx4AaBDqAbBuNvmGIqwZi97nPhi0gQ+g+Rd3pa3SyOMgkuEcXi959OluisVxg/tjCFu1UYcu79bmbyd/1Uycbo0AtGbc3mFODOmnOfExd3vfBx+/+/n/8swRX/CdxTJ1zR+PnFWdrM8NQD28LXc7VRJbXMNqjwcmzWrTtkiKJwnEkW7OpvTmsSp7WkdPzqnJaYyImS0fmce6/ZSAMMCBMHcoC3Tl/aEJEuPoaY34WfNkp4UzkT5PPZ6iYgQ+wdkn+cbyhRN6zGW05VAlWjUABM5vBYjgHv1x5u8bhE3WuS2lr+DjBfpsBqo7dyh/PRL6lACJuD2DZxLc74g9WxkixF6QlC1CzP9VZtkU+/dZSq1P/F05LAl8hDT2s60oiXuU4u8Lx5UJxRHxf+r2gb5COOLWgPKaV2lgVXmDwinIa5QEDd0kk9N4eKiujxXrISHKcPTevfQsNr9L1fZfow2OEYln31MtyDJv1Q/VR8kmSd5DxE3xceP6WFVlkp4iVMpivevpj4z90qY+Iuorp4WNlbk9k8yvAjQChYpn59DOJhVodWAQZrTPfZO+d/oSrRs1ED8qOgq7mqX2h7PKS916NjhiF35nTgikme2Qaa5eG+APyNGnxC3xj2gRmNMQ6vIrFiBGdFekrp9/GnztWfLzzwidK2nQnwRMenqcaEyFbEU5NJKUJMcNAnLmRxol+DEmi7IkiFIcw1YwttbHBjcuvsDq5pzPRICRREHSAho28TVjUlgdRueHBMS+MrV2QN+Z/1yAuGIO9aXmMgaNEtuWePQITYAHZCYjosrHqk5kcAX9lGS83wFc0UbJ+aoLTQH4bPNpoYKokNM6vlWe5C4wHXcnyGhvU/1MAfCG0XUliFl9y/RBnBb6OQnpzIE0e9O692HY9hD383kkkki+GkxesXCOIM6GwYjoxCon9SRhiJN0AlM2hbegEciqom+ooH+sWH3Sr/2L6vIX6juAjWbrYC6EH9uTl9GIn4jZodR6BR1r0xZsgtYt/WVE1g114Wg0xkK6CqbEm1evO57/1uixdEquRcn3KYbgxQiZ3fzcCFBmqD5y2H7eay/bvUUNs17jVm0CLLKhuJoJgOREtJFt6RrYxA7j0rI64TOAVK5kBpk/TsVsaczB4lvpEDibVQRODZTWHlTbQFgGkkzmLxdAaajhzplUp7Cq8MYfbhcaq2ZX0vWhrDdnE7Uf64+zLv2YSiU/ZIcbPRyRcH5Ky45d+V3XW2w4/uEa0eKmyCH5RH4VT8AOhqhCzLiQQuhi/VvrkTeKytgk9MFZbkAkHWpVX4tO0k2e++G9fIHrZTtWyMwuu4afHFIf49/o7XwW+51Yoq+J9e2c/lntU8HVdLx0ExRXHNR/2JsdLROXNWoWi2ZCdfwcln9UQsxLXR34w/JIIRdoxbujy7LWwxSMjjVAP0VDX9fm/N78axPSK/ZN0tfVnagsQ0Yu2O57RJXFz72T2d537g7mWx6A4eutuSTecREnLaFDCirbsiMEK2vhAbdHtok+l9qQLE3OKI6A3EiyffujNUp2+NQ2e+iRGeFhjlH/qKCzh6nJn+YZIOYex/FrJxhaHsi1wPsACN06hqUQi6Spjldb2gsYFq717NELbVa6XbaPYStJizgSynTOFgdtYJcsPh8Q6c1YlMNDu60HlrEShnY+SF8BhnF3k3L9eJB6kgDg0Celtjgs1PuxfHMLVfiMCjkwC1qfNiTeiGEdHQOutpn3GzW+BHBbdTzSH3c1oicV+xaqb1ZoBiQFJPcfLjafzG2WEldAFTuADhsARHviU4H+c+ah4fxd4fot4PjfoNlk101kMndDw0H7EAoT5S03r3X4P3uN1znpgPf1HwOJDwjo6tBIyQEYe8g6bi0ootN8NMNS9wWDrBaMdnUisfpUgAzFcX9LzeOWS/DsW6aoDH1mEwkG5haGRB5UYAXDByRQutCnE5izMz0x3nukeNE3LcDLjvUDTsVE0RmrXAUI1w/0ljuoZB5JHr2gbJc7Gh3UWeZ1k1ix7PwyjBtm3GWzFDXB3qpgbndl93aP++MHTnpvlvcpMeZr4/mITCBIwLV8gqDUcvR/1TylZO7TohUYds3gtet3X8Qt27dfH56ocDCvEK1iUvdzMddAaRT0qZhGyAGI0jYRLkBjnpVdc/OsPpvQriLqUWbhTKdtS9rjKqJURF1SHy02ptnxfLXLGNmI57Kz5gezsS7azvfEqmd1UNKV4p8Wx2Gr0Ka/cQUz5S8meSRsovBha318NqJr+DxLtSFNZseiyGu6zxThbNRjbMeCdBPyimH1EcrQkrc4dXwIIKLWNYRJ0lsH5qw05LCbMwWdreL/xc6t/l0iA2PuRh3JU908F6SCvgsYZ2aZ5RotIRvtOmwLoj7RM3VNnL/WMLIzJUZDJkKDmYX28G9QxbPVp+Z2l8Ok3wr4bwaAqwC9AdRNlPiFpSQgdxg20XgFg1wpLox1Evfi/9AZ1p9tIGwuMGvxDgXoH4g/rsr5F/d18uuq2vqwTR4Hl5fJpvoHeWDXlkLBnW7/eoVPc7bLzKtu8PMX6L7A1D6nYYP2zXIZNof8TUPPBx8p1PS+S65bFVw4U+5hR7PHoCEPl0Jp9W+IUNt3Wgql8L8RhFrk9LZQvjVoDojuTVfciWkRKBZ8HIvcg4H+HUiycGjQl67pTgpXx9gvBQFZJS8pKWDNfK5YuepbiT3/qzyfv71Xns0BSsG7MHd9urQkUQFik4XN2pG1wuwNQhLmzi1EWbEjTzJbgDMKWEX3O+5y6pCyrweSA8T7i/OAHcMZKwEK//YZABCwrpMcEPEvJQNu7wRzDrSCLz5XENaBc+p6p8Pf16R0T9Ca7f5dGyd7OD5ZOH4u9kci9DEOV1urZ3tOeAsEOW77iE5Nc2hb5CmX1pY+86XA50fhHlk0ZMilPXlWBPPGk/+msNf4XWwCVAPzqvnzp+WuPyUZ3eaz85GhJ56sRX7V73SMQl4LkGWDy2tAmtdgAJdPGlD4Ggtg4nQV0K0iWDzprIHUrANVW580kPY6UJXOaVMLaPZZ/43T9Lurt6B+CAGfchS42Sk8Gb1ruQrcykrYvneKQGO8g+RIBv7HSpINAMMu+puKwHwrwvI391idqmsDRVOv9zOJ52frnA5P3gMhbWEpNdnEUTnUpSLK3SIUuQki9MwY6CZm5OxKkX9dFAD9eViGz2++e+iItXo2mA/Lwg84i4LI6iZyyKFqgN8soSiA8L51NSbMpqb4TlZP0xyOLfN8i/itLWdp9faXHm2rqaBupHjaibZp8KIilOiovJCgZ2TMCjX6j1fFMrhn91urA0rM+fXZleb52F0UQFf7P5P6yhtUVb7CQtAp/F2gkJCfs2ao/HeW2Nr5lTqyhguVB7B9xVHrmkApLLtDaWXNIt1l8qA3E1AqeW/Hp+/gnkWrX70GJJjGZVzfsOfis4VoZz4eQ5d4xVeOgbI+yAjxgEvN4t+uYB4rvAtypOSZc05uQ+YrzYCU126jaWBvUHfbGNY7esdbhK+hPVkkAoEL2HWboeRaCzT6mt93TTxb5P+hp6G3uDPTrMEDARmfR2WrFN8aK0/BT+QFoo8O+Sz+fD2htdSpve7yV6K3dBsbCmuLbsHDpHL51/PmAPttp3f2d3R1kgFj+UNBQazSVNVvwwUgU9qtEJIp4a/+pvIEdd+UgFenu45EV8WqclDbZicP2WSdPCSr9WQ76/XkmhV7st6ajcHNkPpZQxpnBZ0FbQeHXoWtf1KbzX8St/1P5lMAk8NPBUxWTwkQGoIa8vw7vqOlkyPClLES0B9EKa7YIvPyRtRMVYnFYCLZFa4mwUywPl/DZbW5bO0qHDZSSUyobjyh3zkGB93S2j/QuNO7d5jTRIIQiSzbVJShs0h7tuUC/xqm10xJi4W0Ed/c2p86odzGGZFlO/PBaALltUd94saEt3JXWxI3fcrSWQ3KgdCqqRTT7NJcrztL+YKY1QLzig89AgGlbiSTYs+uZlfHLaLWQj2PQzh3grH2tCwdtYuGR/1AooqhH+iRaoT7YGUFTJzCVQOlowNjjeqorYz2oEnxuYl2X5WnBuTJMREdqzrOLPDIfqxx9zQ62LDUJhgfrJe88xK/Zc7kUFe311yCqmKtjZIFO1vtwMISaw67AHdXzDfreKecYQyh4UiiVVNusmLjjtG5EL0zcJUz+IaHhVvfLXqetXPvfwtlU0vYnUwUdUzMsIh9GRweBabKhefNu9IbOm9S5QxdyUQhd0ry+uWjaClfWlItkFoi1/316y9YKmRaYliwtGRvSYreklW9+GRMHCNHxpQ2pqoZlFXPTV1IO+XmFnublPvScskoup6Mom+7NKK4HwFMmJZoKMRMtnK1NC0kRSxnWkJlS0sWZmEpkr1qkouFlpAZZFYUtERZBrREjgEZRzlLxv/LUe2+SLcq1lQYxpKKXXOT/cluihUV9VhQcR30x3p7jsnEuyR3mMSKaEuMqyZmUwjDt+TnCzP7pvLcmi62qYAaZL0YNCkE8FVCFLjAaSxk62VXX22a3mTcfBbZxdcZF+CXjb831dYuMaf4Ops3vcqeW//TPkG6TVnCV/RKtOgvQWNzZRSXsIvUEhvkzTDn9boqkvzLnerjyOBH/sGYTbQDIbEXPVPrm5PPA5Km7KpEAQkKQldpiLseEFASAFty8M9m8UuisIvPOpZiHqMXDJnzy1vN+1ZbHMwLXpSpz00uWPoiANX0QQYDm3K4uijSCPP62HLYG/ErX8wHavwh+8WnOfiehDdJz2vyB68ZnAKZgteVW3jwEQjlAV733J5jQvB6ub9iRUte33UPqW5HRVkvwvYTWlw/+1Iaoig0+E3ORr0Aj8sVfTQ+9DZ45ALTuugVyUsddJuZCdbqpVIrinm/ijPEcZVqBF0rnThu636X218ms6Ysr/D0irIdLlNSAoUwiH7AVU6E8iglGOcpYxHwrXo/bpD31OKMpVfeuVtX8qr9wzmmVpp+C//DXd36R8S+XFvZHrX4O8h/n9/1Az7O512Lz/3ctD4EqfvAA9c304heBH07OQ3pZi5DFaqsSqXsnREPjN8V21crsoDtUy3zRx4SEuebSlN830cBcMJBm+1AE70MG8qS/CqiEAigPjgyLdHPlkgAHiJRqIJoWsXjzl9EfgBk+Lh9KJINR140ZOArCks3A3LvnSdah+qD0vujruN7/b1vpY59G9R44S1qfZQJwv39SbUofMXU6irHk/RaSEyimbYJXpb8Ilj2S6JlLOBV+mFvDl7r2Hd8KotA9EcuXNbicrvhhztuFR9GNIePEyAAHw5sqMn4udzGJpNp38nLkt9tLPvdTFtvkzfihzCNCnMSbsAiUZPpcWpEJgEIxl1EVxQ0X0URO9wwylsCvcCMKQ2fET0YQRCDu1GiNy3Ei0WfpifYP0Qq9ebwjwZgS2HIFDQA7IwoPh0bw8AlWUC+QhlFNwP+vgBhuJHpcVyFgoARyb+RG8FoJlmjqPa/3rNW+7oGgy8G229olcHUm8PfBoAZG54kWd4Y+IptPZOZohoNOC65P/vBYHsXvQg1lwi8bCfPn8s4+dkCiWZw1EY90BzxWfHRhElh+mA5nfIaEujQZMvr1i12KtfX+nEntlhO3tQeqD8TOy2CJfsQ30CcL9rqCo16UYhatD9TkHwqGdiy1ECmF4y9YGwogDs9iR07wfmzRgiIZGSqyS2KhNybmK1mU/0aVEDVUI06mYsBGq7RJyMQX0TjYN8gslHiSObvLUGU+MpTg7bXDiElaIwkws7GO6fhf+ezZwB7KXYRhM9KXU46Yy5Xa+US9uLfFc3PNh5/SVsrF6NL/5fNUrcw3yzzZUIGrTmpGURN238Hupyq3VFX8tKxhi4QtLHWYsBgWMw5mvbqFjszTc1TX06qHiioaEEcWoawM6bXbz4K5aijLynV34xeCDb0lLATLnbh0XDpS0olZKhGENdKZRl9dUuY8ir2qKKkVB2wYkPFiAqY0rOHvXn28PbzveHuW1qqHqcVjIYlGZFx3hTQGBZnWp8DnCaYeczX/5tPsGJuWX6y67RSMdOkvxBkHfPLo/UMEIpgrzn8joKOPRgPw7C/8HakFGYJ/TkYjuLMbm6yZ17ZyydJecK3tONJ4p4K9Mqhl7LJGk8G6Qsi+A26/HSc+9PmOQngOrXMQbvVdlMGWEzefPV4bH9fBD9YOJ5ks2jCcWNP5k4NLA2RJ05FT4+TDYoeUeFkXHxK/vR8LZbKi+VeRZccLdgsHnv+7MmiEQ1fXBIZeOLAmiw+f3r+1Lih0QIVd+b0YovPD/gYvsHyJ9MjZvzJ9PRkevHpOeL0ZHpEi3CeCCfwB64AzExrdV95JTl5iT4nzRr4i8uekhN7UOUvOHsAImfLLpPfA9f5SnB1dn/PyPK0UXGVdr0X/6u1eeP19TqUXcxf9wVvH9uP+oyg2ObLsWseER+C+7b2fwh0fotUWAqBlcpK29oG2OpqM/XPgb7qpqyH1q0JOV3j9fToRo5Z+41/2uCH05xdxPnaemq884YyE20gPdGyFsUvGkRnb59wu3/BqxbzCaeoGklfwg8PYV+PFfJlWHuFH1Cg0PkJZynCqP2CCv5AVEA7QAC0AioQDMIfIKPf09BCPHsaWhRIm8H076osxurAFUqmVcTXtFA4WRFPDmOka/tc3L8k/VskuH+dE/M/JRZ5W32wqw8DW8NK1mvqLmUr+XbCDAF1eLzzyyfod/Y/dd/s00unFdtsurtDFYYXjfjUUMvMyQjMyEQiYYSwJ28yNmaiMZ1SP1QHjdEDBXujFFhqk2OiSkIi00hMwyOQmU6dHpoDeQT0DN/5CEYL4AhQIPv8hZO0Kar8kMW4vZBYb/kITjZFYiz6Iv0lc7I7kh+jKu65oLZJ9kj0VAF2AC9AEORw03snTe2TooPS3kRZ9VG2WSl7zOhpJkHw0JMPHhMac2VmOOwEFkuvNwcmxWpna/Cjzw+fNKWl3O7k253Fbw5Ak3b2qmVPBjzrqpZVTeEpZqYVjwAAhYwO39WAsuYcNF+Uw/olm39wqjy7jF+x5bFno97sOxPTIRTUC56+S5Pd+gC3u9nXgfUufeM/+QPOFGgJYb2a45oM0m6I+uf2d/dfGDsz7bDpdld2u47utmdUQxbOa5SeWFJ8je9vnwEAvlBN9sWcJnlJscK0t4eZFUeAvMHP833VU08/V4l+dAevNusWzgs9Q5fNelJIewRMBxB0rL8UVkUNJZSgqmXeY8sAx84OgDu+aysbLXeduiqKDnluOTqkyHTkZm3b5cEmxXaOuKNlUlc3rmomk3AvYF0hEE/17tXowVv7q6w1AyDQlzrFSyxEAwB4J3CtbPXplKCAP4jGgkfJ6UtHjUmRC9bzefslrgQptyH6b9e1CJ1igFNaQFNczPEYY70FzTdWLxl8RsM1ZspcTzJn2ONAM++EplFNLVFjVA2h/Sg9vyWqxMYtdweFR9ZvlNzyw9YlGZfuhmgvP3xtxCyVFgg4LJyhhW6O6Ua4lWkb8yU3tqySBLnOYhPscynV3iXxyU86uXIQ/KkXjCYZK13XwQKzmhKGTivIOIuTbt755rong809Z3QAH8ixV6aBjGXlUUsYnIftJTpgXJ6oKHaRssAuTdMlL8IrDhuWlPe6xZa/A4OX8DJ8GuapayU648HxZqmZN8O2p7h9eRF64qJL4Cb2LHfbjmGhFUPfSQsdYDBkcIKFu0BB2VJhsvVVfFE8LXIMDMXskFZ1QF1jcqJkIrwWoYILTEn+KfcynX1aM1drFKXVLqAoviMZmm1i74a29CIfOLP4i8GGtSeYDcIPELoo/HjpMBO8swb8kZy8u4rNkaZ2wTCk7UuFmeE2v7UNnCxNSXEBEW10nrK0zZZerzgW4dEjnSxyqRiWlnbDldPmSVIskzp4De7SONjfvQ2L5kXPAPBNhNNWRBANZH9kIWiLmgfQh0PICi5RrIYoguuKeXyuR0dOWxcxkE51ldUCvJ7u7hc6ZQJ/b8Fl9rXIG7+OzbUtTAsKQsK6Pl+FF5Y7oBz6JJutGJKH5qmrXyCz8cyzG6Ltudx8SUovzHplCfTApvjtSUkczLeWaJ3og1C4XbVQFABAFVDopxA6e33dkeUnc9Pac6VMXEYGGgzJgcq8W68LAjYP4v1hj1rqPmbamD433ce7tqXPpvvU3eb1OXRfelq3vhm6L0Rr2jcn++JTDBO8S3F+sXd3s8U+InMEyDq9autTDUb3zTFk5mOM+gdxYg8x7NTjQqzBhtnXUD1MErW+0f/o6gdLivgASe3llBQuuun8OvSiXKANztdKdIEGNxscdglzvEj3BaVYgeM8rkjF4MwAnaUGt7sEDQBgrSSET0ySW/XGgxOISsDNzFxvkizRmZebQdmpDvYpnSR71bUzNY2Su9Alu1X0FBIqEkTc+qBqCJk2BpJpCHdtC6SjIXa3eZCLhtzTukFTNGSiNYUGkk15fNwt/vytq978tcrDatot7FUXZ4sX9cExpJxT+RRpeCswu58lIda5wd7MjOWxdf3Gvdw76Ko7fPZ+9BNQPe7n/Db5s//9+Y+ABxbifWjrfzeRt023tSUH6+K8+6yx/yI/SzlYgk0DNVRda2p2Z0gHc7x7CBfU/3h+ht41/mNP1K395TsD4NhFU+8z5X2BpdIwkKqsEAh2N8EcChSWJwQA8BaCTuEhxkAEGPxTO4hzajtU25R9zRc7Rzk0Ix+IYk2gm+Wgrqj9a86gxqStbx8Np71vSL6+dwff8KH3bvF1yllBVQf9eD2+DanpNjREa30lEIJeXDJCgAPIbcylkIH1scHhwM6Ij9OY8vE+n/7+IO2/dl1xnPD6eqsOMLBcmX0E2OGyNgCgbux73bph8IeNEXPz4oh6R+DXnwTmMXqW2Gzef0T0p18mV7NiVh+MZSt//uiu7rrW1tAwB9bOlTM9K3H48meEkPCCIldouFPt1T7hgttIqcJ6knCcmGhE9PzFZEnmz0Fo7ZR6NkHETQnE/uocmAjPmQdC/K+7zkUz+adaF9xMQogfVL76Oktz+btn8VZ/F62KfgfDEdmQRTTKxli7fRZ/a9Qx9aXEZ+NmaS615Sbyv4M/BeDL7cl11+obuwg8hSPwCkF2W4O4ELTTtiAbBN21ecgthSmz3ZUoDIprD0as5mMmIKG/fdDvVsQDsRj8+eeA1fqvtRPnboUvj99GsiuZNVkg/sy0I/5a9aJZxpr6HmDHQtU/OfhLNt1fBUnO+bZjcujrRumQnNnrm8dvbZeGEoDNP33elegwNO+OKn+QG+2bEMp+W+4Weq6QDnKr3u4r1EMDbvVu7tRRvZdqLW7fEQC4s2rtze/1Wq0zz4/6BK9P7/XdqeYBYpWaxd/BAMs1ML8az//1cWNSaaaWv3vkPTCFrMBS9RjcYHhcoTf/jk62PXAgfV+99/jawbqy37waz6ucS+YhtK9bN6ySq75K1VNGSIRW9a5G+cRB9QpbVQgVpJTyGzXf9lV9RF4x1ro4u8QSRABtipc3GaE7Ze3Tl6xyX5ZH5airwtNWRJlY38kFN9MouzfuCACmUutUfq93aJR318QJCfC6VZ5PG795cWVZtXY4p+KdYY93oLm+EdwcQK7jsnhexzvZYyt16t0GDQCok8h1wRWC67IhAcHdW6jD+towTF+5ayY53gyypyyoZxeviW6incLdVFKlCiKvic0UlZ5KrifBEZ/BR8Nh2NEATfMWNtdh7/tUVkS3QH+4JT3dNG1e9DoX4g/MnjdLcjbBHkXwHKU0oLRFWceEH8AfLIHqkjkf3hdZwcr5KwZYd0AZYR6XM1CGhyE5o8XjLp8Ka4rptt7/X2mzSWtotSJhe09iq8pmpblM3JbS9OC8LXtZt06YTx/8IjMBmmrEDdwZqU06F3IVtQWGMjdQWevPLqiqdXCTc0KKh8q3oWrw18wpfigKyDvLDs3g3zY6WhqbZN7X8k72tnlq3VieQGDWG7Z+cyepTJb56GfiMiVYNTFsch45SAApdk26uVYPuURmTQrFS0ni140QlKKbb7t7S3yUakmIl7fetq808APeXt5+u34nkJ+3zvuZelK6cHnnreZJmz+++guS8UbFdLJ//pcr9t60p14Ec5d3L8+rn/KKpxVA3/ghnS/2CBj99WAwnMJJzk+I1berpB+4dQFlfh8ui4YFl4ptFx9YY3us2Q8bYKtZYUvKr3O2KBm+VV3dNmc8v5YNdkFtBbt2hAcVqBmzkTLNCSSqi8iWB4czUMJCh+fsOsRyloIBAGxjzkxAsr0iNSMWqCjMwakPGwzpwu3MrynJwf68qUG50MM+LUlu6d2ZDpreCV6G2Zc43SJkj3AGLHM+uCV2uTPYTpvnqvF9F2YwFuoYTbGLQaxB2yn9Gp3/7C7dFTkObiOmum/8QkVqj1OwIrGLiZk2a3XsQvW94SFXRFp0SOhay1fjForMw13fmfNMRjuaPtztR1uuz1Ex0YC5K44hU51y70TbGmd3Vdk4QsbtH24XYXfaeqJkGAaHrgf2bthG7p4GiqeaAWVrR51Bdlki17nxlM00e3rq3zxnMqY5rqO2r7pM49j133R/wPbT3yd7de3A3lz946Y6AKRSKVz09VFez3SYwHEPlT/rHdc/zGnvmIfqH8R/F6RlKXy4Q6XlYR3pULmyHedxA7p5j4lolzSu3DKkoXJlOeMgsBybHNge79/lwNpd1C61AzUNdtwV4wqRC7wjoRt6wPuTBrsdkLCmwQmtDZsDbtS6sIfgNm0ee+377Gtg+33kddH27PcL17yOD8meTrt27TTiu5ior4JqtvJY6/gI/57t+URQj/kbunfKUVf3EV+7OhJHGFZ6hkg3RiP1KbfduQuJ1/Dv8qzjHRmcSATdDLpCzioHhTrcSh73UaftU+qUEXTT6YQBKLjToYSJzQger2GEZIM9HAdhzLMQC0tPdfgKOCVeDe8+gn90/kFM6FQADHHk29ETRrB018VK9bv76PwTy4TxnHVYXs/EtCPZc1bR+twsR9dESvVdV1c01akQmNBub4W3lahjBdSDAzWeeT1WGmlA/+RZABwBNJuPWSF0Daq1JcWyIXtIOK+rfay7C08Mw1I6AoA5WAg+N2TWHEHzZeqrvyu2R1vPcKG+SZ6pcVTDwesp9kcBxXBc8STrSni+RqG1eikYALAOu7N1o3bm2qvaZSX6HlC9PO9fqNevXnSbRTZ4/Sl/rB++zm4yETz1WdXffvORGeHJfHXX1/wnoFCl+ULbTrt9toUb0nGVe6AhZd6JFqbXFUzrrd1zs1a5htio2xlsZiYFtlewXg1oScJBBmQ8epL1Rz529+idPDvm0SiWjQkQuaJRzBoYxr25gFIVs9hyAaXmk+3MaGzIfn88s7qMcNEsXfy2+b/7zb7wxZ/4s9SLv7EP/7+oSNnrC97Vftw0SSXyT9+7AWDn/9FTcq2DH5vHQYmdGYnDyOW5GN4OrzNq766hfE/4nDYKvvTNxQAAgKMXMk9j9CZCsFWQKJf5qL+YP5/GgwzYPYvBAAB0DKB2kTVetIvp9M4i7gi9HW9eE9QU7F9HCU3J3h0gUKF0iYQMIwSxKGS2OcauE9nCeZgabrHpPMxUuGC7Z3+m7Eyo4/FS9jKI9WzZql3efV05Z7GEqSr9qfaukJo7dI3rbjqK1LV2OUIAcNygY1V4ePZSTkn0bxalx3f9KHCkTXBzbcUig7bA9njZDS4JdA8OomvbPy4acZptvYplmOgrkjf6fshA1WHSevL0soLCbujhwXAacACAUWVwSgtz1XGPNyS8wkIU3Optg3MF2l2SaL3QDADY0V+MXjN70lsJssW6Z9L558LCa/nQuwoc5Y9pQH/3BWkCVm71UxRF9cmR1ImptTYZMd3WZZqiMY93kKm1972z39kf3fs8sj+o/SEYDyWOjhSPSwSfjVTqu4xgoiMhg84aBnx0gc8st3IGexPysLoX+ZCaVVuvUlksoVXpoQ3OHF/+z3/V9bDzb3MeUiHbqlTSuf5W88es7Vjq/9efXTJEqhVIm0GWV7lnGi1AImcEFySQ1mPalbK8hadEt4yJpE2K9ugpXs4d/X01uF3eQNjDWaY7C06RwASGJ1++DZGsMyXDomjxtLOSo3hCU2zkCJrH986hkOqqSLgq18Ov8rKt84OHp9z4O+YBJ8/C8wjg+AZAI4RSoFpbUuw1op7aC3pwvqFmp0BfGUtiuLpJALADV/LRB+P10KX5uhBu0nP4xew5SH7vW+i29xrNoNuexcybh4I8FxuSpdvGrAoDAA62WGzU98GvfVs/D/4u5kU+vNHO3V+33mQ3+gB7Y6szBhnXLWXO+ruW56C/5wqewGTc8+1xbmPALSwGAwA2SV+xC1arFJlpnIEQF85Y2tldQnpTnzcIIY4fG3MOUCCTup3Fywl6ZxKCoADUp2pjUFeob9C2oBHUtw4X0DwKfQx1QA0F1IXLYM5woyHlN+8H/lWPId5z2sgwvZXtWUm6lZGcCAAAXIAO7wgFmBOCIkGagjkbwBmBrhiq0RAGALgWTJe9Wi4XfovoJNOFAG7AQ4OTP088SMLD7m5Aw7djEl25QpcDG2V1EmSKSzbgCXKNsMzUjY1AzIldpolynnBhWhs1HYudoYeFs5relrHDsRVComAJm0XsjStFjtxAnS6NMWGAdHYWqW23ss5F/532b8pHK5a08+lK3pg+zVLpB6dyk3NJe72RptPoNSYPNQlN0rJ/DuMvkBb0J7cGbvhl+aPag9vjWSX9j/M21/5JJvrn/mDn5j11b23GZGkWJJ5S3OqTvl2UjnB7/Ui2XjpnpiCu1oN6q9bGuJjD6O3CGoQue0P2pP3z7iHPdlufuvWoLqRHG/YDO98x0LdF5Kml51g6B1xVAw4AcNXw0PYFCw9wCnH6GrfaRg3AzWYPxsC44YVmAAAtsmt7sgaXDcbcDZfcqfj+2KDctx50rpDR641RBXBwJ3IKjQDen3TIVREk7luHuaErbY0RQXe1LWYVcrfCBbP5TJmAOLIx7gVikzLYFnRwh/HKJdYhQRC7idjoswpbpNha0dNTsDOn1N6jUwSNCQRrM5U2NMtaK/m48ykKbyYAAKR83cWCU7mpvKS/btTRKZ2MCccJe1FQpzxnOB2ulZ0qBvb7TjF9rtgg6bYlsOFVeVy+DZnxmdKJkb19hvUuHKAjw7D7IhBun6e+N9x6DbLRZOGIfD9DuBxvxWYMa6ddjOU+Qs+dX9VjebvPsecRwHEGiDhzQc6IiPWixSV2Ya4Hwc5iX+XQRNzaqFDkafoIAFIRu859nBWdXhzmTL/qgsPrm+Xxjv3gz87mxWtBb4rprSufXTPrXRpwwnJQgWnOoc/2sYEBR3tbg8nMpAxuIxevOAjLJhmUkAnw4LSHenPy6OCxa986TkYZT08nqtOzydKg1A7T05m+steonepQ3By2aTdPO8Fed8Ha1iXPs2K60ilJgwyusnpSJuW3IajmUan6tAVxoQa+LP1v/lPTjWmsW+a/uVyHA1+xnaGlaNnRfFX98z//w2ZJ/32dv0LUnO0iMjUlm7dHlY2wNErEzVAivCCJT5iht4K8IkylJhvrACUazNx5qYGyDU4IaigRIrpZBghEm13AMkYHEQzsiDnl7BiJwRXMsAw3b7Pemy4O/mLNrO8aPkF89xY/S/LmUepfLQQAAI5QDbszgYIdwb3Z4Yx6LyeYRwAy3HPrFKcyIto5GQwA2Izo7Qr4a8746sCMhcJkeinhhlgeiNJwpkbPSKSuY/fpi7U7aXRwuS+nuheqqZQTAp3kH2gaZJlho2mbXYZC0xnJMHTu5bg7jnt5Tq0X7EQusfaMqOpQimkEhfUbRRBL0xwQAGQNU5SHm0ZbO2H/0g2TZpbTQmXYYmzobj6eOyhL6I6EUs32L0SooJfrTRv2VngLr/bjm3sgPtZNOmefFRd1CyBRw6pOxAEArJdlGHL1tp5Mup7BaTdnQDswJKxT1D+62TuQ2CYzAEAsGOxjH1+WT8/FUb+fkVK4Q+WS58d2CSo6Nnip/buGmKnXUjbATQr59G9qY9ZA7jtSeDC9vL81EE1BoiLEhG00DVnLLq6BRAkG94mNFUeDEVuSwaMDS99lUhqqmyWDKEIhp5YoMLdzPbd8F0X2ItE5NDhVvqiDxdPX9BEAXBbs2HnsHmaFmLrTZRrGJJNTTBqUeedFyQTM8myZWoK7a6fCKrDl1mi7Bqyuvd92gzl4K65u8TE6rJz+ahXunwLVFYSjP7D7HH8hARzpgUh2hLwi9YuWtHiabg8lurxoRYnatVEq91ILPwKApeiq9DjWC0dE40Ihw4WQz5F8Lk4pvW4e1hqeItTbFD7bsXsGQJrlEIHhuOfjkjMZcAaLwQCAufyyrpoR61cJdlAKp0jOquh9D1XQL3u5mnW5FCe1qY5WaTVgZ+2MI1/4h9hVdNO2poCKm3/m29C2XeM+Ecpjd7oqpwhTIwen2+BMeX5VI4/HALfbDAYAXCkGwJ6/gLPASycuuyHtAjPy5+0SbsPDfnZgCe/OzUBTIiRz0Dc2ZvTSgCGsy2zvuxMiCQbMUVhD7LCKwmZlLAuyzzDgk+ncun+EHvvsa3r1UuxF1U+G2CEQ8sET44DMD2eDbaXVYadtsO0LBdmBCXu7L7cE865Kp9hPueg5UbgoDAAY6h29C6oAnOfitAgppdHGnxc2NFQTNrUhLlqcByx5dwY+izLuyxpacEIGwUmxzMwZT1Rhl2XDGIJhRbipYGfLDXcS0G4NKXLq1OGRG34HO//oii23b77C7OrwPfzFUlw9d0oNq9pvhLa4UM0BAQC8sCcOorhRaUlzG1G4sLyVNX/CmD5DCXY+fZOBSrD1pUfYWD1EBbZivNIkNKAr1ngu6XpLXMPcLkSqCtBbeZaGSLbEgSy67HC4yFKan1wMdH2gTZ+pdtThCis7gl41nQAAveOWWpfOfL+BU3kk9mVcpERQjyzUDkhOVo8WSJHZVkFtN5kBAF7C2fa0XQN0So6xBOj2/rkIuedD9xiozhvjG+DwTjRutJXm/YW3jDIjJyDx7gYnzTbnwLmwy53B1oYLqRoq1QmNgjaVIoLggAND3HFiwmDubKuy20bKC4atx5jdH96HupcO4cCzClpEQLXkgbBN9XeF4Cqn1dRC5FwE3XKcrHyXGLsLBQAAc1FNNnthLCGuaQ6yreFZZVFE+xSja8o4elE8BcZ7Bkl5ffZLd/6hadm1V/fh1v/BYFN3xGuPAEN6uaUXn33vCB63hzCXFmnrtgSIq2XxBdGmhuFKxtuGg48awbfKoxelk19NeCXJpT0bEG1liF5APSBPIvNG7daNZP4cWxsPunalkZ0MBgAkG3W1NlmqN/M0pe6qQ1AB","base64")).toString()),yO}var Zae=new Map([[P.makeIdent(null,"fsevents").identHash,zae],[P.makeIdent(null,"resolve").identHash,Vae],[P.makeIdent(null,"typescript").identHash,Xae]]),f4e={hooks:{registerPackageExtensions:async(r,e)=>{for(let[t,i]of mO)e(P.parseDescriptor(t,!0),i)},getBuiltinPatch:async(r,e)=>{var s;let t="compat/";if(!e.startsWith(t))return;let i=P.parseIdent(e.slice(t.length)),n=(s=Zae.get(i.identHash))==null?void 0:s();return typeof n<"u"?n:null},reduceDependency:async(r,e,t,i)=>typeof Zae.get(r.identHash)>"u"?r:P.makeDescriptor(r,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(r),selector:`~builtin`,params:null}))}},h4e=f4e;var BO={};ut(BO,{default:()=>d4e});var tp=class extends De{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let t=[];this.pkg&&t.push("--package",this.pkg),this.quiet&&t.push("--quiet");let i=P.parseDescriptor(this.command),n;i.scope?n=P.makeIdent(i.scope,`create-${i.name}`):i.name.startsWith("@")?n=P.makeIdent(i.name.substring(1),"create"):n=P.makeIdent(null,`create-${i.name}`);let s=P.stringifyIdent(n);return i.range!=="unknown"&&(s+=`@${i.range}`),this.cli.run(["dlx",...t,s,...this.args])}};tp.paths=[["create"]];var Ku=class extends De{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await M.mktempPromise(async t=>{var C;let i=x.join(t,`dlx-${process.pid}`);await M.mkdirPromise(i),await M.writeFilePromise(x.join(i,"package.json"),`{} +`),await M.writeFilePromise(x.join(i,"yarn.lock"),"");let n=x.join(i,".yarnrc.yml"),s=await ye.findProjectCwd(this.context.cwd,xt.lockfile),o=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),a=s!==null?x.join(s,".yarnrc.yml"):null;a!==null&&M.existsSync(a)?(await M.copyFilePromise(a,n),await ye.updateConfiguration(i,y=>{let B={...y,enableGlobalCache:o,enableTelemetry:!1};return Array.isArray(y.plugins)&&(B.plugins=y.plugins.map(v=>{let D=typeof v=="string"?v:v.path,T=K.isAbsolute(D)?D:K.resolve(K.fromPortablePath(s),D);return typeof v=="string"?T:{path:T,spec:v.spec}})),B})):await M.writeFilePromise(n,`enableGlobalCache: ${o} enableTelemetry: false `);let l=(C=this.packages)!=null?C:[this.command],c=P.parseDescriptor(this.command).name,u=await this.cli.run(["add","--",...l],{cwd:i,quiet:this.quiet});if(u!==0)return u;this.quiet||this.context.stdout.write(` -`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ku.paths=[["dlx"]],Ku.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var p4e={commands:[tp,Ku]},d4e=p4e;var vM={};ut(vM,{default:()=>E4e,fileUtils:()=>Zm});var rp=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,jr="file:";var Zm={};ut(Zm,{makeArchiveFromLocator:()=>Kb,makeBufferFromLocator:()=>SM,makeLocator:()=>QM,makeSpec:()=>_ae,parseSpec:()=>bM});function bM(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function _ae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function QM(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,_ae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function Kb(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function SM(r,{protocol:e,fetchOptions:t}){return(await Kb(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var Ub=class{supports(e,t){return!!e.reference.startsWith(jr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return Kb(e,{protocol:jr,fetchOptions:t})}};var C4e=2,Hb=class{supportsDescriptor(e,t){return e.range.match(rp)?!0:!!e.range.startsWith(jr)}supportsLocator(e,t){return!!e.reference.startsWith(jr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=bM(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await SM(P.makeLocator(e,P.makeRange({protocol:jr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:jr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${C4e}`,o).slice(0,6);return[QM(e,{parentLocator:s,path:n,folderHash:a,protocol:jr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Gb=class{supports(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Yb=class{supportsDescriptor(e,t){return Xm.test(e.range)?!!(e.range.startsWith(jr)||rp.test(e.range)):!1}supportsLocator(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(jr)&&(n=n.slice(jr.length)),[P.makeLocator(e,`${jr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var m4e={fetchers:[Gb,Ub],resolvers:[Yb,Hb]},E4e=m4e;var xM={};ut(xM,{default:()=>B4e});var $ae=Pe(J("querystring")),eAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function tAe(r){return r?eAe.some(e=>!!r.match(e)):!1}function rAe(r){let e;for(let a of eAe)if(e=r.match(a),e)break;if(!e)throw new Error(I4e(r));let[,t,i,n,s="master"]=e,{commit:o}=$ae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function I4e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var jb=class{supports(e,t){return!!tAe(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await O.mktempPromise(async n=>{let s=new qt(n);await mi.extractArchiveTo(i,s,{stripComponents:1});let o=AA.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Wt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await O.readFilePromise(a);return await mi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=rAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var w4e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new jb;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},B4e=w4e;var PM={};ut(PM,{default:()=>Q4e});var _m=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,$m=/^https?:/;var qb=class{supports(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(e.reference,{configuration:t.project.configuration});return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var Jb=class{supportsDescriptor(e,t){return _m.test(e.range)?!!$m.test(e.range):!1}supportsLocator(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var b4e={fetchers:[qb],resolvers:[Jb]},Q4e=b4e;var FM={};ut(FM,{default:()=>S8e});var PAe=Pe(xAe()),RM=J("util"),Uu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new Qe("Cannot use the --install flag from within a project subdirectory");O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));O.existsSync(n)||await O.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await O.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Wt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}O.existsSync(this.context.cwd)||await O.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Tr&&Ie.isTaggedYarnVersion(Tr)?`yarn@${Tr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await O.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),RM.inspect.styles.name="cyan",this.context.stdout.write(`${(0,RM.inspect)(o,{depth:1/0,colors:!0,compact:!1})} -`);let a=x.join(this.context.cwd,ot.fileName);await O.changeFilePromise(a,`${JSON.stringify(o,null,2)} -`,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(O.existsSync(l)||await O.writeFilePromise(l,`# ${P.stringifyIdent(n.name)} -`),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);O.existsSync(u)||await O.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(T=>`${T} -`).join(""),h=x.join(this.context.cwd,".gitignore");O.existsSync(h)||await O.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(T=>`${T} -`).join(""),y=x.join(this.context.cwd,".gitattributes");O.existsSync(y)||await O.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,PAe.default)(B,t.get("initEditorConfig"));let v=`root = true +`);let g=await ye.find(i,this.context.plugins),{project:f,workspace:h}=await je.find(g,i);if(h===null)throw new ct(f.cwd,i);await f.restoreInstallState();let p=await Wt.getWorkspaceAccessibleBinaries(h);return p.has(c)===!1&&p.size===1&&typeof this.packages>"u"&&(c=Array.from(p)[0][0]),await Wt.executeWorkspaceAccessibleBinary(h,c,this.args,{packageAccessibleBinaries:p,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Ku.paths=[["dlx"]],Ku.usage=ve.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var p4e={commands:[tp,Ku]},d4e=p4e;var vO={};ut(vO,{default:()=>E4e,fileUtils:()=>Zm});var rp=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Xm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,jr="file:";var Zm={};ut(Zm,{makeArchiveFromLocator:()=>Kb,makeBufferFromLocator:()=>SO,makeLocator:()=>QO,makeSpec:()=>_ae,parseSpec:()=>bO});function bO(r){let{params:e,selector:t}=P.parseRange(r),i=K.toPortablePath(t);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function _ae({parentLocator:r,path:e,folderHash:t,protocol:i}){let n=r!==null?{locator:P.stringifyLocator(r)}:{},s=typeof t<"u"?{hash:t}:{};return P.makeRange({protocol:i,source:e,selector:e,params:{...s,...n}})}function QO(r,{parentLocator:e,path:t,folderHash:i,protocol:n}){return P.makeLocator(r,_ae({parentLocator:e,path:t,folderHash:i,protocol:n}))}async function Kb(r,{protocol:e,fetchOptions:t,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(r.reference,{protocol:e}),o=x.isAbsolute(s)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(n,t),a=o.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=x.join(a.prefixPath,s);return await Ie.releaseAfterUseAsync(async()=>await mi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(r),compressionLevel:t.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function SO(r,{protocol:e,fetchOptions:t}){return(await Kb(r,{protocol:e,fetchOptions:t,inMemory:!0})).getBufferAndClose()}var Ub=class{supports(e,t){return!!e.reference.startsWith(jr)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){return Kb(e,{protocol:jr,fetchOptions:t})}};var C4e=2,Hb=class{supportsDescriptor(e,t){return e.range.match(rp)?!0:!!e.range.startsWith(jr)}supportsLocator(e,t){return!!e.reference.startsWith(jr)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=bO(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await SO(P.makeLocator(e,P.makeRange({protocol:jr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:jr,fetchOptions:i.fetchOptions}),a=li.makeHash(`${C4e}`,o).slice(0,6);return[QO(e,{parentLocator:s,path:n,folderHash:a,protocol:jr})]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Gb=class{supports(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:jr}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Ie.releaseAfterUseAsync(async()=>await mi.convertToZip(c,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var Yb=class{supportsDescriptor(e,t){return Xm.test(e.range)?!!(e.range.startsWith(jr)||rp.test(e.range)):!1}supportsLocator(e,t){return Xm.test(e.reference)?!!e.reference.startsWith(jr):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return rp.test(e.range)&&(e=P.makeDescriptor(e,`${jr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range;return n.startsWith(jr)&&(n=n.slice(jr.length)),[P.makeLocator(e,`${jr}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var m4e={fetchers:[Gb,Ub],resolvers:[Yb,Hb]},E4e=m4e;var xO={};ut(xO,{default:()=>B4e});var $ae=Pe(J("querystring")),eAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function tAe(r){return r?eAe.some(e=>!!r.match(e)):!1}function rAe(r){let e;for(let a of eAe)if(e=r.match(a),e)break;if(!e)throw new Error(I4e(r));let[,t,i,n,s="master"]=e,{commit:o}=$ae.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:t,username:i,reponame:n,treeish:s}}function I4e(r){return`Input cannot be parsed as a valid GitHub URL ('${r}').`}var jb=class{supports(e,t){return!!tAe(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await M.mktempPromise(async n=>{let s=new qt(n);await mi.extractArchiveTo(i,s,{stripComponents:1});let o=AA.splitRepoUrl(e.reference),a=x.join(n,"package.tgz");await Wt.prepareExternalProject(n,a,{configuration:t.project.configuration,report:t.report,workspace:o.extra.workspace,locator:e});let l=await M.readFilePromise(a);return await mi.convertToZip(l,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){let{auth:i,username:n,reponame:s,treeish:o}=rAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var w4e={hooks:{async fetchHostedRepository(r,e,t){if(r!==null)return r;let i=new jb;if(!i.supports(e,t))return null;try{return await i.fetch(e,t)}catch{return null}}}},B4e=w4e;var PO={};ut(PO,{default:()=>Q4e});var _m=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,$m=/^https?:/;var qb=class{supports(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i=await Xt.get(e.reference,{configuration:t.project.configuration});return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var Jb=class{supportsDescriptor(e,t){return _m.test(e.range)?!!$m.test(e.range):!1}supportsLocator(e,t){return _m.test(e.reference)?!!$m.test(e.reference):!1}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var b4e={fetchers:[qb],resolvers:[Jb]},Q4e=b4e;var FO={};ut(FO,{default:()=>S8e});var PAe=Pe(xAe()),RO=J("util"),Uu=class extends De{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return i!==null?await this.executeProxy(t,i):await this.executeRegular(t)}async executeProxy(t,i){if(t.projectCwd!==null&&t.projectCwd!==this.context.cwd)throw new Qe("Cannot use the --install flag from within a project subdirectory");M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=x.join(this.context.cwd,t.get("lockfileFilename"));M.existsSync(n)||await M.writeFilePromise(n,"");let s=await this.cli.run(["set","version",i],{quiet:!0});if(s!==0)return s;let o=[];return this.private&&o.push("-p"),this.workspace&&o.push("-w"),this.yes&&o.push("-y"),await M.mktempPromise(async a=>{let{code:l}=await Cr.pipevp("yarn",["init",...o],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Wt.makeScriptEnv({binFolder:a})});return l})}async executeRegular(t){var c;let i=null;try{i=(await je.find(t,this.context.cwd)).project}catch{i=null}M.existsSync(this.context.cwd)||await M.mkdirPromise(this.context.cwd,{recursive:!0});let n=await ot.tryFind(this.context.cwd)||new ot,s=Object.fromEntries(t.get("initFields").entries());n.load(s),n.name=(c=n.name)!=null?c:P.makeIdent(t.get("initScope"),x.basename(this.context.cwd)),n.packageManager=Tr&&Ie.isTaggedYarnVersion(Tr)?`yarn@${Tr}`:null,typeof n.raw.private>"u"&&(this.private||this.workspace&&n.workspaceDefinitions.length===0)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await M.mkdirPromise(x.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let o={};n.exportTo(o),RO.inspect.styles.name="cyan",this.context.stdout.write(`${(0,RO.inspect)(o,{depth:1/0,colors:!0,compact:!1})} +`);let a=x.join(this.context.cwd,ot.fileName);await M.changeFilePromise(a,`${JSON.stringify(o,null,2)} +`,{automaticNewlines:!0});let l=x.join(this.context.cwd,"README.md");if(M.existsSync(l)||await M.writeFilePromise(l,`# ${P.stringifyIdent(n.name)} +`),!i||i.cwd===this.context.cwd){let u=x.join(this.context.cwd,xt.lockfile);M.existsSync(u)||await M.writeFilePromise(u,"");let f=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(T=>`${T} +`).join(""),h=x.join(this.context.cwd,".gitignore");M.existsSync(h)||await M.writeFilePromise(h,f);let C=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(T=>`${T} +`).join(""),y=x.join(this.context.cwd,".gitattributes");M.existsSync(y)||await M.writeFilePromise(y,C);let B={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,PAe.default)(B,t.get("initEditorConfig"));let v=`root = true `;for(let[T,H]of Object.entries(B)){v+=` [${T}] `;for(let[j,$]of Object.entries(H)){let V=j.replace(/[A-Z]/g,W=>`_${W.toLowerCase()}`);v+=`${V} = ${$} -`}}let D=x.join(this.context.cwd,".editorconfig");O.existsSync(D)||await O.writeFilePromise(D,v),O.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Uu.paths=[["init"]],Uu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Q8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uu]},S8e=Q8e;var NM={};ut(NM,{default:()=>x8e});var lA="portal:",cA="link:";var Wb=class{supports(e,t){return!!e.reference.startsWith(lA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var zb=class{supportsDescriptor(e,t){return!!e.range.startsWith(lA)}supportsLocator(e,t){return!!e.reference.startsWith(lA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(lA.length);return[P.makeLocator(e,`${lA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Vb=class{supports(e,t){return!!e.reference.startsWith(cA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA}),s=x.isAbsolute(n)?{packageFs:new qt(Me.root),prefixPath:Me.dot,localPath:Me.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var Xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(cA)}supportsLocator(e,t){return!!e.reference.startsWith(cA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(cA.length);return[P.makeLocator(e,`${cA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var v8e={fetchers:[Vb,Wb],resolvers:[Xb,zb]},x8e=v8e;var dO={};ut(dO,{default:()=>qze});var LM=(r,e)=>`${r}@${e}`,DAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return LM(r,i)};var FAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=T8e(r,s),l=!1,c=0;do l=MM(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=eE(a);if(MM(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +`}}let D=x.join(this.context.cwd,".editorconfig");M.existsSync(D)||await M.writeFilePromise(D,v),M.existsSync(x.join(this.context.cwd,".git"))||await Cr.execvp("git",["init"],{cwd:this.context.cwd})}}};Uu.paths=[["init"]],Uu.usage=ve.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var Q8e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[Uu]},S8e=Q8e;var NO={};ut(NO,{default:()=>x8e});var lA="portal:",cA="link:";var Wb=class{supports(e,t){return!!e.reference.startsWith(lA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:lA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot}}};var zb=class{supportsDescriptor(e,t){return!!e.range.startsWith(lA)}supportsLocator(e,t){return!!e.reference.startsWith(lA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(lA.length);return[P.makeLocator(e,`${lA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),n=await Ie.releaseAfterUseAsync(async()=>await ot.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return{...e,version:n.version||"0.0.0",languageName:n.languageName||t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin}}};var Vb=class{supports(e,t){return!!e.reference.startsWith(cA)}getLocalPath(e,t){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA});if(x.isAbsolute(n))return n;let s=t.fetcher.getLocalPath(i,t);return s===null?null:x.resolve(s,n)}async fetch(e,t){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:cA}),s=x.isAbsolute(n)?{packageFs:new qt(Oe.root),prefixPath:Oe.dot,localPath:Oe.root}:await t.fetcher.fetch(i,t),o=s.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,s.localPath),localPath:Oe.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=x.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new qt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0,localPath:l}:{packageFs:new vo(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Oe.dot,discardFromLookup:!0}}};var Xb=class{supportsDescriptor(e,t){return!!e.range.startsWith(cA)}supportsLocator(e,t){return!!e.reference.startsWith(cA)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(cA.length);return[P.makeLocator(e,`${cA}${K.toPortablePath(n)}`)]}async getSatisfying(e,t,i){return null}async resolve(e,t){return{...e,version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};var v8e={fetchers:[Vb,Wb],resolvers:[Xb,zb]},x8e=v8e;var dM={};ut(dM,{default:()=>qze});var LO=(r,e)=>`${r}@${e}`,DAe=(r,e)=>{let t=e.indexOf("#"),i=t>=0?e.substring(t+1):e;return LO(r,i)};var FAe=(r,e={})=>{let t=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||t>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:t,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=T8e(r,s),l=!1,c=0;do l=OO(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=eE(a);if(OO(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: ${u}, next tree: ${eE(a)}`);let f=NAe(a);if(f)throw new Error(`${f}, after hoisting finished: -${eE(a)}`)}return s.debugLevel>=2&&console.log(eE(a)),L8e(a)},P8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},D8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},kAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},k8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},TM=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},MM=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=M8e(o),l=k8e(o,a),c=r==o?new Map:n.fastLookupPossible?P8e(e):D8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=N8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=MM(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},R8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},F8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!R8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(T.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let T of B){if(D.peerNames.has(T)&&D.originalDependencies.has(T))continue;let H=D.dependencies.get(T);H&&r.dependencies.get(T)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(T)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},Zb=r=>`${r.name}@${r.locator}`,N8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,T,H)=>{if(u.has(T))return;let j=[...v,Zb(T)],$=[...D,Zb(T)],V=new Map,W=new Map;for(let re of TM(T)){let M=F8e(c,t,[c,...B,T],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,M),M.isHoistable===2)for(let F of M.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let _=new Set,A=(re,M,F)=>{if(!_.has(re)){_.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(T.dependencies.get(ue),M,l.debugLevel>=2?`- peer dependency ${ki(re.locator)} from parent ${ki(T.locator)} was not hoisted`:"")}};for(let[re,M]of W)M.isHoistable===1&&A(re,M,M.reason);let Ae=!1;for(let re of W.keys())if(!_.has(re)){f=!0;let M=o.get(T);M&&M.has(re.name)&&(g=!0),Ae=!0,T.dependencies.delete(re.name),T.hoistedDependencies.set(re.name,re),T.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([T.locator]).map(ke=>ki(ke)).join("\u2192"),pe=c.hoistedFrom.get(re.name);pe||(pe=[],c.hoistedFrom.set(re.name,pe)),pe.push(ue),T.hoistedTo.set(re.name,Array.from(e).map(ke=>ki(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(T.dependencyKind===2&&Ae&&(g=!0),l.check){let re=NAe(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,T].map(M=>ki(M.locator)).join("\u2192")}: -${eE(r)}`)}let ge=TM(T);for(let re of ge)if(_.has(re)){let M=W.get(re);if((n.get(re.name)===re.ident||!T.reasons.has(re.name))&&M.isHoistable!==0&&T.reasons.set(re.name,M.reason),!re.isHoistBorder&&$.indexOf(Zb(re))<0){u.add(T);let ue=kAe(T,re);h([...B,T],j,$,ue,C),u.delete(T)}}},p,C=new Set(TM(c)),y=Array.from(e).map(B=>Zb(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=kAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},NAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` -`)},T8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:LM(t,n),ident:DAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:LM(p,C),ident:DAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},OM=r=>r.substring(0,r.indexOf("@",1)),L8e=r=>{let e={name:r.name,identName:OM(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:OM(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},M8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},RAe=5e4,eE=r=>{let e=0,t=(n,s,o="")=>{if(e>RAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")} +${eE(a)}`)}return s.debugLevel>=2&&console.log(eE(a)),L8e(a)},P8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())t.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),t},D8e=r=>{let e=r[r.length-1],t=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of r)u=g.dependencies.get(c.name),u&&t.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),t},kAe=(r,e)=>{if(e.decoupled)return e;let{name:t,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:C}=e,y={name:t,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(C)},B=y.dependencies.get(t);return B&&B.ident==y.ident&&y.dependencies.set(t,y),r.dependencies.set(y.name,y),y},k8e=(r,e)=>{let t=new Map([[r.name,[r.ident]]]);for(let n of r.dependencies.values())r.peerNames.has(n.name)||t.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!r.peerNames.has(s)){let a=t.get(s);a||(a=[],t.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return t},TO=r=>{let e=new Set,t=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!r.peerNames.has(s)){let o=r.dependencies.get(s);o&&!e.has(o)&&t(o,n)}e.add(i)}};for(let i of r.dependencies.values())r.peerNames.has(i.name)||t(i);return e},OO=(r,e,t,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=O8e(o),l=k8e(o,a),c=r==o?new Map:n.fastLookupPossible?P8e(e):D8e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([C,y])=>[C,y[0]])),p=new Map;do{let C=N8e(r,e,t,c,h,l,i,p,n);C.isGraphChanged&&(f=!0),C.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,B]of l)B.length>1&&!o.dependencies.has(y)&&(h.delete(y),B.shift(),h.set(y,B[0]),u=!0)}while(u);for(let C of o.dependencies.values())if(!o.peerNames.has(C.name)&&!t.has(C.locator)){t.add(C.locator);let y=OO(r,[...e,C],t,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),t.delete(C.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},R8e=r=>{for(let[e,t]of r.dependencies)if(!r.peerNames.has(e)&&t.ident!==r.ident)return!0;return!1},F8e=(r,e,t,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>ki(y)).join("\u2192")}`);let h=t[t.length-1],C=!(i.ident===h.ident);if(l&&!C&&(g="- self-reference"),C&&(C=i.dependencyKind!==1,l&&!C&&(g="- workspace")),C&&i.dependencyKind===2&&(C=!R8e(i),l&&!C&&(g="- external soft link with unhoisted dependencies")),C&&(C=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!C&&(g=h.reasons.get(i.name))),C&&(C=!r.peerNames.has(i.name),l&&!C&&(g=`- cannot shadow peer: ${ki(r.originalDependencies.get(i.name).locator)} at ${u}`)),C){let y=!1,B=n.get(i.name);if(y=!B||B.ident===i.ident,l&&!y&&(g=`- filled by: ${ki(B.locator)} at ${u}`),y)for(let v=t.length-1;v>=1;v--){let T=t[v].dependencies.get(i.name);if(T&&T.ident!==i.ident){y=!1;let H=a.get(h);H||(H=new Set,a.set(h,H)),H.add(i.name),l&&(g=`- filled by ${ki(T.locator)} at ${t.slice(0,v).map(j=>ki(j.locator)).join("\u2192")}`);break}}C=y}if(C&&(C=s.get(i.name)===i.ident,l&&!C&&(g=`- filled by: ${ki(o.get(i.name)[0])} at ${u}`)),C){let y=!0,B=new Set(i.peerNames);for(let v=t.length-1;v>=1;v--){let D=t[v];for(let T of B){if(D.peerNames.has(T)&&D.originalDependencies.has(T))continue;let H=D.dependencies.get(T);H&&r.dependencies.get(T)!==H&&(v===t.length-1?f.add(H):(f=null,y=!1,l&&(g=`- peer dependency ${ki(H.locator)} from parent ${ki(D.locator)} was not hoisted to ${u}`))),B.delete(T)}if(!y)break}C=y}if(C&&!c)for(let y of i.hoistedDependencies.values()){let B=n.get(y.name)||r.dependencies.get(y.name);if(!B||y.ident!==B.ident){C=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${ki(y.locator)}, available: ${ki(B==null?void 0:B.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:C?0:1,reason:g}},Zb=r=>`${r.name}@${r.locator}`,N8e=(r,e,t,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(B,v,D,T,H)=>{if(u.has(T))return;let j=[...v,Zb(T)],$=[...D,Zb(T)],V=new Map,W=new Map;for(let re of TO(T)){let O=F8e(c,t,[c,...B,T],re,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(W.set(re,O),O.isHoistable===2)for(let F of O.dependsOn){let ue=V.get(F.name)||new Set;ue.add(re.name),V.set(F.name,ue)}}let _=new Set,A=(re,O,F)=>{if(!_.has(re)){_.add(re),W.set(re,{isHoistable:1,reason:F});for(let ue of V.get(re.name)||[])A(T.dependencies.get(ue),O,l.debugLevel>=2?`- peer dependency ${ki(re.locator)} from parent ${ki(T.locator)} was not hoisted`:"")}};for(let[re,O]of W)O.isHoistable===1&&A(re,O,O.reason);let Ae=!1;for(let re of W.keys())if(!_.has(re)){f=!0;let O=o.get(T);O&&O.has(re.name)&&(g=!0),Ae=!0,T.dependencies.delete(re.name),T.hoistedDependencies.set(re.name,re),T.reasons.delete(re.name);let F=c.dependencies.get(re.name);if(l.debugLevel>=2){let ue=Array.from(v).concat([T.locator]).map(ke=>ki(ke)).join("\u2192"),pe=c.hoistedFrom.get(re.name);pe||(pe=[],c.hoistedFrom.set(re.name,pe)),pe.push(ue),T.hoistedTo.set(re.name,Array.from(e).map(ke=>ki(ke.locator)).join("\u2192"))}if(!F)c.ident!==re.ident&&(c.dependencies.set(re.name,re),H.add(re));else for(let ue of re.references)F.references.add(ue)}if(T.dependencyKind===2&&Ae&&(g=!0),l.check){let re=NAe(r);if(re)throw new Error(`${re}, after hoisting dependencies of ${[c,...B,T].map(O=>ki(O.locator)).join("\u2192")}: +${eE(r)}`)}let ge=TO(T);for(let re of ge)if(_.has(re)){let O=W.get(re);if((n.get(re.name)===re.ident||!T.reasons.has(re.name))&&O.isHoistable!==0&&T.reasons.set(re.name,O.reason),!re.isHoistBorder&&$.indexOf(Zb(re))<0){u.add(T);let ue=kAe(T,re);h([...B,T],j,$,ue,C),u.delete(T)}}},p,C=new Set(TO(c)),y=Array.from(e).map(B=>Zb(B));do{p=C,C=new Set;for(let B of p){if(B.locator===c.locator||B.isHoistBorder)continue;let v=kAe(c,B);h([],Array.from(t),y,v,C)}}while(C.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},NAe=r=>{let e=[],t=new Set,i=new Set,n=(s,o,a)=>{if(t.has(s)||(t.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>ki(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,C=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${C}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${C} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(r,r.dependencies,r),e.join(` +`)},T8e=(r,e)=>{let{identName:t,name:i,reference:n,peerNames:s}=r,o={name:i,references:new Set([n]),locator:LO(t,n),ident:DAe(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[r,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:C,peerNames:y,hoistPriority:B,dependencyKind:v}=c,D=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([C]),locator:LO(p,C),ident:DAe(p,C),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:D?D.has(h):!1,hoistPriority:B||0,dependencyKind:v||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=C=>{if(!h.has(C)){h.add(C),C.decoupled=!1;for(let y of C.dependencies.values())C.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of r.dependencies)l(c,o);return o},MO=r=>r.substring(0,r.indexOf("@",1)),L8e=r=>{let e={name:r.name,identName:MO(r.locator),references:new Set(r.references),dependencies:new Set},t=new Set([r]),i=(n,s,o)=>{let a=t.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:MO(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){t.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);t.delete(n)}};for(let n of r.dependencies.values())i(n,r,e);return e},O8e=r=>{let e=new Map,t=new Set([r]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!t.has(a);if(n(a).dependents.add(o.ident),!l){t.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of r.dependencies.values())r.peerNames.has(o.name)||s(r,o);return e},ki=r=>{if(!r)return"none";let e=r.indexOf("@",1),t=r.substring(0,e);t.endsWith("$wsroot$")&&(t=`wh:${t.replace("$wsroot$","")}`);let i=r.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(t=`v:${t}`),n.startsWith("workspace")&&(t=`w:${t}`,n=""),`${t}${n?`@${n}`:""}`}else return`${t}`},RAe=5e4,eE=r=>{let e=0,t=(n,s,o="")=>{if(e>RAe||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+ki(u.locator)+(g?` ${g}`:"")} `,l+=t(u,s,`${o}${cRAe?` Tree is too large, part of the tree has been dunped -`:"")};var tE=(i=>(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(tE||{}),TAe="node_modules",Hu="$wsroot$";var rE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=K8e(r,e),o=null;if(n.length===0){let a=FAe(t,{hoistingLimits:i});o=H8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,UM=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},LAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},KM=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},O8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!KM(C,f,r,i)){let B=MAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},K8e=(r,e)=>{let t=[],i=!1,n=new Map,s=O8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,T)=>{var re,M;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=KM(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Hu)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),T&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),pe=>P.stringifyIdent(pe)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let pe of ue)_.has(pe)||(_.set(pe,v.get(pe)||null),j.peerNames.add(pe))}}let A=sa({name:C.name.replace(Hu,""),reference:C.reference}),Ae=s.get(A);if(Ae)for(let F of Ae)_.set(`${F.name}${Hu}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Hu)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,pe]of _)if(pe!==null){let ke=r.getLocator(ue,pe),Fe=r.getLocator(ue.replace(Hu,""),pe),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=KM(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let he=_.get(qe);if(he){let ie=P.parseLocator(Array.isArray(he)?`${he[0]}@${he[1]}`:`${qe}@${he}`);LAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,_e=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);LAe(_e,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,_e)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),Be=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Me.dot,fe=(M=e.hoistingLimitsByCwd)==null?void 0:M.get(Be);f(ue,Ne,ke,j,p,_,Be,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function MAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function U8e(r,e,t){let i=e.getLocator(r.name.replace(Hu,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=MAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var H8e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=U8e(u,r,t);return{locator:sa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),T=D?[D,v]:[v],H=x.join(g,TAe),j=x.join(H,...T),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let _=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Hu)&&!W&&!_){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let M=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/${P.stringifyLocator(F)}`);if(M.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(M)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let Ae=j.split("/"),ge=Ae.indexOf(TAe),re=Ae.length-1;for(;ge>=0&&re>ge;){let M=K.toPortablePath(Ae.slice(0,re).join(x.sep)),F=Jr(Ae[re]),ue=i.get(M);if(!ue)i.set(M,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var sO={};ut(sO,{PnpInstaller:()=>Yu,PnpLinker:()=>wl,default:()=>mze,getPnpPath:()=>Bl,jsInstallUtils:()=>Co,pnpUtils:()=>hE,quotePathIfNeeded:()=>Sle});var ble=Pe(Xr()),Qle=J("url");var OAe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function G8e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n(i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none",i))(tE||{}),TAe="node_modules",Hu="$wsroot$";var rE=(r,e)=>{let{packageTree:t,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=K8e(r,e),o=null;if(n.length===0){let a=FAe(t,{hoistingLimits:i});o=H8e(r,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},sa=r=>`${r.name}@${r.reference}`,UO=r=>{let e=new Map;for(let[t,i]of r.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(t)}for(let t of e.values())t.locations=t.locations.sort((i,n)=>{let s=i.split(x.delimiter).length,o=n.split(x.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},LAe=(r,e)=>{let t=P.isVirtualLocator(r)?P.devirtualizeLocator(r):r,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(t,i)},KO=(r,e,t,i)=>{if(r.linkType!=="SOFT")return!1;let n=K.toPortablePath(t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation);return x.contains(i,n)===null},M8e=r=>{let e=r.getPackageInformation(r.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(r.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=K.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=r.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=sa(f);if(l.has(p))return;l.add(p);let C=r.getPackageInformation(f);if(C){let y=h?sa(h):"";if(sa(f)!==y&&C.linkType==="SOFT"&&!KO(C,f,r,i)){let B=OAe(C,f,r);(!a.get(B)||f.reference.startsWith("workspace:"))&&a.set(B,f)}for(let[B,v]of C.packageDependencies)v!==null&&(C.packagePeers.has(B)||c(r.getLocator(B,v),f))}};for(let f of o)c(f,null);let u=i.split(x.sep);for(let f of a.values()){let h=r.getPackageInformation(f),C=K.toPortablePath(h.packageLocation.slice(0,-1)).split(x.sep).slice(u.length),y=s;for(let B of C){let v=y.children.get(B);v||(v={children:new Map},y.children.set(B,v)),y=v}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=sa(h),C=n.get(p);C||(C=new Set,n.set(p,C)),C.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},K8e=(r,e)=>{let t=[],i=!1,n=new Map,s=M8e(r),o=r.getPackageInformation(r.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=r.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=K.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:1},u=new Map,g=(h,p)=>`${sa(p)}:${h}`,f=(h,p,C,y,B,v,D,T)=>{var re,O;let H=g(h,C),j=u.get(H),$=!!j;!$&&C.name===a.name&&C.reference===a.reference&&(j=c,u.set(H,c));let V=KO(p,C,r,l);if(!j){let F=0;V?F=2:p.linkType==="SOFT"&&C.name.endsWith(Hu)&&(F=1),j={name:h,identName:C.name,reference:C.reference,dependencies:new Set,peerNames:F===1?new Set:p.packagePeers,dependencyKind:F},u.set(H,j)}let W;if(V?W=2:B.linkType==="SOFT"?W=1:W=0,j.hoistPriority=Math.max(j.hoistPriority||0,W),T&&!V){let F=sa({name:y.identName,reference:y.reference}),ue=n.get(F)||new Set;n.set(F,ue),ue.add(j.name)}let _=new Map(p.packageDependencies);if(e.project){let F=e.project.workspacesByCwd.get(K.toPortablePath(p.packageLocation.slice(0,-1)));if(F){let ue=new Set([...Array.from(F.manifest.peerDependencies.values(),pe=>P.stringifyIdent(pe)),...Array.from(F.manifest.peerDependenciesMeta.keys())]);for(let pe of ue)_.has(pe)||(_.set(pe,v.get(pe)||null),j.peerNames.add(pe))}}let A=sa({name:C.name.replace(Hu,""),reference:C.reference}),Ae=s.get(A);if(Ae)for(let F of Ae)_.set(`${F.name}${Hu}`,F.reference);(p!==B||p.linkType!=="SOFT"||!V&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(D)))&&y.dependencies.add(j);let ge=C!==a&&p.linkType==="SOFT"&&!C.name.endsWith(Hu)&&!V;if(!$&&!ge){let F=new Map;for(let[ue,pe]of _)if(pe!==null){let ke=r.getLocator(ue,pe),Fe=r.getLocator(ue.replace(Hu,""),pe),Ne=r.getPackageInformation(Fe);if(Ne===null)throw new Error("Assertion failed: Expected the package to have been registered");let oe=KO(Ne,ke,r,l);if(e.validateExternalSoftLinks&&e.project&&oe){Ne.packageDependencies.size>0&&(i=!0);for(let[qe,ne]of Ne.packageDependencies)if(ne!==null){let Y=P.parseLocator(Array.isArray(ne)?`${ne[0]}@${ne[1]}`:`${qe}@${ne}`);if(sa(Y)!==sa(ke)){let he=_.get(qe);if(he){let ie=P.parseLocator(Array.isArray(he)?`${he[0]}@${he[1]}`:`${qe}@${he}`);LAe(ie,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ie)}`})}else{let ie=F.get(qe);if(ie){let de=ie.target,_e=P.parseLocator(Array.isArray(de)?`${de[0]}@${de[1]}`:`${qe}@${de}`);LAe(_e,Y)||t.push({messageName:71,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(ke.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${C.name}@${C.reference}`))} dependency ${P.prettyLocator(e.project.configuration,Y)} conflicts with dependency ${P.prettyLocator(e.project.configuration,_e)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ie.portal.name))}`})}else F.set(qe,{target:Y.reference,portal:ke})}}}}let le=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(D),Be=oe?D:x.relative(l,K.toPortablePath(Ne.packageLocation))||Oe.dot,fe=(O=e.hoistingLimitsByCwd)==null?void 0:O.get(Be);f(ue,Ne,ke,j,p,_,Be,le==="dependencies"||fe==="dependencies"||fe==="workspaces")}}};return f(a.name,o,a,c,o,o.packageDependencies,Oe.dot,!1),{packageTree:c,hoistingLimits:n,errors:t,preserveSymlinksRequired:i}};function OAe(r,e,t){let i=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(r.packageLocation):r.packageLocation;return K.toPortablePath(i||r.packageLocation)}function U8e(r,e,t){let i=e.getLocator(r.name.replace(Hu,""),r.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return t.pnpifyFs?(o=K.toPortablePath(n.packageLocation),s="SOFT"):(o=OAe(n,r,e),s=n.linkType),{linkType:s,target:o}}var H8e=(r,e,t)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=U8e(u,r,t);return{locator:sa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:Jr(g),name:Jr(f)}:{scope:null,name:Jr(g)}},o=new Set,a=(u,g,f)=>{if(o.has(u))return;o.add(u);let h=Array.from(u.references).sort().join("#");for(let p of u.dependencies){let C=Array.from(p.references).sort().join("#");if(p.identName===u.identName&&C===h)continue;let y=Array.from(p.references).sort(),B={name:p.identName,reference:y[0]},{name:v,scope:D}=s(p.name),T=D?[D,v]:[v],H=x.join(g,TAe),j=x.join(H,...T),$=`${f}/${B.name}`,V=n(B,f,y.slice(1)),W=!1;if(V.linkType==="SOFT"&&t.project){let A=t.project.workspacesByCwd.get(V.target.slice(0,-1));W=!!(A&&!A.manifest.name)}let _=V.linkType==="SOFT"&&j.startsWith(V.target);if(!p.name.endsWith(Hu)&&!W&&!_){let A=i.get(j);if(A){if(A.dirList)throw new Error(`Assertion failed: ${j} cannot merge dir node with leaf node`);{let O=P.parseLocator(A.locator),F=P.parseLocator(V.locator);if(A.linkType!==V.linkType)throw new Error(`Assertion failed: ${j} cannot merge nodes with different link types ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/${P.stringifyLocator(F)}`);if(O.identHash!==F.identHash)throw new Error(`Assertion failed: ${j} cannot merge nodes with different idents ${A.nodePath}/${P.stringifyLocator(O)} and ${f}/s${P.stringifyLocator(F)}`);V.aliases=[...V.aliases,...A.aliases,P.parseLocator(A.locator).reference]}}i.set(j,V);let Ae=j.split("/"),ge=Ae.indexOf(TAe),re=Ae.length-1;for(;ge>=0&&re>ge;){let O=K.toPortablePath(Ae.slice(0,re).join(x.sep)),F=Jr(Ae[re]),ue=i.get(O);if(!ue)i.set(O,{dirList:new Set([F])});else if(ue.dirList){if(ue.dirList.has(F))break;ue.dirList.add(F)}re--}}a(p,V.linkType==="SOFT"?V.target:j,$)}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var sM={};ut(sM,{PnpInstaller:()=>Yu,PnpLinker:()=>wl,default:()=>mze,getPnpPath:()=>Bl,jsInstallUtils:()=>Co,pnpUtils:()=>hE,quotePathIfNeeded:()=>Sle});var ble=Pe(Xr()),Qle=J("url");var MAe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function G8e(r,e,t){let i="";i+="[";for(let n=0,s=r.length;n"u"||(a!==0&&(n+=", "),n+=JSON.stringify(l),n+=": ",n+=_b(l,c,e,t).replace(/^ +/g,""),a+=1)}return n+="}",n}function q8e(r,e,t){let i=Object.keys(r),n=`${t} `,s="";s+=t,s+=`{ `;let o=0;for(let a=0,l=i.length;a"u"||(o!==0&&(s+=",",s+=` `),s+=n,s+=JSON.stringify(c),s+=": ",s+=_b(c,u,e,n).replace(/^ +/g,""),o+=1)}return o!==0&&(s+=` -`),s+=t,s+="}",s}function _b(r,e,t,i){let{next:n}=OAe[t],s=n[r]||n["*"];return KAe(e,s,i)}function KAe(r,e,t){let{collapsed:i}=OAe[e];return Array.isArray(r)?i?G8e(r,e,t):Y8e(r,e,t):typeof r=="object"&&r!==null?i?j8e(r,e,t):q8e(r,e,t):JSON.stringify(r)}function UAe(r){return KAe(r,"TOP_LEVEL","")}function iE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function J8e(r){let e=new Map,t=iE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function W8e(r){return iE(r.fallbackPool||[],([e])=>e)}function z8e(r){let e=[];for(let[t,i]of iE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of iE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of iE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function nE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:J8e(r),fallbackPool:W8e(r),packageRegistryData:z8e(r)}}var YAe=Pe(GAe());function jAe(r,e){return[r?`${r} +`),s+=t,s+="}",s}function _b(r,e,t,i){let{next:n}=MAe[t],s=n[r]||n["*"];return KAe(e,s,i)}function KAe(r,e,t){let{collapsed:i}=MAe[e];return Array.isArray(r)?i?G8e(r,e,t):Y8e(r,e,t):typeof r=="object"&&r!==null?i?j8e(r,e,t):q8e(r,e,t):JSON.stringify(r)}function UAe(r){return KAe(r,"TOP_LEVEL","")}function iE(r,e){let t=Array.from(r);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(t.map(o=>s(o)));let n=t.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>t[s])}function J8e(r){let e=new Map,t=iE(r.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of t){let s=e.get(i);typeof s>"u"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function W8e(r){return iE(r.fallbackPool||[],([e])=>e)}function z8e(r){let e=[];for(let[t,i]of iE(r.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([t,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of iE(i,([g])=>g===null?"0":`1${g}`)){let g=[];t!==null&&s!==null&&!a.has(t)&&g.push([t,s]);for(let[p,C]of iE(a.entries(),([y])=>y))g.push([p,C]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function nE(r){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:r.dependencyTreeRoots,enableTopLevelFallback:r.enableTopLevelFallback||!1,ignorePatternData:r.ignorePattern||null,fallbackExclusionList:J8e(r),fallbackPool:W8e(r),packageRegistryData:z8e(r)}}var YAe=Pe(GAe());function jAe(r,e){return[r?`${r} `:"",`/* eslint-disable */ `,`"use strict"; `,` @@ -632,9 +632,9 @@ Tree is too large, part of the tree has been dunped `].join("")}function _8e(r){return[`var path = require('path'); `,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)}); `,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function qAe(r){let e=nE(r),t=Z8e(e);return jAe(r.shebang,t)}function JAe(r){let e=nE(r),t=_8e(r.dataLocation),i=jAe(r.shebang,t);return{dataFile:V8e(e),loaderFile:i}}var dle=J("fs");var Cle=J("util");function GM(r,{basePath:e}){let t=K.toPortablePath(e),i=x.resolve(t),n=r.ignorePatternData!==null?new RegExp(r.ignorePatternData):null,s=new Map,o=new Map(r.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var gE=J("module"),uA=J("url"),_M=J("util");var qi=J("url");var XAe=Pe(J("assert"));var YM=Array.isArray,sE=JSON.stringify,oE=Object.getOwnPropertyNames,Gu=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),jM=(r,e)=>RegExp.prototype.exec.call(r,e),qM=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Il=(r,...e)=>String.prototype.endsWith.apply(r,e),JM=(r,...e)=>String.prototype.includes.apply(r,e),WM=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),aE=(r,...e)=>String.prototype.indexOf.apply(r,e),WAe=(r,...e)=>String.prototype.replace.apply(r,e),yl=(r,...e)=>String.prototype.slice.apply(r,e),oa=(r,...e)=>String.prototype.startsWith.apply(r,e),zAe=Map,VAe=JSON.parse;function AE(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var ZAe=AE("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),zM=AE("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),_Ae=AE("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!oa(t,"./");return e==="."?((0,XAe.default)(i===!1),`Invalid "exports" main target ${sE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${sE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),lE=AE("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error),$Ae=AE("ERR_PACKAGE_PATH_NOT_EXPORTED",(r,e,t=void 0)=>e==="."?`No "exports" main defined in ${r}package.json${t?` imported from ${t}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${r}package.json${t?` imported from ${t}`:""}`,Error);var eQ=J("url");function ele(r,e){let t=Object.create(null);for(let i=0;ie):r+e}cE(t,r,i,o,n)}jM(rle,yl(r,2))!==null&&cE(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(oa(c,u)||cE(t,r,i,o,n),e==="")return l;if(jM(rle,e)!==null){let g=s?WAe(t,"*",()=>e):t+e;tze(g,i,o,n)}return s?new URL(qM(ile,l.href,()=>e)):new URL(e,l)}function ize(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function ip(r,e,t,i,n,s,o,a){if(typeof e=="string")return rze(e,t,i,r,n,s,o,a);if(YM(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function nze(r,e,t){if(typeof r=="string"||YM(r))return!0;if(typeof r!="object"||r===null)return!1;let i=oE(r),n=!1,s=0;for(let o=0;o=c.length&&Il(e,g)&&sle(s,c)===1&&WM(c,"*")===u&&(s=c,o=yl(e,u,e.length-g.length))}}if(s){let l=t[s],c=ip(r,l,o,s,i,!0,!1,n);return c==null&&VM(e,r,i),c}VM(e,r,i)}function ale({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||oa(r,"#/")||Il(r,"/")){let o="is not a valid internal imports specifier name";throw new zM(r,o,(0,qi.fileURLToPath)(e))}let n,s=tle(e,i);if(s.exists){n=(0,qi.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Gu(o,r)&&!JM(r,"*")){let a=ip(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=oE(o);for(let u=0;u=g.length&&Il(r,h)&&sle(a,g)===1&&WM(g,"*")===f&&(a=g,l=yl(r,f,r.length-h.length))}}if(a){let u=o[a],g=ip(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}eze(r,n,e)}var oze=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=oze.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function po(r){return K.normalize(K.fromPortablePath(r))}var ule=Pe(lle());function gle(r){return aze(),ZM[r]}var ZM;function aze(){ZM||(ZM={"--conditions":[],...cle(Aze()),...cle(process.execArgv)})}function cle(r){return(0,ule.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function Aze(){let r=[],e=lze(process.env.NODE_OPTIONS||"",r);return r.length,e}function lze(r,e){let t=[],i=!1,n=!0;for(let s=0;s[g,new Map(f.map(([h,p])=>{var D;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let C=(D=p.discardFromLookup)!=null?D:!1,y={name:g,reference:h},B=s.get(p.packageLocation);B?(B.discardFromLookup=B.discardFromLookup&&C,C||(B.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:C});let v=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:C,get packageLocation(){return v||(v=x.join(i,p.packageLocation))}}]}))])),a=new Map(r.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(r.fallbackPool),c=r.dependencyTreeRoots,u=r.enableTopLevelFallback;return{basePath:t,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var gE=J("module"),uA=J("url"),_O=J("util");var qi=J("url");var XAe=Pe(J("assert"));var YO=Array.isArray,sE=JSON.stringify,oE=Object.getOwnPropertyNames,Gu=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),jO=(r,e)=>RegExp.prototype.exec.call(r,e),qO=(r,...e)=>RegExp.prototype[Symbol.replace].apply(r,e),Il=(r,...e)=>String.prototype.endsWith.apply(r,e),JO=(r,...e)=>String.prototype.includes.apply(r,e),WO=(r,...e)=>String.prototype.lastIndexOf.apply(r,e),aE=(r,...e)=>String.prototype.indexOf.apply(r,e),WAe=(r,...e)=>String.prototype.replace.apply(r,e),yl=(r,...e)=>String.prototype.slice.apply(r,e),oa=(r,...e)=>String.prototype.startsWith.apply(r,e),zAe=Map,VAe=JSON.parse;function AE(r,e,t){return class extends t{constructor(...i){super(e(...i)),this.code=r,this.name=`${t.name} [${r}]`}}}var ZAe=AE("ERR_PACKAGE_IMPORT_NOT_DEFINED",(r,e,t)=>`Package import specifier "${r}" is not defined${e?` in package ${e}package.json`:""} imported from ${t}`,TypeError),zO=AE("ERR_INVALID_MODULE_SPECIFIER",(r,e,t=void 0)=>`Invalid module "${r}" ${e}${t?` imported from ${t}`:""}`,TypeError),_Ae=AE("ERR_INVALID_PACKAGE_TARGET",(r,e,t,i=!1,n=void 0)=>{let s=typeof t=="string"&&!i&&t.length&&!oa(t,"./");return e==="."?((0,XAe.default)(i===!1),`Invalid "exports" main target ${sE(t)} defined in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${i?"imports":"exports"}" target ${sE(t)} defined for '${e}' in the package config ${r}package.json${n?` imported from ${n}`:""}${s?'; targets must start with "./"':""}`},Error),lE=AE("ERR_INVALID_PACKAGE_CONFIG",(r,e,t)=>`Invalid package config ${r}${e?` while importing ${e}`:""}${t?`. ${t}`:""}`,Error),$Ae=AE("ERR_PACKAGE_PATH_NOT_EXPORTED",(r,e,t=void 0)=>e==="."?`No "exports" main defined in ${r}package.json${t?` imported from ${t}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${r}package.json${t?` imported from ${t}`:""}`,Error);var eQ=J("url");function ele(r,e){let t=Object.create(null);for(let i=0;ie):r+e}cE(t,r,i,o,n)}jO(rle,yl(r,2))!==null&&cE(t,r,i,o,n);let l=new URL(r,i),c=l.pathname,u=new URL(".",i).pathname;if(oa(c,u)||cE(t,r,i,o,n),e==="")return l;if(jO(rle,e)!==null){let g=s?WAe(t,"*",()=>e):t+e;tze(g,i,o,n)}return s?new URL(qO(ile,l.href,()=>e)):new URL(e,l)}function ize(r){let e=+r;return`${e}`!==r?!1:e>=0&&e<4294967295}function ip(r,e,t,i,n,s,o,a){if(typeof e=="string")return rze(e,t,i,r,n,s,o,a);if(YO(e)){if(e.length===0)return null;let l;for(let c=0;cs?-1:s>n||t===-1?1:i===-1||r.length>e.length?-1:e.length>r.length?1:0}function nze(r,e,t){if(typeof r=="string"||YO(r))return!0;if(typeof r!="object"||r===null)return!1;let i=oE(r),n=!1,s=0;for(let o=0;o=c.length&&Il(e,g)&&sle(s,c)===1&&WO(c,"*")===u&&(s=c,o=yl(e,u,e.length-g.length))}}if(s){let l=t[s],c=ip(r,l,o,s,i,!0,!1,n);return c==null&&VO(e,r,i),c}VO(e,r,i)}function ale({name:r,base:e,conditions:t,readFileSyncFn:i}){if(r==="#"||oa(r,"#/")||Il(r,"/")){let o="is not a valid internal imports specifier name";throw new zO(r,o,(0,qi.fileURLToPath)(e))}let n,s=tle(e,i);if(s.exists){n=(0,qi.pathToFileURL)(s.pjsonPath);let o=s.imports;if(o)if(Gu(o,r)&&!JO(r,"*")){let a=ip(n,o[r],"",r,e,!1,!0,t);if(a!=null)return a}else{let a="",l,c=oE(o);for(let u=0;u=g.length&&Il(r,h)&&sle(a,g)===1&&WO(g,"*")===f&&(a=g,l=yl(r,f,r.length-h.length))}}if(a){let u=o[a],g=ip(n,u,l,a,e,!0,!0,t);if(g!=null)return g}}}eze(r,n,e)}var oze=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function ri(r,e,t={},i){i!=null||(i=oze.has(r)?"MODULE_NOT_FOUND":r);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...n,value:i},pnpCode:{...n,value:r},data:{...n,value:t}})}function po(r){return K.normalize(K.fromPortablePath(r))}var ule=Pe(lle());function gle(r){return aze(),ZO[r]}var ZO;function aze(){ZO||(ZO={"--conditions":[],...cle(Aze()),...cle(process.execArgv)})}function cle(r){return(0,ule.default)({"--conditions":[String],"-C":"--conditions"},{argv:r,permissive:!0})}function Aze(){let r=[],e=lze(process.env.NODE_OPTIONS||"",r);return r.length,e}function lze(r,e){let t=[],i=!1,n=!0;for(let s=0;sparseInt(r,10)),aBt=Ji>16||Ji===16&&aa>=12,ABt=Ji>17||Ji===17&&aa>=5||Ji===16&&aa>=15,lBt=Ji>17||Ji===17&&aa>=1||Ji===16&&aa>14,fle=Ji>19||Ji===19&&aa>=2||Ji===18&&aa>=13,cBt=Ji>19||Ji===19&&aa>=3,uBt=Ji>18||Ji===18&&aa>=1||Ji===16&&aa>=17;var cze=new Set(hle.Module.builtinModules||Object.keys(process.binding("natives"))),tQ=r=>r.startsWith("node:")||cze.has(r);function ple(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),fle)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function $M(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let Be of le.keys()){if(Be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:Be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,he,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,Be=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?Be("31;1",`\u2716 ${(he=oe.error)==null?void 0:he.message.replace(/\n.*/s,"")}`):Be("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${Be("37;1","In \u2190")} ${(0,_M.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${Be("37;1","Out \u2192")} ${(0,_M.inspect)(oe.result,{colors:le,compact:!0})}`));let ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(ae.length>0){console.error();for(let _e of ae)console.error(` ${Be("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...Be)=>{let fe=p(oe,Be);try{return fe.result=le(...Be)}catch(ae){throw fe.error=ae}finally{C(fe)}};if(i>=1)return(...Be)=>{try{return le(...Be)}catch(fe){let ae=p(oe,Be);throw ae.error=fe,C(ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["node","require",...gle("--conditions")]);function T(oe,le=D,Be){let fe=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(fe===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=B(fe),qe=x.join(ae,xt.manifest);if(!e.fakeFs.existsSync(qe))return null;let ne=JSON.parse(e.fakeFs.readFileSync(qe,"utf8"));if(ne.exports==null)return null;let Y=x.contains(ae,oe);if(Y===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");Y!=="."&&!a.test(Y)&&(Y=`./${Y}`);try{let he=ole({packageJSONUrl:(0,uA.pathToFileURL)(K.fromPortablePath(qe)),packageSubpath:Y,exports:ne.exports,base:Be?(0,uA.pathToFileURL)(K.fromPortablePath(Be)):null,conditions:le});return K.toPortablePath((0,uA.fileURLToPath)(he))}catch(he){throw ri("EXPORTS_RESOLUTION_FAILED",he.message,{unqualifiedPath:po(oe),locator:fe,pkgJson:ne,subpath:po(Y),conditions:le},he.code)}}function H(oe,le,{extensions:Be}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let ae;try{ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(ae&&ae.main&&(qe=x.resolve(oe,ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:Be});if(ne!==null)return ne}}for(let ae=0,qe=Be.length;ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let he=Ae(ne);for(let ie of he)if(B(ie).packagePeers.has(oe))ae(ie);else{let _e=Be.get(ie.name);typeof _e>"u"&&Be.set(ie.name,_e=new Set),_e.add(ie.reference)}};ae(le);let qe=[];for(let ne of[...Be.keys()].sort())for(let Y of[...Be.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:Be=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let ae=h.get(fe);if(typeof ae>"u"||ae.discardFromLookup&&!Be){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return ae.locator}while(fe!=="");return null}function M(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:Be=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(Be&&tQ(oe))return null;let fe=po(oe),ae=le&&po(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) +`),t}var hle=J("module");var[Ji,aa]=process.versions.node.split(".").map(r=>parseInt(r,10)),aBt=Ji>16||Ji===16&&aa>=12,ABt=Ji>17||Ji===17&&aa>=5||Ji===16&&aa>=15,lBt=Ji>17||Ji===17&&aa>=1||Ji===16&&aa>14,fle=Ji>19||Ji===19&&aa>=2||Ji===18&&aa>=13,cBt=Ji>19||Ji===19&&aa>=3,uBt=Ji>18||Ji===18&&aa>=1||Ji===16&&aa>=17;var cze=new Set(hle.Module.builtinModules||Object.keys(process.binding("natives"))),tQ=r=>r.startsWith("node:")||cze.has(r);function ple(r){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(r=r.map(e=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(e)))),fle)process.send({"watch:require":r});else for(let e of r)process.send({"watch:require":e})}function $O(r,e){let t=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(r.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let oe of["react-scripts","gatsby"]){let le=r.packageRegistry.get(oe);if(le)for(let Be of le.keys()){if(Be===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:oe,reference:Be})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=r;function p(oe,le){return{fn:oe,args:le,error:null,result:null}}function C(oe){var qe,ne,Y,he,ie,de;let le=(Y=(ne=(qe=process.stderr)==null?void 0:qe.hasColors)==null?void 0:ne.call(qe))!=null?Y:process.stdout.isTTY,Be=(_e,Pt)=>`\x1B[${_e}m${Pt}\x1B[0m`,fe=oe.error;console.error(fe?Be("31;1",`\u2716 ${(he=oe.error)==null?void 0:he.message.replace(/\n.*/s,"")}`):Be("33;1","\u203C Resolution")),oe.args.length>0&&console.error();for(let _e of oe.args)console.error(` ${Be("37;1","In \u2190")} ${(0,_O.inspect)(_e,{colors:le,compact:!0})}`);oe.result&&(console.error(),console.error(` ${Be("37;1","Out \u2192")} ${(0,_O.inspect)(oe.result,{colors:le,compact:!0})}`));let ae=(de=(ie=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ie.slice(2))!=null?de:[];if(ae.length>0){console.error();for(let _e of ae)console.error(` ${Be("38;5;244",_e)}`)}console.error()}function y(oe,le){if(e.allowDebug===!1)return le;if(Number.isFinite(i)){if(i>=2)return(...Be)=>{let fe=p(oe,Be);try{return fe.result=le(...Be)}catch(ae){throw fe.error=ae}finally{C(fe)}};if(i>=1)return(...Be)=>{try{return le(...Be)}catch(fe){let ae=p(oe,Be);throw ae.error=fe,C(ae),fe}}}return le}function B(oe){let le=A(oe);if(!le)throw ri("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return le}function v(oe){if(oe.name===null)return!0;for(let le of r.dependencyTreeRoots)if(le.name===oe.name&&le.reference===oe.reference)return!0;return!1}let D=new Set(["node","require",...gle("--conditions")]);function T(oe,le=D,Be){let fe=re(x.join(oe,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(fe===null)throw ri("INTERNAL",`The locator that owns the "${oe}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:ae}=B(fe),qe=x.join(ae,xt.manifest);if(!e.fakeFs.existsSync(qe))return null;let ne=JSON.parse(e.fakeFs.readFileSync(qe,"utf8"));if(ne.exports==null)return null;let Y=x.contains(ae,oe);if(Y===null)throw ri("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");Y!=="."&&!a.test(Y)&&(Y=`./${Y}`);try{let he=ole({packageJSONUrl:(0,uA.pathToFileURL)(K.fromPortablePath(qe)),packageSubpath:Y,exports:ne.exports,base:Be?(0,uA.pathToFileURL)(K.fromPortablePath(Be)):null,conditions:le});return K.toPortablePath((0,uA.fileURLToPath)(he))}catch(he){throw ri("EXPORTS_RESOLUTION_FAILED",he.message,{unqualifiedPath:po(oe),locator:fe,pkgJson:ne,subpath:po(Y),conditions:le},he.code)}}function H(oe,le,{extensions:Be}){let fe;try{le.push(oe),fe=e.fakeFs.statSync(oe)}catch{}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(oe);if(fe&&fe.isDirectory()){let ae;try{ae=JSON.parse(e.fakeFs.readFileSync(x.join(oe,xt.manifest),"utf8"))}catch{}let qe;if(ae&&ae.main&&(qe=x.resolve(oe,ae.main)),qe&&qe!==oe){let ne=H(qe,le,{extensions:Be});if(ne!==null)return ne}}for(let ae=0,qe=Be.length;ae{let Y=JSON.stringify(ne.name);if(fe.has(Y))return;fe.add(Y);let he=Ae(ne);for(let ie of he)if(B(ie).packagePeers.has(oe))ae(ie);else{let _e=Be.get(ie.name);typeof _e>"u"&&Be.set(ie.name,_e=new Set),_e.add(ie.reference)}};ae(le);let qe=[];for(let ne of[...Be.keys()].sort())for(let Y of[...Be.get(ne)].sort())qe.push({name:ne,reference:Y});return qe}function re(oe,{resolveIgnored:le=!1,includeDiscardFromLookup:Be=!1}={}){if(V(oe)&&!le)return null;let fe=x.relative(r.basePath,oe);fe.match(s)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let ae=h.get(fe);if(typeof ae>"u"||ae.discardFromLookup&&!Be){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return ae.locator}while(fe!=="");return null}function O(oe){try{return e.fakeFs.readFileSync(K.toPortablePath(oe),"utf8")}catch(le){if(le.code==="ENOENT")return;throw le}}function F(oe,le,{considerBuiltins:Be=!0}={}){if(oe.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(oe==="pnpapi")return K.toPortablePath(e.pnpapiResolution);if(Be&&tQ(oe))return null;let fe=po(oe),ae=le&&po(le);if(le&&V(le)&&(!x.isAbsolute(oe)||re(oe)===null)){let Y=$(oe,le);if(Y===!1)throw ri("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) Require request: "${fe}" Required by: ${ae} @@ -675,11 +675,11 @@ Required by: ${ae} Required package: ${Y}${Y!==fe?` (via "${fe}")`:""} Required by: ${ie.name}@${ie.reference} (via ${ae}) -`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(_e==null){if(Pt===null||It===null)throw It||new Error("Assertion failed: Expected an error to have been set");_e=Pt;let hr=It.message.replace(/\n.*/g,"");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Mr=Array.isArray(_e)?{name:_e[0],reference:_e[1]}:{name:Y,reference:_e},ii=B(Mr);if(!ii.packageLocation)throw ri("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. +`,{request:fe,issuer:ae,issuerLocator:Object.assign({},ie),dependencyName:Y}));if(_e==null){if(Pt===null||It===null)throw It||new Error("Assertion failed: Expected an error to have been set");_e=Pt;let hr=It.message.replace(/\n.*/g,"");It.message=hr,!u.has(hr)&&i!==0&&(u.add(hr),process.emitWarning(It))}let Or=Array.isArray(_e)?{name:_e[0],reference:_e[1]}:{name:Y,reference:_e},ii=B(Or);if(!ii.packageLocation)throw ri("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. -Required package: ${Mr.name}@${Mr.reference}${Mr.name!==fe?` (via "${fe}")`:""} +Required package: ${Or.name}@${Or.reference}${Or.name!==fe?` (via "${fe}")`:""} Required by: ${ie.name}@${ie.reference} (via ${ae}) -`,{request:fe,issuer:ae,dependencyLocator:Object.assign({},Mr)});let gi=ii.packageLocation;he?qe=x.join(gi,he):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,Be=D,fe){if(s.test(oe))return le;let ae=T(le,Be,fe);return ae?x.normalize(ae):le}function pe(oe,{extensions:le=Object.keys(gE.Module._extensions)}={}){var ae,qe;let Be=[],fe=H(oe,Be,{extensions:le});if(fe)return x.normalize(fe);{ple(Be.map(he=>K.fromPortablePath(he)));let ne=po(oe),Y=re(oe);if(Y){let{packageLocation:he}=B(Y),ie=!0;try{e.fakeFs.accessSync(he)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(ae=de==null?void 0:de.message)!=null?ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}). +`,{request:fe,issuer:ae,dependencyLocator:Object.assign({},Or)});let gi=ii.packageLocation;he?qe=x.join(gi,he):qe=gi}else if(x.isAbsolute(oe))qe=x.normalize(oe);else{if(!le)throw ri("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:ae});let Y=x.resolve(le);le.match(o)?qe=x.normalize(x.join(Y,oe)):qe=x.normalize(x.join(x.dirname(Y),oe))}return x.normalize(qe)}function ue(oe,le,Be=D,fe){if(s.test(oe))return le;let ae=T(le,Be,fe);return ae?x.normalize(ae):le}function pe(oe,{extensions:le=Object.keys(gE.Module._extensions)}={}){var ae,qe;let Be=[],fe=H(oe,Be,{extensions:le});if(fe)return x.normalize(fe);{ple(Be.map(he=>K.fromPortablePath(he)));let ne=po(oe),Y=re(oe);if(Y){let{packageLocation:he}=B(Y),ie=!0;try{e.fakeFs.accessSync(he)}catch(de){if((de==null?void 0:de.code)==="ENOENT")ie=!1;else{let _e=((qe=(ae=de==null?void 0:de.message)!=null?ae:de)!=null?qe:"empty exception thrown").replace(/^[A-Z]/,Pt=>Pt.toLowerCase());throw ri("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${_e}). Missing package: ${Y.name}@${Y.reference} Expected package location: ${po(he)} @@ -691,7 +691,7 @@ Expected package location: ${po(he)} Source path: ${ne} ${Be.map(he=>`Not found: ${po(he)} -`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,Be){var ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=ale({name:oe,base:(0,uA.pathToFileURL)(K.fromPortablePath(le)),conditions:(ae=Be.conditions)!=null?ae:D,readFileSyncFn:M});if(fe instanceof uA.URL)return pe(K.toPortablePath((0,uA.fileURLToPath)(fe)),{extensions:Be.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,Be)}function Fe(oe,le,Be={}){try{if(oe.startsWith("#"))return ke(oe,le,Be);let{considerBuiltins:fe,extensions:ae,conditions:qe}=Be,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,he=(!fe||!tQ(oe))&&!Y()?ue(oe,ne,qe,le):ne;return pe(he,{extensions:ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:po(oe),issuer:le&&po(le)}),fe}}function Ne(oe){let le=x.normalize(oe),Be=Br.resolveVirtual(le);return Be!==le?Be:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,Be]of f)for(let fe of Be.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let Be=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:Be}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=F(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(pe(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=Fe(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var xBt=(0,Cle.promisify)(dle.readFile);var mle=(r,e,t)=>{let i=nE(r),n=GM(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return $M(n,{fakeFs:t,pnpapiResolution:s})};var tO=Pe(Ile());var Co={};ut(Co,{checkAndReportManifestCompatibility:()=>wle,checkManifestCompatibility:()=>yle,extractBuildScripts:()=>rQ,getExtractHint:()=>rO,hasBindingGyp:()=>iO});function yle(r){return P.isPackageCompatible(r,ws.getArchitectureSet())}function wle(r,e,{configuration:t,report:i}){return yle(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${ws.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):wle(r,"build",{configuration:i,report:n})?s:[]}var gze=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rO(r){return r.packageFs.getExtractHint({relevantExtensions:gze})}function iO(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var hE={};ut(hE,{getUnpluggedPath:()=>fE});function fE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var fze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),wl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Bl(t.project).cjs;if(!O.existsSync(i))throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Bl(t.project).cjs;if(!O.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Yu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Yu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await hze(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?rQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=nO(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:nO(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Bl(this.opts.project);if(O.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await O.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await O.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await O.removePromise(e.cjs),await O.removePromise(this.opts.project.configuration.get("pnpDataPath")),await O.removePromise(e.esmLoader),await O.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=Bl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await O.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=qAe(e);await O.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await O.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=JAe({...e,dataLocation:o});await O.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await O.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await O.changeFilePromise(t.esmLoader,(0,tO.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await O.removePromise(s);else for(let o of await O.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await O.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!O.existsSync(s))continue;let o=await O.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:fze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(rQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=fE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new So(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await O.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,Me.dot,{baseFs:t.packageFs,overwrite:!1}),await O.writeFilePromise(s,""))})),new qt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=nO(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function nO(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function hze(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rO(r),hasBindingGyp:iO(r)}}}var Ble=Pe(Bn());var ju=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new Qe("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new Qe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!Ble.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let T=i.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new Qe(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new Qe(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,fE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};ju.paths=[["unplug"]],ju.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Bl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),Sle=r=>/\s/.test(r)?JSON.stringify(r):r;async function pze(r,e,t){let i=Bl(r),n=`--require ${Sle(K.fromPortablePath(i.cjs))}`;if(O.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Qle.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&ble.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(O.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function dze(r,e){let t=Bl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var Cze={hooks:{populateYarnPaths:dze,setupScriptEnvironment:pze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[wl],commands:[ju]},mze=Cze;var Nle=Pe(kle());var gO=Pe(J("crypto")),Tle=Pe(J("fs")),Lle=1,kr="node_modules",iQ=".bin",Mle=".yarn-state.yml",Tze=1e3;var nQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uO(t.project,{unrollAliases:!0}));if(n===null)throw new Qe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uO(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=sQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new cO(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},cO=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await Lze(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await uO(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum(tE,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(tE).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=rE(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=UM(a);await Gze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(Hle(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=Co.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Lze(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:Co.getExtractHint(e),hasBindingGyp:Co.hasBindingGyp(e)}}}async function Mze(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will +`).join("")}`,{unqualifiedPath:ne,extensions:le})}}function ke(oe,le,Be){var ae;if(!le)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let fe=ale({name:oe,base:(0,uA.pathToFileURL)(K.fromPortablePath(le)),conditions:(ae=Be.conditions)!=null?ae:D,readFileSyncFn:O});if(fe instanceof uA.URL)return pe(K.toPortablePath((0,uA.fileURLToPath)(fe)),{extensions:Be.extensions});if(fe.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return Fe(fe,le,Be)}function Fe(oe,le,Be={}){try{if(oe.startsWith("#"))return ke(oe,le,Be);let{considerBuiltins:fe,extensions:ae,conditions:qe}=Be,ne=F(oe,le,{considerBuiltins:fe});if(oe==="pnpapi")return ne;if(ne===null)return null;let Y=()=>le!==null?V(le):!1,he=(!fe||!tQ(oe))&&!Y()?ue(oe,ne,qe,le):ne;return pe(he,{extensions:ae})}catch(fe){throw Object.prototype.hasOwnProperty.call(fe,"pnpCode")&&Object.assign(fe.data,{request:po(oe),issuer:le&&po(le)}),fe}}function Ne(oe){let le=x.normalize(oe),Be=Br.resolveVirtual(le);return Be!==le?Be:null}return{VERSIONS:W,topLevel:_,getLocator:(oe,le)=>Array.isArray(le)?{name:le[0],reference:le[1]}:{name:oe,reference:le},getDependencyTreeRoots:()=>[...r.dependencyTreeRoots],getAllLocators(){let oe=[];for(let[le,Be]of f)for(let fe of Be.keys())le!==null&&fe!==null&&oe.push({name:le,reference:fe});return oe},getPackageInformation:oe=>{let le=A(oe);if(le===null)return null;let Be=K.fromPortablePath(le.packageLocation);return{...le,packageLocation:Be}},findPackageLocator:oe=>re(K.toPortablePath(oe)),resolveToUnqualified:y("resolveToUnqualified",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=F(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveUnqualified:y("resolveUnqualified",(oe,le)=>K.fromPortablePath(pe(K.toPortablePath(oe),le))),resolveRequest:y("resolveRequest",(oe,le,Be)=>{let fe=le!==null?K.toPortablePath(le):null,ae=Fe(K.toPortablePath(oe),fe,Be);return ae===null?null:K.fromPortablePath(ae)}),resolveVirtual:y("resolveVirtual",oe=>{let le=Ne(K.toPortablePath(oe));return le!==null?K.fromPortablePath(le):null})}}var xBt=(0,Cle.promisify)(dle.readFile);var mle=(r,e,t)=>{let i=nE(r),n=GO(i,{basePath:e}),s=K.join(e,xt.pnpCjs);return $O(n,{fakeFs:t,pnpapiResolution:s})};var tM=Pe(Ile());var Co={};ut(Co,{checkAndReportManifestCompatibility:()=>wle,checkManifestCompatibility:()=>yle,extractBuildScripts:()=>rQ,getExtractHint:()=>rM,hasBindingGyp:()=>iM});function yle(r){return P.isPackageCompatible(r,ws.getArchitectureSet())}function wle(r,e,{configuration:t,report:i}){return yle(r)?!0:(i==null||i.reportWarningOnce(76,`${P.prettyLocator(t,r)} The ${ws.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function rQ(r,e,t,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([0,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([1,"node-gyp rebuild"]),s.length===0?[]:r.linkType!=="HARD"?(n==null||n.reportWarningOnce(6,`${P.prettyLocator(i,r)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):t&&t.built===!1?(n==null||n.reportInfoOnce(5,`${P.prettyLocator(i,r)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!t.built?(n==null||n.reportWarningOnce(4,`${P.prettyLocator(i,r)} lists build scripts, but all build scripts have been disabled.`),[]):wle(r,"build",{configuration:i,report:n})?s:[]}var gze=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function rM(r){return r.packageFs.getExtractHint({relevantExtensions:gze})}function iM(r){let e=x.join(r.prefixPath,"binding.gyp");return r.packageFs.existsSync(e)}var hE={};ut(hE,{getUnpluggedPath:()=>fE});function fE(r,{configuration:e}){return x.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(r))}var fze=new Set([P.makeIdent(null,"open").identHash,P.makeIdent(null,"opn").identHash]),wl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Bl(t.project).cjs;if(!M.existsSync(i))throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return K.toPortablePath(o.packageLocation)}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=Bl(t.project).cjs;if(!M.existsSync(i))return null;let s=Ie.getFactoryWithDefault(this.pnpCache,i,()=>Ie.dynamicRequire(i,{cachingStrategy:Ie.CachingStrategy.FsTime})).findPackageLocator(K.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Yu(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},Yu=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Ie.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!=="SOFT",g,f;if(c||u){let D=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(D.locatorHash),typeof g>"u"&&(g=await hze(t),e.linkType==="HARD"&&this.customData.store.set(D.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(D,e.version)}let h=c?rQ(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,t,f,i):t.packageFs;if(x.isAbsolute(t.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${t.prefixPath}) to be relative to the parent`);let C=x.resolve(p.getRealPath(),t.prefixPath),y=nM(this.opts.project.cwd,C),B=new Map,v=new Set;if(a){for(let D of e.peerDependencies.values())B.set(P.stringifyIdent(D),null),v.add(P.stringifyIdent(D));if(!o){let D=P.devirtualizeLocator(e);this.virtualTemplates.set(D.locatorHash,{location:nM(this.opts.project.cwd,Br.resolveVirtual(C)),locator:D})}}return Ie.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:B,packagePeers:v,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),{packageLocation:C,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,t){let i=this.getPackageInformation(e);for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){for(let i of t)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Bl(this.opts.project);if(M.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(0,`Removing the old ${ee.pretty(this.opts.project.configuration,xt.pnpJs,ee.Type.PATH)} file. You might need to manually update existing references to reference the new ${ee.pretty(this.opts.project.configuration,xt.pnpCjs,ee.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ee.pretty(this.opts.project.configuration,"yarn sdks",ee.Type.CODE)}.`),await M.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await M.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await M.removePromise(e.cjs),await M.removePromise(this.opts.project.configuration.get("pnpDataPath")),await M.removePromise(e.esmLoader),await M.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())Ie.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let t=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=t!=="none",s=[],o=new Map,a=Ie.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(t==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let t=Bl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await M.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=qAe(e);await M.changeFilePromise(t.cjs,o,{automaticNewlines:!0,mode:493}),await M.removePromise(i)}else{let o=x.relative(x.dirname(t.cjs),i),{dataFile:a,loaderFile:l}=JAe({...e,dataLocation:o});await M.changeFilePromise(t.cjs,l,{automaticNewlines:!0,mode:493}),await M.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await M.changeFilePromise(t.esmLoader,(0,tM.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await M.removePromise(s);else for(let o of await M.readdirPromise(s)){let a=x.resolve(s,o);this.unpluggedPaths.has(a)||await M.removePromise(a)}}async locateNodeModules(e){let t=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=x.join(n.cwd,"node_modules");if(i&&i.test(x.relative(this.opts.project.cwd,n.cwd))||!M.existsSync(s))continue;let o=await M.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)t.push(s);else for(let l of a)t.push(x.join(s,l.name))}return t}async unplugPackageIfNeeded(e,t,i,n,s){return this.shouldBeUnplugged(e,t,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,t,i){return typeof i.unplugged<"u"?i.unplugged:fze.has(e.identHash)||e.conditions!=null?!0:t.manifest.preferUnplugged!==null?t.manifest.preferUnplugged:!!(rQ(e,t,i,{configuration:this.opts.project.configuration}).length>0||t.misc.extractHint)}async unplugPackage(e,t,i){let n=fE(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new So(n,{baseFs:t.packageFs,pathUtils:x}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=x.join(n,t.prefixPath,".ready");await M.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,Oe.dot,{baseFs:t.packageFs,overwrite:!1}),await M.writeFilePromise(s,""))})),new qt(n))}getPackageInformation(e){let t=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(t);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let t=Ie.getMapWithDefault(this.packageRegistry,"@@disk"),i=nM(this.opts.project.cwd,e);return Ie.getFactoryWithDefault(t,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function nM(r,e){let t=x.relative(r,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}async function hze(r){var i;let e=(i=await ot.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?i:new ot,t=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())t.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:rM(r),hasBindingGyp:iM(r)}}}var Ble=Pe(Bn());var ju=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);if(t.get("nodeLinker")!=="pnp")throw new Qe("This command can only be used if the `nodeLinker` option is set to `pnp`");await i.restoreInstallState();let o=new Set(this.patterns),a=this.patterns.map(h=>{let p=P.parseDescriptor(h),C=p.range!=="unknown"?p:P.makeDescriptor(p,"*");if(!vt.validRange(C.range))throw new Qe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(t,C)})`);return y=>{let B=P.stringifyIdent(y);return!Ble.default.isMatch(B,P.stringifyIdent(C))||y.version&&!vt.satisfiesWithPrereleases(y.version,C.range)?!1:(o.delete(h),!0)}}),l=()=>{let h=[];for(let p of i.storedPackages.values())!i.tryWorkspaceByLocator(p)&&!P.isVirtualLocator(p)&&a.some(C=>C(p))&&h.push(p);return h},c=h=>{let p=new Set,C=[],y=(B,v)=>{if(!p.has(B.locatorHash)&&(p.add(B.locatorHash),!i.tryWorkspaceByLocator(B)&&a.some(D=>D(B))&&C.push(B),!(v>0&&!this.recursive)))for(let D of B.dependencies.values()){let T=i.storedResolutions.get(D.descriptorHash);if(!T)throw new Error("Assertion failed: The resolution should have been registered");let H=i.storedPackages.get(T);if(!H)throw new Error("Assertion failed: The package should have been registered");y(H,v+1)}};for(let B of h){let v=i.storedPackages.get(B.anchoredLocator.locatorHash);if(!v)throw new Error("Assertion failed: The package should have been registered");y(v,0)}return C},u,g;if(this.all&&this.recursive?(u=l(),g="the project"):this.all?(u=c(i.workspaces),g="any workspace"):(u=c([n]),g="this workspace"),o.size>1)throw new Qe(`Patterns ${ee.prettyList(t,o,ee.Type.CODE)} don't match any packages referenced by ${g}`);if(o.size>0)throw new Qe(`Pattern ${ee.prettyList(t,o,ee.Type.CODE)} doesn't match any packages referenced by ${g}`);return u=Ie.sortMap(u,h=>P.stringifyLocator(h)),(await Ge.start({configuration:t,stdout:this.context.stdout,json:this.json},async h=>{var p;for(let C of u){let y=(p=C.version)!=null?p:"unknown",B=i.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(C,y));B.unplugged=!0,h.reportInfo(0,`Will unpack ${P.prettyLocator(t,C)} to ${ee.pretty(t,fE(C,{configuration:t}),ee.Type.PATH)}`),h.reportJson({locator:P.stringifyLocator(C),version:y})}await i.topLevelWorkspace.persistManifest(),h.reportSeparator(),await i.install({cache:s,report:h})})).exitCode()}};ju.paths=[["unplug"]],ju.usage=ve.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Bl=r=>({cjs:x.join(r.cwd,xt.pnpCjs),cjsLegacy:x.join(r.cwd,xt.pnpJs),esmLoader:x.join(r.cwd,".pnp.loader.mjs")}),Sle=r=>/\s/.test(r)?JSON.stringify(r):r;async function pze(r,e,t){let i=Bl(r),n=`--require ${Sle(K.fromPortablePath(i.cjs))}`;if(M.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,Qle.pathToFileURL)(K.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&ble.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(M.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function dze(r,e){let t=Bl(r);e(t.cjs),e(t.esmLoader),e(r.configuration.get("pnpDataPath")),e(r.configuration.get("pnpUnpluggedFolder"))}var Cze={hooks:{populateYarnPaths:dze,setupScriptEnvironment:pze},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:"STRING",default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:"ABSOLUTE_PATH",default:"./.pnp.data.json"}},linkers:[wl],commands:[ju]},mze=Cze;var Nle=Pe(kle());var gM=Pe(J("crypto")),Tle=Pe(J("fs")),Lle=1,kr="node_modules",iQ=".bin",Ole=".yarn-state.yml",Tze=1e3;var nQ=class{constructor(){this.installStateCache=new Map}supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=t.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uM(t.project,{unrollAliases:!0}));if(n===null)throw new Qe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let l=new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw l.code="LOCATOR_NOT_INSTALLED",l}let o=s.locations.sort((l,c)=>l.split(x.sep).length-c.split(x.sep).length),a=x.join(t.project.configuration.startingCwd,kr);return o.find(l=>x.contains(a,l))||s.locations[0]}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=await Ie.getFactoryWithDefault(this.installStateCache,t.project.cwd,async()=>await uM(t.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=sQ(x.resolve(e),{skipPrefix:t.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new cM(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},cM=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,t){var u;let i=x.resolve(t.packageFs.getRealPath(),t.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n>"u"&&(n=await Lze(e,t),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,n)),!P.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${K.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=t.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=t.checksum?t.checksum.substring(t.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,t){let i=this.localStore.get(e.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of t){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),t=await uM(this.opts.project),i=this.opts.project.configuration.get("nmMode");(t===null||i!==t.nmMode)&&(this.opts.project.storedBuildState.clear(),t={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i,mtimeMs:0});let n=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Ie.validateEnum(tE,(C=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?C:h)}catch{let B=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning(57,`${B}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(tE).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,C;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(C=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?C:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(K.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>K.fromPortablePath(Br.resolveVirtual(K.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=rE(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=UO(a);await Gze(t,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p>"u")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(Hle(f))continue;let p=P.parseLocator(f),C=this.localStore.get(p.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(C.pkg))continue;let y=Co.extractBuildScripts(C.pkg,C.customPackageData,C.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${ee.pretty(this.opts.project.configuration,"--preserve-symlinks",ee.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function Lze(r,e){var n;let t=(n=await ot.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ot,i=new Set(["preinstall","install","postinstall"]);for(let s of t.scripts.keys())i.has(s)||t.scripts.delete(s);return{manifest:{bin:t.bin,scripts:t.scripts},misc:{extractHint:Co.getExtractHint(e),hasBindingGyp:Co.hasBindingGyp(e)}}}async function Oze(r,e,t,i,{installChangedByUser:n}){let s="";s+=`# Warning: This file is automatically generated. Removing it is fine, but will `,s+=`# cause your node_modules installation to become invalidated. `,s+=` `,s+=`__metadata: @@ -706,10 +706,10 @@ ${Be.map(he=>`Not found: ${po(he)} `}if(u===a&&t.size>0){s+=` bin: `;for(let[f,h]of t){let p=x.contains(r.cwd,f);if(p===null)throw new Error(`Assertion failed: Expected the path to be within the project (${f})`);s+=` ${JSON.stringify(p)}: `;for(let[C,y]of h){let B=x.relative(x.join(f,kr),y);s+=` ${JSON.stringify(C)}: ${JSON.stringify(B)} -`}}}}let l=r.cwd,c=x.join(l,kr,Mle);n&&await O.removePromise(c),await O.changeFilePromise(c,s,{automaticNewlines:!0})}async function uO(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Mle),n;try{n=await O.statPromise(i)}catch{}if(!n)return null;let s=yi(await O.readFilePromise(i,"utf8"));if(s.__metadata.version>Lle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Jr(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Me.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Me.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Ole(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var sp=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await O.statPromise(r):await O.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await O.unlinkPromise(r);return}}let t=await O.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Jr(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await sp(n,{innerLoop:!0,contentsOnly:!1}):await O.unlinkPromise(n)}e.contentsOnly||await O.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},Rle=4,sQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Ole=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await O.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await O.symlinkPromise(r,e,"junction"):await O.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Kle(r,e,t){let i=x.join(r,Jr(`${gO.default.randomBytes(16).toString("hex")}.tmp`));try{await O.writeFilePromise(i,t);try{await O.linkPromise(i,e)}catch{}}finally{await O.unlinkPromise(i)}}async function Oze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Ule.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await O.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Ule||{}),Kze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await O.mkdirPromise(r,{recursive:!0});let o=async(c=Me.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await O.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await O.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await Oze({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await fO(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await O.removePromise(c),await Kle(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function Uze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=O.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(O.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let T=x.join(c,kr,iQ),H;try{H=O.statSync(T)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(O.readdirSync(T)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,T={children:new Map,linkType:v,locator:D};if(f.children.set(u,T),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,T,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function Hle(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Hze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=Hle(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&O.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Jr(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Fle=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function hO(r){return x.join(r.get("globalFolder"),"store")}async function Gze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Uze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=Ole(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:_,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})=>{let re=(async()=>{try{_==="SOFT"?(await O.mkdirPromise(x.dirname(W),{recursive:!0}),await fO(x.resolve(V),W)):await Kze(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})}catch(M){throw M.message=`While persisting ${V} -> ${W} ${M.message}`,M}finally{T.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>Rle&&await Promise.race(h)},C=async(V,W,_)=>{let A=(async()=>{let Ae=async(ge,re,M)=>{try{M.innerLoop||await O.mkdirPromise(re,{recursive:!0});let F=await O.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!M.innerLoop&&ue.name===iQ)continue;let pe=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||M&&M.innerLoop)&&(await O.mkdirPromise(ke,{recursive:!0}),await Ae(pe,ke,{...M,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await O.linkPromise(pe,ke):await O.copyFilePromise(pe,ke,Tle.default.constants.COPYFILE_FICLONE)}}catch(F){throw M.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{M.innerLoop||T.tick()}};await Ae(V,W,_)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>Rle&&await Promise.race(h)},y=async(V,W,_)=>{if(_)for(let[A,Ae]of W.children){let ge=_.children.get(A);await y(x.join(V,A),Ae,ge)}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let _=f.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A),re=x.join(V,A);await y(re,Ae,ge)}}let B=async(V,W,_)=>{if(_){Fle(W.locator,_.locator)||await sp(V,{contentsOnly:W.linkType==="HARD"});for(let[A,Ae]of W.children){let ge=_.children.get(A);await B(x.join(V,A),Ae,ge)}}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let _=l.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A);await B(x.join(V,A),Ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let M of Ae)if(re=x.join(re,M),ge=ge.children.get(M),!ge)break;if(ge){let M=Fle(ge.locator,V),F=e.get(ge.locator),ue=F.target,pe=re,ke=F.linkType;if(M)v.has(ue)||v.set(ue,pe);else if(ue!==pe){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:pe,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),M=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let pe=ue.locatorHash,ke=F.target,Fe=_;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of Ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});else for(let oe of Ae)if(M=x.join(M,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});break}}let T=vi.progressViaCounter(D.length),H=n.reportProgress(T),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${hO(i.configuration)}/v1`:null;if(V&&!await O.existsPromise(V)){await O.mkdirpPromise(V);for(let _=0;_<256;_++)await O.mkdirPromise(x.join(V,_.toString(16).padStart(2,"0")))}for(let _ of D)(_.linkType==="SOFT"||!v.has(_.srcDir))&&(v.set(_.srcDir,_.dstDir),await p({..._,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(_.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let _ of D){let A=v.get(_.srcDir);_.linkType!=="SOFT"&&_.dstDir!==A&&await C(A,_.dstDir,{nmMode:$})}await Promise.all(h),await O.mkdirPromise(a,{recursive:!0});let W=await Hze(e,f,i.cwd,{loadManifest:s});await Yze(c,W,i.cwd),await Mze(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function Yze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,iQ);await O.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,iQ),o=r.get(i)||new Map;await O.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await O.removePromise(x.join(s,a)),process.platform==="win32"&&await O.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Nle.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await O.removePromise(u),await fO(l,u),x.contains(t,await O.realpathPromise(l))!==null&&await O.chmodPromise(l,493)))}}}var oQ=class extends wl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new pO(t)}},pO=class extends Yu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),n=mle(t,this.opts.project.cwd,i),{tree:s,errors:o}=rE(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var jze={hooks:{cleanGlobalArtifacts:async r=>{let e=hO(r);await O.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[nQ,oQ]},qze=jze;var f1={};ut(f1,{default:()=>$Ve,npmConfigUtils:()=>or,npmHttpUtils:()=>Ot,npmPublishUtils:()=>Cp});var Wle=Pe(Xr());var gr="npm:";var Ot={};ut(Ot,{AuthType:()=>Jle,customPackageError:()=>Wze,del:()=>Xze,get:()=>Eo,getIdentUrl:()=>Ql,handleInvalidAuthenticationError:()=>bl,post:()=>zze,put:()=>Vze});var EO=Pe(Km()),qle=J("url");var or={};ut(or,{RegistryType:()=>Gle,getAuditRegistry:()=>Jze,getAuthConfiguration:()=>mO,getDefaultRegistry:()=>aQ,getPublishRegistry:()=>Yle,getRegistryConfiguration:()=>jle,getScopeConfiguration:()=>CO,getScopeRegistry:()=>gA,normalizeRegistry:()=>mo});var Gle=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(Gle||{});function mo(r){return r.replace(/\/$/,"")}function Jze(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?mo(t):Yle(r,{configuration:e})}function Yle(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?mo(r.publishConfig.registry):r.name?gA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):aQ({configuration:e,type:"npmPublishRegistry"})}function gA(r,{configuration:e,type:t="npmRegistryServer"}){let i=CO(r,{configuration:e});if(i===null)return aQ({configuration:e,type:t});let n=i.get(t);return n===null?aQ({configuration:e,type:t}):mo(n)}function aQ({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return mo(t!==null?t:r.get("npmRegistryServer"))}function jle(r,{configuration:e}){let t=e.get("npmRegistries"),i=mo(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function CO(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function mO(r,{configuration:e,ident:t}){let i=t&&CO(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:jle(r,{configuration:e})||e}var Jle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(Jle||{});async function bl(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(lQ(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await _ze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function Wze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Ql(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function Eo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=gA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await AQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Xt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await bl(l,{registry:s,configuration:e,headers:t}),l}}async function zze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g)||l)throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Vze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g))throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IO(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Xze(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=gA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await AQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...op(a)});try{return await Xt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!lQ(u)||a)throw await bl(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await IO(u,{configuration:t});let g={...i,...op(a)};try{return await Xt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await bl(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function AQ(r,{authType:e=2,configuration:t,ident:i}){let n=mO(r,{configuration:t,ident:i}),s=Zze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function Zze(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function _ze(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Xt.get(new qle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function IO(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&ws.openUrl){let{openNow:a}=await(0,EO.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await ws.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` -`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,EO.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` -`),i}function lQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function op(r){return{["npm-otp"]:r}}var cQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!Wle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Eo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var uQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var zle=Pe(Xr()),Vle=J("url");var Ls=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new Vle.URL(e.reference);return!(!zle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await Eo(Ls.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await Eo(Ls.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=gA(e.scope,{configuration:i}),s=Ls.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ql(e)}/-/${e.name}-${t}.tgz`}};var Xle=Pe(Xr());var gQ=P.makeIdent(null,"node-gyp"),$ze=/\b(node-gyp|prebuild-install)\b/,fQ=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!Xle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ls.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await Eo(Ql(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(gQ.identHash)&&!o.peerDependencies.has(gQ.identHash)){for(let a of o.scripts.values())if(a.match($ze)){o.dependencies.set(gQ.identHash,P.makeDescriptor(gQ,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var hQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!Rf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Ls.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var Cp={};ut(Cp,{getGitHead:()=>ZVe,getPublishAccess:()=>Uue,getReadmeContent:()=>Hue,makePublishBody:()=>XVe});var A1={};ut(A1,{default:()=>RVe,packUtils:()=>ca});var ca={};ut(ca,{genPackList:()=>MQ,genPackStream:()=>a1,genPackageManifest:()=>vue,hasPackScripts:()=>s1,prepareForPack:()=>o1});var n1=Pe(Bn()),Que=Pe(yue()),Sue=J("zlib"),yVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],wVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function s1(r){return!!(Wt.hasWorkspaceScript(r,"prepack")||Wt.hasWorkspaceScript(r,"postpack"))}async function o1(r,{report:e},t){await Wt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await O.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:O}),await t()}finally{await Wt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function a1(r,e){var s,o;typeof e>"u"&&(e=await MQ(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Que.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await O.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await vue(r),null,2)):v=await O.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await O.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Sue.createGzip)();return i.pipe(n),n}async function vue(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function MQ(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of wVe)i.reject.push(D);for(let D of yVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let T=x.relative(r.cwd,D),H=x.resolve(Me.root,T);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let T=x.relative(r.cwd,D.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Me.root,o)),a!=null&&s.accept.push(x.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Me.root,l));for(let D of c.values())s.accept.push(x.resolve(Me.root,D));if(l instanceof Map)for(let[D,T]of l.entries())s.accept.push(x.resolve(Me.root,D)),typeof T=="string"&&s.accept.push(x.resolve(Me.root,T));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)xue(s.accept,D,{cwd:Me.root})}return await BVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function BVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new vo(r),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Bue(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await wue(s,a,".npmignore"):g?await wue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Bue(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Me.root,a))}return n.sort()}async function wue(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))xue(i.reject,s,{cwd:e});return i}function bVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function xue(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(bVe(i,{cwd:t}))}function Bue(r,{globalList:e,ignoreLists:t}){let i=LQ(r,e.accept);if(i!==0)return i===2;let n=LQ(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=LQ(r,s.accept);if(o!==0)return o===2;let a=LQ(r,s.reject);if(a!==0)return a===1}return!1}function LQ(r,e){let t=e,i=[];for(let n=0;n{await o1(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await MQ(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await a1(n,u),f=O.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Vu.paths=[["pack"]],Vu.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function QVe(r,{workspace:e}){let t=r.replace("%s",SVe(e)).replace("%v",vVe(e));return K.toPortablePath(t)}function SVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function vVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var xVe=["dependencies","devDependencies","peerDependencies"],PVe="workspace:",DVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of xVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===PVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},kVe={hooks:{beforeWorkspacePacking:DVe},commands:[Vu]},RVe=kVe;var Mue=J("crypto"),Oue=Pe(Lue()),Kue=J("url");async function XVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.manifest.name,a=r.manifest.version,l=P.stringifyIdent(o),c=(0,Mue.createHash)("sha1").update(e).digest("hex"),u=Oue.default.fromData(e).toString(),g=t!=null?t:Uue(r,o),f=await Hue(r),h=await ca.genPackageManifest(r),p=`${l}-${a}.tgz`,C=new Kue.URL(`${mo(n)}/${l}/-/${p}`);return{_id:l,_attachments:{[p]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:g,["dist-tags"]:{[i]:a},versions:{[a]:{...h,_id:`${l}@${a}`,name:l,version:a,gitHead:s,dist:{shasum:c,integrity:u,tarball:C.toString()}}},readme:f}}async function ZVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}function Uue(r,e){let t=r.project.configuration;return r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?r.manifest.publishConfig.access:t.get("npmPublishAccess")!==null?t.get("npmPublishAccess"):e.scope?"restricted":"public"}async function Hue(r){let e=K.toPortablePath(`${r.cwd}/README.md`),t=r.manifest.name,n=`# ${P.stringifyIdent(t)} -`;try{n=await O.readFilePromise(e,"utf8")}catch(s){if(s.code==="ENOENT")return n;throw s}return n}var g1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Gue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},_Ve={configuration:{...g1,...Gue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...g1,...Gue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:mo,valueDefinition:{description:"",type:"SHAPE",properties:{...g1}}}},fetchers:[cQ,Ls],resolvers:[uQ,fQ,hQ]},$Ve=_Ve;var C1={};ut(C1,{default:()=>l9e});var kE=Pe(Bn());ls();var OQ=(i=>(i.All="all",i.Production="production",i.Development="development",i))(OQ||{}),KQ=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(KQ||{});var DE=["info","low","moderate","high","critical"];function jue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function e9e(r,e){return new Set([...r].filter(t=>!e.has(t)))}function t9e(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=jue(r,l),g=jue(r,c);return e9e(g,u)}function que(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function Jue(r){if(typeof r>"u")return new Set(DE);let e=DE.indexOf(r),t=DE.slice(e);return new Set(t)}function r9e(r,e){let t=Jue(e),i={};for(let n of t)i[n]=r[n];return i}function Wue(r,e){var i;let t=r9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function zue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=Jue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Vue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return que([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function Xue(r,e,{all:t}){var s;let i=t9e(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:que(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var _u=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Zi(OQ)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Zi(KQ)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=Vue(i,n,{all:this.all,environment:this.environment}),o=Xue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))kE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))kE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))kE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await ra.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Ot.post("/-/npm/v1/security/audits/quick",l,{authType:Ot.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(kE.default.isMatch(C,f)){let y=u.advisories[C],B=0;y.findings.forEach(v=>B+=v.paths.length),u.metadata.vulnerabilities[y.severity]-=B,delete u.advisories[C]}}let h=Wue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(es.emitTree(zue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};_u.paths=[["npm","audit"]],_u.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` +`}}}}let l=r.cwd,c=x.join(l,kr,Ole);n&&await M.removePromise(c),await M.changeFilePromise(c,s,{automaticNewlines:!0})}async function uM(r,{unrollAliases:e=!1}={}){let t=r.cwd,i=x.join(t,kr,Ole),n;try{n=await M.statPromise(i)}catch{}if(!n)return null;let s=yi(await M.readFilePromise(i,"utf8"));if(s.__metadata.version>Lle)return null;let o=s.__metadata.nmMode||"classic",a=new Map,l=new Map;delete s.__metadata;for(let[c,u]of Object.entries(s)){let g=u.locations.map(h=>x.join(t,h)),f=u.bin;if(f)for(let[h,p]of Object.entries(f)){let C=x.join(t,K.toPortablePath(h)),y=Ie.getMapWithDefault(l,C);for(let[B,v]of Object.entries(p))y.set(Jr(B),K.toPortablePath([C,kr,v].join(x.sep)))}if(a.set(c,{target:Oe.dot,linkType:"HARD",locations:g,aliases:u.aliases||[]}),e&&u.aliases)for(let h of u.aliases){let{scope:p,name:C}=P.parseLocator(c),y=P.makeLocator(P.makeIdent(p,C),h),B=P.stringifyLocator(y);a.set(B,{target:Oe.dot,linkType:"HARD",locations:g,aliases:[]})}}return{locatorMap:a,binSymlinks:l,locationTree:Mle(a,{skipPrefix:r.cwd}),nmMode:o,mtimeMs:n.mtimeMs}}var sp=async(r,e)=>{if(r.split(x.sep).indexOf(kr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${r}`);try{if(!e.innerLoop){let i=e.allowSymlink?await M.statPromise(r):await M.lstatPromise(r);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await M.unlinkPromise(r);return}}let t=await M.readdirPromise(r,{withFileTypes:!0});for(let i of t){let n=x.join(r,Jr(i.name));i.isDirectory()?(i.name!==kr||e&&e.innerLoop)&&await sp(n,{innerLoop:!0,contentsOnly:!1}):await M.unlinkPromise(n)}e.contentsOnly||await M.rmdirPromise(r)}catch(t){if(t.code!=="ENOENT"&&t.code!=="ENOTEMPTY")throw t}},Rle=4,sQ=(r,{skipPrefix:e})=>{let t=x.contains(e,r);if(t===null)throw new Error(`Assertion failed: Writing attempt prevented to ${r} which is outside project root: ${e}`);let i=t.split(x.sep).filter(l=>l!==""),n=i.indexOf(kr),s=i.slice(0,n).join(x.sep),o=x.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Mle=(r,{skipPrefix:e})=>{let t=new Map;if(r===null)return t;let i=()=>({children:new Map,linkType:"HARD"});for(let[n,s]of r.entries()){if(s.linkType==="SOFT"&&x.contains(e,s.target)!==null){let a=Ie.getFactoryWithDefault(t,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=sQ(o,{skipPrefix:e}),c=Ie.getFactoryWithDefault(t,a,i);for(let u=0;u{let t;try{process.platform==="win32"&&(t=await M.lstatPromise(r))}catch{}process.platform=="win32"&&(!t||t.isDirectory())?await M.symlinkPromise(r,e,"junction"):await M.symlinkPromise(x.relative(x.dirname(e),r),e)};async function Kle(r,e,t){let i=x.join(r,Jr(`${gM.default.randomBytes(16).toString("hex")}.tmp`));try{await M.writeFilePromise(i,t);try{await M.linkPromise(i,e)}catch{}}finally{await M.unlinkPromise(i)}}async function Mze({srcPath:r,dstPath:e,entry:t,globalHardlinksStore:i,baseFs:n,nmMode:s}){if(t.kind===Ule.FILE){if(s.value==="hardlinks-global"&&i&&t.digest){let a=x.join(i,t.digest.substring(0,2),`${t.digest.substring(2)}.dat`),l;try{let c=await M.statPromise(a);if(c&&(!t.mtimeMs||c.mtimeMs>t.mtimeMs||c.mtimeMs(i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink",i))(Ule||{}),Kze=async(r,e,{baseFs:t,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await M.mkdirPromise(r,{recursive:!0});let o=async(c=Oe.dot)=>{let u=x.join(e,c),g=await t.readdirPromise(u,{withFileTypes:!0}),f=new Map;for(let h of g){let p=x.join(c,h.name),C,y=x.join(u,h.name);if(h.isFile()){if(C={kind:"file",mode:(await t.lstatPromise(y)).mode},n.value==="hardlinks-global"){let B=await li.checksumFile(y,{baseFs:t,algorithm:"sha1"});C.digest=B}}else if(h.isDirectory())C={kind:"directory"};else if(h.isSymbolicLink())C={kind:"symlink",symlinkTo:await t.readlinkPromise(y)};else throw new Error(`Unsupported file type (file: ${y}, mode: 0o${await t.statSync(y).mode.toString(8).padStart(6,"0")})`);if(f.set(p,C),h.isDirectory()&&p!==kr){let B=await o(p);for(let[v,D]of B)f.set(v,D)}}return f},a;if(n.value==="hardlinks-global"&&i&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await M.readFilePromise(c,"utf8"))))}catch{a=await o()}}else a=await o();let l=!1;for(let[c,u]of a){let g=x.join(e,c),f=x.join(r,c);if(u.kind==="directory")await M.mkdirPromise(f,{recursive:!0});else if(u.kind==="file"){let h=u.mtimeMs;await Mze({srcPath:g,dstPath:f,entry:u,nmMode:n,baseFs:t,globalHardlinksStore:i}),u.mtimeMs!==h&&(l=!0)}else u.kind==="symlink"&&await fM(x.resolve(x.dirname(f),u.symlinkTo),f)}if(n.value==="hardlinks-global"&&i&&l&&s){let c=x.join(i,s.substring(0,2),`${s.substring(2)}.json`);await M.removePromise(c),await Kle(i,c,Buffer.from(JSON.stringify(Object.fromEntries(a))))}};function Uze(r,e,t,i){let n=new Map,s=new Map,o=new Map,a=!1,l=(c,u,g,f,h)=>{let p=!0,C=x.join(c,u),y=new Set;if(u===kr||u.startsWith("@")){let v;try{v=M.statSync(C)}catch{}p=!!v,v?v.mtimeMs>t?(a=!0,y=new Set(M.readdirSync(C))):y=new Set(g.children.get(u).children.keys()):a=!0;let D=e.get(c);if(D){let T=x.join(c,kr,iQ),H;try{H=M.statSync(T)}catch{}if(!H)a=!0;else if(H.mtimeMs>t){a=!0;let j=new Set(M.readdirSync(T)),$=new Map;s.set(c,$);for(let[V,W]of D)j.has(V)&&$.set(V,W)}else s.set(c,D)}}else p=h.has(u);let B=g.children.get(u);if(p){let{linkType:v,locator:D}=B,T={children:new Map,linkType:v,locator:D};if(f.children.set(u,T),D){let H=Ie.getSetWithDefault(o,D);H.add(C),o.set(D,H)}for(let H of B.children.keys())l(C,H,B,T,y)}else B.locator&&i.storedBuildState.delete(P.parseLocator(B.locator).locatorHash)};for(let[c,u]of r){let{linkType:g,locator:f}=u,h={children:new Map,linkType:g,locator:f};if(n.set(c,h),f){let p=Ie.getSetWithDefault(o,u.locator);p.add(c),o.set(u.locator,p)}u.children.has(kr)&&l(c,kr,u,h,new Set)}return{locationTree:n,binSymlinks:s,locatorLocations:o,installChangedByUser:a}}function Hle(r){let e=P.parseDescriptor(r);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Hze(r,e,t,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of r){let c=Hle(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=x.join(l[0],f);f!==""&&M.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=x.contains(t,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let C=x.join(a,K.toPortablePath(p));u.set(Jr(h),C)}for(let[h,p]of c.children){let C=x.join(a,h),y=o(C,C,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(x.join(a,f),l,h);for(let[C,y]of p)u.set(C,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var Fle=(r,e)=>{if(!r||!e)return r===e;let t=P.parseLocator(r);P.isVirtualLocator(t)&&(t=P.devirtualizeLocator(t));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(t,i)};function hM(r){return x.join(r.get("globalFolder"),"store")}async function Gze(r,e,{baseFs:t,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=x.join(i.cwd,kr),{locationTree:l,binSymlinks:c,locatorLocations:u,installChangedByUser:g}=Uze(r.locationTree,r.binSymlinks,r.mtimeMs,i),f=Mle(e,{skipPrefix:i.cwd}),h=[],p=async({srcDir:V,dstDir:W,linkType:_,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})=>{let re=(async()=>{try{_==="SOFT"?(await M.mkdirPromise(x.dirname(W),{recursive:!0}),await fM(x.resolve(V),W)):await Kze(W,V,{baseFs:t,globalHardlinksStore:A,nmMode:Ae,packageChecksum:ge})}catch(O){throw O.message=`While persisting ${V} -> ${W} ${O.message}`,O}finally{T.tick()}})().then(()=>h.splice(h.indexOf(re),1));h.push(re),h.length>Rle&&await Promise.race(h)},C=async(V,W,_)=>{let A=(async()=>{let Ae=async(ge,re,O)=>{try{O.innerLoop||await M.mkdirPromise(re,{recursive:!0});let F=await M.readdirPromise(ge,{withFileTypes:!0});for(let ue of F){if(!O.innerLoop&&ue.name===iQ)continue;let pe=x.join(ge,ue.name),ke=x.join(re,ue.name);ue.isDirectory()?(ue.name!==kr||O&&O.innerLoop)&&(await M.mkdirPromise(ke,{recursive:!0}),await Ae(pe,ke,{...O,innerLoop:!0})):$.value==="hardlinks-local"||$.value==="hardlinks-global"?await M.linkPromise(pe,ke):await M.copyFilePromise(pe,ke,Tle.default.constants.COPYFILE_FICLONE)}}catch(F){throw O.innerLoop||(F.message=`While cloning ${ge} -> ${re} ${F.message}`),F}finally{O.innerLoop||T.tick()}};await Ae(V,W,_)})().then(()=>h.splice(h.indexOf(A),1));h.push(A),h.length>Rle&&await Promise.race(h)},y=async(V,W,_)=>{if(_)for(let[A,Ae]of W.children){let ge=_.children.get(A);await y(x.join(V,A),Ae,ge)}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!1});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:V===a,allowSymlink:A})}};for(let[V,W]of l){let _=f.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A),re=x.join(V,A);await y(re,Ae,ge)}}let B=async(V,W,_)=>{if(_){Fle(W.locator,_.locator)||await sp(V,{contentsOnly:W.linkType==="HARD"});for(let[A,Ae]of W.children){let ge=_.children.get(A);await B(x.join(V,A),Ae,ge)}}else{W.children.has(kr)&&await sp(x.join(V,kr),{contentsOnly:!0});let A=x.basename(V)===kr&&f.has(x.join(x.dirname(V),x.sep));await sp(V,{contentsOnly:W.linkType==="HARD",allowSymlink:A})}};for(let[V,W]of f){let _=l.get(V);for(let[A,Ae]of W.children){if(A===".")continue;let ge=_&&_.children.get(A);await B(x.join(V,A),Ae,ge)}}let v=new Map,D=[];for(let[V,W]of u)for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=f.get(A),re=A;if(ge){for(let O of Ae)if(re=x.join(re,O),ge=ge.children.get(O),!ge)break;if(ge){let O=Fle(ge.locator,V),F=e.get(ge.locator),ue=F.target,pe=re,ke=F.linkType;if(O)v.has(ue)||v.set(ue,pe);else if(ue!==pe){let Fe=P.parseLocator(ge.locator);P.isVirtualLocator(Fe)&&(Fe=P.devirtualizeLocator(Fe)),D.push({srcDir:ue,dstDir:pe,linkType:ke,realLocatorHash:Fe.locatorHash})}}}}for(let[V,{locations:W}]of e.entries())for(let _ of W){let{locationRoot:A,segments:Ae}=sQ(_,{skipPrefix:i.cwd}),ge=l.get(A),re=f.get(A),O=A,F=e.get(V),ue=P.parseLocator(V);P.isVirtualLocator(ue)&&(ue=P.devirtualizeLocator(ue));let pe=ue.locatorHash,ke=F.target,Fe=_;if(ke===Fe)continue;let Ne=F.linkType;for(let oe of Ae)re=re.children.get(oe);if(!ge)D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});else for(let oe of Ae)if(O=x.join(O,oe),ge=ge.children.get(oe),!ge){D.push({srcDir:ke,dstDir:Fe,linkType:Ne,realLocatorHash:pe});break}}let T=vi.progressViaCounter(D.length),H=n.reportProgress(T),j=i.configuration.get("nmMode"),$={value:j};try{let V=$.value==="hardlinks-global"?`${hM(i.configuration)}/v1`:null;if(V&&!await M.existsPromise(V)){await M.mkdirpPromise(V);for(let _=0;_<256;_++)await M.mkdirPromise(x.join(V,_.toString(16).padStart(2,"0")))}for(let _ of D)(_.linkType==="SOFT"||!v.has(_.srcDir))&&(v.set(_.srcDir,_.dstDir),await p({..._,globalHardlinksStore:V,nmMode:$,packageChecksum:o.get(_.realLocatorHash)||null}));await Promise.all(h),h.length=0;for(let _ of D){let A=v.get(_.srcDir);_.linkType!=="SOFT"&&_.dstDir!==A&&await C(A,_.dstDir,{nmMode:$})}await Promise.all(h),await M.mkdirPromise(a,{recursive:!0});let W=await Hze(e,f,i.cwd,{loadManifest:s});await Yze(c,W,i.cwd),await Oze(i,e,W,$,{installChangedByUser:g}),j=="hardlinks-global"&&$.value=="hardlinks-local"&&n.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{H.stop()}}async function Yze(r,e,t){for(let i of r.keys()){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=x.join(i,kr,iQ);await M.removePromise(n)}}for(let[i,n]of e){if(x.contains(t,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=x.join(i,kr,iQ),o=r.get(i)||new Map;await M.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await M.removePromise(x.join(s,a)),process.platform==="win32"&&await M.removePromise(x.join(s,Jr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=x.join(s,a);c!==l&&(process.platform==="win32"?await(0,Nle.default)(K.fromPortablePath(l),K.fromPortablePath(u),{createPwshFile:!1}):(await M.removePromise(u),await fM(l,u),x.contains(t,await M.realpathPromise(l))!==null&&await M.chmodPromise(l,493)))}}}var oQ=class extends wl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(t){return new pM(t)}},pM=class extends Yu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(t){let i=new Br({baseFs:new Kn({libzip:await an(),maxOpenFiles:80,readOnlyArchives:!0})}),n=mle(t,this.opts.project.cwd,i),{tree:s,errors:o}=rE(n,{pnpifyFs:!1,project:this.opts.project});if(!s){for(let{messageName:g,text:f}of o)this.opts.report.reportError(g,f);return}let a=new Map;t.fallbackPool=a;let l=(g,f)=>{let h=P.parseLocator(f.locator),p=P.stringifyIdent(h);p===g?a.set(g,h.reference):a.set(g,[p,h.reference])},c=x.join(this.opts.project.cwd,xt.nodeModules),u=s.get(c);if(!(typeof u>"u")){if("target"in u)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let g of u.dirList){let f=x.join(c,g),h=s.get(f);if(typeof h>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in h)l(g,h);else for(let p of h.dirList){let C=x.join(f,p),y=s.get(C);if(typeof y>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in y)l(`${g}/${p}`,y);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var jze={hooks:{cleanGlobalArtifacts:async r=>{let e=hM(r);await M.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:"BOOLEAN",default:!0}},linkers:[nQ,oQ]},qze=jze;var f1={};ut(f1,{default:()=>$Ve,npmConfigUtils:()=>or,npmHttpUtils:()=>Mt,npmPublishUtils:()=>Cp});var Wle=Pe(Xr());var gr="npm:";var Mt={};ut(Mt,{AuthType:()=>Jle,customPackageError:()=>Wze,del:()=>Xze,get:()=>Eo,getIdentUrl:()=>Ql,handleInvalidAuthenticationError:()=>bl,post:()=>zze,put:()=>Vze});var EM=Pe(Km()),qle=J("url");var or={};ut(or,{RegistryType:()=>Gle,getAuditRegistry:()=>Jze,getAuthConfiguration:()=>mM,getDefaultRegistry:()=>aQ,getPublishRegistry:()=>Yle,getRegistryConfiguration:()=>jle,getScopeConfiguration:()=>CM,getScopeRegistry:()=>gA,normalizeRegistry:()=>mo});var Gle=(i=>(i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry",i))(Gle||{});function mo(r){return r.replace(/\/$/,"")}function Jze(r,{configuration:e}){let t=e.get("npmAuditRegistry");return t!==null?mo(t):Yle(r,{configuration:e})}function Yle(r,{configuration:e}){var t;return(t=r.publishConfig)!=null&&t.registry?mo(r.publishConfig.registry):r.name?gA(r.name.scope,{configuration:e,type:"npmPublishRegistry"}):aQ({configuration:e,type:"npmPublishRegistry"})}function gA(r,{configuration:e,type:t="npmRegistryServer"}){let i=CM(r,{configuration:e});if(i===null)return aQ({configuration:e,type:t});let n=i.get(t);return n===null?aQ({configuration:e,type:t}):mo(n)}function aQ({configuration:r,type:e="npmRegistryServer"}){let t=r.get(e);return mo(t!==null?t:r.get("npmRegistryServer"))}function jle(r,{configuration:e}){let t=e.get("npmRegistries"),i=mo(r),n=t.get(i);if(typeof n<"u")return n;let s=t.get(i.replace(/^[a-z]+:/,""));return typeof s<"u"?s:null}function CM(r,{configuration:e}){if(r===null)return null;let i=e.get("npmScopes").get(r);return i||null}function mM(r,{configuration:e,ident:t}){let i=t&&CM(t.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:jle(r,{configuration:e})||e}var Jle=(n=>(n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH",n))(Jle||{});async function bl(r,{attemptedAs:e,registry:t,headers:i,configuration:n}){var s,o;if(lQ(r))throw new at(41,"Invalid OTP token");if(((s=r.originalError)==null?void 0:s.name)==="HTTPError"&&((o=r.originalError)==null?void 0:o.response.statusCode)===401)throw new at(41,`Invalid authentication (${typeof e!="string"?`as ${await _ze(t,i,{configuration:n})}`:`attempted as ${e}`})`)}function Wze(r){var e;return((e=r.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Ql(r){return r.scope?`/@${r.scope}%2f${r.name}`:`/${r.name}`}async function Eo(r,{configuration:e,headers:t,ident:i,authType:n,registry:s,...o}){if(i&&typeof s>"u"&&(s=gA(i.scope,{configuration:e})),i&&i.scope&&typeof n>"u"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let a=await AQ(s,{authType:n,configuration:e,ident:i});a&&(t={...t,authorization:a});try{return await Xt.get(r.charAt(0)==="/"?`${s}${r}`:r,{configuration:e,headers:t,...o})}catch(l){throw await bl(l,{registry:s,configuration:e,headers:t}),l}}async function zze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.post(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g)||l)throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IM(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.post(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Vze(r,e,{attemptedAs:t,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l,...c}){if(s&&typeof a>"u"&&(a=gA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let u=await AQ(a,{authType:o,configuration:i,ident:s});u&&(n={...n,authorization:u}),l&&(n={...n,...op(l)});try{return await Xt.put(a+r,e,{configuration:i,headers:n,...c})}catch(g){if(!lQ(g))throw await bl(g,{attemptedAs:t,registry:a,configuration:i,headers:n}),g;l=await IM(g,{configuration:i});let f={...n,...op(l)};try{return await Xt.put(`${a}${r}`,e,{configuration:i,headers:f,...c})}catch(h){throw await bl(h,{attemptedAs:t,registry:a,configuration:i,headers:n}),h}}}async function Xze(r,{attemptedAs:e,configuration:t,headers:i,ident:n,authType:s=3,registry:o,otp:a,...l}){if(n&&typeof o>"u"&&(o=gA(n.scope,{configuration:t})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let c=await AQ(o,{authType:s,configuration:t,ident:n});c&&(i={...i,authorization:c}),a&&(i={...i,...op(a)});try{return await Xt.del(o+r,{configuration:t,headers:i,...l})}catch(u){if(!lQ(u)||a)throw await bl(u,{attemptedAs:e,registry:o,configuration:t,headers:i}),u;a=await IM(u,{configuration:t});let g={...i,...op(a)};try{return await Xt.del(`${o}${r}`,{configuration:t,headers:g,...l})}catch(f){throw await bl(f,{attemptedAs:e,registry:o,configuration:t,headers:i}),f}}}async function AQ(r,{authType:e=2,configuration:t,ident:i}){let n=mM(r,{configuration:t,ident:i}),s=Zze(n,e);if(!s)return null;let o=await t.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,r,{configuration:t,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new at(33,"No authentication configured for request");return null}function Zze(r,e){switch(e){case 2:return r.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function _ze(r,e,{configuration:t}){var i;if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(i=(await Xt.get(new qle.URL(`${r}/-/whoami`).href,{configuration:t,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function IM(r,{configuration:e}){var n;let t=(n=r.originalError)==null?void 0:n.response.headers["npm-notice"];if(t&&(await Ge.start({configuration:e,stdout:process.stdout,includeFooter:!1},async s=>{if(s.reportInfo(0,t.replace(/(https?:\/\/\S+)/g,ee.pretty(e,"$1",ee.Type.URL))),!process.env.YARN_IS_TEST_ENV){let o=t.match(/open (https?:\/\/\S+)/i);if(o&&ws.openUrl){let{openNow:a}=await(0,EM.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});a&&(await ws.openUrl(o[1])||(s.reportSeparator(),s.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:i}=await(0,EM.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),i}function lQ(r){var e,t;if(((e=r.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((t=r.originalError)==null?void 0:t.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch{return!1}}function op(r){return{["npm-otp"]:r}}var cQ=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!Wle.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Eo(i.__archiveUrl,{configuration:t.project.configuration,ident:e});return await mi.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var uQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!P.tryParseDescriptor(e.range.slice(gr.length),!0))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){let i=P.parseDescriptor(e.range.slice(gr.length),!0);return t.resolver.getResolutionDependencies(i,t)}async getCandidates(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return await i.resolver.getCandidates(n,t,i)}async getSatisfying(e,t,i){let n=P.parseDescriptor(e.range.slice(gr.length),!0);return i.resolver.getSatisfying(n,t,i)}resolve(e,t){throw new Error("Unreachable")}};var zle=Pe(Xr()),Vle=J("url");var Ls=class{supports(e,t){if(!e.reference.startsWith(gr))return!1;let i=new Vle.URL(e.reference);return!(!zle.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let i;try{i=await Eo(Ls.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch{i=await Eo(Ls.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await mi.convertToZip(i,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:i}){let n=gA(e.scope,{configuration:i}),s=Ls.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),t===n+s||t===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let t=vt.clean(e.reference.slice(gr.length));if(t===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");return`${Ql(e)}/-/${e.name}-${t}.tgz`}};var Xle=Pe(Xr());var gQ=P.makeIdent(null,"node-gyp"),$ze=/\b(node-gyp|prebuild-install)\b/,fQ=class{supportsDescriptor(e,t){return e.range.startsWith(gr)?!!vt.validRange(e.range.slice(gr.length)):!1}supportsLocator(e,t){if(!e.reference.startsWith(gr))return!1;let{selector:i}=P.parseRange(e.reference);return!!Xle.default.valid(i)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);let s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Ie.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return Ie.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${gr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return Ls.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,t,i){let n=vt.validRange(e.range.slice(gr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(gr.length)}`);return Ie.mapAndFilter(t,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:gr}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Ie.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,t){let{selector:i}=P.parseRange(e.reference),n=vt.clean(i);if(n===null)throw new at(10,"The npm semver resolver got selected, but the version isn't semver");let s=await Eo(Ql(e),{configuration:t.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new at(16,`Registry failed to return reference "${n}"`);let o=new ot;if(o.load(s.versions[n]),!o.dependencies.has(gQ.identHash)&&!o.peerDependencies.has(gQ.identHash)){for(let a of o.scripts.values())if(a.match($ze)){o.dependencies.set(gQ.identHash,P.makeDescriptor(gQ,"latest")),t.report.reportWarningOnce(32,`${P.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(t.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;t.report.reportWarningOnce(61,l)}return{...e,version:n,languageName:"node",linkType:"HARD",conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin}}};var hQ=class{supportsDescriptor(e,t){return!(!e.range.startsWith(gr)||!Rf.test(e.range.slice(gr.length)))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,i){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,i){let n=e.range.slice(gr.length),s=await Eo(Ql(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new at(15,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new at(16,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${gr}${a}`),c=s.versions[a].dist.tarball;return Ls.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){throw new Error("Unreachable")}};var Cp={};ut(Cp,{getGitHead:()=>ZVe,getPublishAccess:()=>Uue,getReadmeContent:()=>Hue,makePublishBody:()=>XVe});var A1={};ut(A1,{default:()=>RVe,packUtils:()=>ca});var ca={};ut(ca,{genPackList:()=>OQ,genPackStream:()=>a1,genPackageManifest:()=>vue,hasPackScripts:()=>s1,prepareForPack:()=>o1});var n1=Pe(Bn()),Que=Pe(yue()),Sue=J("zlib"),yVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],wVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function s1(r){return!!(Wt.hasWorkspaceScript(r,"prepack")||Wt.hasWorkspaceScript(r,"postpack"))}async function o1(r,{report:e},t){await Wt.maybeExecuteWorkspaceLifecycleScript(r,"prepack",{report:e});try{let i=x.join(r.cwd,ot.fileName);await M.existsPromise(i)&&await r.manifest.loadFile(i,{baseFs:M}),await t()}finally{await Wt.maybeExecuteWorkspaceLifecycleScript(r,"postpack",{report:e})}}async function a1(r,e){var s,o;typeof e>"u"&&(e=await OQ(r));let t=new Set;for(let a of(o=(s=r.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)t.add(x.normalize(a));for(let a of r.manifest.bin.values())t.add(x.normalize(a));let i=Que.default.pack();process.nextTick(async()=>{for(let a of e){let l=x.normalize(a),c=x.resolve(r.cwd,l),u=x.join("package",l),g=await M.lstatPromise(c),f={name:u,mtime:new Date(xr.SAFE_TIME*1e3)},h=t.has(l)?493:420,p,C,y=new Promise((v,D)=>{p=v,C=D}),B=v=>{v?C(v):p()};if(g.isFile()){let v;l==="package.json"?v=Buffer.from(JSON.stringify(await vue(r),null,2)):v=await M.readFilePromise(c),i.entry({...f,mode:h,type:"file"},v,B)}else g.isSymbolicLink()?i.entry({...f,mode:h,type:"symlink",linkname:await M.readlinkPromise(c)},B):B(new Error(`Unsupported file type ${g.mode} for ${K.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Sue.createGzip)();return i.pipe(n),n}async function vue(r){let e=JSON.parse(JSON.stringify(r.manifest.raw));return await r.project.configuration.triggerHook(t=>t.beforeWorkspacePacking,r,e),e}async function OQ(r){var g,f,h,p,C,y,B,v;let e=r.project,t=e.configuration,i={accept:[],reject:[]};for(let D of wVe)i.reject.push(D);for(let D of yVe)i.accept.push(D);i.reject.push(t.get("rcFilename"));let n=D=>{if(D===null||!D.startsWith(`${r.cwd}/`))return;let T=x.relative(r.cwd,D),H=x.resolve(Oe.root,T);i.reject.push(H)};n(x.resolve(e.cwd,t.get("lockfileFilename"))),n(t.get("cacheFolder")),n(t.get("globalFolder")),n(t.get("installStatePath")),n(t.get("virtualFolder")),n(t.get("yarnPath")),await t.triggerHook(D=>D.populateYarnPaths,e,D=>{n(D)});for(let D of e.workspaces){let T=x.relative(r.cwd,D.cwd);T!==""&&!T.match(/^(\.\.)?\//)&&i.reject.push(`/${T}`)}let s={accept:[],reject:[]},o=(f=(g=r.manifest.publishConfig)==null?void 0:g.main)!=null?f:r.manifest.main,a=(p=(h=r.manifest.publishConfig)==null?void 0:h.module)!=null?p:r.manifest.module,l=(y=(C=r.manifest.publishConfig)==null?void 0:C.browser)!=null?y:r.manifest.browser,c=(v=(B=r.manifest.publishConfig)==null?void 0:B.bin)!=null?v:r.manifest.bin;o!=null&&s.accept.push(x.resolve(Oe.root,o)),a!=null&&s.accept.push(x.resolve(Oe.root,a)),typeof l=="string"&&s.accept.push(x.resolve(Oe.root,l));for(let D of c.values())s.accept.push(x.resolve(Oe.root,D));if(l instanceof Map)for(let[D,T]of l.entries())s.accept.push(x.resolve(Oe.root,D)),typeof T=="string"&&s.accept.push(x.resolve(Oe.root,T));let u=r.manifest.files!==null;if(u){s.reject.push("/*");for(let D of r.manifest.files)xue(s.accept,D,{cwd:Oe.root})}return await BVe(r.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function BVe(r,{hasExplicitFileList:e,globalList:t,ignoreList:i}){let n=[],s=new vo(r),o=[[Oe.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Bue(a,{globalList:t,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Oe.root)for(let C of u)g=g||C===".gitignore",f=f||C===".npmignore";let h=f?await wue(s,a,".npmignore"):g?await wue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Bue(a,{globalList:t,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let C of u)o.push([x.resolve(a,C),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(x.relative(Oe.root,a))}return n.sort()}async function wue(r,e,t){let i={accept:[],reject:[]},n=await r.readFilePromise(x.join(e,t),"utf8");for(let s of n.split(/\n/g))xue(i.reject,s,{cwd:e});return i}function bVe(r,{cwd:e}){let t=r[0]==="!";return t&&(r=r.slice(1)),r.match(/\.{0,1}\//)&&(r=x.resolve(e,r)),t&&(r=`!${r}`),r}function xue(r,e,{cwd:t}){let i=e.trim();i===""||i[0]==="#"||r.push(bVe(i,{cwd:t}))}function Bue(r,{globalList:e,ignoreLists:t}){let i=LQ(r,e.accept);if(i!==0)return i===2;let n=LQ(r,e.reject);if(n!==0)return n===1;if(t!==null)for(let s of t){let o=LQ(r,s.accept);if(o!==0)return o===2;let a=LQ(r,s.reject);if(a!==0)return a===1}return!1}function LQ(r,e){let t=e,i=[];for(let n=0;n{await o1(n,{report:c},async()=>{c.reportJson({base:K.fromPortablePath(n.cwd)});let u=await OQ(n);for(let g of u)c.reportInfo(null,K.fromPortablePath(g)),c.reportJson({location:K.fromPortablePath(g)});if(!this.dryRun){let g=await a1(n,u),f=M.createWriteStream(o);g.pipe(f),await new Promise(h=>{f.on("finish",h)})}}),this.dryRun||(c.reportInfo(0,`Package archive generated in ${ee.pretty(t,o,ee.Type.PATH)}`),c.reportJson({output:K.fromPortablePath(o)}))})).exitCode()}};Vu.paths=[["pack"]],Vu.usage=ve.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function QVe(r,{workspace:e}){let t=r.replace("%s",SVe(e)).replace("%v",vVe(e));return K.toPortablePath(t)}function SVe(r){return r.manifest.name!==null?P.slugifyIdent(r.manifest.name):"package"}function vVe(r){return r.manifest.version!==null?r.manifest.version:"unknown"}var xVe=["dependencies","devDependencies","peerDependencies"],PVe="workspace:",DVe=(r,e)=>{var i,n;e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let t=r.project;for(let s of xVe)for(let o of r.manifest.getForScope(s).values()){let a=t.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===PVe)if(a===null){if(t.tryWorkspaceByIdent(o)===null)throw new at(21,`${P.prettyDescriptor(t.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&r.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},kVe={hooks:{beforeWorkspacePacking:DVe},commands:[Vu]},RVe=kVe;var Oue=J("crypto"),Mue=Pe(Lue()),Kue=J("url");async function XVe(r,e,{access:t,tag:i,registry:n,gitHead:s}){let o=r.manifest.name,a=r.manifest.version,l=P.stringifyIdent(o),c=(0,Oue.createHash)("sha1").update(e).digest("hex"),u=Mue.default.fromData(e).toString(),g=t!=null?t:Uue(r,o),f=await Hue(r),h=await ca.genPackageManifest(r),p=`${l}-${a}.tgz`,C=new Kue.URL(`${mo(n)}/${l}/-/${p}`);return{_id:l,_attachments:{[p]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:g,["dist-tags"]:{[i]:a},versions:{[a]:{...h,_id:`${l}@${a}`,name:l,version:a,gitHead:s,dist:{shasum:c,integrity:u,tarball:C.toString()}}},readme:f}}async function ZVe(r){try{let{stdout:e}=await Cr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:r});return e.trim()===""?void 0:e.trim()}catch{return}}function Uue(r,e){let t=r.project.configuration;return r.manifest.publishConfig&&typeof r.manifest.publishConfig.access=="string"?r.manifest.publishConfig.access:t.get("npmPublishAccess")!==null?t.get("npmPublishAccess"):e.scope?"restricted":"public"}async function Hue(r){let e=K.toPortablePath(`${r.cwd}/README.md`),t=r.manifest.name,n=`# ${P.stringifyIdent(t)} +`;try{n=await M.readFilePromise(e,"utf8")}catch(s){if(s.code==="ENOENT")return n;throw s}return n}var g1={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},Gue={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},_Ve={configuration:{...g1,...Gue,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...g1,...Gue}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:mo,valueDefinition:{description:"",type:"SHAPE",properties:{...g1}}}},fetchers:[cQ,Ls],resolvers:[uQ,fQ,hQ]},$Ve=_Ve;var C1={};ut(C1,{default:()=>l9e});var kE=Pe(Bn());ls();var MQ=(i=>(i.All="all",i.Production="production",i.Development="development",i))(MQ||{}),KQ=(s=>(s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical",s))(KQ||{});var DE=["info","low","moderate","high","critical"];function jue(r,e){let t=[],i=new Set,n=o=>{i.has(o)||(i.add(o),t.push(o))};for(let o of e)n(o);let s=new Set;for(;t.length>0;){let o=t.shift(),a=r.storedResolutions.get(o);if(typeof a>"u")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=r.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function e9e(r,e){return new Set([...r].filter(t=>!e.has(t)))}function t9e(r,e,{all:t}){let i=t?r.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=jue(r,l),g=jue(r,c);return e9e(g,u)}function que(r){let e={};for(let t of r)e[P.stringifyIdent(t)]=P.parseRange(t.range).selector;return e}function Jue(r){if(typeof r>"u")return new Set(DE);let e=DE.indexOf(r),t=DE.slice(e);return new Set(t)}function r9e(r,e){let t=Jue(e),i={};for(let n of t)i[n]=r[n];return i}function Wue(r,e){var i;let t=r9e(r,e);for(let n of Object.keys(t))if((i=t[n])!=null?i:0>0)return!0;return!1}function zue(r,e){var s;let t={},i={children:t},n=Object.values(r.advisories);if(e!=null){let o=Jue(e);n=n.filter(a=>o.has(a.severity))}for(let o of Ie.sortMap(n,a=>a.module_name))t[o.module_name]={label:o.module_name,value:ee.tuple(ee.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{ID:{label:"ID",value:ee.tuple(ee.Type.NUMBER,o.id)},Issue:{label:"Issue",value:ee.tuple(ee.Type.NO_HINT,o.title)},URL:{label:"URL",value:ee.tuple(ee.Type.URL,o.url)},Severity:{label:"Severity",value:ee.tuple(ee.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ee.tuple(ee.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ee.tuple(ee.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ee.tuple(ee.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ee.tuple(ee.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function Vue(r,e,{all:t,environment:i}){let n=t?r.workspaces:[e],s=["all","production"].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=["all","development"].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return que([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function Xue(r,e,{all:t}){var s;let i=t9e(r,e,{all:t}),n={};for(let o of r.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:que(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var _u=class extends De{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment","all",{description:"Which environments to cover",validator:Zi(MQ)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Zi(KQ)});this.excludes=z.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=z.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=Vue(i,n,{all:this.all,environment:this.environment}),o=Xue(i,n,{all:this.all});if(!this.recursive)for(let C of Object.keys(o))Object.prototype.hasOwnProperty.call(s,C)?o[C].requires={}:delete o[C];let a=Array.from(new Set([...t.get("npmAuditExcludePackages"),...this.excludes]));if(a){for(let C of Object.keys(s))kE.default.isMatch(C,a)&&delete s[C];for(let C of Object.keys(o))kE.default.isMatch(C,a)&&delete o[C];for(let C of Object.keys(o))for(let y of Object.keys(o[C].requires))kE.default.isMatch(y,a)&&delete o[C].requires[y]}let l={requires:s,dependencies:o},c=or.getAuditRegistry(n.manifest,{configuration:t}),u,g=await ra.start({configuration:t,stdout:this.context.stdout},async()=>{u=await Mt.post("/-/npm/v1/security/audits/quick",l,{authType:Mt.AuthType.BEST_EFFORT,configuration:t,jsonResponse:!0,registry:c})});if(g.hasErrors())return g.exitCode();let f=Array.from(new Set([...t.get("npmAuditIgnoreAdvisories"),...this.ignores]));if(f){for(let C of Object.keys(u.advisories))if(kE.default.isMatch(C,f)){let y=u.advisories[C],B=0;y.findings.forEach(v=>B+=v.paths.length),u.metadata.vulnerabilities[y.severity]-=B,delete u.advisories[C]}}let h=Wue(u.metadata.vulnerabilities,this.severity);return!this.json&&h?(es.emitTree(zue(u,this.severity),{configuration:t,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async C=>{C.reportJson(u),h||C.reportInfo(1,"No audit suggestions")})).exitCode()}};_u.paths=[["npm","audit"]],_u.usage=ve.Usage({description:"perform a vulnerability audit against the installed packages",details:` This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. @@ -723,25 +723,25 @@ ${Be.map(he=>`Not found: ${po(he)} If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var h1=Pe(Xr()),p1=J("util"),$u=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let T=i.topLevelWorkspace;if(!T.manifest.name)throw new Qe(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(T.cwd,xt.manifest))}`);u=P.makeDescriptor(T.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Ot.getIdentUrl(u),f=d1(await Ot.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Ot.customPackageError})),h=Object.keys(f.versions).sort(h1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let T=h1.default.maxSatisfying(h,y);T!==null?C=T:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let T of n){let H=v[T];if(typeof H<"u")D[T]=H;else{l.reportWarning(1,`The ${ee.pretty(t,T,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});p1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});var h1=Pe(Xr()),p1=J("util"),$u=class extends De{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i}=await je.find(t,this.context.cwd),n=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,s=[],o=!1,a=await Ge.start({configuration:t,includeFooter:!1,json:this.json,stdout:this.context.stdout},async l=>{for(let c of this.packages){let u;if(c==="."){let T=i.topLevelWorkspace;if(!T.manifest.name)throw new Qe(`Missing ${ee.pretty(t,"name",ee.Type.CODE)} field in ${K.fromPortablePath(x.join(T.cwd,xt.manifest))}`);u=P.makeDescriptor(T.manifest.name,"unknown")}else u=P.parseDescriptor(c);let g=Mt.getIdentUrl(u),f=d1(await Mt.get(g,{configuration:t,ident:u,jsonResponse:!0,customErrorMessage:Mt.customPackageError})),h=Object.keys(f.versions).sort(h1.default.compareLoose),C=f["dist-tags"].latest||h[h.length-1],y=vt.validRange(u.range);if(y){let T=h1.default.maxSatisfying(h,y);T!==null?C=T:(l.reportWarning(0,`Unmet range ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0)}else Object.prototype.hasOwnProperty.call(f["dist-tags"],u.range)?C=f["dist-tags"][u.range]:u.range!=="unknown"&&(l.reportWarning(0,`Unknown tag ${P.prettyRange(t,u.range)}; falling back to the latest version`),o=!0);let B=f.versions[C],v={...f,...B,version:C,versions:h},D;if(n!==null){D={};for(let T of n){let H=v[T];if(typeof H<"u")D[T]=H;else{l.reportWarning(1,`The ${ee.pretty(t,T,ee.Type.CODE)} field doesn't exist inside ${P.prettyIdent(t,u)}'s information`),o=!0;continue}}}else this.json||(delete v.dist,delete v.readme,delete v.users),D=v;l.reportJson(D),this.json||s.push(D)}});p1.inspect.styles.name="cyan";for(let l of s)(l!==s[0]||o)&&this.context.stdout.write(` `),this.context.stdout.write(`${(0,p1.inspect)(l,{depth:1/0,colors:!0,compact:!1})} -`);return a.exitCode()}};$u.paths=[["npm","info"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function d1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=d1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=d1(r[t]);i&&(e[t]=i)}return e}else return r||null}var Zue=Pe(Km()),eg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=z.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await s9e({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Ot.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Ot.AuthType.NO_AUTH});return await n9e(i,l.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};eg.paths=[["npm","login"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function UQ({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Hh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function n9e(r,e,{alwaysAuth:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,...t!==void 0?{npmAlwaysAuth:t}:{},npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function s9e({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,Zue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var mp=new Set(["npmAuthIdent","npmAuthToken"]),tg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await a9e(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await _ue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish});await _ue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};tg.paths=[["npm","logout"]],tg.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function o9e(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...mp].every(s=>!i.has(s)))return!1;for(let s of mp)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of mp)delete n[s];return r[e]=n,!0}async function a9e(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))o9e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function _ue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...mp].every(l=>!o.has(l)))return t;for(let l of mp)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of mp)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var rg=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new Qe("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new Qe("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Ot.get(Ot.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Wt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await ca.prepareForPack(n,{report:c},async()=>{let f=await ca.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ca.genPackStream(n,f),p=await Ie.bufferStream(h),C=await Cp.getGitHead(n.cwd),y=await Cp.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Ot.put(Ot.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};rg.paths=[["npm","publish"]],rg.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var $ue=Pe(Xr());var ig=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new Qe(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await RE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return es.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};ig.paths=[["npm","tag","list"]],ig.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` +`);return a.exitCode()}};$u.paths=[["npm","info"]],$u.usage=ve.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function d1(r){if(Array.isArray(r)){let e=[];for(let t of r)t=d1(t),t&&e.push(t);return e}else if(typeof r=="object"&&r!==null){let e={};for(let t of Object.keys(r)){if(t.startsWith("_"))continue;let i=d1(r[t]);i&&(e[t]=i)}return e}else return r||null}var Zue=Pe(Km()),eg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=z.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ge.start({configuration:t,stdout:this.context.stdout,includeFooter:!1},async s=>{let o=await s9e({configuration:t,registry:i,report:s,stdin:this.context.stdin,stdout:this.context.stdout}),a=`/-/user/org.couchdb.user:${encodeURIComponent(o.name)}`,l=await Mt.put(a,o,{attemptedAs:o.name,configuration:t,registry:i,jsonResponse:!0,authType:Mt.AuthType.NO_AUTH});return await n9e(i,l.token,{alwaysAuth:this.alwaysAuth,scope:this.scope}),s.reportInfo(0,"Successfully logged in")})).exitCode()}};eg.paths=[["npm","login"]],eg.usage=ve.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function UQ({scope:r,publish:e,configuration:t,cwd:i}){return r&&e?or.getScopeRegistry(r,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):r?or.getScopeRegistry(r,{configuration:t}):e?or.getPublishRegistry((await Hh(t,i)).manifest,{configuration:t}):or.getDefaultRegistry({configuration:t})}async function n9e(r,e,{alwaysAuth:t,scope:i}){let n=o=>a=>{let l=Ie.isIndexableObject(a)?a:{},c=l[o],u=Ie.isIndexableObject(c)?c:{};return{...l,[o]:{...u,...t!==void 0?{npmAlwaysAuth:t}:{},npmAuthToken:e}}},s=i?{npmScopes:n(i)}:{npmRegistries:n(r)};return await ye.updateHomeConfiguration(s)}async function s9e({configuration:r,registry:e,report:t,stdin:i,stdout:n}){t.reportInfo(0,`Logging in to ${ee.pretty(r,e,ee.Type.URL)}`);let s=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(t.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),s=!0),t.reportSeparator(),process.env.YARN_IS_TEST_ENV)return{name:process.env.YARN_INJECT_NPM_USER||"",password:process.env.YARN_INJECT_NPM_PASSWORD||""};let{username:o,password:a}=await(0,Zue.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n},{type:"password",name:"password",message:s?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:i,stdout:n}]);return t.reportSeparator(),{name:o,password:a}}var mp=new Set(["npmAuthIdent","npmAuthToken"]),tg=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i=async()=>{var c;let s=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),o=await ye.find(this.context.cwd,this.context.plugins),a=P.makeIdent((c=this.scope)!=null?c:null,"pkg");return!or.getAuthConfiguration(s,{configuration:o,ident:a}).get("npmAuthToken")};return(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{if(this.all&&(await a9e(),s.reportInfo(0,"Successfully logged out from everything")),this.scope){await _ue("npmScopes",this.scope),await i()?s.reportInfo(0,`Successfully logged out from ${this.scope}`):s.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let o=await UQ({configuration:t,cwd:this.context.cwd,publish:this.publish});await _ue("npmRegistries",o),await i()?s.reportInfo(0,`Successfully logged out from ${o}`):s.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};tg.paths=[["npm","logout"]],tg.usage=ve.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function o9e(r,e){let t=r[e];if(!Ie.isIndexableObject(t))return!1;let i=new Set(Object.keys(t));if([...mp].every(s=>!i.has(s)))return!1;for(let s of mp)i.delete(s);if(i.size===0)return r[e]=void 0,!0;let n={...t};for(let s of mp)delete n[s];return r[e]=n,!0}async function a9e(){let r=e=>{let t=!1,i=Ie.isIndexableObject(e)?{...e}:{};i.npmAuthToken&&(delete i.npmAuthToken,t=!0);for(let n of Object.keys(i))o9e(i,n)&&(t=!0);if(Object.keys(i).length!==0)return t?i:e};return await ye.updateHomeConfiguration({npmRegistries:r,npmScopes:r})}async function _ue(r,e){return await ye.updateHomeConfiguration({[r]:t=>{let i=Ie.isIndexableObject(t)?t:{};if(!Object.prototype.hasOwnProperty.call(i,e))return t;let n=i[e],s=Ie.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...mp].every(l=>!o.has(l)))return t;for(let l of mp)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:{...i,[e]:void 0};let a={};for(let l of mp)a[l]=void 0;return{...i,[e]:{...s,...a}}}})}var rg=class extends De{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);if(n.manifest.private)throw new Qe("Private workspaces cannot be published");if(n.manifest.name===null||n.manifest.version===null)throw new Qe("Workspaces must have valid names and versions to be published on an external registry");await i.restoreInstallState();let s=n.manifest.name,o=n.manifest.version,a=or.getPublishRegistry(n.manifest,{configuration:t});return(await Ge.start({configuration:t,stdout:this.context.stdout},async c=>{var u,g;if(this.tolerateRepublish)try{let f=await Mt.get(Mt.getIdentUrl(s),{configuration:t,registry:a,ident:s,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(f,"versions"))throw new at(15,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(f.versions,o)){c.reportWarning(0,`Registry already knows about version ${o}; skipping.`);return}}catch(f){if(((g=(u=f.originalError)==null?void 0:u.response)==null?void 0:g.statusCode)!==404)throw f}await Wt.maybeExecuteWorkspaceLifecycleScript(n,"prepublish",{report:c}),await ca.prepareForPack(n,{report:c},async()=>{let f=await ca.genPackList(n);for(let B of f)c.reportInfo(null,B);let h=await ca.genPackStream(n,f),p=await Ie.bufferStream(h),C=await Cp.getGitHead(n.cwd),y=await Cp.makePublishBody(n,p,{access:this.access,tag:this.tag,registry:a,gitHead:C});await Mt.put(Mt.getIdentUrl(s),y,{configuration:t,registry:a,ident:s,otp:this.otp,jsonResponse:!0})}),c.reportInfo(0,"Package archive published")})).exitCode()}};rg.paths=[["npm","publish"]],rg.usage=ve.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var $ue=Pe(Xr());var ig=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s;if(typeof this.package<"u")s=P.parseIdent(this.package);else{if(!n)throw new ct(i.cwd,this.context.cwd);if(!n.manifest.name)throw new Qe(`Missing 'name' field in ${K.fromPortablePath(x.join(n.cwd,xt.manifest))}`);s=n.manifest.name}let o=await RE(s,t),l={children:Ie.sortMap(Object.entries(o),([c])=>c).map(([c,u])=>({value:ee.tuple(ee.Type.RESOLUTION,{descriptor:P.makeDescriptor(s,c),locator:P.makeLocator(s,u)})}))};return es.emitTree(l,{configuration:t,json:this.json,stdout:this.context.stdout})}};ig.paths=[["npm","tag","list"]],ig.usage=ve.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` This command will list all tags of a package from the npm registry. If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function RE(r,e){let t=`/-/package${Ot.getIdentUrl(r)}/dist-tags`;return Ot.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Ot.customPackageError})}var ng=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!$ue.default.valid(o))throw new Qe(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await RE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Ot.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Ot.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};ng.paths=[["npm","tag","add"]],ng.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function RE(r,e){let t=`/-/package${Mt.getIdentUrl(r)}/dist-tags`;return Mt.get(t,{configuration:e,ident:r,jsonResponse:!0,customErrorMessage:Mt.customPackageError})}var ng=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseDescriptor(this.package,!0),o=s.range;if(!$ue.default.valid(o))throw new Qe(`The range ${ee.pretty(t,s.range,ee.Type.RANGE)} must be a valid semver version`);let a=or.getPublishRegistry(n.manifest,{configuration:t}),l=ee.pretty(t,s,ee.Type.IDENT),c=ee.pretty(t,o,ee.Type.RANGE),u=ee.pretty(t,this.tag,ee.Type.CODE);return(await Ge.start({configuration:t,stdout:this.context.stdout},async f=>{let h=await RE(s,t);Object.prototype.hasOwnProperty.call(h,this.tag)&&h[this.tag]===o&&f.reportWarning(0,`Tag ${u} is already set to version ${c}`);let p=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.put(p,o,{configuration:t,registry:a,ident:s,jsonRequest:!0,jsonResponse:!0}),f.reportInfo(0,`Tag ${u} added to version ${c} of package ${l}`)})).exitCode()}};ng.paths=[["npm","tag","add"]],ng.usage=ve.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var sg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new Qe("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await RE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new Qe(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Ot.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Ot.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};sg.paths=[["npm","tag","remove"]],sg.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var sg=class extends De{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new Qe("The 'latest' tag cannot be removed.");let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);let s=P.parseIdent(this.package),o=or.getPublishRegistry(n.manifest,{configuration:t}),a=ee.pretty(t,this.tag,ee.Type.CODE),l=ee.pretty(t,s,ee.Type.IDENT),c=await RE(s,t);if(!Object.prototype.hasOwnProperty.call(c,this.tag))throw new Qe(`${a} is not a tag of package ${l}`);return(await Ge.start({configuration:t,stdout:this.context.stdout},async g=>{let f=`/-/package${Mt.getIdentUrl(s)}/dist-tags/${encodeURIComponent(this.tag)}`;await Mt.del(f,{configuration:t,registry:o,ident:s,jsonResponse:!0}),g.reportInfo(0,`Tag ${a} removed from package ${l}`)})).exitCode()}};sg.paths=[["npm","tag","remove"]],sg.usage=ve.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var og=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Hh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Ot.get("/-/whoami",{configuration:t,registry:i,authType:Ot.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};og.paths=[["npm","whoami"]],og.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var A9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[_u,$u,eg,tg,rg,ng,ig,sg,og]},l9e=A9e;var S1={};ut(S1,{default:()=>Q9e,patchUtils:()=>ag});var ag={};ut(ag,{applyPatchFile:()=>GQ,diffFolders:()=>b1,ensureUnpatchedDescriptor:()=>E1,extractPackageToDisk:()=>B1,extractPatchFlags:()=>oge,isParentRequired:()=>w1,loadPatchFiles:()=>LE,makeDescriptor:()=>I1,makeLocator:()=>y1,makePatchHash:()=>Q1,parseDescriptor:()=>NE,parseLocator:()=>TE,parsePatchFile:()=>FE});var c9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ep(r){return x.relative(Me.root,x.resolve(Me.root,K.toPortablePath(r)))}function u9e(r){let e=r.trim().match(c9e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var g9e=420,f9e=493;var ege=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),h9e=r=>({header:u9e(r),parts:[]}),p9e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function d9e(r){let e=[],t=ege(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=ege()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Ep(u),toPath:Ep(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Ep(v),oldMode:HQ(o),newMode:HQ(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Ep(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function HQ(r){let e=parseInt(r,8)&511;if(e!==g9e&&e!==f9e)throw new Error(`Unexpected file mode string: ${r}`);return e}function FE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),C9e(d9e(e))}function m9e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var Ip=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function yp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function GQ(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await yp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await yp(e,x.dirname(n.fromPath),async()=>{await yp(e,x.dirname(n.toPath),async()=>{await yp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var og=class extends De{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),i;return this.scope&&this.publish?i=or.getScopeRegistry(this.scope,{configuration:t,type:or.RegistryType.PUBLISH_REGISTRY}):this.scope?i=or.getScopeRegistry(this.scope,{configuration:t}):this.publish?i=or.getPublishRegistry((await Hh(t,this.context.cwd)).manifest,{configuration:t}):i=or.getDefaultRegistry({configuration:t}),(await Ge.start({configuration:t,stdout:this.context.stdout},async s=>{var a,l;let o;try{o=await Mt.get("/-/whoami",{configuration:t,registry:i,authType:Mt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(c){if(((a=c.response)==null?void 0:a.statusCode)===401||((l=c.response)==null?void 0:l.statusCode)===403){s.reportError(41,"Authentication failed - your credentials may have expired");return}else throw c}s.reportInfo(0,o.username)})).exitCode()}};og.paths=[["npm","whoami"]],og.usage=ve.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var A9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[_u,$u,eg,tg,rg,ng,ig,sg,og]},l9e=A9e;var S1={};ut(S1,{default:()=>Q9e,patchUtils:()=>ag});var ag={};ut(ag,{applyPatchFile:()=>GQ,diffFolders:()=>b1,ensureUnpatchedDescriptor:()=>E1,extractPackageToDisk:()=>B1,extractPatchFlags:()=>oge,isParentRequired:()=>w1,loadPatchFiles:()=>LE,makeDescriptor:()=>I1,makeLocator:()=>y1,makePatchHash:()=>Q1,parseDescriptor:()=>NE,parseLocator:()=>TE,parsePatchFile:()=>FE});var c9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Ep(r){return x.relative(Oe.root,x.resolve(Oe.root,K.toPortablePath(r)))}function u9e(r){let e=r.trim().match(c9e);if(!e)throw new Error(`Bad header line: '${r}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var g9e=420,f9e=493;var ege=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),h9e=r=>({header:u9e(r),parts:[]}),p9e={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function d9e(r){let e=[],t=ege(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),t.hunks.push(n),n=null)}function a(){o(),e.push(t),t=ege()}for(let l=0;l0?"patch":"mode change",v=null;switch(B){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Ep(u),toPath:Ep(g)}),v=g}break;case"file deletion":{let D=n||p;if(!D)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(l),hash:f})}break;case"file creation":{let D=s||C;if(!D)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Ep(D),mode:HQ(c),hash:h})}break;case"patch":case"mode change":v=C||s;break;default:Ie.assertNever(B);break}v&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Ep(v),oldMode:HQ(o),newMode:HQ(a)}),v&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Ep(v),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function HQ(r){let e=parseInt(r,8)&511;if(e!==g9e&&e!==f9e)throw new Error(`Unexpected file mode string: ${r}`);return e}function FE(r){let e=r.split(/\n/g);return e[e.length-1]===""&&e.pop(),C9e(d9e(e))}function m9e(r){let e=0,t=0;for(let{type:i,lines:n}of r.parts)switch(i){case"context":t+=n.length,e+=n.length;break;case"deletion":e+=n.length;break;case"insertion":t+=n.length;break;default:Ie.assertNever(i);break}if(e!==r.header.original.length||t!==r.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(r.header.original.length)} ${i(r.header.patched.length)} @@, got @@ ${i(e)} ${i(t)} @@)`)}}var Ip=class extends Error{constructor(t,i){super(`Cannot apply hunk #${t+1}`);this.hunk=i}};async function yp(r,e,t){let i=await r.lstatPromise(e),n=await t();if(typeof n<"u"&&(e=n),r.lutimesPromise)await r.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await r.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function GQ(r,{baseFs:e=new $t,dryRun:t=!1,version:i=null}={}){for(let n of r)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(t){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await yp(e,x.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(t){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await yp(e,x.dirname(n.fromPath),async()=>{await yp(e,x.dirname(n.toPath),async()=>{await yp(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(t){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` `)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` `):"";await e.mkdirpPromise(x.dirname(n.path),{chmod:493,utimes:[xr.SAFE_TIME,xr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,xr.SAFE_TIME,xr.SAFE_TIME)}break;case"patch":await yp(e,n.path,async()=>{await y9e(n,{baseFs:e,dryRun:t})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(tge(n.newMode)!==tge(o))continue;await yp(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Ie.assertNever(n);break}}function tge(r){return(r&64)>0}function rge(r){return r.replace(/\s+$/,"")}function I9e(r,e){return rge(r)===rge(e)}async function y9e({hunks:r,path:e},{baseFs:t,dryRun:i=!1}){let n=await t.statSync(e).mode,o=(await t.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of r){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),C=Math.max(h,p),y=0,B=0,v=null;for(;y<=C;){if(y<=h&&(B=f-y,v=ige(g,o,B),v!==null)){y=-y;break}if(y<=p&&(B=f+y,v=ige(g,o,B),v!==null))break;y+=1}if(v===null)throw new Ip(r.indexOf(g),g);a.push(v),l+=y,c=B+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Ie.assertNever(f);break}await t.writeFilePromise(e,o.join(` -`),{mode:n})}function ige(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!I9e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var B9e=/^builtin<([^>]+)>$/;function m1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function NE(r){let{sourceItem:e,...t}=m1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function TE(r){let{sourceItem:e,...t}=m1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function E1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=m1(r.range,P.parseDescriptor);return e}function nge({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function I1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,nge({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function y1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,nge({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function sge({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(B9e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function oge(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function w1(r){return sge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function LE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Me.root),prefixPath:x.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=oge(o),l=await sge({onAbsolute:async()=>await O.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function B1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await O.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([O.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),O.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),O.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),O.detachTemp(l),u}async function b1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +`),{mode:n})}function ige(r,e,t){let i=[];for(let n of r.parts)switch(n.type){case"context":case"deletion":{for(let s of n.lines){let o=e[t];if(o==null||!I9e(o,s))return null;t+=1}n.type==="deletion"&&(i.push({type:"splice",index:t-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case"insertion":i.push({type:"splice",index:t,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Ie.assertNever(n.type);break}return i}var B9e=/^builtin<([^>]+)>$/;function m1(r,e){let{source:t,selector:i,params:n}=P.parseRange(r);if(t===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>K.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(t);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function NE(r){let{sourceItem:e,...t}=m1(r.range,P.parseDescriptor);return{...t,sourceDescriptor:e}}function TE(r){let{sourceItem:e,...t}=m1(r.reference,P.parseLocator);return{...t,sourceLocator:e}}function E1(r){if(!r.range.startsWith("patch:"))return r;let{sourceItem:e}=m1(r.range,P.parseDescriptor);return e}function nge({parentLocator:r,sourceItem:e,patchPaths:t,sourceVersion:i,patchHash:n},s){let o=r!==null?{locator:P.stringifyLocator(r)}:{},a=typeof i<"u"?{version:i}:{},l=typeof n<"u"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:t.join("&"),params:{...a,...l,...o}})}function I1(r,{parentLocator:e,sourceDescriptor:t,patchPaths:i}){return P.makeDescriptor(r,nge({parentLocator:e,sourceItem:t,patchPaths:i},P.stringifyDescriptor))}function y1(r,{parentLocator:e,sourcePackage:t,patchPaths:i,patchHash:n}){return P.makeLocator(r,nge({parentLocator:e,sourceItem:t,sourceVersion:t.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function sge({onAbsolute:r,onRelative:e,onBuiltin:t},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(B9e);return s!==null?t(s[1]):x.isAbsolute(i)?r(i):e(i)}function oge(r){let e=r.startsWith("~");return e&&(r=r.slice(1)),{optional:e}}function w1(r){return sge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},r)}async function LE(r,e,t){let i=r!==null?await t.fetcher.fetch(r,t):null,n=i&&i.localPath?{packageFs:new qt(Oe.root),prefixPath:x.relative(Oe.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Ie.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=oge(o),l=await sge({onAbsolute:async()=>await M.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(x.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await t.project.configuration.firstHook(u=>u.getBuiltinPatch,t.project,c)},o);return{...a,source:l}})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function B1(r,{cache:e,project:t}){let i=t.storedPackages.get(r.locatorHash);if(typeof i>"u")throw new Error("Assertion failed: Expected the package to be registered");let n=t.storedChecksums,s=new ti,o=t.configuration.makeFetcher(),a=await o.fetch(r,{cache:e,project:t,fetcher:o,checksums:n,report:s}),l=await M.mktempPromise(),c=x.join(l,"source"),u=x.join(l,"user"),g=x.join(l,".yarn-patch.json");return await Promise.all([M.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),M.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),M.writeJsonPromise(g,{locator:P.stringifyLocator(r),version:i.version})]),M.detachTemp(l),u}async function b1(r,e){let t=K.fromPortablePath(r).replace(/\\/g,"/"),i=K.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Cr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",t,i],{cwd:K.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. The following error was reported by 'git': -${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function Q1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=FE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function age(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var YQ=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=TE(e),a=await LE(i,o,t),l=await O.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await an(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Me.root,g),{baseFs:y});try{await GQ(FE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ip))throw v;let D=t.project.configuration.get("enableInlineHunks"),T=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,j=$=>{!D||age(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var jQ=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=NE(e);return n.every(s=>!w1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=NE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=NE(e),a=await LE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=Q1(a,l.version);return[y1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=TE(e);return{...await t.resolver.resolve(i,t),...e}}};var Ag=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!O.existsSync(o))throw new Qe("The argument folder didn't get created by 'yarn patch'");let l=await b1(o,s),c=await O.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new Qe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await O.mkdirPromise(g,{recursive:!0}),await O.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=E1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let T=i.originalPackages.get(p.locatorHash);if(!T)throw new Error("Assertion failed: Expected the original package to have been registered");let H=T.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=I1(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Ag.paths=[["patch-commit"]],Ag.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var lg=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new Qe("No package found in the project for the given locator");if(a.length>1)throw new Qe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${s}`);let o=t.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Ie.escapeRegExp(`/${o(t)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Ie.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Ie.escapeRegExp(`${t}/`),"g"),"").replace(new RegExp(Ie.escapeRegExp(`${i}/`),"g"),"")}function Q1(r,e){let t=[];for(let{source:i}of r){if(i===null)continue;let n=FE(i);for(let s of n){let{semverExclusivity:o,...a}=s;o!==null&&e!==null&&!vt.satisfiesWithPrereleases(e,o)||t.push(JSON.stringify(a))}}return li.makeHash(`${3}`,...t).slice(0,6)}function age(r,{configuration:e,report:t}){for(let i of r.parts)for(let n of i.lines)switch(i.type){case"context":t.reportInfo(null,` ${ee.pretty(e,n,"grey")}`);break;case"deletion":t.reportError(28,`- ${ee.pretty(e,n,ee.Type.REMOVED)}`);break;case"insertion":t.reportError(28,`+ ${ee.pretty(e,n,ee.Type.ADDED)}`);break;default:Ie.assertNever(i.type)}}var YQ=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){let i=t.checksums.get(e.locatorHash)||null,[n,s,o]=await t.cache.fetchPackageFromCache(e,i,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${P.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t),skipIntegrityCheck:t.skipIntegrityCheck,...t.cacheOptions});return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=TE(e),a=await LE(i,o,t),l=await M.mktempPromise(),c=x.join(l,"current.zip"),u=await t.fetcher.fetch(n,t),g=P.getIdentVendorPath(e),f=await an(),h=new Wr(c,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await Ie.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:C}of a){if(p===null)continue;let y=new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")}),B=new qt(x.resolve(Oe.root,g),{baseFs:y});try{await GQ(FE(p),{baseFs:B,version:s})}catch(v){if(!(v instanceof Ip))throw v;let D=t.project.configuration.get("enableInlineHunks"),T=!D&&!C?" (set enableInlineHunks for details)":"",H=`${P.prettyLocator(t.project.configuration,e)}: ${v.message}${T}`,j=$=>{!D||age(v.hunk,{configuration:t.project.configuration,report:$})};if(y.discardAndClose(),C){t.report.reportWarningOnce(66,H,{reportExtra:j});continue}else throw new at(66,H,j)}y.saveAndClose()}return new Wr(c,{libzip:f,level:t.project.configuration.get("compressionLevel")})}};var jQ=class{supportsDescriptor(e,t){return!!e.range.startsWith("patch:")}supportsLocator(e,t){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,i){let{patchPaths:n}=NE(e);return n.every(s=>!w1(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(t)})}getResolutionDependencies(e,t){let{sourceDescriptor:i}=NE(e);return[i]}async getCandidates(e,t,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=NE(e),a=await LE(n,o,i.fetchOptions),l=t.get(s.descriptorHash);if(typeof l>"u")throw new Error("Assertion failed: The dependency should have been resolved");let c=Q1(a,l.version);return[y1(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,t,i){return null}async resolve(e,t){let{sourceLocator:i}=TE(e);return{...await t.resolver.resolve(i,t),...e}}};var Ag=class extends De{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let s=x.resolve(this.context.cwd,K.toPortablePath(this.patchFolder)),o=x.join(s,"../source"),a=x.join(s,"../.yarn-patch.json");if(!M.existsSync(o))throw new Qe("The argument folder didn't get created by 'yarn patch'");let l=await b1(o,s),c=await M.readJsonPromise(a),u=P.parseLocator(c.locator,!0);if(!i.storedPackages.has(u.locatorHash))throw new Qe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(l);return}let g=t.get("patchFolder"),f=x.join(g,`${P.slugifyLocator(u)}.patch`);await M.mkdirPromise(g,{recursive:!0}),await M.writeFilePromise(f,l);let h=new Map;for(let p of i.storedPackages.values()){if(P.isVirtualLocator(p))continue;let C=p.dependencies.get(u.identHash);if(!C)continue;let y=P.isVirtualDescriptor(C)?P.devirtualizeDescriptor(C):C,B=E1(y),v=i.storedResolutions.get(B.descriptorHash);if(!v)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!i.storedPackages.get(v))throw new Error("Assertion failed: Expected the package to have been registered");let T=i.originalPackages.get(p.locatorHash);if(!T)throw new Error("Assertion failed: Expected the original package to have been registered");let H=T.dependencies.get(C.identHash);if(!H)throw new Error("Assertion failed: Expected the original dependency to have been registered");h.set(H.descriptorHash,H)}for(let p of h.values()){let C=I1(p,{parentLocator:null,sourceDescriptor:P.convertLocatorToDescriptor(u),sourceVersion:null,patchPaths:[`./${x.relative(i.cwd,f)}`]});i.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(C),description:p.range}},reference:C.range})}await i.persist()}};Ag.paths=[["patch-commit"]],Ag.usage=ve.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var lg=class extends De{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let t=await ye.find(this.context.cwd,this.context.plugins),{project:i,workspace:n}=await je.find(t,this.context.cwd),s=await Rt.find(t);if(!n)throw new ct(i.cwd,this.context.cwd);await i.restoreInstallState();let o=P.parseLocator(this.package);if(o.reference==="unknown"){let a=Ie.mapAndFilter([...i.storedPackages.values()],l=>l.identHash!==o.identHash?Ie.mapAndFilter.skip:P.isVirtualLocator(l)?Ie.mapAndFilter.skip:l);if(a.length===0)throw new Qe("No package found in the project for the given locator");if(a.length>1)throw new Qe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): ${a.map(l=>` -- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new Qe("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await B1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};lg.paths=[["patch"]],lg.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var b9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Ag,lg],fetchers:[YQ],resolvers:[jQ]},Q9e=b9e;var D1={};ut(D1,{default:()=>x9e});var qQ=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new v1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},v1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return x1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=S9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await O.mkdirPromise(n,{recursive:!0}),await O.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:Co.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Co.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Age(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await lge(s);for(let[l,c]of t){let u=c;Age(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await O.readlinkPromise(h)===p)return;await O.removePromise(h)}await O.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await O.symlinkPromise(g,h,"junction"):await O.symlinkPromise(p,h)}))}o.push(cge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=gge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await O.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(O.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await lge(f);return h.delete(l.join(x.sep)),cge(f,h)}else return O.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await O.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(O.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await P1(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await P1(uge(this.opts.project)),{customData:this.customData}}};function x1(){return JSON.stringify({name:"PnpmInstaller",version:2})}function uge(r){return x.join(r.cwd,xt.nodeModules)}function gge(r){return x.join(uge(r),".store")}function S9e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(gge(e),t,i)}function Age(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function lge(r){let e=new Map,t=[];try{t=await O.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await O.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function cge(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(O.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>P1(x.join(r,s)))))}async function P1(r){try{await O.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var v9e={linkers:[qQ]},x9e=v9e;var Bb=()=>({modules:new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",T$(ud)],["semver",P9e],["typanion",hn],["yup",D9e],["@yarnpkg/plugin-essentials",CM],["@yarnpkg/plugin-compat",wM],["@yarnpkg/plugin-dlx",BM],["@yarnpkg/plugin-file",vM],["@yarnpkg/plugin-git",dM],["@yarnpkg/plugin-github",xM],["@yarnpkg/plugin-http",PM],["@yarnpkg/plugin-init",FM],["@yarnpkg/plugin-link",NM],["@yarnpkg/plugin-nm",dO],["@yarnpkg/plugin-npm",f1],["@yarnpkg/plugin-npm-cli",C1],["@yarnpkg/plugin-pack",A1],["@yarnpkg/plugin-patch",S1],["@yarnpkg/plugin-pnp",sO],["@yarnpkg/plugin-pnpm",D1]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});$0({binaryVersion:Tr||"",pluginConfiguration:Bb()});})(); +- ${P.prettyLocator(t,l)}`).join("")}`);o=a[0]}if(!i.storedPackages.has(o.locatorHash))throw new Qe("No package found in the project for the given locator");await Ge.start({configuration:t,json:this.json,stdout:this.context.stdout},async a=>{let l=await B1(o,{cache:s,project:i});a.reportJson({locator:P.stringifyLocator(o),path:K.fromPortablePath(l)}),a.reportInfo(0,`Package ${P.prettyLocator(t,o)} got extracted with success!`),a.reportInfo(0,`You can now edit the following folder: ${ee.pretty(t,K.fromPortablePath(l),"magenta")}`),a.reportInfo(0,`Once you are done run ${ee.pretty(t,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${K.fromPortablePath(l)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};lg.paths=[["patch"]],lg.usage=ve.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var b9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Ag,lg],fetchers:[YQ],resolvers:[jQ]},Q9e=b9e;var D1={};ut(D1,{default:()=>x9e});var qQ=class{supportsPackage(e,t){return this.isEnabled(t)}async findPackageLocation(e,t){if(!this.isEnabled(t))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s>"u")throw new Qe(`Couldn't find ${P.prettyLocator(t.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,t){if(!this.isEnabled(t))return null;let i=x1(),n=t.project.installersCustomData.get(i);if(!n)throw new Qe(`The project in ${ee.pretty(t.project.configuration,`${t.project.cwd}/package.json`,ee.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=x.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new v1(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},v1=class{constructor(e){this.opts=e;this.asyncActions=new Ie.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return x1()}attachCustomData(e){}async installPackage(e,t,i){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,t,i);case"HARD":return this.installPackageHard(e,t,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,t,i){let n=x.resolve(t.packageFs.getRealPath(),t.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,t,i){var u;let n=S9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await M.mkdirPromise(n,{recursive:!0}),await M.copyPromise(n,t.prefixPath,{baseFs:t.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await ot.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?u:new ot,misc:{hasBindingGyp:Co.hasBindingGyp(t)}},l=this.opts.project.getDependencyMeta(o,e.version),c=Co.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,t){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Age(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=x.join(n,xt.nodeModules),o=[],a=await lge(s);for(let[l,c]of t){let u=c;Age(c,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=x.join(s,f),p=x.relative(x.dirname(h),g),C=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(C){if(C.isSymbolicLink()&&await M.readlinkPromise(h)===p)return;await M.removePromise(h)}await M.mkdirpPromise(x.dirname(h)),process.platform=="win32"?await M.symlinkPromise(g,h,"junction"):await M.symlinkPromise(p,h)}))}o.push(cge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,t){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=gge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await M.removePromise(e);else{let t=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=x.contains(e,s);if(o!==null){let[a,,...l]=o.split(x.sep);i.add(a);let c=x.join(e,a);t.push(M.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=x.join(c,g);if(g===xt.nodeModules){let h=await lge(f);return h.delete(l.join(x.sep)),cge(f,h)}else return M.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await M.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||t.push(M.removePromise(x.join(e,s)));await Promise.all(t)}return await this.asyncActions.wait(),await P1(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await P1(uge(this.opts.project)),{customData:this.customData}}};function x1(){return JSON.stringify({name:"PnpmInstaller",version:2})}function uge(r){return x.join(r.cwd,xt.nodeModules)}function gge(r){return x.join(uge(r),".store")}function S9e(r,{project:e}){let t=P.slugifyLocator(r),i=P.getIdentVendorPath(r);return x.join(gge(e),t,i)}function Age(r,{project:e}){return!P.isVirtualLocator(r)||!e.tryWorkspaceByLocator(r)}async function lge(r){let e=new Map,t=[];try{t=await M.readdirPromise(r,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of t)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await M.readdirPromise(x.join(r,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function cge(r,e){var n;let t=[],i=new Set;for(let s of e.keys()){t.push(M.removePromise(x.join(r,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(t).then(()=>Promise.all([...i].map(s=>P1(x.join(r,s)))))}async function P1(r){try{await M.rmdirPromise(r)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var v9e={linkers:[qQ]},x9e=v9e;var Bb=()=>({modules:new Map([["@yarnpkg/cli",Nm],["@yarnpkg/core",sm],["@yarnpkg/fslib",Wp],["@yarnpkg/libzip",xC],["@yarnpkg/parsers",td],["@yarnpkg/shell",RC],["clipanion",T$(ud)],["semver",P9e],["typanion",hn],["yup",D9e],["@yarnpkg/plugin-essentials",CO],["@yarnpkg/plugin-compat",wO],["@yarnpkg/plugin-dlx",BO],["@yarnpkg/plugin-file",vO],["@yarnpkg/plugin-git",dO],["@yarnpkg/plugin-github",xO],["@yarnpkg/plugin-http",PO],["@yarnpkg/plugin-init",FO],["@yarnpkg/plugin-link",NO],["@yarnpkg/plugin-nm",dM],["@yarnpkg/plugin-npm",f1],["@yarnpkg/plugin-npm-cli",C1],["@yarnpkg/plugin-pack",A1],["@yarnpkg/plugin-patch",S1],["@yarnpkg/plugin-pnp",sM],["@yarnpkg/plugin-pnpm",D1]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});$0({binaryVersion:Tr||"",pluginConfiguration:Bb()});})(); /*! * buildToken * Builds OAuth token prefix (helper function) diff --git a/.yarnrc.yml b/.yarnrc.yml index b309d52bd..679a41367 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,8 +2,8 @@ nodeLinker: node-modules plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs - spec: '@yarnpkg/plugin-interactive-tools' + spec: "@yarnpkg/plugin-interactive-tools" - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs - spec: '@yarnpkg/plugin-typescript' + spec: "@yarnpkg/plugin-typescript" -yarnPath: .yarn/releases/yarn-3.6.3.cjs +yarnPath: .yarn/releases/yarn-3.6.4.cjs diff --git a/package.json b/package.json index c1f3dbd3e..67d9b9553 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "synectic", "productName": "Synectic", - "version": "0.0.1", + "version": "5.0.0", "description": "Research IDE for examining context-centric, problem-solving in development tools.", "main": "out/main/index.js", "author": { @@ -9,7 +9,7 @@ "email": "nelsonni@oregonstate.edu" }, "license": "MIT", - "packageManager": "yarn@3.6.3", + "packageManager": "yarn@3.6.4", "scripts": { "clean": "rimraf out", "format": "prettier --write .", @@ -19,18 +19,18 @@ }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", - "@types/dagre": "^0", + "@types/dagre": "^0.7.50", "@types/diff": "^5.0.5", "@types/fs-extra": "^11.0.2", "@types/git-config-path": "^2.0.2", "@types/ini": "^1.3.31", "@types/luxon": "^3.3.2", - "@types/node": "^20.8.2", + "@types/node": "^20.8.4", "@types/pako": "^2.0.1", "@types/parse-git-config": "^3.0.2", "@types/parse-path": "^7.0.1", - "@types/react": "^18.2.25", - "@types/react-dom": "^18.2.10", + "@types/react": "^18.2.27", + "@types/react-dom": "^18.2.12", "@types/semver": "^7.5.3", "@types/sha1": "^1.1.3", "@types/valid-url": "^1.0.5", @@ -49,7 +49,7 @@ "prettier": "^3.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", - "reactflow": "^11.9.2", + "reactflow": "^11.9.3", "rimraf": "^5.0.5", "semver": "^7.5.4", "sha1": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index be6ca56bb..c1259ec67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1062,37 +1062,37 @@ __metadata: languageName: node linkType: hard -"@reactflow/background@npm:11.3.2": - version: 11.3.2 - resolution: "@reactflow/background@npm:11.3.2" +"@reactflow/background@npm:11.3.3": + version: 11.3.3 + resolution: "@reactflow/background@npm:11.3.3" dependencies: - "@reactflow/core": 11.9.2 + "@reactflow/core": 11.9.3 classcat: ^5.0.3 zustand: ^4.4.1 peerDependencies: react: ">=17" react-dom: ">=17" - checksum: 1b572cf47b09ffcf2dcfe84b27ca59fd8a655eb769757a2b9a78fad5e994bf82249ef0473dad645d19295a3f66c49dbbdfe7ccf4d7b9364c9d42aafd83224352 + checksum: e7c8189f90d240414ac5c8bae066ae591935d5d9460837cee48941cd0a08c8b6a2a10b051a5211e6fb93ff825801e9b85d4a3f15b4fa5d0e311054ba8199af70 languageName: node linkType: hard -"@reactflow/controls@npm:11.2.2": - version: 11.2.2 - resolution: "@reactflow/controls@npm:11.2.2" +"@reactflow/controls@npm:11.2.3": + version: 11.2.3 + resolution: "@reactflow/controls@npm:11.2.3" dependencies: - "@reactflow/core": 11.9.2 + "@reactflow/core": 11.9.3 classcat: ^5.0.3 zustand: ^4.4.1 peerDependencies: react: ">=17" react-dom: ">=17" - checksum: f7978f3f5aca304aed0466f29d88851a68640b9306d74db205fad202cd04d362fb183bfd7d96814525eb6ab2ac30d98caafd8aa80734dacfde2dbe736b98dbd8 + checksum: ad0ee79138bed4e2aa0ad5548947afca37ba444fd51ed8f90b3a1a740645fabef69afda5c31026d8a55bc77d6e2d907aafe0c996df13ef15eb9188bac9b20eba languageName: node linkType: hard -"@reactflow/core@npm:11.9.2": - version: 11.9.2 - resolution: "@reactflow/core@npm:11.9.2" +"@reactflow/core@npm:11.9.3": + version: 11.9.3 + resolution: "@reactflow/core@npm:11.9.3" dependencies: "@types/d3": ^7.4.0 "@types/d3-drag": ^3.0.1 @@ -1106,15 +1106,15 @@ __metadata: peerDependencies: react: ">=17" react-dom: ">=17" - checksum: cf9bf24f272bc7c8b04cbf252de0a3ed9b0af27622827ccb824ffcdd008d8fea1dc2eb8955361576a708f3121cd9bf168a4a573adf0e0be2efa771bfc86e2635 + checksum: 95bad34790f6564951860b6467b21f936d08636ea738497720f3ad0a7261f482882680bb3500e855b755e41004676c5748cccb01e04179302935efd7d278b2e4 languageName: node linkType: hard -"@reactflow/minimap@npm:11.7.2": - version: 11.7.2 - resolution: "@reactflow/minimap@npm:11.7.2" +"@reactflow/minimap@npm:11.7.3": + version: 11.7.3 + resolution: "@reactflow/minimap@npm:11.7.3" dependencies: - "@reactflow/core": 11.9.2 + "@reactflow/core": 11.9.3 "@types/d3-selection": ^3.0.3 "@types/d3-zoom": ^3.0.1 classcat: ^5.0.3 @@ -1124,15 +1124,15 @@ __metadata: peerDependencies: react: ">=17" react-dom: ">=17" - checksum: e08f48462b5bc108f6733e005ab3bfdd2f3f0eb5074f8062e31240fafdb06f136177d02e2ff75e07d2eee4475d509d958bf9b34c278ce1da92f9b1f8914d5d85 + checksum: 00dd6b2f7fec78f6c658319437deea7ff979e3a0faa3312ffb27d46a1489830e625601194a8d558edac4322644d9c38cf2f09df12bf88ee0ed7d50d52bd7858e languageName: node linkType: hard -"@reactflow/node-resizer@npm:2.2.2": - version: 2.2.2 - resolution: "@reactflow/node-resizer@npm:2.2.2" +"@reactflow/node-resizer@npm:2.2.3": + version: 2.2.3 + resolution: "@reactflow/node-resizer@npm:2.2.3" dependencies: - "@reactflow/core": 11.9.2 + "@reactflow/core": 11.9.3 classcat: ^5.0.4 d3-drag: ^3.0.0 d3-selection: ^3.0.0 @@ -1140,21 +1140,21 @@ __metadata: peerDependencies: react: ">=17" react-dom: ">=17" - checksum: a3c4f898d8f945aa8eae82a05dfc227f998e367959de10e20cdfa69426319a01dfe8e1677df1de16230d622f94d1ce21b065f613698faaa471346c941bdf3509 + checksum: a3038ca7c8f8fa20bc190b4dfd9ea60b82dd183455ee179d07f69af9e187210764e81f9161d1d6902ffa3b924c769190df00a3a5025f913ec7af3170670df8b2 languageName: node linkType: hard -"@reactflow/node-toolbar@npm:1.3.2": - version: 1.3.2 - resolution: "@reactflow/node-toolbar@npm:1.3.2" +"@reactflow/node-toolbar@npm:1.3.3": + version: 1.3.3 + resolution: "@reactflow/node-toolbar@npm:1.3.3" dependencies: - "@reactflow/core": 11.9.2 + "@reactflow/core": 11.9.3 classcat: ^5.0.3 zustand: ^4.4.1 peerDependencies: react: ">=17" react-dom: ">=17" - checksum: b7710b9604f7fbf27fbe9a63265e7a8dfbf2380c3bc060e98dabe1d86d887a91c64d2847b360d22ddc8b96ee533be7595360d599a2cb10ba145dd86ab90b8142 + checksum: bdce7aeef1e68c2ad0c27da8503a51b28cc8f1b30936029b21422efb9c312ec594c31e603d536fa657d04e1eb2b835f6ff1217b354ab613a4423c3af1fe5d7dd languageName: node linkType: hard @@ -1526,7 +1526,7 @@ __metadata: languageName: node linkType: hard -"@types/dagre@npm:^0": +"@types/dagre@npm:^0.7.50": version: 0.7.50 resolution: "@types/dagre@npm:0.7.50" checksum: a128048b5202c501a4595bbc17288aafbef90f3535e79385ddaf0842237e69aa5998dbc12bc2867244eefe3fb6c5026d9785bfdedea46d813f006066e06e8f44 @@ -1627,10 +1627,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.8.2": - version: 20.8.2 - resolution: "@types/node@npm:20.8.2" - checksum: 3da73e25d821bfcdb7de98589027e08bb4848e55408671c4a83ec0341e124b5313a0b20e1e4b4eff1168ea17a86f622ad73fcb04b761abd77496b9a27cbd5de5 +"@types/node@npm:^20.8.4": + version: 20.8.4 + resolution: "@types/node@npm:20.8.4" + dependencies: + undici-types: ~5.25.1 + checksum: 2106b9ef9750297cac68249428d7067c4d22c26908854165b70a164e34e900f4c34bb9bf3887c9391206b500d3e87171d03b1846e25788925236a0354390d278 languageName: node linkType: hard @@ -1676,12 +1678,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.10": - version: 18.2.10 - resolution: "@types/react-dom@npm:18.2.10" +"@types/react-dom@npm:^18.2.12": + version: 18.2.12 + resolution: "@types/react-dom@npm:18.2.12" dependencies: "@types/react": "*" - checksum: ced70643d82dd9d165cd6d1a98ec7556daf77d8fdec1ed19badb744a2a2370a84cc109248667536d7f850409e85432c300ec9f8c87d46e066ad295ddf9b6ab03 + checksum: 64eaf808e91c1d58270ea92dda0e0cbb671f7289be4a5a4e0ccbd85857dd69394970eaa403d958dfbca739735c0af9cde4cf8fe135ff34434838360beae8d306 languageName: node linkType: hard @@ -1705,14 +1707,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.25": - version: 18.2.25 - resolution: "@types/react@npm:18.2.25" +"@types/react@npm:^18.2.27": + version: 18.2.27 + resolution: "@types/react@npm:18.2.27" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 177515cd44135d56191ec6c5c10edd490c96c175d37624d9c37bc2007c3abcf6cc2d2137d2a073d692cdc5129d5d5785bd60a6ddd315f695da5d8b989fa2afc5 + checksum: bb29779d4e83e30886a4a939b02812a7ae2d49a26e19eb4be48a6d4e73e8b09ca1a639c97c0ba12a7fe46711355059db7f958cbc1754fe697690656cdb9eca07 languageName: node linkType: hard @@ -3900,20 +3902,20 @@ __metadata: languageName: node linkType: hard -"reactflow@npm:^11.9.2": - version: 11.9.2 - resolution: "reactflow@npm:11.9.2" +"reactflow@npm:^11.9.3": + version: 11.9.3 + resolution: "reactflow@npm:11.9.3" dependencies: - "@reactflow/background": 11.3.2 - "@reactflow/controls": 11.2.2 - "@reactflow/core": 11.9.2 - "@reactflow/minimap": 11.7.2 - "@reactflow/node-resizer": 2.2.2 - "@reactflow/node-toolbar": 1.3.2 + "@reactflow/background": 11.3.3 + "@reactflow/controls": 11.2.3 + "@reactflow/core": 11.9.3 + "@reactflow/minimap": 11.7.3 + "@reactflow/node-resizer": 2.2.3 + "@reactflow/node-toolbar": 1.3.3 peerDependencies: react: ">=17" react-dom: ">=17" - checksum: 3fd2aa2558fc99d73097359f46fe54af98a4192fe08c19020d2ead5923539ab74c3591b560fcde3d9c3485b056c24971fdeefec0118fc00b2296b675674498f5 + checksum: deed57f5fc8f73f29dbaad6181d0e12f9621f8210b17fe8602a937ac2a7f43e9b9f8578a16da4bfbae029caad1bbe3dcb1af4412f5840983740949f6f8478882 languageName: node linkType: hard @@ -4328,18 +4330,18 @@ __metadata: "@mui/system": ^5.14.12 "@mui/x-tree-view": ^6.0.0-beta.0 "@reduxjs/toolkit": ^1.9.7 - "@types/dagre": ^0 + "@types/dagre": ^0.7.50 "@types/diff": ^5.0.5 "@types/fs-extra": ^11.0.2 "@types/git-config-path": ^2.0.2 "@types/ini": ^1.3.31 "@types/luxon": ^3.3.2 - "@types/node": ^20.8.2 + "@types/node": ^20.8.4 "@types/pako": ^2.0.1 "@types/parse-git-config": ^3.0.2 "@types/parse-path": ^7.0.1 - "@types/react": ^18.2.25 - "@types/react-dom": ^18.2.10 + "@types/react": ^18.2.27 + "@types/react-dom": ^18.2.12 "@types/semver": ^7.5.3 "@types/sha1": ^1.1.3 "@types/valid-url": ^1.0.5 @@ -4367,7 +4369,7 @@ __metadata: react-dom: ^18.2.0 react-error-boundary: ^4.0.11 react-redux: ^8.1.3 - reactflow: ^11.9.2 + reactflow: ^11.9.3 reselect: ^4.1.8 rimraf: ^5.0.5 semver: ^7.5.4 @@ -4441,6 +4443,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.25.1": + version: 5.25.3 + resolution: "undici-types@npm:5.25.3" + checksum: ec9d2cc36520cbd9fbe3b3b6c682a87fe5be214699e1f57d1e3d9a2cb5be422e62735f06e0067dc325fd3dd7404c697e4d479f9147dc8a804e049e29f357f2ff + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" From 4b47d9d6b2adaf63f2f6ef84a91a7fb135df8d7d Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Tue, 10 Oct 2023 14:42:13 -0700 Subject: [PATCH 18/21] Corrected gitignore rules --- .gitignore | 86 ++---------------------------------------------------- 1 file changed, 3 insertions(+), 83 deletions(-) diff --git a/.gitignore b/.gitignore index 6ae3263ca..2612734c7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,92 +1,12 @@ +# Build files node_modules dist out +output -<<<<<<< Updated upstream -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock +# OS and Environment files .DS_Store -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# Webpack -.webpack/ - -# Electron-Forge -out/ - -# Yarn Integrity file -.yarn-integrity - -# Yarn 2/3 configuration files -======= # Yarn without Zero-Installs >>>>>>> Stashed changes .pnp.* From e6c8a7cd30e0ea8a7cdfad26c6379335b114f654 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Tue, 10 Oct 2023 15:45:06 -0700 Subject: [PATCH 19/21] Conveyor CI configuration --- .github/workflows/production.yml | 28 ------------- .github/workflows/release.yml | 67 +++++++++++--------------------- CONTRIBUTING.md | 49 +++++++++++++++++++++++ ci.conveyor.conf | 51 ++++++++++++++++++++++++ conveyor.conf | 19 ++++----- package.json | 11 +++--- 6 files changed, 139 insertions(+), 86 deletions(-) delete mode 100644 .github/workflows/production.yml create mode 100644 CONTRIBUTING.md create mode 100644 ci.conveyor.conf diff --git a/.github/workflows/production.yml b/.github/workflows/production.yml deleted file mode 100644 index 2b42b0275..000000000 --- a/.github/workflows/production.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Production CI - -on: - pull_request: - branches: [main] - types: [opened, synchronize, reopened, ready_for_review] - workflow_dispatch: - -jobs: - production: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: 'yarn' - - run: yarn install - - run: yarn lint - - run: yarn test - - name: Codecov - uses: codecov/codecov-action@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d8457bbdb..7f66ac3a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,52 +1,31 @@ -name: Releases - -on: - push: - tags: - - '*' - workflow_dispatch: - inputs: - tag: - description: 'Tag' - required: true +name: Build Release +on: [push, workflow_dispatch, workflow_call] jobs: - release: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - node-version: [18.x] - # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ - permissions: - contents: write + build: + # Important: must be run from Linux. + runs-on: ubuntu-latest steps: - - name: Checkout + - name: Checkout Git repository uses: actions/checkout@v4 - - name: Get package.json version - id: package-version - if: runner.os == 'Linux' - uses: martinbeentjes/npm-get-version-action@v1.3.1 - - name: Use Node.js ${{ matrix.node-version }} on ${{ matrix.os }} + + - name: Install Node.js uses: actions/setup-node@v3 with: - node-version: ${{ matrix.node-version }} + node-version: 18 + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ cache: 'yarn' - - run: yarn install - - run: yarn make - - name: Create ${{ steps.package-version.outputs.current-version }} release on ${{ matrix.os }} - uses: ncipollo/release-action@v1 - with: - allowUpdates: true - generateReleaseNotes: true - omitBodyDuringUpdate: true - artifacts: 'out/make/**' - token: ${{ secrets.GITHUB_TOKEN }} - - name: Repository Dispatch to https://nomatic.dev/synectic - if: runner.os == 'Linux' - uses: peter-evans/repository-dispatch@v2 + + - name: Install Dependencies + run: yarn install + + - name: Build Synectic + run: yarn build + + - name: Run Conveyor + uses: hydraulic-software/conveyor/actions/build@v11.4 with: - token: ${{ secrets.RELEASE_DISPATCH }} - repository: nelsonni/website - event-type: synectic-release - client-payload: '{"version": "${{ steps.package-version.outputs.current-version }}"}' + command: make copied-site + extra_flags: -f ci.conveyor.conf + signing_key: ${{ secrets.SIGNING_KEY }} + agree_to_license: 1 \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..e9a78f748 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,49 @@ +# Contributing Code + +All development must occur on feature or bugfix branches and be submitted via Pull Request. The following steps represent the preferred workflow, and include details about contribution requirements: + +1. Create a feature or bugfix branch with a name that is representative of the development purpose (e.g. `feature/drag-n-highlight`, `fix/ghosting_images`, `feature/pixel-comparison`). Names that reference issue numbers, usernames, or random animals are not acceptable naming conventions. +2. Develop code and commit to the new branch with commit messages that provide context for underlying changes contained within each commit. [Avoid platform dependent code](http://flight-manual.atom.io/hacking-atom/sections/cross-platform-compatibility/). +3. When development is complete, and all requirements listed in any associated issues have been met, submit a Pull Request to the `main` branch. Include a bulleted list of contribution features/bugfixes/alterations in the PR description. Do not include issue numbers in the PR title, but do use the [Linked issues](https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) feature in GitHub to link the pull request to the related issue(s) and close them when the pull request is merged. +4. Review the results of continuous integration via [GitHub Actions](https://github.com/EPICLab/synectic/actions/workflows/pull_requests_development.yml). Pull Requests will not be accepted unless all tests are passing for that branch. +5. Wait for a code review from at least one other developer on the project. Address any changes requested during the review in order to gain approval. +6. Once merged, make updates to any related issues as needed for status tracking. + +## Recommended Coding References + +Several sections of the Synectic API include advanced TypeScript features and the codebase can be difficult to understand for a newcomer, therefore the following references are compiled here for reading as needed: + +* [TypeScript Handbook: Generics](https://www.typescriptlang.org/docs/handbook/generics.html) +* [TypeScript Handbook: Narrowing](https://www.typescriptlang.org/docs/handbook/2/narrowing.html) +* [TypeScript Handbook: JSX](https://www.typescriptlang.org/docs/handbook/jsx.html) +* [TypeScript Deep Dive: Arrow Functions](https://basarat.gitbook.io/typescript/future-javascript/arrow-functions) +* [TypeScript Deep Dive: Rest Parameters](https://basarat.gitbook.io/typescript/future-javascript/rest-parameters) +* [TypeScript Deep Dive: Type Assertion](https://basarat.gitbook.io/typescript/type-system/type-assertion) +* [TypeScript Deep Dive: Type Guard](https://basarat.gitbook.io/typescript/type-system/typeguard) +* [Using `Async/Await` with Typescript Classes](http://ivanbatic.com/using-async-await-typescript-classes/) +* [Keep Your Promises in TypeScript using `async/await`](https://blog.bitsrc.io/keep-your-promises-in-typescript-using-async-await-7bdc57041308) +* [Asynchronous Processing with TypeScript and Generic Promises](https://visualstudiomagazine.com/articles/2015/03/01/asynchronous-processing.aspx) + +React and Redux: + +* [Hooks API Reference](https://reactjs.org/docs/hooks-reference.html) +* [Using the React useContext Hook](https://medium.com/digio-australia/using-the-react-usecontext-hook-9f55461c4eae) +* [Idiomatic Redux: Why use action creators?](https://blog.isquaredsoftware.com/2016/10/idiomatic-redux-why-use-action-creators/) +* [ES6 Map with React.useState](https://medium.com/@jalalazimi/es6-map-with-react-usestate-9175cd7b409b) +* [Understanding the React useMemo Hook](https://www.digitalocean.com/community/tutorials/react-usememo) +* [How to Persist Your Redux Store](https://www.cloudsavvyit.com/9778/how-to-persist-your-redux-store/) + +Jest Testing: + +* [Taking Advantage of Jest Matchers (Part 1)](https://benmccormick.org/2017/08/15/jest-matchers-1/) +* [Taking Advantage of Jest Matchers (Part 2)](https://benmccormick.org/2017/09/04/jest-matchers-2/) +* [Jest matching objects in array](https://medium.com/@andrei.pfeiffer/jest-matching-objects-in-array-50fe2f4d6b98) + +Advanced typing features in TypeScript: + +* [TypeScript Handbook: Utility Types](https://www.typescriptlang.org/docs/handbook/utility-types.html) +* [TypeScript Deep Dive: Literal Types](https://basarat.gitbook.io/typescript/type-system/literal-types) +* [TypeScript 2.1: `keyof` and Lookup Types](https://mariusschulz.com/blog/typescript-2-1-keyof-and-lookup-types) +* [keyof and Lookup Types in TypeScript](https://mariusschulz.com/blog/keyof-and-lookup-types-in-typescript) +* [Typing Destructured Object Parameters in TypeScript](https://mariusschulz.com/blog/typing-destructured-object-parameters-in-typescript) +* [Conditional Types in TypeScript](https://mariusschulz.com/blog/conditional-types-in-typescript) diff --git a/ci.conveyor.conf b/ci.conveyor.conf new file mode 100644 index 000000000..8cb8cd770 --- /dev/null +++ b/ci.conveyor.conf @@ -0,0 +1,51 @@ +include required("/stdlib/electron/electron.conf") + +// Import metadata from your package.json file, like your fsname, version and which version of Electron to use. +package-json { + include required("package.json") +} + +// Config file documentation: https://conveyor.hydraulic.dev/latest/configs +app { + display-name = "Synectic" + rdns-name = io.github.EPICLab.synectic + electron.version = ${package-json.devDependencies.electron} + + # CI build artifacts + windows.amd64.inputs += artifacts/windows + linux.amd64.inputs += artifacts/build-linux-amd64.tar + mac.amd64.inputs += artifacts/build-macos-amd64.tar + mac.aarch64.inputs += artifacts/build-macos-aarch64.tar + + # Reference to the GitHub repository where the project is hosted. + # This will automatically set app.site.base-url to the GitHub Pages URL: + # https://github.com/EPICLab/synectic/releases/latest/download + vcs-url = "github.com/EPICLab/synectic" + site { + github { + oauth-token = ${env.GITHUB_TOKEN} + // Upload the download site to a branch. + pages-branch = "gh-pages" + } + } + + // Check for and apply updates synchronously on every app launch instead of in the background. + // Consider removing this line for your own app! + updates = aggressive + + // Use the Synectic logo as an icon. + icons = icons/icon.svg + + // MacOS specific configurations + mac { + info-plist { + # Require Monterey or higher. + LSMinimumSystemVersion = 12.0 + # Enable support for Restorable State on MacOS 14 and higher. + # See: https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Restorable-State + NSApplicationDelegate.applicationSupportsSecureRestorableState = true + } + } +} + +conveyor.compatibility-level = 11 diff --git a/conveyor.conf b/conveyor.conf index 6a6b0f15d..880ff1ff5 100644 --- a/conveyor.conf +++ b/conveyor.conf @@ -15,26 +15,27 @@ app { package.json out -> out types -> types - { - from = node_modules - to = node_modules - remap = ["-electron/dist/**"] - } ] // Check for and apply updates synchronously on every app launch instead of in the background. // Consider removing this line for your own app! updates = aggressive - // Use the Electron logo as an icon. + // Use the Synectic logo as an icon. // // Conveyor can generate a simple icon for you based on your project display name. // To try it out just delete this line. For more info see https://conveyor.hydraulic.dev/latest/configs/#icons icons = icons/icon.svg - // MacOS 14 includes a secure coding feature called Restorable State, see: - // https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Restorable-State - mac.info-plist.NSApplicationDelegate.applicationSupportsSecureRestorableState = true + // MacOS specific configurations + mac { + info-plist { + # Require Monterey or higher. + LSMinimumSystemVersion = 12.0 + # Enable support for Restorable State on MacOS 14 and higher. See: https://developer.apple.com/documentation/macos-release-notes/appkit-release-notes-for-macos-14#Restorable-State + NSApplicationDelegate.applicationSupportsSecureRestorableState = true + } + } // For iteration speed. Remove for release. compression-level = low diff --git a/package.json b/package.json index 67d9b9553..b50ea6277 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "synectic", "productName": "Synectic", - "version": "5.0.0", + "version": "5.0", "description": "Research IDE for examining context-centric, problem-solving in development tools.", "main": "out/main/index.js", "author": { @@ -11,11 +11,12 @@ "license": "MIT", "packageManager": "yarn@3.6.4", "scripts": { - "clean": "rimraf out", - "format": "prettier --write .", - "start": "electron-vite preview", + "start": "electron-vite serve", "dev": "electron-vite dev", - "build": "electron-vite build" + "build": "electron-vite build", + "bundle": "electron-vite build && conveyor make copied-site", + "format": "prettier --write .", + "clean": "rimraf out" }, "devDependencies": { "@electron-toolkit/tsconfig": "^1.0.1", From 9c5789333eb521ae20c7ccc94e65637c33e915e8 Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Tue, 10 Oct 2023 16:01:01 -0700 Subject: [PATCH 20/21] Dependency updates --- package.json | 14 +++--- yarn.lock | 136 +++++++++++++++++++++++++-------------------------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index b50ea6277..719a25ec0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "synectic", "productName": "Synectic", - "version": "5.0", + "version": "5.0.0", "description": "Research IDE for examining context-centric, problem-solving in development tools.", "main": "out/main/index.js", "author": { @@ -30,8 +30,8 @@ "@types/pako": "^2.0.1", "@types/parse-git-config": "^3.0.2", "@types/parse-path": "^7.0.1", - "@types/react": "^18.2.27", - "@types/react-dom": "^18.2.12", + "@types/react": "^18.2.28", + "@types/react-dom": "^18.2.13", "@types/semver": "^7.5.3", "@types/sha1": "^1.1.3", "@types/valid-url": "^1.0.5", @@ -39,7 +39,7 @@ "dagre": "^0.8.5", "diff": "^5.1.0", "dot-prop": "^8.0.2", - "electron": "26.3.0", + "electron": "27.0.0", "electron-vite": "^1.0.28", "fs-extra": "^11.1.1", "git-remote-protocol": "^0.1.0", @@ -67,9 +67,9 @@ "@electron-toolkit/utils": "^2.0.1", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.12", - "@mui/material": "^5.14.12", - "@mui/system": "^5.14.12", + "@mui/icons-material": "^5.14.13", + "@mui/material": "^5.14.13", + "@mui/system": "^5.14.13", "@mui/x-tree-view": "^6.0.0-beta.0", "@reduxjs/toolkit": "^1.9.7", "find-up": "^6.3.0", diff --git a/yarn.lock b/yarn.lock index c1259ec67..ae7746448 100644 --- a/yarn.lock +++ b/yarn.lock @@ -791,14 +791,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.18": - version: 5.0.0-beta.18 - resolution: "@mui/base@npm:5.0.0-beta.18" +"@mui/base@npm:5.0.0-beta.19": + version: 5.0.0-beta.19 + resolution: "@mui/base@npm:5.0.0-beta.19" dependencies: "@babel/runtime": ^7.23.1 "@floating-ui/react-dom": ^2.0.2 - "@mui/types": ^7.2.5 - "@mui/utils": ^5.14.12 + "@mui/types": ^7.2.6 + "@mui/utils": ^5.14.13 "@popperjs/core": ^2.11.8 clsx: ^2.0.0 prop-types: ^15.8.1 @@ -809,7 +809,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 7d4ca1e9d537b7b5850567f1adecd1caa47b8613b43a587cf2f399cfda0a8c17dfda06b030c0bea554b76abe7ac25bb9b1af3c996574def5f860cda0c6ea4a3c + checksum: 7503d5609ba242e270cbcaea69f6c7d4935763a34a8ce8de2695078eae12ffcc1d7a57b5d735200de08f2314b2482aa7279631ffd92af240af24f6c31b633d8f languageName: node linkType: hard @@ -835,16 +835,16 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/core-downloads-tracker@npm:5.14.12" - checksum: 1c1576ceecf7cade9e0d7a531632f5f9db24853d9ebbd47bb9ed943a3af7de734ad4f3374bab79880e9591db3ea55ea84cc10df72177f9ca5e32cc7662e04405 +"@mui/core-downloads-tracker@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/core-downloads-tracker@npm:5.14.13" + checksum: 3094f8c289d53eb2189ce3f9e4c71e735f91cfefeadda4cf37b0f3c3de47d9261fdbd49485f74267e2fe93d8c0cb289d38e9c802a404489017e9f1cee9e56488 languageName: node linkType: hard -"@mui/icons-material@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/icons-material@npm:5.14.12" +"@mui/icons-material@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/icons-material@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 peerDependencies: @@ -854,21 +854,21 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 55f147242afc47c50b4761e487c1d2a114d97384f94efe915a2ec6822431c0b6f5271118f918b8511a26d5dbd8e858c8ee2cbce622057ce89e3b00b3ea9829e2 + checksum: a25db309d02654d1f2d51887986e11b26fc7aea864a398fdc55ca2f4ffd80bbc7402e7686f6a0aeab04a440993e0733aa52f752db50e083dae03e04c558f7bfd languageName: node linkType: hard -"@mui/material@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/material@npm:5.14.12" +"@mui/material@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/material@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 - "@mui/base": 5.0.0-beta.18 - "@mui/core-downloads-tracker": ^5.14.12 - "@mui/system": ^5.14.12 - "@mui/types": ^7.2.5 - "@mui/utils": ^5.14.12 - "@types/react-transition-group": ^4.4.6 + "@mui/base": 5.0.0-beta.19 + "@mui/core-downloads-tracker": ^5.14.13 + "@mui/system": ^5.14.13 + "@mui/types": ^7.2.6 + "@mui/utils": ^5.14.13 + "@types/react-transition-group": ^4.4.7 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -887,16 +887,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: a0d3b52ce3cc282da04036db0805f95f27b35a9c899f132f962fe96f05d3eb112e99ccbf6bd9d05cae617b24beda95470aedaff129d6e39d1b52e1ddf80a9e12 + checksum: 07d73cb5f770743e080494684fd087770893232415c681a25bff2e791414b702d76d02100996a850e89ced81f986c1dc378cc6fb35fcd0724d19b3b0a4a34bed languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/private-theming@npm:5.14.12" +"@mui/private-theming@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/private-theming@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 - "@mui/utils": ^5.14.12 + "@mui/utils": ^5.14.13 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -904,13 +904,13 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: f8127347dc29126fece3b530cb156f6ababf747b64bb1c712874375e6efae6c738c014304d9553001d67a59b24ca6a665f2d03bb5ae137f03bdba90815f0ecc1 + checksum: fb2f3644c332a454897f83b98b6fda7344ce30f9382715194442b7d954fdff4e0b96ef017a631259b2f0e44706737eecda7c5306d4833bf5bd834d59b059a6f9 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/styled-engine@npm:5.14.12" +"@mui/styled-engine@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/styled-engine@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 "@emotion/cache": ^11.11.0 @@ -925,19 +925,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: c689ccad59e7fd54cd8367838612daa4f132c64d8c6b99ccb7c8f9697b5c940a6bf7edcccd686ce437b565dbcf3bfc12bb0dea47cbd5fbd750ea1553017f9c0d + checksum: b927fffbfb3a2c8d09f10b3770da610c94826312c2aa3e17791bd0355ef64056a842ede32f9d22225b952e3055aa2364c06f17620ae5203a0d4bb782ec90388f languageName: node linkType: hard -"@mui/system@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/system@npm:5.14.12" +"@mui/system@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/system@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 - "@mui/private-theming": ^5.14.12 - "@mui/styled-engine": ^5.14.12 - "@mui/types": ^7.2.5 - "@mui/utils": ^5.14.12 + "@mui/private-theming": ^5.14.13 + "@mui/styled-engine": ^5.14.13 + "@mui/types": ^7.2.6 + "@mui/utils": ^5.14.13 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -953,7 +953,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 70c3920eadc593395a2d258ddea0f3b28689c7f02fdaf97fc205e16efaeebe462b2ab01c69a20a3bcb011e0d07ea47fa66a433e70d0a1ce15d7b694fb3c52135 + checksum: 1dfcd19737792d36e87b83623f1bf836f1e1282faf44646f9788cec9e5fb6502e6082872ab839dcebd0ae3d72c5771aa12bad9d3ee4b7e039582970acda13a8d languageName: node linkType: hard @@ -969,15 +969,15 @@ __metadata: languageName: node linkType: hard -"@mui/types@npm:^7.2.5": - version: 7.2.5 - resolution: "@mui/types@npm:7.2.5" +"@mui/types@npm:^7.2.6": + version: 7.2.6 + resolution: "@mui/types@npm:7.2.6" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 2807e9a8eb251294eee6384a4d68b2159f7660466625f1781e9efea282aa7c6ff35b42bc7039c2d43e7a5ac80291dcb85c4110022b0b6de4e12b6406b62f3dc1 + checksum: eb92f9c2fa5df048bcf182a611131bee2799ce1de64acfca12855f349d0b69f5f92c953b7e6c4e341e1df48f0e86f1329ed0251be4835ed194f53342827bd576 languageName: node linkType: hard @@ -999,9 +999,9 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.14.12": - version: 5.14.12 - resolution: "@mui/utils@npm:5.14.12" +"@mui/utils@npm:^5.14.13": + version: 5.14.13 + resolution: "@mui/utils@npm:5.14.13" dependencies: "@babel/runtime": ^7.23.1 "@types/prop-types": ^15.7.7 @@ -1013,7 +1013,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 41470b6292b7a46c71fb0a0acc6a5f05a5e080648106b8805555de920e8f748669c7e8d39cbbcf0f52be9053927bb8439a748e24bd02bc1a220c9bded4435f42 + checksum: 5f04382d7761d35c5f53bcc0ce91c29aba0b3c0afb731f01d2ff078b05afe8098dee412538d846ab3a4b00eec934d46d730f9ef2ef493c3db885e2672480b6f0 languageName: node linkType: hard @@ -1678,16 +1678,16 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.12": - version: 18.2.12 - resolution: "@types/react-dom@npm:18.2.12" +"@types/react-dom@npm:^18.2.13": + version: 18.2.13 + resolution: "@types/react-dom@npm:18.2.13" dependencies: "@types/react": "*" - checksum: 64eaf808e91c1d58270ea92dda0e0cbb671f7289be4a5a4e0ccbd85857dd69394970eaa403d958dfbca739735c0af9cde4cf8fe135ff34434838360beae8d306 + checksum: 22ba066b141dca5a5a9227fae0afc7c94b470fff8e8a38ade72649da57a8ea04d0cb2ba3e22005e7d8e772d49bddd28855b1dd98e6defd033bba6afb6edff883 languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.6": +"@types/react-transition-group@npm:^4.4.6, @types/react-transition-group@npm:^4.4.7": version: 4.4.7 resolution: "@types/react-transition-group@npm:4.4.7" dependencies: @@ -1707,14 +1707,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.27": - version: 18.2.27 - resolution: "@types/react@npm:18.2.27" +"@types/react@npm:^18.2.28": + version: 18.2.28 + resolution: "@types/react@npm:18.2.28" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: bb29779d4e83e30886a4a939b02812a7ae2d49a26e19eb4be48a6d4e73e8b09ca1a639c97c0ba12a7fe46711355059db7f958cbc1754fe697690656cdb9eca07 + checksum: 81381bedeba83278f4c9febb0b83e0bd3f42a25897a50b9cb36ef53651d34b3d50f87ebf11211ea57ea575131f85d31e93e496ce46478a00b0f9bf7b26b5917a languageName: node linkType: hard @@ -2401,16 +2401,16 @@ __metadata: languageName: node linkType: hard -"electron@npm:26.3.0": - version: 26.3.0 - resolution: "electron@npm:26.3.0" +"electron@npm:27.0.0": + version: 27.0.0 + resolution: "electron@npm:27.0.0" dependencies: "@electron/get": ^2.0.0 "@types/node": ^18.11.18 extract-zip: ^2.0.1 bin: electron: cli.js - checksum: e904f7a7a3281d0cbf899ce06199f71dd7db9553f6650a7a2dda5001e3a4026933554ce44da2f3106500623aa28a10e4b5f9b42599f5442af11983f032d18275 + checksum: 4a84cb894d5f626fe7a2b5171693e903ce82a7673aabc419e5d3d0d2f9cc8441e5088524ecd86a046beab4ba7dd13820b7a94c361c3e7bc2f0959d1a1a860df5 languageName: node linkType: hard @@ -4325,9 +4325,9 @@ __metadata: "@electron-toolkit/utils": ^2.0.1 "@emotion/react": ^11.11.1 "@emotion/styled": ^11.11.0 - "@mui/icons-material": ^5.14.12 - "@mui/material": ^5.14.12 - "@mui/system": ^5.14.12 + "@mui/icons-material": ^5.14.13 + "@mui/material": ^5.14.13 + "@mui/system": ^5.14.13 "@mui/x-tree-view": ^6.0.0-beta.0 "@reduxjs/toolkit": ^1.9.7 "@types/dagre": ^0.7.50 @@ -4340,8 +4340,8 @@ __metadata: "@types/pako": ^2.0.1 "@types/parse-git-config": ^3.0.2 "@types/parse-path": ^7.0.1 - "@types/react": ^18.2.27 - "@types/react-dom": ^18.2.12 + "@types/react": ^18.2.28 + "@types/react-dom": ^18.2.13 "@types/semver": ^7.5.3 "@types/sha1": ^1.1.3 "@types/valid-url": ^1.0.5 @@ -4349,7 +4349,7 @@ __metadata: dagre: ^0.8.5 diff: ^5.1.0 dot-prop: ^8.0.2 - electron: 26.3.0 + electron: 27.0.0 electron-vite: ^1.0.28 find-up: ^6.3.0 fs-extra: ^11.1.1 From a85cc7448843ace78907ed650feee8713d57845d Mon Sep 17 00:00:00 2001 From: Nicholas Nelson Date: Tue, 10 Oct 2023 16:04:47 -0700 Subject: [PATCH 21/21] Separate CI build and deploy steps --- .github/workflows/{release.yml => build.yml} | 10 +---- .github/workflows/deploy.yml | 47 ++++++++++++++++++++ 2 files changed, 48 insertions(+), 9 deletions(-) rename .github/workflows/{release.yml => build.yml} (65%) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/release.yml b/.github/workflows/build.yml similarity index 65% rename from .github/workflows/release.yml rename to .github/workflows/build.yml index 7f66ac3a2..403345cbd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/build.yml @@ -20,12 +20,4 @@ jobs: run: yarn install - name: Build Synectic - run: yarn build - - - name: Run Conveyor - uses: hydraulic-software/conveyor/actions/build@v11.4 - with: - command: make copied-site - extra_flags: -f ci.conveyor.conf - signing_key: ${{ secrets.SIGNING_KEY }} - agree_to_license: 1 \ No newline at end of file + run: yarn build \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..3eefa4a6c --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,47 @@ +name: Deploy to GitHub + +on: [workflow_dispatch] +jobs: + build: + uses: ./.github/workflows/build.yml + deploy: + needs: [build] + runs-on: ubuntu-latest + steps: + - name: Checkout Git repository + uses: actions/checkout@v3 + + - name: Download macOS ARM build + uses: actions/download-artifact@v3 + with: + name: build-macos-aarch64 + path: ./artifacts + + - name: Download macOS AMD64 build + uses: actions/download-artifact@v3 + with: + name: build-macos-amd64 + path: ./artifacts + + - name: Download Windows build + uses: actions/download-artifact@v3 + with: + name: build-windows-amd64 + # Windows is not in a tarball, so we extract to a separate directory. + path: ./artifacts/windows + + - name: Download Linux AMD64 build + uses: actions/download-artifact@v3 + with: + name: build-linux-amd64 + path: ./artifacts + + - name: Run Conveyor + uses: hydraulic-software/conveyor/actions/build@v11.4 + env: + OAUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + command: make copied-site + extra_flags: -f ci.conveyor.conf + signing_key: ${{ secrets.SIGNING_KEY }} + agree_to_license: 1 \ No newline at end of file